[*] Binary protection state of mkdosfs

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


[*] Function printf tear down of mkdosfs

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/mkdosfs @ 0xf60 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 26192 named .text */
    0x00000f60 lui gp, 2                 |     
    0x00000f64 addiu gp, gp, 0x12a0      |     
    0x00000f68 addu gp, gp, t9           |     gp += t9;
    0x00000f6c lw v0, -0x7ec0(gp)        |     v0 = *((gp - 8112));
    0x00000f70 addiu sp, sp, -0x1f0      |     
    0x00000f74 lw v0, (v0)               |     v0 = *(v0);
    0x00000f78 sw gp, 0x20(sp)           |     *(var_20h) = gp;
    0x00000f7c sw s2, 0x1d0(sp)          |     *(var_1d0h) = s2;
    0x00000f80 sw s0, 0x1c8(sp)          |     *(var_1c8h) = s0;
    0x00000f84 sw ra, 0x1ec(sp)          |     *(var_1ech) = ra;
    0x00000f88 sw fp, 0x1e8(sp)          |     *(var_1e8h) = fp;
    0x00000f8c sw s7, 0x1e4(sp)          |     *(var_1e4h) = s7;
    0x00000f90 sw s6, 0x1e0(sp)          |     *(var_1e0h) = s6;
    0x00000f94 sw s5, 0x1dc(sp)          |     *(var_1dch) = s5;
    0x00000f98 sw s4, 0x1d8(sp)          |     *(var_1d8h) = s4;
    0x00000f9c sw s3, 0x1d4(sp)          |     *(var_1d4h) = s3;
    0x00000fa0 sw s1, 0x1cc(sp)          |     *(var_1cch) = s1;
    0x00000fa4 move s0, a0               |     s0 = a0;
    0x00000fa8 move s2, a1               |     s2 = a1;
    0x00000fac sw v0, 0x1c4(sp)          |     *(var_1c4h) = v0;
    0x00000fb0 lw v0, (a1)               |     v0 = *(a1);
                                         |     if (a0 == 0) {
    0x00000fb4 bnel a0, zero, 0x1544     |         goto label_51;
                                         |     }
    0x00000fb8 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
                                         | label_0:
    0x00000fbc lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00000fc0 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.time;
    0x00000fc4 addiu a0, s1, -0x1a20     |     a0 = s1 + -0x1a20;
    0x00000fc8 jalr t9                   |     t9 ();
    0x00000fcc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00000fd0 lw v0, -0x1a20(s1)        |     v0 = *((s1 - 1672));
    0x00000fd4 lw a2, -0x5e10(s3)        |     a2 = *((s3 - 6020));
    0x00000fd8 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00000fdc lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x00000fe0 lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x00000fe4 sw v1, 0x38(sp)           |     *(var_38h) = v1;
    0x00000fe8 addiu a1, a1, -0x7920     |     a1 += -0x7920;
    0x00000fec addiu a0, zero, 1         |     a0 = 1;
    0x00000ff0 sw v0, -0x1a1c(v1)        |     *((v1 - 1671)) = v0;
    0x00000ff4 jalr t9                   |     t9 ();
    0x00000ff8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00000ffc sw zero, 0x2c(sp)         |     *(var_2ch) = 0;
    0x00001000 sw zero, 0x30(sp)         |     *(var_30h) = 0;
    0x00001004 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001008 lw s4, -0x7fc4(gp)        |     s4 = *((gp - 8177));
    0x0000100c sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00001010 lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x00001014 lw s1, -0x7fc4(gp)        |     s1 = *((gp - 8177));
    0x00001018 addiu v0, v0, -0x7820     |     v0 += -sym.imp.toupper;
    0x0000101c sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x00001020 lw s3, -0x7fc4(gp)        |     s3 = *((gp - 8177));
    0x00001024 addiu v0, s4, -0x6de8     |     v0 = s4 + -0x6de8;
    0x00001028 sw zero, 0x34(sp)         |     *(var_34h) = 0;
    0x0000102c addiu s1, s1, -0x6ec0     |     s1 += -0x6ec0;
    0x00001030 sw v0, 0x28(sp)           |     *(var_28h) = v0;
                                         |     do {
                                         | label_2:
    0x00001034 lw t9, -0x7f2c(gp)        |         t9 = sym.imp.getopt;
    0x00001038 addiu a2, s3, -0x7764     |         a2 = s3 + -0x7764;
    0x0000103c move a1, s2               |         a1 = s2;
    0x00001040 move a0, s0               |         a0 = s0;
    0x00001044 jalr t9                   |         t9 ();
    0x00001048 addiu v1, zero, -1        |         v1 = -1;
    0x0000104c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == v1) {
    0x00001050 beq v0, v1, 0x1690        |             goto label_52;
                                         |         }
    0x00001054 addiu v1, v0, -0x41       |         v1 = v0 + -0x41;
    0x00001058 sltiu a0, v1, 0x36        |         a0 = (v1 < 0x36) ? 1 : 0;
    0x0000105c sll v1, v1, 2             |         v1 <<= 2;
                                         |         if (a0 != 0) {
    0x00001060 beqz a0, 0x150c           |             
    0x00001064 lwx v1, v1(s1)            |             __asm ("lwx v1, v1(s1)");
    0x00001068 addu v1, v1, gp           |             v1 += gp;
    0x0000106c jr v1                     |             v1 ();
    0x00001070 nop                       |             
                                         | label_4:
    0x00001200 lw fp, -0x7fc8(gp)        |             fp = *(gp);
    0x00001204 move s4, zero             |             s4 = 0;
    0x00001208 addiu s7, zero, 0x1d      |             s7 = 0x1d;
    0x0000120c addiu s5, zero, 0x20      |             s5 = 0x20;
    0x00001210 lw t9, -0x7edc(gp)        |             t9 = sym.imp._IO_getc;
                                         | label_1:
    0x00001214 move a0, s6               |             a0 = s6;
    0x00001218 jalr t9                   |             t9 ();
    0x0000121c addiu a0, v0, 1           |             a0 = v0 + 1;
    0x00001220 sltiu a2, a0, 0xf         |             a2 = (a0 < 0xf) ? 1 : 0;
    0x00001224 lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |             if (a2 == 0) {
    0x00001228 beqz a2, 0x15c4           |                 goto label_53;
                                         |             }
    0x0000122c lw v1, 0x28(sp)           |             v1 = *(var_28h);
    0x00001230 sll a0, a0, 2             |             a0 <<= 2;
    0x00001234 lwx a0, a0(v1)            |             __asm ("lwx a0, a0(v1)");
    0x00001238 addu a0, a0, gp           |             a0 += gp;
    0x0000123c jr a0                     |             a0 ();
    0x00001240 nop                       |             
                                         |         }
    0x0000150c lw a1, -0x7fc4(gp)        |         a1 = *((gp - 8177));
    0x00001510 lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x00001514 move a2, v0               |         a2 = v0;
    0x00001518 addiu a1, a1, -0x7778     |         a1 += -0x7778;
                                         | label_6:
    0x0000151c addiu a0, zero, 1         |         a0 = 1;
    0x00001520 jalr t9                   |         t9 ();
    0x00001524 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001528 lw t9, -0x7fb4(gp)        |         t9 = sym.usage;
    0x0000152c bal 0x6774                |         sym_usage ();
    0x00001530 nop                       |         
    0x00001534 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00001538 addiu v1, zero, 1         |         v1 = 1;
    0x0000153c sw v1, -0x1a30(v0)        |         *((v0 - 1676)) = v1;
    0x00001540 b 0x1034                  |         
                                         |     } while (1);
                                         | label_51:
    0x00001544 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x00001548 beqz v0, 0xfbc            |         goto label_0;
                                         |     }
    0x0000154c lw t9, -0x7f60(gp)        |     t9 = sym.imp.strrchr;
    0x00001550 addiu a1, zero, 0x2f      |     a1 = 0x2f;
    0x00001554 move a0, v0               |     a0 = v0;
    0x00001558 sw v0, -0x5e10(s3)        |     *((s3 - 6020)) = v0;
    0x0000155c jalr t9                   |     t9 ();
    0x00001560 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001564 beqz v0, 0xfbc            |         goto label_0;
                                         |     }
    0x00001568 addiu v0, v0, 1           |     v0++;
    0x0000156c sw v0, -0x5e10(s3)        |     *((s3 - 6020)) = v0;
    0x00001570 b 0xfbc                   |     goto label_0;
                                         | label_53:
    0x000015c4 addu a0, fp, s7           |     a0 = fp + s7;
    0x000015c8 addiu s4, s4, 1           |     s4++;
    0x000015cc sb v0, (a0)               |     *(a0) = v0;
    0x000015d0 addiu s7, s7, 1           |     s7++;
    0x000015d4 addiu v1, zero, -1        |     v1 = -1;
                                         |     if (v0 == v1) {
    0x000015d8 beql v0, v1, 0x1628       |         goto label_54;
                                         |     }
    0x000015dc slti v0, s7, 0x1bf        |     v0 = (s7 < 0x1bf) ? 1 : 0;
    0x000015e0 slti a0, s7, 0x1bf        |     a0 = (s7 < 0x1bf) ? 1 : 0;
    0x000015e4 lw t9, -0x7edc(gp)        |     t9 = sym.imp._IO_getc;
                                         |     if (a0 != 0) {
    0x000015e8 bnez a0, 0x1214           |         goto label_1;
                                         |     }
    0x000015ec addiu v1, zero, -1        |     v1 = -1;
    0x000015f0 sb zero, 0x1bf(fp)        |     *(arg_1bfh) = 0;
                                         |     if (v0 != v1) {
    0x000015f4 bne v0, v1, 0x1678        |         goto label_55;
                                         |     }
                                         | label_3:
    0x000015f8 lw v0, 0x44(sp)           |     v0 = *(var_44h);
    0x000015fc lw v0, (v0)               |     v0 = *(v0);
    0x00001600 lw t9, -0x7f64(gp)        |     t9 = sym.imp.fclose;
                                         |     if (v0 == s6) {
    0x00001604 beq v0, s6, 0x1034        |         goto label_2;
                                         |     }
    0x00001608 move a0, s6               |     a0 = s6;
    0x0000160c jalr t9                   |     t9 ();
    0x00001610 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001614 b 0x1034                  |     goto label_2;
                                         | label_54:
    0x00001628 addu v1, fp, s7           |     v1 = fp + s7;
                                         |     if (v0 == 0) {
    0x0000162c beqz v0, 0x1644           |         goto label_56;
                                         |     }
    0x00001630 addiu v0, fp, 0x1bf       |     v0 = fp + 0x1bf;
    0x00001634 sb zero, (v1)             |     *(v1) = 0;
                                         |     do {
    0x00001638 addiu v1, v1, 1           |         v1++;
    0x0000163c sb zero, (v1)             |         *(v1) = 0;
    0x00001640 bnel v0, v1, 0x1638       |         
                                         |     } while (v0 == v1);
                                         | label_56:
    0x00001644 sb zero, 0x1bf(fp)        |     *(arg_1bfh) = 0;
    0x00001648 b 0x15f8                  |     goto label_3;
                                         | label_55:
    0x00001678 lw a0, -0x7fd8(gp)        |     a0 = *(gp);
    0x0000167c lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x00001680 addiu a0, a0, 0x7988      |     a0 += str.Warning:_message_too_long__truncated;
    0x00001684 jalr t9                   |     t9 ();
    0x00001688 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000168c b 0x15f8                  |     goto label_3;
                                         | label_52:
    0x00001690 lw s3, -0x7ed0(gp)        |     s3 = *((gp - 8116));
    0x00001694 lw v0, (s3)               |     v0 = *(s3);
    0x00001698 slt v1, v0, s0            |     v1 = (v0 < s0) ? 1 : 0;
    0x0000169c addiu v1, s0, -2          |     v1 = s0 + -2;
                                         |     if (v1 == 0) {
    0x000016a0 beqz v1, 0x1810           |         goto label_57;
                                         |     }
    0x000016a4 sll v1, v0, 2             |     v1 = v0 << 2;
    0x000016a8 addu v1, s2, v1           |     v1 = s2 + v1;
    0x000016ac lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000016b0 lw s1, (v1)               |     s1 = *(v1);
    0x000016b4 sw s1, -0x1a0c(a0)        |     *((a0 - 1667)) = s1;
    0x000016b8 lw a0, 0x2c(sp)           |     a0 = *(var_2ch);
    0x000016bc addiu a0, s0, -2          |     a0 = s0 + -2;
                                         |     if (a0 == 0) {
    0x000016c0 beqz a0, 0x1878           |         goto label_58;
                                         |     }
    0x000016c4 addiu s0, s0, -1          |     s0 += -1;
                                         |     if (v0 == a0) {
    0x000016c8 beq v0, a0, 0x1ed4        |         goto label_59;
                                         |     }
    0x000016cc lw v0, -0x7eb8(gp)        |     v0 = *((gp - 8110));
                                         |     if (v0 != s0) {
    0x000016d0 bne v0, s0, 0x1908        |         goto label_60;
                                         |     }
    0x000016d4 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         | label_5:
    0x000016d8 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000016dc addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000016e0 addiu a0, a0, -0x7700     |     a0 += -sym.imp.exit;
    0x000016e4 bal 0x3860                |     fcn_00003860 ();
    0x000016e8 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x000016ec lw t9, -0x7f68(gp)        |     t9 = sym.imp.fopen64;
    0x000016f0 move a0, s6               |     a0 = s6;
    0x000016f4 addiu a1, a1, -0x785c     |     a1 += -0x785c;
    0x000016f8 jalr t9                   |     t9 ();
    0x000016fc move s6, v0               |     s6 = v0;
    0x00001700 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001704 beqz v0, 0x1d58           |         goto label_61;
                                         |     }
    0x00001708 lw v0, -0x7f34(gp)        |     v0 = *((gp - 8141));
    0x0000170c sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x00001710 b 0x1200                  |     goto label_4;
                                         | label_9:
    0x000017c8 addiu v1, zero, -1        |     v1 = -1;
    0x000017cc lw v0, -0x7f34(gp)        |     v0 = *((gp - 8141));
                                         |     if (v0 != v1) {
    0x000017d0 beq v0, v1, 0x17f4        |         
    0x000017d4 lw a1, -0x7fc4(gp)        |         a1 = *((gp - 8177));
    0x000017d8 lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x000017dc ori a2, zero, 0xffff      |         a2 = 0xffff;
    0x000017e0 addiu a1, a1, -0x7858     |         a1 += -0x7858;
    0x000017e4 addiu a0, zero, 1         |         a0 = 1;
    0x000017e8 jalr t9                   |         t9 ();
    0x000017ec lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000017f0 lw v0, -0x7f34(gp)        |         v0 = *((gp - 8141));
                                         |     }
    0x000017f4 lw v0, (v0)               |     v0 = *(v0);
    0x000017f8 lw t9, -0x7f64(gp)        |     t9 = sym.imp.fclose;
                                         |     if (v0 == s5) {
    0x000017fc beq v0, s5, 0x1034        |         goto label_2;
                                         |     }
    0x00001800 move a0, s5               |     a0 = s5;
    0x00001804 jalr t9                   |     t9 ();
    0x00001808 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000180c b 0x1034                  |     goto label_2;
                                         | label_57:
    0x00001810 addiu a0, s0, -1          |     a0 = s0 + -1;
                                         |     if (v0 == v1) {
    0x00001814 beq v0, v1, 0x1d6c        |         goto label_62;
                                         |     }
    0x00001818 addiu s0, s0, -1          |     s0 += -1;
    0x0000181c lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
                                         |     if (v0 != s0) {
    0x00001820 bne v0, s0, 0x1904        |         goto label_63;
                                         |     }
    0x00001824 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         |     if (v0 != 0) {
    0x00001828 bnez v0, 0x16d8           |         goto label_5;
                                         |     }
    0x0000182c lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
                                         |     do {
    0x00001830 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x00001834 sw v0, -0x1a28(s1)        |         *((s1 - 1674)) = v0;
    0x00001838 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
    0x0000183c sw v0, -0x1a24(s1)        |         *((s1 - 1673)) = v0;
    0x00001840 lw v0, -0x7fd8(gp)        |         v0 = *(gp);
    0x00001844 addiu v0, v0, 0x7a5c      |         v0 += 0x7a5c;
    0x00001848 sw v0, 0x54(sp)           |         *(var_54h) = v0;
                                         | label_8:
    0x0000184c lw s4, -0x7fdc(gp)        |         s4 = *((gp - 8183));
    0x00001850 lw v0, -0x1a14(s4)        |         v0 = *((s4 - 1669));
    0x00001854 lw v0, 0x30(sp)           |         v0 = *(var_30h);
                                         |         if (v0 == 0) {
    0x00001858 beqz v0, 0x194c           |             goto label_64;
                                         |         }
    0x0000185c lw v0, 0x34(sp)           |         v0 = *(var_34h);
    0x00001860 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (v0 == 0) {
    0x00001864 beqz v0, 0x1948           |             goto label_65;
                                         |         }
    0x00001868 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x0000186c addiu t9, t9, 0x3860      |         t9 += fcn.00003860;
    0x00001870 addiu a0, a0, -0x76ac     |         a0 += -0x76ac;
    0x00001874 bal 0x3860                |         fcn_00003860 ();
                                         | label_58:
    0x00001878 lw t9, -0x7f30(gp)        |         t9 = sym.imp.open64;
    0x0000187c move a1, zero             |         a1 = 0;
    0x00001880 move a0, s1               |         a0 = s1;
    0x00001884 jalr t9                   |         t9 ();
    0x00001888 move s4, v0               |         s4 = v0;
    0x0000188c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x00001890 bltz v0, 0x3254           |             goto label_66;
                                         |         }
    0x00001894 lw t9, -0x7ef0(gp)        |         t9 = sym.imp.lseek64;
    0x00001898 addiu v0, zero, 2         |         v0 = 2;
    0x0000189c sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x000018a0 move a2, zero             |         a2 = 0;
    0x000018a4 move a3, zero             |         a3 = 0;
    0x000018a8 move a0, s4               |         a0 = s4;
    0x000018ac jalr t9                   |         t9 ();
    0x000018b0 move s1, v1               |         s1 = v1;
    0x000018b4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000018b8 move s5, v0               |         s5 = v0;
                                         |         if (v1 <= 0) {
    0x000018bc blez v1, 0x1efc           |             goto label_67;
                                         |         }
                                         | label_13:
    0x000018c0 lw t9, -0x7f84(gp)        |         t9 = sym.imp.close;
                                         | label_11:
    0x000018c4 move a0, s4               |         a0 = s4;
    0x000018c8 jalr t9                   |         t9 ();
    0x000018cc srl v1, s5, 0xa           |         v1 = s5 >> 0xa;
    0x000018d0 move a1, v1               |         a1 = v1;
    0x000018d4 sll a0, s1, 0x16          |         a0 = s1 << 0x16;
    0x000018d8 or a0, a0, a1             |         a0 |= a1;
    0x000018dc lw v0, (s3)               |         v0 = *(s3);
    0x000018e0 sw a0, 0x48(sp)           |         *(var_48h) = a0;
    0x000018e4 addiu v1, s0, -2          |         v1 = s0 + -2;
    0x000018e8 sra a0, s1, 0xa           |         a0 = s1 >> 0xa;
    0x000018ec lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000018f0 sw a0, 0x4c(sp)           |         *(var_4ch) = a0;
                                         |         if (v1 == v0) {
    0x000018f4 beq v1, v0, 0x2030        |             goto label_68;
                                         |         }
    0x000018f8 addiu s0, s0, -1          |         s0 += -1;
    0x000018fc beql s0, v0, 0x1830       |         
                                         |     } while (s0 == v0);
    0x00001900 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
                                         | label_63:
    0x00001904 lw v0, -0x7eb8(gp)        |     v0 = *((gp - 8110));
                                         | label_60:
    0x00001908 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x0000190c lw t9, -0x7ee8(gp)        |     t9 = sym.imp.fwrite;
    0x00001910 lw a3, (v0)               |     a3 = *(v0);
    0x00001914 addiu a2, zero, 0x15      |     a2 = 0x15;
    0x00001918 addiu a1, zero, 1         |     a1 = 1;
    0x0000191c addiu a0, a0, -0x76dc     |     a0 += -0x76dc;
    0x00001920 jalr t9                   |     t9 ();
    0x00001924 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001928 lw t9, -0x7fb4(gp)        |     t9 = sym.usage;
    0x0000192c bal 0x6774                |     sym_usage ();
    0x00001930 nop                       |     
    0x00001934 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x00001938 lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x0000193c lw a2, (s5)               |     a2 = *(s5);
    0x00001940 addiu a1, a1, -0x78c0     |     a1 += -sym.imp.opendir;
    0x00001944 b 0x151c                  |     goto label_6;
                                         | label_65:
    0x00001948 lw v0, 0x30(sp)           |     v0 = *(var_30h);
                                         | label_64:
    0x0000194c lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00001950 beqz v0, 0x1964           |         
    0x00001954 addiu v0, zero, 0x20      |         v0 = 0x20;
    0x00001958 lw v1, -0x1a40(v1)        |         v1 = *((v1 - 1680));
    0x0000195c lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (v1 == v0) {
    0x00001960 beq v1, v0, 0x2060        |             goto label_69;
                                         |         }
                                         |     }
    0x00001964 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001968 lw s0, -0x1a0c(v0)        |     s0 = *((v0 - 1667));
    0x0000196c lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
    0x00001970 lw t9, -0x7f30(gp)        |     t9 = sym.imp.open64;
                                         |     if (v0 != 0) {
    0x00001974 bnez v0, 0x1e3c           |         goto label_70;
                                         |     }
    0x00001978 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x0000197c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00001980 lw t9, -0x7ef8(gp)        |     t9 = sym.imp.setmntent;
    0x00001984 addiu a1, a1, -0x785c     |     a1 += -0x785c;
    0x00001988 addiu a0, a0, -0x7668     |     a0 += -0x7668;
    0x0000198c jalr t9                   |     t9 ();
    0x00001990 move s2, v0               |     s2 = v0;
    0x00001994 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001998 bnez v0, 0x19bc           |         goto label_71;
                                         |     }
    0x0000199c lw t9, -0x7f30(gp)        |     t9 = sym.imp.open64;
    0x000019a0 b 0x19e4                  |     goto label_72;
                                         |     do {
    0x000019a4 lw t9, -0x7ea0(gp)        |         t9 = sym.imp.strcmp;
    0x000019a8 lw a1, (v0)               |         a1 = *(v0);
    0x000019ac move a0, s0               |         a0 = s0;
    0x000019b0 jalr t9                   |         t9 ();
    0x000019b4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x000019b8 beqz v0, 0x2fec           |             goto label_73;
                                         |         }
                                         | label_71:
    0x000019bc lw t9, -0x7ef4(gp)        |         t9 = sym.imp.getmntent;
    0x000019c0 move a0, s2               |         a0 = s2;
    0x000019c4 jalr t9                   |         t9 ();
    0x000019c8 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x000019cc bnez v0, 0x19a4           |         
                                         |     } while (v0 != 0);
    0x000019d0 lw t9, -0x7f58(gp)        |     t9 = sym.imp.endmntent;
    0x000019d4 move a0, s2               |     a0 = s2;
    0x000019d8 jalr t9                   |     t9 ();
    0x000019dc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000019e0 lw t9, -0x7f30(gp)        |     t9 = sym.imp.open64;
                                         | label_72:
    0x000019e4 lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x000019e8 addiu a1, zero, 2         |     a1 = 2;
    0x000019ec move a0, s0               |     a0 = s0;
    0x000019f0 jalr t9                   |     t9 ();
    0x000019f4 sw v0, -0x5ff0(s2)        |     *((s2 - 6140)) = v0;
    0x000019f8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x000019fc bltz v0, 0x2070           |         goto label_74;
                                         |     }
                                         | label_21:
    0x00001a00 lw s0, -0x5ff0(s2)        |     s0 = *((s2 - 6140));
    0x00001a04 lw t9, -0x7eec(gp)        |     t9 = sym.imp.__fxstat64;
    0x00001a08 addiu a2, sp, 0x80        |     a2 = sp + 0x80;
    0x00001a0c move a1, s0               |     a1 = s0;
    0x00001a10 addiu a0, zero, 3         |     a0 = 3;
    0x00001a14 jalr t9                   |     t9 ();
    0x00001a18 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00001a1c bltz v0, 0x2510           |         goto label_75;
                                         |     }
    0x00001a20 lw v0, 0x98(sp)           |     v0 = *(var_98h);
    0x00001a24 addiu v1, zero, 0x6000    |     v1 = 0x6000;
    0x00001a28 andi v0, v0, 0xf000       |     v0 &= 0xf000;
    0x00001a2c lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
                                         |     if (v0 == v1) {
    0x00001a30 beq v0, v1, 0x2454        |         goto label_76;
                                         |     }
    0x00001a34 lw v0, 0xb8(sp)           |     v0 = *(var_b8h);
    0x00001a38 sw zero, 0xa8(sp)         |     *(var_a8h) = 0;
    0x00001a3c sw zero, -0x1a14(s4)      |     *((s4 - 1669)) = 0;
                                         |     if (v0 >= 0) {
                                         | label_47:
    0x00001a40 bltzl v0, 0x1a48          |         
    0x00001a44 addiu v0, v0, 0x1ff       |         v0 += 0x1ff;
                                         |     }
    0x00001a48 sra v0, v0, 9             |     v0 >>= 9;
    0x00001a4c addiu v1, zero, 0x960     |     v1 = 0x960;
    0x00001a50 sw v0, 0x64(sp)           |     *(var_64h) = v0;
                                         |     if (v0 == v1) {
    0x00001a54 beq v0, v1, 0x297c        |         goto label_77;
                                         |     }
    0x00001a58 slti a0, v0, 0x961        |     a0 = (v0 < 0x961) ? 1 : 0;
    0x00001a5c addiu v1, zero, 0xb40     |     v1 = 0xb40;
                                         |     if (a0 == 0) {
    0x00001a60 beqz a0, 0x2084           |         goto label_78;
                                         |     }
    0x00001a64 addiu v1, zero, 0x2d0     |     v1 = aav.0x000002d0;
    0x00001a68 addiu v1, zero, 0x5a0     |     v1 = 0x5a0;
                                         |     if (v0 == v1) {
    0x00001a6c beq v0, v1, 0x2ce0        |         goto label_79;
                                         |     }
    0x00001a70 addiu v1, zero, 0x20      |     v1 = 0x20;
                                         |     if (v0 != v1) {
    0x00001a74 bne v0, v1, 0x2c94        |         goto label_80;
                                         |     }
    0x00001a78 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
                                         | label_40:
    0x00001a7c lui v0, 2                 |     v0 = 0x20000;
    0x00001a80 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00001a84 addiu v0, v0, 9           |     v0 += 9;
    0x00001a88 sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
                                         | label_27:
    0x00001a8c addiu v0, zero, -7        |     v0 = -7;
                                         | label_31:
    0x00001a90 sb v0, 0x15(s0)           |     *((s0 + 21)) = v0;
    0x00001a94 addiu v0, zero, 2         |     v0 = 2;
    0x00001a98 sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x00001a9c addiu v0, zero, 0x70      |     v0 = 0x70;
    0x00001aa0 sb v0, 0x11(s0)           |     *((s0 + 17)) = v0;
    0x00001aa4 sb zero, 0x12(s0)         |     *((s0 + 18)) = 0;
                                         | label_15:
    0x00001aa8 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00001aac addiu t9, t9, 0x3a80      |     t9 += fcn.00003a80;
    0x00001ab0 bal 0x3a80                |     fcn_00003a80 ();
    0x00001ab4 nop                       |     
    0x00001ab8 lw v0, -0x1a14(s4)        |     v0 = *((s4 - 1669));
    0x00001abc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00001ac0 bnez v0, 0x2574           |         goto label_81;
                                         |     }
    0x00001ac4 lw a0, 0x34(sp)           |     a0 = *(var_34h);
    0x00001ac8 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
                                         |     if (a0 == 0) {
    0x00001acc beqz a0, 0x1ba4           |         goto label_82;
                                         |     }
    0x00001ad0 lw t9, -0x7f68(gp)        |     t9 = sym.imp.fopen64;
    0x00001ad4 addiu a1, a1, -0x785c     |     a1 += -0x785c;
    0x00001ad8 jalr t9                   |     t9 ();
    0x00001adc move s1, v0               |     s1 = v0;
    0x00001ae0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001ae4 beqz v0, 0x2f5c           |         goto label_83;
                                         |     }
    0x00001ae8 lw s6, -0x7fc4(gp)        |     s6 = *((gp - 8177));
    0x00001aec lw s4, -0x7fd8(gp)        |     s4 = *(gp);
    0x00001af0 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00001af4 addiu s7, sp, 0x64        |     s7 = sp + 0x64;
    0x00001af8 addiu s6, s6, -0x73c0     |     s6 += -0x73c0;
    0x00001afc addiu s4, s4, 0x5d78      |     s4 += fcn.00005d78;
    0x00001b00 b 0x1b4c                  |     
                                         |     while (v0 == 0) {
    0x00001b04 lw t9, -0x7f1c(gp)        |         t9 = sym.imp.fscanf;
    0x00001b08 move a2, s7               |         a2 = s7;
    0x00001b0c move a1, s6               |         a1 = s6;
    0x00001b10 move a0, s1               |         a0 = s1;
    0x00001b14 jalr t9                   |         t9 ();
    0x00001b18 lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x00001b1c move t9, s4               |         t9 = s4;
    0x00001b20 sll a0, a0, 1             |         a0 <<= 1;
    0x00001b24 bal 0x5d78                |         fcn_00005d78 ();
    0x00001b28 lw a0, 0x64(sp)           |         a0 = *(var_64h);
    0x00001b2c move t9, s4               |         t9 = s4;
    0x00001b30 sll a0, a0, 1             |         a0 <<= 1;
    0x00001b34 addiu a0, a0, 1           |         a0++;
    0x00001b38 bal 0x5d78                |         fcn_00005d78 ();
    0x00001b3c lw v0, -0x1a3c(s5)        |         v0 = *((s5 - 1679));
    0x00001b40 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001b44 addiu v0, v0, 1           |         v0++;
    0x00001b48 sw v0, -0x1a3c(s5)        |         *((s5 - 1679)) = v0;
    0x00001b4c lw t9, -0x7f10(gp)        |         t9 = sym.imp.feof;
    0x00001b50 move a0, s1               |         a0 = s1;
    0x00001b54 jalr t9                   |         t9 ();
    0x00001b58 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001b5c beqz v0, 0x1b04           |         
                                         |     }
    0x00001b60 lw t9, -0x7f64(gp)        |     t9 = sym.imp.fclose;
    0x00001b64 move a0, s1               |     a0 = s1;
    0x00001b68 jalr t9                   |     t9 ();
    0x00001b6c lw a2, -0x1a3c(s5)        |     a2 = *((s5 - 1679));
    0x00001b70 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a2 != 0) {
    0x00001b74 beqz a2, 0x1ba4           |         
    0x00001b78 slti v0, a2, 2            |         v0 = (a2 < 2) ? 1 : 0;
                                         | label_26:
    0x00001b7c lw a3, -0x7fd8(gp)        |         a3 = *(gp);
                                         |         if (v0 != 0) {
    0x00001b80 bnez v0, 0x2cfc           |             goto label_84;
                                         |         }
    0x00001b84 lw a3, -0x7fc4(gp)        |         a3 = *((gp - 8177));
    0x00001b88 addiu a3, a3, -0x7bc4     |         a3 += -0x7bc4;
                                         | label_36:
    0x00001b8c lw a1, -0x7fc4(gp)        |         a1 = *((gp - 8177));
    0x00001b90 lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x00001b94 addiu a1, a1, -0x73f4     |         a1 += -0x73f4;
    0x00001b98 addiu a0, zero, 1         |         a0 = 1;
    0x00001b9c jalr t9                   |         t9 ();
    0x00001ba0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
                                         | label_82:
    0x00001ba4 lw v0, 0x30(sp)           |     v0 = *(var_30h);
                                         | label_25:
    0x00001ba8 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.opendir;
                                         |     if (v0 == 0) {
    0x00001bac beqz v0, 0x20c8           |         goto label_85;
                                         |     }
    0x00001bb0 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x00001bb4 jalr t9                   |     t9 ();
    0x00001bb8 move s6, v0               |     s6 = v0;
    0x00001bbc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001bc0 beqz v0, 0x2d64           |         goto label_86;
                                         |     }
    0x00001bc4 lw t9, -0x7f90(gp)        |     t9 = sym.imp.calloc;
    0x00001bc8 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x00001bcc addiu a0, zero, 1         |     a0 = 1;
    0x00001bd0 jalr t9                   |     t9 ();
    0x00001bd4 move s5, v0               |     s5 = v0;
    0x00001bd8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001bdc beqz v0, 0x2ec8           |         goto label_87;
                                         |     }
    0x00001be0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001be4 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001be8 lw fp, -0x7fc4(gp)        |     fp = *((gp - 8177));
    0x00001bec lw v1, -0x1c74(v0)        |     v1 = *((v0 - 1821));
    0x00001bf0 lw v0, -0x1c68(s1)        |     v0 = *((s1 - 1818));
    0x00001bf4 sw v1, 8(s5)              |     *((s5 + 2)) = v1;
    0x00001bf8 sw v0, 0xc(s5)            |     *((s5 + 3)) = v0;
    0x00001bfc lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x00001c00 addiu v1, zero, 1         |     v1 = 1;
    0x00001c04 addiu v0, v0, -0x7d38     |     v0 += -0x7d38;
    0x00001c08 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00001c0c lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x00001c10 sw v1, (s5)               |     *(s5) = v1;
    0x00001c14 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00001c18 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00001c1c sw zero, 4(s5)            |     *((s5 + 1)) = 0;
    0x00001c20 addiu v0, v0, 0x562c      |     v0 += 0x562c;
    0x00001c24 sw v0, 0x34(sp)           |     *(var_34h) = v0;
    0x00001c28 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00001c2c addiu v0, v0, 0x5fe0      |     v0 += 0x5fe0;
    0x00001c30 sw v0, 0x38(sp)           |     *(var_38h) = v0;
                                         |     do {
                                         | label_7:
    0x00001c34 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.readdir64;
    0x00001c38 move a0, s6               |         a0 = s6;
    0x00001c3c jalr t9                   |         t9 ();
    0x00001c40 move s7, v0               |         s7 = v0;
    0x00001c44 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 == 0) {
    0x00001c48 beqz v0, 0x2428           |             goto label_88;
                                         |         }
    0x00001c4c lw t9, -0x7ea0(gp)        |         t9 = sym.imp.strcmp;
    0x00001c50 addiu s4, s7, 0x13        |         s4 = s7 + 0x13;
    0x00001c54 addiu a1, fp, -0x7d48     |         a1 = fp + -0x7d48;
    0x00001c58 move a0, s4               |         a0 = s4;
    0x00001c5c jalr t9                   |         t9 ();
    0x00001c60 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001c64 beqz v0, 0x1c34           |         
                                         |     } while (v0 == 0);
    0x00001c68 lw t9, -0x7ea0(gp)        |     t9 = sym.imp.strcmp;
    0x00001c6c lw a1, 0x28(sp)           |     a1 = *(var_28h);
    0x00001c70 move a0, s4               |     a0 = s4;
    0x00001c74 jalr t9                   |     t9 ();
    0x00001c78 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001c7c beqz v0, 0x1c34           |         goto label_7;
                                         |     }
    0x00001c80 lb v1, 0x13(s7)           |     v1 = *((s7 + 19));
    0x00001c84 addiu v0, zero, 0x2e      |     v0 = 0x2e;
    0x00001c88 lw t9, -0x7f20(gp)        |     t9 = sym.imp.strlen;
                                         |     if (v1 == v0) {
    0x00001c8c beq v1, v0, 0x1c34        |         goto label_7;
                                         |     }
    0x00001c90 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x00001c94 jalr t9                   |     t9 ();
    0x00001c98 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001c9c move a0, s4               |     a0 = s4;
    0x00001ca0 lw t9, -0x7f20(gp)        |     t9 = sym.imp.strlen;
    0x00001ca4 move s7, v0               |     s7 = v0;
    0x00001ca8 jalr t9                   |     t9 ();
    0x00001cac lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cb0 addu v0, s7, v0           |     v0 = s7 + v0;
    0x00001cb4 lw t9, -0x7f00(gp)        |     t9 = sym.imp.malloc;
    0x00001cb8 addiu a0, v0, 3           |     a0 = v0 + 3;
    0x00001cbc jalr t9                   |     t9 ();
    0x00001cc0 move s7, v0               |     s7 = v0;
    0x00001cc4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001cc8 beqz v0, 0x2840           |         goto label_89;
                                         |     }
    0x00001ccc lw v0, 0x2c(sp)           |     v0 = *(var_2ch);
    0x00001cd0 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00001cd4 addiu a3, v0, -0x7ae8     |     a3 = v0 + -0x7ae8;
    0x00001cd8 lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x00001cdc addiu a2, zero, -1        |     a2 = -1;
    0x00001ce0 addiu a1, zero, 1         |     a1 = 1;
    0x00001ce4 move a0, s7               |     a0 = s7;
    0x00001ce8 sw s4, 0x14(sp)           |     *(var_14h) = s4;
    0x00001cec sw v0, 0x10(sp)           |     *(var_10h) = v0;
    0x00001cf0 jalr t9                   |     t9 ();
    0x00001cf4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001cf8 addiu a2, sp, 0x120       |     a2 = sp + aav.0x00000120;
    0x00001cfc move a1, s7               |     a1 = s7;
    0x00001d00 lw t9, -0x7f78(gp)        |     t9 = sym.imp.__xstat64;
    0x00001d04 addiu a0, zero, 3         |     a0 = 3;
    0x00001d08 jalr t9                   |     t9 ();
    0x00001d0c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00001d10 bnez v0, 0x1d30           |         
    0x00001d14 lw v0, 0x138(sp)          |         v0 = *(var_138h);
    0x00001d18 addiu v1, zero, 0x4000    |         v1 = 0x4000;
    0x00001d1c andi v0, v0, 0xf000       |         v0 &= 0xf000;
    0x00001d20 ori v1, zero, 0x8000      |         v1 = 0x8000;
                                         |         if (v0 == v1) {
    0x00001d24 beq v0, v1, 0x2eb0        |             goto label_90;
                                         |         }
    0x00001d28 lw t9, -0x7fb8(gp)        |         t9 = sym.check_attrib_file;
                                         |         if (v0 == v1) {
    0x00001d2c beq v0, v1, 0x2e58        |             goto label_91;
                                         |         }
                                         |     }
                                         | label_44:
    0x00001d30 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00001d34 move a0, s7               |     a0 = s7;
    0x00001d38 jalr t9                   |     t9 ();
    0x00001d3c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d40 b 0x1c34                  |     goto label_7;
                                         | label_61:
    0x00001d58 lw t9, -0x7ee4(gp)        |     t9 = sym.imp.perror;
    0x00001d5c lw a0, (s5)               |     a0 = *(s5);
    0x00001d60 jalr t9                   |     t9 ();
    0x00001d64 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d68 b 0x1034                  |     goto label_2;
                                         | label_62:
    0x00001d6c sll a0, a0, 2             |     a0 <<= 2;
    0x00001d70 lw t9, -0x7f44(gp)        |     t9 = sym.imp.strtoull;
    0x00001d74 lwx a0, a0(s2)            |     __asm ("lwx a0, a0(s2)");
    0x00001d78 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001d7c move a2, zero             |     a2 = 0;
    0x00001d80 addiu a1, sp, 0x54        |     a1 = sp + 0x54;
    0x00001d84 jalr t9                   |     t9 ();
    0x00001d88 lw a0, 0x2c(sp)           |     a0 = *(var_2ch);
    0x00001d8c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001d90 sw v0, -0x1a28(s1)        |     *((s1 - 1674)) = v0;
    0x00001d94 sw v1, -0x1a24(s1)        |     *((s1 - 1673)) = v1;
                                         |     if (a0 == 0) {
    0x00001d98 bnez a0, 0x1e10           |         
                                         | label_14:
    0x00001d9c lw a0, 0x48(sp)           |         a0 = *(var_48h);
    0x00001da0 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
                                         |         if (v0 == a0) {
    0x00001da4 bne v0, a0, 0x1db0        |             
    0x00001da8 lw v0, 0x54(sp)           |             v0 = *(var_54h);
                                         |             if (v1 == v0) {
    0x00001dac beq v1, v0, 0x1e14        |                 goto label_92;
                                         |             }
                                         |         }
    0x00001db0 lw s0, -0x7eb8(gp)        |         s0 = *((gp - 8110));
    0x00001db4 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
    0x00001db8 lw t9, -0x7ee8(gp)        |         t9 = sym.imp.fwrite;
    0x00001dbc lw a3, (s0)               |         a3 = *(s0);
    0x00001dc0 addiu a2, zero, 0x1f      |         a2 = 0x1f;
    0x00001dc4 addiu a1, zero, 1         |         a1 = 1;
    0x00001dc8 addiu a0, a0, -0x7740     |         a0 += -sym.imp.fscanf;
    0x00001dcc jalr t9                   |         t9 ();
    0x00001dd0 lw v0, -0x1a28(s1)        |         v0 = *((s1 - 1674));
    0x00001dd4 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001dd8 lw a0, (s0)               |         a0 = *(s0);
    0x00001ddc sw v0, 0x18(sp)           |         *(var_18h) = v0;
    0x00001de0 lw v0, 0x48(sp)           |         v0 = *(var_48h);
    0x00001de4 lw a2, -0x7fc4(gp)        |         a2 = *((gp - 8177));
    0x00001de8 lw v1, -0x1a24(s1)        |         v1 = *((s1 - 1673));
    0x00001dec sw v0, 0x10(sp)           |         *(var_10h) = v0;
    0x00001df0 lw v0, 0x4c(sp)           |         v0 = *(var_4ch);
    0x00001df4 lw t9, -0x7f70(gp)        |         t9 = *(gp);
    0x00001df8 sw v1, 0x1c(sp)           |         *(var_1ch) = v1;
    0x00001dfc sw v0, 0x14(sp)           |         *(var_14h) = v0;
    0x00001e00 addiu a2, a2, -0x7720     |         a2 += -sym.imp.localtime;
    0x00001e04 addiu a1, zero, 1         |         a1 = 1;
    0x00001e08 jalr t9                   |         t9 ();
    0x00001e0c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
                                         | label_10:
    0x00001e10 lw v0, 0x54(sp)           |     v0 = *(var_54h);
                                         | label_92:
    0x00001e14 lb v0, (v0)               |     v0 = *(v0);
    0x00001e18 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
                                         |     if (v0 == 0) {
    0x00001e1c beqz v0, 0x184c           |         goto label_8;
                                         |     }
    0x00001e20 lw a2, (s3)               |     a2 = *(s3);
    0x00001e24 addiu a2, a2, 1           |     a2++;
    0x00001e28 sll a2, a2, 2             |     a2 <<= 2;
    0x00001e2c lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x00001e30 lwx a2, a2(s2)            |     __asm ("lwx a2, a2(s2)");
    0x00001e34 addiu a1, a1, -0x76c4     |     a1 += -0x76c4;
    0x00001e38 b 0x151c                  |     goto label_6;
                                         | label_70:
    0x00001e3c lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x00001e40 move a0, s0               |     a0 = s0;
    0x00001e44 addiu a2, zero, 0x1b6     |     a2 = 0x1b6;
    0x00001e48 addiu a1, zero, 0x302     |     a1 = 0x302;
    0x00001e4c sb zero, 0x64(sp)         |     *(var_64h) = 0;
    0x00001e50 lw s5, -0x1a28(s1)        |     s5 = *((s1 - 1674));
    0x00001e54 lw s0, -0x1a24(s1)        |     s0 = *((s1 - 1673));
    0x00001e58 jalr t9                   |     t9 ();
    0x00001e5c move s3, v0               |     s3 = v0;
    0x00001e60 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001e64 sw v0, -0x5ff0(s2)        |     *((s2 - 6140)) = v0;
                                         |     if (v0 < 0) {
    0x00001e68 bltz v0, 0x201c           |         goto label_93;
                                         |     }
    0x00001e6c sll v1, s5, 0xa           |     v1 = s5 << 0xa;
    0x00001e70 sll v0, s0, 0xa           |     v0 = s0 << 0xa;
    0x00001e74 srl s5, s5, 0x16          |     s5 >>= 0x16;
    0x00001e78 addiu s6, v1, -1          |     s6 = v1 + -1;
    0x00001e7c or v0, s5, v0             |     v0 = s5 | v0;
    0x00001e80 sltu v1, s6, v1           |     v1 = (s6 < v1) ? 1 : 0;
    0x00001e84 addiu v0, v0, -1          |     v0 += -1;
    0x00001e88 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00001e8c addu s0, v1, v0           |     s0 = v1 + v0;
    0x00001e90 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00001e94 move a2, s6               |     a2 = s6;
    0x00001e98 move a3, s0               |     a3 = s0;
    0x00001e9c move a0, s3               |     a0 = s3;
    0x00001ea0 jalr t9                   |     t9 ();
    0x00001ea4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == s6) {
    0x00001ea8 beq v0, s6, 0x2524        |         goto label_94;
                                         |     }
    0x00001eac lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         | label_20:
    0x00001eb0 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00001eb4 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00001eb8 addiu a0, a0, -0x7600     |     a0 += -sym.imp.time;
    0x00001ebc bal 0x3860                |     fcn_00003860 ();
    0x00001ec0 lw t9, -0x7edc(gp)        |     t9 = sym.imp._IO_getc;
    0x00001ec4 move a0, s5               |     a0 = s5;
    0x00001ec8 jalr t9                   |     t9 ();
    0x00001ecc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ed0 b 0x17c8                  |     goto label_9;
                                         | label_59:
    0x00001ed4 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00001ed8 lw t9, -0x7f44(gp)        |     t9 = sym.imp.strtoull;
    0x00001edc lw a0, 4(v1)              |     a0 = *((v1 + 1));
    0x00001ee0 move a2, zero             |     a2 = 0;
    0x00001ee4 addiu a1, sp, 0x54        |     a1 = sp + 0x54;
    0x00001ee8 jalr t9                   |     t9 ();
    0x00001eec sw v0, -0x1a28(s1)        |     *((s1 - 1674)) = v0;
    0x00001ef0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00001ef4 sw v1, -0x1a24(s1)        |     *((s1 - 1673)) = v1;
    0x00001ef8 b 0x1e10                  |     goto label_10;
                                         | label_67:
    0x00001efc lw v0, -0x7fd8(gp)        |     v0 = *(gp);
                                         |     if (v1 == 0) {
    0x00001f00 bnel v1, zero, 0x1f10     |         goto label_95;
                                         |     }
    0x00001f04 lw t9, -0x7f84(gp)        |     t9 = sym.imp.close;
                                         |     if (v0 != 0) {
    0x00001f08 bnez v0, 0x18c4           |         goto label_11;
                                         |     }
    0x00001f0c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
                                         | label_95:
    0x00001f10 move s1, zero             |     s1 = 0;
    0x00001f14 addiu v0, v0, 0x39ec      |     v0 += 0x39ec;
    0x00001f18 move s7, zero             |     s7 = 0;
    0x00001f1c addiu fp, zero, 1         |     fp = 1;
    0x00001f20 move s6, zero             |     s6 = 0;
    0x00001f24 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x00001f28 b 0x1f44                  |     
                                         |     while (v0 != 0) {
    0x00001f2c srl v0, fp, 0x1f          |         v0 = fp >> 0x1f;
    0x00001f30 sll v1, s6, 1             |         v1 = s6 << 1;
    0x00001f34 move s1, fp               |         s1 = fp;
    0x00001f38 move s7, s6               |         s7 = s6;
    0x00001f3c sll fp, fp, 1             |         fp <<= 1;
    0x00001f40 or s6, v0, v1             |         s6 = v0 | v1;
    0x00001f44 lw t9, 0x28(sp)           |         t9 = *(var_28h);
    0x00001f48 move a2, fp               |         a2 = fp;
    0x00001f4c move a3, s6               |         a3 = s6;
    0x00001f50 move a0, s4               |         a0 = s4;
    0x00001f54 jalr t9                   |         t9 ();
    0x00001f58 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001f5c bnez v0, 0x1f2c           |         
                                         |     }
    0x00001f60 addiu v0, fp, -1          |     v0 = fp + -1;
    0x00001f64 sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
    0x00001f68 addiu v0, s6, -1          |     v0 = s6 + -1;
    0x00001f6c sw v0, 0x40(sp)           |     *(var_40h) = v0;
                                         |     do {
    0x00001f70 lw v0, 0x3c(sp)           |         v0 = *(var_3ch);
    0x00001f74 lw v1, 0x40(sp)           |         v1 = *(var_40h);
    0x00001f78 sltu v0, v0, fp           |         v0 = (v0 < fp) ? 1 : 0;
    0x00001f7c addu v0, v0, v1           |         v0 += v1;
    0x00001f80 slt v1, s7, v0            |         v1 = (s7 < v0) ? 1 : 0;
    0x00001f84 addu a1, fp, s1           |         a1 = fp + s1;
                                         |         if (v1 == 0) {
    0x00001f88 beqz v1, 0x1ff8           |             goto label_96;
                                         |         }
                                         | label_12:
    0x00001f8c sltu v1, a1, fp           |         v1 = (a1 < fp) ? 1 : 0;
    0x00001f90 addu v0, s6, s7           |         v0 = s6 + s7;
    0x00001f94 addu v1, v1, v0           |         v1 += v0;
    0x00001f98 sll v0, v1, 0x1f          |         v0 = v1 << 0x1f;
    0x00001f9c srl a1, a1, 1             |         a1 >>= 1;
    0x00001fa0 or a1, v0, a1             |         a1 = v0 | a1;
    0x00001fa4 sra s5, v1, 1             |         s5 = v1 >> 1;
    0x00001fa8 lw t9, 0x28(sp)           |         t9 = *(var_28h);
    0x00001fac move a2, a1               |         a2 = a1;
    0x00001fb0 sw a1, 0x38(sp)           |         *(var_38h) = a1;
    0x00001fb4 move a3, s5               |         a3 = s5;
    0x00001fb8 move a0, s4               |         a0 = s4;
    0x00001fbc jalr t9                   |         t9 ();
    0x00001fc0 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00001fc4 lw a1, 0x38(sp)           |         a1 = *(var_38h);
                                         |         if (v0 == 0) {
    0x00001fc8 bnez v0, 0x1fec           |             
    0x00001fcc move fp, a1               |             fp = a1;
    0x00001fd0 move s6, s5               |             s6 = s5;
    0x00001fd4 addiu v0, fp, -1          |             v0 = fp + -1;
    0x00001fd8 sw v0, 0x3c(sp)           |             *(var_3ch) = v0;
    0x00001fdc addiu v0, s6, -1          |             v0 = s6 + -1;
    0x00001fe0 move a1, s1               |             a1 = s1;
    0x00001fe4 move s5, s7               |             s5 = s7;
    0x00001fe8 sw v0, 0x40(sp)           |             *(var_40h) = v0;
                                         |         }
    0x00001fec move s1, a1               |         s1 = a1;
    0x00001ff0 move s7, s5               |         s7 = s5;
    0x00001ff4 b 0x1f70                  |         
                                         |     } while (1);
                                         | label_96:
    0x00001ff8 lw v0, 0x3c(sp)           |     v0 = *(var_3ch);
                                         |     if (v0 != s7) {
    0x00001ffc bne v0, s7, 0x200c        |         goto label_97;
                                         |     }
    0x00002000 sltu v0, s1, v0           |     v0 = (s1 < v0) ? 1 : 0;
    0x00002004 addu a1, fp, s1           |     a1 = fp + s1;
                                         |     if (v0 != 0) {
    0x00002008 bnez v0, 0x1f8c           |         goto label_12;
                                         |     }
                                         | label_97:
    0x0000200c addiu s5, s1, 1           |     s5 = s1 + 1;
    0x00002010 sltu s1, s5, s1           |     s1 = (s5 < s1) ? 1 : 0;
    0x00002014 addu s1, s1, s7           |     s1 += s7;
    0x00002018 b 0x18c0                  |     goto label_13;
                                         | label_93:
    0x0000201c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002020 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002024 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002028 addiu a0, a0, -0x761c     |     a0 += -0x761c;
    0x0000202c bal 0x3860                |     fcn_00003860 ();
                                         | label_68:
    0x00002030 addiu a0, s0, -1          |     a0 = s0 + -1;
    0x00002034 sll a0, a0, 2             |     a0 <<= 2;
    0x00002038 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x0000203c lw t9, -0x7f44(gp)        |     t9 = sym.imp.strtoull;
    0x00002040 lwx a0, a0(s2)            |     __asm ("lwx a0, a0(s2)");
    0x00002044 move a2, zero             |     a2 = 0;
    0x00002048 addiu a1, sp, 0x54        |     a1 = sp + 0x54;
    0x0000204c jalr t9                   |     t9 ();
    0x00002050 sw v0, -0x1a28(s1)        |     *((s1 - 1674)) = v0;
    0x00002054 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002058 sw v1, -0x1a24(s1)        |     *((s1 - 1673)) = v1;
    0x0000205c b 0x1d9c                  |     goto label_14;
                                         | label_69:
    0x00002060 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002064 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002068 addiu a0, a0, -0x768c     |     a0 += -0x768c;
    0x0000206c bal 0x3860                |     fcn_00003860 ();
                                         | label_74:
    0x00002070 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002074 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002078 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x0000207c addiu a0, a0, -0x7634     |     a0 += -0x7634;
    0x00002080 bal 0x3860                |     fcn_00003860 ();
                                         | label_78:
    0x00002084 addiu v1, zero, 0x1680    |     v1 = 0x1680;
                                         |     if (v0 == v1) {
    0x00002088 beq v0, v1, 0x2e98        |         goto label_98;
                                         |     }
    0x0000208c addiu v1, zero, 0x20      |     v1 = 0x20;
                                         |     if (v0 != v1) {
    0x00002090 bne v0, v1, 0x2c94        |         goto label_80;
                                         |     }
    0x00002094 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
                                         | label_42:
    0x00002098 lui v0, 2                 |     v0 = 0x20000;
    0x0000209c addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x000020a0 addiu v0, v0, 0x24        |     v0 += 0x24;
    0x000020a4 sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
    0x000020a8 addiu v0, zero, -0x10     |     v0 = -0x10;
                                         | label_28:
    0x000020ac sb v0, 0x15(s0)           |     *((s0 + 21)) = v0;
    0x000020b0 addiu v0, zero, 2         |     v0 = 2;
    0x000020b4 sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x000020b8 addiu v0, zero, -0x20     |     v0 = -0x20;
    0x000020bc sb v0, 0x11(s0)           |     *((s0 + 17)) = v0;
    0x000020c0 sb zero, 0x12(s0)         |     *((s0 + 18)) = 0;
    0x000020c4 b 0x1aa8                  |     goto label_15;
                                         | label_85:
    0x000020c8 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
                                         | label_18:
    0x000020cc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000020d0 move v1, v0               |     v1 = v0;
    0x000020d4 sw v0, 0x30(sp)           |     *(var_30h) = v0;
    0x000020d8 lw v1, -0x1a40(v1)        |     v1 = *((v1 - 1680));
    0x000020dc addiu v0, zero, 0x20      |     v0 = 0x20;
                                         |     if (v1 == v0) {
    0x000020e0 beql v1, v0, 0x244c       |         goto label_99;
                                         |     }
    0x000020e4 lw v0, 0x24(s0)           |     v0 = *((s0 + 9));
    0x000020e8 lhu v0, 0x16(s0)          |     v0 = *((s0 + 11));
    0x000020ec sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
                                         | label_19:
    0x000020f0 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x000020f4 lw a0, -0x5ff0(s2)        |     a0 = *((s2 - 6140));
    0x000020f8 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x000020fc move a2, zero             |     a2 = 0;
    0x00002100 move a3, zero             |     a3 = 0;
    0x00002104 jalr t9                   |     t9 ();
    0x00002108 or v0, v0, v1             |     v0 |= v1;
    0x0000210c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x00002110 bnez v0, 0x304c           |         goto label_100;
                                         |     }
    0x00002114 lw t0, -0x7fdc(gp)        |     t0 = *((gp - 8183));
    0x00002118 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x0000211c lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00002120 move fp, zero             |     fp = 0;
    0x00002124 b 0x2150                  |     
                                         |     while (v0 != 0) {
    0x00002128 lw s4, -0x5fe8(s7)        |         s4 = *((s7 - 6138));
    0x0000212c lw t9, -0x7f28(gp)        |         t9 = sym.imp.write;
    0x00002130 lw a1, -0x1c7c(s6)        |         a1 = *((s6 - 1823));
    0x00002134 move a2, s4               |         a2 = s4;
    0x00002138 move a0, s5               |         a0 = s5;
    0x0000213c jalr t9                   |         t9 ();
    0x00002140 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002144 lw t0, 0x28(sp)           |         t0 = *(var_28h);
                                         |         if (s4 != v0) {
    0x00002148 bne s4, v0, 0x31ec        |             goto label_101;
                                         |         }
    0x0000214c addiu fp, fp, 1           |         fp++;
    0x00002150 lw v0, -0x1a38(t0)        |         v0 = *((t0 - 1678));
    0x00002154 lw s5, -0x5ff0(s2)        |         s5 = *((s2 - 6140));
    0x00002158 slt v0, fp, v0            |         v0 = (fp < v0) ? 1 : 0;
    0x0000215c sw t0, 0x28(sp)           |         *(var_28h) = t0;
    0x00002160 bnez v0, 0x2128           |         
                                         |     }
    0x00002164 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002168 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x0000216c move a2, zero             |     a2 = 0;
    0x00002170 move a3, zero             |     a3 = 0;
    0x00002174 move a0, s5               |     a0 = s5;
    0x00002178 jalr t9                   |     t9 ();
    0x0000217c or v0, v0, v1             |     v0 |= v1;
    0x00002180 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002184 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != 0) {
    0x00002188 bnez v0, 0x350c           |         goto label_102;
                                         |     }
    0x0000218c lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002190 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002194 addiu a2, zero, 0x200     |     a2 = 0x200;
    0x00002198 addiu a1, s3, -0x1c54     |     a1 = s3 + -0x1c54;
    0x0000219c move a0, s5               |     a0 = s5;
    0x000021a0 jalr t9                   |     t9 ();
    0x000021a4 move s6, v0               |     s6 = v0;
    0x000021a8 addiu v0, zero, 0x200     |     v0 = 0x200;
    0x000021ac lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000021b0 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s6 != v0) {
    0x000021b4 bne s6, v0, 0x34b8        |         goto label_103;
                                         |     }
    0x000021b8 lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x000021bc lw v1, -0x1a40(v0)        |     v1 = *((v0 - 1680));
    0x000021c0 addiu v0, zero, 0x20      |     v0 = 0x20;
    0x000021c4 lw fp, -0x7fdc(gp)        |     fp = *((gp - 8183));
                                         |     if (v1 == v0) {
    0x000021c8 beq v1, v0, 0x22f4        |         goto label_104;
                                         |     }
    0x000021cc lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
                                         | label_17:
    0x000021d0 lw s3, -0x1a38(t0)        |     s3 = *((t0 - 1678));
                                         | label_16:
    0x000021d4 lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x000021d8 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x000021dc mul s3, s3, v0            |     __asm ("mul s3, s3, v0");
    0x000021e0 lw a0, -0x5ff0(s2)        |     a0 = *((s2 - 6140));
    0x000021e4 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x000021e8 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x000021ec sra s6, s3, 0x1f          |     s6 = s3 >> 0x1f;
    0x000021f0 move a2, s3               |     a2 = s3;
    0x000021f4 move a3, s6               |     a3 = s6;
    0x000021f8 jalr t9                   |     t9 ();
    0x000021fc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s3 != v0) {
    0x00002200 bne s3, v0, 0x3628        |         goto label_105;
                                         |     }
    0x00002204 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s6 != v1) {
    0x00002208 bne s6, v1, 0x3628        |         goto label_105;
                                         |     }
    0x0000220c lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x00002210 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002214 addiu s5, zero, 1         |     s5 = 1;
    0x00002218 b 0x2248                  |     
                                         |     while (v0 == 0) {
    0x0000221c lw s7, -0x5fe8(fp)        |         s7 = *(var_5fe8h);
    0x00002220 lw v0, 0x2c(sp)           |         v0 = *(var_2ch);
    0x00002224 lw t9, -0x7f28(gp)        |         t9 = sym.imp.write;
    0x00002228 mul s7, v0, s7            |         __asm ("mul s7, v0, s7");
    0x0000222c lw a1, -0x1c60(s3)        |         a1 = *((s3 - 1816));
    0x00002230 move a2, s7               |         a2 = s7;
    0x00002234 jalr t9                   |         t9 ();
    0x00002238 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x0000223c lw t0, 0x28(sp)           |         t0 = *(var_28h);
                                         |         if (s7 != v0) {
    0x00002240 bne s7, v0, 0x30a0        |             goto label_106;
                                         |         }
    0x00002244 addiu s5, s5, 1           |         s5++;
    0x00002248 lw v0, -0x5fec(s6)        |         v0 = *((s6 - 6139));
    0x0000224c lw a0, -0x5ff0(s2)        |         a0 = *((s2 - 6140));
    0x00002250 slt v0, v0, s5            |         v0 = (v0 < s5) ? 1 : 0;
    0x00002254 sw t0, 0x28(sp)           |         *(var_28h) = t0;
    0x00002258 beqz v0, 0x221c           |         
                                         |     }
    0x0000225c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002260 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002264 lw a1, -0x1c68(s1)        |     a1 = *((s1 - 1818));
    0x00002268 lw s4, -0x1c6c(v0)        |     s4 = *((v0 - 1819));
    0x0000226c move a2, s4               |     a2 = s4;
    0x00002270 jalr t9                   |     t9 ();
    0x00002274 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002278 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s4 != v0) {
    0x0000227c bne s4, v0, 0x2ef4        |         goto label_107;
                                         |     }
    0x00002280 lw v1, -0x7fdc(gp)        |     v1 = *((gp - 8183));
    0x00002284 addiu v0, zero, 1         |     v0 = 1;
    0x00002288 lw v1, -0x1a08(v1)        |     v1 = *((v1 - 1666));
    0x0000228c lw s4, -0x5ff0(s2)        |     s4 = *((s2 - 6140));
                                         |     if (v1 == v0) {
    0x00002290 beq v1, v0, 0x286c        |         goto label_108;
                                         |     }
                                         | label_29:
    0x00002294 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002298 lw a0, -0x1c7c(v0)        |     a0 = *((v0 - 1823));
    0x0000229c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x000022a0 beqz a0, 0x22b0           |         
    0x000022a4 jalr t9                   |         t9 ();
    0x000022a8 nop                       |         
    0x000022ac lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000022b0 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000022b4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x000022b8 beqz a0, 0x22c8           |         
    0x000022bc jalr t9                   |         t9 ();
    0x000022c0 nop                       |         
    0x000022c4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000022c8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000022cc lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000022d0 jalr t9                   |     t9 ();
    0x000022d4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000022d8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000022dc lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x000022e0 jalr t9                   |     t9 ();
    0x000022e4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000022e8 lw t9, -0x7f0c(gp)        |     t9 = *(gp);
    0x000022ec move a0, zero             |     a0 = 0;
    0x000022f0 jalr t9                   |     t9 ();
                                         | label_104:
    0x000022f4 lhu s7, 0x30(s0)          |     s7 = *((s0 + 24));
    0x000022f8 lw s5, -0x5ff0(s2)        |     s5 = *((s2 - 6140));
    0x000022fc lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x00002300 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002304 mul s7, s7, v0            |     __asm ("mul s7, s7, v0");
    0x00002308 lw s0, -0x7fdc(gp)        |     s0 = *((gp - 8183));
    0x0000230c sw t0, 0x34(sp)           |     *(var_34h) = t0;
    0x00002310 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002314 move a0, s5               |     a0 = s5;
    0x00002318 sra t2, s7, 0x1f          |     t2 = s7 >> 0x1f;
    0x0000231c move a2, s7               |     a2 = s7;
    0x00002320 move a3, t2               |     a3 = t2;
    0x00002324 sw t2, 0x28(sp)           |     *(var_28h) = t2;
    0x00002328 jalr t9                   |     t9 ();
    0x0000232c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002330 lw a1, -0x1c64(s0)        |     a1 = *((s0 - 1817));
                                         |     if (s7 != v0) {
    0x00002334 bne s7, v0, 0x35d4        |         goto label_109;
                                         |     }
    0x00002338 lw t2, 0x28(sp)           |     t2 = *(var_28h);
    0x0000233c lw t0, 0x34(sp)           |     t0 = *(var_34h);
                                         |     if (t2 != v1) {
    0x00002340 bne t2, v1, 0x35d4        |         goto label_109;
                                         |     }
    0x00002344 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002348 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x0000234c addiu a2, zero, 0x200     |     a2 = 0x200;
    0x00002350 move a0, s5               |     a0 = s5;
    0x00002354 jalr t9                   |     t9 ();
    0x00002358 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000235c lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != s6) {
    0x00002360 bne v0, s6, 0x3584        |         goto label_110;
                                         |     }
    0x00002364 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002368 lw s6, -0x1a34(v0)        |     s6 = *((v0 - 1677));
                                         |     if (s6 == 0) {
    0x0000236c beql s6, zero, 0x21d4     |         goto label_16;
                                         |     }
    0x00002370 lw s3, -0x1a38(t0)        |     s3 = *((t0 - 1678));
    0x00002374 lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x00002378 lw s7, -0x5ff0(s2)        |     s7 = *((s2 - 6140));
    0x0000237c mul s6, s6, v0            |     __asm ("mul s6, s6, v0");
    0x00002380 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002384 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002388 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x0000238c move a0, s7               |     a0 = s7;
    0x00002390 sra s5, s6, 0x1f          |     s5 = s6 >> 0x1f;
    0x00002394 move a2, s6               |     a2 = s6;
    0x00002398 move a3, s5               |     a3 = s5;
    0x0000239c jalr t9                   |     t9 ();
    0x000023a0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s6 != v0) {
    0x000023a4 bne s6, v0, 0x3560        |         goto label_111;
                                         |     }
    0x000023a8 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s5 != v1) {
    0x000023ac bne s5, v1, 0x3560        |         goto label_111;
                                         |     }
    0x000023b0 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x000023b4 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x000023b8 addiu a2, zero, 0x200     |     a2 = 0x200;
    0x000023bc addiu a1, s3, -0x1c54     |     a1 = s3 + -0x1c54;
    0x000023c0 move a0, s7               |     a0 = s7;
    0x000023c4 jalr t9                   |     t9 ();
    0x000023c8 addiu v1, zero, 0x200     |     v1 = 0x200;
    0x000023cc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000023d0 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 == v1) {
    0x000023d4 beq v0, v1, 0x21d0        |         goto label_17;
                                         |     }
    0x000023d8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000023dc lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000023e0 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x000023e4 jalr t9                   |     t9 ();
    0x000023e8 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000023ec lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x000023f0 beqz a0, 0x2404           |         
    0x000023f4 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000023f8 jalr t9                   |         t9 ();
    0x000023fc nop                       |         
    0x00002400 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00002404 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002408 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000240c jalr t9                   |     t9 ();
    0x00002410 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002414 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002418 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000241c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002420 addiu a0, a0, -0x71f8     |     a0 += -0x71f8;
    0x00002424 bal 0x3860                |     fcn_00003860 ();
                                         | label_88:
    0x00002428 lw t9, -0x7f88(gp)        |     t9 = sym.imp.closedir;
    0x0000242c move a0, s6               |     a0 = s6;
    0x00002430 jalr t9                   |     t9 ();
    0x00002434 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002438 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000243c move a0, s5               |     a0 = s5;
    0x00002440 jalr t9                   |     t9 ();
    0x00002444 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002448 b 0x20cc                  |     goto label_18;
                                         | label_99:
    0x0000244c sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00002450 b 0x20f0                  |     goto label_19;
                                         | label_76:
    0x00002454 lw v1, -0x1a48(v1)        |     v1 = *((v1 - 1682));
    0x00002458 lw v0, 0xa8(sp)           |     v0 = *(var_a8h);
                                         |     if (v1 == 0) {
    0x0000245c bnez v1, 0x2494           |         
    0x00002460 andi v1, v0, 0xff3f       |         v1 = v0 & 0xff3f;
    0x00002464 addiu a0, zero, 0x300     |         a0 = 0x300;
    0x00002468 addiu a1, zero, 0x800     |         a1 = 0x800;
                                         |         if (v1 == a0) {
    0x0000246c beq v1, a0, 0x279c        |             goto label_112;
                                         |         }
    0x00002470 andi a0, v0, 0xff0f       |         a0 = v0 & 0xff0f;
    0x00002474 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (a0 == a1) {
    0x00002478 beq a0, a1, 0x27a0        |             goto label_113;
                                         |         }
    0x0000247c addiu a0, zero, 0xd00     |         a0 = 0xd00;
    0x00002480 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (v1 == a0) {
    0x00002484 beq v1, a0, 0x27a0        |             goto label_113;
                                         |         }
    0x00002488 addiu a0, zero, 0x1600    |         a0 = 0x1600;
    0x0000248c lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (v1 == a0) {
    0x00002490 beq v1, a0, 0x27a0        |             goto label_113;
                                         |         }
                                         |     }
    0x00002494 addiu v1, zero, 0x200     |     v1 = 0x200;
                                         |     if (v0 == 0) {
    0x00002498 beqz v0, 0x3184           |         goto label_114;
                                         |     }
    0x0000249c andi v0, v0, 0xff00       |     v0 &= 0xff00;
    0x000024a0 addiu v1, zero, 0x700     |     v1 = 0x700;
                                         |     if (v0 == v1) {
    0x000024a4 beq v0, v1, 0x27b0        |         goto label_115;
                                         |     }
    0x000024a8 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.ioctl;
                                         |     if (v0 == v1) {
    0x000024ac beq v0, v1, 0x2db8        |         goto label_116;
                                         |     }
    0x000024b0 addiu a2, sp, 0x5c        |     a2 = sp + 0x5c;
    0x000024b4 addiu a1, zero, 0x301     |     a1 = 0x301;
    0x000024b8 move a0, s0               |     a0 = s0;
    0x000024bc jalr t9                   |     t9 ();
    0x000024c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000024c4 bnez v0, 0x2d88           |         goto label_117;
                                         |     }
    0x000024c8 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x000024cc lbu v1, 0x5d(sp)          |     v1 = *(var_5dh);
    0x000024d0 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x000024d4 lbu v0, 0x5c(sp)          |     v0 = *(var_5ch);
    0x000024d8 sh v1, 0x18(s0)           |     *((s0 + 12)) = v1;
    0x000024dc sh v0, 0x1a(s0)           |     *((s0 + 13)) = v0;
                                         | label_39:
    0x000024e0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_35:
    0x000024e4 addiu a0, zero, -8        |     a0 = -8;
    0x000024e8 sb a0, 0x15(s0)           |     *((s0 + 21)) = a0;
    0x000024ec lw v1, -0x1a40(v0)        |     v1 = *((v0 - 1680));
    0x000024f0 addiu a0, zero, 2         |     a0 = 2;
    0x000024f4 addiu v0, zero, 0x20      |     v0 = 0x20;
    0x000024f8 sb zero, 0x11(s0)         |     *((s0 + 17)) = 0;
    0x000024fc sb a0, 0x12(s0)           |     *((s0 + 18)) = a0;
                                         |     if (v1 == v0) {
    0x00002500 beq v1, v0, 0x29a0        |         goto label_118;
                                         |     }
    0x00002504 addiu v0, zero, 4         |     v0 = 4;
    0x00002508 sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x0000250c b 0x1aa8                  |     goto label_15;
                                         | label_75:
    0x00002510 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002514 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002518 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x0000251c addiu a0, a0, -0x75d8     |     a0 += -0x75d8;
    0x00002520 bal 0x3860                |     fcn_00003860 ();
                                         | label_94:
    0x00002524 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         |     if (v1 != s0) {
    0x00002528 bne v1, s0, 0x1eb0        |         goto label_20;
                                         |     }
    0x0000252c lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002530 addiu a2, zero, 1         |     a2 = 1;
    0x00002534 addiu a1, sp, 0x64        |     a1 = sp + 0x64;
    0x00002538 move a0, s3               |     a0 = s3;
    0x0000253c jalr t9                   |     t9 ();
    0x00002540 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 < 0) {
    0x00002544 bltz v0, 0x2858           |         goto label_119;
                                         |     }
    0x00002548 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x0000254c lw a0, -0x5ff0(s2)        |     a0 = *((s2 - 6140));
    0x00002550 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002554 move a2, zero             |     a2 = 0;
    0x00002558 move a3, zero             |     a3 = 0;
    0x0000255c jalr t9                   |     t9 ();
    0x00002560 or v0, v0, v1             |     v0 |= v1;
    0x00002564 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == 0) {
    0x00002568 beqz v0, 0x1a00           |         goto label_21;
                                         |     }
    0x0000256c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002570 b 0x1eb0                  |     goto label_20;
                                         | label_81:
    0x00002574 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002578 sw v0, 0x40(sp)           |     *(var_40h) = v0;
    0x0000257c lw v0, -0x1a18(v0)        |     v0 = *((v0 - 1670));
    0x00002580 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
                                         |     if (v0 != 0) {
    0x00002584 bnez v0, 0x2d30           |         goto label_120;
                                         |     }
                                         | label_38:
    0x00002588 lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x0000258c lw fp, -0x7fdc(gp)        |     fp = *((gp - 8183));
    0x00002590 move a0, zero             |     a0 = 0;
    0x00002594 lw v0, -0x1a18(v0)        |     v0 = *((v0 - 1670));
    0x00002598 move a1, zero             |     a1 = 0;
    0x0000259c sw a0, -0x1a50(fp)        |     *((fp - 1684)) = a0;
    0x000025a0 sw a1, -0x1a4c(fp)        |     *((fp - 1683)) = a1;
                                         |     if (v0 != 0) {
    0x000025a4 bnez v0, 0x2d04           |         goto label_121;
                                         |     }
                                         | label_37:
    0x000025a8 lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x000025ac lw s4, -0x7fd8(gp)        |     s4 = *(gp);
    0x000025b0 addiu v0, s5, -0x5c80     |     v0 = s5 + -0x5c80;
    0x000025b4 sw v0, 0x28(sp)           |     *(var_28h) = v0;
    0x000025b8 lw v0, -0x7fc4(gp)        |     v0 = *((gp - 8177));
    0x000025bc addiu s7, zero, 0x10      |     s7 = 0x10;
    0x000025c0 addiu v0, v0, -0x7458     |     v0 += -0x7458;
    0x000025c4 sw v0, 0x44(sp)           |     *(var_44h) = v0;
    0x000025c8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000025cc sw v0, 0x38(sp)           |     *(var_38h) = v0;
    0x000025d0 addiu v0, s4, 0x5d78      |     v0 = s4 + fcn.00005d78;
    0x000025d4 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x000025d8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000025dc sw v0, 0x3c(sp)           |     *(var_3ch) = v0;
                                         |     do {
                                         | label_23:
    0x000025e0 lw a1, -0x1a4c(fp)        |         a1 = *(var_1a4ch);
    0x000025e4 lw a0, -0x1a24(s1)        |         a0 = *((s1 - 1673));
    0x000025e8 lw t2, -0x1a50(fp)        |         t2 = *(var_1a50h);
    0x000025ec sltu v0, a1, a0           |         v0 = (a1 < a0) ? 1 : 0;
    0x000025f0 lw a3, -0x1a28(s1)        |         a3 = *((s1 - 1674));
                                         |         if (v0 == 0) {
    0x000025f4 beqz v0, 0x2750           |             goto label_122;
                                         |         }
    0x000025f8 sra v0, s7, 0x1f          |         v0 = s7 >> 0x1f;
                                         | label_24:
    0x000025fc addu a2, s7, t2           |         a2 = s7 + t2;
    0x00002600 sltu v1, a2, s7           |         v1 = (a2 < s7) ? 1 : 0;
    0x00002604 addu v0, v0, a1           |         v0 += a1;
    0x00002608 addu v0, v1, v0           |         v0 = v1 + v0;
    0x0000260c sltu v1, a0, v0           |         v1 = (a0 < v0) ? 1 : 0;
    0x00002610 subu s7, a3, t2           |         __asm ("subu s7, a3, t2");
                                         |         if (v1 != 0) {
    0x00002614 bnel v1, zero, 0x262c     |             
    0x00002618 lw s4, -0x5ff0(s2)        |             s4 = *((s2 - 6140));
                                         |             if (v0 != a0) {
    0x0000261c bne v0, a0, 0x2630        |                 goto label_123;
                                         |             }
    0x00002620 sltu a2, a3, a2           |             a2 = (a3 < a2) ? 1 : 0;
    0x00002624 subu s7, a3, t2           |             __asm ("subu s7, a3, t2");
                                         |             if (a2 == 0) {
    0x00002628 bnel a2, zero, 0x2630     |                 goto label_123;
                                         |             }
                                         |         }
    0x0000262c lw s4, -0x5ff0(s2)        |         s4 = *((s2 - 6140));
                                         | label_123:
    0x00002630 srl v0, t2, 0x16          |         v0 = t2 >> 0x16;
    0x00002634 sll s6, a1, 0xa           |         s6 = a1 << 0xa;
    0x00002638 lw t9, -0x7ef0(gp)        |         t9 = sym.imp.lseek64;
    0x0000263c or s6, v0, s6             |         s6 = v0 | s6;
    0x00002640 sll s5, t2, 0xa           |         s5 = t2 << 0xa;
    0x00002644 sw zero, 0x10(sp)         |         *(var_10h) = 0;
    0x00002648 move a2, s5               |         a2 = s5;
    0x0000264c move a3, s6               |         a3 = s6;
    0x00002650 move a0, s4               |         a0 = s4;
    0x00002654 jalr t9                   |         t9 ();
    0x00002658 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (s5 != v0) {
    0x0000265c bne s5, v0, 0x3240        |             goto label_124;
                                         |         }
    0x00002660 lw t9, -0x7eb4(gp)        |         t9 = sym.imp.__read_chk;
                                         |         if (s6 != v1) {
    0x00002664 bne s6, v1, 0x3240        |             goto label_124;
                                         |         }
    0x00002668 lw a1, 0x28(sp)           |         a1 = *(var_28h);
    0x0000266c move a0, s4               |         a0 = s4;
    0x00002670 addiu a3, zero, 0x4000    |         a3 = 0x4000;
    0x00002674 sll a2, s7, 0xa           |         a2 = s7 << 0xa;
    0x00002678 jalr t9                   |         t9 ();
    0x0000267c move s4, v0               |         s4 = v0;
    0x00002680 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 < 0) {
    0x00002684 bltz v0, 0x2740           |             goto label_125;
                                         |         }
    0x00002688 andi v0, v0, 0x3ff        |         v0 &= 0x3ff;
    0x0000268c lw t9, -0x7f04(gp)        |         t9 = sym.imp.puts;
                                         |         if (v0 != 0) {
    0x00002690 beqz v0, 0x26a0           |             
    0x00002694 lw a0, 0x44(sp)           |             a0 = *(var_44h);
    0x00002698 jalr t9                   |             t9 ();
    0x0000269c lw gp, 0x20(sp)           |             gp = *(var_20h);
                                         |         }
                                         | label_22:
    0x000026a0 lw v0, -0x1a50(fp)        |         v0 = *(var_1a50h);
    0x000026a4 sra a0, s4, 0xa           |         a0 = s4 >> 0xa;
    0x000026a8 lw a2, -0x1a4c(fp)        |         a2 = *(var_1a4ch);
    0x000026ac addu a1, a0, v0           |         a1 = a0 + v0;
    0x000026b0 sra v0, s4, 0x1f          |         v0 = s4 >> 0x1f;
    0x000026b4 sltu v1, a1, a0           |         v1 = (a1 < a0) ? 1 : 0;
    0x000026b8 addu v0, v0, a2           |         v0 += a2;
    0x000026bc addu s4, v1, v0           |         s4 = v1 + v0;
    0x000026c0 sw a1, -0x1a50(fp)        |         *((fp - 1684)) = a1;
    0x000026c4 sw s4, -0x1a4c(fp)        |         *((fp - 1683)) = s4;
                                         |         if (s7 == a0) {
    0x000026c8 beq s7, a0, 0x2748        |             goto label_126;
                                         |         }
    0x000026cc lw v0, 0x38(sp)           |         v0 = *(var_38h);
    0x000026d0 lw v0, -0x1c5c(v0)        |         v0 = *((v0 - 1815));
    0x000026d4 sra a0, v0, 0x1f          |         a0 = v0 >> 0x1f;
    0x000026d8 slt a2, s4, a0            |         a2 = (s4 < a0) ? 1 : 0;
    0x000026dc lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
                                         |         if (a2 == 0) {
    0x000026e0 bnel a2, zero, 0x2f4c     |             goto label_127;
                                         |         }
    0x000026e4 sltu v0, a1, v0           |         v0 = (a1 < v0) ? 1 : 0;
                                         |         if (a0 == s4) {
    0x000026e8 beq a0, s4, 0x2f40        |             goto label_128;
                                         |         }
    0x000026ec sll s7, a1, 1             |         s7 = a1 << 1;
                                         | label_46:
    0x000026f0 lw t9, 0x2c(sp)           |         t9 = *(var_2ch);
    0x000026f4 sw a1, 0x34(sp)           |         *(var_34h) = a1;
    0x000026f8 move a0, s7               |         a0 = s7;
    0x000026fc jalr t9                   |         t9 ();
    0x00002700 lw t9, 0x2c(sp)           |         t9 = *(var_2ch);
    0x00002704 addiu a0, s7, 1           |         a0 = s7 + 1;
    0x00002708 jalr t9                   |         t9 ();
    0x0000270c lw v1, 0x3c(sp)           |         v1 = *(var_3ch);
    0x00002710 lw a1, 0x34(sp)           |         a1 = *(var_34h);
    0x00002714 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002718 lw a0, -0x1a3c(v1)        |         a0 = *((v1 - 1679));
    0x0000271c addiu a2, a1, 1           |         a2 = a1 + 1;
    0x00002720 sltu v0, a2, a1           |         v0 = (a2 < a1) ? 1 : 0;
    0x00002724 addiu a0, a0, 1           |         a0++;
    0x00002728 addu v0, v0, s4           |         v0 += s4;
    0x0000272c sw a0, -0x1a3c(v1)        |         *((v1 - 1679)) = a0;
    0x00002730 sw a2, -0x1a50(fp)        |         *((fp - 1684)) = a2;
    0x00002734 sw v0, -0x1a4c(fp)        |         *((fp - 1683)) = v0;
    0x00002738 addiu s7, zero, 1         |         s7 = 1;
    0x0000273c b 0x25e0                  |         
                                         |     } while (1);
                                         | label_125:
    0x00002740 move s4, zero             |     s4 = 0;
    0x00002744 b 0x26a0                  |     goto label_22;
                                         | label_126:
    0x00002748 addiu s7, zero, 0x10      |     s7 = 0x10;
    0x0000274c b 0x25e0                  |     goto label_23;
                                         | label_122:
    0x00002750 sltu v0, t2, a3           |     v0 = (t2 < a3) ? 1 : 0;
                                         |     if (a0 != a1) {
    0x00002754 bne a0, a1, 0x2760        |         goto label_129;
                                         |     }
    0x00002758 sra v0, s7, 0x1f          |     v0 = s7 >> 0x1f;
                                         |     if (v0 != 0) {
    0x0000275c bnez v0, 0x25fc           |         goto label_24;
                                         |     }
                                         | label_129:
    0x00002760 lw v0, 0x40(sp)           |     v0 = *(var_40h);
    0x00002764 lw v0, -0x1a18(v0)        |     v0 = *((v0 - 1670));
    0x00002768 lw t9, -0x7f3c(gp)        |     t9 = *(gp);
                                         |     if (v0 != 0) {
    0x0000276c bnez v0, 0x2e30           |         goto label_130;
                                         |     }
                                         | label_41:
    0x00002770 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002774 lw a2, -0x1a3c(v0)        |     a2 = *((v0 - 1679));
                                         |     if (a2 == 0) {
    0x00002778 beql a2, zero, 0x1ba8     |         goto label_25;
                                         |     }
    0x0000277c lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x00002780 slti v0, a2, 2            |     v0 = (a2 < 2) ? 1 : 0;
    0x00002784 b 0x1b7c                  |     goto label_26;
                                         | label_112:
    0x0000279c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         | label_113:
    0x000027a0 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000027a4 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000027a8 addiu a0, a0, -0x75c0     |     a0 += -sym.imp.read;
    0x000027ac bal 0x3860                |     fcn_00003860 ();
                                         | label_115:
    0x000027b0 lw t9, -0x7ee0(gp)        |     t9 = sym.imp.ioctl;
    0x000027b4 lui a1, 0x401c            |     a1 = 0x401c0000;
    0x000027b8 addiu a2, sp, 0x64        |     a2 = sp + 0x64;
    0x000027bc addiu a1, a1, 0x204       |     a1 += aav.0x00000204;
    0x000027c0 move a0, s0               |     a0 = s0;
    0x000027c4 jalr t9                   |     t9 ();
    0x000027c8 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != 0) {
    0x000027cc bnez v0, 0x31d8           |         goto label_131;
                                         |     }
    0x000027d0 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x000027d4 lw a0, 0x68(sp)           |     a0 = *(var_68h);
    0x000027d8 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x000027dc lw v0, 0x64(sp)           |     v0 = *(var_64h);
    0x000027e0 sh a0, 0x18(s0)           |     *((s0 + 12)) = a0;
    0x000027e4 lw a0, 0x6c(sp)           |     a0 = *(var_6ch);
    0x000027e8 addiu v1, zero, 0x5a0     |     v1 = 0x5a0;
    0x000027ec sh a0, 0x1a(s0)           |     *((s0 + 13)) = a0;
                                         |     if (v0 == v1) {
    0x000027f0 beq v0, v1, 0x1a8c        |         goto label_27;
                                         |     }
    0x000027f4 sltiu v1, v0, 0x5a1       |     v1 = (v0 < 0x5a1) ? 1 : 0;
    0x000027f8 addiu v1, zero, 0x960     |     v1 = 0x960;
                                         |     if (v1 != 0) {
    0x000027fc bnez v1, 0x2968           |         goto label_132;
                                         |     }
                                         |     if (v0 == v1) {
    0x00002800 beql v0, v1, 0x2994       |         goto label_133;
                                         |     }
    0x00002804 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002808 addiu v1, zero, 0x1680    |     v1 = 0x1680;
    0x0000280c addiu v0, zero, -0x10     |     v0 = -0x10;
                                         |     if (v0 == v1) {
    0x00002810 beq v0, v1, 0x20ac        |         goto label_28;
                                         |     }
                                         | label_45:
    0x00002814 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_30:
    0x00002818 addiu v1, zero, -0x10     |     v1 = -0x10;
    0x0000281c lw v0, -0x1a10(v0)        |     v0 = *((v0 - 1668));
                                         | label_32:
    0x00002820 sltu v0, zero, v0         |     v0 = (0 < v0) ? 1 : 0;
    0x00002824 addiu v0, v0, 1           |     v0++;
    0x00002828 sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x0000282c addiu v0, zero, -0x20     |     v0 = -0x20;
    0x00002830 sb v1, 0x15(s0)           |     *((s0 + 21)) = v1;
    0x00002834 sb v0, 0x11(s0)           |     *((s0 + 17)) = v0;
    0x00002838 sb zero, 0x12(s0)         |     *((s0 + 18)) = 0;
    0x0000283c b 0x1aa8                  |     goto label_15;
                                         | label_89:
    0x00002840 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002844 lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x00002848 addiu a0, a0, -0x7378     |     a0 += -0x7378;
    0x0000284c jalr t9                   |     t9 ();
    0x00002850 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002854 b 0x1c34                  |     goto label_7;
                                         | label_119:
    0x00002858 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x0000285c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002860 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002864 addiu a0, a0, -0x75ec     |     a0 += -0x75ec;
    0x00002868 bal 0x3860                |     fcn_00003860 ();
                                         | label_108:
    0x0000286c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002870 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002874 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002878 move a2, zero             |     a2 = 0;
    0x0000287c move a3, zero             |     a3 = 0;
    0x00002880 move a0, s4               |     a0 = s4;
    0x00002884 jalr t9                   |     t9 ();
    0x00002888 or v0, v0, v1             |     v0 |= v1;
    0x0000288c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002890 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != 0) {
    0x00002894 bnez v0, 0x318c           |         goto label_134;
                                         |     }
    0x00002898 lw v0, 0x30(sp)           |     v0 = *(var_30h);
    0x0000289c lw s6, -0x7fdc(gp)        |     s6 = *((gp - 8183));
    0x000028a0 lw v1, -0x1a40(v0)        |     v1 = *((v0 - 1680));
    0x000028a4 addiu v0, zero, 0x20      |     v0 = 0x20;
    0x000028a8 lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
                                         |     if (v1 == v0) {
    0x000028ac beq v1, v0, 0x29f4        |         goto label_135;
                                         |     }
    0x000028b0 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x000028b4 addiu a2, zero, 3         |     a2 = 3;
    0x000028b8 move a0, s4               |     a0 = s4;
    0x000028bc jalr t9                   |     t9 ();
    0x000028c0 addiu v1, zero, 3         |     v1 = 3;
    0x000028c4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != v1) {
    0x000028c8 bne v0, v1, 0x32c4        |         goto label_136;
                                         |     }
    0x000028cc lw s2, -0x5ff0(s2)        |     s2 = *((s2 - 6140));
    0x000028d0 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x000028d4 move a0, s2               |     a0 = s2;
    0x000028d8 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x000028dc addiu a2, zero, 0x3e      |     a2 = 0x3e;
    0x000028e0 move a3, zero             |     a3 = 0;
    0x000028e4 jalr t9                   |     t9 ();
    0x000028e8 addiu a0, zero, 0x3e      |     a0 = 0x3e;
    0x000028ec lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != a0) {
    0x000028f0 bne v0, a0, 0x3278        |         goto label_137;
                                         |     }
    0x000028f4 lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
                                         |     if (v1 != 0) {
    0x000028f8 bnez v1, 0x3278           |         goto label_137;
                                         |     }
    0x000028fc lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002900 addiu a2, zero, 0x1c0     |     a2 = aav.0x000001c0;
    0x00002904 addiu a1, a1, 0x3e        |     a1 += 0x3e;
    0x00002908 move a0, s2               |     a0 = s2;
    0x0000290c jalr t9                   |     t9 ();
    0x00002910 addiu v1, zero, 0x1c0     |     v1 = aav.0x000001c0;
    0x00002914 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 == v1) {
    0x00002918 beq v0, v1, 0x2294        |         goto label_29;
                                         |     }
    0x0000291c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002920 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00002924 jalr t9                   |     t9 ();
    0x00002928 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x0000292c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00002930 beqz a0, 0x2944           |         
    0x00002934 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00002938 jalr t9                   |         t9 ();
    0x0000293c nop                       |         
    0x00002940 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00002944 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002948 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000294c jalr t9                   |     t9 ();
    0x00002950 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002954 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002958 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000295c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002960 addiu a0, a0, -0x6eec     |     a0 += -0x6eec;
    0x00002964 bal 0x3860                |     fcn_00003860 ();
                                         | label_132:
    0x00002968 addiu v1, zero, 0x2d0     |     v1 = aav.0x000002d0;
    0x0000296c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 == v1) {
    0x00002970 bnel v0, v1, 0x2818       |         goto label_30;
                                         |     }
                                         | label_34:
    0x00002974 addiu v0, zero, -3        |     v0 = -3;
    0x00002978 b 0x1a90                  |     goto label_31;
                                         | label_77:
    0x0000297c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002980 lui v0, 2                 |     v0 = 0x20000;
    0x00002984 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00002988 addiu v0, v0, 0xf         |     v0 += 0xf;
    0x0000298c sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
                                         | label_33:
    0x00002990 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_133:
    0x00002994 addiu v1, zero, -7        |     v1 = -7;
    0x00002998 lw v0, -0x1a10(v0)        |     v0 = *((v0 - 1668));
    0x0000299c b 0x2820                  |     goto label_32;
                                         | label_118:
    0x000029a0 lw v1, -0x1a28(s1)        |     v1 = *((s1 - 1674));
    0x000029a4 lw a0, -0x1a24(s1)        |     a0 = *((s1 - 1673));
    0x000029a8 addiu v0, v1, 0x3ff       |     v0 = v1 + 0x3ff;
    0x000029ac sltu v1, v0, v1           |     v1 = (v0 < v1) ? 1 : 0;
    0x000029b0 addu v1, v1, a0           |     v1 += a0;
    0x000029b4 sll v1, v1, 0x16          |     v1 <<= 0x16;
    0x000029b8 srl v0, v0, 0xa           |     v0 >>= 0xa;
    0x000029bc or v0, v1, v0             |     v0 = v1 | v0;
    0x000029c0 sltiu v1, v0, 0x4000      |     v1 = (v0 < 0x4000) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x000029c4 beql v1, zero, 0x2d5c     |         goto label_138;
                                         |     }
    0x000029c8 addiu v0, zero, 0x20      |     v0 = 0x20;
    0x000029cc sltiu v1, v0, 0x2000      |     v1 = (v0 < 0x2000) ? 1 : 0;
                                         |     if (v1 == 0) {
    0x000029d0 beql v1, zero, 0x3270     |         goto label_139;
                                         |     }
    0x000029d4 addiu v0, zero, 0x10      |     v0 = 0x10;
    0x000029d8 sltiu v0, v0, 0x100       |     v0 = (v0 < aav.0x00000100) ? 1 : 0;
    0x000029dc addiu a0, zero, 8         |     a0 = 8;
    0x000029e0 addiu v1, zero, 1         |     v1 = 1;
                                         |     if (v0 != 0) {
    0x000029e4 movz v1, a0, v0           |         v1 = a0;
                                         |     }
    0x000029e8 move v0, v1               |     v0 = v1;
    0x000029ec sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x000029f0 b 0x1aa8                  |     goto label_15;
                                         | label_135:
    0x000029f4 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x000029f8 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x000029fc addiu a2, zero, 3         |     a2 = 3;
    0x00002a00 move a0, s4               |     a0 = s4;
    0x00002a04 jalr t9                   |     t9 ();
    0x00002a08 addiu v1, zero, 3         |     v1 = 3;
    0x00002a0c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002a10 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != v1) {
    0x00002a14 bne v0, v1, 0x3138        |         goto label_140;
                                         |     }
    0x00002a18 lw s4, -0x5ff0(s2)        |     s4 = *((s2 - 6140));
    0x00002a1c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002a20 move a0, s4               |     a0 = s4;
    0x00002a24 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002a28 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002a2c addiu a2, zero, 0x5a      |     a2 = 0x5a;
    0x00002a30 move a3, zero             |     a3 = 0;
    0x00002a34 jalr t9                   |     t9 ();
    0x00002a38 addiu a0, zero, 0x5a      |     a0 = 0x5a;
    0x00002a3c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != a0) {
    0x00002a40 bne v0, a0, 0x3278        |         goto label_137;
                                         |     }
    0x00002a44 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v1 != 0) {
    0x00002a48 bnez v1, 0x3278           |         goto label_137;
                                         |     }
    0x00002a4c lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
    0x00002a50 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002a54 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002a58 addiu a2, zero, 0x1a4     |     a2 = segment.NOTE;
    0x00002a5c addiu a1, a1, 0x5a        |     a1 += 0x5a;
    0x00002a60 move a0, s4               |     a0 = s4;
    0x00002a64 jalr t9                   |     t9 ();
    0x00002a68 addiu v1, zero, 0x1a4     |     v1 = segment.NOTE;
    0x00002a6c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002a70 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != v1) {
    0x00002a74 bne v0, v1, 0x30ec        |         goto label_141;
                                         |     }
    0x00002a78 lw s4, -0x5ff0(s2)        |     s4 = *((s2 - 6140));
    0x00002a7c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002a80 move a0, s4               |     a0 = s4;
    0x00002a84 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002a88 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002a8c addiu a2, zero, 0x400     |     a2 = 0x400;
    0x00002a90 move a3, zero             |     a3 = 0;
    0x00002a94 jalr t9                   |     t9 ();
    0x00002a98 addiu a0, zero, 0x400     |     a0 = 0x400;
    0x00002a9c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (v0 != a0) {
    0x00002aa0 bne v0, a0, 0x33d4        |         goto label_142;
                                         |     }
    0x00002aa4 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v1 != 0) {
    0x00002aa8 bnez v1, 0x33d4           |         goto label_142;
                                         |     }
    0x00002aac lw s5, -0x7fdc(gp)        |     s5 = *((gp - 8183));
    0x00002ab0 lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
    0x00002ab4 lw v0, -0x1a34(s5)        |     v0 = *((s5 - 1677));
    0x00002ab8 addiu a1, a1, 0x400       |     a1 += 0x400;
                                         |     if (v0 == 0) {
    0x00002abc beqz v0, 0x33a8           |         goto label_143;
                                         |     }
    0x00002ac0 lw v1, -0x5fe8(fp)        |     v1 = *(var_5fe8h);
    0x00002ac4 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002ac8 mul v0, v0, v1            |     __asm ("mul v0, v0, v1");
    0x00002acc move a0, s4               |     a0 = s4;
    0x00002ad0 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002ad4 addiu s4, v0, -0x400      |     s4 = v0 + -0x400;
    0x00002ad8 move a2, s4               |     a2 = s4;
    0x00002adc jalr t9                   |     t9 ();
    0x00002ae0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002ae4 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s4 != v0) {
    0x00002ae8 bne s4, v0, 0x335c        |         goto label_144;
                                         |     }
    0x00002aec lw s4, -0x1a34(s5)        |     s4 = *((s5 - 1677));
    0x00002af0 lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x00002af4 lw s7, -0x5ff0(s2)        |     s7 = *((s2 - 6140));
    0x00002af8 mul s4, s4, v0            |     __asm ("mul s4, s4, v0");
    0x00002afc lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002b00 sw t0, 0x2c(sp)           |     *(var_2ch) = t0;
    0x00002b04 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002b08 move a0, s7               |     a0 = s7;
    0x00002b0c sra a1, s4, 0x1f          |     a1 = s4 >> 0x1f;
    0x00002b10 move a2, s4               |     a2 = s4;
    0x00002b14 move a3, a1               |     a3 = a1;
    0x00002b18 sw a1, 0x28(sp)           |     *(var_28h) = a1;
    0x00002b1c jalr t9                   |     t9 ();
    0x00002b20 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s4 != v0) {
    0x00002b24 bne s4, v0, 0x3310        |         goto label_145;
                                         |     }
    0x00002b28 lw a1, 0x28(sp)           |     a1 = *(var_28h);
    0x00002b2c lw t0, 0x2c(sp)           |     t0 = *(var_2ch);
                                         |     if (a1 != v1) {
    0x00002b30 bne a1, v1, 0x3310        |         goto label_145;
                                         |     }
    0x00002b34 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002b38 lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
    0x00002b3c sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002b40 addiu a2, zero, 3         |     a2 = 3;
    0x00002b44 move a0, s7               |     a0 = s7;
    0x00002b48 jalr t9                   |     t9 ();
    0x00002b4c addiu v1, zero, 3         |     v1 = 3;
    0x00002b50 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002b54 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != v1) {
    0x00002b58 bne v0, v1, 0x3138        |         goto label_140;
                                         |     }
    0x00002b5c lw s4, -0x1a34(s5)        |     s4 = *((s5 - 1677));
    0x00002b60 lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x00002b64 lw s7, -0x5ff0(s2)        |     s7 = *((s2 - 6140));
    0x00002b68 mul s4, s4, v0            |     __asm ("mul s4, s4, v0");
    0x00002b6c lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002b70 sw t0, 0x2c(sp)           |     *(var_2ch) = t0;
    0x00002b74 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002b78 move a0, s7               |     a0 = s7;
    0x00002b7c addiu s4, s4, 0x5a        |     s4 += 0x5a;
    0x00002b80 sra a1, s4, 0x1f          |     a1 = s4 >> 0x1f;
    0x00002b84 move a2, s4               |     a2 = s4;
    0x00002b88 move a3, a1               |     a3 = a1;
    0x00002b8c sw a1, 0x28(sp)           |     *(var_28h) = a1;
    0x00002b90 jalr t9                   |     t9 ();
    0x00002b94 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s4 != v0) {
    0x00002b98 bne s4, v0, 0x346c        |         goto label_146;
                                         |     }
    0x00002b9c lw a1, 0x28(sp)           |     a1 = *(var_28h);
    0x00002ba0 lw t0, 0x2c(sp)           |     t0 = *(var_2ch);
                                         |     if (a1 != v1) {
    0x00002ba4 bne a1, v1, 0x346c        |         goto label_146;
                                         |     }
    0x00002ba8 lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
    0x00002bac lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002bb0 sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002bb4 addiu a2, zero, 0x1a4     |     a2 = segment.NOTE;
    0x00002bb8 addiu a1, a1, 0x5a        |     a1 += 0x5a;
    0x00002bbc move a0, s7               |     a0 = s7;
    0x00002bc0 jalr t9                   |     t9 ();
    0x00002bc4 addiu v1, zero, 0x1a4     |     v1 = segment.NOTE;
    0x00002bc8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002bcc lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (v0 != v1) {
    0x00002bd0 bne v0, v1, 0x3420        |         goto label_147;
                                         |     }
    0x00002bd4 lw s7, -0x1a34(s5)        |     s7 = *((s5 - 1677));
    0x00002bd8 lw v0, -0x5fe8(fp)        |     v0 = *(var_5fe8h);
    0x00002bdc addiu s4, s7, 2           |     s4 = s7 + 2;
    0x00002be0 mul s4, s4, v0            |     __asm ("mul s4, s4, v0");
    0x00002be4 lw s5, -0x5ff0(s2)        |     s5 = *((s2 - 6140));
    0x00002be8 lw t9, -0x7ef0(gp)        |     t9 = sym.imp.lseek64;
    0x00002bec sw t0, 0x28(sp)           |     *(var_28h) = t0;
    0x00002bf0 sw zero, 0x10(sp)         |     *(var_10h) = 0;
    0x00002bf4 sra s2, s4, 0x1f          |     s2 = s4 >> 0x1f;
    0x00002bf8 move a0, s5               |     a0 = s5;
    0x00002bfc move a2, s4               |     a2 = s4;
    0x00002c00 move a3, s2               |     a3 = s2;
    0x00002c04 jalr t9                   |     t9 ();
    0x00002c08 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s4 != v0) {
    0x00002c0c bne s4, v0, 0x3000        |         goto label_148;
                                         |     }
    0x00002c10 lw t0, 0x28(sp)           |     t0 = *(var_28h);
                                         |     if (s2 != v1) {
    0x00002c14 bne s2, v1, 0x3000        |         goto label_148;
                                         |     }
    0x00002c18 lw s2, -0x1a38(t0)        |     s2 = *((t0 - 1678));
    0x00002c1c lw a1, -0x1a04(s6)        |     a1 = *((s6 - 1665));
    0x00002c20 subu s2, s2, s7           |     __asm ("subu s2, s2, s7");
    0x00002c24 addiu s2, s2, -2          |     s2 += -2;
    0x00002c28 lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x00002c2c sll s2, s2, 9             |     s2 <<= 9;
    0x00002c30 move a2, s2               |     a2 = s2;
    0x00002c34 addu a1, a1, s4           |     a1 += s4;
    0x00002c38 move a0, s5               |     a0 = s5;
    0x00002c3c jalr t9                   |     t9 ();
    0x00002c40 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s2 == v0) {
    0x00002c44 beq s2, v0, 0x2294        |         goto label_29;
                                         |     }
    0x00002c48 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         | label_48:
    0x00002c4c lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00002c50 jalr t9                   |     t9 ();
    0x00002c54 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00002c58 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00002c5c beqz a0, 0x2c70           |         
    0x00002c60 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00002c64 jalr t9                   |         t9 ();
    0x00002c68 nop                       |         
    0x00002c6c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00002c70 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002c74 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00002c78 jalr t9                   |     t9 ();
    0x00002c7c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002c80 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002c84 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002c88 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002c8c addiu a0, a0, -0x6f3c     |     a0 += -0x6f3c;
    0x00002c90 bal 0x3860                |     fcn_00003860 ();
                                         | label_80:
    0x00002c94 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002c98 sw v1, 0x68(sp)           |     *(var_68h) = v1;
    0x00002c9c addiu v1, zero, 0x40      |     v1 = 0x40;
    0x00002ca0 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00002ca4 sw v1, 0x6c(sp)           |     *(var_6ch) = v1;
    0x00002ca8 lui v1, 0x40              |     v1 = 0x400020;
    0x00002cac addiu v1, v1, 0x20        |     
    0x00002cb0 addiu a1, zero, 0x960     |     a1 = 0x960;
    0x00002cb4 sw v1, 0x18(s0)           |     *((s0 + 6)) = v1;
                                         |     if (v0 == a1) {
    0x00002cb8 beq v0, a1, 0x2990        |         goto label_33;
                                         |     }
    0x00002cbc addiu v1, zero, 0xb40     |     v1 = 0xb40;
                                         |     if (a0 == 0) {
    0x00002cc0 beqz a0, 0x2e80           |         goto label_149;
                                         |     }
    0x00002cc4 addiu v1, zero, 0x2d0     |     v1 = aav.0x000002d0;
    0x00002cc8 addiu v1, zero, 0x5a0     |     v1 = 0x5a0;
                                         |     if (v0 == v1) {
    0x00002ccc beq v0, v1, 0x2974        |         goto label_34;
                                         |     }
    0x00002cd0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 == v1) {
    0x00002cd4 bnel v0, v1, 0x24e4       |         goto label_35;
                                         |     }
    0x00002cd8 addiu v0, zero, -7        |     v0 = -7;
    0x00002cdc b 0x1a90                  |     goto label_31;
                                         |     do {
                                         | label_79:
    0x00002ce0 lw s3, -0x7fdc(gp)        |         s3 = *((gp - 8183));
    0x00002ce4 lui v0, 2                 |         v0 = 0x20000;
    0x00002ce8 addiu s0, s3, -0x1c54     |         s0 = s3 + -0x1c54;
    0x00002cec addiu v0, v0, 9           |         v0 += 9;
    0x00002cf0 sw v0, 0x18(s0)           |         *((s0 + 6)) = v0;
    0x00002cf4 addiu v0, zero, -3        |         v0 = -3;
    0x00002cf8 b 0x1a90                  |         goto label_31;
                                         | label_84:
    0x00002cfc addiu a3, a3, 0x7a5c      |         a3 += 0x7a5c;
    0x00002d00 b 0x1b8c                  |         goto label_36;
                                         | label_121:
    0x00002d04 lw a1, -0x7fd8(gp)        |         a1 = *(gp);
    0x00002d08 lw t9, -0x7ec8(gp)        |         t9 = *(gp);
    0x00002d0c addiu a1, a1, 0x5338      |         a1 += 0x5338;
    0x00002d10 addiu a0, zero, 0xe       |         a0 = 0xe;
    0x00002d14 jalr t9                   |         t9 ();
    0x00002d18 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002d1c lw t9, -0x7ed4(gp)        |         t9 = sym.imp.alarm;
    0x00002d20 addiu a0, zero, 5         |         a0 = 5;
    0x00002d24 jalr t9                   |         t9 ();
    0x00002d28 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002d2c b 0x25a8                  |         goto label_37;
                                         | label_120:
    0x00002d30 lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x00002d34 addiu a1, a1, -0x74a0     |         a1 += -0x74a0;
    0x00002d38 addiu a0, zero, 1         |         a0 = 1;
    0x00002d3c jalr t9                   |         t9 ();
    0x00002d40 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002d44 lw v0, -0x7f50(gp)        |         v0 = *((gp - 8148));
    0x00002d48 lw t9, -0x7eb0(gp)        |         t9 = sym.imp.fflush;
    0x00002d4c lw a0, (v0)               |         a0 = *(v0);
    0x00002d50 jalr t9                   |         t9 ();
    0x00002d54 lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002d58 b 0x2588                  |         goto label_38;
                                         | label_138:
    0x00002d5c sb v0, 0xd(s0)            |         *((s0 + 13)) = v0;
    0x00002d60 b 0x1aa8                  |         goto label_15;
                                         | label_86:
    0x00002d64 lw a1, -0x7fc4(gp)        |         a1 = *((gp - 8177));
    0x00002d68 lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x00002d6c lw a2, 0x30(sp)           |         a2 = *(var_30h);
    0x00002d70 addiu a1, a1, -0x73b8     |         a1 += -0x73b8;
    0x00002d74 addiu a0, zero, 1         |         a0 = 1;
    0x00002d78 jalr t9                   |         t9 ();
    0x00002d7c lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002d80 lw s1, -0x7fdc(gp)        |         s1 = *((gp - 8183));
    0x00002d84 b 0x20cc                  |         goto label_18;
                                         | label_117:
    0x00002d88 lw a1, -0x7fc4(gp)        |         a1 = *((gp - 8177));
    0x00002d8c lw t9, -0x7f54(gp)        |         t9 = sym.imp.__printf_chk
    0x00002d90 lw s3, -0x7fdc(gp)        |         s3 = *((gp - 8183));
    0x00002d94 addiu a1, a1, -0x74d4     |         a1 += -0x74d4;
    0x00002d98 addiu a0, zero, 1         |         a0 = 1;
    0x00002d9c jalr t9                   |         t9 ();
    0x00002da0 addiu s0, s3, -0x1c54     |         s0 = s3 + -0x1c54;
    0x00002da4 lui v0, 0xff              |         v0 = 0xff003f;
    0x00002da8 addiu v0, v0, 0x3f        |         
    0x00002dac lw gp, 0x20(sp)           |         gp = *(var_20h);
    0x00002db0 sw v0, 0x18(s0)           |         *((s0 + 6)) = v0;
    0x00002db4 b 0x24e0                  |         goto label_39;
                                         | label_116:
    0x00002db8 lui a1, 0x2000            |         a1 = 0x20000000;
    0x00002dbc addiu a2, sp, 0x58        |         a2 = sp + 0x58;
    0x00002dc0 addiu a1, a1, 0x1260      |         a1 += 0x1260;
    0x00002dc4 move a0, s0               |         a0 = s0;
    0x00002dc8 jalr t9                   |         t9 ();
    0x00002dcc lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |         if (v0 != 0) {
    0x00002dd0 bnez v0, 0x2fd8           |             goto label_150;
                                         |         }
    0x00002dd4 lw v0, 0x58(sp)           |         v0 = *(var_58h);
    0x00002dd8 addiu v1, zero, 0x960     |         v1 = 0x960;
                                         |         if (v0 == v1) {
    0x00002ddc beql v0, v1, 0x2fb0       |             goto label_151;
                                         |         }
    0x00002de0 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00002de4 slti v1, v0, 0x961        |         v1 = (v0 < 0x961) ? 1 : 0;
    0x00002de8 addiu v1, zero, 0xb40     |         v1 = 0xb40;
                                         |         if (v1 == 0) {
    0x00002dec beqz v1, 0x2e40           |             goto label_152;
                                         |         }
    0x00002df0 addiu v1, zero, 0x2d0     |         v1 = aav.0x000002d0;
    0x00002df4 addiu v1, zero, 0x5a0     |         v1 = 0x5a0;
    0x00002df8 beq v0, v1, 0x2ce0        |         
                                         |     } while (v0 == v1);
                                         |     if (v0 == v1) {
    0x00002dfc beql v0, v1, 0x1a7c       |         goto label_40;
                                         |     }
    0x00002e00 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002e04 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         | label_43:
    0x00002e08 lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x00002e0c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002e10 addiu a0, a0, -0x7518     |     a0 += -0x7518;
    0x00002e14 jalr t9                   |     t9 ();
    0x00002e18 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00002e1c lui v0, 0x40              |     v0 = 0x400020;
    0x00002e20 addiu v0, v0, 0x20        |     
    0x00002e24 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002e28 sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
    0x00002e2c b 0x24e0                  |     goto label_39;
                                         | label_130:
    0x00002e30 addiu a0, zero, 0xa       |     a0 = 0xa;
    0x00002e34 jalr t9                   |     t9 ();
    0x00002e38 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002e3c b 0x2770                  |     goto label_41;
                                         | label_152:
    0x00002e40 addiu v1, zero, 0x1680    |     v1 = 0x1680;
                                         |     if (v0 == v1) {
    0x00002e44 beq v0, v1, 0x2f70        |         goto label_153;
                                         |     }
                                         |     if (v0 == v1) {
    0x00002e48 beql v0, v1, 0x2098       |         goto label_42;
                                         |     }
    0x00002e4c lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002e50 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002e54 b 0x2e08                  |     goto label_43;
                                         | label_91:
    0x00002e58 lw a0, 0x30(sp)           |     a0 = *(var_30h);
    0x00002e5c move a1, s4               |     a1 = s4;
    0x00002e60 bal 0x5e04                |     sym_check_attrib_file ();
    0x00002e64 lw t9, 0x34(sp)           |     t9 = *(var_34h);
    0x00002e68 move a2, v0               |     a2 = v0;
    0x00002e6c move a1, s5               |     a1 = s5;
    0x00002e70 move a0, s7               |     a0 = s7;
    0x00002e74 jalr t9                   |     t9 ();
    0x00002e78 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002e7c b 0x1d30                  |     goto label_44;
                                         | label_149:
    0x00002e80 addiu v1, zero, 0x1680    |     v1 = 0x1680;
                                         |     if (v0 == v1) {
    0x00002e84 beq v0, v1, 0x2814        |         goto label_45;
                                         |     }
    0x00002e88 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         |     if (v0 == v1) {
    0x00002e8c bnel v0, v1, 0x24e4       |         goto label_35;
                                         |     }
    0x00002e90 addiu v0, zero, -0x10     |     v0 = -0x10;
    0x00002e94 b 0x20ac                  |     goto label_28;
                                         | label_98:
    0x00002e98 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002e9c lui v0, 2                 |     v0 = 0x20000;
    0x00002ea0 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00002ea4 addiu v0, v0, 0x12        |     v0 += 0x12;
    0x00002ea8 sw v0, 0x18(s0)           |     *((s0 + 6)) = v0;
    0x00002eac b 0x2814                  |     goto label_45;
                                         | label_90:
    0x00002eb0 lw t9, 0x38(sp)           |     t9 = *(var_38h);
    0x00002eb4 move a1, s5               |     a1 = s5;
    0x00002eb8 move a0, s7               |     a0 = s7;
    0x00002ebc jalr t9                   |     t9 ();
    0x00002ec0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002ec4 b 0x1d30                  |     goto label_44;
                                         | label_87:
    0x00002ec8 lw t9, -0x7f88(gp)        |     t9 = sym.imp.closedir;
    0x00002ecc move a0, s6               |     a0 = s6;
    0x00002ed0 jalr t9                   |     t9 ();
    0x00002ed4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002ed8 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002edc lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x00002ee0 addiu a0, a0, -0x7390     |     a0 += -0x7390;
    0x00002ee4 jalr t9                   |     t9 ();
    0x00002ee8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002eec lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00002ef0 b 0x20cc                  |     goto label_18;
                                         | label_107:
    0x00002ef4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002ef8 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00002efc jalr t9                   |     t9 ();
    0x00002f00 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00002f04 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00002f08 beqz a0, 0x2f1c           |         
    0x00002f0c lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00002f10 jalr t9                   |         t9 ();
    0x00002f14 nop                       |         
    0x00002f18 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00002f1c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00002f20 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00002f24 jalr t9                   |     t9 ();
    0x00002f28 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00002f2c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002f30 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002f34 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002f38 addiu a0, a0, -0x7174     |     a0 += -0x7174;
    0x00002f3c bal 0x3860                |     fcn_00003860 ();
                                         | label_128:
    0x00002f40 sll s7, a1, 1             |     s7 = a1 << 1;
                                         |     if (v0 == 0) {
    0x00002f44 beqz v0, 0x26f0           |         goto label_46;
                                         |     }
    0x00002f48 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
                                         | label_127:
    0x00002f4c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002f50 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002f54 addiu a0, a0, -0x7428     |     a0 += -0x7428;
    0x00002f58 bal 0x3860                |     fcn_00003860 ();
                                         | label_83:
    0x00002f5c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002f60 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002f64 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002f68 addiu a0, a0, -0x73e4     |     a0 += -0x73e4;
    0x00002f6c bal 0x3860                |     fcn_00003860 ();
                                         | label_153:
    0x00002f70 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00002f74 lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x00002f78 lui v1, 2                 |     v1 = 0x20000;
    0x00002f7c lw v0, -0x1a10(v0)        |     v0 = *((v0 - 1668));
    0x00002f80 addiu s0, s3, -0x1c54     |     s0 = s3 + -0x1c54;
    0x00002f84 addiu v1, v1, 0x12        |     v1 += 0x12;
    0x00002f88 sltu v0, zero, v0         |     v0 = (0 < v0) ? 1 : 0;
    0x00002f8c sw v1, 0x18(s0)           |     *((s0 + 6)) = v1;
    0x00002f90 addiu v0, v0, 1           |     v0++;
    0x00002f94 addiu v1, zero, -0x10     |     v1 = -0x10;
                                         |     do {
    0x00002f98 sb v0, 0xd(s0)            |         *((s0 + 13)) = v0;
    0x00002f9c addiu v0, zero, -0x20     |         v0 = -0x20;
    0x00002fa0 sb v1, 0x15(s0)           |         *((s0 + 21)) = v1;
    0x00002fa4 sb v0, 0x11(s0)           |         *((s0 + 17)) = v0;
    0x00002fa8 sb zero, 0x12(s0)         |         *((s0 + 18)) = 0;
    0x00002fac b 0x1aa8                  |         goto label_15;
                                         | label_151:
    0x00002fb0 lw s3, -0x7fdc(gp)        |         s3 = *((gp - 8183));
    0x00002fb4 lui v1, 2                 |         v1 = 0x20000;
    0x00002fb8 lw v0, -0x1a10(v0)        |         v0 = *((v0 - 1668));
    0x00002fbc addiu s0, s3, -0x1c54     |         s0 = s3 + -0x1c54;
    0x00002fc0 addiu v1, v1, 0xf         |         v1 += 0xf;
    0x00002fc4 sltu v0, zero, v0         |         v0 = (0 < v0) ? 1 : 0;
    0x00002fc8 sw v1, 0x18(s0)           |         *((s0 + 6)) = v1;
    0x00002fcc addiu v0, v0, 1           |         v0++;
    0x00002fd0 addiu v1, zero, -7        |         v1 = -7;
    0x00002fd4 b 0x2f98                  |         
                                         |     } while (1);
                                         | label_150:
    0x00002fd8 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002fdc lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002fe0 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002fe4 addiu a0, a0, -0x753c     |     a0 += -0x753c;
    0x00002fe8 bal 0x3860                |     fcn_00003860 ();
                                         | label_73:
    0x00002fec lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00002ff0 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00002ff4 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00002ff8 addiu a0, a0, -0x765c     |     a0 += -0x765c;
    0x00002ffc bal 0x3860                |     fcn_00003860 ();
                                         | label_148:
    0x00003000 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003004 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003008 jalr t9                   |     t9 ();
    0x0000300c lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003010 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003014 beqz a0, 0x3028           |         
    0x00003018 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x0000301c jalr t9                   |         t9 ();
    0x00003020 nop                       |         
    0x00003024 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003028 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000302c lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003030 jalr t9                   |     t9 ();
    0x00003034 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003038 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x0000303c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003040 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003044 addiu a0, a0, -0x6f84     |     a0 += -0x6f84;
    0x00003048 bal 0x3860                |     fcn_00003860 ();
                                         | label_100:
    0x0000304c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003050 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003054 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x00003058 jalr t9                   |     t9 ();
    0x0000305c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003060 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003064 lw a0, -0x1c64(v0)        |     a0 = *((v0 - 1817));
    0x00003068 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x0000306c beqz a0, 0x307c           |         
    0x00003070 jalr t9                   |         t9 ();
    0x00003074 nop                       |         
    0x00003078 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x0000307c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003080 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003084 jalr t9                   |     t9 ();
    0x00003088 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000308c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003090 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003094 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003098 addiu a0, a0, -0x7360     |     a0 += -0x7360;
    0x0000309c bal 0x3860                |     fcn_00003860 ();
                                         | label_106:
    0x000030a0 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000030a4 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x000030a8 jalr t9                   |     t9 ();
    0x000030ac lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000030b0 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x000030b4 beqz a0, 0x30c8           |         
    0x000030b8 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000030bc jalr t9                   |         t9 ();
    0x000030c0 nop                       |         
    0x000030c4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000030c8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000030cc lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000030d0 jalr t9                   |     t9 ();
    0x000030d4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000030d8 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000030dc lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000030e0 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000030e4 addiu a0, a0, -0x7194     |     a0 += -0x7194;
    0x000030e8 bal 0x3860                |     fcn_00003860 ();
                                         | label_141:
    0x000030ec lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000030f0 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x000030f4 jalr t9                   |     t9 ();
    0x000030f8 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000030fc lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003100 beqz a0, 0x3114           |         
    0x00003104 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003108 jalr t9                   |         t9 ();
    0x0000310c nop                       |         
    0x00003110 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003114 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003118 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000311c jalr t9                   |     t9 ();
    0x00003120 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003124 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003128 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000312c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003130 addiu a0, a0, -0x709c     |     a0 += -0x709c;
    0x00003134 bal 0x3860                |     fcn_00003860 ();
                                         | label_140:
    0x00003138 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000313c lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003140 jalr t9                   |     t9 ();
    0x00003144 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003148 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x0000314c beqz a0, 0x3160           |         
    0x00003150 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003154 jalr t9                   |         t9 ();
    0x00003158 nop                       |         
    0x0000315c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003160 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003164 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003168 jalr t9                   |     t9 ();
    0x0000316c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003170 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003174 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003178 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x0000317c addiu a0, a0, -0x7108     |     a0 += -0x7108;
    0x00003180 bal 0x3860                |     fcn_00003860 ();
                                         | label_114:
    0x00003184 lw v0, 0xb8(sp)           |     v0 = *(var_b8h);
    0x00003188 b 0x1a40                  |     goto label_47;
                                         | label_134:
    0x0000318c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003190 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003194 jalr t9                   |     t9 ();
    0x00003198 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x0000319c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x000031a0 beqz a0, 0x31b4           |         
    0x000031a4 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000031a8 jalr t9                   |         t9 ();
    0x000031ac nop                       |         
    0x000031b0 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000031b4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000031b8 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000031bc jalr t9                   |     t9 ();
    0x000031c0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000031c4 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000031c8 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000031cc addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000031d0 addiu a0, a0, -0x7148     |     a0 += -0x7148;
    0x000031d4 bal 0x3860                |     fcn_00003860 ();
                                         | label_131:
    0x000031d8 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000031dc lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000031e0 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000031e4 addiu a0, a0, -0x756c     |     a0 += -0x756c;
    0x000031e8 bal 0x3860                |     fcn_00003860 ();
                                         | label_101:
    0x000031ec lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000031f0 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000031f4 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x000031f8 jalr t9                   |     t9 ();
    0x000031fc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003200 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003204 lw a0, -0x1c64(v0)        |     a0 = *((v0 - 1817));
    0x00003208 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x0000320c beqz a0, 0x321c           |         
    0x00003210 jalr t9                   |         t9 ();
    0x00003214 nop                       |         
    0x00003218 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x0000321c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003220 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003224 jalr t9                   |     t9 ();
    0x00003228 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000322c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003230 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003234 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003238 addiu a0, a0, -0x7324     |     a0 += -0x7324;
    0x0000323c bal 0x3860                |     fcn_00003860 ();
                                         | label_124:
    0x00003240 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003244 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003248 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x0000324c addiu a0, a0, -0x7484     |     a0 += -0x7484;
    0x00003250 bal 0x3860                |     fcn_00003860 ();
                                         | label_66:
    0x00003254 lw t9, -0x7ee4(gp)        |     t9 = sym.imp.perror;
    0x00003258 move a0, s1               |     a0 = s1;
    0x0000325c jalr t9                   |     t9 ();
    0x00003260 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003264 lw t9, -0x7f0c(gp)        |     t9 = *(gp);
    0x00003268 addiu a0, zero, 1         |     a0 = 1;
    0x0000326c jalr t9                   |     t9 ();
                                         | label_139:
    0x00003270 sb v0, 0xd(s0)            |     *((s0 + 13)) = v0;
    0x00003274 b 0x1aa8                  |     goto label_15;
                                         | label_137:
    0x00003278 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000327c lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003280 jalr t9                   |     t9 ();
    0x00003284 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003288 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x0000328c beqz a0, 0x32a0           |         
    0x00003290 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003294 jalr t9                   |         t9 ();
    0x00003298 nop                       |         
    0x0000329c lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000032a0 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000032a4 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000032a8 jalr t9                   |     t9 ();
    0x000032ac lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000032b0 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000032b4 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000032b8 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000032bc addiu a0, a0, -0x70dc     |     a0 += -0x70dc;
    0x000032c0 bal 0x3860                |     fcn_00003860 ();
                                         | label_136:
    0x000032c4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000032c8 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x000032cc jalr t9                   |     t9 ();
    0x000032d0 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000032d4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x000032d8 beqz a0, 0x32ec           |         
    0x000032dc lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000032e0 jalr t9                   |         t9 ();
    0x000032e4 nop                       |         
    0x000032e8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000032ec lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000032f0 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000032f4 jalr t9                   |     t9 ();
    0x000032f8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000032fc lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003300 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003304 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003308 addiu a0, a0, -0x6f10     |     a0 += -0x6f10;
    0x0000330c bal 0x3860                |     fcn_00003860 ();
                                         | label_145:
    0x00003310 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003314 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003318 jalr t9                   |     t9 ();
    0x0000331c lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003320 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003324 beqz a0, 0x3338           |         
                                         | label_49:
    0x00003328 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x0000332c jalr t9                   |         t9 ();
    0x00003330 nop                       |         
    0x00003334 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003338 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         | label_50:
    0x0000333c lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003340 jalr t9                   |     t9 ();
    0x00003344 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003348 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x0000334c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003350 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003354 addiu a0, a0, -0x7238     |     a0 += -0x7238;
    0x00003358 bal 0x3860                |     fcn_00003860 ();
                                         | label_144:
    0x0000335c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003360 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003364 jalr t9                   |     t9 ();
    0x00003368 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x0000336c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003370 beqz a0, 0x3384           |         
    0x00003374 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003378 jalr t9                   |         t9 ();
    0x0000337c nop                       |         
    0x00003380 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003384 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003388 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000338c jalr t9                   |     t9 ();
    0x00003390 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003394 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003398 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000339c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000033a0 addiu a0, a0, -0x7034     |     a0 += -0x7034;
    0x000033a4 bal 0x3860                |     fcn_00003860 ();
                                         | label_143:
    0x000033a8 lw s2, -0x1a38(t0)        |     s2 = *((t0 - 1678));
    0x000033ac lw t9, -0x7f28(gp)        |     t9 = sym.imp.write;
    0x000033b0 addiu s2, s2, -2          |     s2 += -2;
    0x000033b4 sll s2, s2, 9             |     s2 <<= 9;
    0x000033b8 move a2, s2               |     a2 = s2;
    0x000033bc move a0, s4               |     a0 = s4;
    0x000033c0 jalr t9                   |     t9 ();
    0x000033c4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (s2 == v0) {
    0x000033c8 beq s2, v0, 0x2294        |         goto label_29;
                                         |     }
    0x000033cc lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000033d0 b 0x2c4c                  |     goto label_48;
                                         | label_142:
    0x000033d4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000033d8 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x000033dc jalr t9                   |     t9 ();
    0x000033e0 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x000033e4 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x000033e8 beqz a0, 0x33fc           |         
    0x000033ec lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000033f0 jalr t9                   |         t9 ();
    0x000033f4 nop                       |         
    0x000033f8 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000033fc lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003400 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003404 jalr t9                   |     t9 ();
    0x00003408 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000340c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003410 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003414 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003418 addiu a0, a0, -0x706c     |     a0 += -0x706c;
    0x0000341c bal 0x3860                |     fcn_00003860 ();
                                         | label_147:
    0x00003420 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003424 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003428 jalr t9                   |     t9 ();
    0x0000342c lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003430 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003434 beqz a0, 0x3448           |         
    0x00003438 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x0000343c jalr t9                   |         t9 ();
    0x00003440 nop                       |         
    0x00003444 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003448 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000344c lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003450 jalr t9                   |     t9 ();
    0x00003454 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003458 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x0000345c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003460 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003464 addiu a0, a0, -0x6fbc     |     a0 += -0x6fbc;
    0x00003468 bal 0x3860                |     fcn_00003860 ();
                                         | label_146:
    0x0000346c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003470 lw a0, -0x1c60(s3)        |     a0 = *((s3 - 1816));
    0x00003474 jalr t9                   |     t9 ();
    0x00003478 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x0000347c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003480 beqz a0, 0x3494           |         
    0x00003484 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003488 jalr t9                   |         t9 ();
    0x0000348c nop                       |         
    0x00003490 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003494 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003498 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000349c jalr t9                   |     t9 ();
    0x000034a0 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000034a4 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000034a8 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000034ac addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000034b0 addiu a0, a0, -0x7004     |     a0 += -0x7004;
    0x000034b4 bal 0x3860                |     fcn_00003860 ();
                                         | label_103:
    0x000034b8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000034bc lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000034c0 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x000034c4 jalr t9                   |     t9 ();
    0x000034c8 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000034cc lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000034d0 lw a0, -0x1c64(v0)        |     a0 = *((v0 - 1817));
    0x000034d4 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x000034d8 beqz a0, 0x34e8           |         
    0x000034dc jalr t9                   |         t9 ();
    0x000034e0 nop                       |         
    0x000034e4 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000034e8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000034ec lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000034f0 jalr t9                   |     t9 ();
    0x000034f4 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000034f8 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000034fc lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003500 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003504 addiu a0, a0, -0x72c0     |     a0 += -0x72c0;
    0x00003508 bal 0x3860                |     fcn_00003860 ();
                                         | label_102:
    0x0000350c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003510 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003514 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x00003518 jalr t9                   |     t9 ();
    0x0000351c lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003520 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003524 lw a0, -0x1c64(v0)        |     a0 = *((v0 - 1817));
    0x00003528 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
                                         |     if (a0 != 0) {
    0x0000352c beqz a0, 0x353c           |         
    0x00003530 jalr t9                   |         t9 ();
    0x00003534 nop                       |         
    0x00003538 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x0000353c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003540 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x00003544 jalr t9                   |     t9 ();
    0x00003548 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x0000354c lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003550 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00003554 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003558 addiu a0, a0, -0x72f8     |     a0 += -0x72f8;
    0x0000355c bal 0x3860                |     fcn_00003860 ();
                                         | label_111:
    0x00003560 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003564 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003568 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x0000356c jalr t9                   |     t9 ();
    0x00003570 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003574 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003578 bnez a0, 0x3328           |         goto label_49;
                                         |     }
    0x0000357c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003580 b 0x333c                  |     goto label_50;
                                         | label_110:
    0x00003584 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00003588 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x0000358c lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x00003590 jalr t9                   |     t9 ();
    0x00003594 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x00003598 lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x0000359c beqz a0, 0x35b0           |         
    0x000035a0 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000035a4 jalr t9                   |         t9 ();
    0x000035a8 nop                       |         
    0x000035ac lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x000035b0 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000035b4 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x000035b8 jalr t9                   |     t9 ();
    0x000035bc lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x000035c0 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000035c4 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000035c8 addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x000035cc addiu a0, a0, -0x7260     |     a0 += -0x7260;
    0x000035d0 bal 0x3860                |     fcn_00003860 ();
                                         | label_109:
    0x000035d4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000035d8 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x000035dc sw a1, 0x28(sp)           |     *(var_28h) = a1;
    0x000035e0 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x000035e4 jalr t9                   |     t9 ();
    0x000035e8 lw a1, 0x28(sp)           |     a1 = *(var_28h);
    0x000035ec lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a1 != 0) {
    0x000035f0 beqz a1, 0x3604           |         
    0x000035f4 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000035f8 move a0, a1               |         a0 = a1;
    0x000035fc jalr t9                   |         t9 ();
    0x00003600 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003604 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003608 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000360c jalr t9                   |     t9 ();
    0x00003610 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003614 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003618 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000361c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003620 addiu a0, a0, -0x7298     |     a0 += -0x7298;
    0x00003624 bal 0x3860                |     fcn_00003860 ();
                                         | label_105:
    0x00003628 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000362c lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003630 lw a0, -0x1c60(v0)        |     a0 = *((v0 - 1816));
    0x00003634 jalr t9                   |     t9 ();
    0x00003638 lw a0, -0x1c64(s0)        |     a0 = *((s0 - 1817));
    0x0000363c lw gp, 0x20(sp)           |     gp = *(var_20h);
                                         |     if (a0 != 0) {
    0x00003640 beqz a0, 0x3654           |         
    0x00003644 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00003648 jalr t9                   |         t9 ();
    0x0000364c nop                       |         
    0x00003650 lw gp, 0x20(sp)           |         gp = *(var_20h);
                                         |     }
    0x00003654 lw t9, -0x7ebc(gp)        |     t9 = sym.imp.free;
    0x00003658 lw a0, -0x1c68(s1)        |     a0 = *((s1 - 1818));
    0x0000365c jalr t9                   |     t9 ();
    0x00003660 lw gp, 0x20(sp)           |     gp = *(var_20h);
    0x00003664 lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x00003668 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x0000366c addiu t9, t9, 0x3860      |     t9 += fcn.00003860;
    0x00003670 addiu a0, a0, -0x71c8     |     a0 += -0x71c8;
    0x00003674 bal 0x3860                |     fcn_00003860 ();
    0x00003678 nop                       |     
    0x0000367c nop                       |     
                                         | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/mkdosfs @ 0x5e04 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) sym.check_attrib_file ()     | void check_attrib_file () {
                                         | label_5:
    0x00005e04 lui gp, 2                 |     
    0x00005e08 addiu gp, gp, -0x3c04     |     
    0x00005e0c addu gp, gp, t9           |     gp += t9;
    0x00005e10 addiu sp, sp, -0x40       |     
    0x00005e14 lw t9, -0x7f20(gp)        |     t9 = sym.imp.strlen;
    0x00005e18 sw s2, 0x30(sp)           |     *(var_30h) = s2;
    0x00005e1c lw s2, -0x7ec0(gp)        |     s2 = *((gp - 8112));
    0x00005e20 addiu v1, zero, 0x2d2d    |     v1 = 0x2d2d;
    0x00005e24 sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00005e28 lw v0, (s2)               |     v0 = *(s2);
    0x00005e2c sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00005e30 sw v0, 0x24(sp)           |     *(var_24h) = v0;
    0x00005e34 addiu v0, zero, 0x2d      |     v0 = 0x2d;
    0x00005e38 sh v1, 0x20(sp)           |     *(var_20h) = v1;
    0x00005e3c sw s3, 0x34(sp)           |     *(var_34h) = s3;
    0x00005e40 sw s1, 0x2c(sp)           |     *(var_2ch) = s1;
    0x00005e44 sw s0, 0x28(sp)           |     *(var_28h) = s0;
    0x00005e48 sh zero, 0x22(sp)         |     *(var_22h) = 0;
    0x00005e4c sw s4, 0x38(sp)           |     *(var_38h) = s4;
    0x00005e50 sb v0, 0x22(sp)           |     *(var_22h) = v0;
    0x00005e54 move s3, a1               |     s3 = a1;
    0x00005e58 move s1, a0               |     s1 = a0;
    0x00005e5c jalr t9                   |     t9 ();
    0x00005e60 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005e64 move a0, s3               |     a0 = s3;
    0x00005e68 lw t9, -0x7f20(gp)        |     t9 = sym.imp.strlen;
    0x00005e6c move s0, v0               |     s0 = v0;
    0x00005e70 jalr t9                   |     t9 ();
    0x00005e74 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005e78 addu v0, s0, v0           |     v0 = s0 + v0;
    0x00005e7c addiu a1, v0, 0xa         |     a1 = v0 + 0xa;
    0x00005e80 lw t9, -0x7f90(gp)        |     t9 = sym.imp.calloc;
    0x00005e84 addiu a0, zero, 1         |     a0 = 1;
    0x00005e88 jalr t9                   |     t9 ();
    0x00005e8c lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 == 0) {
    0x00005e90 beqz v0, 0x5fc4           |         goto label_10;
                                         |     }
    0x00005e94 lw a3, -0x7fc4(gp)        |     a3 = *((gp - 8177));
    0x00005e98 lw t9, -0x7f94(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00005e9c addiu a3, a3, -0x7bd0     |     a3 += -0x7bd0;
    0x00005ea0 addiu a2, zero, -1        |     a2 = -1;
    0x00005ea4 addiu a1, zero, 1         |     a1 = 1;
    0x00005ea8 move a0, v0               |     a0 = v0;
    0x00005eac sw s3, 0x14(sp)           |     *(var_14h_2) = s3;
    0x00005eb0 sw s1, 0x10(sp)           |     *(var_10h_3) = s1;
    0x00005eb4 move s0, v0               |     s0 = v0;
    0x00005eb8 jalr t9                   |     t9 ();
    0x00005ebc lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005ec0 addiu a1, zero, 4         |     a1 = 4;
    0x00005ec4 lw t9, -0x7f4c(gp)        |     t9 = sym.imp.access;
    0x00005ec8 move a0, s0               |     a0 = s0;
    0x00005ecc jalr t9                   |     t9 ();
    0x00005ed0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005ed4 beqz v0, 0x5f1c           |     
                                         |     while (v0 < 0) {
    0x00005ed8 move s1, zero             |         s1 = 0;
                                         | label_0:
    0x00005edc lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00005ee0 move a0, s0               |         a0 = s0;
    0x00005ee4 jalr t9                   |         t9 ();
    0x00005ee8 lw gp, 0x18(sp)           |         gp = *(var_18h);
                                         | label_1:
    0x00005eec lw a0, 0x24(sp)           |         a0 = *(var_24h);
    0x00005ef0 lw v1, (s2)               |         v1 = *(s2);
    0x00005ef4 move v0, s1               |         v0 = s1;
                                         |         if (a0 != v1) {
    0x00005ef8 bne a0, v1, 0x5fd4        |             goto label_11;
                                         |         }
    0x00005efc lw ra, 0x3c(sp)           |         ra = *(var_3ch);
    0x00005f00 lw s4, 0x38(sp)           |         s4 = *(var_38h);
    0x00005f04 lw s3, 0x34(sp)           |         s3 = *(var_34h);
    0x00005f08 lw s2, 0x30(sp)           |         s2 = *(var_30h);
    0x00005f0c lw s1, 0x2c(sp)           |         s1 = *(var_2ch);
    0x00005f10 lw s0, 0x28(sp)           |         s0 = *(var_28h);
    0x00005f14 addiu sp, sp, 0x40        |         
    0x00005f18 jr ra                     |         return v0;
    0x00005f1c lw t9, -0x7f30(gp)        |         t9 = sym.imp.open64;
    0x00005f20 move a2, zero             |         a2 = 0;
    0x00005f24 move a1, zero             |         a1 = 0;
    0x00005f28 move a0, s0               |         a0 = s0;
    0x00005f2c jalr t9                   |         t9 ();
    0x00005f30 move s4, v0               |         s4 = v0;
    0x00005f34 lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00005f38 bltz v0, 0x5ed8           |         
                                         |     }
    0x00005f3c lw t9, -0x7ea8(gp)        |     t9 = sym.imp.read;
    0x00005f40 addiu a2, zero, 3         |     a2 = 3;
    0x00005f44 addiu a1, sp, 0x20        |     a1 = sp + 0x20;
    0x00005f48 move a0, v0               |     a0 = v0;
    0x00005f4c jalr t9                   |     t9 ();
    0x00005f50 lw gp, 0x18(sp)           |     gp = *(var_18h);
                                         |     if (v0 < 0) {
    0x00005f54 bltz v0, 0x5fcc           |         goto label_12;
                                         |     }
    0x00005f58 lb s1, 0x20(sp)           |     s1 = *(var_20h);
    0x00005f5c addiu a0, zero, 2         |     a0 = 2;
    0x00005f60 xori s1, s1, 0x48         |     s1 ^= 0x48;
    0x00005f64 lb v1, 0x21(sp)           |     v1 = *(var_21h);
                                         |     if (s1 == 0) {
    0x00005f68 movn a0, zero, s1         |         a0 = 0;
                                         |     }
    0x00005f6c addiu v0, zero, 0x53      |     v0 = 0x53;
    0x00005f70 move s1, a0               |     s1 = a0;
                                         |     if (v1 == v0) {
    0x00005f74 bne v1, v0, 0x5f7c        |         
    0x00005f78 ori s1, a0, 4             |         s1 = a0 | 4;
                                         |     }
    0x00005f7c lb v1, 0x22(sp)           |     v1 = *(var_22h);
    0x00005f80 addiu v0, zero, 0x41      |     v0 = 0x41;
                                         |     if (v1 != v0) {
    0x00005f84 beql v1, v0, 0x5f8c       |         
    0x00005f88 ori s1, s1, 0x20          |         s1 |= 0x20;
                                         |     }
    0x00005f8c lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x00005f90 lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x00005f94 move a3, s1               |     a3 = s1;
    0x00005f98 move a2, s3               |     a2 = s3;
    0x00005f9c addiu a1, a1, -0x7bc0     |     a1 += -0x7bc0;
    0x00005fa0 addiu a0, zero, 1         |     a0 = 1;
    0x00005fa4 jalr t9                   |     t9 ();
    0x00005fa8 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00005fac andi s1, s1, 0xff         |     s1 &= 0xff;
                                         |     do {
    0x00005fb0 lw t9, -0x7f84(gp)        |         t9 = sym.imp.close;
    0x00005fb4 move a0, s4               |         a0 = s4;
    0x00005fb8 jalr t9                   |         t9 ();
    0x00005fbc lw gp, 0x18(sp)           |         gp = *(var_18h);
    0x00005fc0 b 0x5edc                  |         goto label_0;
                                         | label_10:
    0x00005fc4 move s1, zero             |         s1 = 0;
    0x00005fc8 b 0x5eec                  |         goto label_1;
                                         | label_12:
    0x00005fcc move s1, zero             |         s1 = 0;
    0x00005fd0 b 0x5fb0                  |         
                                         |     } while (1);
                                         | label_11:
    0x00005fd4 lw t9, -0x7ed8(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00005fd8 jalr t9                   |     t9 ();
    0x00005fdc nop                       |     
                                         | label_3:
    0x00005fe0 lui gp, 2                 |     
    0x00005fe4 addiu gp, gp, -0x3de0     |     
    0x00005fe8 addu gp, gp, t9           |     gp += t9;
    0x00005fec lw v0, -0x7ec0(gp)        |     v0 = *((gp - 8112));
    0x00005ff0 addiu sp, sp, -0x120      |     
    0x00005ff4 lw t9, -0x7f8c(gp)        |     t9 = sym.imp.opendir;
    0x00005ff8 sw v0, 0x3c(sp)           |     *(var_3ch_2) = v0;
    0x00005ffc lw v0, (v0)               |     v0 = *(v0);
    0x00006000 sw gp, 0x18(sp)           |     *(var_18h_2) = gp;
    0x00006004 sw s4, 0x108(sp)          |     *(var_108h) = s4;
    0x00006008 sw s1, 0xfc(sp)           |     *(var_fch) = s1;
    0x0000600c sw ra, 0x11c(sp)          |     *(var_11ch) = ra;
    0x00006010 sw fp, 0x118(sp)          |     *(var_118h) = fp;
    0x00006014 sw s7, 0x114(sp)          |     *(var_114h) = s7;
    0x00006018 sw s6, 0x110(sp)          |     *(var_110h) = s6;
    0x0000601c sw s5, 0x10c(sp)          |     *(var_10ch) = s5;
    0x00006020 sw s3, 0x104(sp)          |     *(var_104h) = s3;
    0x00006024 sw s2, 0x100(sp)          |     *(var_100h) = s2;
    0x00006028 sw s0, 0xf8(sp)           |     *(var_f8h) = s0;
    0x0000602c sw v0, 0xf4(sp)           |     *(var_f4h) = v0;
    0x00006030 move s1, a0               |     s1 = a0;
    0x00006034 move s4, a1               |     s4 = a1;
    0x00006038 jalr t9                   |     t9 ();
    0x0000603c sw v0, 0x34(sp)           |     *(var_34h_2) = v0;
    0x00006040 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x00006044 beqz v0, 0x662c           |         goto label_13;
                                         |     }
    0x00006048 lw v0, (s4)               |     v0 = *(s4);
    0x0000604c lw v1, 4(s4)              |     v1 = *((s4 + 1));
                                         |     if (v0 == 0) {
    0x00006050 bnel v0, zero, 0x64c0     |         goto label_14;
                                         |     }
    0x00006054 lw a0, 0xc(s4)            |     a0 = *((s4 + 3));
    0x00006058 lw t9, -0x7efc(gp)        |     t9 = sym.imp.realloc;
                                         |     if (a0 == 0) {
    0x0000605c beqz a0, 0x65f4           |         goto label_15;
                                         |     }
    0x00006060 lw a1, 8(s4)              |     a1 = *((s4 + 2));
    0x00006064 addiu a1, a1, 1           |     a1++;
    0x00006068 sll a1, a1, 6             |     a1 <<= 6;
    0x0000606c jalr t9                   |     t9 ();
    0x00006070 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006074 sw v0, 0xc(s4)            |     *((s4 + 3)) = v0;
                                         | label_7:
    0x00006078 lw t9, -0x7f38(gp)        |     t9 = sym.imp.memset;
                                         |     if (v0 == 0) {
    0x0000607c beqz v0, 0x6738           |         goto label_16;
                                         |     }
    0x00006080 lw a0, 8(s4)              |     a0 = *((s4 + 2));
    0x00006084 sll a0, a0, 5             |     a0 <<= 5;
    0x00006088 addiu a2, zero, 0x40      |     a2 = 0x40;
    0x0000608c move a1, zero             |     a1 = 0;
    0x00006090 addu a0, v0, a0           |     a0 = v0 + a0;
    0x00006094 jalr t9                   |     t9 ();
    0x00006098 lw v0, 8(s4)              |     v0 = *((s4 + 2));
    0x0000609c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000060a0 addiu v0, v0, 2           |     v0 += 2;
    0x000060a4 sw v0, 8(s4)              |     *((s4 + 2)) = v0;
    0x000060a8 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
                                         | label_2:
    0x000060ac lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x000060b0 move a2, s1               |     a2 = s1;
    0x000060b4 addiu a1, a1, -0x7b60     |     a1 += -0x7b60;
    0x000060b8 addiu a0, zero, 1         |     a0 = 1;
    0x000060bc jalr t9                   |     t9 ();
    0x000060c0 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000060c4 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x000060c8 lw t9, -0x7f90(gp)        |     t9 = sym.imp.calloc;
    0x000060cc addiu a0, zero, 1         |     a0 = 1;
    0x000060d0 jalr t9                   |     t9 ();
    0x000060d4 sw v0, 0x38(sp)           |     *(var_38h_2) = v0;
    0x000060d8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         |     if (v0 == 0) {
    0x000060dc beqz v0, 0x6750           |         goto label_17;
                                         |     }
    0x000060e0 lw t9, -0x7f48(gp)        |     t9 = sym.imp.__xpg_basename;
    0x000060e4 move a0, s1               |     a0 = s1;
    0x000060e8 jalr t9                   |     t9 ();
    0x000060ec lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000060f0 addiu s0, sp, 0xe8        |     s0 = sp + 0xe8;
    0x000060f4 move a0, v0               |     a0 = v0;
    0x000060f8 lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x000060fc move a1, s0               |     a1 = s0;
    0x00006100 addiu t9, t9, 0x5410      |     t9 += fcn.00005410;
    0x00006104 move s2, v0               |     s2 = v0;
    0x00006108 bal 0x5410                |     fcn_00005410 ();
    0x0000610c lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x00006110 lw t1, 0xc(s4)            |     t1 = *((s4 + 3));
    0x00006114 sll v1, v0, 5             |     v1 = v0 << 5;
    0x00006118 addu t1, t1, v1           |     t1 += v1;
    0x0000611c addiu v0, v0, 1           |     v0++;
    0x00006120 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006124 sw v0, 4(s4)              |     *((s4 + 1)) = v0;
    0x00006128 addiu v0, zero, 0x41      |     v0 = 0x41;
    0x0000612c sb v0, (t1)               |     *(t1) = v0;
    0x00006130 addiu v0, zero, 0xf       |     v0 = 0xf;
    0x00006134 move a0, s0               |     a0 = s0;
    0x00006138 sh zero, 0x1a(t1)         |     *((t1 + 13)) = 0;
    0x0000613c sb v0, 0xb(t1)            |     *((t1 + 11)) = v0;
    0x00006140 sh zero, 0xc(t1)          |     *((t1 + 6)) = 0;
    0x00006144 addiu a2, sp, 0xf3        |     a2 = sp + 0xf3;
    0x00006148 move v1, zero             |     v1 = 0;
                                         |     do {
    0x0000614c sll v0, v1, 7             |         v0 = v1 << 7;
    0x00006150 lbu a1, (a0)              |         a1 = *(a0);
    0x00006154 srl v1, v1, 1             |         v1 >>= 1;
    0x00006158 or v0, v0, v1             |         v0 |= v1;
    0x0000615c addu v0, v0, a1           |         v0 += a1;
    0x00006160 addiu a0, a0, 1           |         a0++;
    0x00006164 andi v1, v0, 0xff         |         v1 = v0 & 0xff;
    0x00006168 bne a2, a0, 0x614c        |         
                                         |     } while (a2 != a0);
    0x0000616c lw t9, -0x7fd8(gp)        |     t9 = *(gp);
    0x00006170 addiu t2, sp, 0x44        |     t2 = sp + 0x44;
    0x00006174 move a2, t2               |     a2 = t2;
    0x00006178 addiu a0, t1, 1           |     a0 = t1 + 1;
    0x0000617c sb v1, 0xd(t1)            |     *((t1 + 13)) = v1;
    0x00006180 addiu t9, t9, 0x37f0      |     t9 += fcn.000037f0;
    0x00006184 addiu a1, zero, 0xa       |     a1 = 0xa;
    0x00006188 sw s2, 0x44(sp)           |     *(var_44h) = s2;
    0x0000618c bal 0x37f0                |     fcn_000037f0 ();
    0x00006190 addiu a0, t1, 0xe         |     a0 = t1 + 0xe;
    0x00006194 addiu a1, zero, 0xc       |     a1 = 0xc;
    0x00006198 bal 0x37f0                |     fcn_000037f0 ();
    0x0000619c addiu a0, t1, 0x1c        |     a0 = t1 + 0x1c;
    0x000061a0 addiu a1, zero, 4         |     a1 = 4;
    0x000061a4 bal 0x37f0                |     fcn_000037f0 ();
    0x000061a8 lw v0, 4(s4)              |     v0 = *((s4 + 1));
    0x000061ac lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000061b0 lw s3, 0xc(s4)            |     s3 = *((s4 + 3));
    0x000061b4 sll v1, v0, 5             |     v1 = v0 << 5;
    0x000061b8 addu s3, s3, v1           |     s3 += v1;
    0x000061bc addiu v0, v0, 1           |     v0++;
    0x000061c0 lw t9, -0x7f40(gp)        |     t9 = sym.imp.strncpy;
    0x000061c4 addiu a2, zero, 0xb       |     a2 = 0xb;
    0x000061c8 move a1, s0               |     a1 = s0;
    0x000061cc move a0, s3               |     a0 = s3;
    0x000061d0 sw v0, 4(s4)              |     *((s4 + 1)) = v0;
    0x000061d4 jalr t9                   |     t9 ();
    0x000061d8 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000061dc addiu v0, zero, 0x10      |     v0 = 0x10;
    0x000061e0 sb v0, 0xb(s3)            |     *((s3 + 11)) = v0;
    0x000061e4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000061e8 lw t9, -0x7f14(gp)        |     t9 = sym.imp.localtime;
    0x000061ec addiu a0, a0, -0x1a20     |     a0 += -0x1a20;
    0x000061f0 jalr t9                   |     t9 ();
    0x000061f4 lw v1, 0x10(v0)           |     v1 = *((v0 + 4));
    0x000061f8 lw a1, 0x14(v0)           |     a1 = *((v0 + 5));
    0x000061fc addiu v1, v1, 1           |     v1++;
    0x00006200 addiu a1, a1, -0x50       |     a1 += -0x50;
    0x00006204 lw a0, (v0)               |     a0 = *(v0);
    0x00006208 lw a3, 4(v0)              |     a3 = *((v0 + 1));
    0x0000620c lw a2, 8(v0)              |     a2 = *((v0 + 2));
    0x00006210 lw t0, 0xc(v0)            |     t0 = *((v0 + 3));
    0x00006214 sll v1, v1, 5             |     v1 <<= 5;
    0x00006218 sll v0, a1, 9             |     v0 = a1 << 9;
    0x0000621c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006220 addu v0, v1, v0           |     v0 = v1 + v0;
    0x00006224 addu v0, v0, t0           |     v0 += t0;
    0x00006228 andi v0, v0, 0xffff       |     v0 &= 0xffff;
    0x0000622c sra a0, a0, 1             |     a0 >>= 1;
    0x00006230 sll a3, a3, 5             |     a3 <<= 5;
    0x00006234 addu a0, a0, a3           |     a0 += a3;
    0x00006238 sll a2, a2, 0xb           |     a2 <<= 0xb;
    0x0000623c sh v0, 0x18(s3)           |     *((s3 + 12)) = v0;
    0x00006240 sh v0, 0x10(s3)           |     *((s3 + 8)) = v0;
    0x00006244 sh v0, 0x12(s3)           |     *((s3 + 9)) = v0;
    0x00006248 lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x0000624c addu v1, a0, a2           |     v1 = a0 + a2;
    0x00006250 lw s7, -0x7fd8(gp)        |     s7 = *(gp);
    0x00006254 lw s4, -0x7fc4(gp)        |     s4 = *((gp - 8177));
    0x00006258 andi v1, v1, 0xffff       |     v1 &= 0xffff;
    0x0000625c addiu v0, v0, 0x562c      |     v0 += 0x562c;
    0x00006260 lw s5, -0x7fc4(gp)        |     s5 = *((gp - 8177));
    0x00006264 lw s6, -0x7fc4(gp)        |     s6 = *((gp - 8177));
    0x00006268 sh v1, 0x16(s3)           |     *((s3 + 11)) = v1;
    0x0000626c sb zero, 0xd(s3)          |     *((s3 + 13)) = 0;
    0x00006270 sh v1, 0xe(s3)            |     *((s3 + 7)) = v1;
    0x00006274 sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x00006278 addiu s7, s7, 0x5fe0      |     s7 += 0x5fe0;
    0x0000627c addiu s4, s4, -0x7d48     |     s4 += -0x7d48;
                                         | label_8:
    0x00006280 lb v0, (s2)               |     v0 = *(s2);
    0x00006284 addiu fp, zero, 0x2e      |     fp = 0x2e;
                                         |     if (v0 == fp) {
    0x00006288 beql v0, fp, 0x639c       |         goto label_18;
                                         |     }
    0x0000628c sw zero, 0x1c(s3)         |     *((s3 + 7)) = 0;
                                         |     do {
    0x00006290 lw t9, -0x7f6c(gp)        |         t9 = sym.imp.readdir64;
    0x00006294 lw a0, 0x34(sp)           |         a0 = *(var_34h_2);
    0x00006298 jalr t9                   |         t9 ();
    0x0000629c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x000062a0 beqz v0, 0x6398           |             goto label_19;
                                         |         }
    0x000062a4 lb a0, 0x13(v0)           |         a0 = *((v0 + 19));
    0x000062a8 addiu s0, v0, 0x13        |         s0 = v0 + 0x13;
                                         |         if (a0 == fp) {
    0x000062ac bne a0, fp, 0x62e0        |             
    0x000062b0 lw t9, -0x7ea0(gp)        |             t9 = sym.imp.strcmp;
    0x000062b4 move a1, s4               |             a1 = s4;
    0x000062b8 move a0, s0               |             a0 = s0;
    0x000062bc jalr t9                   |             t9 ();
    0x000062c0 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |             if (v0 == 0) {
    0x000062c4 beqz v0, 0x62e0           |                 goto label_20;
                                         |             }
    0x000062c8 lw t9, -0x7ea0(gp)        |             t9 = sym.imp.strcmp;
    0x000062cc addiu a1, s6, -0x7d38     |             a1 = s6 + -0x7d38;
    0x000062d0 move a0, s0               |             a0 = s0;
    0x000062d4 jalr t9                   |             t9 ();
    0x000062d8 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |             if (v0 != 0) {
    0x000062dc bnez v0, 0x660c           |                 goto label_21;
                                         |             }
                                         |         }
                                         | label_20:
    0x000062e0 lw t9, -0x7f20(gp)        |         t9 = sym.imp.strlen;
    0x000062e4 move a0, s1               |         a0 = s1;
    0x000062e8 jalr t9                   |         t9 ();
    0x000062ec lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000062f0 move a0, s0               |         a0 = s0;
    0x000062f4 lw t9, -0x7f20(gp)        |         t9 = sym.imp.strlen;
    0x000062f8 move fp, v0               |         fp = v0;
    0x000062fc jalr t9                   |         t9 ();
    0x00006300 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006304 addu v0, fp, v0           |         v0 = fp + v0;
    0x00006308 lw t9, -0x7f00(gp)        |         t9 = sym.imp.malloc;
    0x0000630c addiu a0, v0, 3           |         a0 = v0 + 3;
    0x00006310 jalr t9                   |         t9 ();
    0x00006314 move fp, v0               |         fp = v0;
    0x00006318 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x0000631c beqz v0, 0x65dc           |             goto label_22;
                                         |         }
    0x00006320 lw t9, -0x7f94(gp)        |         t9 = sym.imp.__sprintf_chk
    0x00006324 addiu a3, s5, -0x7ae8     |         a3 = s5 + -0x7ae8;
    0x00006328 addiu a2, zero, -1        |         a2 = -1;
    0x0000632c addiu a1, zero, 1         |         a1 = 1;
    0x00006330 move a0, v0               |         a0 = v0;
    0x00006334 sw s0, 0x14(sp)           |         *(var_14h) = s0;
    0x00006338 sw s1, 0x10(sp)           |         *(var_10h_2) = s1;
    0x0000633c jalr t9                   |         t9 ();
    0x00006340 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006344 addiu a2, sp, 0x48        |         a2 = sp + 0x48;
    0x00006348 move a1, fp               |         a1 = fp;
    0x0000634c lw t9, -0x7f78(gp)        |         t9 = sym.imp.__xstat64;
    0x00006350 addiu a0, zero, 3         |         a0 = 3;
    0x00006354 jalr t9                   |         t9 ();
    0x00006358 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 == 0) {
    0x0000635c bnez v0, 0x637c           |             
    0x00006360 lw v0, 0x60(sp)           |             v0 = *(var_60h);
    0x00006364 addiu a0, zero, 0x4000    |             a0 = 0x4000;
    0x00006368 andi v0, v0, 0xf000       |             v0 &= 0xf000;
    0x0000636c ori a0, zero, 0x8000      |             a0 = 0x8000;
                                         |             if (v0 == a0) {
    0x00006370 beq v0, a0, 0x659c        |                 goto label_23;
                                         |             }
    0x00006374 lw t9, -0x7fb8(gp)        |             t9 = sym.check_attrib_file;
                                         |             if (v0 == a0) {
    0x00006378 beq v0, a0, 0x65b4        |                 goto label_24;
                                         |             }
                                         |         }
                                         | label_4:
    0x0000637c lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00006380 move a0, fp               |         a0 = fp;
    0x00006384 jalr t9                   |         t9 ();
    0x00006388 lb v0, (s2)               |         v0 = *(s2);
    0x0000638c addiu fp, zero, 0x2e      |         fp = 0x2e;
    0x00006390 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006394 bne v0, fp, 0x6290        |         
                                         |     } while (v0 != fp);
                                         | label_19:
    0x00006398 sw zero, 0x1c(s3)         |     *((s3 + 7)) = 0;
                                         | label_18:
    0x0000639c lb v1, (s2)               |     v1 = *(s2);
    0x000063a0 addiu v0, zero, 0x2e      |     v0 = 0x2e;
    0x000063a4 lw v0, 0x38(sp)           |     v0 = *(var_38h_2);
                                         |     if (v1 == v0) {
    0x000063a8 beq v1, v0, 0x6520        |         goto label_6;
                                         |     }
    0x000063ac lw s2, -0x7fdc(gp)        |     s2 = *((gp - 8183));
    0x000063b0 lw t0, 4(v0)              |     t0 = *((v0 + 1));
    0x000063b4 lw s1, 0xc(v0)            |     s1 = *((v0 + 3));
    0x000063b8 lw s0, -0x1c78(s2)        |     s0 = *((s2 - 1822));
    0x000063bc sll fp, t0, 5             |     fp = t0 << 5;
    0x000063c0 andi v0, s0, 0xffff       |     v0 = s0 & 0xffff;
    0x000063c4 srl v1, s0, 0x10          |     v1 = s0 >> 0x10;
    0x000063c8 sh v0, 0x1a(s3)           |     *((s3 + 13)) = v0;
    0x000063cc sh v1, 0x14(s3)           |     *((s3 + 10)) = v1;
    0x000063d0 sh v0, 0x3a(s1)           |     *((s1 + 29)) = v0;
                                         |     if (fp == 0) {
    0x000063d4 beqz fp, 0x6520           |         goto label_6;
                                         |     }
    0x000063d8 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000063dc lw s3, -0x7fdc(gp)        |     s3 = *((gp - 8183));
    0x000063e0 sw v0, 0x2c(sp)           |     *(var_2ch_2) = v0;
    0x000063e4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000063e8 lw s7, -0x7fdc(gp)        |     s7 = *((gp - 8183));
    0x000063ec sw v0, 0x24(sp)           |     *(var_24h_2) = v0;
    0x000063f0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000063f4 addiu s3, s3, -0x1c54     |     s3 += -0x1c54;
    0x000063f8 sw v0, 0x28(sp)           |     *(var_28h_2) = v0;
    0x000063fc lw v0, -0x7fd8(gp)        |     v0 = *(gp);
    0x00006400 addiu v0, v0, 0x38b4      |     v0 += fcn.000038b4;
    0x00006404 sw v0, 0x30(sp)           |     *(var_30h_2) = v0;
                                         |     do {
    0x00006408 lbu v1, 0xd(s3)           |         v1 = *((s3 + 13));
    0x0000640c addiu a1, s0, -2          |         a1 = s0 + -2;
    0x00006410 lw a0, 0x2c(sp)           |         a0 = *(var_2ch_2);
    0x00006414 mul v0, a1, v1            |         __asm ("mul v0, a1, v1");
    0x00006418 lw a3, 0x28(sp)           |         a3 = *(var_28h_2);
    0x0000641c lw a2, -0x5fe8(s7)        |         a2 = *((s7 - 6138));
    0x00006420 lw a0, -0x1c58(a0)        |         a0 = *((a0 - 1814));
    0x00006424 lw s4, -0x5ff0(a3)        |         s4 = *((a3 - 6140));
    0x00006428 lw a1, 0x24(sp)           |         a1 = *(var_24h_2);
    0x0000642c mul a3, a2, a0            |         __asm ("mul a3, a2, a0");
    0x00006430 mul a0, v0, a2            |         __asm ("mul a0, v0, a2");
    0x00006434 mul v1, v1, a2            |         __asm ("mul v1, v1, a2");
    0x00006438 lw a1, -0x1c6c(a1)        |         a1 = *((a1 - 1819));
    0x0000643c lw t9, -0x7ef0(gp)        |         t9 = sym.imp.lseek64;
    0x00006440 addu a1, a3, a1           |         a1 = a3 + a1;
    0x00006444 addu s6, a0, a1           |         s6 = a0 + a1;
    0x00006448 slt s0, fp, v1            |         s0 = (fp < v1) ? 1 : 0;
    0x0000644c sra s5, s6, 0x1f          |         s5 = s6 >> 0x1f;
                                         |         if (s0 == 0) {
    0x00006450 movn v1, fp, s0           |             v1 = fp;
                                         |         }
    0x00006454 sw zero, 0x10(sp)         |         *(var_10h_2) = 0;
    0x00006458 move a2, s6               |         a2 = s6;
    0x0000645c move a3, s5               |         a3 = s5;
    0x00006460 move a0, s4               |         a0 = s4;
    0x00006464 move s0, v1               |         s0 = v1;
    0x00006468 jalr t9                   |         t9 ();
    0x0000646c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != s6) {
    0x00006470 bne v0, s6, 0x66e0        |             goto label_25;
                                         |         }
    0x00006474 lw t9, -0x7f28(gp)        |         t9 = sym.imp.write;
                                         |         if (v1 != s5) {
    0x00006478 bne v1, s5, 0x66e0        |             goto label_25;
                                         |         }
    0x0000647c move a2, s0               |         a2 = s0;
    0x00006480 move a1, s1               |         a1 = s1;
    0x00006484 move a0, s4               |         a0 = s4;
    0x00006488 jalr t9                   |         t9 ();
    0x0000648c lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (v0 != s0) {
    0x00006490 bne v0, s0, 0x6688        |             goto label_26;
                                         |         }
    0x00006494 lw a0, -0x1c78(s2)        |         a0 = *((s2 - 1822));
    0x00006498 subu fp, fp, v0           |         __asm ("subu fp, fp, v0");
    0x0000649c addiu s0, a0, 1           |         s0 = a0 + 1;
                                         |         if (fp == 0) {
    0x000064a0 beqz fp, 0x64f4           |             goto label_27;
                                         |         }
    0x000064a4 lw t9, 0x30(sp)           |         t9 = *(var_30h_2);
    0x000064a8 move a1, s0               |         a1 = s0;
    0x000064ac addu s1, s1, v0           |         s1 += v0;
    0x000064b0 jalr t9                   |         t9 ();
    0x000064b4 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000064b8 sw s0, -0x1c78(s2)        |         *((s2 - 1822)) = s0;
    0x000064bc b 0x6408                  |         
                                         |     } while (1);
                                         | label_14:
    0x000064c0 lw v0, 8(s4)              |     v0 = *((s4 + 2));
    0x000064c4 lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
                                         |     if (v1 != v0) {
    0x000064c8 bne v1, v0, 0x60ac        |         goto label_2;
                                         |     }
    0x000064cc lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000064d0 lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x000064d4 addiu a0, a0, -0x7d28     |     a0 += -0x7d28;
    0x000064d8 jalr t9                   |     t9 ();
    0x000064dc lw gp, 0x18(sp)           |     gp = *(var_18h_2);
                                         | label_9:
    0x000064e0 lw t9, -0x7f88(gp)        |     t9 = sym.imp.closedir;
    0x000064e4 lw a0, 0x34(sp)           |     a0 = *(var_34h_2);
    0x000064e8 jalr t9                   |     t9 ();
    0x000064ec lw v0, 0xc(zero)          |     v0 = *((zero + 3));
    0x000064f0 teq zero, zero            |     __asm ("teq zero, zero");
                                         | label_27:
    0x000064f4 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000064f8 lw v0, -0x1a10(v0)        |     v0 = *((v0 - 1668));
    0x000064fc lui a1, 0xfff             |     a1 = 0xfff0000;
                                         |     if (v0 != 0) {
    0x00006500 bnez v0, 0x6594           |         goto label_28;
                                         |     }
    0x00006504 ori a1, a1, 0xfff8        |     a1 |= 0xfff8;
                                         |     do {
    0x00006508 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x0000650c addiu t9, t9, 0x38b4      |         t9 += fcn.000038b4;
    0x00006510 bal 0x38b4                |         fcn_000038b4 ();
    0x00006514 nop                       |         
    0x00006518 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000651c sw s0, -0x1c78(s2)        |         *((s2 - 1822)) = s0;
                                         | label_6:
    0x00006520 lw t9, -0x7f88(gp)        |         t9 = sym.imp.closedir;
    0x00006524 lw a0, 0x34(sp)           |         a0 = *(var_34h_2);
    0x00006528 jalr t9                   |         t9 ();
    0x0000652c lw v0, 0x38(sp)           |         v0 = *(var_38h_2);
    0x00006530 lw a0, 0xc(v0)            |         a0 = *((v0 + 3));
    0x00006534 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
                                         |         if (a0 != 0) {
    0x00006538 beqz a0, 0x654c           |             
    0x0000653c lw t9, -0x7ebc(gp)        |             t9 = sym.imp.free;
    0x00006540 jalr t9                   |             t9 ();
    0x00006544 nop                       |             
    0x00006548 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x0000654c lw v0, 0x3c(sp)           |         v0 = *(var_3ch_2);
    0x00006550 lw v1, 0xf4(sp)           |         v1 = *(var_f4h);
    0x00006554 lw v0, (v0)               |         v0 = *(v0);
    0x00006558 lw a0, 0x38(sp)           |         a0 = *(var_38h_2);
                                         |         if (v1 != v0) {
    0x0000655c bne v1, v0, 0x6768        |             goto label_29;
                                         |         }
    0x00006560 lw ra, 0x11c(sp)          |         ra = *(var_11ch);
    0x00006564 lw fp, 0x118(sp)          |         fp = *(var_118h);
    0x00006568 lw s7, 0x114(sp)          |         s7 = *(var_114h);
    0x0000656c lw s6, 0x110(sp)          |         s6 = *(var_110h);
    0x00006570 lw s5, 0x10c(sp)          |         s5 = *(var_10ch);
    0x00006574 lw s4, 0x108(sp)          |         s4 = *(var_108h);
    0x00006578 lw s3, 0x104(sp)          |         s3 = *(var_104h);
    0x0000657c lw s2, 0x100(sp)          |         s2 = *(var_100h);
    0x00006580 lw s1, 0xfc(sp)           |         s1 = *(var_fch);
    0x00006584 lw s0, 0xf8(sp)           |         s0 = *(var_f8h);
    0x00006588 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x0000658c addiu sp, sp, 0x120       |         
    0x00006590 jr t9                     |         t9 ();
                                         | label_28:
    0x00006594 ori a1, a1, 0xffff        |         a1 |= 0xffff;
    0x00006598 b 0x6508                  |         
                                         |     } while (1);
                                         | label_23:
    0x0000659c lw a1, 0x38(sp)           |     a1 = *(var_38h_2);
    0x000065a0 move t9, s7               |     t9 = s7;
    0x000065a4 move a0, fp               |     a0 = fp;
    0x000065a8 bal 0x5fe0                |     fcn_5fe0 ();
                                         |     goto label_3;
    0x000065ac lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000065b0 b 0x637c                  |     goto label_4;
                                         | label_24:
    0x000065b4 move a1, s0               |     a1 = s0;
    0x000065b8 move a0, s1               |     a0 = s1;
    0x000065bc bal 0x5e04                |     sym_check_attrib_file ();
                                         |     goto label_5;
    0x000065c0 lw a1, 0x38(sp)           |     a1 = *(var_38h_2);
    0x000065c4 lw t9, 0x24(sp)           |     t9 = *(var_24h_2);
    0x000065c8 move a2, v0               |     a2 = v0;
    0x000065cc move a0, fp               |     a0 = fp;
    0x000065d0 jalr t9                   |     t9 ();
    0x000065d4 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000065d8 b 0x637c                  |     goto label_4;
                                         | label_22:
    0x000065dc lw a0, -0x7fc4(gp)        |     a0 = *((gp - 8177));
    0x000065e0 lw t9, -0x7f04(gp)        |     t9 = sym.imp.puts;
    0x000065e4 addiu a0, a0, -0x7b00     |     a0 += -0x7b00;
    0x000065e8 jalr t9                   |     t9 ();
    0x000065ec lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x000065f0 b 0x6520                  |     goto label_6;
                                         | label_15:
    0x000065f4 lw t9, -0x7f00(gp)        |     t9 = sym.imp.malloc;
    0x000065f8 addiu a0, zero, 0x40      |     a0 = 0x40;
    0x000065fc jalr t9                   |     t9 ();
    0x00006600 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006604 sw v0, 0xc(s4)            |     *((s4 + 3)) = v0;
    0x00006608 b 0x6078                  |     goto label_7;
                                         | label_21:
    0x0000660c lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x00006610 lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x00006614 move a2, s0               |     a2 = s0;
    0x00006618 addiu a1, a1, -0x7b3c     |     a1 += -str.FAT16:_too_much_clusters;
    0x0000661c addiu a0, zero, 1         |     a0 = 1;
    0x00006620 jalr t9                   |     t9 ();
    0x00006624 lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006628 b 0x6280                  |     goto label_8;
                                         | label_13:
    0x0000662c lw a1, -0x7fc4(gp)        |     a1 = *((gp - 8177));
    0x00006630 lw t9, -0x7f54(gp)        |     t9 = sym.imp.__printf_chk
    0x00006634 move a2, s1               |     a2 = s1;
    0x00006638 addiu a1, a1, -0x7ba4     |     a1 += -str.FAT32:_clu_u__fatlen_u__maxclu_u__limit_u_n;
    0x0000663c addiu a0, zero, 1         |     a0 = 1;
    0x00006640 jalr t9                   |     t9 ();
    0x00006644 lw v0, 0x3c(sp)           |     v0 = *(var_3ch_2);
    0x00006648 lw v1, 0xf4(sp)           |     v1 = *(var_f4h);
    0x0000664c lw gp, 0x18(sp)           |     gp = *(var_18h_2);
    0x00006650 lw v0, (v0)               |     v0 = *(v0);
    0x00006654 lw ra, 0x11c(sp)          |     ra = *(var_11ch);
                                         |     if (v1 == v0) {
    0x00006658 bne v1, v0, 0x6768        |         
    0x0000665c lw fp, 0x118(sp)          |         fp = *(var_118h);
    0x00006660 lw s7, 0x114(sp)          |         s7 = *(var_114h);
    0x00006664 lw s6, 0x110(sp)          |         s6 = *(var_110h);
    0x00006668 lw s5, 0x10c(sp)          |         s5 = *(var_10ch);
    0x0000666c lw s4, 0x108(sp)          |         s4 = *(var_108h);
    0x00006670 lw s3, 0x104(sp)          |         s3 = *(var_104h);
    0x00006674 lw s2, 0x100(sp)          |         s2 = *(var_100h);
    0x00006678 lw s1, 0xfc(sp)           |         s1 = *(var_fch);
    0x0000667c lw s0, 0xf8(sp)           |         s0 = *(var_f8h);
    0x00006680 addiu sp, sp, 0x120       |         
    0x00006684 jr ra                     |         return v0;
                                         | label_26:
    0x00006688 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x0000668c lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00006690 lw a0, -0x1c60(v0)        |         a0 = *((v0 - 1816));
    0x00006694 jalr t9                   |         t9 ();
    0x00006698 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000669c lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000066a0 lw a0, -0x1c64(v0)        |         a0 = *((v0 - 1817));
    0x000066a4 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
                                         |         if (a0 != 0) {
    0x000066a8 beqz a0, 0x66b8           |             
    0x000066ac jalr t9                   |             t9 ();
    0x000066b0 nop                       |             
    0x000066b4 lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x000066b8 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000066bc lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000066c0 lw a0, -0x1c68(v0)        |         a0 = *((v0 - 1818));
    0x000066c4 jalr t9                   |         t9 ();
    0x000066c8 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000066cc lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
    0x000066d0 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x000066d4 addiu t9, t9, 0x3860      |         t9 += fcn.00003860;
    0x000066d8 addiu a0, a0, -0x7aac     |         a0 += -0x7aac;
    0x000066dc bal 0x3860                |         fcn_00003860 ();
                                         | label_25:
    0x000066e0 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000066e4 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x000066e8 lw a0, -0x1c60(v0)        |         a0 = *((v0 - 1816));
    0x000066ec jalr t9                   |         t9 ();
    0x000066f0 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x000066f4 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x000066f8 lw a0, -0x1c64(v0)        |         a0 = *((v0 - 1817));
    0x000066fc lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
                                         |         if (a0 != 0) {
    0x00006700 beqz a0, 0x6710           |             
    0x00006704 jalr t9                   |             t9 ();
    0x00006708 nop                       |             
    0x0000670c lw gp, 0x18(sp)           |             gp = *(var_18h_2);
                                         |         }
    0x00006710 lw v0, -0x7fdc(gp)        |         v0 = *((gp - 8183));
    0x00006714 lw t9, -0x7ebc(gp)        |         t9 = sym.imp.free;
    0x00006718 lw a0, -0x1c68(v0)        |         a0 = *((v0 - 1818));
    0x0000671c jalr t9                   |         t9 ();
    0x00006720 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006724 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
    0x00006728 lw t9, -0x7fd8(gp)        |         t9 = *(gp);
    0x0000672c addiu t9, t9, 0x3860      |         t9 += fcn.00003860;
    0x00006730 addiu a0, a0, -0x7ae0     |         a0 += -0x7ae0;
    0x00006734 bal 0x3860                |         fcn_00003860 ();
                                         | label_16:
    0x00006738 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
    0x0000673c lw t9, -0x7f04(gp)        |         t9 = sym.imp.puts;
    0x00006740 addiu a0, a0, -0x7b84     |         a0 += -0x7b84;
    0x00006744 jalr t9                   |         t9 ();
    0x00006748 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x0000674c b 0x64e0                  |         goto label_9;
                                         | label_17:
    0x00006750 lw a0, -0x7fc4(gp)        |         a0 = *((gp - 8177));
    0x00006754 lw t9, -0x7f04(gp)        |         t9 = sym.imp.puts;
    0x00006758 addiu a0, a0, -0x7b54     |         a0 += -0x7b54;
    0x0000675c jalr t9                   |         t9 ();
    0x00006760 lw gp, 0x18(sp)           |         gp = *(var_18h_2);
    0x00006764 b 0x64e0                  |         goto label_9;
                                         |     }
                                         | label_29:
    0x00006768 lw t9, -0x7ed8(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x0000676c jalr t9                   |     t9 ();
    0x00006770 nop                       |     
                                         | }

[*] Function printf used 17 times mkdosfs