[*] Binary protection state of dbox

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


[*] Function printf tear down of dbox

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/dbox @ 0xee1c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0000ee1c ()                  | void fcn_0000ee1c () {
    0x0000ee1c lui gp, 2                     |     
    0x0000ee20 addiu gp, gp, 0x2254          |     
    0x0000ee24 addu gp, gp, t9               |     gp += t9;
    0x0000ee28 lw v0, -0x7d68(gp)            |     v0 = *((gp - 8026));
    0x0000ee2c addiu sp, sp, -0x1058         |     
    0x0000ee30 lw a3, 0xc(a0)                |     a3 = *((a0 + 3));
    0x0000ee34 lw v1, (v0)                   |     v1 = *(v0);
    0x0000ee38 sw s5, 0x1044(sp)             |     *(var_1044h) = s5;
    0x0000ee3c sw gp, 0x18(sp)               |     *(var_18h_2) = gp;
    0x0000ee40 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
    0x0000ee44 move s5, a1                   |     s5 = a1;
    0x0000ee48 addiu v0, zero, -1            |     v0 = -1;
    0x0000ee4c sw s0, 0x1030(sp)             |     *(var_1030h) = s0;
    0x0000ee50 sw ra, 0x1054(sp)             |     *(var_1054h) = ra;
    0x0000ee54 sw fp, 0x1050(sp)             |     *(var_1050h) = fp;
    0x0000ee58 sw s7, 0x104c(sp)             |     *(var_104ch) = s7;
    0x0000ee5c sw s6, 0x1048(sp)             |     *(var_1048h) = s6;
    0x0000ee60 sw s4, 0x1040(sp)             |     *(var_1040h) = s4;
    0x0000ee64 sw s3, 0x103c(sp)             |     *(var_103ch) = s3;
    0x0000ee68 sw s2, 0x1038(sp)             |     *(var_1038h) = s2;
    0x0000ee6c sw s1, 0x1034(sp)             |     *(var_1034h) = s1;
    0x0000ee70 move s0, a0                   |     s0 = a0;
    0x0000ee74 sw v1, 0x102c(sp)             |     *(var_102ch) = v1;
    0x0000ee78 lw a1, 0x18(a0)               |     a1 = *((a0 + 6));
    0x0000ee7c lw a2, 0x1c(a0)               |     a2 = *((a0 + 7));
                                             |     if (s5 == v0) {
    0x0000ee80 beq s5, v0, 0xefc8            |         goto label_1;
                                             |     }
    0x0000ee84 lw t9, -0x7fdc(gp)            |     t9 = *(gp);
    0x0000ee88 addiu t9, t9, -0x1330         |     t9 += -0x1330;
    0x0000ee8c move a0, s5                   |     a0 = s5;
    0x0000ee90 bal 0xecd0                    |     fcn_0000ecd0 ();
    0x0000ee94 addiu s1, zero, 0x288         |     s1 = 0x288;
    0x0000ee98 mul v0, v0, s1                |     __asm ("mul v0, v0, s1");
    0x0000ee9c lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             | label_0:
    0x0000eea0 lw t9, -0x7ed8(gp)            |     t9 = sym.proc_fdlist;
    0x0000eea4 lw s1, (a3)                   |     s1 = *(a3);
    0x0000eea8 addiu s2, sp, 0x2c            |     s2 = sp + 0x2c;
    0x0000eeac addiu a2, zero, 0x400         |     a2 = 0x400;
    0x0000eeb0 move a1, s2                   |     a1 = s2;
    0x0000eeb4 move a0, s5                   |     a0 = s5;
    0x0000eeb8 addu s1, s1, v0               |     s1 += v0;
    0x0000eebc bal 0xa078                    |     sym_proc_fdlist ();
    0x0000eec0 lw gp, 0x18(sp)               |     gp = *(var_18h_2);
    0x0000eec4 move s3, v0                   |     s3 = v0;
    0x0000eec8 sw v0, 0x10(sp)               |     *(var_10h_2) = v0;
    0x0000eecc lw s4, -0x7ed4(gp)            |     s4 = sym.strace_printf
    0x0000eed0 lw a1, -0x7fdc(gp)            |     a1 = *(gp);
    0x0000eed4 move a3, s1                   |     a3 = s1;
    0x0000eed8 move a2, s5                   |     a2 = s5;
                                             |     /* str._n__d__s___d_open_fds:_n */
    0x0000eedc addiu a1, a1, 0x5dd4          |     a1 += 0x5dd4;
    0x0000eee0 move t9, s4                   |     t9 = s4;
    0x0000eee4 move a0, s0                   |     a0 = s0;
    0x0000eee8 bal 0xedac                    |     sym_strace_printf ()
    0x0000eeec lw gp, 0x18(sp)               |     gp = *(var_18h_2);
                                             |     if (s3 == 0) {
    0x0000eef0 beqz s3, 0xef84               |         goto label_2;
                                             |     }
    0x0000eef4 lw s7, -0x7fdc(gp)            |     s7 = *(gp);
    0x0000eef8 lw s6, -0x7fdc(gp)            |     s6 = *(gp);
    0x0000eefc sll s3, s3, 2                 |     s3 <<= 2;
    0x0000ef00 addu fp, s2, s3               |     fp = s2 + s3;
                                             |     /* esilref: '&d	' */
    0x0000ef04 addiu s7, s7, 0x5dec          |     s7 += 0x5dec;
    0x0000ef08 move s3, zero                 |     s3 = 0;
    0x0000ef0c addiu s6, s6, 0x55e4          |     s6 += 0x55e4;
                                             |     do {
    0x0000ef10 lw a2, (s2)                   |         a2 = *(s2);
    0x0000ef14 move a1, s7                   |         a1 = s7;
    0x0000ef18 move t9, s4                   |         t9 = s4;
    0x0000ef1c move a0, s0                   |         a0 = s0;
    0x0000ef20 bal 0xedac                    |         sym_strace_printf ()
    0x0000ef24 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000ef28 lw a3, 0x2c(s0)               |         a3 = *((s0 + 11));
    0x0000ef2c lw a2, 0x28(s0)               |         a2 = *((s0 + 10));
    0x0000ef30 lw t9, -0x7ed0(gp)            |         t9 = sym.proc_fdinfo_lookup;
    0x0000ef34 lw a1, (s2)                   |         a1 = *(s2);
    0x0000ef38 move a0, s5                   |         a0 = s5;
    0x0000ef3c move s1, v0                   |         s1 = v0;
    0x0000ef40 bal 0x98fc                    |         sym_proc_fdinfo_lookup ();
    0x0000ef44 lw t9, (s0)                   |         t9 = *(s0);
    0x0000ef48 addu s1, s1, v0               |         s1 += v0;
                                             |         if (t9 != 0) {
    0x0000ef4c beqz t9, 0xef60               |             
    0x0000ef50 lw a1, 0x28(s0)               |             a1 = *((s0 + 10));
    0x0000ef54 lw a0, 8(s0)                  |             a0 = *((s0 + 2));
    0x0000ef58 move a2, v0                   |             a2 = v0;
    0x0000ef5c jalr t9                       |             t9 ();
                                             |         }
    0x0000ef60 move a1, s6                   |         a1 = s6;
    0x0000ef64 move t9, s4                   |         t9 = s4;
    0x0000ef68 move a0, s0                   |         a0 = s0;
    0x0000ef6c bal 0xedac                    |         sym_strace_printf ()
    0x0000ef70 addu v0, v0, s1               |         v0 += s1;
    0x0000ef74 addiu s2, s2, 4               |         s2 += 4;
    0x0000ef78 lw gp, 0x18(sp)               |         gp = *(var_18h_2);
    0x0000ef7c addu s3, s3, v0               |         s3 += v0;
    0x0000ef80 bne fp, s2, 0xef10            |         
                                             |     } while (fp != s2);
                                             | label_2:
    0x0000ef84 lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x0000ef88 lw a0, 0x102c(sp)             |     a0 = *(var_102ch);
    0x0000ef8c lw v1, (v0)                   |     v1 = *(v0);
    0x0000ef90 move v0, s3                   |     v0 = s3;
                                             |     if (a0 == v1) {
    0x0000ef94 bne a0, v1, 0xefd0            |         
    0x0000ef98 lw ra, 0x1054(sp)             |         ra = *(var_1054h);
    0x0000ef9c lw fp, 0x1050(sp)             |         fp = *(var_1050h);
    0x0000efa0 lw s7, 0x104c(sp)             |         s7 = *(var_104ch);
    0x0000efa4 lw s6, 0x1048(sp)             |         s6 = *(var_1048h);
    0x0000efa8 lw s5, 0x1044(sp)             |         s5 = *(var_1044h);
    0x0000efac lw s4, 0x1040(sp)             |         s4 = *(var_1040h);
    0x0000efb0 lw s3, 0x103c(sp)             |         s3 = *(var_103ch);
    0x0000efb4 lw s2, 0x1038(sp)             |         s2 = *(var_1038h);
    0x0000efb8 lw s1, 0x1034(sp)             |         s1 = *(var_1034h);
    0x0000efbc lw s0, 0x1030(sp)             |         s0 = *(var_1030h);
    0x0000efc0 addiu sp, sp, 0x1058          |         
    0x0000efc4 jr ra                         |         return v0;
                                             | label_1:
    0x0000efc8 addiu v0, zero, -0x288        |         v0 = -0x288;
    0x0000efcc b 0xeea0                      |         goto label_0;
                                             |     }
    0x0000efd0 lw t9, -0x7db0(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000efd4 jalr t9                       |     t9 ();
    0x0000efd8 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/dbox @ 0xf0d8 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.do_strace ()                 | void do_strace () {
    0x0000f0d8 lui gp, 2                     |     
    0x0000f0dc addiu gp, gp, 0x1f98          |     
    0x0000f0e0 addu gp, gp, t9               |     gp += t9;
    0x0000f0e4 lw v0, -0x7d68(gp)            |     v0 = *((gp - 8026));
    0x0000f0e8 addiu sp, sp, -0xb0           |     
    0x0000f0ec lw t9, -0x7c60(gp)            |     t9 = sym.imp.calloc;
    0x0000f0f0 sw v0, 0x2c(sp)               |     *(var_2ch_3) = v0;
    0x0000f0f4 lw v0, (v0)                   |     v0 = *(v0);
    0x0000f0f8 sw s5, 0x9c(sp)               |     *(var_9ch) = s5;
    0x0000f0fc sw v0, 0x84(sp)               |     *(var_84h) = v0;
    0x0000f100 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f104 move s5, a0                   |     s5 = a0;
                                             |     /* str._bin_sleep */
    0x0000f108 addiu v0, v0, 0x5df0          |     v0 += 0x5df0;
    0x0000f10c lw a0, 0x1c(a0)               |     a0 = *((a0 + 7));
    0x0000f110 sw gp, 0x20(sp)               |     *(var_20h_3) = gp;
    0x0000f114 addiu a1, sp, 0x50            |     a1 = sp + 0x50;
    0x0000f118 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x0000f11c addiu v0, zero, 1             |     v0 = 1;
    0x0000f120 sw ra, 0xac(sp)               |     *(var_ach) = ra;
    0x0000f124 sw fp, 0xa8(sp)               |     *(var_a8h) = fp;
    0x0000f128 sw s7, 0xa4(sp)               |     *(var_a4h) = s7;
    0x0000f12c sw s6, 0xa0(sp)               |     *(var_a0h) = s6;
    0x0000f130 sw s4, 0x98(sp)               |     *(var_98h) = s4;
    0x0000f134 sw s3, 0x94(sp)               |     *(var_94h) = s3;
    0x0000f138 sw s2, 0x90(sp)               |     *(var_90h) = s2;
    0x0000f13c sw s1, 0x8c(sp)               |     *(var_8ch) = s1;
    0x0000f140 sw s0, 0x88(sp)               |     *(var_88h) = s0;
    0x0000f144 addiu a0, a0, 1               |     a0++;
    0x0000f148 sw a1, 0xc(s5)                |     *((s5 + 3)) = a1;
    0x0000f14c sw zero, 0x5c(sp)             |     *(var_5ch) = 0;
    0x0000f150 addiu a1, zero, 0x288         |     a1 = 0x288;
    0x0000f154 sw zero, 0x60(sp)             |     *(var_60h) = 0;
    0x0000f158 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0000f15c jalr t9                       |     t9 ();
    0x0000f160 sw v0, 0x50(sp)               |     *(var_50h) = v0;
    0x0000f164 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == 0) {
    0x0000f168 beqz v0, 0xf4f8               |         goto label_23;
                                             |     }
    0x0000f16c lw v0, -0x7fb8(gp)            |     v0 = *((gp - 8174));
    0x0000f170 lw t9, -0x7da8(gp)            |     t9 = sym.imp.pthread_mutex_lock;
    0x0000f174 sw v0, 0x34(sp)               |     *(var_34h_3) = v0;
    0x0000f178 addiu a0, v0, -0x5730         |     a0 = v0 + -sym.cored_mgm_close;
    0x0000f17c jalr t9                       |     t9 ();
    0x0000f180 lw v0, 0x28(s5)               |     v0 = *((s5 + 10));
    0x0000f184 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == 0) {
    0x0000f188 beqz v0, 0xf4a4               |         goto label_24;
                                             |     }
    0x0000f18c lw v0, 0x2c(s5)               |     v0 = *((s5 + 11));
    0x0000f190 lw t9, -0x7da0(gp)            |     t9 = sym.imp.malloc;
                                             |     if (v0 == 0) {
    0x0000f194 beqz v0, 0xf4a8               |         goto label_25;
                                             |     }
                                             | label_2:
    0x0000f198 lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
    0x0000f19c lw s7, -0x7fdc(gp)            |     s7 = *(gp);
                                             |     if (v0 <= 0) {
    0x0000f1a0 blez v0, 0xf4c4               |         goto label_8;
                                             |     }
    0x0000f1a4 move s4, zero                 |     s4 = 0;
                                             |     /* str._proc__d_cmdline */
    0x0000f1a8 addiu v1, s7, 0x55a4          |     v1 = s7 + 0x55a4;
    0x0000f1ac sw v1, 0x28(sp)               |     *(var_28h_3) = v1;
    0x0000f1b0 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0000f1b4 move s0, zero                 |     s0 = 0;
                                             |     /* str.WARNING:_ptrace_SYSCALL_failed___d_n */
    0x0000f1b8 addiu v1, v1, 0x5dfc          |     v1 += 0x5dfc;
    0x0000f1bc move s3, zero                 |     s3 = 0;
    0x0000f1c0 addiu fp, sp, 0x64            |     fp = sp + 0x64;
    0x0000f1c4 sw v1, 0x30(sp)               |     *(var_30h_3) = v1;
                                             | label_0:
    0x0000f1c8 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f1cc sll s1, s3, 2                 |     s1 = s3 << 2;
    0x0000f1d0 addiu s6, zero, -1            |     s6 = -1;
    0x0000f1d4 lwx a0, s1(a0)                |     __asm ("lwx a0, s1(a0)");
                                             |     if (a0 == s6) {
    0x0000f1d8 beql a0, s6, 0xf324           |         goto label_26;
                                             |     }
    0x0000f1dc addiu s3, s3, 1               |     s3++;
    0x0000f1e0 lw v0, 0x24(s5)               |     v0 = *((s5 + 9));
    0x0000f1e4 lw t9, -0x7ecc(gp)            |     t9 = sym.trace_attach;
                                             |     if (v0 == 0) {
    0x0000f1e8 beqz v0, 0xf538               |         goto label_27;
                                             |     }
                                             | label_3:
    0x0000f1ec lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
    0x0000f1f0 lw t9, -0x7ec8(gp)            |     t9 = sym.trace_setoptions;
    0x0000f1f4 addiu a2, zero, 1             |     a2 = 1;
    0x0000f1f8 andi v0, v0, 4                |     v0 &= 4;
    0x0000f1fc addiu a1, zero, 0x41          |     a1 = 0x41;
                                             |     if (v0 != 0) {
    0x0000f200 movz a1, a2, v0               |         a1 = a2;
                                             |     }
    0x0000f204 bal 0x8988                    |     sym_trace_setoptions ();
    0x0000f208 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f20c lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f210 move a1, zero                 |     a1 = 0;
    0x0000f214 lw t9, -0x7ec4(gp)            |     t9 = sym.trace_syscall;
    0x0000f218 lwx a0, s1(a0)                |     __asm ("lwx a0, s1(a0)");
    0x0000f21c addiu s6, zero, -1            |     s6 = -1;
    0x0000f220 bal 0x8b24                    |     sym_trace_syscall ();
    0x0000f224 move s2, v0                   |     s2 = v0;
    0x0000f228 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == s6) {
    0x0000f22c beq v0, s6, 0xf554            |         goto label_28;
                                             |     }
    0x0000f230 lw v0, 0x18(s5)               |     v0 = *((s5 + 6));
    0x0000f234 lw t9, -0x7e08(gp)            |     t9 = sym.imp.__snprintf_chk
    0x0000f238 addiu a3, zero, 0x1e          |     a3 = 0x1e;
    0x0000f23c lwx s1, s1(v0)                |     __asm ("lwx s1, s1(v0)");
    0x0000f240 lw v0, 0x28(sp)               |     v0 = *(var_28h_3);
    0x0000f244 addiu a2, zero, 1             |     a2 = 1;
    0x0000f248 addiu a1, zero, 0x1e          |     a1 = 0x1e;
    0x0000f24c move a0, fp                   |     a0 = fp;
    0x0000f250 sw s1, 0x14(sp)               |     *(var_14h_2) = s1;
    0x0000f254 sw v0, 0x10(sp)               |     *(var_50h_2) = v0;
    0x0000f258 lw s1, 0x50(sp)               |     s1 = *(var_50h);
    0x0000f25c jalr t9                       |     t9 ();
    0x0000f260 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f264 move a1, zero                 |     a1 = 0;
    0x0000f268 move a0, fp                   |     a0 = fp;
    0x0000f26c lw t9, -0x7bf4(gp)            |     t9 = sym.imp.open;
    0x0000f270 addu s1, s1, s4               |     s1 += s4;
    0x0000f274 jalr t9                       |     t9 ();
    0x0000f278 move s7, v0                   |     s7 = v0;
    0x0000f27c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f280 addiu s0, s0, 1               |     s0++;
                                             |     if (v0 == s6) {
    0x0000f284 beq v0, s6, 0xf5a0            |         goto label_29;
                                             |     }
    0x0000f288 lw t9, -0x7cac(gp)            |     t9 = sym.imp.read;
    0x0000f28c addiu a2, zero, 0x1f          |     a2 = 0x1f;
    0x0000f290 move a1, s1                   |     a1 = s1;
    0x0000f294 move a0, v0                   |     a0 = v0;
    0x0000f298 jalr t9                       |     t9 ();
    0x0000f29c move s2, v0                   |     s2 = v0;
    0x0000f2a0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == s6) {
    0x0000f2a4 beq v0, s6, 0xf30c            |         goto label_30;
                                             |     }
    0x0000f2a8 lw t9, -0x7d90(gp)            |     t9 = sym.imp.close;
    0x0000f2ac move a0, s7                   |     a0 = s7;
    0x0000f2b0 jalr t9                       |     t9 ();
    0x0000f2b4 addu a1, s1, s2               |     a1 = s1 + s2;
    0x0000f2b8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f2bc sb zero, (a1)                 |     *(a1) = 0;
    0x0000f2c0 lb v0, (s1)                   |     v0 = *(s1);
    0x0000f2c4 move a1, zero                 |     a1 = 0;
                                             |     if (v0 == 0) {
    0x0000f2c8 beqz v0, 0xf30c               |         goto label_30;
                                             |     }
    0x0000f2cc move a2, zero                 |     a2 = 0;
                                             |     do {
    0x0000f2d0 addiu a2, a2, 1               |         a2++;
    0x0000f2d4 addu a3, s1, a2               |         a3 = s1 + a2;
    0x0000f2d8 xori a0, v0, 0x2f             |         a0 = v0 ^ 0x2f;
    0x0000f2dc lb v0, (a3)                   |         v0 = *(a3);
                                             |         if (a0 != 0) {
    0x0000f2e0 movz a1, a2, a0               |             a1 = a2;
                                             |         }
    0x0000f2e4 bnez v0, 0xf2d0               |         
                                             |     } while (v0 != 0);
    0x0000f2e8 lw t9, -0x7d90(gp)            |     t9 = sym.imp.close;
                                             |     if (a1 != 0) {
    0x0000f2ec beqz a1, 0xf310               |         
    0x0000f2f0 lw t9, -0x7dd0(gp)            |         t9 = sym.imp.memmove;
    0x0000f2f4 subu a2, a2, a1               |         __asm ("subu a2, a2, a1");
    0x0000f2f8 addiu a2, a2, 1               |         a2++;
    0x0000f2fc addu a1, s1, a1               |         a1 = s1 + a1;
    0x0000f300 move a0, s1                   |         a0 = s1;
    0x0000f304 jalr t9                       |         t9 ();
    0x0000f308 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
                                             | label_30:
    0x0000f30c lw t9, -0x7d90(gp)            |         t9 = sym.imp.close;
                                             |     }
    0x0000f310 move a0, s7                   |     a0 = s7;
    0x0000f314 jalr t9                       |     t9 ();
    0x0000f318 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f31c lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
                                             | label_4:
    0x0000f320 addiu s3, s3, 1               |     s3++;
                                             | label_26:
    0x0000f324 slt a0, s3, v0                |     a0 = (s3 < v0) ? 1 : 0;
    0x0000f328 addiu s4, s4, 0x288           |     s4 += 0x288;
                                             |     if (a0 != 0) {
    0x0000f32c bnez a0, 0xf1c8               |         goto label_0;
                                             |     }
    0x0000f330 lw v0, 0x34(sp)               |     v0 = *(var_34h_3);
                                             |     if (s0 == 0) {
    0x0000f334 beqz s0, 0xf4c8               |         goto label_9;
                                             |     }
    0x0000f338 lw v0, 0x20(s5)               |     v0 = *((s5 + 8));
                                             |     if (v0 > 0) {
    0x0000f33c bgtzl v0, 0xf798              |         goto label_31;
                                             |     }
    0x0000f340 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x0000f344 addiu s2, zero, -1            |     s2 = -1;
                                             | label_17:
    0x0000f348 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0000f34c lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0000f350 addiu v1, a0, -0x1330         |     v1 = a0 + -0x1330;
    0x0000f354 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0000f358 sw v1, 0x28(sp)               |     *(var_28h_3) = v1;
                                             |     /* str.WARNING:_ptrace_SYSCALL_failed___d_n */
    0x0000f35c addiu v1, a0, 0x5dfc          |     v1 = a0 + 0x5dfc;
    0x0000f360 sw v1, 0x38(sp)               |     *(var_38h_3) = v1;
    0x0000f364 lw a0, -0x7fdc(gp)            |     a0 = *(gp);
    0x0000f368 lw v1, -0x7fdc(gp)            |     v1 = *(gp);
    0x0000f36c addiu s1, zero, -1            |     s1 = -1;
    0x0000f370 sw v1, 0x3c(sp)               |     *(var_3ch_3) = v1;
                                             |     /* str.pid_d_i_d__nr_pids_d_n */
    0x0000f374 addiu v1, a0, 0x5e20          |     v1 = a0 + 0x5e20;
    0x0000f378 addiu fp, sp, 0x4c            |     fp = sp + 0x4c;
    0x0000f37c sw v1, 0x30(sp)               |     *(var_30h_3) = v1;
                                             |     do {
                                             | label_1:
    0x0000f380 move s7, fp                   |         s7 = fp;
                                             |         if (v0 == 0) {
    0x0000f384 beqz v0, 0xf684               |             goto label_32;
                                             |         }
    0x0000f388 addiu s4, zero, 1             |         s4 = 1;
    0x0000f38c addiu s3, zero, 0xa           |         s3 = 0xa;
    0x0000f390 addiu s6, zero, 4             |         s6 = 4;
                                             | label_6:
    0x0000f394 lw t9, -0x7d60(gp)            |         t9 = sym.imp.waitpid;
    0x0000f398 move a2, zero                 |         a2 = 0;
    0x0000f39c move a1, fp                   |         a1 = fp;
    0x0000f3a0 addiu a0, zero, -1            |         a0 = -1;
    0x0000f3a4 jalr t9                       |         t9 ();
    0x0000f3a8 lw t9, (s5)                   |         t9 = *(s5);
    0x0000f3ac lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x0000f3b0 move s1, v0                   |         s1 = v0;
                                             |         if (t9 == 0) {
    0x0000f3b4 beqz t9, 0xf67c               |             goto label_33;
                                             |         }
    0x0000f3b8 lw a1, 0x28(s5)               |         a1 = *((s5 + 10));
    0x0000f3bc lw a0, 8(s5)                  |         a0 = *((s5 + 2));
    0x0000f3c0 move a2, zero                 |         a2 = 0;
    0x0000f3c4 jalr t9                       |         t9 ();
    0x0000f3c8 sw v0, 0x54(sp)               |         *(var_54h) = v0;
    0x0000f3cc lw gp, 0x20(sp)               |         gp = *(var_20h_3);
                                             |         if (v0 == 0) {
    0x0000f3d0 beqz v0, 0xf684               |             goto label_32;
                                             |         }
                                             | label_7:
    0x0000f3d4 addiu v0, zero, -1            |         v0 = -1;
    0x0000f3d8 lw t9, -0x7be4(gp)            |         t9 = sym.imp.__errno_location;
                                             |         if (s1 == v0) {
    0x0000f3dc beq s1, v0, 0xf638            |             goto label_34;
                                             |         }
    0x0000f3e0 lw v0, 0x20(s5)               |         v0 = *((s5 + 8));
                                             |         if (v0 > 0) {
    0x0000f3e4 blezl v0, 0xf3f8              |             
    0x0000f3e8 lw a3, 0x1c(s5)               |             a3 = *((s5 + 7));
                                             |             if (s1 == s2) {
    0x0000f3ec beql s1, s2, 0xf69c           |                 goto label_14;
                                             |             }
    0x0000f3f0 lw v0, 0x1c(s5)               |             v0 = *((s5 + 7));
    0x0000f3f4 lw a3, 0x1c(s5)               |             a3 = *((s5 + 7));
                                             |         }
    0x0000f3f8 lw a1, 0x18(s5)               |         a1 = *((s5 + 6));
    0x0000f3fc lw t9, 0x28(sp)               |         t9 = *(var_28h_3);
    0x0000f400 move a2, a3                   |         a2 = a3;
    0x0000f404 move a0, s1                   |         a0 = s1;
    0x0000f408 jalr t9                       |         t9 ();
    0x0000f40c move s3, v0                   |         s3 = v0;
    0x0000f410 slt v0, v0, a3                |         v0 = (v0 < a3) ? 1 : 0;
    0x0000f414 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
                                             |         if (v0 == 0) {
    0x0000f418 beqz v0, 0xf718               |             goto label_35;
                                             |         }
                                             | label_13:
    0x0000f41c lw v0, 0x54(sp)               |         v0 = *(var_54h);
    0x0000f420 bltz s3, 0xf380               |         
                                             |     } while (s3 < 0);
    0x0000f424 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x0000f428 andi v0, a0, 0x7f             |     v0 = a0 & 0x7f;
    0x0000f42c addiu v0, v0, 1               |     v0++;
                                             |     if (v0 == 0) {
    0x0000f430 bnez v0, 0xf460               |         
    0x0000f434 lw v0, 0x18(s5)               |         v0 = *((s5 + 6));
    0x0000f438 sll s3, s3, 2                 |         s3 <<= 2;
    0x0000f43c addu s3, v0, s3               |         s3 = v0 + s3;
    0x0000f440 addiu s0, s0, -1              |         s0 += -1;
    0x0000f444 addiu v0, zero, -1            |         v0 = -1;
    0x0000f448 sw v0, (s3)                   |         *(s3) = v0;
                                             |         if (s0 == 0) {
    0x0000f44c beqz s0, 0xf688               |             goto label_36;
                                             |         }
    0x0000f450 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x0000f454 addiu s3, zero, -1            |         s3 = -1;
    0x0000f458 andi v0, a0, 0x7f             |         v0 = a0 & 0x7f;
    0x0000f45c addiu v0, v0, 1               |         v0++;
                                             |     }
    0x0000f460 seb v0, v0                    |     __asm ("seb v0, v0");
    0x0000f464 sra v0, v0, 1                 |     v0 >>= 1;
    0x0000f468 andi v0, a0, 0xff             |     v0 = a0 & 0xff;
                                             |     if (v0 > 0) {
    0x0000f46c blez v0, 0xf490               |         
    0x0000f470 lw v0, 0x18(s5)               |         v0 = *((s5 + 6));
    0x0000f474 sll a0, s3, 2                 |         a0 = s3 << 2;
    0x0000f478 addu v0, v0, a0               |         v0 += a0;
    0x0000f47c addiu a0, zero, -1            |         a0 = -1;
    0x0000f480 sw a0, (v0)                   |         *(v0) = a0;
    0x0000f484 lw a0, 0x4c(sp)               |         a0 = *(var_4ch);
    0x0000f488 addiu s0, s0, -1              |         s0 += -1;
    0x0000f48c andi v0, a0, 0xff             |         v0 = a0 & 0xff;
                                             |     }
    0x0000f490 addiu a1, zero, 0x7f          |     a1 = 0x7f;
                                             |     if (v0 == a1) {
    0x0000f494 beql v0, a1, 0xf5a8           |         goto label_37;
                                             |     }
    0x0000f498 ext s4, a0, 8, 8              |     __asm ("ext s4, a0, 8, 8");
                                             | label_5:
    0x0000f49c lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0000f4a0 b 0xf380                      |     goto label_1;
                                             | label_24:
    0x0000f4a4 lw t9, -0x7da0(gp)            |     t9 = sym.imp.malloc;
                                             | label_25:
    0x0000f4a8 addiu v0, zero, 0x1000        |     v0 = 0x1000;
    0x0000f4ac sw v0, 0x2c(s5)               |     *((s5 + 11)) = v0;
    0x0000f4b0 addiu a0, zero, 0x1000        |     a0 = 0x1000;
    0x0000f4b4 jalr t9                       |     t9 ();
    0x0000f4b8 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f4bc sw v0, 0x28(s5)               |     *((s5 + 10)) = v0;
                                             |     if (v0 != 0) {
    0x0000f4c0 bnez v0, 0xf198               |         goto label_2;
                                             |     }
                                             | label_8:
    0x0000f4c4 lw v0, 0x34(sp)               |     v0 = *(var_34h_3);
                                             | label_9:
    0x0000f4c8 lw t9, -0x7d18(gp)            |     t9 = sym.imp.pthread_mutex_unlock;
    0x0000f4cc addiu a0, v0, -0x5730         |     a0 = v0 + -sym.cored_mgm_close;
    0x0000f4d0 jalr t9                       |     t9 ();
    0x0000f4d4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f4d8 lw t9, -0x7cd0(gp)            |     t9 = sym.imp.free;
    0x0000f4dc lw a0, 0x28(s5)               |     a0 = *((s5 + 10));
    0x0000f4e0 jalr t9                       |     t9 ();
    0x0000f4e4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f4e8 lw t9, -0x7cd0(gp)            |     t9 = sym.imp.free;
    0x0000f4ec lw a0, 0x50(sp)               |     a0 = *(var_50h);
    0x0000f4f0 jalr t9                       |     t9 ();
    0x0000f4f4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             | label_23:
    0x0000f4f8 lw v0, 0x2c(sp)               |     v0 = *(var_2ch_3);
    0x0000f4fc lw v1, 0x84(sp)               |     v1 = *(var_84h);
    0x0000f500 lw v0, (v0)                   |     v0 = *(v0);
    0x0000f504 lw ra, 0xac(sp)               |     ra = *(var_ach);
                                             |     if (v1 != v0) {
    0x0000f508 bne v1, v0, 0xf9fc            |         goto label_38;
                                             |     }
    0x0000f50c lw fp, 0xa8(sp)               |     fp = *(var_a8h);
    0x0000f510 lw s7, 0xa4(sp)               |     s7 = *(var_a4h);
    0x0000f514 lw s6, 0xa0(sp)               |     s6 = *(var_a0h);
    0x0000f518 lw s5, 0x9c(sp)               |     s5 = *(var_9ch);
    0x0000f51c lw s4, 0x98(sp)               |     s4 = *(var_98h);
    0x0000f520 lw s3, 0x94(sp)               |     s3 = *(var_94h);
    0x0000f524 lw s2, 0x90(sp)               |     s2 = *(var_90h);
    0x0000f528 lw s1, 0x8c(sp)               |     s1 = *(var_8ch);
    0x0000f52c lw s0, 0x88(sp)               |     s0 = *(var_88h);
    0x0000f530 addiu sp, sp, 0xb0            |     
    0x0000f534 jr ra                         |     return v0;
                                             | label_27:
    0x0000f538 bal 0x885c                    |     sym_trace_attach ();
    0x0000f53c nop                           |     
    0x0000f540 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f544 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
                                             |     if (v0 != s6) {
    0x0000f548 beq v0, s6, 0xf598            |         
    0x0000f54c lwx a0, s1(a0)                |         __asm ("lwx a0, s1(a0)");
    0x0000f550 b 0xf1ec                      |         goto label_3;
                                             | label_28:
    0x0000f554 lw a2, 0x18(s5)               |         a2 = *((s5 + 6));
    0x0000f558 lw t9, -0x7c50(gp)            |         t9 = sym.dump_one;
    0x0000f55c lw a1, 0x30(sp)               |         a1 = *(var_30h_3);
    0x0000f560 lwx a2, s1(a2)                |         __asm ("lwx a2, s1(a2)");
    0x0000f564 addiu a0, zero, 1             |         a0 = 1;
    0x0000f568 jalr t9                       |         t9 ();
    0x0000f56c lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x0000f570 lw a0, 0x18(s5)               |         a0 = *((s5 + 6));
    0x0000f574 lw t9, -0x7ec0(gp)            |         t9 = sym.trace_detach;
    0x0000f578 lwx a0, s1(a0)                |         __asm ("lwx a0, s1(a0)");
    0x0000f57c bal 0x8844                    |         sym_trace_detach ();
    0x0000f580 lw v0, 0x18(s5)               |         v0 = *((s5 + 6));
    0x0000f584 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x0000f588 addu s1, v0, s1               |         s1 = v0 + s1;
    0x0000f58c sw s2, (s1)                   |         *(s1) = s2;
    0x0000f590 lw v0, 0x1c(s5)               |         v0 = *((s5 + 7));
    0x0000f594 b 0xf320                      |         goto label_4;
                                             |     }
    0x0000f598 addu s1, a0, s1               |     s1 = a0 + s1;
    0x0000f59c sw v0, (s1)                   |     *(s1) = v0;
                                             | label_29:
    0x0000f5a0 lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
    0x0000f5a4 b 0xf320                      |     goto label_4;
                                             | label_37:
    0x0000f5a8 addiu v0, zero, 0x85          |     v0 = 0x85;
    0x0000f5ac addiu v0, zero, 5             |     v0 = 5;
                                             |     if (s4 == v0) {
    0x0000f5b0 beq s4, v0, 0xf774            |         goto label_39;
                                             |     }
                                             |     if (s4 == v0) {
    0x0000f5b4 beql s4, v0, 0xf83c           |         goto label_40;
                                             |     }
    0x0000f5b8 andi a0, a0, 0x600            |     a0 &= 0x600;
    0x0000f5bc lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
                                             | label_18:
    0x0000f5c0 andi v0, v0, 2                |     v0 &= 2;
    0x0000f5c4 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
                                             |     if (v0 != 0) {
    0x0000f5c8 bnez v0, 0xf86c               |         goto label_41;
                                             |     }
                                             | label_19:
    0x0000f5cc sll s3, s3, 2                 |     s3 <<= 2;
    0x0000f5d0 move a1, s4                   |     a1 = s4;
    0x0000f5d4 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
                                             | label_16:
    0x0000f5d8 lw t9, -0x7ec4(gp)            |     t9 = sym.trace_syscall;
    0x0000f5dc bal 0x8b24                    |     sym_trace_syscall ();
    0x0000f5e0 nop                           |     
    0x0000f5e4 move s4, v0                   |     s4 = v0;
    0x0000f5e8 addiu v0, zero, -1            |     v0 = -1;
    0x0000f5ec lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (s4 != v0) {
    0x0000f5f0 bne s4, v0, 0xf49c            |         goto label_5;
                                             |     }
    0x0000f5f4 lw a2, 0x18(s5)               |     a2 = *((s5 + 6));
    0x0000f5f8 lw t9, -0x7c50(gp)            |     t9 = sym.dump_one;
    0x0000f5fc lw a1, 0x38(sp)               |     a1 = *(var_38h_3);
    0x0000f600 lwx a2, s3(a2)                |     __asm ("lwx a2, s3(a2)");
    0x0000f604 addiu a0, zero, 1             |     a0 = 1;
    0x0000f608 jalr t9                       |     t9 ();
    0x0000f60c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f610 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f614 lw t9, -0x7ec0(gp)            |     t9 = sym.trace_detach;
    0x0000f618 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
    0x0000f61c bal 0x8844                    |     sym_trace_detach ();
    0x0000f620 lw v0, 0x18(s5)               |     v0 = *((s5 + 6));
    0x0000f624 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f628 addu s3, v0, s3               |     s3 = v0 + s3;
    0x0000f62c sw s4, (s3)                   |     *(s3) = s4;
    0x0000f630 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x0000f634 b 0xf380                      |     goto label_1;
                                             | label_34:
    0x0000f638 jalr t9                       |     t9 ();
    0x0000f63c nop                           |     
    0x0000f640 lw v0, (v0)                   |     v0 = *(v0);
    0x0000f644 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 == s3) {
    0x0000f648 beq v0, s3, 0xf73c            |         goto label_42;
                                             |     }
    0x0000f64c lw v0, 0x54(sp)               |     v0 = *(var_54h);
                                             |     if (v0 != s6) {
    0x0000f650 bne v0, s6, 0xf380            |         goto label_1;
                                             |     }
    0x0000f654 lw t9, (s5)                   |     t9 = *(s5);
                                             |     if (t9 == 0) {
    0x0000f658 beql t9, zero, 0xf394         |         goto label_6;
                                             |     }
    0x0000f65c sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x0000f660 lw a1, 0x28(s5)               |     a1 = *((s5 + 10));
    0x0000f664 lw a0, 8(s5)                  |     a0 = *((s5 + 2));
    0x0000f668 move a2, zero                 |     a2 = 0;
    0x0000f66c jalr t9                       |     t9 ();
    0x0000f670 sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x0000f674 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f678 b 0xf380                      |     goto label_1;
                                             | label_33:
    0x0000f67c sw s4, 0x54(sp)               |     *(var_54h) = s4;
    0x0000f680 b 0xf3d4                      |     goto label_7;
                                             | label_32:
    0x0000f684 addiu v0, zero, -1            |     v0 = -1;
                                             |     if (s2 != v0) {
                                             | label_36:
    0x0000f688 beql s2, v0, 0xf69c           |         
    0x0000f68c lw v0, 0x1c(s5)               |         v0 = *((s5 + 7));
    0x0000f690 addiu s7, sp, 0x4c            |         s7 = sp + 0x4c;
                                             |         if (s1 != s2) {
    0x0000f694 bne s1, s2, 0xf744            |             goto label_43;
                                             |         }
                                             | label_15:
    0x0000f698 lw v0, 0x1c(s5)               |         v0 = *((s5 + 7));
                                             |     }
                                             | label_14:
    0x0000f69c move s3, zero                 |     s3 = 0;
                                             |     if (v0 <= 0) {
    0x0000f6a0 blez v0, 0xf4c4               |         goto label_8;
                                             |     }
    0x0000f6a4 lw s1, -0x7fdc(gp)            |     s1 = *(gp);
    0x0000f6a8 addiu s0, zero, -1            |     s0 = -1;
    0x0000f6ac addiu s1, s1, -0x11e4         |     s1 += -0x11e4;
    0x0000f6b0 b 0xf6d4                      |     goto label_44;
                                             | label_12:
    0x0000f6b4 lw t9, -0x7ec0(gp)            |     t9 = sym.trace_detach;
                                             | label_11:
    0x0000f6b8 addiu s3, s3, 1               |     s3++;
    0x0000f6bc bal 0x8844                    |     sym_trace_detach ();
    0x0000f6c0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f6c4 lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
                                             | label_10:
    0x0000f6c8 slt a0, s3, v0                |     a0 = (s3 < v0) ? 1 : 0;
                                             |     if (a0 == 0) {
    0x0000f6cc beql a0, zero, 0xf4c8         |         goto label_9;
                                             |     }
    0x0000f6d0 lw v0, 0x34(sp)               |     v0 = *(var_34h_3);
                                             | label_44:
    0x0000f6d4 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f6d8 sll s4, s3, 2                 |     s4 = s3 << 2;
    0x0000f6dc lwx a0, s4(a0)                |     __asm ("lwx a0, s4(a0)");
                                             |     if (a0 == s0) {
    0x0000f6e0 beql a0, s0, 0xf6c8           |         goto label_10;
                                             |     }
    0x0000f6e4 addiu s3, s3, 1               |     s3++;
    0x0000f6e8 lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
    0x0000f6ec andi v0, v0, 8                |     v0 &= 8;
    0x0000f6f0 lw t9, -0x7ec0(gp)            |     t9 = sym.trace_detach;
                                             |     if (v0 == 0) {
    0x0000f6f4 beqz v0, 0xf6b8               |         goto label_11;
                                             |     }
    0x0000f6f8 move a1, a0                   |     a1 = a0;
    0x0000f6fc move t9, s1                   |     t9 = s1;
    0x0000f700 move a0, s5                   |     a0 = s5;
    0x0000f704 bal 0xee1c                    |     fcn_0000ee1c ();
    0x0000f708 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f70c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f710 lwx a0, s4(a0)                |     __asm ("lwx a0, s4(a0)");
    0x0000f714 b 0xf6b4                      |     goto label_12;
                                             | label_35:
    0x0000f718 lw t9, -0x7c50(gp)            |     t9 = sym.dump_one;
    0x0000f71c lw a1, 0x30(sp)               |     a1 = *(var_30h_3);
    0x0000f720 sw a3, 0x10(sp)               |     *(var_50h_2) = a3;
    0x0000f724 move a2, s1                   |     a2 = s1;
    0x0000f728 move a3, s3                   |     a3 = s3;
    0x0000f72c addiu a0, zero, 1             |     a0 = 1;
    0x0000f730 jalr t9                       |     t9 ();
    0x0000f734 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f738 b 0xf41c                      |     goto label_13;
                                             |     if (s2 == s1) {
                                             | label_42:
    0x0000f73c beql s2, s1, 0xf69c           |         goto label_14;
                                             |     }
    0x0000f740 lw v0, 0x1c(s5)               |     v0 = *((s5 + 7));
                                             | label_43:
    0x0000f744 lw t9, -0x7e20(gp)            |     t9 = sym.imp.kill;
    0x0000f748 addiu a1, zero, 2             |     a1 = 2;
    0x0000f74c move a0, s2                   |     a0 = s2;
    0x0000f750 jalr t9                       |     t9 ();
    0x0000f754 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f758 move a2, zero                 |     a2 = 0;
    0x0000f75c move a1, s7                   |     a1 = s7;
    0x0000f760 lw t9, -0x7d60(gp)            |     t9 = sym.imp.waitpid;
    0x0000f764 move a0, s2                   |     a0 = s2;
    0x0000f768 jalr t9                       |     t9 ();
    0x0000f76c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f770 b 0xf698                      |     goto label_15;
                                             | label_39:
    0x0000f774 lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
    0x0000f778 andi v0, v0, 1                |     v0 &= 1;
    0x0000f77c addiu a0, zero, 0x288         |     a0 = 0x288;
                                             |     if (v0 == 0) {
    0x0000f780 bnel v0, zero, 0xf8d8         |         goto label_45;
                                             |     }
                                             | label_21:
    0x0000f784 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
                                             | label_20:
    0x0000f788 sll s3, s3, 2                 |     s3 <<= 2;
    0x0000f78c move a1, zero                 |     a1 = 0;
    0x0000f790 lwx a0, s3(a0)                |     __asm ("lwx a0, s3(a0)");
    0x0000f794 b 0xf5d8                      |     goto label_16;
                                             | label_31:
    0x0000f798 lw v0, -0x7fdc(gp)            |     v0 = *(gp);
    0x0000f79c lw t9, -0x7e08(gp)            |     t9 = sym.imp.__snprintf_chk
    0x0000f7a0 addiu s1, sp, 0x64            |     s1 = sp + 0x64;
                                             |     /* esilref: '&d' */
    0x0000f7a4 addiu v0, v0, 0x55a0          |     v0 += 0x55a0;
    0x0000f7a8 addiu a3, zero, 0x14          |     a3 = 0x14;
    0x0000f7ac addiu a2, zero, 1             |     a2 = 1;
    0x0000f7b0 addiu a1, zero, 0x14          |     a1 = 0x14;
    0x0000f7b4 move a0, s1                   |     a0 = s1;
    0x0000f7b8 sw v0, 0x10(sp)               |     *(var_50h_2) = v0;
    0x0000f7bc jalr t9                       |     t9 ();
    0x0000f7c0 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f7c4 sw s1, 0x5c(sp)               |     *(var_5ch) = s1;
    0x0000f7c8 lw s3, 0x58(sp)               |     s3 = *(var_58h);
    0x0000f7cc lw v0, -0x7dc0(gp)            |     v0 = *((gp - 8048));
    0x0000f7d0 lw t9, -0x7be0(gp)            |     t9 = sym.imp.fileno;
    0x0000f7d4 lw a0, (v0)                   |     a0 = *(v0);
    0x0000f7d8 jalr t9                       |     t9 ();
    0x0000f7dc lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f7e0 move s1, v0                   |     s1 = v0;
    0x0000f7e4 lw v0, -0x7ddc(gp)            |     v0 = *((gp - 8055));
    0x0000f7e8 lw t9, -0x7be0(gp)            |     t9 = sym.imp.fileno;
    0x0000f7ec lw a0, (v0)                   |     a0 = *(v0);
    0x0000f7f0 jalr t9                       |     t9 ();
    0x0000f7f4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f7f8 move s4, v0                   |     s4 = v0;
    0x0000f7fc lw v0, -0x7d38(gp)            |     v0 = *((gp - 8014));
    0x0000f800 lw t9, -0x7be0(gp)            |     t9 = sym.imp.fileno;
    0x0000f804 lw a0, (v0)                   |     a0 = *(v0);
    0x0000f808 jalr t9                       |     t9 ();
    0x0000f80c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f810 sw zero, 0x14(sp)             |     *(var_14h_2) = 0;
    0x0000f814 sw v0, 0x10(sp)               |     *(var_50h_2) = v0;
    0x0000f818 lw t9, -0x7f38(gp)            |     t9 = sym.sys_run_nowait;
    0x0000f81c move a3, s4                   |     a3 = s4;
    0x0000f820 move a2, s1                   |     a2 = s1;
    0x0000f824 addiu a1, sp, 0x58            |     a1 = sp + 0x58;
    0x0000f828 move a0, s3                   |     a0 = s3;
    0x0000f82c bal 0xab3c                    |     sym_sys_run_nowait ();
    0x0000f830 move s2, v0                   |     s2 = v0;
    0x0000f834 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f838 b 0xf348                      |     goto label_17;
                                             |     if (a0 == 0) {
                                             | label_40:
    0x0000f83c beql a0, zero, 0xf5c0         |         goto label_18;
                                             |     }
    0x0000f840 lw v0, 0x10(s5)               |     v0 = *((s5 + 4));
    0x0000f844 lw t9, -0x7ebc(gp)            |     t9 = sym.strace_exit;
    0x0000f848 move a0, s5                   |     a0 = s5;
    0x0000f84c sw zero, 0x10(sp)             |     *(var_50h_2) = 0;
    0x0000f850 move a3, zero                 |     a3 = 0;
    0x0000f854 addiu a2, zero, 1             |     a2 = 1;
    0x0000f858 move a1, s1                   |     a1 = s1;
    0x0000f85c bal 0xefdc                    |     sym_strace_exit ();
    0x0000f860 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f864 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f868 b 0xf5cc                      |     goto label_19;
                                             | label_41:
    0x0000f86c lw a2, 0x1c(s5)               |     a2 = *((s5 + 7));
    0x0000f870 lw t9, 0x28(sp)               |     t9 = *(var_28h_3);
    0x0000f874 move a1, a0                   |     a1 = a0;
    0x0000f878 move a0, s1                   |     a0 = s1;
    0x0000f87c jalr t9                       |     t9 ();
    0x0000f880 addiu s6, zero, 0x288         |     s6 = 0x288;
    0x0000f884 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f888 mul v1, v0, s6                |     __asm ("mul v1, v0, s6");
    0x0000f88c lw a1, 0xc(s5)                |     a1 = *((s5 + 3));
    0x0000f890 lw t9, -0x7eb8(gp)            |     t9 = sym.signal_map_sig2name;
    0x0000f894 move a0, s4                   |     a0 = s4;
    0x0000f898 lw a1, (a1)                   |     a1 = *(a1);
    0x0000f89c addu s6, v1, a1               |     s6 = v1 + a1;
    0x0000f8a0 bal 0xbb10                    |     sym_signal_map_sig2name ();
    0x0000f8a4 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f8a8 sw v0, 0x14(sp)               |     *(var_14h_2) = v0;
    0x0000f8ac lw v0, 0x3c(sp)               |     v0 = *(var_3ch_3);
    0x0000f8b0 lw t9, -0x7ed4(gp)            |     t9 = sym.strace_printf
    0x0000f8b4 move a0, s5                   |     a0 = s5;
    0x0000f8b8 sw s4, 0x10(sp)               |     *(var_50h_2) = s4;
    0x0000f8bc move a3, s6                   |     a3 = s6;
    0x0000f8c0 move a2, s1                   |     a2 = s1;
    0x0000f8c4 addiu a1, v0, 0x5e3c          |     a1 = v0 + 0x5e3c;
    0x0000f8c8 bal 0xedac                    |     sym_strace_printf ()
    0x0000f8cc lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f8d0 lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f8d4 b 0xf5cc                      |     goto label_19;
                                             | label_45:
    0x0000f8d8 mul s6, s3, a0                |     __asm ("mul s6, s3, a0");
    0x0000f8dc lw s7, 0xc(s5)                |     s7 = *((s5 + 3));
    0x0000f8e0 lw a3, 0x28(s5)               |     a3 = *((s5 + 10));
    0x0000f8e4 lw a0, 0x2c(s5)               |     a0 = *((s5 + 11));
    0x0000f8e8 lw s4, (s7)                   |     s4 = *(s7);
    0x0000f8ec addu s4, s4, s6               |     s4 += s6;
    0x0000f8f0 addiu t1, s4, 0x28            |     t1 = s4 + 0x28;
    0x0000f8f4 lbu v0, 0x20(s4)              |     v0 = *((s4 + 32));
    0x0000f8f8 andi v0, v0, 1                |     v0 &= 1;
    0x0000f8fc addiu t2, s4, 0x158           |     t2 = s4 + aav.0x00000158;
                                             |     if (v0 == 0) {
    0x0000f900 beqz v0, 0xf964               |         goto label_46;
                                             |     }
    0x0000f904 lw t9, -0x7eb4(gp)            |     t9 = sym.arch_dec_syscall_ret;
    0x0000f908 sw a0, 0x10(sp)               |     *(var_50h_2) = a0;
    0x0000f90c move a2, s4                   |     a2 = s4;
    0x0000f910 sw t2, 0x18(sp)               |     *(var_18h_5) = t2;
    0x0000f914 sw t1, 0x14(sp)               |     *(var_14h_2) = t1;
    0x0000f918 move a1, s1                   |     a1 = s1;
    0x0000f91c move a0, s5                   |     a0 = s5;
    0x0000f920 bal 0x11504                   |     sym_arch_dec_syscall_ret ();
    0x0000f924 move a2, v0                   |     a2 = v0;
    0x0000f928 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
                                             |     if (v0 != 0) {
    0x0000f92c beqz v0, 0xf944               |         
    0x0000f930 lw a0, (s7)                   |         a0 = *(s7);
    0x0000f934 addu a0, a0, s6               |         a0 += s6;
    0x0000f938 lbu v0, 0x20(a0)              |         v0 = *((a0 + 32));
    0x0000f93c ins v0, zero, 0, 1            |         __asm ("ins v0, zero, 0, 1");
    0x0000f940 sb v0, 0x20(a0)               |         *((a0 + 32)) = v0;
                                             |     }
                                             | label_22:
    0x0000f944 lw t9, (s5)                   |     t9 = *(s5);
                                             |     if (t9 == 0) {
    0x0000f948 beql t9, zero, 0xf788         |         goto label_20;
                                             |     }
    0x0000f94c lw a0, 0x18(s5)               |     a0 = *((s5 + 6));
    0x0000f950 lw a1, 0x28(s5)               |     a1 = *((s5 + 10));
    0x0000f954 lw a0, 8(s5)                  |     a0 = *((s5 + 2));
    0x0000f958 jalr t9                       |     t9 ();
    0x0000f95c lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f960 b 0xf784                      |     goto label_21;
                                             | label_46:
    0x0000f964 lw t9, -0x7eb0(gp)            |     t9 = sym.arch_dec_syscall;
    0x0000f968 sw t2, 0x18(sp)               |     *(var_18h_5) = t2;
    0x0000f96c sw t2, 0x44(sp)               |     *(var_44h) = t2;
    0x0000f970 sw t1, 0x14(sp)               |     *(var_14h_2) = t1;
    0x0000f974 sw t1, 0x40(sp)               |     *(var_40h) = t1;
    0x0000f978 sw a0, 0x10(sp)               |     *(var_50h_2) = a0;
    0x0000f97c move a2, s4                   |     a2 = s4;
    0x0000f980 move a0, s5                   |     a0 = s5;
    0x0000f984 move a1, s1                   |     a1 = s1;
    0x0000f988 bal 0x10fe0                   |     sym_arch_dec_syscall ();
    0x0000f98c addiu a0, zero, -1            |     a0 = -1;
    0x0000f990 lw gp, 0x20(sp)               |     gp = *(var_20h_3);
    0x0000f994 lw t1, 0x40(sp)               |     t1 = *(var_40h);
    0x0000f998 lw t2, 0x44(sp)               |     t2 = *(var_44h);
                                             |     if (v0 == a0) {
    0x0000f99c beq v0, a0, 0xf9c8            |         goto label_47;
                                             |     }
    0x0000f9a0 lw a0, (s7)                   |     a0 = *(s7);
    0x0000f9a4 addiu a2, zero, 1             |     a2 = 1;
    0x0000f9a8 addu a0, a0, s6               |     a0 += s6;
    0x0000f9ac lbu a1, 0x20(a0)              |     a1 = *((a0 + 32));
    0x0000f9b0 ins a1, a2, 0, 1              |     __asm ("ins a1, a2, 0, 1");
    0x0000f9b4 sb a1, 0x20(a0)               |     *((a0 + 32)) = a1;
                                             |     do {
    0x0000f9b8 slti a2, v0, 0                |         a2 = (v0 < 0) ? 1 : 0;
                                             |         if (a2 == 0) {
    0x0000f9bc movn v0, zero, a2             |             v0 = 0;
                                             |         }
    0x0000f9c0 move a2, v0                   |         a2 = v0;
    0x0000f9c4 b 0xf944                      |         goto label_22;
                                             | label_47:
    0x0000f9c8 lw v0, 0x2c(s5)               |         v0 = *((s5 + 11));
    0x0000f9cc lw a3, 0x28(s5)               |         a3 = *((s5 + 10));
    0x0000f9d0 lw t9, -0x7eb4(gp)            |         t9 = sym.arch_dec_syscall_ret;
    0x0000f9d4 sw t2, 0x18(sp)               |         *(var_18h_5) = t2;
    0x0000f9d8 sw t1, 0x14(sp)               |         *(var_14h_2) = t1;
    0x0000f9dc sw v0, 0x10(sp)               |         *(var_50h_2) = v0;
    0x0000f9e0 move a2, s4                   |         a2 = s4;
    0x0000f9e4 move a1, s1                   |         a1 = s1;
    0x0000f9e8 move a0, s5                   |         a0 = s5;
    0x0000f9ec bal 0x11504                   |         sym_arch_dec_syscall_ret ();
    0x0000f9f0 addiu v0, v0, -1              |         v0 += -1;
    0x0000f9f4 lw gp, 0x20(sp)               |         gp = *(var_20h_3);
    0x0000f9f8 b 0xf9b8                      |         
                                             |     } while (1);
                                             | label_38:
    0x0000f9fc lw t9, -0x7db0(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000fa00 jalr t9                       |     t9 ();
    0x0000fa04 nop                           |     
    0x0000fa08 nop                           |     
    0x0000fa0c nop                           |     
                                             | }

[*] Function printf used 9 times dbox