[*] Binary protection state of vdo-yuv-client
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function printf tear down of vdo-yuv-client
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-yuv-client @ 0xd70 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
| /* [13] -r-x section size 2016 named .text */
0x00000d70 lui gp, 2 |
0x00000d74 addiu gp, gp, -0x6d60 |
0x00000d78 addu gp, gp, t9 | gp += t9;
0x00000d7c addiu sp, sp, -0x68 |
0x00000d80 lw t9, -0x7f50(gp) | t9 = sym.imp.vdo_map_new;
0x00000d84 sw s2, 0x48(sp) | *(var_48h) = s2;
0x00000d88 lw s2, -0x7f84(gp) | s2 = *((gp - 8161));
0x00000d8c sw ra, 0x64(sp) | *(var_64h) = ra;
0x00000d90 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00000d94 lw v0, (s2) | v0 = *(s2);
0x00000d98 sw s1, 0x44(sp) | *(var_44h) = s1;
0x00000d9c sw s0, 0x40(sp) | *(var_40h) = s0;
0x00000da0 sw fp, 0x60(sp) | *(var_60h) = fp;
0x00000da4 sw s7, 0x5c(sp) | *(var_5ch) = s7;
0x00000da8 sw s6, 0x58(sp) | *(var_58h) = s6;
0x00000dac sw s5, 0x54(sp) | *(var_54h) = s5;
0x00000db0 sw s4, 0x50(sp) | *(var_50h) = s4;
0x00000db4 sw s3, 0x4c(sp) | *(var_4ch) = s3;
0x00000db8 sw zero, 0x34(sp) | *(var_34h) = 0;
0x00000dbc sw v0, 0x3c(sp) | *(var_3ch) = v0;
0x00000dc0 jalr t9 | t9 ();
0x00000dc4 nop |
0x00000dc8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000dcc move a0, v0 | a0 = v0;
0x00000dd0 addiu a2, zero, 3 | a2 = 3;
0x00000dd4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000dd8 lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00000ddc addiu a1, a1, 0x1788 | a1 += str.format;
0x00000de0 move s1, v0 | s1 = v0;
0x00000de4 jalr t9 | t9 ();
0x00000de8 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000dec addiu a2, zero, 1 | a2 = 1;
0x00000df0 move a0, s1 | a0 = s1;
0x00000df4 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000df8 lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00000dfc addiu a1, a1, 0x1790 | a1 += str.channel;
0x00000e00 jalr t9 | t9 ();
0x00000e04 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000e08 addiu a2, zero, 0xf | a2 = 0xf;
0x00000e0c move a0, s1 | a0 = s1;
0x00000e10 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000e14 lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x00000e18 addiu a1, a1, 0x1798 | a1 += str.framerate;
0x00000e1c jalr t9 | t9 ();
0x00000e20 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000e24 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00000e28 addiu a0, sp, 0x38 | a0 = sp + 0x38;
0x00000e2c lw t9, -0x7f60(gp) | t9 = sym.imp.vdo_system_new;
0x00000e30 sw v0, 0x38(sp) | *(var_38h) = v0;
0x00000e34 jalr t9 | t9 ();
0x00000e38 lw v1, 0x38(sp) | v1 = *(var_38h);
0x00000e3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00000e40 move s0, v0 | s0 = v0;
| if (v1 != 0) {
0x00000e44 beqz v1, 0xe84 |
0x00000e48 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00000e4c lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00000e50 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000e54 lw t9, -0x7f54(gp) | t9 = sym.imp.g_assertion_message_error;
0x00000e58 addiu v0, v0, 0x17b8 | v0 += str.error;
0x00000e5c sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00000e60 sw zero, 0x18(sp) | *(var_18h_2) = 0;
0x00000e64 sw v1, 0x14(sp) | *(var_14h_2) = v1;
0x00000e68 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00000e6c addiu a3, a3, 0x1890 | a3 += str.probe_yuv_subformats;
0x00000e70 addiu a2, zero, 0x46 | a2 = 0x46;
0x00000e74 addiu a1, a1, 0x17a4 | a1 += str.vdo_yuv_client.c;
0x00000e78 move a0, zero | a0 = 0;
0x00000e7c jalr t9 | t9 ();
0x00000e80 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00000e84 lw t9, -0x7f88(gp) | t9 = sym.imp.vdo_system_get_yuv_subformats;
| if (s0 == 0) {
0x00000e88 beqz s0, 0x1260 | goto label_7;
| }
0x00000e8c lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00000e90 move a0, s0 | a0 = s0;
0x00000e94 jalr t9 | t9 ();
0x00000e98 lw a0, 0x2118(s3) | a0 = *((s3 + 2118));
0x00000e9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00000ea0 sll v1, a0, 2 | v1 = a0 << 2;
0x00000ea4 addu v1, v0, v1 | v1 = v0 + v1;
0x00000ea8 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x00000eac lw a1, (v1) | a1 = *(v1);
0x00000eb0 sw v0, 0x211c(a2) | *((a2 + 2119)) = v0;
| if (a1 == 0) {
0x00000eb4 beqz a1, 0xedc | goto label_8;
| }
0x00000eb8 addiu a0, a0, 1 | a0++;
0x00000ebc move v0, v1 | v0 = v1;
0x00000ec0 b 0xec8 |
| while (v1 != 0) {
0x00000ec4 move a0, a1 | a0 = a1;
0x00000ec8 lw v1, 4(v0) | v1 = *((v0 + 1));
0x00000ecc addiu a1, a0, 1 | a1 = a0 + 1;
0x00000ed0 addiu v0, v0, 4 | v0 += 4;
0x00000ed4 bnez v1, 0xec4 |
| }
0x00000ed8 sw a0, 0x2118(s3) | *((s3 + 2118)) = a0;
| label_8:
0x00000edc lw t9, -0x7f30(gp) | t9 = sym.imp.g_object_unref;
0x00000ee0 move a0, s0 | a0 = s0;
0x00000ee4 jalr t9 | t9 ();
0x00000ee8 lw gp, 0x20(sp) | gp = *(var_20h);
| label_4:
0x00000eec lw v0, 0x2118(s3) | v0 = *((s3 + 2118));
0x00000ef0 lw s0, -0x7fd8(gp) | s0 = *((gp - 8182));
| if (v0 != 0) {
0x00000ef4 bnez v0, 0x1220 | goto label_9;
| }
| label_3:
0x00000ef8 lw t9, -0x7f4c(gp) | t9 = sym.imp.g_malloc;
0x00000efc lw s4, -0x7fd8(gp) | s4 = *((gp - 8182));
0x00000f00 addiu a0, zero, 4 | a0 = 4;
0x00000f04 jalr t9 | t9 ();
0x00000f08 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000f0c addiu a0, zero, 4 | a0 = 4;
0x00000f10 sw v0, 0x2110(s4) | *((s4 + 2116)) = v0;
0x00000f14 lw t9, -0x7fa4(gp) | t9 = sym.imp.g_malloc0;
0x00000f18 addiu s5, s4, 0x2110 | s5 = s4 + 0x2110;
0x00000f1c jalr t9 | t9 ();
0x00000f20 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000f24 lw s0, 0x2110(s4) | s0 = *((s4 + 2116));
0x00000f28 move a0, zero | a0 = 0;
0x00000f2c lw t9, -0x7fa8(gp) | t9 = sym.imp.get_resolution_list;
0x00000f30 sw v0, 4(s5) | *((s5 + 1)) = v0;
0x00000f34 jalr t9 | t9 ();
0x00000f38 lw v1, 0x2110(s4) | v1 = *((s4 + 2116));
0x00000f3c lw gp, 0x20(sp) | gp = *(var_20h);
0x00000f40 sw v0, (s0) | *(s0) = v0;
0x00000f44 lw a0, (v1) | a0 = *(v1);
0x00000f48 lw v0, (a0) | v0 = *(a0);
0x00000f4c addiu v0, a0, 0x14 | v0 = a0 + 0x14;
| if (v0 == 0) {
0x00000f50 beqz v0, 0x12ac | goto label_10;
| }
0x00000f54 lw a1, 4(s5) | a1 = *((s5 + 1));
0x00000f58 lw v1, (a1) | v1 = *(a1);
0x00000f5c lw a2, -4(v0) | a2 = *((v0 - 1));
| do {
0x00000f60 addiu v0, v0, 0x14 | v0 += 0x14;
| if (a2 == 0) {
0x00000f64 bnez a2, 0xf70 |
0x00000f68 addiu v1, v1, 1 | v1++;
0x00000f6c sw v1, (a1) | *(a1) = v1;
| }
0x00000f70 lw a2, -0x14(v0) | a2 = *((v0 - 5));
0x00000f74 lw a2, -4(v0) | a2 = *((v0 - 1));
0x00000f78 bnel a2, zero, 0xf60 |
| } while (a2 == 0);
| label_6:
0x00000f7c lw a2, 8(a0) | a2 = *((a0 + 2));
| if (v1 == 0) {
0x00000f80 bnel v1, zero, 0x11bc | goto label_11;
| }
| label_2:
0x00000f84 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00000f88 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00000f8c lw t9, -0x7fa0(gp) | t9 = sym.imp.fopen;
0x00000f90 addiu a1, a1, 0x1824 | a1 += 0x1824;
0x00000f94 addiu a0, a0, 0x1828 | a0 += str._dev_null;
0x00000f98 jalr t9 | t9 ();
0x00000f9c lw gp, 0x20(sp) | gp = *(var_20h);
0x00000fa0 move a0, s1 | a0 = s1;
0x00000fa4 addiu s0, sp, 0x34 | s0 = sp + 0x34;
0x00000fa8 lw t9, -0x7f3c(gp) | t9 = sym.imp.vdo_stream_new;
0x00000fac lw s1, -0x7fd8(gp) | s1 = *((gp - 8182));
0x00000fb0 move a2, s0 | a2 = s0;
0x00000fb4 move a1, zero | a1 = 0;
0x00000fb8 move s6, v0 | s6 = v0;
0x00000fbc jalr t9 | t9 ();
0x00000fc0 sw v0, 0x2120(s1) | *((s1 + 2120)) = v0;
0x00000fc4 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00000fc8 beqz v0, 0xfe8 | goto label_0;
| }
0x00000fcc lw t9, -0x7f80(gp) | t9 = sym.imp.vdo_stream_attach;
0x00000fd0 move a2, s0 | a2 = s0;
0x00000fd4 move a1, zero | a1 = 0;
0x00000fd8 move a0, v0 | a0 = v0;
0x00000fdc jalr t9 | t9 ();
0x00000fe0 lw gp, 0x20(sp) | gp = *(var_20h);
0x00000fe4 bnez v0, 0x10bc |
| while (v0 == 0) {
| label_0:
0x00000fe8 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00000fec lw t9, -0x7f90(gp) | t9 = sym.imp.vdo_error_is_expected;
| if (v0 != 0) {
0x00000ff0 beqz v0, 0x1024 |
0x00000ff4 move a0, s0 | a0 = s0;
0x00000ff8 jalr t9 | t9 ();
0x00000ffc lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00001000 bnez v0, 0x1298 | goto label_12;
| }
| label_5:
0x00001004 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00001008 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
| if (v0 == 0) {
0x0000100c beqz v0, 0x1024 | goto label_13;
| }
0x00001010 lw t9, -0x7f5c(gp) | t9 = sym.imp.g_printf
0x00001014 lw a1, 8(v0) | a1 = *((v0 + 2));
0x00001018 addiu a0, a0, 0x187c | a0 += str.vdo_yuv_client:__s_n;
0x0000101c jalr t9 | t9 ();
0x00001020 lw gp, 0x20(sp) | gp = *(var_20h);
| }
| label_13:
0x00001024 lw t9, -0x7f6c(gp) | t9 = sym.imp.fclose;
| if (s6 != 0) {
0x00001028 beqz s6, 0x1038 |
0x0000102c move a0, s6 | a0 = s6;
0x00001030 jalr t9 | t9 ();
0x00001034 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00001038 lw a0, 0x2120(s1) | a0 = *((s1 + 2120));
0x0000103c lw t9, -0x7f28(gp) | t9 = sym.imp.vdo_stream_stop;
| if (a0 != 0) {
0x00001040 beqz a0, 0x1060 |
0x00001044 jalr t9 | t9 ();
0x00001048 nop |
0x0000104c lw gp, 0x20(sp) | gp = *(var_20h);
0x00001050 lw t9, -0x7f30(gp) | t9 = sym.imp.g_object_unref;
0x00001054 lw a0, 0x2120(s1) | a0 = *((s1 + 2120));
0x00001058 jalr t9 | t9 ();
0x0000105c lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00001060 lw a0, 0x34(sp) | a0 = *(var_34h);
0x00001064 sltu s0, zero, a0 | s0 = (0 < a0) ? 1 : 0;
| if (a0 != 0) {
0x00001068 beqz a0, 0x107c |
0x0000106c lw t9, -0x7fb0(gp) | t9 = sym.imp.g_error_free;
0x00001070 jalr t9 | t9 ();
0x00001074 nop |
0x00001078 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x0000107c lw a0, 0x3c(sp) | a0 = *(var_3ch);
0x00001080 lw v1, (s2) | v1 = *(s2);
0x00001084 move v0, s0 | v0 = s0;
| if (a0 != v1) {
0x00001088 bne a0, v1, 0x1324 | goto label_14;
| }
0x0000108c lw ra, 0x64(sp) | ra = *(var_64h);
0x00001090 lw fp, 0x60(sp) | fp = *(var_60h);
0x00001094 lw s7, 0x5c(sp) | s7 = *(var_5ch);
0x00001098 lw s6, 0x58(sp) | s6 = *(var_58h);
0x0000109c lw s5, 0x54(sp) | s5 = *(var_54h);
0x000010a0 lw s4, 0x50(sp) | s4 = *(var_50h);
0x000010a4 lw s3, 0x4c(sp) | s3 = *(var_4ch);
0x000010a8 lw s2, 0x48(sp) | s2 = *(var_48h);
0x000010ac lw s1, 0x44(sp) | s1 = *(var_44h);
0x000010b0 lw s0, 0x40(sp) | s0 = *(var_40h);
0x000010b4 addiu sp, sp, 0x68 |
0x000010b8 jr ra | return v1;
0x000010bc lw t9, -0x7f40(gp) | t9 = sym.imp.vdo_stream_start;
0x000010c0 lw a0, 0x2120(s1) | a0 = *((s1 + 2120));
0x000010c4 move a1, s0 | a1 = s0;
0x000010c8 jalr t9 | t9 ();
0x000010cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000010d0 beqz v0, 0xfe8 |
| }
0x000010d4 addiu fp, zero, 0xa | fp = 0xa;
| label_1:
0x000010d8 lw t9, -0x7f74(gp) | t9 = sym.imp.vdo_stream_get_buffer;
0x000010dc lw a0, 0x2120(s1) | a0 = *((s1 + 2120));
0x000010e0 move a1, s0 | a1 = s0;
0x000010e4 jalr t9 | t9 ();
0x000010e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000010ec move a0, v0 | a0 = v0;
0x000010f0 lw t9, -0x7f38(gp) | t9 = sym.imp.vdo_buffer_get_frame;
0x000010f4 move s3, v0 | s3 = v0;
0x000010f8 jalr t9 | t9 ();
0x000010fc move s7, v0 | s7 = v0;
0x00001100 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00001104 beqz v0, 0xfe8 | goto label_0;
| }
0x00001108 lw t9, -0x7f78(gp) | t9 = sym.imp.vdo_buffer_get_data;
0x0000110c move a0, s3 | a0 = s3;
0x00001110 jalr t9 | t9 ();
0x00001114 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00001118 beqz v0, 0x12b8 | goto label_15;
| }
0x0000111c lw t9, -0x7f48(gp) | t9 = sym.imp.vdo_frame_get_size;
0x00001120 move a0, s7 | a0 = s7;
0x00001124 sw v0, 0x2c(sp) | *(var_2ch) = v0;
0x00001128 jalr t9 | t9 ();
0x0000112c lw gp, 0x20(sp) | gp = *(var_20h);
0x00001130 lw v1, 0x2c(sp) | v1 = *(var_2ch);
0x00001134 move a3, s6 | a3 = s6;
0x00001138 lw t9, -0x7f94(gp) | t9 = sym.imp.fwrite;
0x0000113c addiu a2, zero, 1 | a2 = 1;
0x00001140 move a1, v0 | a1 = v0;
0x00001144 move a0, v1 | a0 = v1;
0x00001148 jalr t9 | t9 ();
0x0000114c lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00001150 beqz v0, 0x1300 | goto label_16;
| }
0x00001154 lw t9, -0x7fb4(gp) | t9 = sym.imp.vdo_stream_buffer_enqueue;
0x00001158 lw a0, 0x2120(s1) | a0 = *((s1 + 2120));
0x0000115c move a2, s0 | a2 = s0;
0x00001160 move a1, s3 | a1 = s3;
0x00001164 jalr t9 | t9 ();
0x00001168 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x0000116c beqz v0, 0xfe8 | goto label_0;
| }
0x00001170 lw t9, -0x7f30(gp) | t9 = sym.imp.g_object_unref;
0x00001174 move a0, s3 | a0 = s3;
0x00001178 addiu fp, fp, -1 | fp += -1;
0x0000117c jalr t9 | t9 ();
0x00001180 lw gp, 0x20(sp) | gp = *(var_20h);
| if (fp != 0) {
0x00001184 bnez fp, 0x10d8 | goto label_1;
| }
0x00001188 lw t9, -0x7f34(gp) | t9 = sym.imp.g_clear_error;
0x0000118c move a0, s0 | a0 = s0;
0x00001190 jalr t9 | t9 ();
0x00001194 lw gp, 0x20(sp) | gp = *(var_20h);
0x00001198 lw t9, -0x7f24(gp) | t9 = sym.imp.g_free;
0x0000119c lw a0, 0x2110(s4) | a0 = *((s4 + 2116));
0x000011a0 jalr t9 | t9 ();
0x000011a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000011a8 lw t9, -0x7f24(gp) | t9 = sym.imp.g_free;
0x000011ac lw a0, 4(s5) | a0 = *((s5 + 1));
0x000011b0 jalr t9 | t9 ();
0x000011b4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000011b8 b 0xfe8 | goto label_0;
| label_11:
0x000011bc lw a1, 4(a0) | a1 = *((a0 + 1));
0x000011c0 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000011c4 lw t9, -0x7f5c(gp) | t9 = sym.imp.g_printf
0x000011c8 addiu a0, a0, 0x17fc | a0 += str.width:__d_height:__d_n;
0x000011cc jalr t9 | t9 ();
0x000011d0 lw v0, 0x2110(s4) | v0 = *((s4 + 2116));
0x000011d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000011d8 move a0, s1 | a0 = s1;
0x000011dc lw v0, (v0) | v0 = *(v0);
0x000011e0 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x000011e4 lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x000011e8 lw a2, 4(v0) | a2 = *((v0 + 1));
0x000011ec addiu a1, a1, 0x1814 | a1 += str.width;
0x000011f0 jalr t9 | t9 ();
0x000011f4 lw v0, 0x2110(s4) | v0 = *((s4 + 2116));
0x000011f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000011fc move a0, s1 | a0 = s1;
0x00001200 lw v0, (v0) | v0 = *(v0);
0x00001204 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001208 lw t9, -0x7f64(gp) | t9 = sym.imp.vdo_map_set_uint32;
0x0000120c lw a2, 8(v0) | a2 = *((v0 + 2));
0x00001210 addiu a1, a1, 0x181c | a1 += str.height;
0x00001214 jalr t9 | t9 ();
0x00001218 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000121c b 0xf84 | goto label_2;
| label_9:
0x00001220 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001224 lw t9, -0x7f5c(gp) | t9 = sym.imp.g_printf
0x00001228 lw v0, 0x211c(s0) | v0 = *((s0 + 2119));
0x0000122c addiu a0, a0, 0x17dc | a0 += str.YUV_subformat:__s_n;
0x00001230 lw a1, (v0) | a1 = *(v0);
0x00001234 jalr t9 | t9 ();
0x00001238 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000123c lw v0, 0x211c(s0) | v0 = *((s0 + 2119));
0x00001240 move a0, s1 | a0 = s1;
0x00001244 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x00001248 lw t9, -0x7f9c(gp) | t9 = sym.imp.vdo_map_set_string;
0x0000124c lw a2, (v0) | a2 = *(v0);
0x00001250 addiu a1, a1, 0x17f0 | a1 += str.subformat;
0x00001254 jalr t9 | t9 ();
0x00001258 lw gp, 0x20(sp) | gp = *(var_20h);
0x0000125c b 0xef8 | goto label_3;
| label_7:
0x00001260 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
0x00001264 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001268 lw a1, -0x7fdc(gp) | a1 = *((gp - 8183));
0x0000126c lw t9, -0x7fac(gp) | t9 = sym.imp.g_assertion_message;
0x00001270 addiu v0, v0, 0x17c0 | v0 += str.system_should_not_be_NULL;
0x00001274 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00001278 addiu a3, a3, 0x1890 | a3 += str.probe_yuv_subformats;
0x0000127c addiu a2, zero, 0x47 | a2 = 0x47;
0x00001280 addiu a1, a1, 0x17a4 | a1 += str.vdo_yuv_client.c;
0x00001284 move a0, zero | a0 = 0;
0x00001288 jalr t9 | t9 ();
0x0000128c lw gp, 0x20(sp) | gp = *(var_20h);
0x00001290 lw s3, -0x7fd8(gp) | s3 = *((gp - 8182));
0x00001294 b 0xeec | goto label_4;
| label_12:
0x00001298 lw t9, -0x7f34(gp) | t9 = sym.imp.g_clear_error;
0x0000129c move a0, s0 | a0 = s0;
0x000012a0 jalr t9 | t9 ();
0x000012a4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000012a8 b 0x1004 | goto label_5;
| label_10:
0x000012ac lw v0, 4(s5) | v0 = *((s5 + 1));
0x000012b0 lw v1, (v0) | v1 = *(v0);
0x000012b4 b 0xf7c | goto label_6;
| label_15:
0x000012b8 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x000012bc lw t9, -0x7f8c(gp) | t9 = sym.imp.g_quark_from_static_string;
0x000012c0 addiu a0, a0, 0x1834 | a0 += str.vdo_client_error;
0x000012c4 jalr t9 | t9 ();
0x000012c8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000012cc lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x000012d0 lw t9, -0x7f7c(gp) | t9 = sym.imp.g_set_error;
0x000012d4 addiu a3, a3, 0x1848 | a3 += str.Failed_to_get_data:__m;
| do {
0x000012d8 move a2, zero | a2 = 0;
0x000012dc move a1, v0 | a1 = v0;
0x000012e0 move a0, s0 | a0 = s0;
0x000012e4 jalr t9 | t9 ();
0x000012e8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000012ec lw t9, -0x7f30(gp) | t9 = sym.imp.g_object_unref;
0x000012f0 move a0, s3 | a0 = s3;
0x000012f4 jalr t9 | t9 ();
0x000012f8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000012fc b 0xfe8 | goto label_0;
| label_16:
0x00001300 lw a0, -0x7fdc(gp) | a0 = *((gp - 8183));
0x00001304 lw t9, -0x7f8c(gp) | t9 = sym.imp.g_quark_from_static_string;
0x00001308 addiu a0, a0, 0x1834 | a0 += str.vdo_client_error;
0x0000130c jalr t9 | t9 ();
0x00001310 lw gp, 0x20(sp) | gp = *(var_20h);
0x00001314 lw a3, -0x7fdc(gp) | a3 = *((gp - 8183));
0x00001318 lw t9, -0x7f7c(gp) | t9 = sym.imp.g_set_error;
0x0000131c addiu a3, a3, 0x1860 | a3 += str.Failed_to_write_frame:__m;
0x00001320 b 0x12d8 |
| } while (1);
| label_14:
0x00001324 lw t9, -0x7f98(gp) | t9 = sym.imp.__stack_chk_fail;
0x00001328 jalr t9 | t9 ();
0x0000132c nop |
| }
[*] Function printf used 4 times vdo-yuv-client