[*] Binary protection state of vdo-input-client
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of vdo-input-client
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-input-client @ 0x163c */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
0x0000163c lui gp, 2 |
0x00001640 addiu gp, gp, -0x558c |
0x00001644 addu gp, gp, t9 | gp += t9;
0x00001648 addiu sp, sp, -0x1f0 |
0x0000164c lw t9, -0x7f80(gp) | t9 = sym.imp.g_option_context_new;
0x00001650 sw fp, 0x1e8(sp) | *(var_1e8h) = fp;
0x00001654 lw fp, -0x7f3c(gp) | fp = *((gp - 8143));
0x00001658 sw a0, 0x1f0(sp) | *(arg_1f0h) = a0;
0x0000165c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001660 lw v0, (fp) | v0 = *(fp);
0x00001664 sw ra, 0x1ec(sp) | *(var_1ech) = ra;
0x00001668 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000166c sw s7, 0x1e4(sp) | *(var_1e4h) = s7;
0x00001670 sw s6, 0x1e0(sp) | *(var_1e0h) = s6;
0x00001674 sw s5, 0x1dc(sp) | *(var_1dch) = s5;
0x00001678 sw s4, 0x1d8(sp) | *(var_1d8h) = s4;
0x0000167c sw s3, 0x1d4(sp) | *(var_1d4h) = s3;
0x00001680 sw s2, 0x1d0(sp) | *(var_1d0h) = s2;
0x00001684 sw s1, 0x1cc(sp) | *(var_1cch) = s1;
0x00001688 sw s0, 0x1c8(sp) | *(var_1c8h) = s0;
0x0000168c addiu a0, a0, 0x3668 | a0 += str._width___height_;
0x00001690 sw a1, 0x2c(sp) | *(var_2ch) = a1;
0x00001694 sw v0, 0x1c4(sp) | *(var_1c4h) = v0;
0x00001698 lw s2, -0x7fdc(gp) | s2 = *((gp - 8183));
0x0000169c addiu s7, zero, 3 | s7 = 3;
0x000016a0 jalr t9 | t9 ();
0x000016a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016a8 move a2, zero | a2 = 0;
0x000016ac move a0, v0 | a0 = v0;
0x000016b0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000016b4 lw t9, -0x7ecc(gp) | t9 = sym.imp.g_option_context_add_main_entries;
| /* esilref: 'input' */
0x000016b8 addiu a1, a1, 0x4048 | a1 += 0x4048;
0x000016bc sw v0, 0x4254(s2) | *((s2 + 4245)) = v0;
0x000016c0 jalr t9 | t9 ();
0x000016c4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016c8 lw t9, -0x7ec0(gp) | t9 = sym.imp.vdo_format_get_type;
0x000016cc lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x000016d0 jalr t9 | t9 ();
0x000016d4 nop |
0x000016d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016dc addiu a0, zero, 8 | a0 = 8;
0x000016e0 lw t9, -0x7f70(gp) | t9 = sym.imp.g_malloc0;
0x000016e4 lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x000016e8 move s0, v0 | s0 = v0;
0x000016ec jalr t9 | t9 ();
0x000016f0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000016f4 addiu s1, s4, 0x367c | s1 = s4 + str.format;
0x000016f8 move a3, v0 | a3 = v0;
0x000016fc sw s0, (v0) | *(v0) = s0;
0x00001700 sw s1, 4(v0) | *((v0 + 1)) = s1;
0x00001704 lw v0, -0x7e84(gp) | v0 = *((gp - 8097));
0x00001708 addiu a2, s6, 0x3524 | a2 = s6 + 0x3524;
0x0000170c lw t9, -0x7f74(gp) | t9 = sym.imp.g_option_group_new;
0x00001710 move a1, a2 | a1 = a2;
0x00001714 move a0, s1 | a0 = s1;
0x00001718 sw v0, 0x10(sp) | *(var_10h) = v0;
0x0000171c jalr t9 | t9 ();
0x00001720 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001724 move a0, s0 | a0 = s0;
0x00001728 move s0, v0 | s0 = v0;
0x0000172c addiu v0, zero, 0x74 | v0 = 0x74;
0x00001730 sw zero, 0x90(sp) | *(var_90h) = 0;
0x00001734 sb v0, 0x90(sp) | *(var_90h) = v0;
0x00001738 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000173c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001740 addiu v1, zero, 0x22 | v1 = 0x22;
0x00001744 addiu v0, v0, 0x2388 | v0 += 0x2388;
0x00001748 sw v1, 0x94(sp) | *(var_94h) = v1;
0x0000174c addiu t9, t9, 0x2204 | t9 += fcn.00002204;
0x00001750 sw zero, 0xa0(sp) | *(var_a0h) = 0;
0x00001754 sw zero, 0xa4(sp) | *(var_a4h) = 0;
0x00001758 sw zero, 0xa8(sp) | *(var_a8h) = 0;
0x0000175c sw zero, 0xac(sp) | *(var_ach) = 0;
0x00001760 sw zero, 0xb0(sp) | *(var_b0h) = 0;
0x00001764 sw zero, 0xb4(sp) | *(var_b4h) = 0;
0x00001768 sw zero, 0xb8(sp) | *(var_b8h) = 0;
0x0000176c sw zero, 0xbc(sp) | *(var_bch) = 0;
0x00001770 sw zero, 0xc0(sp) | *(var_c0h) = 0;
0x00001774 sw s1, 0x8c(sp) | *(var_8ch) = s1;
0x00001778 sw s7, 0x98(sp) | *(var_98h) = s7;
0x0000177c sw v0, 0x9c(sp) | *(var_9ch) = v0;
0x00001780 bal 0x2204 | fcn_00002204 ();
0x00001784 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001788 sw v0, 0xa0(sp) | *(var_a0h) = v0;
0x0000178c move a0, s0 | a0 = s0;
0x00001790 lw t9, -0x7fa0(gp) | t9 = sym.imp.g_option_group_add_entries;
0x00001794 addiu a1, sp, 0x8c | a1 = sp + 0x8c;
0x00001798 jalr t9 | t9 ();
0x0000179c lw gp, 0x18(sp) | gp = *(var_18h);
0x000017a0 lw a0, 0x4254(s2) | a0 = *((s2 + 4245));
0x000017a4 lw t9, -0x7f38(gp) | t9 = sym.imp.g_option_context_add_group;
0x000017a8 move a1, s0 | a1 = s0;
0x000017ac jalr t9 | t9 ();
0x000017b0 lw gp, 0x18(sp) | gp = *(var_18h);
0x000017b4 addiu a0, zero, 0x61 | a0 = 0x61;
0x000017b8 lw s5, -0x7fd8(gp) | s5 = *((gp - 8182));
0x000017bc lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x000017c0 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000017c4 addiu s5, s5, 0x20e4 | s5 += fcn.000020e4;
0x000017c8 move t9, s5 | t9 = s5;
0x000017cc addiu a2, a2, 0x3684 | a2 += str.Attach_to_existing_stream_id;
0x000017d0 addiu a1, s3, 0x36a4 | a1 = s3 + str.attach.id;
0x000017d4 bal 0x20e4 | fcn_000020e4 ();
0x000017d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000017dc move t9, s5 | t9 = s5;
0x000017e0 move a0, zero | a0 = 0;
0x000017e4 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x000017e8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000017ec addiu a2, a2, 0x36b0 | a2 += str.Video_channel;
0x000017f0 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
0x000017f4 addiu a1, a1, 0x36c0 | a1 += str.channel;
0x000017f8 bal 0x20e4 | fcn_000020e4 ();
0x000017fc lw gp, 0x18(sp) | gp = *(var_18h);
0x00001800 addiu a3, s0, 0x36c8 | a3 = s0 + str.subformat;
0x00001804 addiu a2, s6, 0x3524 | a2 = s6 + 0x3524;
0x00001808 lw t9, -0x7f74(gp) | t9 = sym.imp.g_option_group_new;
0x0000180c move a0, a3 | a0 = a3;
0x00001810 move a1, a2 | a1 = a2;
0x00001814 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00001818 jalr t9 | t9 ();
0x0000181c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001820 addiu v1, zero, 0x22 | v1 = 0x22;
0x00001824 sw v1, 0x5c(sp) | *(var_5ch) = v1;
0x00001828 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x0000182c move a0, v0 | a0 = v0;
0x00001830 addiu v1, v1, 0x2df8 | v1 += 0x2df8;
0x00001834 sw v1, 0x64(sp) | *(var_64h) = v1;
0x00001838 lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x0000183c lw t9, -0x7fa0(gp) | t9 = sym.imp.g_option_group_add_entries;
0x00001840 addiu v1, v1, 0x36d4 | v1 += str.Subformat_of_video_format;
0x00001844 move s5, v0 | s5 = v0;
0x00001848 addiu s0, s0, 0x36c8 | s0 += str.subformat;
0x0000184c addiu v0, zero, 0x54 | v0 = 0x54;
0x00001850 sw v1, 0x68(sp) | *(var_68h) = v1;
0x00001854 sw zero, 0x58(sp) | *(var_58h) = 0;
0x00001858 addiu a1, sp, 0x54 | a1 = sp + 0x54;
0x0000185c sb v0, 0x58(sp) | *(var_58h) = v0;
0x00001860 sw s0, 0x54(sp) | *(var_54h) = s0;
0x00001864 sw zero, 0x6c(sp) | *(var_6ch) = 0;
0x00001868 sw zero, 0x70(sp) | *(var_70h) = 0;
0x0000186c sw zero, 0x74(sp) | *(var_74h) = 0;
0x00001870 sw zero, 0x78(sp) | *(var_78h) = 0;
0x00001874 sw zero, 0x7c(sp) | *(var_7ch) = 0;
0x00001878 sw zero, 0x80(sp) | *(var_80h) = 0;
0x0000187c sw zero, 0x84(sp) | *(var_84h) = 0;
0x00001880 sw zero, 0x88(sp) | *(var_88h) = 0;
0x00001884 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00001888 sw s7, 0x60(sp) | *(var_60h) = s7;
0x0000188c jalr t9 | t9 ();
0x00001890 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001894 lw a0, 0x4254(s2) | a0 = *((s2 + 4245));
0x00001898 lw t9, -0x7f38(gp) | t9 = sym.imp.g_option_context_add_group;
0x0000189c move a1, s5 | a1 = s5;
0x000018a0 jalr t9 | t9 ();
0x000018a4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000018a8 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x000018ac addiu a2, zero, 3 | a2 = 3;
0x000018b0 lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x000018b4 move a1, s1 | a1 = s1;
0x000018b8 jalr t9 | t9 ();
0x000018bc lw gp, 0x18(sp) | gp = *(var_18h);
0x000018c0 lw a0, 0x4254(s2) | a0 = *((s2 + 4245));
0x000018c4 addiu a3, sp, 0x30 | a3 = sp + 0x30;
0x000018c8 lw t9, -0x7f1c(gp) | t9 = sym.imp.g_option_context_parse;
0x000018cc addiu a2, sp, 0x2c | a2 = sp + 0x2c;
0x000018d0 addiu a1, sp, 0x1f0 | a1 = sp + 0x1f0;
0x000018d4 sw zero, 0x30(sp) | *(var_30h) = 0;
0x000018d8 jalr t9 | t9 ();
0x000018dc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x000018e0 beqz v0, 0x1ef8 | goto label_10;
| }
0x000018e4 lw s1, -0x7fdc(gp) | s1 = *((gp - 8183));
0x000018e8 lw a0, 0x409c(s1) | a0 = *((s1 + 4135));
0x000018ec lw t9, -0x7f04(gp) | t9 = sym.imp.realpath;
| if (a0 != 0) {
0x000018f0 beqz a0, 0x1934 |
0x000018f4 move a1, zero | a1 = 0;
0x000018f8 jalr t9 | t9 ();
0x000018fc move s5, v0 | s5 = v0;
0x00001900 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001904 beqz v0, 0x1ee0 | goto label_11;
| }
0x00001908 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000190c lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_string;
0x00001910 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001914 move a2, v0 | a2 = v0;
0x00001918 addiu a1, a1, 0x3528 | a1 += str.input.path;
0x0000191c jalr t9 | t9 ();
0x00001920 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001924 lw t9, -0x7e84(gp) | t9 = *((gp - 8097));
0x00001928 move a0, s5 | a0 = s5;
0x0000192c jalr t9 | t9 ();
0x00001930 lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00001934 lw t9, -0x7ef0(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x00001938 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x0000193c addiu a2, zero, 3 | a2 = 3;
0x00001940 addiu a1, s4, 0x367c | a1 = s4 + str.format;
0x00001944 jalr t9 | t9 ();
0x00001948 sltiu s5, v0, 2 | s5 = (v0 < 2) ? 1 : 0;
0x0000194c lw gp, 0x18(sp) | gp = *(var_18h);
| if (s5 != 0) {
0x00001950 bnez s5, 0x1df8 | goto label_12;
| }
| label_6:
0x00001954 addiu s1, s1, 0x409c | s1 += 0x409c;
0x00001958 lw v0, 8(s1) | v0 = *((s1 + 2));
0x0000195c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| if (v0 != 0) {
0x00001960 bnez v0, 0x1c70 | goto label_13;
| }
0x00001964 lw v0, -0x7f78(gp) | v0 = *((gp - 8158));
0x00001968 lw a1, (v0) | a1 = *(v0);
| label_1:
0x0000196c lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001970 lw v1, 0x1f0(sp) | v1 = *(arg_1f0h);
0x00001974 addiu v0, zero, 3 | v0 = 3;
0x00001978 sw a1, 0x425c(a0) | *((a0 + 4247)) = a1;
| if (v1 != v0) {
0x0000197c bne v1, v0, 0x1e90 | goto label_14;
| }
0x00001980 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00001984 lw t9, -0x7ee0(gp) | t9 = sym.imp.strtol;
0x00001988 addiu a2, zero, 0xa | a2 = 0xa;
0x0000198c lw a0, 4(v0) | a0 = *((v0 + 1));
0x00001990 move a1, zero | a1 = 0;
0x00001994 lw s1, 0x4258(s0) | s1 = *((s0 + 4246));
0x00001998 jalr t9 | t9 ();
0x0000199c lw gp, 0x18(sp) | gp = *(var_18h);
0x000019a0 move a2, v0 | a2 = v0;
0x000019a4 move a0, s1 | a0 = s1;
0x000019a8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000019ac lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x000019b0 addiu a1, a1, 0x35a4 | a1 += str.width;
0x000019b4 jalr t9 | t9 ();
0x000019b8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000019bc lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x000019c0 addiu a2, zero, 0xa | a2 = 0xa;
0x000019c4 lw t9, -0x7ee0(gp) | t9 = sym.imp.strtol;
0x000019c8 lw a0, 8(v0) | a0 = *((v0 + 2));
0x000019cc move a1, zero | a1 = 0;
0x000019d0 lw s1, 0x4258(s0) | s1 = *((s0 + 4246));
0x000019d4 jalr t9 | t9 ();
0x000019d8 lw gp, 0x18(sp) | gp = *(var_18h);
0x000019dc move a2, v0 | a2 = v0;
0x000019e0 move a0, s1 | a0 = s1;
0x000019e4 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x000019e8 lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x000019ec addiu a1, a1, 0x35ac | a1 += str.height;
0x000019f0 jalr t9 | t9 ();
0x000019f4 lw gp, 0x18(sp) | gp = *(var_18h);
0x000019f8 addiu a0, zero, 2 | a0 = 2;
0x000019fc lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a00 lw t9, -0x7e98(gp) | t9 = sym.imp.signal;
0x00001a04 addiu a1, a1, 0x20a0 | a1 += 0x20a0;
0x00001a08 jalr t9 | t9 ();
0x00001a0c addiu v1, zero, -1 | v1 = -1;
0x00001a10 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == v1) {
0x00001a14 beq v0, v1, 0x1f14 | goto label_15;
| }
0x00001a18 lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x00001a1c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001a20 addiu s4, s4, 0x2ae8 | s4 += fcn.00002ae8;
0x00001a24 addiu a0, a0, 0x3770 | a0 += str.Opening...;
0x00001a28 sw zero, 0x34(sp) | *(var_34h) = 0;
0x00001a2c move t9, s4 | t9 = s4;
0x00001a30 addiu s1, sp, 0x34 | s1 = sp + 0x34;
0x00001a34 bal 0x2ae8 | fcn_00002ae8 ();
0x00001a38 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a3c lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001a40 move a1, s1 | a1 = s1;
| if (s5 != 0) {
0x00001a44 bnez s5, 0x1de0 | goto label_16;
| }
0x00001a48 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001a4c addiu t9, t9, 0x2808 | t9 += fcn.00002808;
0x00001a50 bal 0x2808 | fcn_00002808 ();
0x00001a54 nop |
0x00001a58 lw gp, 0x18(sp) | gp = *(var_18h);
| label_5:
0x00001a5c move t9, s4 | t9 = s4;
| if (v0 == 0) {
0x00001a60 beqz v0, 0x1f20 | goto label_17;
| }
0x00001a64 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001a68 addiu a0, a0, 0x377c | a0 += str.Creating_Stream...;
0x00001a6c bal 0x2ae8 | fcn_00002ae8 ();
0x00001a70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a74 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001a78 addiu a2, zero, 8 | a2 = 8;
0x00001a7c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a80 lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00001a84 addiu a1, a1, 0x3790 | a1 += str.intent;
0x00001a88 jalr t9 | t9 ();
0x00001a8c lw gp, 0x18(sp) | gp = *(var_18h);
0x00001a90 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001a94 addiu a2, zero, 3 | a2 = 3;
0x00001a98 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001a9c lw t9, -0x7eec(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00001aa0 addiu a1, a1, 0x3798 | a1 += str.buffer.strategy;
0x00001aa4 jalr t9 | t9 ();
0x00001aa8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001aac lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001ab0 move a2, zero | a2 = 0;
0x00001ab4 lw t9, -0x7ef0(gp) | t9 = sym.imp.vdo_map_get_uint32;
0x00001ab8 addiu a1, s3, 0x36a4 | a1 = s3 + str.attach.id;
0x00001abc jalr t9 | t9 ();
0x00001ac0 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001ac4 beqz v0, 0x1db0 | goto label_18;
| }
0x00001ac8 lw t9, -0x7ee8(gp) | t9 = sym.imp.vdo_stream_get;
0x00001acc move a1, s1 | a1 = s1;
0x00001ad0 move a0, v0 | a0 = v0;
0x00001ad4 jalr t9 | t9 ();
0x00001ad8 lw gp, 0x18(sp) | gp = *(var_18h);
| label_3:
0x00001adc lw s3, -0x7fdc(gp) | s3 = *((gp - 8183));
0x00001ae0 sw v0, 0x4250(s3) | *((s3 + 4244)) = v0;
| if (v0 == 0) {
0x00001ae4 beqz v0, 0x1dcc | goto label_19;
| }
0x00001ae8 lw t9, -0x7f34(gp) | t9 = sym.imp.vdo_stream_attach;
0x00001aec lw a1, 0x4258(s0) | a1 = *((s0 + 4246));
0x00001af0 move a2, s1 | a2 = s1;
0x00001af4 move a0, v0 | a0 = v0;
0x00001af8 jalr t9 | t9 ();
0x00001afc lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001b00 beqz v0, 0x1cf8 | goto label_20;
| }
0x00001b04 lw s0, -0x7fdc(gp) | s0 = *((gp - 8183));
0x00001b08 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001b0c addiu s0, s0, 0x4010 | s0 += 0x4010;
0x00001b10 addiu v1, zero, 3 | v1 = 3;
0x00001b14 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x00001b18 addiu a0, a0, 0x37a8 | a0 += str.Pre_Buffering...;
0x00001b1c sltiu s7, v0, 4 | s7 = (v0 < 4) ? 1 : 0;
| if (s7 == 0) {
0x00001b20 movn v1, v0, s7 | v1 = v0;
| }
0x00001b24 move t9, s4 | t9 = s4;
0x00001b28 move s7, v1 | s7 = v1;
0x00001b2c bal 0x2ae8 | fcn_00002ae8 ();
0x00001b30 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b34 move s2, zero | s2 = 0;
0x00001b38 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001b3c sw v0, 0x28(sp) | *(var_28h) = v0;
0x00001b40 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001b44 addiu v0, v0, 0x2ba8 | v0 += 0x2ba8;
0x00001b48 sw v0, 0x20(sp) | *(var_20h) = v0;
0x00001b4c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001b50 addiu v0, v0, 0x2cb0 | v0 += 0x2cb0;
0x00001b54 sw v0, 0x24(sp) | *(var_24h) = v0;
0x00001b58 b 0x1c00 |
| while (a0 == 0) {
| label_0:
0x00001b5c lw t9, 0x20(sp) | t9 = *(var_20h);
0x00001b60 move a0, s1 | a0 = s1;
0x00001b64 jalr t9 | t9 ();
0x00001b68 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001b6c move a0, v0 | a0 = v0;
0x00001b70 lw t9, -0x7eb0(gp) | t9 = sym.imp.vdo_buffer_get_frame;
0x00001b74 move s6, v0 | s6 = v0;
0x00001b78 jalr t9 | t9 ();
0x00001b7c move s5, v0 | s5 = v0;
0x00001b80 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001b84 beqz v0, 0x1cf8 | goto label_20;
| }
0x00001b88 lw t9, 0x24(sp) | t9 = *(var_24h);
0x00001b8c move a1, s1 | a1 = s1;
0x00001b90 move a0, s6 | a0 = s6;
0x00001b94 jalr t9 | t9 ();
0x00001b98 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001b9c beqz v0, 0x1cf8 | goto label_20;
| }
0x00001ba0 lw t9, -0x7f44(gp) | t9 = sym.imp.vdo_frame_set_frame_type;
0x00001ba4 lw a1, 8(s0) | a1 = *((s0 + 2));
0x00001ba8 move a0, s5 | a0 = s5;
0x00001bac jalr t9 | t9 ();
0x00001bb0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bb4 lw a2, 0x10(s0) | a2 = *((s0 + 4));
0x00001bb8 lw a3, 0x14(s0) | a3 = *((s0 + 5));
0x00001bbc lw t9, -0x7f5c(gp) | t9 = sym.imp.vdo_frame_set_timestamp;
0x00001bc0 move a0, s5 | a0 = s5;
0x00001bc4 jalr t9 | t9 ();
0x00001bc8 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001bcc move a1, s2 | a1 = s2;
0x00001bd0 move a0, s5 | a0 = s5;
0x00001bd4 lw t9, -0x7fa8(gp) | t9 = sym.imp.vdo_frame_set_sequence_nbr;
0x00001bd8 addiu s2, s2, 1 | s2++;
0x00001bdc jalr t9 | t9 ();
0x00001be0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001be4 lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
0x00001be8 move a2, s1 | a2 = s1;
0x00001bec lw t9, -0x7f98(gp) | t9 = sym.imp.vdo_stream_buffer_enqueue;
0x00001bf0 move a1, s6 | a1 = s6;
0x00001bf4 jalr t9 | t9 ();
0x00001bf8 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001bfc beqz v0, 0x1cf8 | goto label_20;
| }
0x00001c00 lw v0, 0x28(s0) | v0 = *((s0 + 10));
0x00001c04 sltu v0, s2, v0 | v0 = (s2 < v0) ? 1 : 0;
| if (v0 == 0) {
0x00001c08 beql v0, zero, 0x1e78 | goto label_8;
| }
0x00001c0c move s0, zero | s0 = 0;
0x00001c10 sltu v0, s2, s7 | v0 = (s2 < s7) ? 1 : 0;
| if (s7 == s2) {
0x00001c14 beq s7, s2, 0x1c78 | goto label_21;
| }
0x00001c18 lw t9, -0x7fd0(gp) | t9 = sym.vdo_client_destroy_buffer;
| if (v0 == 0) {
0x00001c1c beqz v0, 0x1cc8 | goto label_22;
| }
| label_2:
0x00001c20 lw a0, 4(s0) | a0 = *((s0 + 1));
0x00001c24 beql a0, zero, 0x1b5c |
| }
0x00001c28 lw a1, 0x18(s0) | a1 = *((s0 + 6));
0x00001c2c lw t9, -0x7f28(gp) | t9 = sym.imp.vdo_read_exactly;
0x00001c30 move a3, s1 | a3 = s1;
0x00001c34 addiu a2, zero, 0x18 | a2 = 0x18;
0x00001c38 addiu a1, sp, 0x38 | a1 = sp + 0x38;
0x00001c3c jalr t9 | t9 ();
0x00001c40 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001c44 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001c48 bnez v0, 0x1d04 |
0x00001c4c lw v0, 0x38(sp) | v0 = *(var_38h);
0x00001c50 lw a1, 0x48(sp) | a1 = *(var_48h);
0x00001c54 sw v0, 8(s0) | *((s0 + 2)) = v0;
0x00001c58 lw v1, 0x44(sp) | v1 = *(var_44h);
0x00001c5c lw v0, 0x40(sp) | v0 = *(var_40h);
0x00001c60 sw a1, 0x18(s0) | *((s0 + 6)) = a1;
0x00001c64 sw v0, 0x10(s0) | *((s0 + 4)) = v0;
0x00001c68 sw v1, 0x14(s0) | *((s0 + 5)) = v1;
0x00001c6c b 0x1b5c | goto label_0;
| label_13:
0x00001c70 lw a1, 0x4260(v0) | a1 = *((v0 + 4248));
0x00001c74 b 0x196c | goto label_1;
| label_21:
0x00001c78 lw t9, -0x7fa4(gp) | t9 = sym.imp.vdo_stream_get_id;
0x00001c7c lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
0x00001c80 jalr t9 | t9 ();
0x00001c84 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001c88 lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
0x00001c8c move a1, s1 | a1 = s1;
0x00001c90 lw t9, -0x7eb8(gp) | t9 = sym.imp.vdo_stream_start;
0x00001c94 move s5, v0 | s5 = v0;
0x00001c98 jalr t9 | t9 ();
0x00001c9c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x00001ca0 beqz v0, 0x1cf8 |
0x00001ca4 lw v0, 0x28(sp) | v0 = *(var_28h);
0x00001ca8 lw a3, 0x24(s0) | a3 = *((s0 + 9));
0x00001cac lw a2, 0x20(s0) | a2 = *((s0 + 8));
0x00001cb0 move a1, s5 | a1 = s5;
0x00001cb4 move t9, s4 | t9 = s4;
0x00001cb8 addiu a0, v0, 0x37bc | a0 = v0 + str.Streaming_to__u:___zux_zu__n;
0x00001cbc bal 0x2ae8 | fcn_00002ae8 ();
0x00001cc0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001cc4 lw t9, -0x7fd0(gp) | t9 = sym.vdo_client_destroy_buffer;
| label_22:
0x00001cc8 bal 0x2e48 | sym_vdo_client_destroy_buffer ();
0x00001ccc nop |
0x00001cd0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001cd4 b 0x1c20 | goto label_2;
| label_7:
0x00001cd8 lw t9, -0x7e94(gp) | t9 = sym.imp.vdo_stream_stop;
0x00001cdc lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
0x00001ce0 jalr t9 | t9 ();
0x00001ce4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001ce8 lw t9, -0x7eac(gp) | t9 = sym.imp.g_clear_error;
0x00001cec move a0, s1 | a0 = s1;
0x00001cf0 jalr t9 | t9 ();
0x00001cf4 lw gp, 0x18(sp) | gp = *(var_18h);
| }
| label_20:
0x00001cf8 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001cfc lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
| if (v0 == 0) {
0x00001d00 beqz v0, 0x1d28 | goto label_23;
| }
| }
0x00001d04 lw a2, 8(v0) | a2 = *((v0 + 2));
| do {
0x00001d08 lw v0, -0x7f10(gp) | v0 = *((gp - 8132));
0x00001d0c lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001d10 lw t9, -0x7efc(gp) | t9 = sym.imp.g_fprintf
0x00001d14 lw a0, (v0) | a0 = *(v0);
0x00001d18 addiu a1, a1, 0x37d8 | a1 += str._nvdo_input_client:__s_n;
0x00001d1c jalr t9 | t9 ();
0x00001d20 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001d24 lw a0, 0x4250(s3) | a0 = *((s3 + 4244));
| label_23:
0x00001d28 sw zero, 0x4250(s3) | *((s3 + 4244)) = 0;
| if (a0 != 0) {
0x00001d2c beqz a0, 0x1d40 |
0x00001d30 lw t9, -0x7ea4(gp) | t9 = sym.imp.g_object_unref;
0x00001d34 jalr t9 | t9 ();
0x00001d38 nop |
0x00001d3c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00001d40 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00001d44 lw t9, -0x7f94(gp) | t9 = sym.imp.g_error_free;
| if (a0 == 0) {
0x00001d48 beqz a0, 0x1dd8 | goto label_24;
| }
0x00001d4c addiu s0, zero, 1 | s0 = 1;
0x00001d50 jalr t9 | t9 ();
0x00001d54 lw gp, 0x18(sp) | gp = *(var_18h);
| label_4:
0x00001d58 lw a0, 0x30(sp) | a0 = *(var_30h);
0x00001d5c lw t9, -0x7f94(gp) | t9 = sym.imp.g_error_free;
| if (a0 != 0) {
0x00001d60 beqz a0, 0x1d70 |
0x00001d64 jalr t9 | t9 ();
0x00001d68 nop |
0x00001d6c lw gp, 0x18(sp) | gp = *(var_18h);
| }
0x00001d70 lw a0, 0x1c4(sp) | a0 = *(var_1c4h);
0x00001d74 lw v1, (fp) | v1 = *(fp);
0x00001d78 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00001d7c bne a0, v1, 0x1ec0 | goto label_25;
| }
0x00001d80 lw ra, 0x1ec(sp) | ra = *(var_1ech);
0x00001d84 lw fp, 0x1e8(sp) | fp = *(var_1e8h);
0x00001d88 lw s7, 0x1e4(sp) | s7 = *(var_1e4h);
0x00001d8c lw s6, 0x1e0(sp) | s6 = *(var_1e0h);
0x00001d90 lw s5, 0x1dc(sp) | s5 = *(var_1dch);
0x00001d94 lw s4, 0x1d8(sp) | s4 = *(var_1d8h);
0x00001d98 lw s3, 0x1d4(sp) | s3 = *(var_1d4h);
0x00001d9c lw s2, 0x1d0(sp) | s2 = *(var_1d0h);
0x00001da0 lw s1, 0x1cc(sp) | s1 = *(var_1cch);
0x00001da4 lw s0, 0x1c8(sp) | s0 = *(var_1c8h);
0x00001da8 addiu sp, sp, 0x1f0 |
0x00001dac jr ra | return v0;
| label_18:
0x00001db0 lw t9, -0x7eb4(gp) | t9 = sym.imp.vdo_stream_new;
0x00001db4 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001db8 move a2, s1 | a2 = s1;
0x00001dbc move a1, zero | a1 = 0;
0x00001dc0 jalr t9 | t9 ();
0x00001dc4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001dc8 b 0x1adc | goto label_3;
| label_19:
0x00001dcc lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001dd0 lw a2, 8(v0) | a2 = *((v0 + 2));
0x00001dd4 bnel v0, zero, 0x1d08 |
| } while (v0 == 0);
| label_24:
0x00001dd8 move s0, zero | s0 = 0;
0x00001ddc b 0x1d58 | goto label_4;
| label_16:
0x00001de0 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001de4 addiu t9, t9, 0x25c8 | t9 += fcn.000025c8;
0x00001de8 bal 0x25c8 | fcn_000025c8 ();
0x00001dec nop |
0x00001df0 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001df4 b 0x1a5c | goto label_5;
| label_12:
0x00001df8 lw v0, 0x409c(s1) | v0 = *((s1 + 4135));
0x00001dfc lw t9, -0x7f90(gp) | t9 = sym.imp.__snprintf_chk
0x00001e00 sw v0, 0x14(sp) | *(var_14h) = v0;
0x00001e04 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x00001e08 addiu s4, sp, 0xc4 | s4 = sp + 0xc4;
0x00001e0c addiu v0, v0, 0x36fc | v0 += str._s.meta;
0x00001e10 move a0, s4 | a0 = s4;
0x00001e14 addiu a3, zero, 0x100 | a3 = 0x100;
0x00001e18 addiu a2, zero, 1 | a2 = 1;
0x00001e1c addiu a1, zero, 0x100 | a1 = 0x100;
0x00001e20 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001e24 jalr t9 | t9 ();
0x00001e28 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001e2c move a0, s4 | a0 = s4;
0x00001e30 lw t9, -0x7f04(gp) | t9 = sym.imp.realpath;
0x00001e34 move a1, zero | a1 = 0;
0x00001e38 jalr t9 | t9 ();
0x00001e3c move s4, v0 | s4 = v0;
0x00001e40 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 == 0) {
0x00001e44 beqz v0, 0x1ecc | goto label_26;
| }
0x00001e48 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001e4c lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_string;
0x00001e50 lw a0, 0x4258(s0) | a0 = *((s0 + 4246));
0x00001e54 move a2, v0 | a2 = v0;
0x00001e58 addiu a1, a1, 0x3548 | a1 += str.meta.path;
0x00001e5c jalr t9 | t9 ();
0x00001e60 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001e64 lw t9, -0x7e84(gp) | t9 = *((gp - 8097));
0x00001e68 move a0, s4 | a0 = s4;
0x00001e6c jalr t9 | t9 ();
0x00001e70 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001e74 b 0x1954 | goto label_6;
| label_8:
0x00001e78 lw t9, -0x7fd0(gp) | t9 = sym.vdo_client_destroy_buffer;
| if (s7 == s0) {
0x00001e7c beq s7, s0, 0x1cd8 | goto label_7;
| }
0x00001e80 addiu s0, s0, 1 | s0++;
0x00001e84 bal 0x2e48 | sym_vdo_client_destroy_buffer ();
0x00001e88 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001e8c b 0x1e78 | goto label_8;
| label_14:
0x00001e90 lw t9, -0x7f9c(gp) | t9 = sym.imp.g_option_context_get_help;
0x00001e94 lw a0, 0x4254(s2) | a0 = *((s2 + 4245));
0x00001e98 move a1, zero | a1 = 0;
0x00001e9c move a2, zero | a2 = 0;
0x00001ea0 jalr t9 | t9 ();
0x00001ea4 lw gp, 0x18(sp) | gp = *(var_18h);
0x00001ea8 move a1, v0 | a1 = v0;
0x00001eac lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001eb0 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001eb4 addiu t9, t9, 0x14c0 | t9 += loc._ftext;
0x00001eb8 addiu a0, a0, 0x34f0 | a0 += 0x34f0;
0x00001ebc bal 0x14c0 | loc_ftext ();
| label_25:
0x00001ec0 lw t9, -0x7f58(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001ec4 jalr t9 | t9 ();
0x00001ec8 nop |
| label_26:
0x00001ecc lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001ed0 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001ed4 addiu t9, t9, 0x14c0 | t9 += loc._ftext;
0x00001ed8 addiu a0, a0, 0x3704 | a0 += str.h26x_requires_a_metadata_file_ncreate_with_vdo_client__o_s.h265__m_n;
0x00001edc bal 0x14c0 | loc_ftext ();
| label_11:
0x00001ee0 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001ee4 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001ee8 lw a1, 0x409c(s1) | a1 = *((s1 + 4135));
0x00001eec addiu t9, t9, 0x14c0 | t9 += loc._ftext;
0x00001ef0 addiu a0, a0, 0x36f0 | a0 += str._s:__m_n;
0x00001ef4 bal 0x14c0 | loc_ftext ();
| label_10:
0x00001ef8 lw v0, 0x30(sp) | v0 = *(var_30h);
0x00001efc lw a1, 8(v0) | a1 = *((v0 + 2));
| do {
| label_9:
0x00001f00 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x00001f04 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x00001f08 addiu t9, t9, 0x14c0 | t9 += loc._ftext;
0x00001f0c addiu a0, a0, 0x34f0 | a0 += 0x34f0;
0x00001f10 bal 0x14c0 | loc_ftext ();
| label_15:
0x00001f14 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x00001f18 addiu a1, a1, 0x3748 | a1 += str.Failed_to_install_signal_handler:__m;
0x00001f1c b 0x1f00 |
| } while (1);
| label_17:
0x00001f20 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001f24 lw a1, 8(v0) | a1 = *((v0 + 2));
0x00001f28 b 0x1f00 | goto label_9;
| }
[*] Function printf used 3 times vdo-input-client