[*] 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