[*] Binary protection state of vdo-overlay-client

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of vdo-overlay-client

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-overlay-client @ 0xc80 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 1840 named .text */
    0x00000c80 lui gp, 2                 |     
    0x00000c84 addiu gp, gp, -0x6c40     |     
    0x00000c88 addu gp, gp, t9           |     gp += t9;
    0x00000c8c addiu sp, sp, -0x70       |     
    0x00000c90 lw t9, -0x7fa4(gp)        |     t9 = sym.imp.g_option_context_new;
    0x00000c94 sw s3, 0x5c(sp)           |     *(var_5ch) = s3;
    0x00000c98 lw s3, -0x7f94(gp)        |     s3 = *((gp - 8165));
    0x00000c9c sw a0, 0x70(sp)           |     *(arg_70h) = a0;
    0x00000ca0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00000ca4 lw v0, (s3)               |     v0 = *(s3);
    0x00000ca8 sw ra, 0x6c(sp)           |     *(var_6ch) = ra;
    0x00000cac sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00000cb0 sw s5, 0x64(sp)           |     *(var_64h) = s5;
    0x00000cb4 sw s1, 0x54(sp)           |     *(var_54h) = s1;
    0x00000cb8 sw s0, 0x50(sp)           |     *(var_50h) = s0;
    0x00000cbc addiu a0, a0, 0x1538      |     a0 += str.client_program_for_the_libvdo_overlay_API;
    0x00000cc0 sw a1, 0x24(sp)           |     *(var_24h) = a1;
    0x00000cc4 sw s6, 0x68(sp)           |     *(var_68h) = s6;
    0x00000cc8 sw s4, 0x60(sp)           |     *(var_60h) = s4;
    0x00000ccc sw s2, 0x58(sp)           |     *(var_58h) = s2;
    0x00000cd0 sw v0, 0x4c(sp)           |     *(var_4ch) = v0;
    0x00000cd4 sw zero, 0x28(sp)         |     *(var_28h) = 0;
    0x00000cd8 addiu s5, sp, 0x28        |     s5 = sp + 0x28;
    0x00000cdc jalr t9                   |     t9 ();
    0x00000ce0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000ce4 move a0, v0               |     a0 = v0;
    0x00000ce8 move a2, zero             |     a2 = 0;
    0x00000cec lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00000cf0 lw t9, -0x7f70(gp)        |     t9 = sym.imp.g_option_context_add_main_entries;
                                         |     /* esilref: 'channel' */
    0x00000cf4 addiu a1, a1, 0x1f3c      |     a1 += 0x1f3c;
    0x00000cf8 move s1, v0               |     s1 = v0;
    0x00000cfc jalr t9                   |     t9 ();
    0x00000d00 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d04 move a0, s1               |     a0 = s1;
    0x00000d08 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00000d0c lw t9, -0x7fac(gp)        |     t9 = sym.imp.g_option_context_set_description;
    0x00000d10 addiu a1, a1, 0x1564      |     a1 += str.About_colors_..._nBlack_will_be_61440__0xF000__and_white_is_65535__0xFFFF__n_nExample__insert_clock:_n__vdo_overlay_client__c_1__f_61440__b_65535__t___T__n_nExample__insert_frame__bitrate:_n__vdo_overlay_client__c_1__f_65535__b_61440__t__r_b__n;
    0x00000d14 jalr t9                   |     t9 ();
    0x00000d18 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d1c move a3, zero             |     a3 = 0;
    0x00000d20 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00000d24 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00000d28 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00000d2c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00000d30 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.g_option_group_new;
    0x00000d34 addiu a2, a2, 0x1654      |     a2 += str.Options_for_editing_text_overlays;
    0x00000d38 addiu a1, a1, 0x1678      |     a1 += str.Text_overlay_options;
    0x00000d3c addiu a0, a0, 0x1690      |     a0 += str.text;
    0x00000d40 jalr t9                   |     t9 ();
    0x00000d44 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d48 move a0, v0               |     a0 = v0;
    0x00000d4c move s0, v0               |     s0 = v0;
    0x00000d50 lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00000d54 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.g_option_group_add_entries;
                                         |     /* esilref: 'text' */
    0x00000d58 addiu a1, a1, 0x1eb0      |     a1 += 0x1eb0;
    0x00000d5c jalr t9                   |     t9 ();
    0x00000d60 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d64 move a1, s0               |     a1 = s0;
    0x00000d68 lw t9, -0x7f90(gp)        |     t9 = sym.imp.g_option_context_add_group;
    0x00000d6c move a0, s1               |     a0 = s1;
    0x00000d70 jalr t9                   |     t9 ();
    0x00000d74 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d78 move a3, zero             |     a3 = 0;
    0x00000d7c sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00000d80 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00000d84 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00000d88 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00000d8c lw t9, -0x7fa0(gp)        |     t9 = sym.imp.g_option_group_new;
    0x00000d90 addiu a2, a2, 0x1698      |     a2 += str.Options_for_editing_image_overlays;
    0x00000d94 addiu a1, a1, 0x16bc      |     a1 += str.Image_overlay_options;
    0x00000d98 addiu a0, a0, 0x16d4      |     a0 += str.image;
    0x00000d9c jalr t9                   |     t9 ();
    0x00000da0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000da4 move a0, v0               |     a0 = v0;
    0x00000da8 move s0, v0               |     s0 = v0;
    0x00000dac lw a1, -0x7fd8(gp)        |     a1 = *((gp - 8182));
    0x00000db0 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.g_option_group_add_entries;
                                         |     /* section..data.rel.ro */
    0x00000db4 addiu a1, a1, 0x1e78      |     a1 += 0x1e78;
    0x00000db8 jalr t9                   |     t9 ();
    0x00000dbc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000dc0 move a1, s0               |     a1 = s0;
    0x00000dc4 lw t9, -0x7f90(gp)        |     t9 = sym.imp.g_option_context_add_group;
    0x00000dc8 move a0, s1               |     a0 = s1;
    0x00000dcc jalr t9                   |     t9 ();
    0x00000dd0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000dd4 move a3, s5               |     a3 = s5;
    0x00000dd8 addiu a2, sp, 0x24        |     a2 = sp + 0x24;
    0x00000ddc lw t9, -0x7f88(gp)        |     t9 = sym.imp.g_option_context_parse;
    0x00000de0 addiu a1, sp, 0x70        |     a1 = sp + 0x70;
    0x00000de4 move a0, s1               |     a0 = s1;
    0x00000de8 jalr t9                   |     t9 ();
    0x00000dec lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00000df0 beqz v0, 0x1128           |         goto label_3;
                                         |     }
    0x00000df4 lw t9, -0x7f54(gp)        |     t9 = sym.imp.g_option_context_free;
    0x00000df8 lw s0, -0x7fd8(gp)        |     s0 = *((gp - 8182));
    0x00000dfc move a0, s1               |     a0 = s1;
    0x00000e00 jalr t9                   |     t9 ();
    0x00000e04 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000e08 lw a0, 0x2010(s0)         |     a0 = *((s0 + 2052));
    0x00000e0c move a1, s5               |     a1 = s5;
    0x00000e10 lw t9, -0x7fb4(gp)        |     t9 = sym.imp.vdo_channel_get;
    0x00000e14 addiu s0, s0, 0x2010      |     s0 += 0x2010;
    0x00000e18 jalr t9                   |     t9 ();
    0x00000e1c move s6, v0               |     s6 = v0;
    0x00000e20 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00000e24 beqz v0, 0x10f4           |         goto label_4;
                                         |     }
    0x00000e28 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.vdo_map_new;
    0x00000e2c addiu s1, sp, 0x2c        |     s1 = sp + 0x2c;
    0x00000e30 jalr t9                   |     t9 ();
    0x00000e34 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000e38 lw s4, 4(s0)              |     s4 = *((s0 + 1));
    0x00000e3c addiu a1, zero, 0x1e      |     a1 = 0x1e;
    0x00000e40 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00000e44 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.g_snprintf
    0x00000e48 move a3, s4               |     a3 = s4;
    0x00000e4c addiu a2, a2, 0x1710      |     a2 += str.overlay._u.enabled;
    0x00000e50 move a0, s1               |     a0 = s1;
    0x00000e54 move s2, v0               |     s2 = v0;
    0x00000e58 jalr t9                   |     t9 ();
    0x00000e5c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000e60 lw a2, 8(s0)              |     a2 = *((s0 + 2));
    0x00000e64 move a1, s1               |     a1 = s1;
    0x00000e68 lw t9, -0x7f80(gp)        |     t9 = sym.imp.vdo_map_set_boolean;
    0x00000e6c sltiu a2, a2, 1           |     a2 = (a2 < 1) ? 1 : 0;
    0x00000e70 move a0, s2               |     a0 = s2;
    0x00000e74 jalr t9                   |     t9 ();
    0x00000e78 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000e7c move a3, s4               |     a3 = s4;
    0x00000e80 addiu a1, zero, 0x1e      |     a1 = 0x1e;
    0x00000e84 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00000e88 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.g_snprintf
    0x00000e8c addiu a2, a2, 0x1724      |     a2 += str.overlay._u.text;
    0x00000e90 move a0, s1               |     a0 = s1;
    0x00000e94 jalr t9                   |     t9 ();
    0x00000e98 lw a2, 0x10(s0)           |     a2 = *((s0 + 4));
    0x00000e9c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (a2 == 0) {
    0x00000ea0 beqz a2, 0x116c           |         goto label_5;
                                         |     }
                                         | label_1:
    0x00000ea4 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.vdo_map_set_string;
    0x00000ea8 move a1, s1               |     a1 = s1;
    0x00000eac move a0, s2               |     a0 = s2;
    0x00000eb0 jalr t9                   |     t9 ();
    0x00000eb4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000eb8 move a3, s4               |     a3 = s4;
    0x00000ebc addiu a1, zero, 0x1e      |     a1 = 0x1e;
    0x00000ec0 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00000ec4 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.g_snprintf
    0x00000ec8 addiu a2, a2, 0x1734      |     a2 += str.overlay._u.path;
    0x00000ecc move a0, s1               |     a0 = s1;
    0x00000ed0 jalr t9                   |     t9 ();
    0x00000ed4 lw a2, 0x28(s0)           |     a2 = *((s0 + 10));
    0x00000ed8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (a2 == 0) {
    0x00000edc beqz a2, 0x1178           |         goto label_6;
                                         |     }
                                         | label_2:
    0x00000ee0 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.vdo_map_set_string;
    0x00000ee4 move a1, s1               |     a1 = s1;
    0x00000ee8 move a0, s2               |     a0 = s2;
    0x00000eec jalr t9                   |     t9 ();
    0x00000ef0 lw v1, 0x14(s0)           |     v1 = *((s0 + 5));
    0x00000ef4 addiu v0, zero, -1        |     v0 = -1;
    0x00000ef8 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v1 != v0) {
    0x00000efc beq v1, v0, 0xf38         |         
    0x00000f00 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00000f04 lw t9, -0x7f8c(gp)        |         t9 = sym.imp.g_snprintf
    0x00000f08 move a3, s4               |         a3 = s4;
    0x00000f0c addiu a2, a2, 0x1744      |         a2 += str.overlay._u.textcolor;
    0x00000f10 addiu a1, zero, 0x1e      |         a1 = 0x1e;
    0x00000f14 move a0, s1               |         a0 = s1;
    0x00000f18 jalr t9                   |         t9 ();
    0x00000f1c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000f20 lw a2, 0x14(s0)           |         a2 = *((s0 + 5));
    0x00000f24 move a1, s1               |         a1 = s1;
    0x00000f28 lw t9, -0x7f78(gp)        |         t9 = sym.imp.vdo_map_set_uint32;
    0x00000f2c move a0, s2               |         a0 = s2;
    0x00000f30 jalr t9                   |         t9 ();
    0x00000f34 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |     }
    0x00000f38 lw v1, 0x18(s0)           |     v1 = *((s0 + 6));
    0x00000f3c addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v1 != v0) {
    0x00000f40 beql v1, v0, 0xf88        |         
    0x00000f44 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x00000f48 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00000f4c lw t9, -0x7f8c(gp)        |         t9 = sym.imp.g_snprintf
    0x00000f50 move a3, s4               |         a3 = s4;
    0x00000f54 addiu a2, a2, 0x175c      |         a2 += str.overlay._u.bgcolor;
    0x00000f58 addiu a1, zero, 0x1e      |         a1 = 0x1e;
    0x00000f5c move a0, s1               |         a0 = s1;
    0x00000f60 jalr t9                   |         t9 ();
    0x00000f64 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000f68 lw a2, 0x18(s0)           |         a2 = *((s0 + 6));
    0x00000f6c move a1, s1               |         a1 = s1;
    0x00000f70 lw t9, -0x7f78(gp)        |         t9 = sym.imp.vdo_map_set_uint32;
    0x00000f74 move a0, s2               |         a0 = s2;
    0x00000f78 jalr t9                   |         t9 ();
    0x00000f7c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000f80 lw v1, 0x1c(s0)           |         v1 = *((s0 + 7));
    0x00000f84 addiu v0, zero, -1        |         v0 = -1;
                                         |     }
                                         |     if (v1 != v0) {
    0x00000f88 beql v1, v0, 0xfcc        |         
    0x00000f8c lw v1, 0x20(s0)           |         v1 = *((s0 + 8));
    0x00000f90 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00000f94 lw t9, -0x7f8c(gp)        |         t9 = sym.imp.g_snprintf
    0x00000f98 move a3, s4               |         a3 = s4;
    0x00000f9c addiu a2, a2, 0x1770      |         a2 += str.overlay._u.size;
    0x00000fa0 addiu a1, zero, 0x1e      |         a1 = 0x1e;
    0x00000fa4 move a0, s1               |         a0 = s1;
    0x00000fa8 jalr t9                   |         t9 ();
    0x00000fac lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000fb0 lw a2, 0x1c(s0)           |         a2 = *((s0 + 7));
    0x00000fb4 move a1, s1               |         a1 = s1;
    0x00000fb8 lw t9, -0x7f78(gp)        |         t9 = sym.imp.vdo_map_set_uint32;
    0x00000fbc move a0, s2               |         a0 = s2;
    0x00000fc0 jalr t9                   |         t9 ();
    0x00000fc4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000fc8 lw v1, 0x20(s0)           |         v1 = *((s0 + 8));
                                         |     }
    0x00000fcc addiu v0, zero, -1        |     v0 = -1;
                                         |     if (v1 != v0) {
    0x00000fd0 beql v1, v0, 0x1018       |         
    0x00000fd4 lw v1, 0x24(s0)           |         v1 = *((s0 + 9));
    0x00000fd8 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00000fdc lw t9, -0x7f8c(gp)        |         t9 = sym.imp.g_snprintf
    0x00000fe0 move a3, s4               |         a3 = s4;
    0x00000fe4 addiu a2, a2, 0x1780      |         a2 += str.overlay._u.x;
    0x00000fe8 addiu a1, zero, 0x1e      |         a1 = 0x1e;
    0x00000fec move a0, s1               |         a0 = s1;
    0x00000ff0 jalr t9                   |         t9 ();
    0x00000ff4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000ff8 lw a2, 0x20(s0)           |         a2 = *((s0 + 8));
    0x00000ffc move a1, s1               |         a1 = s1;
    0x00001000 lw t9, -0x7f78(gp)        |         t9 = sym.imp.vdo_map_set_uint32;
    0x00001004 move a0, s2               |         a0 = s2;
    0x00001008 jalr t9                   |         t9 ();
    0x0000100c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001010 lw v1, 0x24(s0)           |         v1 = *((s0 + 9));
    0x00001014 addiu v0, zero, -1        |         v0 = -1;
                                         |     }
    0x00001018 lw t9, -0x7f60(gp)        |     t9 = sym.imp.vdo_channel_set_settings;
                                         |     if (v1 != v0) {
    0x0000101c beq v1, v0, 0x105c        |         
    0x00001020 lw a2, -0x7fdc(gp)        |         a2 = *((gp - 8183));
    0x00001024 lw t9, -0x7f8c(gp)        |         t9 = sym.imp.g_snprintf
    0x00001028 move a3, s4               |         a3 = s4;
    0x0000102c addiu a2, a2, 0x1790      |         a2 += str.overlay._u.y;
    0x00001030 addiu a1, zero, 0x1e      |         a1 = 0x1e;
    0x00001034 move a0, s1               |         a0 = s1;
    0x00001038 jalr t9                   |         t9 ();
    0x0000103c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001040 lw a2, 0x24(s0)           |         a2 = *((s0 + 9));
    0x00001044 move a1, s1               |         a1 = s1;
    0x00001048 lw t9, -0x7f78(gp)        |         t9 = sym.imp.vdo_map_set_uint32;
    0x0000104c move a0, s2               |         a0 = s2;
    0x00001050 jalr t9                   |         t9 ();
    0x00001054 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001058 lw t9, -0x7f60(gp)        |         t9 = sym.imp.vdo_channel_set_settings;
                                         |     }
    0x0000105c move a2, s5               |     a2 = s5;
    0x00001060 move a1, s2               |     a1 = s2;
    0x00001064 move a0, s6               |     a0 = s6;
    0x00001068 jalr t9                   |     t9 ();
    0x0000106c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001070 move a0, s6               |     a0 = s6;
    0x00001074 lw t9, -0x7f5c(gp)        |     t9 = sym.imp.g_object_unref;
    0x00001078 move s1, v0               |     s1 = v0;
    0x0000107c jalr t9                   |     t9 ();
    0x00001080 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001084 lw t9, -0x7f5c(gp)        |     t9 = sym.imp.g_object_unref;
    0x00001088 move a0, s2               |     a0 = s2;
    0x0000108c jalr t9                   |     t9 ();
    0x00001090 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (s1 == 0) {
    0x00001094 beqz s1, 0x10f4           |         goto label_4;
                                         |     }
    0x00001098 move s1, zero             |     s1 = 0;
                                         |     do {
    0x0000109c lw t9, -0x7f50(gp)        |         t9 = sym.imp.g_free;
    0x000010a0 lw a0, 0x10(s0)           |         a0 = *((s0 + 4));
    0x000010a4 jalr t9                   |         t9 ();
    0x000010a8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000010ac lw t9, -0x7f50(gp)        |         t9 = sym.imp.g_free;
    0x000010b0 lw a0, 0x28(s0)           |         a0 = *((s0 + 10));
    0x000010b4 jalr t9                   |         t9 ();
    0x000010b8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_0:
    0x000010bc lw a0, 0x4c(sp)           |         a0 = *(var_4ch);
    0x000010c0 lw v1, (s3)               |         v1 = *(s3);
    0x000010c4 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x000010c8 bne a0, v1, 0x1184        |             goto label_7;
                                         |         }
    0x000010cc lw ra, 0x6c(sp)           |         ra = *(var_6ch);
    0x000010d0 lw s6, 0x68(sp)           |         s6 = *(var_68h);
    0x000010d4 lw s5, 0x64(sp)           |         s5 = *(var_64h);
    0x000010d8 lw s4, 0x60(sp)           |         s4 = *(var_60h);
    0x000010dc lw s3, 0x5c(sp)           |         s3 = *(var_5ch);
    0x000010e0 lw s2, 0x58(sp)           |         s2 = *(var_58h);
    0x000010e4 lw s1, 0x54(sp)           |         s1 = *(var_54h);
    0x000010e8 lw s0, 0x50(sp)           |         s0 = *(var_50h);
    0x000010ec addiu sp, sp, 0x70        |         
    0x000010f0 jr ra                     |         return v0;
                                         | label_4:
    0x000010f4 lw v0, 0x28(sp)           |         v0 = *(var_28h);
    0x000010f8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000010fc lw t9, -0x7f64(gp)        |         t9 = sym.imp.g_printerr;
    0x00001100 lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x00001104 addiu a0, a0, 0x16fc      |         a0 += str.libvdo_error:__s_n;
    0x00001108 jalr t9                   |         t9 ();
    0x0000110c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001110 lw a0, 0x28(sp)           |         a0 = *(var_28h);
    0x00001114 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.g_error_free;
    0x00001118 addiu s1, zero, 1         |         s1 = 1;
    0x0000111c jalr t9                   |         t9 ();
    0x00001120 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001124 b 0x109c                  |         
                                         |     } while (1);
                                         | label_3:
    0x00001128 lw v0, 0x28(sp)           |     v0 = *(var_28h);
    0x0000112c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001130 lw t9, -0x7f64(gp)        |     t9 = sym.imp.g_printerr;
    0x00001134 lw a1, 8(v0)              |     a1 = *((v0 + 2));
    0x00001138 addiu a0, a0, 0x16dc      |     a0 += str.vdo_overlay_client_error:__s_n;
    0x0000113c jalr t9                   |     t9 ();
    0x00001140 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001144 move a0, s1               |     a0 = s1;
    0x00001148 lw t9, -0x7f54(gp)        |     t9 = sym.imp.g_option_context_free;
    0x0000114c addiu s1, zero, 1         |     s1 = 1;
    0x00001150 jalr t9                   |     t9 ();
    0x00001154 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001158 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.g_error_free;
    0x0000115c lw a0, 0x28(sp)           |     a0 = *(var_28h);
    0x00001160 jalr t9                   |     t9 ();
    0x00001164 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001168 b 0x10bc                  |     goto label_0;
                                         | label_5:
    0x0000116c lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x00001170 addiu a2, a2, 0x185c      |     a2 += 0x185c;
    0x00001174 b 0xea4                   |     goto label_1;
                                         | label_6:
    0x00001178 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x0000117c addiu a2, a2, 0x185c      |     a2 += 0x185c;
    0x00001180 b 0xee0                   |     goto label_2;
                                         | label_7:
    0x00001184 lw t9, -0x7f98(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00001188 jalr t9                   |     t9 ();
    0x0000118c nop                       |     
                                         | }

[*] Function printf used 9 times vdo-overlay-client