[*] Binary protection state of fsck.ext3

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


[*] Function strcpy tear down of fsck.ext3

    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0xc1c8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.0000c1c8 ()                      | void fcn_0000c1c8 () {
    0x0000c1c8 lui gp, 6                         |     
    0x0000c1cc addiu gp, gp, -0x2408             |     
    0x0000c1d0 addu gp, gp, t9                   |     gp += t9;
    0x0000c1d4 addiu sp, sp, -0x110              |     
    0x0000c1d8 lw t9, -0x7fcc(gp)                |     t9 = sym.e2fsck_allocate_context;
    0x0000c1dc sw s7, 0x104(sp)                  |     *(var_104h) = s7;
    0x0000c1e0 lw s7, -0x7838(gp)                |     s7 = *((gp - 7694));
    0x0000c1e4 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0000c1e8 sw s6, 0x100(sp)                  |     *(var_100h) = s6;
    0x0000c1ec lw v0, (s7)                       |     v0 = *(s7);
    0x0000c1f0 sw s2, 0xf0(sp)                   |     *(var_f0h) = s2;
    0x0000c1f4 sw s1, 0xec(sp)                   |     *(var_ech) = s1;
    0x0000c1f8 sw s0, 0xe8(sp)                   |     *(var_e8h) = s0;
    0x0000c1fc sw ra, 0x10c(sp)                  |     *(var_10ch) = ra;
    0x0000c200 sw fp, 0x108(sp)                  |     *(var_108h) = fp;
    0x0000c204 sw s5, 0xfc(sp)                   |     *(var_fch) = s5;
    0x0000c208 sw s4, 0xf8(sp)                   |     *(var_f8h) = s4;
    0x0000c20c sw s3, 0xf4(sp)                   |     *(var_f4h) = s3;
    0x0000c210 move s0, a0                       |     s0 = a0;
    0x0000c214 sw v0, 0xe4(sp)                   |     *(var_e4h) = v0;
    0x0000c218 addiu a0, sp, 0x4c                |     a0 = sp + 0x4c;
    0x0000c21c move s1, a1                       |     s1 = a1;
    0x0000c220 move s2, a2                       |     s2 = a2;
    0x0000c224 bal 0xdff0                        |     sym_e2fsck_allocate_context ();
    0x0000c228 move s6, v0                       |     s6 = v0;
    0x0000c22c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000c230 beqz v0, 0xc274                   |         
                                                 | label_0:
    0x0000c234 lw a0, 0xe4(sp)                   |         a0 = *(var_e4h);
    0x0000c238 lw v1, (s7)                       |         v1 = *(s7);
    0x0000c23c move v0, s6                       |         v0 = s6;
                                                 |         if (a0 != v1) {
    0x0000c240 bne a0, v1, 0xd8d8                |             goto label_26;
                                                 |         }
    0x0000c244 lw ra, 0x10c(sp)                  |         ra = *(var_10ch);
    0x0000c248 lw fp, 0x108(sp)                  |         fp = *(var_108h);
    0x0000c24c lw s7, 0x104(sp)                  |         s7 = *(var_104h);
    0x0000c250 lw s6, 0x100(sp)                  |         s6 = *(var_100h);
    0x0000c254 lw s5, 0xfc(sp)                   |         s5 = *(var_fch);
    0x0000c258 lw s4, 0xf8(sp)                   |         s4 = *(var_f8h);
    0x0000c25c lw s3, 0xf4(sp)                   |         s3 = *(var_f4h);
    0x0000c260 lw s2, 0xf0(sp)                   |         s2 = *(var_f0h);
    0x0000c264 lw s1, 0xec(sp)                   |         s1 = *(var_ech);
    0x0000c268 lw s0, 0xe8(sp)                   |         s0 = *(var_e8h);
    0x0000c26c addiu sp, sp, 0x110               |         
    0x0000c270 jr ra                             |         return v0;
                                                 |     }
    0x0000c274 lw v1, -0x7b08(gp)                |     v1 = *((gp - 7874));
    0x0000c278 lw s3, -0x77dc(gp)                |     s3 = *((gp - 7671));
    0x0000c27c lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000c280 lw a0, (v1)                       |     a0 = *(v1);
    0x0000c284 lw v1, -0x7fdc(gp)                |     v1 = *(gp);
    0x0000c288 lw t9, -0x7a94(gp)                |     t9 = sym.imp.setvbuf;
    0x0000c28c sw v0, (s2)                       |     *(s2) = v0;
    0x0000c290 addiu a3, zero, 0x2000            |     a3 = 0x2000;
    0x0000c294 sw v0, (v1)                       |     *(v1) = v0;
    0x0000c298 addiu a2, zero, 2                 |     a2 = 2;
    0x0000c29c move a1, zero                     |     a1 = 0;
    0x0000c2a0 sw s3, 0x38(sp)                   |     *(var_38h) = s3;
    0x0000c2a4 jalr t9                           |     t9 ();
    0x0000c2a8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c2ac lw a0, (s3)                       |     a0 = *(s3);
    0x0000c2b0 addiu a3, zero, 0x2000            |     a3 = 0x2000;
    0x0000c2b4 lw t9, -0x7a94(gp)                |     t9 = sym.imp.setvbuf;
    0x0000c2b8 addiu a2, zero, 2                 |     a2 = 2;
    0x0000c2bc move a1, zero                     |     a1 = 0;
    0x0000c2c0 jalr t9                           |     t9 ();
    0x0000c2c4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c2c8 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000c2cc lw t9, -0x79ac(gp)                |     t9 = sym.imp.getenv;
                                                 |     /* str.E2FSCK_FORCE_INTERACTIVE */
    0x0000c2d0 addiu a0, a0, 0x5004              |     a0 += 0x5004;
    0x0000c2d4 jalr t9                           |     t9 ();
    0x0000c2d8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000c2dc beqz v0, 0xd34c                   |         goto label_27;
                                                 |     }
                                                 | label_19:
    0x0000c2e0 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000c2e4 addiu v1, zero, 1                 |     v1 = 1;
    0x0000c2e8 sw v1, 0x228(v0)                  |     *(v0) = v1;
                                                 | label_7:
    0x0000c2ec lw a0, -0x7fc8(gp)                |     a0 = *((gp - 8178));
    0x0000c2f0 lw t9, -0x7a9c(gp)                |     t9 = sym.imp.memset;
    0x0000c2f4 addiu a2, zero, 0x7f              |     a2 = 0x7f;
    0x0000c2f8 addiu a1, zero, 0x3d              |     a1 = 0x3d;
    0x0000c2fc addiu a0, a0, 0x2710              |     a0 += 0x2710;
    0x0000c300 jalr t9                           |     t9 ();
    0x0000c304 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c308 addiu a2, zero, 0x7f              |     a2 = 0x7f;
    0x0000c30c addiu a1, zero, 0x20              |     a1 = 0x20;
    0x0000c310 lw a0, -0x7fc8(gp)                |     a0 = *((gp - 8178));
    0x0000c314 lw t9, -0x7a9c(gp)                |     t9 = sym.imp.memset;
    0x0000c318 addiu a0, a0, 0x2690              |     a0 += 0x2690;
    0x0000c31c jalr t9                           |     t9 ();
    0x0000c320 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c324 lw a0, -0x7c4c(gp)                |     a0 = *((gp - 7955));
    0x0000c328 lw t9, -0x7c48(gp)                |     t9 = sym.imp.add_error_table;
    0x0000c32c jalr t9                           |     t9 ();
    0x0000c330 nop                               |     
    0x0000c334 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c338 lw a0, -0x7fc4(gp)                |     a0 = *(gp);
    0x0000c33c lw t9, -0x7c48(gp)                |     t9 = sym.imp.add_error_table;
    0x0000c340 jalr t9                           |     t9 ();
    0x0000c344 nop                               |     
    0x0000c348 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c34c lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000c350 move a1, zero                     |     a1 = 0;
    0x0000c354 lw t9, -0x7c7c(gp)                |     t9 = sym.imp.blkid_get_cache;
    0x0000c358 addiu a0, a0, 0x5c                |     a0 += 0x5c;
    0x0000c35c jalr t9                           |     t9 ();
    0x0000c360 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c364 lw v1, 0x4c(sp)                   |     v1 = *(var_4ch);
                                                 |     if (s0 == 0) {
    0x0000c368 beqz s0, 0xc790                   |         goto label_28;
                                                 |     }
    0x0000c36c lw v0, (s1)                       |     v0 = *(s1);
                                                 |     if (v0 == 0) {
    0x0000c370 beql v0, zero, 0xc794             |         goto label_29;
                                                 |     }
    0x0000c374 lw v0, -0x7fd0(gp)                |     v0 = *(gp);
                                                 |     do {
    0x0000c378 lw t9, -0x7fc0(gp)                |         t9 = sym.get_memory_size;
    0x0000c37c sw v0, 4(v1)                      |         *((v1 + 1)) = v0;
    0x0000c380 sw zero, 0x2c(sp)                 |         *(var_2ch) = 0;
    0x0000c384 bal 0x2bed8                       |         sym_get_memory_size ();
    0x0000c388 sw v0, 0x3c(sp)                   |         *(var_3ch) = v0;
    0x0000c38c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000c390 lw v0, 0x4c(sp)                   |         v0 = *(var_4ch);
    0x0000c394 addiu a0, zero, -1                |         a0 = -1;
    0x0000c398 addiu a1, zero, -1                |         a1 = -1;
    0x0000c39c sw a0, 0x2c0(v0)                  |         *((v0 + 176)) = a0;
    0x0000c3a0 sw a1, 0x2c4(v0)                  |         *(v0) = a1;
    0x0000c3a4 lw v0, -0x7fc8(gp)                |         v0 = *((gp - 8178));
    0x0000c3a8 lw s2, -0x7fd0(gp)                |         s2 = *(gp);
    0x0000c3ac sw v0, 0x30(sp)                   |         *(var_30h) = v0;
    0x0000c3b0 lw v0, -0x7fd8(gp)                |         v0 = *(gp);
    0x0000c3b4 lw s5, -0x7fd0(gp)                |         s5 = *(gp);
    0x0000c3b8 addiu v0, v0, -0x2294             |         v0 += -0x2294;
    0x0000c3bc lw s3, -0x7fd0(gp)                |         s3 = *(gp);
    0x0000c3c0 lw fp, -0x7fc8(gp)                |         fp = *((gp - 8178));
    0x0000c3c4 sw v1, 0x40(sp)                   |         *(var_40h) = v1;
    0x0000c3c8 sw zero, 0x28(sp)                 |         *(var_28h) = 0;
    0x0000c3cc addiu s2, s2, 0x6840              |         s2 += 0x6840;
                                                 |         /* esilref: '&d' */
    0x0000c3d0 addiu s5, s5, 0x5028              |         s5 += 0x5028;
    0x0000c3d4 sw v0, 0x34(sp)                   |         *(var_34h) = v0;
    0x0000c3d8 lw t9, -0x7a68(gp)                |         t9 = sym.imp.getopt;
                                                 |         /* str.panyrcC:B:dE:fvtFVM:b:I:j:P:l:L:N:SsDkz: */
    0x0000c3dc addiu a2, s3, 0x50dc              |         a2 = s3 + 0x50dc;
    0x0000c3e0 move a1, s1                       |         a1 = s1;
    0x0000c3e4 move a0, s0                       |         a0 = s0;
    0x0000c3e8 jalr t9                           |         t9 ();
    0x0000c3ec addiu v1, zero, -1                |         v1 = -1;
    0x0000c3f0 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000c3f4 sw v0, 0x48(sp)                   |         *(var_48h) = v0;
                                                 |         if (v0 == v1) {
    0x0000c3f8 beq v0, v1, 0xc7bc                |             goto label_30;
                                                 |         }
    0x0000c3fc addiu v0, v0, -0x42               |         v0 += -0x42;
    0x0000c400 sltiu v1, v0, 0x39                |         v1 = (v0 < 0x39) ? 1 : 0;
    0x0000c404 sll v0, v0, 2                     |         v0 <<= 2;
                                                 |         if (v1 == 0) {
    0x0000c408 beqz v1, 0xd554                   |             goto label_31;
                                                 |         }
    0x0000c40c lwx v0, v0(s2)                    |         __asm ("lwx v0, v0(s2)");
    0x0000c410 addu v0, v0, gp                   |         v0 += gp;
    0x0000c414 jr v0                             |         v0 ();
    0x0000c418 nop                               |         
                                                 | label_28:
    0x0000c790 lw v0, -0x7fd0(gp)                |         v0 = *(gp);
                                                 |         /* str.e2fsck */
                                                 | label_29:
    0x0000c794 addiu v0, v0, 0x5020              |         v0 += 0x5020;
    0x0000c798 b 0xc378                          |         
                                                 |     } while (1);
                                                 | label_30:
    0x0000c7bc lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
    0x0000c7c0 lw s2, 0x27a0(v0)                 |     s2 = *((v0 + 2536));
    0x0000c7c4 lw s3, -0x788c(gp)                |     s3 = *((gp - 7715));
                                                 |     if (s2 != 0) {
    0x0000c7c8 bnez s2, 0xc234                   |         goto label_0;
                                                 |     }
    0x0000c7cc addiu s0, s0, -1                  |     s0 += -1;
    0x0000c7d0 lw v0, (s3)                       |     v0 = *(s3);
    0x0000c7d4 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 |     if (s0 != v0) {
    0x0000c7d8 bne s0, v0, 0xd898                |         goto label_32;
                                                 |     }
    0x0000c7dc lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000c7e0 addiu v1, zero, 0x408             |     v1 = 0x408;
    0x0000c7e4 andi v0, v0, 0x408                |     v0 &= 0x408;
    0x0000c7e8 lw a3, -0x7fd0(gp)                |     a3 = *(gp);
                                                 |     if (v0 == v1) {
    0x0000c7ec beq v0, v1, 0xd388                |         goto label_33;
                                                 |     }
                                                 | label_8:
    0x0000c7f0 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000c7f4 andi v0, v0, 8                    |     v0 &= 8;
    0x0000c7f8 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
                                                 |     if (v0 != 0) {
    0x0000c7fc bnez v0, 0xcd74                   |         goto label_34;
                                                 |     }
                                                 | label_2:
    0x0000c800 lw a0, (s3)                       |     a0 = *(s3);
                                                 | label_15:
    0x0000c804 lw t9, -0x7a44(gp)                |     t9 = sym.imp.strchr;
    0x0000c808 sll a0, a0, 2                     |     a0 <<= 2;
    0x0000c80c addiu a1, zero, 0x3f              |     a1 = 0x3f;
    0x0000c810 lwx a0, a0(s1)                    |     __asm ("lwx a0, a0(s1)");
    0x0000c814 jalr t9                           |     t9 ();
    0x0000c818 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000c81c beqz v0, 0xd344                   |         goto label_35;
                                                 |     }
    0x0000c820 addiu v1, v0, 1                   |     v1 = v0 + 1;
    0x0000c824 sw v1, 0x10(s4)                   |     *((s4 + 4)) = v1;
    0x0000c828 sb zero, (v0)                     |     *(v0) = 0;
    0x0000c82c lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 | label_6:
    0x0000c830 lw a1, (s3)                       |     a1 = *(s3);
    0x0000c834 lw t9, -0x79cc(gp)                |     t9 = sym.imp.blkid_get_devname;
    0x0000c838 sll a1, a1, 2                     |     a1 <<= 2;
    0x0000c83c lw a0, 0x5c(s4)                   |     a0 = *((s4 + 23));
    0x0000c840 lwx a1, a1(s1)                    |     __asm ("lwx a1, a1(s1)");
    0x0000c844 move a2, zero                     |     a2 = 0;
    0x0000c848 jalr t9                           |     t9 ();
    0x0000c84c lw v1, 0x4c(sp)                   |     v1 = *(var_4ch);
    0x0000c850 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c854 sw v0, 8(s4)                      |     *((s4 + 2)) = v0;
    0x0000c858 lw v0, 8(v1)                      |     v0 = *((v1 + 2));
                                                 |     if (v0 == 0) {
    0x0000c85c beql v0, zero, 0xd500             |         goto label_36;
                                                 |     }
    0x0000c860 lw a3, (s3)                       |     a3 = *(s3);
                                                 | label_13:
    0x0000c864 lw a1, 0x2c(sp)                   |     a1 = *(var_2ch);
    0x0000c868 lw s3, 0x4c(sp)                   |     s3 = *(var_4ch);
                                                 |     if (a1 == 0) {
    0x0000c86c beqz a1, 0xc9ec                   |         goto label_5;
                                                 |     }
    0x0000c870 lw t9, -0x7fbc(gp)                |     t9 = sym.string_copy;
    0x0000c874 move a2, zero                     |     a2 = 0;
    0x0000c878 move a0, s3                       |     a0 = s3;
    0x0000c87c bal 0x29f78                       |     sym_string_copy ();
    0x0000c880 move s1, v0                       |     s1 = v0;
    0x0000c884 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c888 sw v0, 0x30(sp)                   |     *(var_30h) = v0;
                                                 |     if (v0 == 0) {
    0x0000c88c beqz v0, 0xc9dc                   |         goto label_37;
                                                 |     }
    0x0000c890 lb v0, (v0)                       |     v0 = *(v0);
    0x0000c894 lw v0, -0x7fd0(gp)                |     v0 = *(gp);
                                                 |     if (v0 == 0) {
    0x0000c898 beqz v0, 0xc9dc                   |         goto label_37;
                                                 |     }
    0x0000c89c lw fp, -0x7fd0(gp)                |     fp = *(gp);
    0x0000c8a0 sw v0, 0x2c(sp)                   |     *(var_2ch) = v0;
    0x0000c8a4 lw v0, -0x7fd0(gp)                |     v0 = *(gp);
    0x0000c8a8 lw s4, -0x7fd0(gp)                |     s4 = *(gp);
    0x0000c8ac sw v0, 0x44(sp)                   |     *(var_44h) = v0;
    0x0000c8b0 lw v0, -0x7fd0(gp)                |     v0 = *(gp);
                                                 |     /* str.readahead_kb */
    0x0000c8b4 addiu fp, fp, 0x51a4              |     fp += 0x51a4;
                                                 |     /* str.fragcheck */
    0x0000c8b8 addiu v0, v0, 0x51d4              |     v0 += 0x51d4;
    0x0000c8bc sw v0, 0x24(sp)                   |     *(var_24h_2) = v0;
    0x0000c8c0 lw v0, -0x7fd0(gp)                |     v0 = *(gp);
                                                 |     /* str.discard */
    0x0000c8c4 addiu v0, v0, 0x51f0              |     v0 += 0x51f0;
    0x0000c8c8 sw v0, 0x34(sp)                   |     *(var_34h) = v0;
    0x0000c8cc b 0xc920                          |     
                                                 |     while (v0 == 0) {
    0x0000c8d0 lw t9, -0x7a40(gp)                |         t9 = sym.imp.strtoul;
                                                 |         if (s5 == 0) {
    0x0000c8d4 beqz s5, 0xcf78                   |             goto label_24;
                                                 |         }
    0x0000c8d8 move a2, zero                     |         a2 = 0;
    0x0000c8dc addiu a1, sp, 0x50                |         a1 = sp + 0x50;
    0x0000c8e0 move a0, s5                       |         a0 = s5;
    0x0000c8e4 jalr t9                           |         t9 ();
    0x0000c8e8 lw v1, 0x50(sp)                   |         v1 = *(var_50h);
    0x0000c8ec lb v1, (v1)                       |         v1 = *(v1);
    0x0000c8f0 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v1 != 0) {
    0x0000c8f4 bnez v1, 0xcfcc                   |             goto label_38;
                                                 |         }
    0x0000c8f8 addiu v1, v0, -1                  |         v1 = v0 + -1;
    0x0000c8fc sltiu v1, v1, 2                   |         v1 = (v1 < 2) ? 1 : 0;
                                                 |         if (v1 == 0) {
    0x0000c900 beql v1, zero, 0xcfd0             |             goto label_39;
                                                 |         }
    0x0000c904 lw v0, 0x38(sp)                   |         v0 = *(var_38h);
    0x0000c908 sw v0, 0x298(s3)                  |         *((s3 + 166)) = v0;
                                                 | label_1:
    0x0000c90c lw t9, -0x7814(gp)                |         t9 = sym.imp.free;
                                                 |         if (s0 == 0) {
    0x0000c910 beqz s0, 0xcff8                   |             goto label_40;
                                                 |         }
    0x0000c914 lb v0, (s0)                       |         v0 = *(s0);
    0x0000c918 move s1, s0                       |         s1 = s0;
                                                 |         if (v0 == 0) {
    0x0000c91c beqz v0, 0xcff8                   |             goto label_40;
                                                 |         }
    0x0000c920 lw t9, -0x7a44(gp)                |         t9 = sym.imp.strchr;
    0x0000c924 addiu a1, zero, 0x2c              |         a1 = 0x2c;
    0x0000c928 move a0, s1                       |         a0 = s1;
    0x0000c92c jalr t9                           |         t9 ();
    0x0000c930 move s0, v0                       |         s0 = v0;
    0x0000c934 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000c938 sw v0, 0x50(sp)                   |         *(var_50h) = v0;
                                                 |         if (v0 != 0) {
    0x0000c93c beqz v0, 0xc94c                   |             
    0x0000c940 sb zero, (v0)                     |             *(v0) = 0;
    0x0000c944 lw s0, 0x50(sp)                   |             s0 = *(var_50h);
    0x0000c948 addiu s0, s0, 1                   |             s0++;
                                                 |         }
    0x0000c94c lw t9, -0x7a44(gp)                |         t9 = sym.imp.strchr;
    0x0000c950 addiu a1, zero, 0x3d              |         a1 = 0x3d;
    0x0000c954 move a0, s1                       |         a0 = s1;
    0x0000c958 jalr t9                           |         t9 ();
    0x0000c95c lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000c960 move s5, v0                       |         s5 = v0;
    0x0000c964 lw t9, -0x778c(gp)                |         t9 = sym.imp.strcmp;
                                                 |         if (v0 == 0) {
    0x0000c968 beqz v0, 0xcf4c                   |             goto label_41;
                                                 |         }
    0x0000c96c sb zero, (v0)                     |         *(v0) = 0;
                                                 |         /* str.ea_ver */
    0x0000c970 addiu a1, s4, 0x5184              |         a1 = s4 + 0x5184;
    0x0000c974 move a0, s1                       |         a0 = s1;
    0x0000c978 jalr t9                           |         t9 ();
    0x0000c97c addiu s5, s5, 1                   |         s5++;
    0x0000c980 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000c984 beqz v0, 0xc8d0                   |         
                                                 |     }
    0x0000c988 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
    0x0000c98c move a1, fp                       |     a1 = fp;
    0x0000c990 move a0, s1                       |     a0 = s1;
    0x0000c994 jalr t9                           |     t9 ();
    0x0000c998 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000c99c bnez v0, 0xcf80                   |         goto label_42;
                                                 |     }
    0x0000c9a0 lw t9, -0x7aac(gp)                |     t9 = sym.imp.strtoull;
                                                 |     if (s5 == 0) {
    0x0000c9a4 beqz s5, 0xcf78                   |         goto label_24;
                                                 |     }
    0x0000c9a8 addiu a1, sp, 0x50                |     a1 = sp + 0x50;
    0x0000c9ac move a0, s5                       |     a0 = s5;
    0x0000c9b0 move a2, zero                     |     a2 = 0;
    0x0000c9b4 jalr t9                           |     t9 ();
    0x0000c9b8 move a1, v1                       |     a1 = v1;
    0x0000c9bc lw v1, 0x50(sp)                   |     v1 = *(var_50h);
    0x0000c9c0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000c9c4 lb v1, (v1)                       |     v1 = *(v1);
    0x0000c9c8 move a0, v0                       |     a0 = v0;
                                                 |     if (v1 != 0) {
    0x0000c9cc bnez v1, 0xd5b4                   |         goto label_43;
                                                 |     }
    0x0000c9d0 sw a0, 0x2c0(s3)                  |     *((s3 + 176)) = a0;
    0x0000c9d4 sw a1, 0x2c4(s3)                  |     *(s3) = a1;
    0x0000c9d8 b 0xc90c                          |     goto label_1;
                                                 | label_37:
    0x0000c9dc lw t9, -0x7814(gp)                |     t9 = sym.imp.free;
    0x0000c9e0 lw a0, 0x30(sp)                   |     a0 = *(var_30h);
    0x0000c9e4 jalr t9                           |     t9 ();
    0x0000c9e8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 | label_5:
    0x0000c9ec lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000c9f0 lw t9, -0x79ac(gp)                |     t9 = sym.imp.getenv;
                                                 |     /* str.E2FSCK_FIXES_ONLY */
    0x0000c9f4 addiu a0, a0, 0x5444              |     a0 += 0x5444;
    0x0000c9f8 jalr t9                           |     t9 ();
    0x0000c9fc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ca00 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 |     if (v0 != 0) {
    0x0000ca04 beqz v0, 0xca14                   |         
    0x0000ca08 lw v0, 0x28(s4)                   |         v0 = *((s4 + 10));
    0x0000ca0c ori v0, v0, 0x8000                |         v0 |= 0x8000;
    0x0000ca10 sw v0, 0x28(s4)                   |         *((s4 + 10)) = v0;
                                                 |     }
    0x0000ca14 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000ca18 ori v1, zero, 0x8400              |     v1 = 0x8400;
    0x0000ca1c andi v0, v0, 0x8400               |     v0 &= 0x8400;
    0x0000ca20 lw a3, -0x7fd0(gp)                |     a3 = *(gp);
                                                 |     if (v0 == v1) {
    0x0000ca24 beq v0, v1, 0xd4c4                |         goto label_44;
                                                 |     }
                                                 | label_12:
    0x0000ca28 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000ca2c ori v1, zero, 0xc000              |     v1 = 0xc000;
    0x0000ca30 andi v0, v0, 0xc000               |     v0 &= 0xc000;
    0x0000ca34 lw a3, -0x7fd0(gp)                |     a3 = *(gp);
                                                 |     if (v0 == v1) {
    0x0000ca38 beq v0, v1, 0xd48c                |         goto label_45;
                                                 |     }
                                                 | label_11:
    0x0000ca3c lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000ca40 lw t9, -0x79ac(gp)                |     t9 = sym.imp.getenv;
                                                 |     /* str.E2FSCK_CONFIG */
    0x0000ca44 addiu a0, a0, 0x54c8              |     a0 += 0x54c8;
    0x0000ca48 jalr t9                           |     t9 ();
    0x0000ca4c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ca50 lw s0, -0x7fc8(gp)                |     s0 = *((gp - 8178));
                                                 |     if (v0 != 0) {
    0x0000ca54 beqz v0, 0xca5c                   |         
    0x0000ca58 sw v0, -0xff0(s0)                 |         *((s0 - 1020)) = v0;
                                                 |     }
    0x0000ca5c lw a0, -0x7fd8(gp)                |     a0 = *(gp);
    0x0000ca60 lw t9, -0x7fb4(gp)                |     t9 = sym.profile_set_syntax_err_cb;
    0x0000ca64 addiu a0, a0, -0x3f3c             |     a0 += -0x3f3c;
    0x0000ca68 jalr t9                           |     t9 ();
    0x0000ca6c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ca70 lw a1, 0x4c(sp)                   |     a1 = *(var_4ch);
                                                 |     /* esilref: '/etc/e2fsck.conf' */
    0x0000ca74 addiu a0, s0, -0xff0              |     a0 = s0 + -0xff0;
    0x0000ca78 lw t9, -0x7fb0(gp)                |     t9 = sym.profile_init;
    0x0000ca7c addiu a1, a1, 0x29c               |     a1 += 0x29c;
    0x0000ca80 jalr t9                           |     t9 ();
    0x0000ca84 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ca88 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000ca8c addiu s1, sp, 0x48                |     s1 = sp + 0x48;
    0x0000ca90 lw s0, -0x7fd0(gp)                |     s0 = *(gp);
    0x0000ca94 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000ca98 lw a0, 0x29c(v0)                  |     a0 = *((v0 + 167));
    0x0000ca9c lw t9, -0x7fac(gp)                |     t9 = sym.profile_get_boolean;
    0x0000caa0 sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000caa4 sw zero, 0x10(sp)                 |     *(var_10h_2) = 0;
    0x0000caa8 move a3, zero                     |     a3 = 0;
                                                 |     /* str.report_time */
    0x0000caac addiu a2, a2, 0x54d8              |     a2 += 0x54d8;
                                                 |     /* str.options */
    0x0000cab0 addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000cab4 jalr t9                           |     t9 ();
    0x0000cab8 lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x0000cabc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cac0 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 |     if (v0 != 0) {
    0x0000cac4 beqz v0, 0xcad4                   |         
    0x0000cac8 lw v0, 0x28(s4)                   |         v0 = *((s4 + 10));
    0x0000cacc ori v0, v0, 0x30                  |         v0 |= 0x30;
    0x0000cad0 sw v0, 0x28(s4)                   |         *((s4 + 10)) = v0;
                                                 |     }
    0x0000cad4 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000cad8 lw a0, 0x29c(s4)                  |     a0 = *((s4 + 167));
    0x0000cadc lw t9, -0x7fac(gp)                |     t9 = sym.profile_get_boolean;
    0x0000cae0 sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000cae4 sw zero, 0x10(sp)                 |     *(var_10h_2) = 0;
    0x0000cae8 move a3, zero                     |     a3 = 0;
                                                 |     /* str.report_verbose */
    0x0000caec addiu a2, a2, 0x54ec              |     a2 += 0x54ec;
                                                 |     /* str.options */
    0x0000caf0 addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000caf4 jalr t9                           |     t9 ();
    0x0000caf8 lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x0000cafc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000cb00 beqz v0, 0xcb10                   |         
    0x0000cb04 lw v0, -0x7fc8(gp)                |         v0 = *((gp - 8178));
    0x0000cb08 addiu v1, zero, 1                 |         v1 = 1;
    0x0000cb0c sw v1, 0x279c(v0)                 |         *((v0 + 2535)) = v1;
                                                 |     }
    0x0000cb10 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000cb14 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000cb18 lw t9, -0x7fac(gp)                |     t9 = sym.profile_get_boolean;
    0x0000cb1c lw a0, 0x29c(v0)                  |     a0 = *((v0 + 167));
    0x0000cb20 move a3, zero                     |     a3 = 0;
    0x0000cb24 sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000cb28 sw zero, 0x10(sp)                 |     *(var_10h_2) = 0;
                                                 |     /* str.no_optimize_extents */
    0x0000cb2c addiu a2, a2, 0x5218              |     a2 += 0x5218;
                                                 |     /* str.options */
    0x0000cb30 addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000cb34 jalr t9                           |     t9 ();
    0x0000cb38 lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x0000cb3c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cb40 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 |     if (v0 != 0) {
    0x0000cb44 beqz v0, 0xcb58                   |         
    0x0000cb48 lw v0, 0x28(s4)                   |         v0 = *((s4 + 10));
    0x0000cb4c lui v1, 1                         |         v1 = 0x10000;
    0x0000cb50 or v0, v0, v1                     |         v0 |= v1;
    0x0000cb54 sw v0, 0x28(s4)                   |         *((s4 + 10)) = v0;
                                                 |     }
    0x0000cb58 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000cb5c lw a0, 0x29c(s4)                  |     a0 = *((s4 + 167));
    0x0000cb60 lw t9, -0x7fac(gp)                |     t9 = sym.profile_get_boolean;
    0x0000cb64 sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000cb68 sw zero, 0x10(sp)                 |     *(var_10h_2) = 0;
    0x0000cb6c move a3, zero                     |     a3 = 0;
                                                 |     /* str.inode_count_fullmap */
    0x0000cb70 addiu a2, a2, 0x522c              |     a2 += 0x522c;
                                                 |     /* str.options */
    0x0000cb74 addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000cb78 jalr t9                           |     t9 ();
    0x0000cb7c lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x0000cb80 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cb84 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000cb88 bnez v0, 0xcd60                   |     
                                                 |     while (1) {
    0x0000cb8c lw v0, 0x2c0(s4)                  |         v0 = *((s4 + 176));
    0x0000cb90 addiu v1, zero, -1                |         v1 = -1;
                                                 |         if (v0 == v1) {
    0x0000cb94 beql v0, v1, 0xd3c4               |             goto label_46;
                                                 |         }
    0x0000cb98 lw v1, 0x2c4(s4)                  |         v1 = *(s4);
                                                 | label_10:
    0x0000cb9c lw v0, 0x28(s4)                   |         v0 = *((s4 + 10));
                                                 | label_9:
    0x0000cba0 addiu v1, zero, 0x2008            |         v1 = 0x2008;
    0x0000cba4 andi a0, v0, 0x2008               |         a0 = v0 & 0x2008;
    0x0000cba8 addiu v1, zero, -0x2001           |         v1 = -0x2001;
                                                 |         if (a0 == v1) {
    0x0000cbac beq a0, v1, 0xce50                |             goto label_47;
                                                 |         }
                                                 | label_3:
    0x0000cbb0 lw v0, 0x28(sp)                   |         v0 = *(var_28h);
    0x0000cbb4 lw t9, -0x7a1c(gp)                |         t9 = sym.imp.open;
                                                 |         if (v0 != 0) {
    0x0000cbb8 bnez v0, 0xcf04                   |             goto label_48;
                                                 |         }
                                                 | label_4:
    0x0000cbbc lw v0, -0x7fc8(gp)                |         v0 = *((gp - 8178));
    0x0000cbc0 lw v0, 0x27a4(v0)                 |         v0 = *((v0 + 2537));
    0x0000cbc4 addiu s0, sp, 0x54                |         s0 = sp + 0x54;
                                                 |         if (v0 == 0) {
    0x0000cbc8 beqz v0, 0xce5c                   |             goto label_49;
                                                 |         }
    0x0000cbcc lw v0, -0x7fc8(gp)                |         v0 = *((gp - 8178));
    0x0000cbd0 lw v0, 0x2790(v0)                 |         v0 = *((v0 + 2532));
    0x0000cbd4 lw t9, -0x7a9c(gp)                |         t9 = sym.imp.memset;
                                                 |         if (v0 != 0) {
    0x0000cbd8 bnez v0, 0xd8a8                   |             goto label_50;
                                                 |         }
    0x0000cbdc addiu a2, zero, 0x90              |         a2 = 0x90;
    0x0000cbe0 move a1, zero                     |         a1 = 0;
    0x0000cbe4 move a0, s0                       |         a0 = s0;
    0x0000cbe8 jalr t9                           |         t9 ();
    0x0000cbec lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cbf0 move a2, zero                     |         a2 = 0;
    0x0000cbf4 move a1, s0                       |         a1 = s0;
    0x0000cbf8 lw v0, -0x7fd8(gp)                |         v0 = *(gp);
    0x0000cbfc lw t9, -0x7c34(gp)                |         t9 = sym.imp.sigaction;
    0x0000cc00 addiu v0, v0, -0x4104             |         v0 += -0x4104;
    0x0000cc04 addiu a0, zero, 2                 |         a0 = 2;
    0x0000cc08 sw v0, 0x58(sp)                   |         *(var_58h) = v0;
    0x0000cc0c jalr t9                           |         t9 ();
    0x0000cc10 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cc14 move a2, zero                     |         a2 = 0;
    0x0000cc18 move a1, s0                       |         a1 = s0;
    0x0000cc1c lw t9, -0x7c34(gp)                |         t9 = sym.imp.sigaction;
    0x0000cc20 addiu a0, zero, 0xf               |         a0 = 0xf;
    0x0000cc24 jalr t9                           |         t9 ();
    0x0000cc28 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cc2c lui v0, 0x1000                    |         v0 = 0x10000000;
    0x0000cc30 sw v0, 0x54(sp)                   |         *(var_54h) = v0;
    0x0000cc34 lw v0, -0x7fd8(gp)                |         v0 = *(gp);
    0x0000cc38 lw t9, -0x7c34(gp)                |         t9 = sym.imp.sigaction;
    0x0000cc3c addiu v0, v0, -0x4130             |         v0 += -0x4130;
    0x0000cc40 move a2, zero                     |         a2 = 0;
    0x0000cc44 move a1, s0                       |         a1 = s0;
    0x0000cc48 addiu a0, zero, 0x10              |         a0 = 0x10;
    0x0000cc4c sw v0, 0x58(sp)                   |         *(var_58h) = v0;
    0x0000cc50 jalr t9                           |         t9 ();
    0x0000cc54 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cc58 move a2, zero                     |         a2 = 0;
    0x0000cc5c move a1, s0                       |         a1 = s0;
    0x0000cc60 lw v0, -0x7fd8(gp)                |         v0 = *(gp);
    0x0000cc64 lw t9, -0x7c34(gp)                |         t9 = sym.imp.sigaction;
    0x0000cc68 addiu v0, v0, -0x26a0             |         v0 += -0x26a0;
    0x0000cc6c addiu a0, zero, 0x11              |         a0 = 0x11;
    0x0000cc70 sw v0, 0x58(sp)                   |         *(var_58h) = v0;
    0x0000cc74 jalr t9                           |         t9 ();
    0x0000cc78 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cc7c lw a0, -0x7fd0(gp)                |         a0 = *(gp);
    0x0000cc80 lw t9, -0x79ac(gp)                |         t9 = sym.imp.getenv;
                                                 |         /* str.PATH */
    0x0000cc84 addiu a0, a0, 0x55d8              |         a0 += 0x55d8;
    0x0000cc88 jalr t9                           |         t9 ();
    0x0000cc8c move s1, v0                       |         s1 = v0;
    0x0000cc90 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x0000cc94 beqz v0, 0xd674                   |             goto label_51;
                                                 |         }
    0x0000cc98 lw t9, -0x7a54(gp)                |         t9 = sym.imp.strlen;
    0x0000cc9c move a0, s1                       |         a0 = s1;
    0x0000cca0 jalr t9                           |         t9 ();
    0x0000cca4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cca8 lw t9, -0x79bc(gp)                |         t9 = sym.imp.malloc;
    0x0000ccac addiu a0, v0, 0xc                 |         a0 = v0 + 0xc;
    0x0000ccb0 jalr t9                           |         t9 ();
    0x0000ccb4 move s0, v0                       |         s0 = v0;
    0x0000ccb8 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 == 0) {
    0x0000ccbc beqz v0, 0xd7ec                   |             goto label_52;
                                                 |         }
    0x0000ccc0 lw v1, -0x7fd0(gp)                |         v1 = *(gp);
                                                 |         /* str.PATH_sbin */
    0x0000ccc4 addiu v0, v1, 0x55e0              |         v0 = v1 + 0x55e0;
    0x0000ccc8 lw a1, 0x55e0(v1)                 |         a1 = *((v1 + 5496));
    0x0000cccc lw a0, 4(v0)                      |         a0 = *((v0 + 1));
    0x0000ccd0 lhu v1, 8(v0)                     |         v1 = *((v0 + 4));
    0x0000ccd4 lbu v0, 0xa(v0)                   |         v0 = *((v0 + 10));
    0x0000ccd8 sw a1, (s0)                       |         *(s0) = a1;
    0x0000ccdc sw a0, 4(s0)                      |         *((s0 + 1)) = a0;
    0x0000cce0 sh v1, 8(s0)                      |         *((s0 + 4)) = v1;
    0x0000cce4 sb v0, 0xa(s0)                    |         *((s0 + 10)) = v0;
                                                 | label_25:
    0x0000cce8 lw t9, -0x7a54(gp)                |         t9 = sym.imp.strlen;
    0x0000ccec move a0, s0                       |         a0 = s0;
    0x0000ccf0 jalr t9                           |         t9 ();
    0x0000ccf4 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000ccf8 addu v0, s0, v0                   |         v0 = s0 + v0;
    0x0000ccfc addiu v1, zero, 0x3a              |         v1 = 0x3a;
    0x0000cd00 lw t9, -0x7960(gp)                |         t9 = sym.imp.strcpy
    0x0000cd04 sb v1, (v0)                       |         *(v0) = v1;
    0x0000cd08 sb zero, 1(v0)                    |         *((v0 + 1)) = 0;
    0x0000cd0c move a1, s1                       |         a1 = s1;
    0x0000cd10 addiu a0, v0, 1                   |         a0 = v0 + 1;
    0x0000cd14 jalr t9                           |         t9 ();
    0x0000cd18 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 | label_18:
    0x0000cd1c lw t9, -0x7b74(gp)                |         t9 = sym.imp.putenv;
    0x0000cd20 move a0, s0                       |         a0 = s0;
    0x0000cd24 jalr t9                           |         t9 ();
    0x0000cd28 lw gp, 0x18(sp)                   |         gp = *(var_18h);
    0x0000cd2c b 0xc234                          |         goto label_0;
    0x0000cd60 lw v0, 0x28(s4)                   |         v0 = *((s4 + 10));
    0x0000cd64 lui v1, 2                         |         v1 = 0x20000;
    0x0000cd68 or v0, v0, v1                     |         v0 |= v1;
    0x0000cd6c sw v0, 0x28(s4)                   |         *((s4 + 10)) = v0;
    0x0000cd70 b 0xcb8c                          |         
                                                 |     }
                                                 | label_34:
    0x0000cd74 lw v0, 0x27a4(v0)                 |     v0 = *((v0 + 2537));
    0x0000cd78 lw a3, -0x7fd0(gp)                |     a3 = *(gp);
                                                 |     if (v0 != 0) {
    0x0000cd7c bnez v0, 0xd568                   |         goto label_53;
                                                 |     }
                                                 | label_14:
    0x0000cd80 lw v0, -0x7fc8(gp)                |     v0 = *((gp - 8178));
    0x0000cd84 lw v0, 0x2790(v0)                 |     v0 = *((v0 + 2532));
    0x0000cd88 lw a3, -0x7fd0(gp)                |     a3 = *(gp);
                                                 |     if (v0 == 0) {
    0x0000cd8c beqz v0, 0xd378                   |         goto label_54;
                                                 |     }
    0x0000cd90 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000cd94 lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000cd98 lw a0, 4(s4)                      |     a0 = *((s4 + 1));
                                                 |     /* str.The__n_and__l__L_options_are_incompatible. */
    0x0000cd9c addiu a3, a3, 0x5158              |     a3 += 0x5158;
                                                 |     /* esilref: '&s' */
    0x0000cda0 addiu a2, a2, 0x62f4              |     a2 += 0x62f4;
    0x0000cda4 move a1, zero                     |     a1 = 0;
    0x0000cda8 jalr t9                           |     t9 ();
    0x0000cdac lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cdb0 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000cdb4 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000cdb8 move a1, zero                     |     a1 = 0;
    0x0000cdbc bal 0x29d10                       |     sym_fatal_error ();
    0x0000cdc0 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000cdc4 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000cdc8 andi v1, v0, 8                    |     v1 = v0 & 8;
    0x0000cdcc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v1 == 0) {
    0x0000cdd0 beqz v1, 0xc800                   |         goto label_2;
                                                 |     }
    0x0000cdd4 ori v0, v0, 1                     |     v0 |= 1;
    0x0000cdd8 sw v0, 0x28(s4)                   |     *((s4 + 10)) = v0;
    0x0000cddc b 0xc800                          |     goto label_2;
                                                 | label_47:
    0x0000ce50 and v0, v0, v1                    |     v0 &= v1;
    0x0000ce54 sw v0, 0x28(s4)                   |     *((s4 + 10)) = v0;
    0x0000ce58 b 0xcbb0                          |     goto label_3;
                                                 | label_49:
    0x0000ce5c lw t9, -0x7a9c(gp)                |     t9 = sym.imp.memset;
    0x0000ce60 addiu a2, zero, 0x90              |     a2 = 0x90;
    0x0000ce64 move a1, zero                     |     a1 = 0;
    0x0000ce68 move a0, s0                       |     a0 = s0;
    0x0000ce6c jalr t9                           |     t9 ();
    0x0000ce70 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ce74 move a2, zero                     |     a2 = 0;
    0x0000ce78 move a1, s0                       |     a1 = s0;
    0x0000ce7c lw v0, -0x7fd8(gp)                |     v0 = *(gp);
    0x0000ce80 lw t9, -0x7c34(gp)                |     t9 = sym.imp.sigaction;
    0x0000ce84 addiu v0, v0, -0x4104             |     v0 += -0x4104;
    0x0000ce88 addiu a0, zero, 2                 |     a0 = 2;
    0x0000ce8c sw v0, 0x58(sp)                   |     *(var_58h) = v0;
    0x0000ce90 jalr t9                           |     t9 ();
    0x0000ce94 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ce98 move a2, zero                     |     a2 = 0;
    0x0000ce9c move a1, s0                       |     a1 = s0;
    0x0000cea0 lw t9, -0x7c34(gp)                |     t9 = sym.imp.sigaction;
    0x0000cea4 addiu a0, zero, 0xf               |     a0 = 0xf;
    0x0000cea8 jalr t9                           |     t9 ();
    0x0000ceac lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000ceb0 lui v0, 0x1000                    |     v0 = 0x10000000;
    0x0000ceb4 sw v0, 0x54(sp)                   |     *(var_54h) = v0;
    0x0000ceb8 lw v0, -0x7fd8(gp)                |     v0 = *(gp);
    0x0000cebc lw t9, -0x7c34(gp)                |     t9 = sym.imp.sigaction;
    0x0000cec0 addiu v0, v0, -0x4130             |     v0 += -0x4130;
    0x0000cec4 move a2, zero                     |     a2 = 0;
    0x0000cec8 move a1, s0                       |     a1 = s0;
    0x0000cecc addiu a0, zero, 0x10              |     a0 = 0x10;
    0x0000ced0 sw v0, 0x58(sp)                   |     *(var_58h) = v0;
    0x0000ced4 jalr t9                           |     t9 ();
    0x0000ced8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cedc move a2, zero                     |     a2 = 0;
    0x0000cee0 move a1, s0                       |     a1 = s0;
    0x0000cee4 lw v0, -0x7fd8(gp)                |     v0 = *(gp);
    0x0000cee8 lw t9, -0x7c34(gp)                |     t9 = sym.imp.sigaction;
    0x0000ceec addiu v0, v0, -0x26a0             |     v0 += -0x26a0;
    0x0000cef0 addiu a0, zero, 0x11              |     a0 = 0x11;
    0x0000cef4 sw v0, 0x58(sp)                   |     *(var_58h) = v0;
    0x0000cef8 jalr t9                           |     t9 ();
    0x0000cefc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cf00 b 0xc234                          |     goto label_0;
                                                 | label_48:
    0x0000cf04 lw a0, 8(s4)                      |     a0 = *((s4 + 2));
    0x0000cf08 move a2, zero                     |     a2 = 0;
    0x0000cf0c move a1, zero                     |     a1 = 0;
    0x0000cf10 jalr t9                           |     t9 ();
    0x0000cf14 move s0, v0                       |     s0 = v0;
    0x0000cf18 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 < 0) {
    0x0000cf1c bltz v0, 0xd6d4                   |         goto label_55;
                                                 |     }
                                                 | label_21:
    0x0000cf20 lw t9, -0x7818(gp)                |     t9 = sym.imp.ext2fs_sync_device;
    0x0000cf24 addiu a1, zero, 1                 |     a1 = 1;
    0x0000cf28 move a0, s0                       |     a0 = s0;
    0x0000cf2c jalr t9                           |     t9 ();
    0x0000cf30 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000cf34 bnez v0, 0xd5f0                   |         goto label_56;
                                                 |     }
                                                 | label_16:
    0x0000cf38 lw t9, -0x7cb0(gp)                |     t9 = sym.imp.close;
    0x0000cf3c move a0, s0                       |     a0 = s0;
    0x0000cf40 jalr t9                           |     t9 ();
    0x0000cf44 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cf48 b 0xcbbc                          |     goto label_4;
                                                 |     /* str.ea_ver */
                                                 | label_41:
    0x0000cf4c addiu a1, s4, 0x5184              |     a1 = s4 + 0x5184;
    0x0000cf50 move a0, s1                       |     a0 = s1;
    0x0000cf54 jalr t9                           |     t9 ();
    0x0000cf58 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000cf5c beqz v0, 0xcf78                   |         
    0x0000cf60 lw t9, -0x778c(gp)                |         t9 = sym.imp.strcmp;
    0x0000cf64 move a1, fp                       |         a1 = fp;
    0x0000cf68 move a0, s1                       |         a0 = s1;
    0x0000cf6c jalr t9                           |         t9 ();
    0x0000cf70 lw gp, 0x18(sp)                   |         gp = *(var_18h);
                                                 |         if (v0 != 0) {
    0x0000cf74 bnez v0, 0xcf80                   |             goto label_42;
                                                 |         }
                                                 |     }
                                                 | label_24:
    0x0000cf78 addiu s2, s2, 1                   |     s2++;
    0x0000cf7c b 0xc90c                          |     goto label_1;
                                                 | label_42:
    0x0000cf80 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
    0x0000cf84 lw a1, 0x24(sp)                   |     a1 = *(var_24h_2);
    0x0000cf88 move a0, s1                       |     a0 = s1;
    0x0000cf8c jalr t9                           |     t9 ();
    0x0000cf90 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000cf94 beqz v0, 0xd334                   |         goto label_57;
                                                 |     }
    0x0000cf98 lw v0, 0x2c(sp)                   |     v0 = *(var_2ch);
    0x0000cf9c lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
    0x0000cfa0 addiu a1, v0, 0x51e0              |     a1 = v0 + 0x51e0;
    0x0000cfa4 move a0, s1                       |     a0 = s1;
    0x0000cfa8 jalr t9                           |     t9 ();
    0x0000cfac lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000cfb0 bnez v0, 0xd1ec                   |         goto label_58;
                                                 |     }
    0x0000cfb4 addiu s2, s2, 1                   |     s2++;
                                                 |     if (s5 == 0) {
    0x0000cfb8 bnel s5, zero, 0xc90c             |         goto label_1;
                                                 |     }
    0x0000cfbc lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000cfc0 ori v0, v0, 0x1000                |     v0 |= 0x1000;
    0x0000cfc4 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000cfc8 b 0xc90c                          |     goto label_1;
                                                 | label_38:
    0x0000cfcc lw v0, 0x38(sp)                   |     v0 = *(var_38h);
                                                 | label_39:
    0x0000cfd0 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000cfd4 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000cfd8 lw a3, (v0)                       |     a3 = *(v0);
    0x0000cfdc addiu a2, zero, 0x14              |     a2 = 0x14;
    0x0000cfe0 addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str.Invalid_EA_version._n */
    0x0000cfe4 addiu a0, a0, 0x518c              |     a0 += 0x518c;
    0x0000cfe8 jalr t9                           |     t9 ();
    0x0000cfec addiu s2, s2, 1                   |     s2++;
    0x0000cff0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000cff4 b 0xc90c                          |     goto label_1;
                                                 | label_40:
    0x0000cff8 lw a0, 0x30(sp)                   |     a0 = *(var_30h);
    0x0000cffc jalr t9                           |     t9 ();
    0x0000d000 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (s2 == 0) {
    0x0000d004 beqz s2, 0xc9ec                   |         goto label_5;
                                                 |     }
    0x0000d008 lw s0, 0x38(sp)                   |     s0 = *(var_38h);
    0x0000d00c lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d010 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d014 lw a3, (s0)                       |     a3 = *(s0);
    0x0000d018 addiu a2, zero, 0x8c              |     a2 = 0x8c;
    0x0000d01c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._nExtended_options_are_separated_by_commas__and_may_take_an_argument_which_nis_set_off_by_an_equals____sign.__Valid_extended_options_are:_n_n */
    0x0000d020 addiu a0, a0, 0x52ac              |     a0 += 0x52ac;
    0x0000d024 jalr t9                           |     t9 ();
    0x0000d028 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d02c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d030 addiu a2, zero, 0x1e              |     a2 = 0x1e;
    0x0000d034 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d038 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d03c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tea_ver_ea_version__1_or_2___n */
    0x0000d040 addiu a0, a0, 0x533c              |     a0 += 0x533c;
    0x0000d044 jalr t9                           |     t9 ();
    0x0000d048 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d04c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d050 addiu a2, zero, 0xb               |     a2 = 0xb;
    0x0000d054 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d058 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d05c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tfragcheck_n */
    0x0000d060 addiu a0, a0, 0x535c              |     a0 += 0x535c;
    0x0000d064 jalr t9                           |     t9 ();
    0x0000d068 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d06c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d070 addiu a2, zero, 0xe               |     a2 = 0xe;
    0x0000d074 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d078 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d07c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tjournal_only_n */
    0x0000d080 addiu a0, a0, 0x5368              |     a0 += 0x5368;
    0x0000d084 jalr t9                           |     t9 ();
    0x0000d088 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d08c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d090 addiu a2, zero, 9                 |     a2 = 9;
    0x0000d094 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d098 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d09c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tdiscard_n */
    0x0000d0a0 addiu a0, a0, 0x5378              |     a0 += 0x5378;
    0x0000d0a4 jalr t9                           |     t9 ();
    0x0000d0a8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d0ac lw a3, (s0)                       |     a3 = *(s0);
    0x0000d0b0 addiu a2, zero, 0xb               |     a2 = 0xb;
    0x0000d0b4 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d0b8 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d0bc addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tnodiscard_n */
    0x0000d0c0 addiu a0, a0, 0x5384              |     a0 += 0x5384;
    0x0000d0c4 jalr t9                           |     t9 ();
    0x0000d0c8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d0cc lw a3, (s0)                       |     a3 = *(s0);
    0x0000d0d0 addiu a2, zero, 0x12              |     a2 = 0x12;
    0x0000d0d4 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d0d8 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d0dc addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._toptimize_extents_n */
    0x0000d0e0 addiu a0, a0, 0x5390              |     a0 += 0x5390;
    0x0000d0e4 jalr t9                           |     t9 ();
    0x0000d0e8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d0ec lw a3, (s0)                       |     a3 = *(s0);
    0x0000d0f0 addiu a2, zero, 0x15              |     a2 = 0x15;
    0x0000d0f4 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d0f8 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d0fc addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tno_optimize_extents_n */
    0x0000d100 addiu a0, a0, 0x53a4              |     a0 += 0x53a4;
    0x0000d104 jalr t9                           |     t9 ();
    0x0000d108 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d10c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d110 addiu a2, zero, 0x15              |     a2 = 0x15;
    0x0000d114 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d118 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d11c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tinode_count_fullmap_n */
    0x0000d120 addiu a0, a0, 0x53bc              |     a0 += 0x53bc;
    0x0000d124 jalr t9                           |     t9 ();
    0x0000d128 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d12c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d130 addiu a2, zero, 0x18              |     a2 = 0x18;
    0x0000d134 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d138 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d13c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tno_inode_count_fullmap_n */
    0x0000d140 addiu a0, a0, 0x53d4              |     a0 += 0x53d4;
    0x0000d144 jalr t9                           |     t9 ();
    0x0000d148 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d14c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d150 addiu a2, zero, 0x1c              |     a2 = 0x1c;
    0x0000d154 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d158 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d15c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._treadahead_kb_buffer_size__n */
    0x0000d160 addiu a0, a0, 0x53f0              |     a0 += 0x53f0;
    0x0000d164 jalr t9                           |     t9 ();
    0x0000d168 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d16c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d170 addiu a2, zero, 0xd               |     a2 = 0xd;
    0x0000d174 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d178 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d17c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tbmap2extent_n */
    0x0000d180 addiu a0, a0, 0x5410              |     a0 += 0x5410;
    0x0000d184 jalr t9                           |     t9 ();
    0x0000d188 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d18c lw a3, (s0)                       |     a3 = *(s0);
    0x0000d190 addiu a2, zero, 0x10              |     a2 = 0x10;
    0x0000d194 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d198 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d19c addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tunshare_blocks_n */
    0x0000d1a0 addiu a0, a0, 0x5420              |     a0 += 0x5420;
    0x0000d1a4 jalr t9                           |     t9 ();
    0x0000d1a8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d1ac lw a3, (s0)                       |     a3 = *(s0);
    0x0000d1b0 addiu a2, zero, 0xc               |     a2 = 0xc;
    0x0000d1b4 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d1b8 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d1bc addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str._tfixes_only_n */
    0x0000d1c0 addiu a0, a0, 0x5434              |     a0 += 0x5434;
    0x0000d1c4 jalr t9                           |     t9 ();
    0x0000d1c8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d1cc lw a1, (s0)                       |     a1 = *(s0);
    0x0000d1d0 lw t9, -0x7b94(gp)                |     t9 = sym.imp.fputc;
    0x0000d1d4 addiu a0, zero, 0xa               |     a0 = 0xa;
    0x0000d1d8 jalr t9                           |     t9 ();
    0x0000d1dc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d1e0 lw t9, -0x7a08(gp)                |     t9 = sym.imp.exit;
    0x0000d1e4 addiu a0, zero, 1                 |     a0 = 1;
    0x0000d1e8 jalr t9                           |     t9 ();
                                                 | label_58:
    0x0000d1ec lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
    0x0000d1f0 lw a1, 0x34(sp)                   |     a1 = *(var_34h);
    0x0000d1f4 move a0, s1                       |     a0 = s1;
    0x0000d1f8 jalr t9                           |     t9 ();
    0x0000d1fc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d200 beqz v0, 0xd5e0                   |         goto label_59;
                                                 |     }
    0x0000d204 lw v0, 0x44(sp)                   |     v0 = *(var_44h);
    0x0000d208 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
    0x0000d20c addiu a1, v0, 0x51f8              |     a1 = v0 + 0x51f8;
    0x0000d210 move a0, s1                       |     a0 = s1;
    0x0000d214 jalr t9                           |     t9 ();
    0x0000d218 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d21c beqz v0, 0xd740                   |         goto label_60;
                                                 |     }
    0x0000d220 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d224 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.optimize_extents */
    0x0000d228 addiu a1, a1, 0x5204              |     a1 += 0x5204;
    0x0000d22c move a0, s1                       |     a0 = s1;
    0x0000d230 jalr t9                           |     t9 ();
    0x0000d234 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d238 beqz v0, 0xd53c                   |         goto label_61;
                                                 |     }
    0x0000d23c lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d240 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.no_optimize_extents */
    0x0000d244 addiu a1, a1, 0x5218              |     a1 += 0x5218;
    0x0000d248 move a0, s1                       |     a0 = s1;
    0x0000d24c jalr t9                           |     t9 ();
    0x0000d250 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d254 beqz v0, 0xd754                   |         goto label_62;
                                                 |     }
    0x0000d258 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d25c lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.inode_count_fullmap */
    0x0000d260 addiu a1, a1, 0x522c              |     a1 += 0x522c;
    0x0000d264 move a0, s1                       |     a0 = s1;
    0x0000d268 jalr t9                           |     t9 ();
    0x0000d26c lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d270 beqz v0, 0xd768                   |         goto label_63;
                                                 |     }
    0x0000d274 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d278 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.no_inode_count_fullmap */
    0x0000d27c addiu a1, a1, 0x5240              |     a1 += 0x5240;
    0x0000d280 move a0, s1                       |     a0 = s1;
    0x0000d284 jalr t9                           |     t9 ();
    0x0000d288 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d28c beqz v0, 0xd77c                   |         goto label_64;
                                                 |     }
    0x0000d290 lw a1, -0x7fa8(gp)                |     a1 = *((gp - 8170));
    0x0000d294 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* esilref: 'log_filename' */
    0x0000d298 addiu a1, a1, -0x3110             |     a1 += -0x3110;
    0x0000d29c move a0, s1                       |     a0 = s1;
    0x0000d2a0 jalr t9                           |     t9 ();
    0x0000d2a4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d2a8 beqz v0, 0xd794                   |         goto label_65;
                                                 |     }
    0x0000d2ac lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d2b0 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.problem_log */
    0x0000d2b4 addiu a1, a1, 0x5258              |     a1 += 0x5258;
    0x0000d2b8 move a0, s1                       |     a0 = s1;
    0x0000d2bc jalr t9                           |     t9 ();
    0x0000d2c0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d2c4 beqz v0, 0xd7c8                   |         goto label_66;
                                                 |     }
    0x0000d2c8 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d2cc lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.bmap2extent */
    0x0000d2d0 addiu a1, a1, 0x5264              |     a1 += 0x5264;
    0x0000d2d4 move a0, s1                       |     a0 = s1;
    0x0000d2d8 jalr t9                           |     t9 ();
    0x0000d2dc lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d2e0 beqz v0, 0xd7b8                   |         goto label_67;
                                                 |     }
    0x0000d2e4 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d2e8 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.fixes_only */
    0x0000d2ec addiu a1, a1, 0x5270              |     a1 += 0x5270;
    0x0000d2f0 move a0, s1                       |     a0 = s1;
    0x0000d2f4 jalr t9                           |     t9 ();
    0x0000d2f8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d2fc beqz v0, 0xd888                   |         goto label_68;
                                                 |     }
    0x0000d300 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d304 lw t9, -0x778c(gp)                |     t9 = sym.imp.strcmp;
                                                 |     /* str.unshare_blocks */
    0x0000d308 addiu a1, a1, 0x527c              |     a1 += 0x527c;
    0x0000d30c move a0, s1                       |     a0 = s1;
    0x0000d310 jalr t9                           |     t9 ();
    0x0000d314 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000d318 bnez v0, 0xd85c                   |         goto label_69;
                                                 |     }
    0x0000d31c lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d320 lui v1, 4                         |     v1 = 0x40000;
    0x0000d324 addiu v1, v1, 0x100               |     
    0x0000d328 or v0, v0, v1                     |     v0 |= v1;
    0x0000d32c sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d330 b 0xc90c                          |     goto label_1;
                                                 | label_57:
    0x0000d334 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d338 ori v0, v0, 0x800                 |     v0 |= 0x800;
    0x0000d33c sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d340 b 0xc90c                          |     goto label_1;
                                                 | label_35:
    0x0000d344 sw zero, 0x10(s4)                 |     *((s4 + 4)) = 0;
    0x0000d348 b 0xc830                          |     goto label_6;
                                                 | label_27:
    0x0000d34c lw t9, -0x7c5c(gp)                |     t9 = sym.imp.isatty;
    0x0000d350 move a0, zero                     |     a0 = 0;
    0x0000d354 jalr t9                           |     t9 ();
    0x0000d358 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000d35c bnez v0, 0xd6b8                   |         goto label_70;
                                                 |     }
    0x0000d360 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
                                                 | label_20:
    0x0000d364 addiu v1, zero, 1                 |     v1 = 1;
    0x0000d368 sb v1, 0x22c(v0)                  |     *(v0) = v1;
    0x0000d36c addiu v1, zero, 2                 |     v1 = 2;
    0x0000d370 sb v1, 0x22e(v0)                  |     *((v0 + 558)) = v1;
    0x0000d374 b 0xc2ec                          |     goto label_7;
                                                 | label_54:
    0x0000d378 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000d37c ori v0, v0, 1                     |     v0 |= 1;
    0x0000d380 sw v0, 0x28(s4)                   |     *((s4 + 10)) = v0;
    0x0000d384 b 0xc800                          |     goto label_2;
                                                 | label_33:
    0x0000d388 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d38c lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d390 lw a0, 4(s4)                      |     a0 = *((s4 + 1));
                                                 |     /* str.The__n_and__D_options_are_incompatible. */
    0x0000d394 addiu a3, a3, 0x5108              |     a3 += 0x5108;
                                                 |     /* esilref: '&s' */
    0x0000d398 addiu a2, a2, 0x62f4              |     a2 += 0x62f4;
    0x0000d39c move a1, zero                     |     a1 = 0;
    0x0000d3a0 jalr t9                           |     t9 ();
    0x0000d3a4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d3a8 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d3ac lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d3b0 move a1, zero                     |     a1 = 0;
    0x0000d3b4 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d3b8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d3bc lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000d3c0 b 0xc7f0                          |     goto label_8;
                                                 | label_46:
    0x0000d3c4 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
                                                 |     if (v1 == v0) {
    0x0000d3c8 bnel v1, v0, 0xcba0               |         goto label_9;
                                                 |     }
    0x0000d3cc lw s3, 0x40(sp)                   |     s3 = *(var_40h);
    0x0000d3d0 lw a1, 0x3c(sp)                   |     a1 = *(var_3ch);
    0x0000d3d4 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d3d8 lw a0, 0x29c(s4)                  |     a0 = *((s4 + 167));
    0x0000d3dc lw t9, -0x7fa4(gp)                |     t9 = sym.profile_get_integer;
    0x0000d3e0 sll v0, s3, 0x16                  |     v0 = s3 << 0x16;
    0x0000d3e4 srl s2, a1, 0xa                   |     s2 = a1 >> 0xa;
    0x0000d3e8 sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000d3ec sw v1, 0x10(sp)                   |     *(var_10h_2) = v1;
    0x0000d3f0 move a3, zero                     |     a3 = 0;
                                                 |     /* str.readahead_mem_pct */
    0x0000d3f4 addiu a2, a2, 0x54fc              |     a2 += 0x54fc;
                                                 |     /* str.options */
    0x0000d3f8 addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000d3fc or s2, v0, s2                     |     s2 = v0 | s2;
    0x0000d400 jalr t9                           |     t9 ();
    0x0000d404 lw a0, 0x48(sp)                   |     a0 = *(var_48h);
    0x0000d408 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d40c sltiu v0, a0, 0x65                |     v0 = (a0 < 0x65) ? 1 : 0;
    0x0000d410 srl s3, s3, 0xa                   |     s3 >>= 0xa;
                                                 |     if (v0 != 0) {
    0x0000d414 bnez v0, 0xd630                   |         goto label_71;
                                                 |     }
    0x0000d418 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 | label_17:
    0x0000d41c lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d420 lw a0, 0x29c(s4)                  |     a0 = *((s4 + 167));
    0x0000d424 lw t9, -0x7fa4(gp)                |     t9 = sym.profile_get_integer;
    0x0000d428 addiu s5, zero, -1                |     s5 = -1;
    0x0000d42c sw s1, 0x14(sp)                   |     *(var_14h) = s1;
    0x0000d430 sw s5, 0x10(sp)                   |     *(var_10h_2) = s5;
    0x0000d434 move a3, zero                     |     a3 = 0;
                                                 |     /* str.readahead_kb */
    0x0000d438 addiu a2, a2, 0x51a4              |     a2 += 0x51a4;
                                                 |     /* str.options */
    0x0000d43c addiu a1, s0, 0x54e4              |     a1 = s0 + 0x54e4;
    0x0000d440 jalr t9                           |     t9 ();
    0x0000d444 lw v0, 0x48(sp)                   |     v0 = *(var_48h);
    0x0000d448 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d44c lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
                                                 |     if (v0 < 0) {
    0x0000d450 bltz v0, 0xd724                   |         goto label_72;
                                                 |     }
    0x0000d454 sra v1, v0, 0x1f                  |     v1 = v0 >> 0x1f;
    0x0000d458 sw v0, 0x2c0(s4)                  |     *((s4 + 176)) = v0;
    0x0000d45c sw v1, 0x2c4(s4)                  |     *(s4) = v1;
                                                 | label_22:
    0x0000d460 sltu a0, s3, v1                   |     a0 = (s3 < v1) ? 1 : 0;
                                                 | label_23:
    0x0000d464 sw s2, 0x2c0(s4)                  |     *((s4 + 176)) = s2;
                                                 |     if (a0 == 0) {
    0x0000d468 bnel a0, zero, 0xd484             |         goto label_73;
                                                 |     }
    0x0000d46c lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
                                                 |     if (v1 == s3) {
    0x0000d470 bnel v1, s3, 0xcba0               |         goto label_9;
                                                 |     }
    0x0000d474 sltu v0, s2, v0                   |     v0 = (s2 < v0) ? 1 : 0;
                                                 |     if (v0 == 0) {
    0x0000d478 beql v0, zero, 0xcba0             |         goto label_9;
                                                 |     }
    0x0000d47c lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000d480 sw s2, 0x2c0(s4)                  |     *((s4 + 176)) = s2;
                                                 | label_73:
    0x0000d484 sw s3, 0x2c4(s4)                  |     *(s4) = s3;
    0x0000d488 b 0xcb9c                          |     goto label_10;
                                                 | label_45:
    0x0000d48c lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d490 lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d494 lw a0, 4(s4)                      |     a0 = *((s4 + 1));
                                                 |     /* str.The__E_bmap2extent_and_fixes_only_options_are_incompatible. */
    0x0000d498 addiu a3, a3, 0x548c              |     a3 += 0x548c;
                                                 |     /* esilref: '&s' */
    0x0000d49c addiu a2, a2, 0x62f4              |     a2 += 0x62f4;
    0x0000d4a0 move a1, zero                     |     a1 = 0;
    0x0000d4a4 jalr t9                           |     t9 ();
    0x0000d4a8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d4ac lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d4b0 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d4b4 move a1, zero                     |     a1 = 0;
    0x0000d4b8 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d4bc lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d4c0 b 0xca3c                          |     goto label_11;
                                                 | label_44:
    0x0000d4c4 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d4c8 lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d4cc lw a0, 4(s4)                      |     a0 = *((s4 + 1));
                                                 |     /* str.The__D_and__E_fixes_only_options_are_incompatible. */
    0x0000d4d0 addiu a3, a3, 0x5458              |     a3 += 0x5458;
                                                 |     /* esilref: '&s' */
    0x0000d4d4 addiu a2, a2, 0x62f4              |     a2 += 0x62f4;
    0x0000d4d8 move a1, zero                     |     a1 = 0;
    0x0000d4dc jalr t9                           |     t9 ();
    0x0000d4e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d4e4 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d4e8 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d4ec move a1, zero                     |     a1 = 0;
    0x0000d4f0 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d4f4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d4f8 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000d4fc b 0xca28                          |     goto label_12;
                                                 | label_36:
    0x0000d500 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d504 sll a3, a3, 2                     |     a3 <<= 2;
    0x0000d508 lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d50c lw a0, 4(v1)                      |     a0 = *((v1 + 1));
    0x0000d510 lwx a3, a3(s1)                    |     __asm ("lwx a3, a3(s1)");
                                                 |     /* str.Unable_to_resolve__s */
    0x0000d514 addiu a2, a2, 0x50c4              |     a2 += 0x50c4;
    0x0000d518 move a1, zero                     |     a1 = 0;
    0x0000d51c jalr t9                           |     t9 ();
    0x0000d520 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d524 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d528 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d52c move a1, zero                     |     a1 = 0;
    0x0000d530 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d534 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d538 b 0xc864                          |     goto label_13;
                                                 | label_61:
    0x0000d53c lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d540 lui v1, 0xfffe                    |     v1 = 0xfffeffff;
    0x0000d544 ori v1, v1, 0xffff                |     
    0x0000d548 and v0, v0, v1                    |     v0 &= v1;
    0x0000d54c sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d550 b 0xc90c                          |     goto label_1;
                                                 | label_31:
    0x0000d554 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000d558 lw t9, -0x7fd8(gp)                |     t9 = *(gp);
    0x0000d55c addiu t9, t9, -0x3ec4             |     t9 += -0x3ec4;
    0x0000d560 lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x0000d564 bal 0xc13c                        |     fcn_0000c13c ();
                                                 | label_53:
    0x0000d568 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d56c lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d570 lw a0, 4(s4)                      |     a0 = *((s4 + 1));
                                                 |     /* str.The__n_and__c_options_are_incompatible. */
    0x0000d574 addiu a3, a3, 0x5130              |     a3 += 0x5130;
                                                 |     /* esilref: '&s' */
    0x0000d578 addiu a2, a2, 0x62f4              |     a2 += 0x62f4;
    0x0000d57c move a1, zero                     |     a1 = 0;
    0x0000d580 jalr t9                           |     t9 ();
    0x0000d584 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d588 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d58c lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d590 move a1, zero                     |     a1 = 0;
    0x0000d594 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d598 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000d59c lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000d5a0 andi v0, v0, 8                    |     v0 &= 8;
    0x0000d5a4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000d5a8 bnez v0, 0xcd80                   |         goto label_14;
                                                 |     }
    0x0000d5ac lw a0, (s3)                       |     a0 = *(s3);
    0x0000d5b0 b 0xc804                          |     goto label_15;
                                                 | label_43:
    0x0000d5b4 lw v0, 0x38(sp)                   |     v0 = *(var_38h);
    0x0000d5b8 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d5bc lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d5c0 lw a3, (v0)                       |     a3 = *(v0);
    0x0000d5c4 addiu a2, zero, 0x1f              |     a2 = 0x1f;
    0x0000d5c8 addiu a1, zero, 1                 |     a1 = 1;
                                                 |     /* str.Invalid_readahead_buffer_size._n */
    0x0000d5cc addiu a0, a0, 0x51b4              |     a0 += 0x51b4;
    0x0000d5d0 jalr t9                           |     t9 ();
    0x0000d5d4 addiu s2, s2, 1                   |     s2++;
    0x0000d5d8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d5dc b 0xc90c                          |     goto label_1;
                                                 | label_59:
    0x0000d5e0 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d5e4 ori v0, v0, 0x2000                |     v0 |= 0x2000;
    0x0000d5e8 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d5ec b 0xc90c                          |     goto label_1;
                                                 | label_56:
    0x0000d5f0 lw v1, 0x4c(sp)                   |     v1 = *(var_4ch);
    0x0000d5f4 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d5f8 lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d5fc lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
    0x0000d600 lw a3, 8(v1)                      |     a3 = *((v1 + 2));
    0x0000d604 move a1, v0                       |     a1 = v0;
                                                 |     /* str.while_trying_to_flush__s */
    0x0000d608 addiu a2, a2, 0x5530              |     a2 += 0x5530;
                                                 |     /* str.ext2fs_sync_device */
    0x0000d60c addiu a0, a0, 0x554c              |     a0 += 0x554c;
    0x0000d610 jalr t9                           |     t9 ();
    0x0000d614 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d618 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d61c lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d620 move a1, zero                     |     a1 = 0;
    0x0000d624 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d628 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d62c b 0xcf38                          |     goto label_16;
                                                 | label_71:
    0x0000d630 sra v0, a0, 0x1f                  |     v0 = a0 >> 0x1f;
    0x0000d634 mult s3, a0                       |     __asm ("mult s3, a0");
    0x0000d638 multu ac1, a0, s2                 |     __asm ("multu ac1, a0, s2");
    0x0000d63c madd v0, s2                       |     __asm ("madd v0, s2");
    0x0000d640 mfhi a1, ac1                      |     __asm ("mfhi a1, ac1");
    0x0000d644 mflo v0                           |     __asm ("mflo v0");
    0x0000d648 mflo a0, ac1                      |     __asm ("mflo a0, ac1");
    0x0000d64c lw t9, -0x7fa0(gp)                |     t9 = *(gp);
    0x0000d650 lw s4, 0x4c(sp)                   |     s4 = *(var_4ch);
    0x0000d654 addiu a2, zero, 0x64              |     a2 = 0x64;
    0x0000d658 addu a1, v0, a1                   |     a1 = v0 + a1;
    0x0000d65c move a3, zero                     |     a3 = 0;
    0x0000d660 jalr t9                           |     t9 ();
    0x0000d664 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d668 sw v0, 0x2c0(s4)                  |     *((s4 + 176)) = v0;
    0x0000d66c sw v1, 0x2c4(s4)                  |     *(s4) = v1;
    0x0000d670 b 0xd41c                          |     goto label_17;
                                                 | label_51:
    0x0000d674 lw t9, -0x79bc(gp)                |     t9 = sym.imp.malloc;
    0x0000d678 addiu a0, zero, 0xc               |     a0 = 0xc;
    0x0000d67c jalr t9                           |     t9 ();
    0x0000d680 move s0, v0                       |     s0 = v0;
    0x0000d684 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 == 0) {
    0x0000d688 beqz v0, 0xd824                   |         goto label_74;
                                                 |     }
    0x0000d68c lw v1, -0x7fd0(gp)                |     v1 = *(gp);
                                                 |     /* str.PATH_sbin */
    0x0000d690 addiu v0, v1, 0x55e0              |     v0 = v1 + 0x55e0;
    0x0000d694 lw a1, 0x55e0(v1)                 |     a1 = *((v1 + 5496));
    0x0000d698 lw a0, 4(v0)                      |     a0 = *((v0 + 1));
    0x0000d69c lhu v1, 8(v0)                     |     v1 = *((v0 + 4));
    0x0000d6a0 lbu v0, 0xa(v0)                   |     v0 = *((v0 + 10));
    0x0000d6a4 sw a1, (s0)                       |     *(s0) = a1;
    0x0000d6a8 sw a0, 4(s0)                      |     *((s0 + 1)) = a0;
    0x0000d6ac sh v1, 8(s0)                      |     *((s0 + 4)) = v1;
    0x0000d6b0 sb v0, 0xa(s0)                    |     *((s0 + 10)) = v0;
    0x0000d6b4 b 0xcd1c                          |     goto label_18;
                                                 | label_70:
    0x0000d6b8 lw t9, -0x7c5c(gp)                |     t9 = sym.imp.isatty;
    0x0000d6bc addiu a0, zero, 1                 |     a0 = 1;
    0x0000d6c0 jalr t9                           |     t9 ();
    0x0000d6c4 lw gp, 0x18(sp)                   |     gp = *(var_18h);
                                                 |     if (v0 != 0) {
    0x0000d6c8 bnez v0, 0xc2e0                   |         goto label_19;
                                                 |     }
    0x0000d6cc lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000d6d0 b 0xd364                          |     goto label_20;
                                                 | label_55:
    0x0000d6d4 lw t9, -0x7aa4(gp)                |     t9 = sym.imp.__errno_location;
    0x0000d6d8 jalr t9                           |     t9 ();
    0x0000d6dc nop                               |     
    0x0000d6e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d6e4 lw a1, (v0)                       |     a1 = *(v0);
    0x0000d6e8 lw v0, 0x4c(sp)                   |     v0 = *(var_4ch);
    0x0000d6ec lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d6f0 lw a0, -0x7fa8(gp)                |     a0 = *((gp - 8170));
    0x0000d6f4 lw a3, 8(v0)                      |     a3 = *((v0 + 2));
    0x0000d6f8 lw t9, -0x7914(gp)                |     t9 = sym.imp.com_err;
                                                 |     /* str.while_opening__s_for_flushing */
    0x0000d6fc addiu a2, a2, 0x5510              |     a2 += 0x5510;
                                                 |     /* esilref: 'open' */
    0x0000d700 addiu a0, a0, -0x24a8             |     a0 += -0x24a8;
    0x0000d704 jalr t9                           |     t9 ();
    0x0000d708 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d70c lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
    0x0000d710 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d714 move a1, zero                     |     a1 = 0;
    0x0000d718 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d71c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d720 b 0xcf20                          |     goto label_21;
                                                 | label_72:
    0x0000d724 lw v0, 0x2c0(s4)                  |     v0 = *((s4 + 176));
    0x0000d728 lw v1, 0x2c4(s4)                  |     v1 = *(s4);
                                                 |     if (v0 != s5) {
    0x0000d72c bne v0, s5, 0xd460                |         goto label_22;
                                                 |     }
                                                 |     if (v1 == v0) {
    0x0000d730 beql v1, v0, 0xcba0               |         goto label_9;
                                                 |     }
    0x0000d734 lw v0, 0x28(s4)                   |     v0 = *((s4 + 10));
    0x0000d738 sltu a0, s3, v1                   |     a0 = (s3 < v1) ? 1 : 0;
    0x0000d73c b 0xd464                          |     goto label_23;
                                                 | label_60:
    0x0000d740 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d744 addiu v1, zero, -0x2001           |     v1 = -0x2001;
    0x0000d748 and v0, v0, v1                    |     v0 &= v1;
    0x0000d74c sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d750 b 0xc90c                          |     goto label_1;
                                                 | label_62:
    0x0000d754 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d758 lui v1, 1                         |     v1 = 0x10000;
    0x0000d75c or v0, v0, v1                     |     v0 |= v1;
    0x0000d760 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d764 b 0xc90c                          |     goto label_1;
                                                 | label_63:
    0x0000d768 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d76c lui v1, 2                         |     v1 = 0x20000;
    0x0000d770 or v0, v0, v1                     |     v0 |= v1;
    0x0000d774 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d778 b 0xc90c                          |     goto label_1;
                                                 | label_64:
    0x0000d77c lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d780 lui v1, 0xfffd                    |     v1 = 0xfffdffff;
    0x0000d784 ori v1, v1, 0xffff                |     
    0x0000d788 and v0, v0, v1                    |     v0 &= v1;
    0x0000d78c sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d790 b 0xc90c                          |     goto label_1;
                                                 | label_65:
    0x0000d794 lw t9, -0x7fbc(gp)                |     t9 = sym.string_copy;
                                                 |     if (s5 == 0) {
    0x0000d798 beqz s5, 0xcf78                   |         goto label_24;
                                                 |     }
    0x0000d79c move a2, zero                     |     a2 = 0;
    0x0000d7a0 move a1, s5                       |     a1 = s5;
    0x0000d7a4 move a0, s3                       |     a0 = s3;
    0x0000d7a8 bal 0x29f78                       |     sym_string_copy ();
    0x0000d7ac lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d7b0 sw v0, 0x18(s3)                   |     *((s3 + 6)) = v0;
    0x0000d7b4 b 0xc90c                          |     goto label_1;
                                                 | label_67:
    0x0000d7b8 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d7bc ori v0, v0, 0x4000                |     v0 |= 0x4000;
    0x0000d7c0 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d7c4 b 0xc90c                          |     goto label_1;
                                                 | label_66:
    0x0000d7c8 lw t9, -0x7fbc(gp)                |     t9 = sym.string_copy;
                                                 |     if (s5 == 0) {
    0x0000d7cc beqz s5, 0xcf78                   |         goto label_24;
                                                 |     }
    0x0000d7d0 move a2, zero                     |     a2 = 0;
    0x0000d7d4 move a1, s5                       |     a1 = s5;
    0x0000d7d8 move a0, s3                       |     a0 = s3;
    0x0000d7dc bal 0x29f78                       |     sym_string_copy ();
    0x0000d7e0 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d7e4 sw v0, 0x20(s3)                   |     *((s3 + 8)) = v0;
    0x0000d7e8 b 0xc90c                          |     goto label_1;
                                                 | label_52:
    0x0000d7ec lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d7f0 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d7f4 lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
                                                 |     /* str.Couldnt_malloc___newpath */
    0x0000d7f8 addiu a1, a1, 0x55ec              |     a1 += 0x55ec;
    0x0000d7fc bal 0x29d10                       |     sym_fatal_error ();
    0x0000d800 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d804 addiu a2, zero, 0xb               |     a2 = 0xb;
    0x0000d808 move a0, zero                     |     a0 = 0;
    0x0000d80c lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d810 lw t9, -0x7834(gp)                |     t9 = sym.imp.memcpy;
                                                 |     /* str.PATH_sbin */
    0x0000d814 addiu a1, a1, 0x55e0              |     a1 += 0x55e0;
    0x0000d818 jalr t9                           |     t9 ();
    0x0000d81c lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d820 b 0xcce8                          |     goto label_25;
                                                 | label_74:
    0x0000d824 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d828 lw t9, -0x7fb8(gp)                |     t9 = sym.fatal_error;
    0x0000d82c lw a0, 0x4c(sp)                   |     a0 = *(var_4ch);
                                                 |     /* str.Couldnt_malloc___newpath */
    0x0000d830 addiu a1, a1, 0x55ec              |     a1 += 0x55ec;
    0x0000d834 bal 0x29d10                       |     sym_fatal_error ();
    0x0000d838 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d83c addiu a2, zero, 0xb               |     a2 = 0xb;
    0x0000d840 move a0, zero                     |     a0 = 0;
    0x0000d844 lw a1, -0x7fd0(gp)                |     a1 = *(gp);
    0x0000d848 lw t9, -0x7834(gp)                |     t9 = sym.imp.memcpy;
                                                 |     /* str.PATH_sbin */
    0x0000d84c addiu a1, a1, 0x55e0              |     a1 += 0x55e0;
    0x0000d850 jalr t9                           |     t9 ();
    0x0000d854 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d858 b 0xcd1c                          |     goto label_18;
                                                 | label_69:
    0x0000d85c lw v0, 0x38(sp)                   |     v0 = *(var_38h);
    0x0000d860 lw a2, -0x7fd0(gp)                |     a2 = *(gp);
    0x0000d864 lw t9, -0x7c2c(gp)                |     t9 = sym.imp.__fprintf_chk;
    0x0000d868 lw a0, (v0)                       |     a0 = *(v0);
    0x0000d86c move a3, s1                       |     a3 = s1;
                                                 |     /* str.Unknown_extended_option:__s_n */
    0x0000d870 addiu a2, a2, 0x528c              |     a2 += 0x528c;
    0x0000d874 addiu a1, zero, 1                 |     a1 = 1;
    0x0000d878 jalr t9                           |     t9 ();
    0x0000d87c addiu s2, s2, 1                   |     s2++;
    0x0000d880 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d884 b 0xc90c                          |     goto label_1;
                                                 | label_68:
    0x0000d888 lw v0, 0x28(s3)                   |     v0 = *((s3 + 10));
    0x0000d88c ori v0, v0, 0x8000                |     v0 |= 0x8000;
    0x0000d890 sw v0, 0x28(s3)                   |     *((s3 + 10)) = v0;
    0x0000d894 b 0xc90c                          |     goto label_1;
                                                 | label_32:
    0x0000d898 lw t9, -0x7fd8(gp)                |     t9 = *(gp);
    0x0000d89c addiu t9, t9, -0x3ec4             |     t9 += -0x3ec4;
    0x0000d8a0 lw a0, 4(s4)                      |     a0 = *((s4 + 1));
    0x0000d8a4 bal 0xc13c                        |     fcn_0000c13c ();
                                                 | label_50:
    0x0000d8a8 lw v0, 0x38(sp)                   |     v0 = *(var_38h);
    0x0000d8ac lw a0, -0x7fd0(gp)                |     a0 = *(gp);
    0x0000d8b0 lw t9, -0x7938(gp)                |     t9 = sym.imp.fwrite;
    0x0000d8b4 lw a3, (v0)                       |     a3 = *(v0);
                                                 |     /* str.The__c_and_the__l__L_options_may_not_be_both_used_at_the_same_time._n */
    0x0000d8b8 addiu a0, a0, 0x5560              |     a0 += 0x5560;
    0x0000d8bc addiu a2, zero, 0x44              |     a2 = 0x44;
    0x0000d8c0 addiu a1, zero, 1                 |     a1 = 1;
    0x0000d8c4 jalr t9                           |     t9 ();
    0x0000d8c8 lw gp, 0x18(sp)                   |     gp = *(var_18h);
    0x0000d8cc lw t9, -0x7a08(gp)                |     t9 = sym.imp.exit;
    0x0000d8d0 addiu a0, zero, 0x10              |     a0 = 0x10;
    0x0000d8d4 jalr t9                           |     t9 ();
                                                 | label_26:
    0x0000d8d8 lw t9, -0x78a4(gp)                |     t9 = sym.imp.__stack_chk_fail;
    0x0000d8dc jalr t9                           |     t9 ();
    0x0000d8e0 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x397d4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000397d4 ()                  | void fcn_000397d4 () {
                                             | label_12:
    0x000397d4 lui gp, 3                     |     
    0x000397d8 addiu gp, gp, 0x5ec           |     
    0x000397dc addu gp, gp, t9               |     gp += t9;
    0x000397e0 addiu sp, sp, -0x48           |     
    0x000397e4 lw v0, 8(a1)                  |     v0 = *((a1 + 2));
    0x000397e8 sw s2, 0x2c(sp)               |     *(var_2ch) = s2;
    0x000397ec lw s2, -0x7838(gp)            |     s2 = *((gp - 7694));
    0x000397f0 sw s0, 0x24(sp)               |     *(var_24h) = s0;
    0x000397f4 lw v1, (a1)                   |     v1 = *(a1);
    0x000397f8 move s0, a1                   |     s0 = a1;
    0x000397fc lw a2, (s2)                   |     a2 = *(s2);
    0x00039800 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00039804 addiu v0, v0, 1               |     v0++;
    0x00039808 addiu a1, zero, 2             |     a1 = 2;
    0x0003980c sw ra, 0x44(sp)               |     *(var_44h) = ra;
    0x00039810 sw s7, 0x40(sp)               |     *(var_40h) = s7;
    0x00039814 sw s6, 0x3c(sp)               |     *(var_3ch) = s6;
    0x00039818 sw s5, 0x38(sp)               |     *(var_38h) = s5;
    0x0003981c sw s4, 0x34(sp)               |     *(var_34h) = s4;
    0x00039820 sw s3, 0x30(sp)               |     *(var_30h) = s3;
    0x00039824 sw s1, 0x28(sp)               |     *(var_28h) = s1;
    0x00039828 sw a2, 0x1c(sp)               |     *(var_1ch) = a2;
    0x0003982c sw v0, 8(s0)                  |     *((s0 + 2)) = v0;
                                             |     if (v1 == a1) {
    0x00039830 beq v1, a1, 0x39a18           |         goto label_19;
                                             |     }
    0x00039834 move s1, a0                   |     s1 = a0;
    0x00039838 lb v0, (a0)                   |     v0 = *(a0);
                                             |     if (v1 != 0) {
    0x0003983c bnez v1, 0x39890              |         goto label_20;
                                             |     }
    0x00039840 addiu v1, zero, 0x5b          |     v1 = 0x5b;
    0x00039844 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 == v1) {
    0x00039848 beq v0, v1, 0x39888           |         goto label_21;
                                             |     }
                                             | label_0:
    0x0003984c move v0, zero                 |     v0 = 0;
                                             |     do {
                                             | label_1:
    0x00039850 lw a0, 0x1c(sp)               |         a0 = *(var_1ch);
    0x00039854 lw v1, (s2)                   |         v1 = *(s2);
    0x00039858 lw ra, 0x44(sp)               |         ra = *(var_44h);
                                             |         if (a0 != v1) {
    0x0003985c bne a0, v1, 0x39dfc           |             goto label_22;
                                             |         }
    0x00039860 lw s7, 0x40(sp)               |         s7 = *(var_40h);
    0x00039864 lw s6, 0x3c(sp)               |         s6 = *(var_3ch);
    0x00039868 lw s5, 0x38(sp)               |         s5 = *(var_38h);
    0x0003986c lw s4, 0x34(sp)               |         s4 = *(var_34h);
    0x00039870 lw s3, 0x30(sp)               |         s3 = *(var_30h);
    0x00039874 lw s2, 0x2c(sp)               |         s2 = *(var_2ch);
    0x00039878 lw s1, 0x28(sp)               |         s1 = *(var_28h);
    0x0003987c lw s0, 0x24(sp)               |         s0 = *(var_24h);
    0x00039880 addiu sp, sp, 0x48            |         
    0x00039884 jr ra                         |         return v0;
                                             | label_21:
    0x00039888 sw v0, (s0)                   |         *(s0) = v0;
    0x0003988c lb v0, (a0)                   |         v0 = *(a0);
                                             | label_20:
    0x00039890 move v0, zero                 |         v0 = 0;
    0x00039894 beqz v0, 0x39850              |         
                                             |     } while (v0 == 0);
    0x00039898 lw t9, -0x7a54(gp)            |     t9 = sym.imp.strlen;
    0x0003989c move a0, s1                   |     a0 = s1;
    0x000398a0 jalr t9                       |     t9 ();
    0x000398a4 addu v0, s1, v0               |     v0 = s1 + v0;
    0x000398a8 sltu v1, s1, v0               |     v1 = (s1 < v0) ? 1 : 0;
    0x000398ac lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v1 == 0) {
    0x000398b0 beqz v1, 0x398d8              |         goto label_23;
                                             |     }
    0x000398b4 addiu a1, zero, 0xa           |     a1 = 0xa;
    0x000398b8 addiu a0, zero, 0xd           |     a0 = 0xd;
                                             |     do {
    0x000398bc lb v1, -1(v0)                 |         v1 = *((v0 - 1));
    0x000398c0 addiu v0, v0, -1              |         v0 += -1;
                                             |         if (v1 != a1) {
    0x000398c4 beq v1, a1, 0x398d0           |             
    0x000398c8 lw s3, -0x7fd0(gp)            |             s3 = *(gp);
                                             |             if (v1 != a0) {
    0x000398cc bne v1, a0, 0x398dc           |                 goto label_24;
                                             |             }
                                             |         }
    0x000398d0 sb zero, 1(v0)                |         *((v0 + 1)) = 0;
    0x000398d4 bne s1, v0, 0x398bc           |         
                                             |     } while (s1 != v0);
                                             | label_23:
    0x000398d8 lw s3, -0x7fd0(gp)            |     s3 = *(gp);
                                             |     /* fcn.00039214 */
                                             | label_24:
    0x000398dc addiu s3, s3, -0x6dec         |     s3 += -0x6dec;
    0x000398e0 move t9, s3                   |     t9 = s3;
    0x000398e4 move a0, s1                   |     a0 = s1;
    0x000398e8 bal 0x39214                   |     fcn_00039214 ();
    0x000398ec move s1, v0                   |     s1 = v0;
    0x000398f0 lb v0, (v0)                   |     v0 = *(v0);
    0x000398f4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000398f8 beqz v0, 0x3984c              |         goto label_0;
                                             |     }
    0x000398fc addiu v1, zero, 0x23          |     v1 = 0x23;
    0x00039900 addiu v1, zero, 0x3b          |     v1 = 0x3b;
                                             |     if (v0 == v1) {
    0x00039904 beq v0, v1, 0x3984c           |         goto label_0;
                                             |     }
    0x00039908 addiu v1, zero, 0x5b          |     v1 = 0x5b;
                                             |     if (v0 == v1) {
    0x0003990c beq v0, v1, 0x3984c           |         goto label_0;
                                             |     }
    0x00039910 addiu v1, zero, 0x7d          |     v1 = 0x7d;
                                             |     if (v0 != v1) {
    0x00039914 beq v0, v1, 0x39b00           |         
    0x00039918 lw t9, -0x7a44(gp)            |         t9 = sym.imp.strchr;
                                             |         if (v0 != v1) {
    0x0003991c beq v0, v1, 0x39a48           |             
    0x00039920 addiu a1, zero, 0x3d          |             a1 = 0x3d;
    0x00039924 move a0, s1                   |             a0 = s1;
    0x00039928 jalr t9                       |             t9 ();
    0x0003992c move s4, v0                   |             s4 = v0;
    0x00039930 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 != 0) {
    0x00039934 beqz v0, 0x39a0c              |                 
                                             |                 if (s1 == v0) {
    0x00039938 beql s1, v0, 0x39a10          |                     goto label_25;
                                             |                 }
    0x0003993c lui v0, 0xaaca                |                 v0 = 0xaaca0000;
    0x00039940 sb zero, (v0)                 |                 *(v0) = 0;
    0x00039944 lb v1, (s1)                   |                 v1 = *(s1);
    0x00039948 addiu v0, zero, 0x22          |                 v0 = 0x22;
    0x0003994c lw t9, -0x7fd0(gp)            |                 t9 = *(gp);
                                             |                 if (v1 == v0) {
    0x00039950 beq v1, v0, 0x39d18           |                     goto label_26;
                                             |                 }
    0x00039954 lw t9, -0x7fd0(gp)            |                 t9 = *(gp);
                                             |                 /* fcn.00039734 */
    0x00039958 addiu t9, t9, -0x68cc         |                 t9 += -0x68cc;
    0x0003995c move a0, s1                   |                 a0 = s1;
    0x00039960 bal 0x39734                   |                 fcn_00039734 ();
    0x00039964 lb v1, (v0)                   |                 v1 = *(v0);
    0x00039968 move t9, s3                   |                 t9 = s3;
                                             |                 if (v1 != 0) {
    0x0003996c beqz v1, 0x39978              |                     
    0x00039970 sb zero, (v0)                 |                     *(v0) = 0;
    0x00039974 addiu v0, v0, 1               |                     v0++;
                                             |                 }
    0x00039978 move a0, v0                   |                 a0 = v0;
    0x0003997c bal 0x39214                   |                 fcn_00039214 ();
    0x00039980 lb v0, (v0)                   |                 v0 = *(v0);
    0x00039984 lw gp, 0x10(sp)               |                 gp = *(var_10h);
                                             |                 if (v0 != 0) {
    0x00039988 bnez v0, 0x39a0c              |                     goto label_27;
                                             |                 }
    0x0003998c move t9, s3                   |                 t9 = s3;
                                             | label_6:
    0x00039990 addiu a0, s4, 1               |                 a0 = s4 + 1;
    0x00039994 bal 0x39214                   |                 fcn_00039214 ();
    0x00039998 move s4, v0                   |                 s4 = v0;
    0x0003999c lb v0, (v0)                   |                 v0 = *(v0);
    0x000399a0 addiu v1, zero, 0x22          |                 v1 = 0x22;
    0x000399a4 lw gp, 0x10(sp)               |                 gp = *(var_10h);
                                             |                 if (v0 == v1) {
    0x000399a8 beq v0, v1, 0x39a90           |                     goto label_28;
                                             |                 }
                                             |                 if (v0 == 0) {
    0x000399ac beql v0, zero, 0x39cac        |                     goto label_29;
                                             |                 }
    0x000399b0 addiu v0, zero, 2             |                 v0 = 2;
    0x000399b4 addiu s5, zero, 0x23          |                 s5 = 0x23;
    0x000399b8 addiu s6, zero, 0x3b          |                 s6 = 0x3b;
                                             |                 if (v0 == s5) {
    0x000399bc beq v0, s5, 0x39ca8           |                     goto label_30;
                                             |                 }
    0x000399c0 addiu v1, zero, 0x7b          |                 v1 = 0x7b;
                                             |                 if (v0 == s6) {
    0x000399c4 beq v0, s6, 0x39ca8           |                     goto label_30;
                                             |                 }
    0x000399c8 lw t9, -0x7fd0(gp)            |                 t9 = *(gp);
                                             |                 if (v0 == v1) {
    0x000399cc beq v0, v1, 0x39db4           |                     goto label_31;
                                             |                 }
                                             |                 /* fcn.00039734 */
    0x000399d0 addiu t9, t9, -0x68cc         |                 t9 += -0x68cc;
    0x000399d4 move a0, s4                   |                 a0 = s4;
    0x000399d8 bal 0x39734                   |                 fcn_00039734 ();
    0x000399dc move a0, v0                   |                 a0 = v0;
    0x000399e0 move t9, s3                   |                 t9 = s3;
    0x000399e4 move s7, v0                   |                 s7 = v0;
    0x000399e8 bal 0x39214                   |                 fcn_00039214 ();
    0x000399ec lb v0, (v0)                   |                 v0 = *(v0);
    0x000399f0 lw gp, 0x10(sp)               |                 gp = *(var_10h);
    0x000399f4 sb zero, (s7)                 |                 *(s7) = 0;
                                             |                 if (v0 == 0) {
    0x000399f8 beqz v0, 0x39aa8              |                     goto label_32;
                                             |                 }
    0x000399fc lw t9, -0x7a44(gp)            |                 t9 = sym.imp.strchr;
                                             |                 if (v0 == s5) {
    0x00039a00 beq v0, s5, 0x39aac           |                     goto label_33;
                                             |                 }
    0x00039a04 addiu a1, zero, 0x2a          |                 a1 = 0x2a;
                                             |                 if (v0 == s6) {
    0x00039a08 beq v0, s6, 0x39ab0           |                     goto label_34;
                                             |                 }
                                             |             }
                                             | label_27:
    0x00039a0c lui v0, 0xaaca                |             v0 = 0xaaca600f;
                                             | label_25:
    0x00039a10 addiu v0, v0, 0x600f          |             
    0x00039a14 b 0x39850                     |             goto label_1;
                                             | label_19:
    0x00039a18 lw t9, -0x7fd0(gp)            |             t9 = *(gp);
                                             |             /* fcn.00039214 */
    0x00039a1c addiu t9, t9, -0x6dec         |             t9 += -0x6dec;
    0x00039a20 bal 0x39214                   |             fcn_00039214 ();
    0x00039a24 nop                           |             
    0x00039a28 lb v1, (v0)                   |             v1 = *(v0);
    0x00039a2c addiu v0, zero, 0x7b          |             v0 = 0x7b;
    0x00039a30 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v1 != v0) {
    0x00039a34 bne v1, v0, 0x39a84           |                 goto label_35;
                                             |             }
    0x00039a38 addiu v0, zero, 1             |             v0 = 1;
    0x00039a3c sw v0, (s0)                   |             *(s0) = v0;
    0x00039a40 move v0, zero                 |             v0 = 0;
    0x00039a44 b 0x39850                     |             goto label_1;
                                             |         }
    0x00039a48 lw v0, 4(s0)                  |         v0 = *((s0 + 1));
    0x00039a4c addiu a0, zero, 0x2a          |         a0 = 0x2a;
                                             |         if (v0 == 0) {
    0x00039a50 beqz v0, 0x39df0              |             goto label_36;
                                             |         }
    0x00039a54 lb a1, 1(s1)                  |         a1 = *((s1 + 1));
    0x00039a58 lw v1, 0x10(s0)               |         v1 = *((s0 + 4));
                                             |         if (a1 == a0) {
    0x00039a5c bne a1, a0, 0x39a70           |             
    0x00039a60 lbu a0, 0x10(v1)              |             a0 = *((v1 + 16));
    0x00039a64 addiu a1, zero, 1             |             a1 = 1;
    0x00039a68 ins a0, a1, 0, 1              |             __asm ("ins a0, a1, 0, 1");
    0x00039a6c sb a0, 0x10(v1)               |             *((v1 + 16)) = a0;
                                             |         }
    0x00039a70 lw v1, 0x18(v1)               |         v1 = *((v1 + 6));
    0x00039a74 addiu v0, v0, -1              |         v0 += -1;
    0x00039a78 sw v1, 0x10(s0)               |         *((s0 + 4)) = v1;
    0x00039a7c sw v0, 4(s0)                  |         *((s0 + 1)) = v0;
    0x00039a80 b 0x3984c                     |         goto label_0;
                                             | label_35:
    0x00039a84 lui v0, 0xaaca                |         v0 = 0xaaca6011;
    0x00039a88 addiu v0, v0, 0x6011          |         
    0x00039a8c b 0x39850                     |         goto label_1;
                                             | label_28:
    0x00039a90 lw t9, -0x7fd0(gp)            |         t9 = *(gp);
    0x00039a94 addiu s4, s4, 1               |         s4++;
                                             |         /* fcn.00039150 */
    0x00039a98 addiu t9, t9, -0x6eb0         |         t9 += -0x6eb0;
    0x00039a9c move a0, s4                   |         a0 = s4;
    0x00039aa0 bal 0x39150                   |         fcn_00039150 ();
    0x00039aa4 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             | label_32:
    0x00039aa8 lw t9, -0x7a44(gp)            |         t9 = sym.imp.strchr;
                                             | label_33:
    0x00039aac addiu a1, zero, 0x2a          |         a1 = 0x2a;
                                             | label_34:
    0x00039ab0 move a0, s1                   |         a0 = s1;
    0x00039ab4 jalr t9                       |         t9 ();
    0x00039ab8 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00039abc beqz v0, 0x39d8c              |             goto label_37;
                                             |         }
    0x00039ac0 lw t9, -0x7fd0(gp)            |         t9 = *(gp);
    0x00039ac4 sb zero, (v0)                 |         *(v0) = 0;
    0x00039ac8 lw a0, 0x10(s0)               |         a0 = *((s0 + 4));
    0x00039acc move a1, s1                   |         a1 = s1;
    0x00039ad0 addiu a3, sp, 0x18            |         a3 = sp + 0x18;
                                             |         /* fcn.000394b8 */
    0x00039ad4 addiu t9, t9, -0x6b48         |         t9 += -0x6b48;
    0x00039ad8 move a2, s4                   |         a2 = s4;
    0x00039adc bal 0x394b8                   |         fcn_000394b8 ();
    0x00039ae0 lw v1, 0x18(sp)               |         v1 = *(var_18h_2);
    0x00039ae4 addiu a1, zero, 1             |         a1 = 1;
    0x00039ae8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00039aec lbu a0, 0x10(v1)              |         a0 = *((v1 + 16));
    0x00039af0 move v0, zero                 |         v0 = 0;
    0x00039af4 ins a0, a1, 0, 1              |         __asm ("ins a0, a1, 0, 1");
    0x00039af8 sb a0, 0x10(v1)               |         *((v1 + 16)) = a0;
    0x00039afc b 0x39850                     |         goto label_1;
                                             |     }
    0x00039b00 lw v0, 4(s0)                  |     v0 = *((s0 + 1));
    0x00039b04 move t9, s3                   |     t9 = s3;
                                             |     if (v0 > 0) {
    0x00039b08 bgtz v0, 0x39de4              |         goto label_38;
                                             |     }
    0x00039b0c addiu a0, s1, 1               |     a0 = s1 + 1;
    0x00039b10 bal 0x39214                   |     fcn_00039214 ();
    0x00039b14 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00039b18 addiu a1, zero, 0x5d          |     a1 = 0x5d;
    0x00039b1c move a0, v0                   |     a0 = v0;
    0x00039b20 lw t9, -0x7a44(gp)            |     t9 = sym.imp.strchr;
    0x00039b24 move s4, v0                   |     s4 = v0;
    0x00039b28 jalr t9                       |     t9 ();
    0x00039b2c move s1, v0                   |     s1 = v0;
    0x00039b30 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00039b34 beqz v0, 0x39c50              |         goto label_39;
                                             |     }
    0x00039b38 lb v1, (s4)                   |     v1 = *(s4);
    0x00039b3c addiu v0, zero, 0x22          |     v0 = 0x22;
    0x00039b40 lw t9, -0x7cc0(gp)            |     t9 = sym.imp.__ctype_b_loc;
                                             |     if (v1 == v0) {
    0x00039b44 beq v1, v0, 0x39d70           |         goto label_40;
                                             |     }
    0x00039b48 sb zero, (s1)                 |     *(s1) = 0;
    0x00039b4c jalr t9                       |     t9 ();
    0x00039b50 addiu s1, s1, -1              |     s1 += -1;
    0x00039b54 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00039b58 b 0x39b6c                     |     
                                             |     if (v1 == 0) {
                                             |         while (v1 != 0) {
    0x00039b5c beql v1, zero, 0x39b90        |             goto label_41;
                                             |         }
    0x00039b60 lb v0, (s4)                   |         v0 = *(s4);
    0x00039b64 addiu s1, s1, -1              |         s1 += -1;
    0x00039b68 sb zero, 1(s1)                |         *((s1 + 1)) = 0;
    0x00039b6c lb a0, (s1)                   |         a0 = *(s1);
    0x00039b70 lw v1, (v0)                   |         v1 = *(v0);
    0x00039b74 sll a0, a0, 1                 |         a0 <<= 1;
    0x00039b78 addu v1, v1, a0               |         v1 += a0;
    0x00039b7c lhu v1, (v1)                  |         v1 = *(v1);
    0x00039b80 andi v1, v1, 0x2000           |         v1 &= 0x2000;
    0x00039b84 sltu v1, s4, s1               |         v1 = (s4 < s1) ? 1 : 0;
    0x00039b88 bnez v1, 0x39b5c              |         
                                             |     }
    0x00039b8c lb v0, (s4)                   |     v0 = *(s4);
                                             | label_41:
    0x00039b90 lui v0, 0xaaca                |     v0 = 0xaaca0000;
                                             |     if (v0 == 0) {
    0x00039b94 beqz v0, 0x39c54              |         goto label_42;
                                             |     }
                                             | label_9:
    0x00039b98 lw s6, 0xc(s0)                |     s6 = *((s0 + 3));
    0x00039b9c lui v0, 0xaaca                |     v0 = 0xaaca6001;
    0x00039ba0 addiu v0, v0, 0x6001          |     
    0x00039ba4 lw v1, (s6)                   |     v1 = *(s6);
                                             |     if (v1 != v0) {
    0x00039ba8 bne v1, v0, 0x39850           |         goto label_1;
                                             |     }
    0x00039bac nop                           |     
    0x00039bb0 lw s5, 0x14(s6)               |     s5 = *((s6 + 5));
    0x00039bb4 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
                                             |     if (s5 == 0) {
    0x00039bb8 beqz s5, 0x39bf0              |         goto label_43;
                                             |     }
                                             |     do {
    0x00039bbc lw t9, -0x778c(gp)            |         t9 = sym.imp.strcmp;
                                             |         if (s4 != 0) {
    0x00039bc0 beqz s4, 0x39bd8              |             
    0x00039bc4 lw a0, 4(s5)                  |             a0 = *((s5 + 1));
    0x00039bc8 move a1, s4                   |             a1 = s4;
    0x00039bcc jalr t9                       |             t9 ();
    0x00039bd0 lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |             if (v0 != 0) {
    0x00039bd4 bnez v0, 0x39be4              |                 goto label_44;
                                             |             }
                                             |         }
    0x00039bd8 lw v0, 8(s5)                  |         v0 = *((s5 + 2));
                                             |         if (v0 == 0) {
    0x00039bdc beql v0, zero, 0x39c5c        |             goto label_45;
                                             |         }
    0x00039be0 lbu v0, 0x10(s5)              |         v0 = *((s5 + 16));
                                             | label_44:
    0x00039be4 lw s5, 0x1c(s5)               |         s5 = *((s5 + 7));
                                             | label_2:
    0x00039be8 lw t9, -0x7fd0(gp)            |         t9 = *(gp);
    0x00039bec bnez s5, 0x39bbc              |         
                                             |     } while (s5 != 0);
                                             | label_43:
    0x00039bf0 addiu a3, s0, 0x10            |     a3 = s0 + 0x10;
    0x00039bf4 move a2, zero                 |     a2 = 0;
    0x00039bf8 move a1, s4                   |     a1 = s4;
                                             |     /* fcn.000394b8 */
    0x00039bfc addiu t9, t9, -0x6b48         |     t9 += -0x6b48;
    0x00039c00 move a0, s6                   |     a0 = s6;
    0x00039c04 bal 0x394b8                   |     fcn_000394b8 ();
    0x00039c08 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00039c0c bnez v0, 0x39850              |         goto label_1;
                                             |     }
    0x00039c10 lb v1, 1(s1)                  |     v1 = *((s1 + 1));
                                             | label_3:
    0x00039c14 addiu v0, zero, 0x2a          |     v0 = 0x2a;
                                             |     if (v1 == v0) {
    0x00039c18 beql v1, v0, 0x39d58          |         goto label_46;
                                             |     }
    0x00039c1c lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x00039c20 addiu a0, s1, 1               |     a0 = s1 + 1;
                                             | label_8:
    0x00039c24 move t9, s3                   |     t9 = s3;
    0x00039c28 bal 0x39214                   |     fcn_00039214 ();
    0x00039c2c nop                           |     
    0x00039c30 lb v0, (v0)                   |     v0 = *(v0);
    0x00039c34 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00039c38 beqz v0, 0x3984c              |         goto label_0;
                                             |     }
    0x00039c3c addiu v1, zero, 0x23          |     v1 = 0x23;
    0x00039c40 addiu v1, zero, 0x3b          |     v1 = 0x3b;
                                             |     if (v0 == v1) {
    0x00039c44 beq v0, v1, 0x3984c           |         goto label_0;
                                             |     }
                                             |     if (v0 == v1) {
    0x00039c48 beql v0, v1, 0x39850          |         goto label_1;
                                             |     }
    0x00039c4c move v0, zero                 |     v0 = 0;
                                             | label_39:
    0x00039c50 lui v0, 0xaaca                |     v0 = 0xaaca600e;
                                             | label_42:
    0x00039c54 addiu v0, v0, 0x600e          |     
    0x00039c58 b 0x39850                     |     goto label_1;
                                             | label_45:
    0x00039c5c andi v0, v0, 2                |     v0 &= 2;
    0x00039c60 lw s5, 0x1c(s5)               |     s5 = *((s5 + 7));
                                             |     if (v0 == 0) {
    0x00039c64 bnel v0, zero, 0x39be8        |         goto label_2;
                                             |     }
    0x00039c68 sw s5, 0x10(s0)               |     *((s0 + 4)) = s5;
                                             | label_4:
    0x00039c6c lw s5, 0x1c(s5)               |     s5 = *((s5 + 7));
                                             |     if (s5 == 0) {
                                             | label_5:
    0x00039c70 beql s5, zero, 0x39c14        |         goto label_3;
                                             |     }
    0x00039c74 lb v1, 1(s1)                  |     v1 = *((s1 + 1));
    0x00039c78 lw t9, -0x778c(gp)            |     t9 = sym.imp.strcmp;
                                             |     if (s4 == 0) {
    0x00039c7c beqz s4, 0x39c94              |         goto label_47;
                                             |     }
    0x00039c80 lw a0, 4(s5)                  |     a0 = *((s5 + 1));
    0x00039c84 move a1, s4                   |     a1 = s4;
    0x00039c88 jalr t9                       |     t9 ();
    0x00039c8c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00039c90 bnez v0, 0x39c6c              |         goto label_4;
                                             |     }
                                             | label_47:
    0x00039c94 lw v0, 8(s5)                  |     v0 = *((s5 + 2));
    0x00039c98 lw s5, 0x1c(s5)               |     s5 = *((s5 + 7));
                                             |     if (v0 == 0) {
    0x00039c9c bnel v0, zero, 0x39c70        |         goto label_5;
                                             |     }
    0x00039ca0 lb v1, 1(s1)                  |     v1 = *((s1 + 1));
    0x00039ca4 b 0x39c14                     |     goto label_3;
                                             | label_30:
    0x00039ca8 addiu v0, zero, 2             |     v0 = 2;
                                             | label_29:
    0x00039cac sw v0, (s0)                   |     *(s0) = v0;
                                             | label_10:
    0x00039cb0 lw t9, -0x7a44(gp)            |     t9 = sym.imp.strchr;
                                             | label_11:
    0x00039cb4 addiu a1, zero, 0x2a          |     a1 = 0x2a;
    0x00039cb8 move a0, s1                   |     a0 = s1;
    0x00039cbc jalr t9                       |     t9 ();
    0x00039cc0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00039cc4 addiu a3, s0, 0x10            |     a3 = s0 + 0x10;
                                             |     if (v0 == 0) {
    0x00039cc8 beqz v0, 0x39d30              |         goto label_48;
                                             |     }
    0x00039ccc lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00039cd0 sb zero, (v0)                 |     *(v0) = 0;
    0x00039cd4 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x00039cd8 move a2, zero                 |     a2 = 0;
                                             |     /* fcn.000394b8 */
    0x00039cdc addiu t9, t9, -0x6b48         |     t9 += -0x6b48;
    0x00039ce0 move a1, s1                   |     a1 = s1;
    0x00039ce4 bal 0x394b8                   |     fcn_000394b8 ();
    0x00039ce8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00039cec bnez v0, 0x39850              |         goto label_1;
                                             |     }
    0x00039cf0 lw v0, 0x10(s0)               |     v0 = *((s0 + 4));
    0x00039cf4 addiu a0, zero, 1             |     a0 = 1;
    0x00039cf8 lbu v1, 0x10(v0)              |     v1 = *((v0 + 16));
    0x00039cfc ins v1, a0, 0, 1              |     __asm ("ins v1, a0, 0, 1");
    0x00039d00 sb v1, 0x10(v0)               |     *((v0 + 16)) = v1;
    0x00039d04 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
                                             | label_7:
    0x00039d08 move v0, zero                 |     v0 = 0;
    0x00039d0c addiu v1, v1, 1               |     v1++;
    0x00039d10 sw v1, 4(s0)                  |     *((s0 + 1)) = v1;
    0x00039d14 b 0x39850                     |     goto label_1;
                                             | label_26:
    0x00039d18 addiu s1, s1, 1               |     s1++;
                                             |     /* fcn.00039150 */
    0x00039d1c addiu t9, t9, -0x6eb0         |     t9 += -0x6eb0;
    0x00039d20 move a0, s1                   |     a0 = s1;
    0x00039d24 bal 0x39150                   |     fcn_00039150 ();
    0x00039d28 move t9, s3                   |     t9 = s3;
    0x00039d2c b 0x39990                     |     goto label_6;
                                             | label_48:
    0x00039d30 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00039d34 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x00039d38 move a2, zero                 |     a2 = 0;
                                             |     /* fcn.000394b8 */
    0x00039d3c addiu t9, t9, -0x6b48         |     t9 += -0x6b48;
    0x00039d40 move a1, s1                   |     a1 = s1;
    0x00039d44 bal 0x394b8                   |     fcn_000394b8 ();
    0x00039d48 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00039d4c bnez v0, 0x39850              |         goto label_1;
                                             |     }
    0x00039d50 lw v1, 4(s0)                  |     v1 = *((s0 + 1));
    0x00039d54 b 0x39d08                     |     goto label_7;
                                             | label_46:
    0x00039d58 addiu a1, zero, 1             |     a1 = 1;
    0x00039d5c addiu a0, s1, 2               |     a0 = s1 + 2;
    0x00039d60 lbu v1, 0x10(v0)              |     v1 = *((v0 + 16));
    0x00039d64 ins v1, a1, 0, 1              |     __asm ("ins v1, a1, 0, 1");
    0x00039d68 sb v1, 0x10(v0)               |     *((v0 + 16)) = v1;
    0x00039d6c b 0x39c24                     |     goto label_8;
                                             | label_40:
    0x00039d70 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00039d74 addiu s4, s4, 1               |     s4++;
                                             |     /* fcn.00039150 */
    0x00039d78 addiu t9, t9, -0x6eb0         |     t9 += -0x6eb0;
    0x00039d7c move a0, s4                   |     a0 = s4;
    0x00039d80 bal 0x39150                   |     fcn_00039150 ();
    0x00039d84 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00039d88 b 0x39b98                     |     goto label_9;
                                             | label_37:
    0x00039d8c lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00039d90 lw a0, 0x10(s0)               |     a0 = *((s0 + 4));
    0x00039d94 addiu a3, sp, 0x18            |     a3 = sp + 0x18;
    0x00039d98 move a2, s4                   |     a2 = s4;
                                             |     /* fcn.000394b8 */
    0x00039d9c addiu t9, t9, -0x6b48         |     t9 += -0x6b48;
    0x00039da0 move a1, s1                   |     a1 = s1;
    0x00039da4 bal 0x394b8                   |     fcn_000394b8 ();
    0x00039da8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00039dac move v0, zero                 |     v0 = 0;
    0x00039db0 b 0x39850                     |     goto label_1;
                                             | label_31:
    0x00039db4 move t9, s3                   |     t9 = s3;
    0x00039db8 addiu a0, s4, 1               |     a0 = s4 + 1;
    0x00039dbc bal 0x39214                   |     fcn_00039214 ();
    0x00039dc0 lb v0, (v0)                   |     v0 = *(v0);
    0x00039dc4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00039dc8 beqz v0, 0x39cb0              |         goto label_10;
                                             |     }
    0x00039dcc lw t9, -0x7a44(gp)            |     t9 = sym.imp.strchr;
                                             |     if (v0 == s5) {
    0x00039dd0 beq v0, s5, 0x39cb4           |         goto label_11;
                                             |     }
    0x00039dd4 lui v0, 0xaaca                |     v0 = 0xaaca0000;
                                             |     if (v0 == s6) {
    0x00039dd8 beq v0, s6, 0x39cb4           |         goto label_11;
                                             |     }
    0x00039ddc addiu v0, v0, 0x600f          |     v0 += 0x600f;
    0x00039de0 b 0x39850                     |     goto label_1;
                                             | label_38:
    0x00039de4 lui v0, 0xaaca                |     v0 = 0xaaca600d;
    0x00039de8 addiu v0, v0, 0x600d          |     
    0x00039dec b 0x39850                     |     goto label_1;
                                             | label_36:
    0x00039df0 lui v0, 0xaaca                |     v0 = 0xaaca6010;
    0x00039df4 addiu v0, v0, 0x6010          |     
    0x00039df8 b 0x39850                     |     goto label_1;
                                             | label_22:
    0x00039dfc lw t9, -0x78a4(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00039e00 jalr t9                       |     t9 ();
    0x00039e04 nop                           |     
                                             | label_15:
    0x00039e08 lui gp, 3                     |     
    0x00039e0c addiu gp, gp, -0x48           |     
    0x00039e10 addu gp, gp, t9               |     gp += t9;
    0x00039e14 addiu sp, sp, -0x858          |     
    0x00039e18 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x00039e1c sw s5, 0x848(sp)              |     *(var_848h) = s5;
    0x00039e20 lw s5, -0x7838(gp)            |     s5 = *((gp - 7694));
    0x00039e24 sw s6, 0x84c(sp)              |     *(var_84ch) = s6;
    0x00039e28 sw s1, 0x838(sp)              |     *(var_838h) = s1;
    0x00039e2c lw v0, (s5)                   |     v0 = *(s5);
    0x00039e30 addiu s1, sp, 0x18            |     s1 = sp + 0x18;
    0x00039e34 move s6, a0                   |     s6 = a0;
    0x00039e38 lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x00039e3c sw gp, 0x10(sp)               |     *(var_10h_2) = gp;
    0x00039e40 sw s4, 0x844(sp)              |     *(var_844h) = s4;
    0x00039e44 sw ra, 0x854(sp)              |     *(var_854h) = ra;
    0x00039e48 sw s7, 0x850(sp)              |     *(var_850h) = s7;
    0x00039e4c sw s3, 0x840(sp)              |     *(var_840h) = s3;
    0x00039e50 sw s2, 0x83c(sp)              |     *(var_83ch) = s2;
    0x00039e54 sw s0, 0x834(sp)              |     *(var_834h) = s0;
    0x00039e58 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x00039e5c addiu a2, sp, 0x24            |     a2 = sp + 0x24;
    0x00039e60 move a1, zero                 |     a1 = 0;
                                             |     /* str._root_ */
    0x00039e64 addiu a0, a0, -0x2870         |     a0 += -0x2870;
    0x00039e68 sw v0, 0x82c(sp)              |     *(var_82ch) = v0;
    0x00039e6c sw zero, 4(s1)                |     *((s1 + 1)) = 0;
    0x00039e70 sw zero, 8(s1)                |     *((s1 + 2)) = 0;
    0x00039e74 sw zero, 0xc(s1)              |     *((s1 + 3)) = 0;
                                             |     /* fcn.000393c0 */
    0x00039e78 addiu t9, t9, -0x6c40         |     t9 += -0x6c40;
    0x00039e7c sw zero, 0x10(s1)             |     *((s1 + 4)) = 0;
    0x00039e80 bal 0x393c0                   |     fcn_000393c0 ();
    0x00039e84 move s4, v0                   |     s4 = v0;
    0x00039e88 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 != 0) {
    0x00039e8c beqz v0, 0x39ecc              |         
                                             | label_13:
    0x00039e90 lw a0, 0x82c(sp)              |         a0 = *(var_82ch);
    0x00039e94 lw v1, (s5)                   |         v1 = *(s5);
    0x00039e98 move v0, s4                   |         v0 = s4;
                                             |         if (a0 != v1) {
    0x00039e9c bne a0, v1, 0x39fd4           |             goto label_49;
                                             |         }
    0x00039ea0 lw ra, 0x854(sp)              |         ra = *(var_854h);
    0x00039ea4 lw s7, 0x850(sp)              |         s7 = *(var_850h);
    0x00039ea8 lw s6, 0x84c(sp)              |         s6 = *(var_84ch);
    0x00039eac lw s5, 0x848(sp)              |         s5 = *(var_848h);
    0x00039eb0 lw s4, 0x844(sp)              |         s4 = *(var_844h);
    0x00039eb4 lw s3, 0x840(sp)              |         s3 = *(var_840h);
    0x00039eb8 lw s2, 0x83c(sp)              |         s2 = *(var_83ch);
    0x00039ebc lw s1, 0x838(sp)              |         s1 = *(var_838h);
    0x00039ec0 lw s0, 0x834(sp)              |         s0 = *(var_834h);
    0x00039ec4 addiu sp, sp, 0x858           |         
    0x00039ec8 jr ra                         |         return v0;
                                             |     }
    0x00039ecc lw t9, -0x7aa4(gp)            |     t9 = sym.imp.__errno_location;
    0x00039ed0 jalr t9                       |     t9 ();
    0x00039ed4 nop                           |     
    0x00039ed8 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00039edc lw a0, 4(s6)                  |     a0 = *((s6 + 1));
    0x00039ee0 sw zero, (v0)                 |     *(v0) = 0;
    0x00039ee4 lw a1, -0x7fa8(gp)            |     a1 = *((gp - 8170));
    0x00039ee8 lw t9, -0x77cc(gp)            |     t9 = sym.imp.fopen;
    0x00039eec addiu a1, a1, -0x3c5c         |     a1 += -0x3c5c;
    0x00039ef0 move s2, v0                   |     s2 = v0;
    0x00039ef4 jalr t9                       |     t9 ();
    0x00039ef8 move s0, v0                   |     s0 = v0;
    0x00039efc lw gp, 0x10(sp)               |     gp = *(var_10h_2);
                                             |     if (v0 == 0) {
    0x00039f00 beqz v0, 0x39fc0              |         goto label_50;
                                             |     }
    0x00039f04 lw v0, 0x10(s6)               |     v0 = *((s6 + 4));
    0x00039f08 lw s3, -0x7fd0(gp)            |     s3 = *(gp);
    0x00039f0c addiu v0, v0, 1               |     v0++;
    0x00039f10 sw v0, 0x10(s6)               |     *((s6 + 4)) = v0;
    0x00039f14 addiu s2, sp, 0x2c            |     s2 = sp + 0x2c;
                                             |     /* fcn.000397d4 */
    0x00039f18 addiu s3, s3, -0x682c         |     s3 += -0x682c;
    0x00039f1c b 0x39f58                     |     
                                             |     while (v0 == 0) {
    0x00039f20 lw t9, -0x7848(gp)            |         t9 = sym.imp.fgets;
    0x00039f24 move a2, s0                   |         a2 = s0;
    0x00039f28 addiu a1, zero, 0x800         |         a1 = 0x800;
    0x00039f2c move a0, s2                   |         a0 = s2;
    0x00039f30 jalr t9                       |         t9 ();
    0x00039f34 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             |         if (v0 == 0) {
    0x00039f38 beqz v0, 0x39f6c              |             goto label_51;
                                             |         }
    0x00039f3c move a1, s1                   |         a1 = s1;
    0x00039f40 move t9, s3                   |         t9 = s3;
    0x00039f44 move a0, s2                   |         a0 = s2;
    0x00039f48 bal 0x397d4                   |         fcn_000397d4 ();
                                             |         goto label_12;
    0x00039f4c move s7, v0                   |         s7 = v0;
    0x00039f50 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             |         if (v0 != 0) {
    0x00039f54 bnez v0, 0x39f88              |             goto label_52;
                                             |         }
    0x00039f58 lw t9, -0x7a30(gp)            |         t9 = sym.imp.feof;
    0x00039f5c move a0, s0                   |         a0 = s0;
    0x00039f60 jalr t9                       |         t9 ();
    0x00039f64 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
    0x00039f68 beqz v0, 0x39f20              |         
                                             |     }
                                             | label_51:
    0x00039f6c lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x00039f70 lw t9, -0x7bcc(gp)            |     t9 = sym.imp.fclose;
    0x00039f74 sw v0, 0x14(s6)               |     *((s6 + 5)) = v0;
    0x00039f78 move a0, s0                   |     a0 = s0;
    0x00039f7c jalr t9                       |     t9 ();
    0x00039f80 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00039f84 b 0x39e90                     |     goto label_13;
                                             | label_52:
    0x00039f88 lw v0, -0x7fc8(gp)            |     v0 = *((gp - 8178));
    0x00039f8c lw t9, 0x2940(v0)             |     t9 = *((v0 + 2640));
    0x00039f90 lw a2, 0x20(sp)               |     a2 = *(var_20h);
                                             |     if (t9 != 0) {
    0x00039f94 beqz t9, 0x39fa8              |         
    0x00039f98 lw a0, 4(s6)                  |         a0 = *((s6 + 1));
    0x00039f9c move a1, s7                   |         a1 = s7;
    0x00039fa0 jalr t9                       |         t9 ();
    0x00039fa4 lw gp, 0x10(sp)               |         gp = *(var_10h_2);
                                             |     }
    0x00039fa8 lw t9, -0x7bcc(gp)            |     t9 = sym.imp.fclose;
    0x00039fac move a0, s0                   |     a0 = s0;
    0x00039fb0 jalr t9                       |     t9 ();
    0x00039fb4 move s4, s7                   |     s4 = s7;
    0x00039fb8 lw gp, 0x10(sp)               |     gp = *(var_10h_2);
    0x00039fbc b 0x39e90                     |     goto label_13;
                                             | label_50:
    0x00039fc0 lw s4, (s2)                   |     s4 = *(s2);
                                             |     if (s4 == 0) {
    0x00039fc4 beql s4, zero, 0x39e90        |         goto label_13;
                                             |     }
    0x00039fc8 addiu s4, zero, 2             |     s4 = 2;
    0x00039fcc b 0x39e90                     |     goto label_13;
    0x00039fd0 nop                           |     
                                             | label_49:
    0x00039fd4 lw t9, -0x78a4(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00039fd8 jalr t9                       |     t9 ();
    0x00039fdc nop                           |     
    0x00039fe0 lui gp, 3                     |     
    0x00039fe4 addiu gp, gp, -0x220          |     
    0x00039fe8 addu gp, gp, t9               |     gp += t9;
    0x00039fec addiu sp, sp, -0x40           |     
    0x00039ff0 lw t9, -0x79bc(gp)            |     t9 = sym.imp.malloc;
    0x00039ff4 sw gp, 0x10(sp)               |     *(var_10h_3) = gp;
    0x00039ff8 sw s3, 0x30(sp)               |     *(var_30h_2) = s3;
    0x00039ffc sw s2, 0x2c(sp)               |     *(var_2ch_2) = s2;
    0x0003a000 sw ra, 0x3c(sp)               |     *(var_3ch_2) = ra;
    0x0003a004 sw s5, 0x38(sp)               |     *(var_38h_2) = s5;
    0x0003a008 sw s4, 0x34(sp)               |     *(var_34h_2) = s4;
    0x0003a00c sw s1, 0x28(sp)               |     *(var_28h_2) = s1;
    0x0003a010 sw s0, 0x24(sp)               |     *(var_24h_3) = s0;
    0x0003a014 move s2, a0                   |     s2 = a0;
    0x0003a018 addiu a0, zero, 0x1c          |     a0 = 0x1c;
    0x0003a01c move s3, a1                   |     s3 = a1;
    0x0003a020 jalr t9                       |     t9 ();
    0x0003a024 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
                                             |     if (v0 == 0) {
    0x0003a028 beqz v0, 0x3a1c4              |         goto label_53;
                                             |     }
    0x0003a02c sw zero, 4(v0)                |     *((v0 + 1)) = 0;
    0x0003a030 sw zero, 8(v0)                |     *((v0 + 2)) = 0;
    0x0003a034 sw zero, 0xc(v0)              |     *((v0 + 3)) = 0;
    0x0003a038 sw zero, 0x10(v0)             |     *((v0 + 4)) = 0;
    0x0003a03c sw zero, 0x14(v0)             |     *((v0 + 5)) = 0;
    0x0003a040 sw zero, 0x18(v0)             |     *((v0 + 6)) = 0;
    0x0003a044 move s0, v0                   |     s0 = v0;
    0x0003a048 lui v0, 0xaaca                |     v0 = 0xaaca0000;
    0x0003a04c lw t9, -0x7a54(gp)            |     t9 = sym.imp.strlen;
    0x0003a050 addiu v0, v0, 0x6019          |     v0 += 0x6019;
    0x0003a054 move a0, s2                   |     a0 = s2;
    0x0003a058 sw v0, (s0)                   |     *(s0) = v0;
    0x0003a05c jalr t9                       |     t9 ();
    0x0003a060 lb a0, (s2)                   |     a0 = *(s2);
    0x0003a064 addiu v1, zero, 0x7e          |     v1 = 0x7e;
    0x0003a068 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
    0x0003a06c addiu s4, v0, 1               |     s4 = v0 + 1;
                                             |     if (a0 == v1) {
    0x0003a070 beq a0, v1, 0x3a10c           |         goto label_54;
                                             |     }
    0x0003a074 lw t9, -0x79bc(gp)            |     t9 = sym.imp.malloc;
                                             |     do {
    0x0003a078 move a0, s4                   |         a0 = s4;
    0x0003a07c jalr t9                       |         t9 ();
    0x0003a080 move s1, v0                   |         s1 = v0;
    0x0003a084 lw gp, 0x10(sp)               |         gp = *(var_10h_3);
                                             |         if (v0 == 0) {
    0x0003a088 beqz v0, 0x3a204              |             goto label_55;
                                             |         }
                                             | label_18:
    0x0003a08c lw t9, -0x7834(gp)            |         t9 = sym.imp.memcpy;
    0x0003a090 move a2, s4                   |         a2 = s4;
    0x0003a094 move a1, s2                   |         a1 = s2;
    0x0003a098 move a0, s1                   |         a0 = s1;
    0x0003a09c jalr t9                       |         t9 ();
    0x0003a0a0 lw gp, 0x10(sp)               |         gp = *(var_10h_3);
                                             | label_14:
    0x0003a0a4 lw a1, -0x7fa8(gp)            |         a1 = *((gp - 8170));
    0x0003a0a8 lw t9, -0x778c(gp)            |         t9 = sym.imp.strcmp;
    0x0003a0ac sw s1, 4(s0)                  |         *((s0 + 1)) = s1;
                                             |         /* str._default_ */
    0x0003a0b0 addiu a1, a1, -0x2860         |         a1 += -0x2860;
    0x0003a0b4 move a0, s1                   |         a0 = s1;
    0x0003a0b8 jalr t9                       |         t9 ();
    0x0003a0bc lw gp, 0x10(sp)               |         gp = *(var_10h_3);
                                             |         if (v0 != 0) {
    0x0003a0c0 beqz v0, 0x3a0e0              |             
    0x0003a0c4 lw v0, 0xc(s0)                |             v0 = *((s0 + 3));
    0x0003a0c8 andi v0, v0, 4                |             v0 &= 4;
    0x0003a0cc sw s0, (s3)                   |             *(s3) = s0;
                                             |             if (v0 == 0) {
    0x0003a0d0 bnel v0, zero, 0x3a0e4        |                 goto label_56;
                                             |             }
    0x0003a0d4 lw v0, 0x14(s0)               |             v0 = *((s0 + 5));
    0x0003a0d8 lw t9, -0x7fd0(gp)            |             t9 = *(gp);
                                             |             if (v0 == 0) {
    0x0003a0dc beqz v0, 0x3a194              |                 goto label_57;
                                             |             }
                                             |         }
                                             | label_16:
    0x0003a0e0 sw s0, (s3)                   |         *(s3) = s0;
                                             | label_56:
    0x0003a0e4 move v0, zero                 |         v0 = 0;
                                             | label_17:
    0x0003a0e8 lw ra, 0x3c(sp)               |         ra = *(var_3ch_2);
    0x0003a0ec lw s5, 0x38(sp)               |         s5 = *(var_38h_2);
    0x0003a0f0 lw s4, 0x34(sp)               |         s4 = *(var_34h_2);
    0x0003a0f4 lw s3, 0x30(sp)               |         s3 = *(var_30h_2);
    0x0003a0f8 lw s2, 0x2c(sp)               |         s2 = *(var_2ch_2);
    0x0003a0fc lw s1, 0x28(sp)               |         s1 = *(var_28h_2);
    0x0003a100 lw s0, 0x24(sp)               |         s0 = *(var_24h_3);
    0x0003a104 addiu sp, sp, 0x40            |         
    0x0003a108 jr ra                         |         return v0;
                                             | label_54:
    0x0003a10c lb v1, 1(s2)                  |         v1 = *((s2 + 1));
    0x0003a110 addiu v0, zero, 0x2f          |         v0 = 0x2f;
    0x0003a114 lw t9, -0x79bc(gp)            |         t9 = sym.imp.malloc;
    0x0003a118 bne v1, v0, 0x3a078           |         
                                             |     } while (v1 != v0);
    0x0003a11c lw a0, -0x7fa8(gp)            |     a0 = *((gp - 8170));
    0x0003a120 lw t9, -0x79ac(gp)            |     t9 = sym.imp.getenv;
                                             |     /* str.HOME */
    0x0003a124 addiu a0, a0, -0x2868         |     a0 += -0x2868;
    0x0003a128 jalr t9                       |     t9 ();
    0x0003a12c lw gp, 0x10(sp)               |     gp = *(var_10h_3);
                                             |     if (v0 == 0) {
    0x0003a130 beqz v0, 0x3a1ec              |         goto label_58;
                                             |     }
    0x0003a134 lw t9, -0x7a54(gp)            |     t9 = sym.imp.strlen;
    0x0003a138 move a0, v0                   |     a0 = v0;
    0x0003a13c sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
    0x0003a140 jalr t9                       |     t9 ();
    0x0003a144 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
    0x0003a148 addu a0, v0, s4               |     a0 = v0 + s4;
    0x0003a14c lw t9, -0x79bc(gp)            |     t9 = sym.imp.malloc;
    0x0003a150 move s5, v0                   |     s5 = v0;
    0x0003a154 jalr t9                       |     t9 ();
    0x0003a158 move s1, v0                   |     s1 = v0;
    0x0003a15c lw gp, 0x10(sp)               |     gp = *(var_10h_3);
                                             |     if (v0 == 0) {
    0x0003a160 beqz v0, 0x3a204              |         goto label_55;
                                             |     }
    0x0003a164 lw t9, -0x7834(gp)            |     t9 = sym.imp.memcpy;
    0x0003a168 lw a1, 0x1c(sp)               |     a1 = *(var_1ch_2);
    0x0003a16c move a2, s5                   |     a2 = s5;
    0x0003a170 move a0, v0                   |     a0 = v0;
    0x0003a174 jalr t9                       |     t9 ();
    0x0003a178 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
    0x0003a17c addiu a1, s2, 1               |     a1 = s2 + 1;
    0x0003a180 lw t9, -0x7960(gp)            |     t9 = sym.imp.strcpy
    0x0003a184 addu a0, s1, s5               |     a0 = s1 + s5;
    0x0003a188 jalr t9                       |     t9 ();
    0x0003a18c lw gp, 0x10(sp)               |     gp = *(var_10h_3);
    0x0003a190 b 0x3a0a4                     |     goto label_14;
                                             | label_57:
    0x0003a194 addiu t9, t9, -0x61f8         |     t9 += -0x61f8;
    0x0003a198 move a0, s0                   |     a0 = s0;
    0x0003a19c bal 0x39e08                   |     fcn_39e08 ();
                                             |     goto label_15;
    0x0003a1a0 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
                                             |     if (v0 == 0) {
    0x0003a1a4 beqz v0, 0x3a0e0              |         goto label_16;
                                             |     }
    0x0003a1a8 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x0003a1ac sw v0, 0x1c(sp)               |     *(var_1ch_2) = v0;
                                             |     /* fcn.00039348 */
    0x0003a1b0 addiu t9, t9, -0x6cb8         |     t9 += -0x6cb8;
    0x0003a1b4 move a0, s0                   |     a0 = s0;
    0x0003a1b8 bal 0x39348                   |     fcn_00039348 ();
    0x0003a1bc lw v0, 0x1c(sp)               |     v0 = *(var_1ch_2);
    0x0003a1c0 b 0x3a0e8                     |     goto label_17;
                                             | label_53:
    0x0003a1c4 lw ra, 0x3c(sp)               |     ra = *(var_3ch_2);
    0x0003a1c8 lw s5, 0x38(sp)               |     s5 = *(var_38h_2);
    0x0003a1cc lw s4, 0x34(sp)               |     s4 = *(var_34h_2);
    0x0003a1d0 lw s3, 0x30(sp)               |     s3 = *(var_30h_2);
    0x0003a1d4 lw s2, 0x2c(sp)               |     s2 = *(var_2ch_2);
    0x0003a1d8 lw s1, 0x28(sp)               |     s1 = *(var_28h_2);
    0x0003a1dc lw s0, 0x24(sp)               |     s0 = *(var_24h_3);
    0x0003a1e0 addiu v0, zero, 0xc           |     v0 = 0xc;
    0x0003a1e4 addiu sp, sp, 0x40            |     
    0x0003a1e8 jr ra                         |     return v0;
                                             | label_58:
    0x0003a1ec lw t9, -0x79bc(gp)            |     t9 = sym.imp.malloc;
    0x0003a1f0 move a0, s4                   |     a0 = s4;
    0x0003a1f4 jalr t9                       |     t9 ();
    0x0003a1f8 move s1, v0                   |     s1 = v0;
    0x0003a1fc lw gp, 0x10(sp)               |     gp = *(var_10h_3);
                                             |     if (v0 != 0) {
    0x0003a200 bnez v0, 0x3a08c              |         goto label_18;
                                             |     }
                                             | label_55:
    0x0003a204 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
                                             |     /* fcn.00039348 */
    0x0003a208 addiu t9, t9, -0x6cb8         |     t9 += -0x6cb8;
    0x0003a20c move a0, s0                   |     a0 = s0;
    0x0003a210 bal 0x39348                   |     fcn_00039348 ();
    0x0003a214 lw gp, 0x10(sp)               |     gp = *(var_10h_3);
    0x0003a218 lw t9, -0x7aa4(gp)            |     t9 = sym.imp.__errno_location;
    0x0003a21c jalr t9                       |     t9 ();
    0x0003a220 nop                           |     
    0x0003a224 lw v0, (v0)                   |     v0 = *(v0);
    0x0003a228 b 0x3a0e8                     |     goto label_17;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3b130 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.profile_get_string ()        | void profile_get_string () {
    0x0003b130 lui gp, 3                     |     
    0x0003b134 addiu gp, gp, -0x1370         |     
    0x0003b138 addu gp, gp, t9               |     gp += t9;
    0x0003b13c addiu sp, sp, -0x38           |     
    0x0003b140 sw s1, 0x2c(sp)               |     *(var_2ch) = s1;
    0x0003b144 lw s1, -0x7838(gp)            |     s1 = *((gp - 7694));
    0x0003b148 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0003b14c sw s2, 0x30(sp)               |     *(var_30h) = s2;
    0x0003b150 lw v0, (s1)                   |     v0 = *(s1);
    0x0003b154 sw s0, 0x28(sp)               |     *(var_28h) = s0;
    0x0003b158 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x0003b15c lw s0, 0x48(sp)               |     s0 = *(arg_48h);
    0x0003b160 lw s2, 0x4c(sp)               |     s2 = *(arg_4ch);
    0x0003b164 sw v0, 0x24(sp)               |     *(var_24h) = v0;
    0x0003b168 lw t9, -0x7fd0(gp)            |     t9 = *(gp);
                                             |     if (a0 == 0) {
    0x0003b16c beqz a0, 0x3b20c              |         goto label_1;
                                             |     }
    0x0003b170 addiu v0, sp, 0x20            |     v0 = sp + 0x20;
                                             |     /* fcn.0003b034 */
    0x0003b174 addiu t9, t9, -0x4fcc         |     t9 += -0x4fcc;
    0x0003b178 sw v0, 0x10(sp)               |     *(var_58h) = v0;
    0x0003b17c bal 0x3b034                   |     fcn_0003b034 ();
    0x0003b180 lui v1, 0x5535                |     v1 = 0x55359ffe;
    0x0003b184 ori v1, v1, 0x9ffe            |     
    0x0003b188 addu v1, v0, v1               |     v1 = v0 + v1;
    0x0003b18c sltiu v1, v1, 2               |     v1 = (v1 < 2) ? 1 : 0;
    0x0003b190 lw gp, 0x18(sp)               |     gp = *(var_18h);
                                             |     if (v1 != 0) {
    0x0003b194 bnez v1, 0x3b20c              |         goto label_1;
                                             |     }
    0x0003b198 lw s0, 0x20(sp)               |     s0 = *(var_20h);
                                             |     if (v0 != 0) {
    0x0003b19c bnez v0, 0x3b1e8              |         goto label_0;
                                             |     }
                                             |     if (s0 == 0) {
    0x0003b1a0 beql s0, zero, 0x3b218        |         goto label_2;
                                             |     }
    0x0003b1a4 sw zero, (s2)                 |     *(s2) = 0;
                                             |     do {
    0x0003b1a8 lw t9, -0x7a54(gp)            |         t9 = sym.imp.strlen;
    0x0003b1ac move a0, s0                   |         a0 = s0;
    0x0003b1b0 jalr t9                       |         t9 ();
    0x0003b1b4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003b1b8 lw t9, -0x79bc(gp)            |         t9 = sym.imp.malloc;
    0x0003b1bc addiu a0, v0, 1               |         a0 = v0 + 1;
    0x0003b1c0 jalr t9                       |         t9 ();
    0x0003b1c4 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003b1c8 sw v0, (s2)                   |         *(s2) = v0;
                                             |         if (v0 == 0) {
    0x0003b1cc beqz v0, 0x3b220              |             goto label_3;
                                             |         }
    0x0003b1d0 lw t9, -0x7960(gp)            |         t9 = sym.imp.strcpy
    0x0003b1d4 move a1, s0                   |         a1 = s0;
    0x0003b1d8 move a0, v0                   |         a0 = v0;
    0x0003b1dc jalr t9                       |         t9 ();
    0x0003b1e0 lw gp, 0x18(sp)               |         gp = *(var_18h);
    0x0003b1e4 move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x0003b1e8 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0003b1ec lw v1, (s1)                   |         v1 = *(s1);
    0x0003b1f0 lw ra, 0x34(sp)               |         ra = *(var_34h);
                                             |         if (a0 != v1) {
    0x0003b1f4 bne a0, v1, 0x3b228           |             goto label_4;
                                             |         }
    0x0003b1f8 lw s2, 0x30(sp)               |         s2 = *(var_30h);
    0x0003b1fc lw s1, 0x2c(sp)               |         s1 = *(var_2ch);
    0x0003b200 lw s0, 0x28(sp)               |         s0 = *(var_28h);
    0x0003b204 addiu sp, sp, 0x38            |         
    0x0003b208 jr ra                         |         return v0;
                                             | label_1:
    0x0003b20c sw s0, 0x20(sp)               |         *(var_20h) = s0;
    0x0003b210 bnez s0, 0x3b1a8              |         
                                             |     } while (s0 != 0);
    0x0003b214 sw zero, (s2)                 |     *(s2) = 0;
                                             | label_2:
    0x0003b218 move v0, zero                 |     v0 = 0;
    0x0003b21c b 0x3b1e8                     |     goto label_0;
                                             | label_3:
    0x0003b220 addiu v0, zero, 0xc           |     v0 = 0xc;
    0x0003b224 b 0x3b1e8                     |     goto label_0;
                                             | label_4:
    0x0003b228 lw t9, -0x78a4(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003b22c jalr t9                       |     t9 ();
    0x0003b230 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3aaa8 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.profile_iterator_create ()           | void profile_iterator_create () {
    0x0003aaa8 lui gp, 3                             |     
    0x0003aaac addiu gp, gp, -0xce8                  |     
    0x0003aab0 addu gp, gp, t9                       |     gp += t9;
    0x0003aab4 lui v1, 0xaaca                        |     v1 = 0xaaca0000;
                                                     |     if (a0 == 0) {
    0x0003aab8 beqz a0, 0x3aba4                      |         goto label_0;
                                                     |     }
    0x0003aabc lw t0, (a0)                           |     t0 = *(a0);
    0x0003aac0 addiu v0, v1, 0x6012                  |     v0 = v1 + 0x6012;
                                                     |     if (t0 != v0) {
    0x0003aac4 bne t0, v0, 0x3abb0                   |         goto label_1;
                                                     |     }
    0x0003aac8 nop                                   |     
                                                     |     if (a1 == 0) {
    0x0003aacc beqz a1, 0x3abb8                      |         goto label_2;
                                                     |     }
    0x0003aad0 nop                                   |     
    0x0003aad4 addiu sp, sp, -0x30                   |     
    0x0003aad8 andi v0, a2, 1                        |     v0 = a2 & 1;
    0x0003aadc sw gp, 0x10(sp)                       |     *(var_10h) = gp;
    0x0003aae0 sw ra, 0x2c(sp)                       |     *(var_2ch) = ra;
    0x0003aae4 sw s4, 0x28(sp)                       |     *(var_28h) = s4;
    0x0003aae8 sw s3, 0x24(sp)                       |     *(var_24h) = s3;
    0x0003aaec sw s2, 0x20(sp)                       |     *(var_20h) = s2;
    0x0003aaf0 sw s1, 0x1c(sp)                       |     *(var_1ch) = s1;
    0x0003aaf4 sw s0, 0x18(sp)                       |     *(var_18h) = s0;
    0x0003aaf8 move s4, zero                         |     s4 = 0;
                                                     |     if (v0 == 0) {
    0x0003aafc bnez v0, 0x3ab0c                      |         
    0x0003ab00 lw v0, (a1)                           |         v0 = *(a1);
    0x0003ab04 addiu s4, zero, 1                     |         s4 = 1;
                                                     |         if (v0 == 0) {
    0x0003ab08 beqz v0, 0x3abc0                      |             goto label_3;
                                                     |         }
                                                     |     }
    0x0003ab0c lw t9, -0x79bc(gp)                    |     t9 = sym.imp.malloc;
    0x0003ab10 move s0, a0                           |     s0 = a0;
    0x0003ab14 addiu a0, zero, 0x28                  |     a0 = 0x28;
    0x0003ab18 move s3, a3                           |     s3 = a3;
    0x0003ab1c move s2, a2                           |     s2 = a2;
    0x0003ab20 move s1, a1                           |     s1 = a1;
    0x0003ab24 jalr t9                               |     t9 ();
    0x0003ab28 lw ra, 0x2c(sp)                       |     ra = *(var_2ch);
                                                     |     if (v0 == 0) {
    0x0003ab2c beqz v0, 0x3ab84                      |         goto label_4;
                                                     |     }
    0x0003ab30 lw a0, 4(s0)                          |     a0 = *((s0 + 1));
    0x0003ab34 lui v1, 0xaaca                        |     v1 = 0xaaca6009;
    0x0003ab38 addiu v1, v1, 0x6009                  |     
    0x0003ab3c sw v1, (v0)                           |     *(v0) = v1;
    0x0003ab40 sw s0, 4(v0)                          |     *((v0 + 1)) = s0;
    0x0003ab44 sw s1, 0xc(v0)                        |     *((v0 + 3)) = s1;
    0x0003ab48 sw s2, 8(v0)                          |     *((v0 + 2)) = s2;
    0x0003ab4c sw a0, 0x14(v0)                       |     *((v0 + 5)) = a0;
    0x0003ab50 sw s4, 0x1c(v0)                       |     *((v0 + 7)) = s4;
    0x0003ab54 sw zero, 0x20(v0)                     |     *((v0 + 8)) = 0;
    0x0003ab58 sw zero, 0x24(v0)                     |     *((v0 + 9)) = 0;
    0x0003ab5c sw v0, (s3)                           |     *(s3) = v0;
    0x0003ab60 move v0, zero                         |     v0 = 0;
                                                     |     do {
    0x0003ab64 lw ra, 0x2c(sp)                       |         ra = *(var_2ch);
    0x0003ab68 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x0003ab6c lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x0003ab70 lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x0003ab74 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x0003ab78 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x0003ab7c addiu sp, sp, 0x30                    |         
    0x0003ab80 jr ra                                 |         return v0;
                                                     | label_4:
    0x0003ab84 lw s4, 0x28(sp)                       |         s4 = *(var_28h);
    0x0003ab88 lw s3, 0x24(sp)                       |         s3 = *(var_24h);
    0x0003ab8c lw s2, 0x20(sp)                       |         s2 = *(var_20h);
    0x0003ab90 lw s1, 0x1c(sp)                       |         s1 = *(var_1ch);
    0x0003ab94 lw s0, 0x18(sp)                       |         s0 = *(var_18h);
    0x0003ab98 addiu v0, zero, 0xc                   |         v0 = 0xc;
    0x0003ab9c addiu sp, sp, 0x30                    |         
    0x0003aba0 jr ra                                 |         return v0;
                                                     | label_0:
    0x0003aba4 lui v0, 0xaaca                        |         v0 = 0xaaca6018;
    0x0003aba8 addiu v0, v0, 0x6018                  |         
    0x0003abac jr ra                                 |         return v0;
                                                     | label_1:
    0x0003abb0 jr ra                                 |         return v0;
    0x0003abb4 nop                                   |         
                                                     | label_2:
    0x0003abb8 addiu v0, v1, 0x6017                  |         v0 = v1 + 0x6017;
    0x0003abbc jr ra                                 |         return v0;
                                                     | label_3:
    0x0003abc0 addiu v0, v1, 0x6017                  |         v0 = v1 + 0x6017;
    0x0003abc4 b 0x3ab64                             |         
                                                     |     } while (1);
                                                     | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3abc8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.profile_iterator_free ()         | void profile_iterator_free () {
    0x0003abc8 lui gp, 3                         |     
    0x0003abcc addiu gp, gp, -0xe08              |     
    0x0003abd0 addu gp, gp, t9                   |     gp += t9;
                                                 |     if (a0 != 0) {
    0x0003abd4 beqz a0, 0x3abf8                  |         
    0x0003abd8 nop                               |         
    0x0003abdc lw v1, (a0)                       |         v1 = *(a0);
    0x0003abe0 lui v0, 0xaaca                    |         v0 = 0xaaca0000;
                                                 |         if (v1 == 0) {
    0x0003abe4 beqz v1, 0x3abf8                  |             goto label_0;
                                                 |         }
    0x0003abe8 lw a1, (v1)                       |         a1 = *(v1);
    0x0003abec addiu v0, v0, 0x6009              |         v0 += 0x6009;
    0x0003abf0 lw t9, -0x7814(gp)                |         t9 = sym.imp.free;
                                                 |         if (a1 == v0) {
    0x0003abf4 beq a1, v0, 0x3ac00               |             goto label_1;
                                                 |         }
                                                 |     }
                                                 | label_0:
    0x0003abf8 jr ra                             |     return v0;
    0x0003abfc nop                               |     
                                                 | label_1:
    0x0003ac00 addiu sp, sp, -0x20               |     
    0x0003ac04 sw s0, 0x18(sp)                   |     *(var_18h) = s0;
    0x0003ac08 sw ra, 0x1c(sp)                   |     *(var_1ch) = ra;
    0x0003ac0c sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0003ac10 move s0, a0                       |     s0 = a0;
    0x0003ac14 move a0, v1                       |     a0 = v1;
    0x0003ac18 jalr t9                           |     t9 ();
    0x0003ac1c lw ra, 0x1c(sp)                   |     ra = *(var_1ch);
    0x0003ac20 sw zero, (s0)                     |     *(s0) = 0;
    0x0003ac24 lw s0, 0x18(sp)                   |     s0 = *(var_18h);
    0x0003ac28 addiu sp, sp, 0x20                |     
    0x0003ac2c jr ra                             |     return v0;
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/fsck.ext3 @ 0x3b79c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.profile_iterator ()          | void profile_iterator () {
    0x0003b79c lui gp, 3                     |     
    0x0003b7a0 addiu gp, gp, -0x19dc         |     
    0x0003b7a4 addu gp, gp, t9               |     gp += t9;
    0x0003b7a8 addiu sp, sp, -0x40           |     
    0x0003b7ac lw t9, -0x7fd0(gp)            |     t9 = *(gp);
    0x0003b7b0 sw s0, 0x2c(sp)               |     *(var_2ch) = s0;
    0x0003b7b4 lw s0, -0x7838(gp)            |     s0 = *((gp - 7694));
    0x0003b7b8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0003b7bc sw s2, 0x34(sp)               |     *(var_34h) = s2;
    0x0003b7c0 lw v0, (s0)                   |     v0 = *(s0);
    0x0003b7c4 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x0003b7c8 sw ra, 0x3c(sp)               |     *(var_3ch) = ra;
    0x0003b7cc sw s3, 0x38(sp)               |     *(var_38h) = s3;
    0x0003b7d0 move s1, a1                   |     s1 = a1;
    0x0003b7d4 move s2, a2                   |     s2 = a2;
    0x0003b7d8 addiu a1, sp, 0x1c            |     a1 = sp + 0x1c;
    0x0003b7dc addiu a2, sp, 0x20            |     a2 = sp + 0x20;
    0x0003b7e0 sw v0, 0x24(sp)               |     *(var_24h) = v0;
                                             |     /* fcn.0003ac30 */
    0x0003b7e4 addiu t9, t9, -0x53d0         |     t9 += -0x53d0;
    0x0003b7e8 bal 0x3ac30                   |     fcn_0003ac30 ();
    0x0003b7ec nop                           |     
    0x0003b7f0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x0003b7f4 bnez v0, 0x3b890              |         goto label_0;
                                             |     }
    0x0003b7f8 lw s3, 0x1c(sp)               |     s3 = *(var_1ch);
                                             |     if (s1 != 0) {
    0x0003b7fc beqz s1, 0x3b840              |         
    0x0003b800 lw t9, -0x7a54(gp)            |         t9 = sym.imp.strlen;
                                             |         if (s3 == 0) {
    0x0003b804 beqz s3, 0x3b8b8              |             goto label_1;
                                             |         }
    0x0003b808 move a0, s3                   |         a0 = s3;
    0x0003b80c jalr t9                       |         t9 ();
    0x0003b810 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b814 lw t9, -0x79bc(gp)            |         t9 = sym.imp.malloc;
    0x0003b818 addiu a0, v0, 1               |         a0 = v0 + 1;
    0x0003b81c jalr t9                       |         t9 ();
    0x0003b820 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b824 sw v0, (s1)                   |         *(s1) = v0;
                                             |         if (v0 == 0) {
    0x0003b828 beqz v0, 0x3b8e0              |             goto label_2;
                                             |         }
    0x0003b82c lw t9, -0x7960(gp)            |         t9 = sym.imp.strcpy
    0x0003b830 move a1, s3                   |         a1 = s3;
    0x0003b834 move a0, v0                   |         a0 = v0;
    0x0003b838 jalr t9                       |         t9 ();
    0x0003b83c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x0003b840 move v0, zero                 |     v0 = 0;
    0x0003b844 beqz s2, 0x3b890              |     
                                             |     while (s2 != 0) {
    0x0003b848 lw s3, 0x20(sp)               |         s3 = *(var_20h);
    0x0003b84c lw t9, -0x7a54(gp)            |         t9 = sym.imp.strlen;
                                             |         if (s3 == 0) {
    0x0003b850 beqz s3, 0x3b8e8              |             goto label_3;
                                             |         }
    0x0003b854 move a0, s3                   |         a0 = s3;
    0x0003b858 jalr t9                       |         t9 ();
    0x0003b85c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b860 lw t9, -0x79bc(gp)            |         t9 = sym.imp.malloc;
    0x0003b864 addiu a0, v0, 1               |         a0 = v0 + 1;
    0x0003b868 jalr t9                       |         t9 ();
    0x0003b86c lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b870 sw v0, (s2)                   |         *(s2) = v0;
                                             |         if (v0 == 0) {
    0x0003b874 beqz v0, 0x3b8c8              |             goto label_4;
                                             |         }
    0x0003b878 lw t9, -0x7960(gp)            |         t9 = sym.imp.strcpy
    0x0003b87c move a1, s3                   |         a1 = s3;
    0x0003b880 move a0, v0                   |         a0 = v0;
    0x0003b884 jalr t9                       |         t9 ();
    0x0003b888 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b88c move v0, zero                 |         v0 = 0;
                                             | label_0:
    0x0003b890 lw a0, 0x24(sp)               |         a0 = *(var_24h);
    0x0003b894 lw v1, (s0)                   |         v1 = *(s0);
    0x0003b898 lw ra, 0x3c(sp)               |         ra = *(var_3ch);
                                             |         if (a0 != v1) {
    0x0003b89c bne a0, v1, 0x3b8f4           |             goto label_5;
                                             |         }
    0x0003b8a0 lw s3, 0x38(sp)               |         s3 = *(var_38h);
    0x0003b8a4 lw s2, 0x34(sp)               |         s2 = *(var_34h);
    0x0003b8a8 lw s1, 0x30(sp)               |         s1 = *(var_30h);
    0x0003b8ac lw s0, 0x2c(sp)               |         s0 = *(var_2ch);
    0x0003b8b0 addiu sp, sp, 0x40            |         
    0x0003b8b4 jr ra                         |         return v0;
                                             | label_1:
    0x0003b8b8 sw zero, (s1)                 |         *(s1) = 0;
    0x0003b8bc bnez s2, 0x3b848              |         
                                             |     }
    0x0003b8c0 move v0, zero                 |     v0 = 0;
    0x0003b8c4 b 0x3b890                     |     goto label_0;
                                             | label_4:
    0x0003b8c8 lw t9, -0x7814(gp)            |     t9 = sym.imp.free;
                                             |     if (s1 != 0) {
    0x0003b8cc beqz s1, 0x3b8e0              |         
    0x0003b8d0 lw a0, (s1)                   |         a0 = *(s1);
    0x0003b8d4 jalr t9                       |         t9 ();
    0x0003b8d8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x0003b8dc sw zero, (s1)                 |         *(s1) = 0;
                                             |     }
                                             | label_2:
    0x0003b8e0 addiu v0, zero, 0xc           |     v0 = 0xc;
    0x0003b8e4 b 0x3b890                     |     goto label_0;
                                             | label_3:
    0x0003b8e8 sw zero, (s2)                 |     *(s2) = 0;
    0x0003b8ec move v0, zero                 |     v0 = 0;
    0x0003b8f0 b 0x3b890                     |     goto label_0;
                                             | label_5:
    0x0003b8f4 lw t9, -0x78a4(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0003b8f8 jalr t9                       |     t9 ();
    0x0003b8fc nop                           |     
                                             | }

[*] Function strcpy used 6 times fsck.ext3