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

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


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

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/bin/vdo-mask-client @ 0xa60 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 5312 named .text */
    0x00000a60 lui gp, 2                 |     
    0x00000a64 addiu gp, gp, -0x5a50     |     
    0x00000a68 addu gp, gp, t9           |     gp += t9;
    0x00000a6c addiu sp, sp, -0x2f0      |     
    0x00000a70 addiu v0, zero, 2         |     v0 = 2;
    0x00000a74 sw s2, 0x2d0(sp)          |     *(var_2d0h) = s2;
    0x00000a78 lw s2, -0x7f74(gp)        |     s2 = *((gp - 8157));
    0x00000a7c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00000a80 sw s1, 0x2cc(sp)          |     *(var_2cch) = s1;
    0x00000a84 lw v1, (s2)               |     v1 = *(s2);
    0x00000a88 addiu s1, zero, -1        |     s1 = -1;
    0x00000a8c sw v1, 0x2c4(sp)          |     *(var_2c4h) = v1;
    0x00000a90 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000a94 sw ra, 0x2ec(sp)          |     *(var_2ech) = ra;
    0x00000a98 addiu v1, v1, 0x214c      |     v1 += 0x214c;
    0x00000a9c sw v1, 0x84(sp)           |     *(var_84h) = v1;
    0x00000aa0 addiu v1, sp, 0x38        |     v1 = sp + 0x38;
    0x00000aa4 sw v1, 0x94(sp)           |     *(var_94h) = v1;
    0x00000aa8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000aac sw a0, 0x2f0(sp)          |     *(arg_2f0h) = a0;
    0x00000ab0 addiu v1, v1, 0x2150      |     v1 += str.Channel_ID;
    0x00000ab4 sw v1, 0x98(sp)           |     *(var_98h) = v1;
    0x00000ab8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000abc sw a1, 0x2c(sp)           |     *(var_2ch) = a1;
    0x00000ac0 addiu v1, v1, 0x217c      |     v1 += 0x217c;
    0x00000ac4 sw v1, 0xa0(sp)           |     *(var_a0h) = v1;
    0x00000ac8 addiu v1, zero, 0x61      |     v1 = 0x61;
    0x00000acc sb v1, 0xa4(sp)           |     *(var_a4h) = v1;
    0x00000ad0 addiu v1, sp, 0x3c        |     v1 = sp + 0x3c;
    0x00000ad4 sw v1, 0xb0(sp)           |     *(var_b0h) = v1;
    0x00000ad8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000adc sw v0, 0x90(sp)           |     *(var_90h) = v0;
    0x00000ae0 addiu v1, v1, 0x215c      |     v1 += str.Mask_square_area_index;
    0x00000ae4 sw v1, 0xb4(sp)           |     *(var_b4h) = v1;
    0x00000ae8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000aec sw v0, 0xac(sp)           |     *(var_ach) = v0;
    0x00000af0 addiu v1, v1, 0x2174      |     v1 += str.polygon_area;
    0x00000af4 sw v1, 0xbc(sp)           |     *(var_bch) = v1;
    0x00000af8 addiu v1, zero, 0x70      |     v1 = 0x70;
    0x00000afc sb v1, 0xc0(sp)           |     *(var_c0h) = v1;
    0x00000b00 addiu v1, sp, 0x4c        |     v1 = sp + 0x4c;
    0x00000b04 sw v1, 0xcc(sp)           |     *(var_cch) = v1;
    0x00000b08 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b0c sw v0, 0xc8(sp)           |     *(var_c8h) = v0;
    0x00000b10 addiu v1, v1, 0x2184      |     v1 += str.Mask_polygon_area_index;
    0x00000b14 sw v1, 0xd0(sp)           |     *(var_d0h) = v1;
    0x00000b18 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b1c sw fp, 0x2e8(sp)          |     *(var_2e8h) = fp;
    0x00000b20 addiu v1, v1, 0x219c      |     v1 += str.clear;
    0x00000b24 sw s7, 0x2e4(sp)          |     *(var_2e4h) = s7;
    0x00000b28 sw s6, 0x2e0(sp)          |     *(var_2e0h) = s6;
    0x00000b2c sw s5, 0x2dc(sp)          |     *(var_2dch) = s5;
    0x00000b30 sw s4, 0x2d8(sp)          |     *(var_2d8h) = s4;
    0x00000b34 sw s3, 0x2d4(sp)          |     *(var_2d4h) = s3;
    0x00000b38 sw s0, 0x2c8(sp)          |     *(var_2c8h) = s0;
    0x00000b3c sw zero, 0x34(sp)         |     *(var_34h) = 0;
    0x00000b40 sw s1, 0x38(sp)           |     *(var_38h) = s1;
    0x00000b44 sw v1, 0xd8(sp)           |     *(var_d8h) = v1;
    0x00000b48 addiu v1, zero, 0x63      |     v1 = 0x63;
    0x00000b4c sb v1, 0xdc(sp)           |     *(var_dch) = v1;
    0x00000b50 addiu v1, sp, 0x40        |     v1 = sp + 0x40;
    0x00000b54 sw v1, 0xe8(sp)           |     *(var_e8h) = v1;
    0x00000b58 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b5c sw v0, 0x138(sp)          |     *(var_138h) = v0;
    0x00000b60 addiu v1, v1, 0x21a4      |     v1 += str.Clear_mask_area;
    0x00000b64 sw v1, 0xec(sp)           |     *(var_ech) = v1;
    0x00000b68 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b6c addiu v0, sp, 0x50        |     v0 = sp + 0x50;
    0x00000b70 addiu v1, v1, 0x21b4      |     v1 += str.clear_all;
    0x00000b74 sw v1, 0xf4(sp)           |     *(var_f4h) = v1;
    0x00000b78 addiu v1, zero, 0x64      |     v1 = 0x64;
    0x00000b7c sb v1, 0xf8(sp)           |     *(var_f8h) = v1;
    0x00000b80 addiu v1, sp, 0x44        |     v1 = sp + 0x44;
    0x00000b84 sw v1, 0x104(sp)          |     *(var_104h) = v1;
    0x00000b88 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b8c sw v0, 0x13c(sp)          |     *(var_13ch) = v0;
    0x00000b90 addiu v1, v1, 0x21c0      |     v1 += str.Clear_all_square_and_polygon_mask_areas;
    0x00000b94 sw v1, 0x108(sp)          |     *(var_108h) = v1;
    0x00000b98 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000b9c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00000ba0 addiu v1, v1, 0x21e8      |     v1 += str.verbose;
    0x00000ba4 sw v1, 0x110(sp)          |     *(var_110h) = v1;
    0x00000ba8 addiu v1, zero, 0x76      |     v1 = 0x76;
    0x00000bac sb v1, 0x114(sp)          |     *(var_114h) = v1;
    0x00000bb0 addiu v1, sp, 0x48        |     v1 = sp + 0x48;
    0x00000bb4 sw v1, 0x120(sp)          |     *(var_120h) = v1;
    0x00000bb8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000bbc lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00000bc0 addiu v1, v1, 0x21f0      |     v1 += str.Enable_verbose_output;
    0x00000bc4 sw v1, 0x124(sp)          |     *(var_124h) = v1;
    0x00000bc8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000bcc lw t9, -0x7fa4(gp)        |     t9 = sym.imp.g_option_context_new;
    0x00000bd0 addiu v1, v1, 0x2208      |     v1 += str.points_number;
    0x00000bd4 sw v1, 0x12c(sp)          |     *(var_12ch) = v1;
    0x00000bd8 addiu v0, v0, 0x2218      |     v0 += str.Number_of_polygon_points;
    0x00000bdc addiu v1, zero, 0x62      |     v1 = 0x62;
    0x00000be0 sb v1, 0x130(sp)          |     *(var_130h) = v1;
    0x00000be4 sw v0, 0x140(sp)          |     *(var_140h) = v0;
    0x00000be8 sw s1, 0x3c(sp)           |     *(var_3ch) = s1;
    0x00000bec sw zero, 0x40(sp)         |     *(var_40h) = 0;
    0x00000bf0 sw zero, 0x44(sp)         |     *(var_44h) = 0;
    0x00000bf4 sw zero, 0x48(sp)         |     *(var_48h) = 0;
    0x00000bf8 sw s1, 0x4c(sp)           |     *(var_4ch) = s1;
    0x00000bfc sw s1, 0x50(sp)           |     *(var_50h) = s1;
    0x00000c00 sb zero, 0x88(sp)         |     *(var_88h) = 0;
    0x00000c04 sw zero, 0x8c(sp)         |     *(var_8ch) = 0;
    0x00000c08 sw zero, 0x9c(sp)         |     *(var_9ch) = 0;
    0x00000c0c sw zero, 0xa8(sp)         |     *(var_a8h) = 0;
    0x00000c10 sw zero, 0xb8(sp)         |     *(var_b8h) = 0;
    0x00000c14 sw zero, 0xc4(sp)         |     *(var_c4h) = 0;
    0x00000c18 addiu a0, a0, 0x2234      |     a0 += str._x0___y0___width___height_;
    0x00000c1c sw zero, 0xd4(sp)         |     *(var_d4h) = 0;
    0x00000c20 sw zero, 0xe0(sp)         |     *(var_e0h) = 0;
    0x00000c24 sw zero, 0xe4(sp)         |     *(var_e4h) = 0;
    0x00000c28 sw zero, 0xf0(sp)         |     *(var_f0h) = 0;
    0x00000c2c sw zero, 0xfc(sp)         |     *(var_fch) = 0;
    0x00000c30 sw zero, 0x100(sp)        |     *(var_100h) = 0;
    0x00000c34 sw zero, 0x10c(sp)        |     *(var_10ch) = 0;
    0x00000c38 sw zero, 0x118(sp)        |     *(var_118h) = 0;
    0x00000c3c sw zero, 0x11c(sp)        |     *(var_11ch) = 0;
    0x00000c40 sw zero, 0x128(sp)        |     *(var_128h) = 0;
    0x00000c44 sw zero, 0x134(sp)        |     *(var_134h) = 0;
    0x00000c48 sw zero, 0x144(sp)        |     *(var_144h) = 0;
    0x00000c4c sw zero, 0x148(sp)        |     *(var_148h) = 0;
    0x00000c50 sb zero, 0x14c(sp)        |     *(var_14ch) = 0;
    0x00000c54 sw zero, 0x150(sp)        |     *(var_150h) = 0;
    0x00000c58 sw zero, 0x154(sp)        |     *(var_154h) = 0;
    0x00000c5c sw zero, 0x158(sp)        |     *(var_158h) = 0;
    0x00000c60 sw zero, 0x15c(sp)        |     *(var_15ch) = 0;
    0x00000c64 sw zero, 0x160(sp)        |     *(var_160h) = 0;
    0x00000c68 jalr t9                   |     t9 ();
    0x00000c6c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00000c70 beqz v0, 0x1350           |         goto label_6;
                                         |     }
    0x00000c74 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00000c78 lw t9, -0x7f80(gp)        |     t9 = sym.imp.g_option_context_set_summary;
    0x00000c7c move a0, v0               |     a0 = v0;
    0x00000c80 addiu a1, a1, 0x2250      |     a1 += str.Query_and_control_masks_using_datacache_api;
    0x00000c84 move s0, v0               |     s0 = v0;
    0x00000c88 jalr t9                   |     t9 ();
    0x00000c8c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000c90 move a0, s0               |     a0 = s0;
    0x00000c94 addiu s4, sp, 0x34        |     s4 = sp + 0x34;
    0x00000c98 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00000c9c lw t9, -0x7f60(gp)        |     t9 = sym.imp.g_option_context_set_description;
    0x00000ca0 addiu a1, a1, 0x227c      |     a1 += str.Examples:_n__vdo_mask_client___ch_0__a_0_128_256_640_360_n__vdo_mask_client___ch_0__a_0__c_n__vdo_mask_client___ch_0__p_0__b_4_128_256_568_256_768_616_128_616_n__vdo_mask_client___ch_0__p_1__b_5_628_356_1068_456_1268_616_428_816_200_400_n__vdo_mask_client___ch_0__p_2__b_4_0_0_300_0_300_300_0_300_n__vdo_mask_client___ch_0__p_0__c_n__vdo_mask_client___ch_0__p_1__c_n__vdo_mask_client___ch_0__p_2__c_n__vdo_mask_client___ch_0___clear_all_n;
    0x00000ca4 jalr t9                   |     t9 ();
    0x00000ca8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000cac move a2, zero             |     a2 = 0;
    0x00000cb0 addiu a1, sp, 0x84        |     a1 = sp + 0x84;
    0x00000cb4 lw t9, -0x7f68(gp)        |     t9 = sym.imp.g_option_context_add_main_entries;
    0x00000cb8 move a0, s0               |     a0 = s0;
    0x00000cbc jalr t9                   |     t9 ();
    0x00000cc0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000cc4 move a3, s4               |     a3 = s4;
    0x00000cc8 addiu a2, sp, 0x2c        |     a2 = sp + 0x2c;
    0x00000ccc lw t9, -0x7fa0(gp)        |     t9 = sym.imp.g_option_context_parse;
    0x00000cd0 addiu a1, sp, 0x2f0       |     a1 = sp + 0x2f0;
    0x00000cd4 move a0, s0               |     a0 = s0;
    0x00000cd8 jalr t9                   |     t9 ();
    0x00000cdc lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00000ce0 beqz v0, 0x12e8           |         goto label_7;
                                         |     }
    0x00000ce4 lw t9, -0x7f70(gp)        |     t9 = sym.imp.g_option_context_free;
    0x00000ce8 move a0, s0               |     a0 = s0;
    0x00000cec jalr t9                   |     t9 ();
    0x00000cf0 lw v0, 0x38(sp)           |     v0 = *(var_38h);
    0x00000cf4 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == s1) {
    0x00000cf8 beq v0, s1, 0xff8         |         goto label_8;
                                         |     }
    0x00000cfc lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00000d00 lw t9, -0x7fb4(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00000d04 addiu s3, sp, 0x2a4       |     s3 = sp + 0x2a4;
    0x00000d08 addiu a3, a3, 0x2448      |     a3 += str._dev_datacache_d;
    0x00000d0c addiu a2, zero, 0x20      |     a2 = 0x20;
    0x00000d10 addiu a1, zero, 1         |     a1 = 1;
    0x00000d14 move a0, s3               |     a0 = s3;
    0x00000d18 sw v0, 0x10(sp)           |     *(var_10h_2) = v0;
    0x00000d1c jalr t9                   |     t9 ();
    0x00000d20 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000d24 addiu a1, zero, 2         |     a1 = 2;
    0x00000d28 lw t9, -0x7f90(gp)        |     t9 = sym.imp.open;
    0x00000d2c move a0, s3               |     a0 = s3;
    0x00000d30 jalr t9                   |     t9 ();
    0x00000d34 move s0, v0               |     s0 = v0;
    0x00000d38 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00000d3c bltz v0, 0x138c           |         goto label_9;
                                         |     }
    0x00000d40 lw v0, 0x44(sp)           |     v0 = *(var_44h);
    0x00000d44 lw v0, 0x4c(sp)           |     v0 = *(var_4ch);
                                         |     if (v0 == 0) {
    0x00000d48 bnez v0, 0xf78            |         
    0x00000d4c lw v1, -0x7fdc(gp)        |         v1 = *((gp - 8183));
                                         |         if (v0 == s1) {
    0x00000d50 beq v0, s1, 0x102c        |             goto label_10;
                                         |         }
    0x00000d54 addiu s5, sp, 0x164       |         s5 = sp + 0x164;
    0x00000d58 addiu v0, v1, 0x20a4      |         v0 = v1 + str.polygon_mask;
    0x00000d5c lw t0, 0x20a4(v1)         |         t0 = *(v1);
    0x00000d60 lw a3, 4(v0)              |         a3 = *((v0 + 1));
    0x00000d64 lw v1, 8(v0)              |         v1 = *((v0 + 2));
    0x00000d68 lbu v0, 0xc(v0)           |         v0 = *((v0 + 12));
    0x00000d6c lui a1, 0x401c            |         a1 = 0x401c0000;
    0x00000d70 lw t9, -0x7f88(gp)        |         t9 = sym.imp.ioctl;
    0x00000d74 sb v0, 0x170(sp)          |         *(var_170h) = v0;
    0x00000d78 move a2, s5               |         a2 = s5;
    0x00000d7c addiu a1, a1, 0x2b04      |         a1 += 0x2b04;
    0x00000d80 move a0, s0               |         a0 = s0;
    0x00000d84 sw t0, 0x164(sp)          |         *(var_164h) = t0;
    0x00000d88 sw a3, 0x168(sp)          |         *(var_168h) = a3;
    0x00000d8c sw v1, 0x16c(sp)          |         *(var_16ch) = v1;
    0x00000d90 sb zero, 0x171(sp)        |         *(var_171h) = 0;
    0x00000d94 sb zero, 0x172(sp)        |         *(var_172h) = 0;
    0x00000d98 sb zero, 0x173(sp)        |         *(var_173h) = 0;
    0x00000d9c sb zero, 0x174(sp)        |         *(var_174h) = 0;
    0x00000da0 sb zero, 0x175(sp)        |         *(var_175h) = 0;
    0x00000da4 sb zero, 0x176(sp)        |         *(var_176h) = 0;
    0x00000da8 sb zero, 0x177(sp)        |         *(var_177h) = 0;
    0x00000dac addiu v0, zero, 0x1084    |         v0 = 0x1084;
                                         | label_1:
    0x00000db0 sw v0, 0x178(sp)          |         *(var_178h) = v0;
    0x00000db4 addiu v0, zero, 0xa       |         v0 = 0xa;
    0x00000db8 sw v0, 0x17c(sp)          |         *(var_17ch) = v0;
    0x00000dbc jalr t9                   |         t9 ();
    0x00000dc0 move s3, v0               |         s3 = v0;
    0x00000dc4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00000dc8 bltz v0, 0x13c4           |             goto label_11;
                                         |         }
    0x00000dcc lw s1, 0x3c(sp)           |         s1 = *(var_3ch);
    0x00000dd0 addiu v0, zero, -1        |         v0 = -1;
    0x00000dd4 lw a0, 0x4c(sp)           |         a0 = *(var_4ch);
                                         |         if (s1 == v0) {
    0x00000dd8 beq s1, v0, 0x1098        |             goto label_12;
                                         |         }
    0x00000ddc lw v0, 0x40(sp)           |         v0 = *(var_40h);
                                         |         if (a0 != v0) {
    0x00000de0 bne a0, v0, 0x107c        |             goto label_13;
                                         |         }
    0x00000de4 lw v0, 0x50(sp)           |         v0 = *(var_50h);
                                         |         if (v0 != 0) {
    0x00000de8 bnez v0, 0x1104           |             goto label_14;
                                         |         }
    0x00000dec lw v0, 0x2f0(sp)          |         v0 = *(arg_2f0h);
                                         |         if (v0 != a0) {
    0x00000df0 bne v0, a0, 0x1210        |             goto label_15;
                                         |         }
    0x00000df4 slti v0, v0, 5            |         v0 = (v0 < 5) ? 1 : 0;
    0x00000df8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         |         if (v0 != 0) {
    0x00000dfc bnez v0, 0x1298           |             goto label_16;
                                         |         }
    0x00000e00 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x00000e04 lw t9, -0x7f94(gp)        |         t9 = sym.imp.strtoul;
    0x00000e08 move a2, zero             |         a2 = 0;
    0x00000e0c lw a0, 4(v0)              |         a0 = *((v0 + 1));
    0x00000e10 move a1, zero             |         a1 = 0;
    0x00000e14 jalr t9                   |         t9 ();
    0x00000e18 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000e1c lw v1, 0x2c(sp)           |         v1 = *(var_2ch);
    0x00000e20 move a2, zero             |         a2 = 0;
    0x00000e24 lw t9, -0x7f94(gp)        |         t9 = sym.imp.strtoul;
    0x00000e28 lw a0, 8(v1)              |         a0 = *((v1 + 2));
    0x00000e2c move a1, zero             |         a1 = 0;
    0x00000e30 move fp, v0               |         fp = v0;
    0x00000e34 jalr t9                   |         t9 ();
    0x00000e38 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000e3c lw v1, 0x2c(sp)           |         v1 = *(var_2ch);
    0x00000e40 move a2, zero             |         a2 = 0;
    0x00000e44 lw t9, -0x7f94(gp)        |         t9 = sym.imp.strtoul;
    0x00000e48 lw a0, 0xc(v1)            |         a0 = *((v1 + 3));
    0x00000e4c move a1, zero             |         a1 = 0;
    0x00000e50 sw v0, 0x24(sp)           |         *(var_24h) = v0;
    0x00000e54 jalr t9                   |         t9 ();
    0x00000e58 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000e5c lw v1, 0x2c(sp)           |         v1 = *(var_2ch);
    0x00000e60 move a2, zero             |         a2 = 0;
    0x00000e64 lw t9, -0x7f94(gp)        |         t9 = sym.imp.strtoul;
    0x00000e68 lw a0, 0x10(v1)           |         a0 = *((v1 + 4));
    0x00000e6c move a1, zero             |         a1 = 0;
    0x00000e70 move s6, v0               |         s6 = v0;
    0x00000e74 jalr t9                   |         t9 ();
    0x00000e78 lw s1, 0x3c(sp)           |         s1 = *(var_3ch);
    0x00000e7c sw v0, 0x28(sp)           |         *(var_28h) = v0;
    0x00000e80 sltiu v0, s1, 0x20        |         v0 = (s1 < 0x20) ? 1 : 0;
    0x00000e84 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 == 0) {
    0x00000e88 beqz v0, 0x122c           |             goto label_17;
                                         |         }
    0x00000e8c lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00000e90 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.memset;
    0x00000e94 addiu a0, v0, 0x2090      |         a0 = v0 + str.mask;
    0x00000e98 lw a3, 0x2090(v0)         |         a3 = *(v0);
    0x00000e9c lbu v0, 4(a0)             |         v0 = *((a0 + 4));
    0x00000ea0 sw a3, 0x68(sp)           |         *(var_68h) = a3;
    0x00000ea4 addiu a2, zero, 0xf       |         a2 = 0xf;
    0x00000ea8 move a1, zero             |         a1 = 0;
    0x00000eac addiu a0, sp, 0x6d        |         a0 = sp + 0x6d;
    0x00000eb0 sb v0, 0x6c(sp)           |         *(var_6ch) = v0;
    0x00000eb4 jalr t9                   |         t9 ();
    0x00000eb8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000ebc addiu t0, zero, 1         |         t0 = 1;
    0x00000ec0 sw t0, 0x7c(sp)           |         *(var_7ch) = t0;
    0x00000ec4 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.memset;
    0x00000ec8 sw t0, 0x80(sp)           |         *(var_80h) = t0;
    0x00000ecc addiu a2, zero, 0x140     |         a2 = aav.0x00000140;
    0x00000ed0 move a1, zero             |         a1 = 0;
    0x00000ed4 move a0, s5               |         a0 = s5;
    0x00000ed8 jalr t9                   |         t9 ();
    0x00000edc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000ee0 lui a1, 0x401c            |         a1 = 0x401c0000;
    0x00000ee4 addiu a2, sp, 0x68        |         a2 = sp + 0x68;
    0x00000ee8 lw t9, -0x7f88(gp)        |         t9 = sym.imp.ioctl;
    0x00000eec addiu a1, a1, 0x2b00      |         a1 += 0x2b00;
    0x00000ef0 move a0, s0               |         a0 = s0;
    0x00000ef4 jalr t9                   |         t9 ();
    0x00000ef8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00000efc addiu t0, zero, 1         |         t0 = 1;
                                         |         if (v0 < 0) {
    0x00000f00 bltz v0, 0x1370           |             goto label_18;
                                         |         }
    0x00000f04 lw t9, -0x7f88(gp)        |         t9 = sym.imp.ioctl;
    0x00000f08 addiu s7, sp, 0x54        |         s7 = sp + 0x54;
    0x00000f0c lui a1, 0x4014            |         a1 = 0x40140000;
    0x00000f10 sw zero, 0x60(sp)         |         *(var_60h) = 0;
    0x00000f14 sw zero, 0x64(sp)         |         *(var_64h) = 0;
    0x00000f18 move a2, s7               |         a2 = s7;
    0x00000f1c addiu a1, a1, 0x2b03      |         a1 += 0x2b03;
    0x00000f20 move a0, s0               |         a0 = s0;
    0x00000f24 sw v0, 0x54(sp)           |         *(var_54h) = v0;
    0x00000f28 sw t0, 0x58(sp)           |         *(var_58h) = t0;
    0x00000f2c sw s5, 0x5c(sp)           |         *(var_5ch) = s5;
    0x00000f30 jalr t9                   |         t9 ();
    0x00000f34 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 < 0) {
    0x00000f38 bltz v0, 0x13ac           |             goto label_19;
                                         |         }
                                         | label_5:
    0x00000f3c addiu v0, zero, 0xa       |         v0 = 0xa;
    0x00000f40 mul v1, s1, v0            |         __asm ("mul v1, s1, v0");
    0x00000f44 lw a0, 0x28(sp)           |         a0 = *(var_28h);
    0x00000f48 addu s6, fp, s6           |         s6 = fp + s6;
    0x00000f4c lw t9, -0x7f88(gp)        |         t9 = sym.imp.ioctl;
    0x00000f50 addu v0, v1, s5           |         v0 = v1 + s5;
    0x00000f54 lw v1, 0x24(sp)           |         v1 = *(var_24h);
    0x00000f58 sh fp, 2(v0)              |         *((v0 + 1)) = fp;
    0x00000f5c addu s1, v1, a0           |         s1 = v1 + a0;
    0x00000f60 sh v1, 6(v0)              |         *((v0 + 3)) = v1;
    0x00000f64 addiu v1, zero, 1         |         v1 = 1;
    0x00000f68 sh s6, 4(v0)              |         *((v0 + 2)) = s6;
    0x00000f6c sh s1, 8(v0)              |         *((v0 + 4)) = s1;
    0x00000f70 sb v1, (v0)               |         *(v0) = v1;
    0x00000f74 b 0x11dc                  |         goto label_20;
                                         |     }
    0x00000f78 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00000f7c addiu t9, t9, 0x1560      |     t9 += fcn.00001560;
    0x00000f80 move a0, s0               |     a0 = s0;
    0x00000f84 bal 0x1560                |     fcn_00001560 ();
    0x00000f88 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00000f8c move s1, zero             |     s1 = 0;
                                         | label_2:
    0x00000f90 lw v0, 0x34(sp)           |     v0 = *(var_34h);
    0x00000f94 lw t9, -0x7fa8(gp)        |     t9 = sym.imp.g_clear_error;
                                         |     if (v0 != 0) {
    0x00000f98 beqz v0, 0xfa8            |         
    0x00000f9c move a0, s4               |         a0 = s4;
    0x00000fa0 jalr t9                   |         t9 ();
    0x00000fa4 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |     }
    0x00000fa8 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.close;
    0x00000fac move a0, s0               |     a0 = s0;
    0x00000fb0 jalr t9                   |     t9 ();
    0x00000fb4 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     do {
                                         | label_0:
    0x00000fb8 lw a0, 0x2c4(sp)          |         a0 = *(var_2c4h);
    0x00000fbc lw v1, (s2)               |         v1 = *(s2);
    0x00000fc0 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x00000fc4 bne a0, v1, 0x13e0        |             goto label_21;
                                         |         }
    0x00000fc8 lw ra, 0x2ec(sp)          |         ra = *(var_2ech);
    0x00000fcc lw fp, 0x2e8(sp)          |         fp = *(var_2e8h);
    0x00000fd0 lw s7, 0x2e4(sp)          |         s7 = *(var_2e4h);
    0x00000fd4 lw s6, 0x2e0(sp)          |         s6 = *(var_2e0h);
    0x00000fd8 lw s5, 0x2dc(sp)          |         s5 = *(var_2dch);
    0x00000fdc lw s4, 0x2d8(sp)          |         s4 = *(var_2d8h);
    0x00000fe0 lw s3, 0x2d4(sp)          |         s3 = *(var_2d4h);
    0x00000fe4 lw s2, 0x2d0(sp)          |         s2 = *(var_2d0h);
    0x00000fe8 lw s1, 0x2cc(sp)          |         s1 = *(var_2cch);
    0x00000fec lw s0, 0x2c8(sp)          |         s0 = *(var_2c8h);
    0x00000ff0 addiu sp, sp, 0x2f0       |         
    0x00000ff4 jr ra                     |         return v0;
                                         | label_8:
    0x00000ff8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00000ffc lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x00001000 addiu a0, a0, 0x2430      |         a0 += str.Please_enter_channel_n;
    0x00001004 jalr t9                   |         t9 ();
    0x00001008 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x0000100c move s1, zero             |         s1 = 0;
                                         | label_3:
    0x00001010 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00001014 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.g_clear_error;
    0x00001018 beqz v0, 0xfb8            |         
                                         |     } while (v0 == 0);
    0x0000101c addiu a0, sp, 0x34        |     a0 = sp + 0x34;
    0x00001020 jalr t9                   |     t9 ();
    0x00001024 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001028 b 0xfb8                   |     goto label_0;
                                         | label_10:
    0x0000102c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001030 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.memset;
    0x00001034 addiu a0, v0, 0x2090      |     a0 = v0 + str.mask;
    0x00001038 lw v1, 0x2090(v0)         |     v1 = *(v0);
    0x0000103c lbu v0, 4(a0)             |     v0 = *((a0 + 4));
    0x00001040 addiu a2, zero, 0xf       |     a2 = 0xf;
    0x00001044 move a1, zero             |     a1 = 0;
    0x00001048 addiu a0, sp, 0x169       |     a0 = sp + 0x169;
    0x0000104c sw v1, 0x164(sp)          |     *(var_164h) = v1;
    0x00001050 sb v0, 0x168(sp)          |     *(var_168h) = v0;
    0x00001054 jalr t9                   |     t9 ();
    0x00001058 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000105c addiu s5, sp, 0x164       |     s5 = sp + 0x164;
    0x00001060 lui a1, 0x401c            |     a1 = 0x401c0000;
    0x00001064 move a2, s5               |     a2 = s5;
    0x00001068 lw t9, -0x7f88(gp)        |     t9 = sym.imp.ioctl;
    0x0000106c addiu a1, a1, 0x2b04      |     a1 += 0x2b04;
    0x00001070 move a0, s0               |     a0 = s0;
    0x00001074 addiu v0, zero, 0x140     |     v0 = aav.0x00000140;
    0x00001078 b 0xdb0                   |     goto label_1;
                                         | label_13:
    0x0000107c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001080 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x00001084 addiu a0, a0, 0x24b8      |     a0 += str.Error:_provided_both_square_and_polygon_area_index_n;
    0x00001088 jalr t9                   |     t9 ();
    0x0000108c move s1, zero             |     s1 = 0;
    0x00001090 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001094 b 0xf90                   |     goto label_2;
                                         | label_12:
    0x00001098 lw v0, 0x40(sp)           |     v0 = *(var_40h);
                                         |     if (a0 == s1) {
    0x0000109c beq a0, s1, 0x12b0        |         goto label_22;
                                         |     }
    0x000010a0 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x000010a4 beqz v0, 0x10c4           |         
    0x000010a8 move a2, s3               |         a2 = s3;
    0x000010ac addiu t9, t9, 0x176c      |         t9 += fcn.0000176c;
    0x000010b0 move a1, s0               |         a1 = s0;
    0x000010b4 bal 0x176c                |         fcn_0000176c ();
    0x000010b8 move s1, zero             |         s1 = 0;
    0x000010bc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000010c0 b 0xf90                   |         goto label_2;
                                         |     }
    0x000010c4 lw v0, 0x50(sp)           |     v0 = *(var_50h);
    0x000010c8 lw a2, 0x2f0(sp)          |     a2 = *(arg_2f0h);
                                         |     if (v0 == s1) {
    0x000010cc beq v0, s1, 0x12cc        |         goto label_23;
                                         |     }
    0x000010d0 slti v1, a2, 7            |     v1 = (a2 < 7) ? 1 : 0;
    0x000010d4 addiu a2, a2, -1          |     a2 += -1;
                                         |     if (v1 != 0) {
    0x000010d8 bnez v1, 0x1294           |         goto label_24;
                                         |     }
    0x000010dc sra a1, a2, 1             |     a1 = a2 >> 1;
    0x000010e0 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
                                         |     if (a1 == v0) {
    0x000010e4 beq a1, v0, 0x126c        |         goto label_25;
                                         |     }
    0x000010e8 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000010ec move a1, v0               |     a1 = v0;
    0x000010f0 addiu a0, a0, 0x2570      |     a0 += str.Error:_point_numbers_are_not_2x_arguments_number__point_number:__d_arguments_number:__d_n;
    0x000010f4 jalr t9                   |     t9 ();
    0x000010f8 move s1, zero             |     s1 = 0;
    0x000010fc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001100 b 0xf90                   |     goto label_2;
                                         | label_14:
    0x00001104 sltiu v0, s1, 0x20        |     v0 = (s1 < 0x20) ? 1 : 0;
    0x00001108 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x0000110c beqz v0, 0x122c           |         goto label_17;
                                         |     }
    0x00001110 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.memset;
    0x00001114 addiu a0, v0, 0x2090      |     a0 = v0 + str.mask;
    0x00001118 lw v1, 0x2090(v0)         |     v1 = *(v0);
    0x0000111c lbu v0, 4(a0)             |     v0 = *((a0 + 4));
    0x00001120 sw v1, 0x68(sp)           |     *(var_68h) = v1;
    0x00001124 addiu a2, zero, 0xf       |     a2 = 0xf;
    0x00001128 move a1, zero             |     a1 = 0;
    0x0000112c addiu a0, sp, 0x6d        |     a0 = sp + 0x6d;
    0x00001130 sb v0, 0x6c(sp)           |     *(var_6ch) = v0;
    0x00001134 jalr t9                   |     t9 ();
    0x00001138 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000113c addiu s6, zero, 1         |     s6 = 1;
    0x00001140 addiu a2, zero, 0x140     |     a2 = aav.0x00000140;
    0x00001144 lw t9, -0x7f9c(gp)        |     t9 = sym.imp.memset;
    0x00001148 move a1, zero             |     a1 = 0;
    0x0000114c move a0, s5               |     a0 = s5;
    0x00001150 sw s6, 0x7c(sp)           |     *(var_7ch) = s6;
    0x00001154 sw s6, 0x80(sp)           |     *(var_80h) = s6;
    0x00001158 jalr t9                   |     t9 ();
    0x0000115c lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001160 lui a1, 0x401c            |     a1 = 0x401c0000;
    0x00001164 addiu a2, sp, 0x68        |     a2 = sp + 0x68;
    0x00001168 lw t9, -0x7f88(gp)        |     t9 = sym.imp.ioctl;
    0x0000116c addiu a1, a1, 0x2b00      |     a1 += 0x2b00;
    0x00001170 move a0, s0               |     a0 = s0;
    0x00001174 jalr t9                   |     t9 ();
    0x00001178 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x0000117c bltz v0, 0x132c           |         goto label_26;
                                         |     }
    0x00001180 lw t9, -0x7f88(gp)        |     t9 = sym.imp.ioctl;
    0x00001184 addiu s7, sp, 0x54        |     s7 = sp + 0x54;
    0x00001188 lui a1, 0x4014            |     a1 = 0x40140000;
    0x0000118c sw zero, 0x60(sp)         |     *(var_60h) = 0;
    0x00001190 sw zero, 0x64(sp)         |     *(var_64h) = 0;
    0x00001194 move a2, s7               |     a2 = s7;
    0x00001198 addiu a1, a1, 0x2b03      |     a1 += 0x2b03;
    0x0000119c move a0, s0               |     a0 = s0;
    0x000011a0 sw v0, 0x54(sp)           |     *(var_54h) = v0;
    0x000011a4 sw s6, 0x58(sp)           |     *(var_58h) = s6;
    0x000011a8 sw s5, 0x5c(sp)           |     *(var_5ch) = s5;
    0x000011ac jalr t9                   |     t9 ();
    0x000011b0 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x000011b4 bltz v0, 0x1358           |         goto label_27;
                                         |     }
                                         |     do {
                                         | label_4:
    0x000011b8 addiu v0, zero, 0xa       |         v0 = 0xa;
    0x000011bc mul v1, s1, v0            |         __asm ("mul v1, s1, v0");
    0x000011c0 lw t9, -0x7f88(gp)        |         t9 = sym.imp.ioctl;
    0x000011c4 addu s1, v1, s5           |         s1 = v1 + s5;
    0x000011c8 sb zero, (s1)             |         *(s1) = 0;
    0x000011cc sh zero, 2(s1)            |         *((s1 + 1)) = 0;
    0x000011d0 sh zero, 4(s1)            |         *((s1 + 2)) = 0;
    0x000011d4 sh zero, 6(s1)            |         *((s1 + 3)) = 0;
    0x000011d8 sh zero, 8(s1)            |         *((s1 + 4)) = 0;
                                         | label_20:
    0x000011dc lui a1, 0x8010            |         a1 = 0x80100000;
    0x000011e0 sw zero, 0x5c(sp)         |         *(var_5ch) = 0;
    0x000011e4 sw zero, 0x60(sp)         |         *(var_60h) = 0;
    0x000011e8 move a2, s7               |         a2 = s7;
    0x000011ec addiu a1, a1, 0x2b02      |         a1 += 0x2b02;
    0x000011f0 move a0, s0               |         a0 = s0;
    0x000011f4 sw s3, 0x54(sp)           |         *(var_54h) = s3;
    0x000011f8 sw s5, 0x58(sp)           |         *(var_58h) = s5;
    0x000011fc jalr t9                   |         t9 ();
    0x00001200 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         |         if (v0 >= 0) {
    0x00001204 bltz v0, 0x1250           |             
    0x00001208 move s1, zero             |             s1 = 0;
    0x0000120c b 0xf90                   |             goto label_2;
                                         | label_15:
    0x00001210 lw a0, -0x7fdc(gp)        |             a0 = *((gp - 8183));
    0x00001214 lw t9, -0x7f78(gp)        |             t9 = sym.imp.g_print;
    0x00001218 addiu a0, a0, 0x2518      |             a0 += str.Error:_polygon_mask_area_not_provided_n;
    0x0000121c jalr t9                   |             t9 ();
    0x00001220 move s1, zero             |             s1 = 0;
    0x00001224 lw gp, 0x18(sp)           |             gp = *(var_18h);
    0x00001228 b 0xf90                   |             goto label_2;
                                         | label_17:
    0x0000122c lw a0, -0x7fdc(gp)        |             a0 = *((gp - 8183));
    0x00001230 lw t9, -0x7f78(gp)        |             t9 = sym.imp.g_print;
    0x00001234 move a1, s1               |             a1 = s1;
    0x00001238 addiu a2, zero, 0x20      |             a2 = 0x20;
    0x0000123c addiu a0, a0, 0x2128      |             a0 += str.index__d____d__n;
    0x00001240 jalr t9                   |             t9 ();
    0x00001244 move s1, zero             |             s1 = 0;
    0x00001248 lw gp, 0x18(sp)           |             gp = *(var_18h);
    0x0000124c b 0xf90                   |             goto label_2;
                                         |         }
    0x00001250 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001254 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x00001258 addiu a0, a0, 0x2074      |         a0 += str.datacache_write:__m_n;
    0x0000125c jalr t9                   |         t9 ();
    0x00001260 move s1, zero             |         s1 = 0;
    0x00001264 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001268 b 0xf90                   |         goto label_2;
                                         | label_25:
    0x0000126c lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00001270 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x00001274 move a3, s3               |         a3 = s3;
    0x00001278 sw v0, 0x10(sp)           |         *(var_10h_2) = v0;
    0x0000127c addiu t9, t9, 0x1a4c      |         t9 += fcn.00001a4c;
    0x00001280 move a2, s0               |         a2 = s0;
    0x00001284 bal 0x1a4c                |         fcn_00001a4c ();
    0x00001288 move s1, zero             |         s1 = 0;
    0x0000128c lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001290 b 0xf90                   |         goto label_2;
                                         | label_24:
    0x00001294 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         | label_16:
    0x00001298 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x0000129c addiu a0, a0, 0x2540      |         a0 += str.Error:_received_too_few_command_line_arguments_n;
    0x000012a0 jalr t9                   |         t9 ();
    0x000012a4 move s1, zero             |         s1 = 0;
    0x000012a8 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000012ac b 0xf90                   |         goto label_2;
                                         | label_22:
    0x000012b0 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000012b4 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x000012b8 addiu a0, a0, 0x2490      |         a0 += str.Error:_mask_area_index_not_provided_n;
    0x000012bc jalr t9                   |         t9 ();
    0x000012c0 move s1, zero             |         s1 = 0;
    0x000012c4 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000012c8 b 0xf90                   |         goto label_2;
                                         | label_23:
    0x000012cc lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x000012d0 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x000012d4 addiu a0, a0, 0x24ec      |         a0 += str.Error:_polygon_points_number_not_provided_n;
    0x000012d8 jalr t9                   |         t9 ();
    0x000012dc move s1, zero             |         s1 = 0;
    0x000012e0 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x000012e4 b 0xf90                   |         goto label_2;
                                         | label_7:
    0x000012e8 lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x000012ec lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         |         if (v0 == 0) {
    0x000012f0 beqz v0, 0x1348           |             goto label_28;
                                         |         }
    0x000012f4 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x000012f8 lw a1, 8(v0)              |         a1 = *((v0 + 2));
    0x000012fc addiu a0, a0, 0x242c      |         a0 += 0x242c;
    0x00001300 jalr t9                   |         t9 ();
    0x00001304 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001308 lw t9, -0x7f70(gp)        |         t9 = sym.imp.g_option_context_free;
    0x0000130c move a0, s0               |         a0 = s0;
    0x00001310 jalr t9                   |         t9 ();
    0x00001314 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001318 lw t9, -0x7fa8(gp)        |         t9 = sym.imp.g_clear_error;
    0x0000131c move a0, s4               |         a0 = s4;
    0x00001320 jalr t9                   |         t9 ();
    0x00001324 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001328 b 0x1010                  |         goto label_3;
                                         | label_26:
    0x0000132c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001330 lw t9, -0x7f78(gp)        |         t9 = sym.imp.g_print;
    0x00001334 addiu a0, a0, 0x20c0      |         a0 += str.failed_to_register_datacache:__m;
    0x00001338 jalr t9                   |         t9 ();
    0x0000133c addiu s7, sp, 0x54        |         s7 = sp + 0x54;
    0x00001340 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00001344 b 0x11b8                  |         
                                         |     } while (1);
                                         | label_28:
    0x00001348 addiu s1, zero, -1        |     s1 = -1;
    0x0000134c b 0xfb8                   |     goto label_0;
                                         | label_6:
    0x00001350 addiu s1, zero, -1        |     s1 = -1;
    0x00001354 b 0x1010                  |     goto label_3;
                                         | label_27:
    0x00001358 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000135c lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x00001360 addiu a0, a0, 0x20e4      |     a0 += str.failed_to_read_from_datacache:__m;
    0x00001364 jalr t9                   |     t9 ();
    0x00001368 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x0000136c b 0x11b8                  |     goto label_4;
                                         | label_18:
    0x00001370 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001374 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x00001378 addiu a0, a0, 0x20c0      |     a0 += str.failed_to_register_datacache:__m;
    0x0000137c jalr t9                   |     t9 ();
    0x00001380 addiu s7, sp, 0x54        |     s7 = sp + 0x54;
    0x00001384 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00001388 b 0xf3c                   |     goto label_5;
                                         | label_9:
    0x0000138c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001390 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x00001394 move a1, s3               |     a1 = s3;
    0x00001398 addiu a0, a0, 0x245c      |     a0 += str._s_open_failed:__m_n;
    0x0000139c jalr t9                   |     t9 ();
    0x000013a0 addiu s1, zero, -1        |     s1 = -1;
    0x000013a4 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000013a8 b 0x1010                  |     goto label_3;
                                         | label_19:
    0x000013ac lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000013b0 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x000013b4 addiu a0, a0, 0x20e4      |     a0 += str.failed_to_read_from_datacache:__m;
    0x000013b8 jalr t9                   |     t9 ();
    0x000013bc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000013c0 b 0xf3c                   |     goto label_5;
                                         | label_11:
    0x000013c4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000013c8 lw t9, -0x7f78(gp)        |     t9 = sym.imp.g_print;
    0x000013cc addiu a0, a0, 0x2470      |     a0 += str.datacache_create_failed:__m_n;
    0x000013d0 jalr t9                   |     t9 ();
    0x000013d4 addiu s1, zero, -1        |     s1 = -1;
    0x000013d8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x000013dc b 0xf90                   |     goto label_2;
                                         | label_21:
    0x000013e0 lw t9, -0x7f84(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x000013e4 jalr t9                   |     t9 ();
    0x000013e8 nop                       |     
    0x000013ec nop                       |     
                                         | }

[*] Function printf used 2 times vdo-mask-client