[*] Binary protection state of dosfsck

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


[*] Function printf tear down of dosfsck

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/dosfsck @ 0x2e94 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00002e94 ()              | void fcn_00002e94 () {
    0x00002e94 lui gp, 2                 |     
    0x00002e98 addiu gp, gp, 0x318c      |     
    0x00002e9c addu gp, gp, t9           |     gp += t9;
    0x00002ea0 addiu sp, sp, -0x40       |     
    0x00002ea4 lw t9, -0x7ed4(gp)        |     t9 = sym.imp.__sprintf_chk
    0x00002ea8 sw s2, 0x38(sp)           |     *(var_38h) = s2;
    0x00002eac lw s2, -0x7e40(gp)        |     s2 = *((gp - 8080));
    0x00002eb0 sw s1, 0x34(sp)           |     *(var_34h) = s1;
    0x00002eb4 addiu s1, sp, 0x20        |     s1 = sp + 0x20;
    0x00002eb8 lw v0, (s2)               |     v0 = *(s2);
    0x00002ebc sw gp, 0x18(sp)           |     *(var_18h) = gp;
    0x00002ec0 move a3, a1               |     a3 = a1;
    0x00002ec4 sw s0, 0x30(sp)           |     *(var_30h) = s0;
    0x00002ec8 sw a2, 0x10(sp)           |     *(var_10h) = a2;
    0x00002ecc move s0, a0               |     s0 = a0;
    0x00002ed0 addiu a2, zero, 0xc       |     a2 = 0xc;
    0x00002ed4 addiu a1, zero, 1         |     a1 = 1;
    0x00002ed8 move a0, s1               |     a0 = s1;
    0x00002edc sw ra, 0x3c(sp)           |     *(var_3ch) = ra;
    0x00002ee0 sw v0, 0x2c(sp)           |     *(var_2ch) = v0;
    0x00002ee4 jalr t9                   |     t9 ();
    0x00002ee8 nop                       |     
    0x00002eec lw v0, 0x20(sp)           |     v0 = *(var_20h);
    0x00002ef0 lw gp, 0x18(sp)           |     gp = *(var_18h);
    0x00002ef4 lw a0, 4(s1)              |     a0 = *((s1 + 1));
    0x00002ef8 swl v0, 3(s0)             |     __asm ("swl v0, 3(s0)");
    0x00002efc swr v0, (s0)              |     __asm ("swr v0, (s0)");
    0x00002f00 swl a0, 7(s0)             |     __asm ("swl a0, 7(s0)");
    0x00002f04 swr a0, 4(s0)             |     __asm ("swr a0, 4(s0)");
    0x00002f08 lbu a3, 0x29(sp)          |     a3 = *(var_29h);
    0x00002f0c lbu a2, 0x2a(sp)          |     a2 = *(var_2ah);
    0x00002f10 lw a1, 0x2c(sp)           |     a1 = *(var_2ch);
    0x00002f14 lbu a0, 0x28(sp)          |     a0 = *(var_28h);
    0x00002f18 lw v0, (s2)               |     v0 = *(s2);
    0x00002f1c sb a0, 8(s0)              |     *((s0 + 8)) = a0;
    0x00002f20 sb a3, 9(s0)              |     *((s0 + 9)) = a3;
    0x00002f24 sb a2, 0xa(s0)            |     *((s0 + 10)) = a2;
                                         |     if (a1 == v0) {
    0x00002f28 bne a1, v0, 0x2f44        |         
    0x00002f2c lw ra, 0x3c(sp)           |         ra = *(var_3ch);
    0x00002f30 lw s2, 0x38(sp)           |         s2 = *(var_38h);
    0x00002f34 lw s1, 0x34(sp)           |         s1 = *(var_34h);
    0x00002f38 lw s0, 0x30(sp)           |         s0 = *(var_30h);
    0x00002f3c addiu sp, sp, 0x40        |         
    0x00002f40 jr ra                     |         return v0;
                                         |     }
    0x00002f44 lw t9, -0x7e50(gp)        |     t9 = sym.imp.__stack_chk_fail;
    0x00002f48 jalr t9                   |     t9 ();
    0x00002f4c nop                       |     
    0x00002f50 lui gp, 2                 |     
    0x00002f54 addiu gp, gp, 0x30d0      |     
    0x00002f58 addu gp, gp, t9           |     gp += t9;
    0x00002f5c lw v0, -0x7fc0(gp)        |     v0 = *(gp);
    0x00002f60 addiu sp, sp, -0x40       |     
    0x00002f64 sw s4, 0x28(sp)           |     *(var_28h_2) = s4;
    0x00002f68 lw s4, (v0)               |     s4 = *(v0);
    0x00002f6c sw gp, 0x10(sp)           |     *(var_10h_2) = gp;
    0x00002f70 sw s2, 0x20(sp)           |     *(var_20h_2) = s2;
    0x00002f74 sw ra, 0x3c(sp)           |     *(var_3ch_2) = ra;
    0x00002f78 sw fp, 0x38(sp)           |     *(var_38h_2) = fp;
    0x00002f7c sw s7, 0x34(sp)           |     *(var_34h_2) = s7;
    0x00002f80 sw s6, 0x30(sp)           |     *(var_30h_2) = s6;
    0x00002f84 sw s5, 0x2c(sp)           |     *(var_2ch_2) = s5;
    0x00002f88 sw s3, 0x24(sp)           |     *(var_24h) = s3;
    0x00002f8c sw s1, 0x1c(sp)           |     *(var_1ch) = s1;
    0x00002f90 sw s0, 0x18(sp)           |     *(var_18h_2) = s0;
    0x00002f94 move s2, a0               |     s2 = a0;
                                         |     if (s4 != 0) {
    0x00002f98 bnez s4, 0x3160           |         goto label_6;
                                         |     }
    0x00002f9c lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00002fa0 addiu s1, s1, -0x4520     |     s1 += -0x4520;
                                         | label_0:
    0x00002fa4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002fa8 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.strncmp;
    0x00002fac addiu a2, zero, 0xb       |     a2 = 0xb;
    0x00002fb0 addiu a1, a1, -0x4514     |     a1 += -0x4514;
    0x00002fb4 move a0, s2               |     a0 = s2;
    0x00002fb8 jalr t9                   |     t9 ();
    0x00002fbc lw gp, 0x10(sp)           |     gp = *(var_10h_2);
                                         |     if (v0 == 0) {
    0x00002fc0 beqz v0, 0x3130           |         goto label_7;
                                         |     }
    0x00002fc4 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00002fc8 lw t9, -0x7ec4(gp)        |     t9 = sym.imp.strncmp;
    0x00002fcc addiu a2, zero, 0xb       |     a2 = 0xb;
    0x00002fd0 addiu a1, a1, -0x4508     |     a1 += -0x4508;
    0x00002fd4 move a0, s2               |     a0 = s2;
    0x00002fd8 jalr t9                   |     t9 ();
    0x00002fdc lw gp, 0x10(sp)           |     gp = *(var_10h_2);
                                         |     if (v0 == 0) {
    0x00002fe0 beqz v0, 0x3130           |         goto label_7;
                                         |     }
    0x00002fe4 move s5, s2               |     s5 = s2;
    0x00002fe8 addiu s6, s2, 8           |     s6 = s2 + 8;
    0x00002fec move s0, s2               |     s0 = s2;
    0x00002ff0 move s3, zero             |     s3 = 0;
    0x00002ff4 addiu s7, zero, 0x7f      |     s7 = 0x7f;
    0x00002ff8 lbu v0, (s0)              |     v0 = *(s0);
                                         |     do {
    0x00002ffc lw t9, -0x7e84(gp)        |         t9 = sym.imp.strchr;
    0x00003000 sltiu v1, v0, 0x20        |         v1 = (v0 < 0x20) ? 1 : 0;
    0x00003004 move a1, v0               |         a1 = v0;
    0x00003008 move a0, s1               |         a0 = s1;
    0x0000300c seb a2, v0                |         __asm ("seb a2, v0");
    0x00003010 addiu s0, s0, 1           |         s0++;
                                         |         if (v1 != 0) {
    0x00003014 bnez v1, 0x3180           |             goto label_8;
                                         |         }
    0x00003018 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |         if (v0 == s7) {
    0x0000301c beq v0, s7, 0x3184        |             goto label_4;
                                         |         }
                                         |         if (a2 >= 0) {
    0x00003020 bltzl a2, 0x3028          |             
    0x00003024 addiu s3, s3, 1           |             s3++;
                                         |         }
    0x00003028 jalr t9                   |         t9 ();
    0x0000302c nop                       |         
    0x00003030 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |         if (v0 != 0) {
    0x00003034 bnez v0, 0x3180           |             goto label_8;
                                         |         }
    0x00003038 lbu v0, (s0)              |         v0 = *(s0);
    0x0000303c bnel s0, s6, 0x2ffc       |         
                                         |     } while (s0 == s6);
    0x00003040 move s0, s6               |     s0 = s6;
    0x00003044 addiu s2, s2, 0xb         |     s2 += 0xb;
    0x00003048 move s7, s6               |     s7 = s6;
    0x0000304c addiu fp, zero, 0x7f      |     fp = 0x7f;
    0x00003050 lbu v0, (s7)              |     v0 = *(s7);
                                         |     do {
    0x00003054 lw t9, -0x7e84(gp)        |         t9 = sym.imp.strchr;
    0x00003058 sltiu v1, v0, 0x20        |         v1 = (v0 < 0x20) ? 1 : 0;
    0x0000305c move a1, v0               |         a1 = v0;
    0x00003060 move a0, s1               |         a0 = s1;
    0x00003064 seb a2, v0                |         __asm ("seb a2, v0");
    0x00003068 addiu s7, s7, 1           |         s7++;
                                         |         if (v1 != 0) {
    0x0000306c bnez v1, 0x3180           |             goto label_8;
                                         |         }
    0x00003070 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |         if (v0 == fp) {
    0x00003074 beq v0, fp, 0x3184        |             goto label_4;
                                         |         }
                                         |         if (a2 >= 0) {
    0x00003078 bltzl a2, 0x3080          |             
    0x0000307c addiu s3, s3, 1           |             s3++;
                                         |         }
    0x00003080 jalr t9                   |         t9 ();
    0x00003084 nop                       |         
    0x00003088 lw gp, 0x10(sp)           |         gp = *(var_10h_2);
                                         |         if (v0 != 0) {
    0x0000308c bnez v0, 0x3180           |             goto label_8;
                                         |         }
    0x00003090 lbu v0, (s7)              |         v0 = *(s7);
    0x00003094 bnel s2, s7, 0x3054       |         
                                         |     } while (s2 == s7);
    0x00003098 addiu v1, zero, 0x20      |     v1 = 0x20;
    0x0000309c lbu a0, (s5)              |     a0 = *(s5);
                                         |     do {
    0x000030a0 addiu s5, s5, 1           |         s5++;
                                         |         if (a0 == v1) {
    0x000030a4 beq a0, v1, 0x316c        |             goto label_9;
                                         |         }
    0x000030a8 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |         if (v0 != 0) {
    0x000030ac bnez v0, 0x3134           |             goto label_10;
                                         |         }
    0x000030b0 addiu a0, zero, 0x20      |         a0 = 0x20;
                                         |         if (s5 == s6) {
    0x000030b4 beq s5, s6, 0x30d8        |             goto label_11;
                                         |         }
    0x000030b8 lbu a0, (s5)              |         a0 = *(s5);
                                         |         if (a0 == v1) {
    0x000030bc beql a0, v1, 0x316c       |             goto label_9;
                                         |         }
    0x000030c0 addiu s5, s5, 1           |         s5++;
                                         | label_2:
    0x000030c4 addiu s5, s5, 1           |         s5++;
    0x000030c8 lbu a0, (s5)              |         a0 = *(s5);
    0x000030cc bnel s5, s6, 0x30a0       |         
                                         |     } while (s5 == s6);
    0x000030d0 move v0, zero             |     v0 = 0;
                                         | label_1:
    0x000030d4 addiu a0, zero, 0x20      |     a0 = 0x20;
                                         | label_11:
    0x000030d8 lbu a1, (s0)              |     a1 = *(s0);
                                         |     do {
    0x000030dc addiu v1, s0, 1           |         v1 = s0 + 1;
                                         |         if (a1 == a0) {
    0x000030e0 beq a1, a0, 0x31b4        |             goto label_12;
                                         |         }
    0x000030e4 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |         if (v0 != 0) {
    0x000030e8 bnez v0, 0x3134           |             goto label_10;
                                         |         }
                                         |         if (v1 == s2) {
    0x000030ec beq v1, s2, 0x310c        |             goto label_3;
                                         |         }
    0x000030f0 nop                       |         
    0x000030f4 lbu v0, 1(s0)             |         v0 = *((s0 + 1));
    0x000030f8 xori v0, v0, 0x20         |         v0 ^= 0x20;
    0x000030fc sltiu v0, v0, 1           |         v0 = (v0 < 1) ? 1 : 0;
                                         | label_5:
    0x00003100 addiu s0, v1, 1           |         s0 = v1 + 1;
    0x00003104 lbu a1, (s0)              |         a1 = *(s0);
    0x00003108 bnel s2, s0, 0x30dc       |         
                                         |     } while (s2 == s0);
                                         | label_3:
    0x0000310c lw v0, -0x7fd8(gp)        |     v0 = *(gp);
                                         |     if (s4 != 0) {
    0x00003110 beqz s4, 0x311c           |         
    0x00003114 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |         if (s3 != 0) {
    0x00003118 bnez s3, 0x3184           |             goto label_4;
                                         |         }
                                         |     }
    0x0000311c lw v0, (v0)               |     v0 = *(v0);
    0x00003120 lw ra, 0x3c(sp)           |     ra = *(var_3ch_2);
                                         |     if (v0 != 0) {
    0x00003124 beqz v0, 0x3134           |         
    0x00003128 slti v0, s3, 7            |         v0 = (s3 < 7) ? 1 : 0;
    0x0000312c xori v0, v0, 1            |         v0 ^= 1;
                                         | label_7:
    0x00003130 lw ra, 0x3c(sp)           |         ra = *(var_3ch_2);
                                         |     }
                                         | label_10:
    0x00003134 lw fp, 0x38(sp)           |     fp = *(var_38h_2);
    0x00003138 lw s7, 0x34(sp)           |     s7 = *(var_34h_2);
    0x0000313c lw s6, 0x30(sp)           |     s6 = *(var_30h_2);
    0x00003140 lw s5, 0x2c(sp)           |     s5 = *(var_2ch_2);
    0x00003144 lw s4, 0x28(sp)           |     s4 = *(var_28h_2);
    0x00003148 lw s3, 0x24(sp)           |     s3 = *(var_24h);
    0x0000314c lw s2, 0x20(sp)           |     s2 = *(var_20h_2);
    0x00003150 lw s1, 0x1c(sp)           |     s1 = *(var_1ch);
    0x00003154 lw s0, 0x18(sp)           |     s0 = *(var_18h_2);
    0x00003158 addiu sp, sp, 0x40        |     
    0x0000315c jr ra                     |     return v0;
                                         | label_6:
    0x00003160 lw s1, -0x7fdc(gp)        |     s1 = *((gp - 8183));
    0x00003164 addiu s1, s1, -0x4528     |     s1 += -0x4528;
    0x00003168 b 0x2fa4                  |     goto label_0;
                                         | label_9:
    0x0000316c move v0, zero             |     v0 = 0;
                                         |     if (s5 == s6) {
    0x00003170 beq s5, s6, 0x30d4        |         goto label_1;
                                         |     }
    0x00003174 lbu v0, (s5)              |     v0 = *(s5);
    0x00003178 addiu v0, zero, 1         |     v0 = 1;
                                         |     if (v0 == v1) {
    0x0000317c beq v0, v1, 0x30c4        |         goto label_2;
                                         |     }
                                         | label_8:
    0x00003180 lw ra, 0x3c(sp)           |     ra = *(var_3ch_2);
                                         | label_4:
    0x00003184 lw fp, 0x38(sp)           |     fp = *(var_38h_2);
    0x00003188 lw s7, 0x34(sp)           |     s7 = *(var_34h_2);
    0x0000318c lw s6, 0x30(sp)           |     s6 = *(var_30h_2);
    0x00003190 lw s5, 0x2c(sp)           |     s5 = *(var_2ch_2);
    0x00003194 lw s4, 0x28(sp)           |     s4 = *(var_28h_2);
    0x00003198 lw s3, 0x24(sp)           |     s3 = *(var_24h);
    0x0000319c lw s2, 0x20(sp)           |     s2 = *(var_20h_2);
    0x000031a0 lw s1, 0x1c(sp)           |     s1 = *(var_1ch);
    0x000031a4 lw s0, 0x18(sp)           |     s0 = *(var_18h_2);
    0x000031a8 addiu v0, zero, 1         |     v0 = 1;
    0x000031ac addiu sp, sp, 0x40        |     
    0x000031b0 jr ra                     |     return v0;
                                         |     if (v1 == s2) {
                                         | label_12:
    0x000031b4 beq v1, s2, 0x310c        |         goto label_3;
                                         |     }
    0x000031b8 nop                       |     
    0x000031bc lbu v0, 1(s0)             |     v0 = *((s0 + 1));
    0x000031c0 lw ra, 0x3c(sp)           |     ra = *(var_3ch_2);
                                         |     if (v0 == a0) {
    0x000031c4 bnel v0, a0, 0x3184       |         goto label_4;
                                         |     }
    0x000031c8 addiu v0, zero, 1         |     v0 = 1;
    0x000031cc b 0x3100                  |     goto label_5;
                                         | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/dosfsck @ 0x1c20 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.read_boot ()                 | void read_boot () {
    0x00001c20 lui gp, 2                     |     
    0x00001c24 addiu gp, gp, 0x4400          |     
    0x00001c28 addu gp, gp, t9               |     gp += t9;
    0x00001c2c lw v0, -0x7e40(gp)            |     v0 = *((gp - 8080));
    0x00001c30 addiu sp, sp, -0x4a8          |     
    0x00001c34 lw t9, -0x7f70(gp)            |     t9 = sym.fs_read;
    0x00001c38 sw v0, 0x2c(sp)               |     *(var_2ch) = v0;
    0x00001c3c lw v0, (v0)                   |     v0 = *(v0);
    0x00001c40 sw s1, 0x484(sp)              |     *(var_484h) = s1;
    0x00001c44 addiu a3, sp, 0x68            |     a3 = sp + 0x68;
    0x00001c48 addiu s1, sp, 0x73            |     s1 = sp + 0x73;
    0x00001c4c sw s3, 0x48c(sp)              |     *(var_48ch) = s3;
    0x00001c50 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00001c54 sw s0, 0x480(sp)              |     *(var_480h) = s0;
    0x00001c58 sw s1, 0x30(sp)               |     *(var_30h) = s1;
    0x00001c5c sw v0, 0x47c(sp)              |     *(var_47ch) = v0;
    0x00001c60 sw ra, 0x4a4(sp)              |     *(var_4a4h) = ra;
    0x00001c64 sw fp, 0x4a0(sp)              |     *(var_4a0h) = fp;
    0x00001c68 sw s7, 0x49c(sp)              |     *(var_49ch) = s7;
    0x00001c6c sw s6, 0x498(sp)              |     *(var_498h) = s6;
    0x00001c70 sw s5, 0x494(sp)              |     *(var_494h) = s5;
    0x00001c74 sw s4, 0x490(sp)              |     *(var_490h) = s4;
    0x00001c78 sw s2, 0x488(sp)              |     *(var_488h) = s2;
    0x00001c7c sw a3, 0x40(sp)               |     *(var_40h) = a3;
    0x00001c80 move s0, a0                   |     s0 = a0;
    0x00001c84 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x00001c88 move a0, zero                 |     a0 = 0;
    0x00001c8c move a1, zero                 |     a1 = 0;
    0x00001c90 addiu s3, sp, 0x66            |     s3 = sp + 0x66;
    0x00001c94 bal 0x897c                    |     sym_fs_read ();
    0x00001c98 lbu v0, 1(s1)                 |     v0 = *((s1 + 1));
    0x00001c9c lbu v1, 0x73(sp)              |     v1 = *(var_73h);
    0x00001ca0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00001ca4 sb v1, 0x66(sp)               |     *(var_66h) = v1;
    0x00001ca8 sb v0, 1(s3)                  |     *((s3 + 1)) = v0;
    0x00001cac lhu s1, 0x66(sp)              |     s1 = *(var_66h);
    0x00001cb0 lbu v0, 0x75(sp)              |     v0 = *(var_75h);
                                             |     if (s1 == 0) {
    0x00001cb4 beqz s1, 0x2b7c               |         goto label_24;
                                             |     }
    0x00001cb8 mul v0, v0, s1                |     __asm ("mul v0, v0, s1");
    0x00001cbc sw v0, 0x38(s0)               |     *((s0 + 14)) = v0;
                                             |     if (v0 == 0) {
    0x00001cc0 beqz v0, 0x2bcc               |         goto label_25;
                                             |     }
    0x00001cc4 lbu a1, 0x78(sp)              |     a1 = *(var_78h);
    0x00001cc8 addiu v0, a1, -1              |     v0 = a1 + -1;
    0x00001ccc sltiu v0, v0, 2               |     v0 = (v0 < 2) ? 1 : 0;
    0x00001cd0 addiu v0, sp, 0x7b            |     v0 = sp + 0x7b;
                                             |     if (v0 == 0) {
    0x00001cd4 beqz v0, 0x2bbc               |         goto label_26;
                                             |     }
    0x00001cd8 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00001cdc lbu v1, 0x7b(sp)              |     v1 = *(var_7bh);
    0x00001ce0 lbu v0, 0x7c(sp)              |     v0 = *(var_7ch);
    0x00001ce4 sb v1, (s3)                   |     *(s3) = v1;
    0x00001ce8 sb v0, 1(s3)                  |     *((s3 + 1)) = v0;
    0x00001cec lhu s4, 0x66(sp)              |     s4 = *(var_66h);
    0x00001cf0 sw a1, (s0)                   |     *(s0) = a1;
                                             |     if (s4 == 0) {
    0x00001cf4 beqz s4, 0x1f7c               |         goto label_27;
                                             |     }
    0x00001cf8 lw s7, -0x7fd0(gp)            |     s7 = *(gp);
    0x00001cfc lw v0, (s7)                   |     v0 = *(s7);
    0x00001d00 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x00001d04 bnez v0, 0x1f90               |         goto label_28;
                                             |     }
                                             | label_0:
    0x00001d08 addiu a0, zero, -2            |     a0 = -2;
    0x00001d0c and a0, s4, a0                |     a0 = s4 & a0;
    0x00001d10 addiu a0, a0, -1              |     a0 += -1;
    0x00001d14 multu a0, s1                  |     __asm ("multu a0, s1");
    0x00001d18 mflo a0                       |     __asm ("mflo a0");
    0x00001d1c mfhi a1                       |     __asm ("mfhi a1");
    0x00001d20 lw t9, -0x7f6c(gp)            |     t9 = sym.fs_test;
    0x00001d24 move a2, s1                   |     a2 = s1;
    0x00001d28 bal 0x8bb4                    |     sym_fs_test ();
    0x00001d2c lhu fp, 0x7e(sp)              |     fp = *(var_7eh);
    0x00001d30 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00001d34 sw s1, 0x38(sp)               |     *(var_38h) = s1;
    0x00001d38 sw zero, 0x3c(sp)             |     *(var_3ch) = 0;
                                             |     if (fp != 0) {
    0x00001d3c bnez fp, 0x1f74               |         goto label_29;
                                             |     }
    0x00001d40 lw s2, 0x8c(sp)               |     s2 = *(var_8ch);
                                             |     do {
    0x00001d44 lbu a0, 0x78(sp)              |         a0 = *(var_78h);
    0x00001d48 lhu a1, 0x76(sp)              |         a1 = *(var_76h);
    0x00001d4c mul a2, a0, s2                |         __asm ("mul a2, a0, s2");
    0x00001d50 lbu v0, 0x79(sp)              |         v0 = *(var_79h);
    0x00001d54 multu ac1, s1, a1             |         __asm ("multu ac1, s1, a1");
    0x00001d58 sb v0, 0x66(sp)               |         *(var_66h) = v0;
    0x00001d5c lbu v0, 0x7a(sp)              |         v0 = *(var_7ah);
    0x00001d60 addu a0, a2, a1               |         a0 = a2 + a1;
    0x00001d64 multu a0, s1                  |         __asm ("multu a0, s1");
    0x00001d68 sltu a0, a0, a2               |         a0 = (a0 < a2) ? 1 : 0;
    0x00001d6c mfhi t1                       |         __asm ("mfhi t1");
    0x00001d70 sb v0, 1(s3)                  |         *((s3 + 1)) = v0;
    0x00001d74 mflo t0                       |         __asm ("mflo t0");
    0x00001d78 mul v0, a0, s1                |         __asm ("mul v0, a0, s1");
    0x00001d7c mfhi v1, ac1                  |         __asm ("mfhi v1, ac1");
    0x00001d80 lhu s5, 0x66(sp)              |         s5 = *(var_66h);
    0x00001d84 sll a2, s5, 5                 |         a2 = s5 << 5;
    0x00001d88 addu a0, v0, t1               |         a0 = v0 + t1;
    0x00001d8c mflo v0, ac1                  |         __asm ("mflo v0, ac1");
    0x00001d90 move t1, a0                   |         t1 = a0;
    0x00001d94 sw v1, 0xc(s0)                |         *((s0 + 3)) = v1;
    0x00001d98 sw t0, 0x20(s0)               |         *((s0 + 8)) = t0;
    0x00001d9c sw a0, 0x24(s0)               |         *((s0 + 9)) = a0;
    0x00001da0 sw v0, 8(s0)                  |         *((s0 + 2)) = v0;
    0x00001da4 sw s5, 0x28(s0)               |         *((s0 + 10)) = s5;
                                             |         if (a2 != 0) {
    0x00001da8 beqz a2, 0x1dd8               |             
    0x00001dac addiu a1, a2, -1              |             a1 = a2 + -1;
    0x00001db0 divu zero, a1, s1             |             __asm ("divu zero, a1, s1");
    0x00001db4 teq s1, zero, 7               |             __asm ("teq s1, zero, 7");
    0x00001db8 addiu a1, s1, -1              |             a1 = s1 + -1;
    0x00001dbc addu a1, a1, a2               |             a1 += a2;
    0x00001dc0 mfhi v1                       |             __asm ("mfhi v1");
    0x00001dc4 subu a1, a1, v1               |             __asm ("subu a1, a1, v1");
    0x00001dc8 addu a1, t0, a1               |             a1 = t0 + a1;
    0x00001dcc sltu a2, a1, t0               |             a2 = (a1 < t0) ? 1 : 0;
    0x00001dd0 addu t1, a2, a0               |             t1 = a2 + a0;
    0x00001dd4 move t0, a1                   |             t0 = a1;
                                             |         }
    0x00001dd8 multu s1, s4                  |         __asm ("multu s1, s4");
    0x00001ddc mflo a2                       |         __asm ("mflo a2");
    0x00001de0 mfhi a3                       |         __asm ("mfhi a3");
    0x00001de4 lw t9, -0x7f68(gp)            |         t9 = *(gp);
    0x00001de8 sw t0, 0x30(s0)               |         *((s0 + 12)) = t0;
    0x00001dec sw t1, 0x34(s0)               |         *((s0 + 13)) = t1;
    0x00001df0 subu a0, a2, t0               |         __asm ("subu a0, a2, t0");
    0x00001df4 sltu a1, a2, a0               |         a1 = (a2 < a0) ? 1 : 0;
    0x00001df8 subu t2, a3, t1               |         __asm ("subu t2, a3, t1");
    0x00001dfc lw a2, 0x38(s0)               |         a2 = *((s0 + 14));
    0x00001e00 subu a1, t2, a1               |         __asm ("subu a1, t2, a1");
    0x00001e04 move a3, zero                 |         a3 = 0;
    0x00001e08 bal 0xa520                    |         fcn_0000a520 ();
    0x00001e0c move a0, zero                 |         a0 = 0;
    0x00001e10 move a1, zero                 |         a1 = 0;
    0x00001e14 addiu v1, zero, -1            |         v1 = -1;
    0x00001e18 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00001e1c move s6, v0                   |         s6 = v0;
    0x00001e20 sw v0, 0x3c(s0)               |         *((s0 + 15)) = v0;
    0x00001e24 sw zero, 0x1c(s0)             |         *((s0 + 7)) = 0;
    0x00001e28 sw a0, 0x40(s0)               |         *((s0 + 16)) = a0;
    0x00001e2c sw a1, 0x44(s0)               |         *((s0 + 17)) = a1;
    0x00001e30 sw v1, 0x48(s0)               |         *((s0 + 18)) = v1;
                                             |         if (fp != 0) {
    0x00001e34 bnez fp, 0x1fa4               |             goto label_30;
                                             |         }
    0x00001e38 lw v1, 0x8c(sp)               |         v1 = *(var_8ch);
    0x00001e3c lw v1, -0x7fc0(gp)            |         v1 = *(gp);
                                             |         if (v1 == 0) {
    0x00001e40 beqz v1, 0x1fa8               |             goto label_31;
                                             |         }
    0x00001e44 lw v0, 0x94(sp)               |         v0 = *(var_94h);
    0x00001e48 addiu v1, zero, 0x20          |         v1 = 0x20;
    0x00001e4c sw v1, 0x14(s0)               |         *((s0 + 5)) = v1;
    0x00001e50 sw v0, 0x1c(s0)               |         *((s0 + 7)) = v0;
                                             |         if (v0 == 0) {
    0x00001e54 beqz v0, 0x2490               |             goto label_32;
                                             |         }
    0x00001e58 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
                                             |         if (s5 != 0) {
    0x00001e5c bnez s5, 0x2acc               |             goto label_33;
                                             |         }
                                             | label_20:
    0x00001e60 lhu a0, 0x9a(sp)              |         a0 = *(var_9ah);
    0x00001e64 mul a0, a0, s1                |         __asm ("mul a0, a0, s1");
    0x00001e68 sra a1, a0, 0x1f              |         a1 = a0 >> 0x1f;
    0x00001e6c sw a0, 0x50(s0)               |         *((s0 + 20)) = a0;
    0x00001e70 sw a1, 0x54(s0)               |         *((s0 + 21)) = a1;
                                             |         if (a0 != 0) {
    0x00001e74 bnez a0, 0x24c8               |             goto label_34;
                                             |         }
    0x00001e78 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x00001e7c lw t9, -0x7e6c(gp)            |         t9 = sym.imp.puts;
    0x00001e80 addiu a0, a0, -0x4ccc         |         a0 += -0x4ccc;
    0x00001e84 jalr t9                       |         t9 ();
    0x00001e88 lhu v0, 0x76(sp)              |         v0 = *(var_76h);
    0x00001e8c sltiu v0, v0, 3               |         v0 = (v0 < 3) ? 1 : 0;
    0x00001e90 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != 0) {
    0x00001e94 bnez v0, 0x2ae0               |             goto label_35;
                                             |         }
    0x00001e98 lw s4, -0x7fd8(gp)            |         s4 = *(gp);
    0x00001e9c lw v0, (s4)                   |         v0 = *(s4);
    0x00001ea0 lw t9, -0x7e6c(gp)            |         t9 = sym.imp.puts;
                                             |         if (v0 != 0) {
    0x00001ea4 bnez v0, 0x286c               |             goto label_36;
                                             |         }
    0x00001ea8 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x00001eac addiu a0, a0, -0x4c5c         |         a0 += -0x4c5c;
    0x00001eb0 jalr t9                       |         t9 ();
    0x00001eb4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             | label_13:
    0x00001eb8 lw v0, (s4)                   |         v0 = *(s4);
    0x00001ebc lhu v0, 0x76(sp)              |         v0 = *(var_76h);
                                             |         if (v0 != 0) {
    0x00001ec0 beqz v0, 0x1eec               |             
    0x00001ec4 lw a1, -0x7fdc(gp)            |             a1 = *((gp - 8183));
    0x00001ec8 lw a0, -0x7fdc(gp)            |             a0 = *((gp - 8183));
    0x00001ecc lw t9, -0x7f8c(gp)            |             t9 = sym.get_key;
    0x00001ed0 addiu a1, a1, -0x4c38         |             a1 += -0x4c38;
    0x00001ed4 addiu a0, a0, -0x4c34         |             a0 += -0x4c34;
    0x00001ed8 bal 0x6520                    |             sym_get_key ();
    0x00001edc addiu v1, zero, 0x31          |             v1 = 0x31;
    0x00001ee0 lw gp, 0x20(sp)               |             gp = *(var_20h);
                                             |             if (v0 != v1) {
    0x00001ee4 bne v0, v1, 0x2500            |                 goto label_19;
                                             |             }
    0x00001ee8 lhu v0, 0x76(sp)              |             v0 = *(var_76h);
                                             |         }
    0x00001eec sltiu a0, v0, 7               |         a0 = (v0 < 7) ? 1 : 0;
    0x00001ef0 lhu v1, 0x98(sp)              |         v1 = *(var_98h);
                                             |         if (a0 != 0) {
    0x00001ef4 bnez a0, 0x28bc               |             goto label_37;
                                             |         }
    0x00001ef8 addiu a0, zero, 6             |         a0 = 6;
    0x00001efc addiu s4, zero, 6             |         s4 = 6;
                                             |         if (v1 == a0) {
    0x00001f00 beq v1, a0, 0x28bc            |             goto label_37;
                                             |         }
    0x00001f04 addiu v1, zero, 6             |         v1 = 6;
                                             | label_16:
    0x00001f08 mul v0, s1, s4                |         __asm ("mul v0, s1, s4");
    0x00001f0c lw t9, -0x7f64(gp)            |         t9 = sym.fs_write;
    0x00001f10 lw a3, 0x40(sp)               |         a3 = *(var_40h);
    0x00001f14 sh v1, 0x9a(sp)               |         *(var_9ah) = v1;
    0x00001f18 addiu a2, zero, 0x200         |         a2 = 0x200;
    0x00001f1c sra v1, v0, 0x1f              |         v1 = v0 >> 0x1f;
    0x00001f20 move a0, v0                   |         a0 = v0;
    0x00001f24 move a1, v1                   |         a1 = v1;
    0x00001f28 sw v0, 0x50(s0)               |         *((s0 + 20)) = v0;
    0x00001f2c sw v1, 0x54(s0)               |         *((s0 + 21)) = v1;
    0x00001f30 bal 0x8c88                    |         sym_fs_write ();
    0x00001f34 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00001f38 addiu a0, zero, 0x32          |         a0 = 0x32;
    0x00001f3c move a1, zero                 |         a1 = 0;
    0x00001f40 lw t9, -0x7f64(gp)            |         t9 = sym.fs_write;
    0x00001f44 addiu a3, sp, 0x9a            |         a3 = sp + 0x9a;
    0x00001f48 addiu a2, zero, 2             |         a2 = 2;
    0x00001f4c bal 0x8c88                    |         sym_fs_write ();
    0x00001f50 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00001f54 move a2, s4                   |         a2 = s4;
    0x00001f58 addiu a0, zero, 1             |         a0 = 1;
    0x00001f5c lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00001f60 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x00001f64 addiu a1, a1, -0x4c30         |         a1 += -0x4c30;
    0x00001f68 jalr t9                       |         t9 ();
    0x00001f6c lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x00001f70 b 0x2500                      |         goto label_19;
                                             | label_29:
    0x00001f74 move s2, fp                   |         s2 = fp;
    0x00001f78 b 0x1d44                      |         
                                             |     } while (1);
                                             | label_27:
    0x00001f7c lw s7, -0x7fd0(gp)            |     s7 = *(gp);
    0x00001f80 lw v0, (s7)                   |     v0 = *(s7);
    0x00001f84 lw s4, 0x88(sp)               |     s4 = *(var_88h);
                                             |     if (v0 == 0) {
    0x00001f88 beqz v0, 0x1d08               |         goto label_0;
                                             |     }
    0x00001f8c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             | label_28:
    0x00001f90 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00001f94 addiu a0, a0, -0x4dd4         |     a0 += -0x4dd4;
    0x00001f98 jalr t9                       |     t9 ();
    0x00001f9c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00001fa0 b 0x1d08                      |     goto label_0;
                                             | label_30:
    0x00001fa4 lw v1, -0x7fc0(gp)            |     v1 = *(gp);
                                             | label_31:
    0x00001fa8 lw v1, (v1)                   |     v1 = *(v1);
    0x00001fac mul s2, s2, s1                |     __asm ("mul s2, s2, s1");
                                             |     if (v1 != 0) {
    0x00001fb0 bnez v1, 0x20a8               |         goto label_38;
                                             |     }
    0x00001fb4 sltiu v0, v0, 0xff5           |     v0 = (v0 < 0xff5) ? 1 : 0;
    0x00001fb8 addiu v1, zero, 0xc           |     v1 = 0xc;
    0x00001fbc addiu a2, zero, 0x10          |     a2 = 0x10;
                                             |     if (v0 == 0) {
    0x00001fc0 movn a2, v1, v0               |         a2 = v1;
                                             |     }
    0x00001fc4 move v0, a2                   |     v0 = a2;
    0x00001fc8 sw a2, 0x14(s0)               |     *((s0 + 5)) = a2;
                                             | label_5:
    0x00001fcc sll a0, s2, 3                 |     a0 = s2 << 3;
                                             | label_1:
    0x00001fd0 lw t9, -0x7f60(gp)            |     t9 = *(gp);
    0x00001fd4 sw v0, 0x18(s0)               |     *((s0 + 6)) = v0;
    0x00001fd8 sw s2, 0x10(s0)               |     *((s0 + 4)) = s2;
    0x00001fdc move a3, zero                 |     a3 = 0;
    0x00001fe0 srl a1, s2, 0x1d              |     a1 = s2 >> 0x1d;
    0x00001fe4 bal 0xa9c0                    |     fcn_0000a9c0 ();
    0x00001fe8 addiu a2, v0, -2              |     a2 = v0 + -2;
    0x00001fec sltu v0, a2, v0               |     v0 = (a2 < v0) ? 1 : 0;
    0x00001ff0 addiu v1, v1, -1              |     v1 += -1;
    0x00001ff4 addu v0, v0, v1               |     v0 += v1;
    0x00001ff8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x00001ffc beqz v0, 0x2b58               |         goto label_39;
                                             |     }
    0x00002000 lw a1, 0x28(s0)               |     a1 = *((s0 + 10));
                                             | label_23:
    0x00002004 andi v0, a1, 0xf              |     v0 = a1 & 0xf;
                                             |     if (a1 != 0) {
    0x00002008 bnez a1, 0x2090               |         goto label_40;
                                             |     }
    0x0000200c lw v0, 0x1c(s0)               |     v0 = *((s0 + 7));
    0x00002010 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     if (v0 == 0) {
    0x00002014 beqz v0, 0x2bdc               |         goto label_41;
                                             |     }
    0x00002018 andi v0, s1, 0x1ff            |     v0 = s1 & 0x1ff;
                                             |     do {
    0x0000201c lw s2, -0x7fc0(gp)            |         s2 = *(gp);
                                             |         if (v0 != 0) {
    0x00002020 bnez v0, 0x2b8c               |             goto label_42;
                                             |         }
    0x00002024 lw v0, (s2)                   |         v0 = *(s2);
    0x00002028 lw v0, (s7)                   |         v0 = *(s7);
                                             |         if (v0 != 0) {
    0x0000202c bnel v0, zero, 0x2048         |             
    0x00002030 lhu v0, 0x80(sp)              |             v0 = *(var_80h);
    0x00002034 lhu v0, 0x82(sp)              |             v0 = *(var_82h);
                                             |             if (v0 == 0) {
    0x00002038 beqz v0, 0x2ba0               |                 goto label_43;
                                             |             }
    0x0000203c lw a0, -0x7fdc(gp)            |             a0 = *((gp - 8183));
                                             |             if (v0 == 0) {
    0x00002040 beqz v0, 0x2ba4               |                 goto label_44;
                                             |             }
    0x00002044 lw v0, (s7)                   |             v0 = *(s7);
                                             |         }
    0x00002048 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
                                             |         if (v0 != 0) {
    0x0000204c bnez v0, 0x2128               |             goto label_45;
                                             |         }
                                             | label_2:
    0x00002050 lw v0, 0x2c(sp)               |         v0 = *(var_2ch);
    0x00002054 lw v1, 0x47c(sp)              |         v1 = *(var_47ch);
    0x00002058 lw v0, (v0)                   |         v0 = *(v0);
    0x0000205c lw ra, 0x4a4(sp)              |         ra = *(var_4a4h);
                                             |         if (v1 != v0) {
    0x00002060 bne v1, v0, 0x2bb0            |             goto label_46;
                                             |         }
    0x00002064 lw fp, 0x4a0(sp)              |         fp = *(var_4a0h);
    0x00002068 lw s7, 0x49c(sp)              |         s7 = *(var_49ch);
    0x0000206c lw s6, 0x498(sp)              |         s6 = *(var_498h);
    0x00002070 lw s5, 0x494(sp)              |         s5 = *(var_494h);
    0x00002074 lw s4, 0x490(sp)              |         s4 = *(var_490h);
    0x00002078 lw s3, 0x48c(sp)              |         s3 = *(var_48ch);
    0x0000207c lw s2, 0x488(sp)              |         s2 = *(var_488h);
    0x00002080 lw s1, 0x484(sp)              |         s1 = *(var_484h);
    0x00002084 lw s0, 0x480(sp)              |         s0 = *(var_480h);
    0x00002088 addiu sp, sp, 0x4a8           |         
    0x0000208c jr ra                         |         return v0;
                                             | label_40:
    0x00002090 andi v0, s1, 0x1ff            |         v0 = s1 & 0x1ff;
    0x00002094 beqz v0, 0x201c               |         
                                             |     } while (v0 == 0);
    0x00002098 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000209c lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x000020a0 addiu a0, a0, -0x4950         |     a0 += -0x4950;
    0x000020a4 bal 0x62a0                    |     sym_die ();
                                             | label_38:
    0x000020a8 sll a0, s2, 3                 |     a0 = s2 << 3;
    0x000020ac srl v1, a0, 4                 |     v1 = a0 >> 4;
    0x000020b0 addiu v0, v0, 2               |     v0 += 2;
    0x000020b4 sltu v0, v1, v0               |     v0 = (v1 < v0) ? 1 : 0;
    0x000020b8 addiu v1, zero, 0x10          |     v1 = 0x10;
    0x000020bc sw v1, 0x14(s0)               |     *((s0 + 5)) = v1;
                                             |     if (v0 != 0) {
    0x000020c0 bnez v0, 0x2118               |         goto label_47;
                                             |     }
    0x000020c4 lw v0, -0x7f58(gp)            |     v0 = *(gp);
    0x000020c8 addiu v1, zero, 2             |     v1 = 2;
    0x000020cc lw v0, (v0)                   |     v0 = *(v0);
    0x000020d0 addiu v1, zero, 1             |     v1 = 1;
                                             |     if (v0 == v1) {
    0x000020d4 beq v0, v1, 0x2118            |         goto label_47;
                                             |     }
    0x000020d8 addiu v1, zero, 7             |     v1 = 7;
                                             |     if (v0 == v1) {
    0x000020dc beq v0, v1, 0x20f4            |         goto label_48;
                                             |     }
                                             |     if (v0 == v1) {
    0x000020e0 beql v0, v1, 0x20f8           |         goto label_49;
                                             |     }
    0x000020e4 addiu v0, zero, 0x2d0         |     v0 = aav.0x000002d0;
    0x000020e8 addiu a2, zero, 0x10          |     a2 = 0x10;
                                             |     do {
    0x000020ec addiu v0, zero, 0x10          |         v0 = 0x10;
    0x000020f0 b 0x1fd0                      |         goto label_1;
                                             | label_48:
    0x000020f4 addiu v0, zero, 0x2d0         |         v0 = aav.0x000002d0;
                                             | label_49:
    0x000020f8 addiu v0, zero, 0xc           |         v0 = 0xc;
                                             |         if (s4 == v0) {
    0x000020fc beq s4, v0, 0x211c            |             goto label_50;
                                             |         }
    0x00002100 addiu v0, zero, 0x5a0         |         v0 = 0x5a0;
    0x00002104 addiu v0, zero, 0xc           |         v0 = 0xc;
                                             |         if (s4 == v0) {
    0x00002108 beq s4, v0, 0x211c            |             goto label_50;
                                             |         }
    0x0000210c addiu v0, zero, 0xb40         |         v0 = 0xb40;
    0x00002110 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x00002114 bnel s4, v0, 0x20ec           |         
                                             |     } while (s4 == v0);
                                             | label_47:
    0x00002118 addiu v0, zero, 0xc           |     v0 = 0xc;
                                             | label_50:
    0x0000211c sw v0, 0x14(s0)               |     *((s0 + 5)) = v0;
    0x00002120 addiu a2, zero, 0xc           |     a2 = 0xc;
    0x00002124 b 0x1fd0                      |     goto label_1;
                                             | label_45:
    0x00002128 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x0000212c addiu a0, a0, -0x4894         |     a0 += -0x4894;
    0x00002130 jalr t9                       |     t9 ();
    0x00002134 lw v0, (s2)                   |     v0 = *(s2);
    0x00002138 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x0000213c beqz v0, 0x2450               |         goto label_51;
                                             |     }
    0x00002140 lbu v0, 0x71(sp)              |     v0 = *(var_71h);
    0x00002144 lbu v1, 0x72(sp)              |     v1 = *(var_72h);
    0x00002148 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000214c sll v1, v1, 0x10              |     v1 <<= 0x10;
    0x00002150 lbu a2, 0x70(sp)              |     a2 = *(var_70h);
    0x00002154 sll v0, v0, 8                 |     v0 <<= 8;
    0x00002158 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x0000215c or v0, v0, v1                 |     v0 |= v1;
    0x00002160 or a2, v0, a2                 |     a2 = v0 | a2;
    0x00002164 addiu a1, a1, -0x486c         |     a1 += -0x486c;
    0x00002168 addiu a0, zero, 1             |     a0 = 1;
    0x0000216c jalr t9                       |     t9 ();
    0x00002170 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_3:
    0x00002174 lbu a2, 0x7d(sp)              |     a2 = *(var_7dh);
    0x00002178 addiu v0, zero, 0xf0          |     v0 = 0xf0;
    0x0000217c addiu a0, zero, 0xf8          |     a0 = 0xf8;
                                             |     if (a2 == v0) {
    0x00002180 beq a2, v0, 0x2b24            |         goto label_52;
                                             |     }
    0x00002184 lw a1, -0x7f78(gp)            |     a1 = *((gp - 8158));
                                             |     /* section..data.rel.ro */
    0x00002188 addiu a1, a1, -0x2048         |     a1 += -0x2048;
    0x0000218c move v1, a1                   |     v1 = a1;
    0x00002190 addiu v0, zero, 1             |     v0 = 1;
    0x00002194 addiu a3, zero, 9             |     a3 = 9;
    0x00002198 b 0x21a0                      |     
                                             |     while (v0 != a3) {
    0x0000219c lbu a0, 8(v1)                 |         a0 = *((v1 + 8));
                                             |         if (a2 == a0) {
    0x000021a0 beql a2, a0, 0x2838           |             goto label_53;
                                             |         }
    0x000021a4 sll v0, v0, 3                 |         v0 <<= 3;
    0x000021a8 addiu v0, v0, 1               |         v0++;
    0x000021ac addiu v1, v1, 8               |         v1 += 8;
    0x000021b0 bne v0, a3, 0x219c            |         
                                             |     }
    0x000021b4 lw a3, -0x7fdc(gp)            |     a3 = *((gp - 8183));
    0x000021b8 addiu a3, a3, -0x4e50         |     a3 += -0x4e50;
                                             | label_10:
    0x000021bc lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000021c0 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000021c4 addiu a1, a1, -0x4858         |     a1 += -0x4858;
    0x000021c8 addiu a0, zero, 1             |     a0 = 1;
    0x000021cc jalr t9                       |     t9 ();
    0x000021d0 lw v0, 0x30(sp)               |     v0 = *(var_30h);
    0x000021d4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000021d8 lbu v1, 0x73(sp)              |     v1 = *(var_73h);
    0x000021dc lbu v0, 1(v0)                 |     v0 = *((v0 + 1));
    0x000021e0 sb v1, 0x66(sp)               |     *(var_66h) = v1;
    0x000021e4 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000021e8 sb v0, 1(s3)                  |     *((s3 + 1)) = v0;
    0x000021ec lhu a2, 0x66(sp)              |     a2 = *(var_66h);
    0x000021f0 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000021f4 addiu a1, a1, -0x4840         |     a1 += -0x4840;
    0x000021f8 addiu a0, zero, 1             |     a0 = 1;
    0x000021fc jalr t9                       |     t9 ();
    0x00002200 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002204 lw a2, 0x38(s0)               |     a2 = *((s0 + 14));
    0x00002208 addiu a0, zero, 1             |     a0 = 1;
    0x0000220c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002210 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002214 addiu a1, a1, -0x4820         |     a1 += -0x4820;
    0x00002218 jalr t9                       |     t9 ();
    0x0000221c lhu a2, 0x76(sp)              |     a2 = *(var_76h);
    0x00002220 addiu v0, zero, 1             |     v0 = 1;
    0x00002224 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a2 == v0) {
    0x00002228 beq a2, v0, 0x282c            |         goto label_54;
                                             |     }
    0x0000222c lw a3, -0x7fdc(gp)            |     a3 = *((gp - 8183));
    0x00002230 addiu a3, a3, -0x4e44         |     a3 += -0x4e44;
                                             | label_9:
    0x00002234 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002238 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x0000223c addiu a1, a1, -0x4808         |     a1 += -0x4808;
    0x00002240 addiu a0, zero, 1             |     a0 = 1;
    0x00002244 jalr t9                       |     t9 ();
    0x00002248 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000224c lw s4, 8(s0)                  |     s4 = *((s0 + 2));
    0x00002250 lw s5, 0xc(s0)                |     s5 = *((s0 + 3));
    0x00002254 lw t9, -0x7f60(gp)            |     t9 = *(gp);
    0x00002258 move a0, s4                   |     a0 = s4;
    0x0000225c move a1, s5                   |     a1 = s5;
    0x00002260 move a2, s1                   |     a2 = s1;
    0x00002264 move a3, zero                 |     a3 = 0;
    0x00002268 bal 0xa9c0                    |     fcn_0000a9c0 ();
    0x0000226c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002270 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00002274 move a2, s4                   |     a2 = s4;
    0x00002278 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x0000227c lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002280 move a3, s5                   |     a3 = s5;
    0x00002284 addiu a1, a1, -0x47f0         |     a1 += -0x47f0;
    0x00002288 addiu a0, zero, 1             |     a0 = 1;
    0x0000228c sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00002290 jalr t9                       |     t9 ();
    0x00002294 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002298 lw a3, 0x14(s0)               |     a3 = *((s0 + 5));
    0x0000229c lbu a2, 0x78(sp)              |     a2 = *(var_78h);
    0x000022a0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000022a4 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000022a8 addiu a1, a1, -0x47c0         |     a1 += -0x47c0;
    0x000022ac addiu a0, zero, 1             |     a0 = 1;
    0x000022b0 jalr t9                       |     t9 ();
    0x000022b4 lw a2, 0x10(s0)               |     a2 = *((s0 + 4));
    0x000022b8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000022bc divu zero, a2, s1             |     __asm ("divu zero, a2, s1");
    0x000022c0 teq s1, zero, 7               |     __asm ("teq s1, zero, 7");
    0x000022c4 addiu a0, zero, 1             |     a0 = 1;
    0x000022c8 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000022cc lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000022d0 addiu a1, a1, -0x47a4         |     a1 += -0x47a4;
    0x000022d4 mflo a3                       |     __asm ("mflo a3");
    0x000022d8 jalr t9                       |     t9 ();
    0x000022dc lw a2, 0x1c(s0)               |     a2 = *((s0 + 7));
    0x000022e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (a2 != 0) {
    0x000022e4 bnez a2, 0x24ac               |         goto label_55;
                                             |     }
    0x000022e8 lw s4, 0x20(s0)               |     s4 = *((s0 + 8));
    0x000022ec lw s5, 0x24(s0)               |     s5 = *((s0 + 9));
    0x000022f0 lw t9, -0x7f60(gp)            |     t9 = *(gp);
    0x000022f4 move a0, s4                   |     a0 = s4;
    0x000022f8 move a1, s5                   |     a1 = s5;
    0x000022fc move a2, s1                   |     a2 = s1;
    0x00002300 move a3, zero                 |     a3 = 0;
    0x00002304 bal 0xa9c0                    |     fcn_0000a9c0 ();
    0x00002308 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000230c move a2, s4                   |     a2 = s4;
    0x00002310 move a3, s5                   |     a3 = s5;
    0x00002314 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002318 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x0000231c sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00002320 addiu a1, a1, -0x4780         |     a1 += -0x4780;
    0x00002324 addiu a0, zero, 1             |     a0 = 1;
    0x00002328 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x0000232c jalr t9                       |     t9 ();
    0x00002330 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002334 lw a2, 0x28(s0)               |     a2 = *((s0 + 10));
    0x00002338 addiu a0, zero, 1             |     a0 = 1;
    0x0000233c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002340 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002344 addiu a1, a1, -0x474c         |     a1 += -0x474c;
    0x00002348 jalr t9                       |     t9 ();
    0x0000234c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_4:
    0x00002350 lw s4, 0x30(s0)               |     s4 = *((s0 + 12));
    0x00002354 lw s5, 0x34(s0)               |     s5 = *((s0 + 13));
    0x00002358 lw t9, -0x7f60(gp)            |     t9 = *(gp);
    0x0000235c move a0, s4                   |     a0 = s4;
    0x00002360 move a1, s5                   |     a1 = s5;
    0x00002364 move a2, s1                   |     a2 = s1;
    0x00002368 move a3, zero                 |     a3 = 0;
    0x0000236c bal 0xa9c0                    |     fcn_0000a9c0 ();
    0x00002370 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002374 move a3, s5                   |     a3 = s5;
    0x00002378 move a2, s4                   |     a2 = s4;
    0x0000237c lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002380 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002384 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x00002388 addiu a1, a1, -0x46f4         |     a1 += -0x46f4;
    0x0000238c addiu a0, zero, 1             |     a0 = 1;
    0x00002390 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x00002394 jalr t9                       |     t9 ();
    0x00002398 lw a2, 0x3c(s0)               |     a2 = *((s0 + 15));
    0x0000239c lw v0, 0x38(s0)               |     v0 = *((s0 + 14));
    0x000023a0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000023a4 multu v0, a2                  |     __asm ("multu v0, a2");
    0x000023a8 mflo v0                       |     __asm ("mflo v0");
    0x000023ac mfhi v1                       |     __asm ("mfhi v1");
    0x000023b0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000023b4 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000023b8 addiu a1, a1, -0x46c4         |     a1 += -0x46c4;
    0x000023bc addiu a0, zero, 1             |     a0 = 1;
    0x000023c0 sw v1, 0x14(sp)               |     *(var_14h) = v1;
    0x000023c4 sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x000023c8 jalr t9                       |     t9 ();
    0x000023cc lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000023d0 lhu a3, 0x82(sp)              |     a3 = *(var_82h);
    0x000023d4 lhu a2, 0x80(sp)              |     a2 = *(var_80h);
    0x000023d8 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000023dc lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000023e0 addiu a1, a1, -0x46a0         |     a1 += -0x46a0;
    0x000023e4 addiu a0, zero, 1             |     a0 = 1;
    0x000023e8 jalr t9                       |     t9 ();
    0x000023ec lw v0, (s2)                   |     v0 = *(s2);
    0x000023f0 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == 0) {
    0x000023f4 beqz v0, 0x24a4               |         goto label_56;
                                             |     }
    0x000023f8 lhu a2, 0x84(sp)              |     a2 = *(var_84h);
                                             |     do {
    0x000023fc lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00002400 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x00002404 addiu a1, a1, -0x4684         |         a1 += -0x4684;
    0x00002408 addiu a0, zero, 1             |         a0 = 1;
    0x0000240c jalr t9                       |         t9 ();
    0x00002410 lw v0, 0x34(sp)               |         v0 = *(var_34h);
    0x00002414 lbu v1, 0x7b(sp)              |         v1 = *(var_7bh);
    0x00002418 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000241c lbu v0, 1(v0)                 |         v0 = *((v0 + 1));
    0x00002420 sb v1, 0x66(sp)               |         *(var_66h) = v1;
    0x00002424 sb v0, 1(s3)                  |         *((s3 + 1)) = v0;
    0x00002428 lhu a2, 0x66(sp)              |         a2 = *(var_66h);
                                             |         if (a2 != 0) {
    0x0000242c beql a2, zero, 0x2434         |             
    0x00002430 lw a2, 0x88(sp)               |             a2 = *(var_88h);
                                             |         }
    0x00002434 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00002438 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x0000243c addiu a1, a1, -0x466c         |         a1 += -0x466c;
    0x00002440 addiu a0, zero, 1             |         a0 = 1;
    0x00002444 jalr t9                       |         t9 ();
    0x00002448 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000244c b 0x2050                      |         goto label_2;
                                             | label_51:
    0x00002450 lw t9, -0x7eac(gp)            |         t9 = sym.imp.strncpy;
    0x00002454 addiu v1, sp, 0x468           |         v1 = sp + 0x468;
    0x00002458 move a0, v1                   |         a0 = v1;
    0x0000245c addiu a2, zero, 8             |         a2 = 8;
    0x00002460 addiu a1, sp, 0x6b            |         a1 = sp + 0x6b;
    0x00002464 jalr t9                       |         t9 ();
    0x00002468 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000246c move a2, v0                   |         a2 = v0;
    0x00002470 addiu a0, zero, 1             |         a0 = 1;
    0x00002474 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00002478 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x0000247c addiu a1, a1, -0x487c         |         a1 += -0x487c;
    0x00002480 sb zero, 0x470(sp)            |         *(var_470h) = 0;
    0x00002484 jalr t9                       |         t9 ();
    0x00002488 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000248c b 0x2174                      |         goto label_3;
                                             | label_32:
    0x00002490 lw t9, -0x7f5c(gp)            |         t9 = sym.die;
                                             |         if (s5 != 0) {
    0x00002494 bnez s5, 0x2ab4               |             goto label_57;
                                             |         }
    0x00002498 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x0000249c addiu a0, a0, -0x4d54         |         a0 += -0x4d54;
    0x000024a0 bal 0x62a0                    |         sym_die ();
                                             | label_56:
    0x000024a4 lw a2, 0x84(sp)               |         a2 = *(var_84h);
    0x000024a8 b 0x23fc                      |         
                                             |     } while (1);
                                             | label_55:
    0x000024ac lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000024b0 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000024b4 addiu a1, a1, -0x472c         |     a1 += -0x472c;
    0x000024b8 addiu a0, zero, 1             |     a0 = 1;
    0x000024bc jalr t9                       |     t9 ();
    0x000024c0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000024c4 b 0x2350                      |     goto label_4;
                                             | label_34:
    0x000024c8 lw t9, -0x7f70(gp)            |     t9 = sym.fs_read;
    0x000024cc addiu s4, sp, 0x268           |     s4 = sp + aav.0x00000268;
    0x000024d0 move a3, s4                   |     a3 = s4;
    0x000024d4 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x000024d8 sw s4, 0x58(sp)               |     *(var_58h) = s4;
    0x000024dc bal 0x897c                    |     sym_fs_read ();
    0x000024e0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000024e4 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x000024e8 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x000024ec lw t9, -0x7e48(gp)            |     t9 = sym.imp.memcmp;
    0x000024f0 move a1, s4                   |     a1 = s4;
    0x000024f4 jalr t9                       |     t9 ();
    0x000024f8 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x000024fc bnez v0, 0x28d8               |         goto label_58;
                                             |     }
                                             | label_19:
    0x00002500 lhu a0, 0x98(sp)              |     a0 = *(var_98h);
                                             |     if (a0 == 0) {
                                             | label_18:
    0x00002504 beql a0, zero, 0x2708         |         goto label_59;
                                             |     }
    0x00002508 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000250c addiu v0, sp, 0x268           |     v0 = sp + aav.0x00000268;
    0x00002510 sw v0, 0x58(sp)               |     *(var_58h) = v0;
                                             | label_8:
    0x00002514 mul a0, a0, s1                |     __asm ("mul a0, a0, s1");
    0x00002518 lw t9, -0x7f70(gp)            |     t9 = sym.fs_read;
    0x0000251c lw a3, 0x58(sp)               |     a3 = *(var_58h);
    0x00002520 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x00002524 sra a1, a0, 0x1f              |     a1 = a0 >> 0x1f;
    0x00002528 sw a0, 0x40(s0)               |     *((s0 + 16)) = a0;
    0x0000252c sw a1, 0x44(s0)               |     *((s0 + 17)) = a1;
    0x00002530 bal 0x897c                    |     sym_fs_read ();
    0x00002534 lui v0, 0x4161                |     v0 = 0x41610000;
    0x00002538 lw v1, 0x268(sp)              |     v1 = *(var_268h);
    0x0000253c addiu v0, v0, 0x5252          |     v0 += 0x5252;
    0x00002540 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v1 == v0) {
    0x00002544 bne v1, v0, 0x255c            |         
    0x00002548 lui v0, 0x6141                |         v0 = 0x61410000;
    0x0000254c lw v1, 0x44c(sp)              |         v1 = *(var_44ch);
    0x00002550 addiu v0, v0, 0x7272          |         v0 += 0x7272;
    0x00002554 lhu v1, 0x466(sp)             |         v1 = *(var_466h);
                                             |         if (v1 == v0) {
    0x00002558 beq v1, v0, 0x2880            |             goto label_60;
                                             |         }
                                             |     }
    0x0000255c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             | label_14:
    0x00002560 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00002564 addiu a0, a0, -0x4a7c         |     a0 += -0x4a7c;
    0x00002568 jalr t9                       |     t9 ();
    0x0000256c lui v0, 0x4161                |     v0 = 0x41610000;
    0x00002570 lw v1, 0x268(sp)              |     v1 = *(var_268h);
    0x00002574 addiu v0, v0, 0x5252          |     v0 += 0x5252;
    0x00002578 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v1 != v0) {
    0x0000257c beq v1, v0, 0x25a8            |         
    0x00002580 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00002584 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x00002588 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x0000258c sw v1, 0x10(sp)               |         *(var_10h_3) = v1;
    0x00002590 move a2, zero                 |         a2 = 0;
    0x00002594 move a3, zero                 |         a3 = 0;
    0x00002598 addiu a1, a1, -0x4a54         |         a1 += -0x4a54;
    0x0000259c addiu a0, zero, 1             |         a0 = 1;
    0x000025a0 jalr t9                       |         t9 ();
    0x000025a4 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |     }
    0x000025a8 lui v0, 0x6141                |     v0 = 0x61410000;
    0x000025ac lw v1, 0x44c(sp)              |     v1 = *(var_44ch);
    0x000025b0 addiu v0, v0, 0x7272          |     v0 += 0x7272;
                                             |     if (v1 != v0) {
    0x000025b4 beql v1, v0, 0x25e8           |         
    0x000025b8 lhu v0, 0x466(sp)             |         v0 = *(var_466h);
    0x000025bc lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x000025c0 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x000025c4 sw v0, 0x14(sp)               |         *(var_14h) = v0;
    0x000025c8 sw v1, 0x10(sp)               |         *(var_10h_3) = v1;
    0x000025cc addiu a2, zero, 0x1e4         |         a2 = 0x1e4;
    0x000025d0 move a3, zero                 |         a3 = 0;
    0x000025d4 addiu a1, a1, -0x4a54         |         a1 += -0x4a54;
    0x000025d8 addiu a0, zero, 1             |         a0 = 1;
    0x000025dc jalr t9                       |         t9 ();
    0x000025e0 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x000025e4 lhu v0, 0x466(sp)             |         v0 = *(var_466h);
                                             |     }
    0x000025e8 ori v1, zero, 0xaa55          |     v1 = 0xaa55;
    0x000025ec lw s4, -0x7fd8(gp)            |     s4 = *(gp);
                                             |     if (v0 != v1) {
    0x000025f0 beq v0, v1, 0x2620            |         
    0x000025f4 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x000025f8 lw t9, -0x7eb4(gp)            |         t9 = sym.imp.__printf_chk
    0x000025fc sw v1, 0x14(sp)               |         *(var_14h) = v1;
    0x00002600 sw v0, 0x10(sp)               |         *(var_10h_3) = v0;
    0x00002604 addiu a2, zero, 0x1fe         |         a2 = 0x1fe;
    0x00002608 move a3, zero                 |         a3 = 0;
    0x0000260c addiu a1, a1, -0x4a28         |         a1 += -0x4a28;
    0x00002610 addiu a0, zero, 1             |         a0 = 1;
    0x00002614 jalr t9                       |         t9 ();
    0x00002618 lw gp, 0x20(sp)               |         gp = *(var_20h);
    0x0000261c lw s4, -0x7fd8(gp)            |         s4 = *(gp);
                                             |     }
    0x00002620 lw v0, (s4)                   |     v0 = *(s4);
    0x00002624 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
                                             |     if (v0 == 0) {
    0x00002628 beqz v0, 0x2844               |         goto label_61;
                                             |     }
    0x0000262c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002630 addiu a0, a0, -0x49fc         |     a0 += -0x49fc;
    0x00002634 jalr t9                       |     t9 ();
    0x00002638 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_11:
    0x0000263c lw v0, (s4)                   |     v0 = *(s4);
    0x00002640 lui v0, 0x4161                |     v0 = 0x41610000;
                                             |     if (v0 != 0) {
    0x00002644 beqz v0, 0x2684               |         
    0x00002648 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x0000264c lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x00002650 lw t9, -0x7f8c(gp)            |         t9 = sym.get_key;
    0x00002654 addiu a1, a1, -0x4c38         |         a1 += -0x4c38;
    0x00002658 addiu a0, a0, -0x4c34         |         a0 += -0x4c34;
    0x0000265c bal 0x6520                    |         sym_get_key ();
    0x00002660 addiu v1, zero, 0x31          |         v1 = 0x31;
    0x00002664 lw gp, 0x20(sp)               |         gp = *(var_20h);
                                             |         if (v0 != v1) {
    0x00002668 beq v0, v1, 0x2680            |             
    0x0000266c move v0, zero                 |             v0 = 0;
    0x00002670 move v1, zero                 |             v1 = 0;
    0x00002674 sw v0, 0x40(s0)               |             *((s0 + 16)) = v0;
    0x00002678 sw v1, 0x44(s0)               |             *((s0 + 17)) = v1;
    0x0000267c b 0x26e4                      |             goto label_7;
                                             |         }
    0x00002680 lui v0, 0x4161                |         v0 = 0x41615252;
                                             |     }
    0x00002684 addiu v0, v0, 0x5252          |     
    0x00002688 sw v0, 0x268(sp)              |     *(var_268h) = v0;
    0x0000268c lui v0, 0x6141                |     v0 = 0x61417272;
    0x00002690 addiu v0, v0, 0x7272          |     
    0x00002694 sw v0, 0x44c(sp)              |     *(var_44ch) = v0;
    0x00002698 addiu v0, zero, -1            |     v0 = -1;
    0x0000269c sw v0, 0x450(sp)              |     *(var_450h) = v0;
    0x000026a0 addiu v0, zero, 2             |     v0 = 2;
    0x000026a4 lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x000026a8 sw v0, 0x454(sp)              |     *(var_454h) = v0;
    0x000026ac lw a0, 0x40(s0)               |     a0 = *((s0 + 16));
    0x000026b0 addiu v0, zero, -0x55ab       |     v0 = -0x55ab;
    0x000026b4 lw a1, 0x44(s0)               |     a1 = *((s0 + 17));
    0x000026b8 lw a3, 0x58(sp)               |     a3 = *(var_58h);
    0x000026bc addiu a2, zero, 0x200         |     a2 = 0x200;
    0x000026c0 sh v0, 0x466(sp)              |     *(var_466h) = v0;
    0x000026c4 bal 0x8c88                    |     sym_fs_write ();
    0x000026c8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000026cc lw v0, 0x40(s0)               |     v0 = *((s0 + 16));
                                             | label_15:
    0x000026d0 lw v1, 0x44(s0)               |     v1 = *((s0 + 17));
    0x000026d4 or v0, v0, v1                 |     v0 |= v1;
    0x000026d8 lw v0, 0x450(sp)              |     v0 = *(var_450h);
                                             |     if (v0 != 0) {
    0x000026dc beqz v0, 0x26e4               |         
    0x000026e0 sw v0, 0x48(s0)               |         *((s0 + 18)) = v0;
                                             |     }
                                             | label_7:
    0x000026e4 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
                                             | label_6:
    0x000026e8 addiu v1, zero, 0x20          |     v1 = 0x20;
    0x000026ec lw s6, 0x3c(s0)               |     s6 = *((s0 + 15));
    0x000026f0 mul s2, s2, s1                |     __asm ("mul s2, s2, s1");
    0x000026f4 move a2, v0                   |     a2 = v0;
                                             |     if (v0 != v1) {
    0x000026f8 bne v0, v1, 0x1fcc            |         goto label_5;
                                             |     }
    0x000026fc sll a0, s2, 3                 |     a0 = s2 << 3;
    0x00002700 addiu v0, zero, 0x1c          |     v0 = 0x1c;
    0x00002704 b 0x1fd0                      |     goto label_1;
                                             | label_59:
    0x00002708 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x0000270c lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x00002710 addiu a0, a0, -0x4b18         |     a0 += -0x4b18;
    0x00002714 jalr t9                       |     t9 ();
    0x00002718 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000271c lw v0, (s4)                   |     v0 = *(s4);
    0x00002720 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
                                             |     if (v0 == 0) {
    0x00002724 beqz v0, 0x2858               |         goto label_62;
                                             |     }
    0x00002728 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000272c addiu a0, a0, -0x4b04         |     a0 += -fcn.00004b04;
    0x00002730 jalr t9                       |     t9 ();
    0x00002734 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_12:
    0x00002738 lw v0, (s4)                   |     v0 = *(s4);
                                             |     if (v0 == 0) {
    0x0000273c beql v0, zero, 0x26e8         |         goto label_6;
                                             |     }
    0x00002740 lw v0, 0x14(s0)               |     v0 = *((s0 + 5));
    0x00002744 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002748 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000274c lw t9, -0x7f8c(gp)            |     t9 = sym.get_key;
    0x00002750 addiu a1, a1, -0x4c38         |     a1 += -0x4c38;
    0x00002754 addiu a0, a0, -0x4c34         |     a0 += -0x4c34;
    0x00002758 bal 0x6520                    |     sym_get_key ();
    0x0000275c addiu v1, zero, 0x31          |     v1 = 0x31;
    0x00002760 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != v1) {
    0x00002764 bne v0, v1, 0x26e4            |         goto label_7;
                                             |     }
    0x00002768 lhu v1, 0x76(sp)              |     v1 = *(var_76h);
    0x0000276c sltiu v0, v1, 2               |     v0 = (v1 < 2) ? 1 : 0;
    0x00002770 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v0 != 0) {
    0x00002774 bnez v0, 0x2b0c               |         goto label_63;
                                             |     }
    0x00002778 lhu a0, 0x9a(sp)              |     a0 = *(var_9ah);
    0x0000277c addiu v0, zero, 2             |     v0 = 2;
                                             |     if (a0 != v0) {
    0x00002780 bne a0, v0, 0x2b50            |         goto label_64;
                                             |     }
    0x00002784 srl v0, s1, 0x1f              |     v0 = s1 >> 0x1f;
                                             |     if (v1 == v0) {
    0x00002788 beq v1, v0, 0x2b0c            |         goto label_63;
                                             |     }
    0x0000278c sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00002790 sll v0, s1, 1                 |     v0 = s1 << 1;
    0x00002794 sw v0, 0x38(sp)               |     *(var_38h) = v0;
    0x00002798 addiu s5, zero, 2             |     s5 = 2;
                                             | label_22:
    0x0000279c addiu v0, sp, 0x268           |     v0 = sp + aav.0x00000268;
    0x000027a0 move a3, v0                   |     a3 = v0;
    0x000027a4 sw v0, 0x58(sp)               |     *(var_58h) = v0;
    0x000027a8 lui v0, 0x4161                |     v0 = 0x41615252;
    0x000027ac addiu v0, v0, 0x5252          |     
    0x000027b0 sw v0, 0x268(sp)              |     *(var_268h) = v0;
    0x000027b4 lui v0, 0x6141                |     v0 = 0x61417272;
    0x000027b8 addiu v0, v0, 0x7272          |     
    0x000027bc sw v0, 0x44c(sp)              |     *(var_44ch) = v0;
    0x000027c0 addiu v0, zero, -1            |     v0 = -1;
    0x000027c4 sw v0, 0x450(sp)              |     *(var_450h) = v0;
    0x000027c8 addiu v0, zero, 2             |     v0 = 2;
    0x000027cc lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x000027d0 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x000027d4 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000027d8 sw v0, 0x454(sp)              |     *(var_454h) = v0;
    0x000027dc addiu v0, zero, -0x55ab       |     v0 = -0x55ab;
    0x000027e0 sh v0, 0x466(sp)              |     *(var_466h) = v0;
    0x000027e4 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x000027e8 bal 0x8c88                    |     sym_fs_write ();
    0x000027ec lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000027f0 addiu s4, sp, 0x98            |     s4 = sp + 0x98;
    0x000027f4 move a1, zero                 |     a1 = 0;
    0x000027f8 lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x000027fc move a3, s4                   |     a3 = s4;
    0x00002800 addiu a2, zero, 2             |     a2 = 2;
    0x00002804 addiu a0, zero, 0x30          |     a0 = 0x30;
    0x00002808 sh s5, 0x98(sp)               |     *(var_98h) = s5;
    0x0000280c bal 0x8c88                    |     sym_fs_write ();
    0x00002810 lw v0, 0x50(s0)               |     v0 = *((s0 + 20));
    0x00002814 lw a1, 0x54(s0)               |     a1 = *((s0 + 21));
    0x00002818 or v1, v0, a1                 |     v1 = v0 | a1;
    0x0000281c lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v1 != 0) {
    0x00002820 bnez v1, 0x2894               |         goto label_65;
                                             |     }
    0x00002824 lhu a0, 0x98(sp)              |     a0 = *(var_98h);
    0x00002828 b 0x2514                      |     goto label_8;
                                             | label_54:
    0x0000282c lw a3, -0x7fdc(gp)            |     a3 = *((gp - 8183));
    0x00002830 addiu a3, a3, -0x3eec         |     a3 += -0x3eec;
    0x00002834 b 0x2234                      |     goto label_9;
                                             | label_53:
    0x00002838 addu v0, a1, v0               |     v0 = a1 + v0;
    0x0000283c lw a3, 4(v0)                  |     a3 = *((v0 + 1));
    0x00002840 b 0x21bc                      |     goto label_10;
                                             | label_61:
    0x00002844 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002848 addiu a0, a0, -0x49c8         |     a0 += -0x49c8;
    0x0000284c jalr t9                       |     t9 ();
    0x00002850 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002854 b 0x263c                      |     goto label_11;
                                             | label_62:
    0x00002858 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x0000285c addiu a0, a0, -0x4ae0         |     a0 += -0x4ae0;
    0x00002860 jalr t9                       |     t9 ();
    0x00002864 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002868 b 0x2738                      |     goto label_12;
                                             | label_36:
    0x0000286c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002870 addiu a0, a0, -0x4c84         |     a0 += -0x4c84;
    0x00002874 jalr t9                       |     t9 ();
    0x00002878 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x0000287c b 0x1eb8                      |     goto label_13;
                                             | label_60:
    0x00002880 ori v0, zero, 0xaa55          |     v0 = 0xaa55;
    0x00002884 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     if (v1 != v0) {
    0x00002888 bne v1, v0, 0x2560            |         goto label_14;
                                             |     }
    0x0000288c lw v0, 0x40(s0)               |     v0 = *((s0 + 16));
    0x00002890 b 0x26d0                      |     goto label_15;
                                             | label_65:
    0x00002894 addiu a0, v0, 0x30            |     a0 = v0 + 0x30;
    0x00002898 sltu v0, a0, v0               |     v0 = (a0 < v0) ? 1 : 0;
    0x0000289c lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x000028a0 move a3, s4                   |     a3 = s4;
    0x000028a4 addiu a2, zero, 2             |     a2 = 2;
    0x000028a8 addu a1, v0, a1               |     a1 = v0 + a1;
    0x000028ac bal 0x8c88                    |     sym_fs_write ();
    0x000028b0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000028b4 lhu a0, 0x98(sp)              |     a0 = *(var_98h);
    0x000028b8 b 0x2514                      |     goto label_8;
                                             | label_37:
    0x000028bc addiu s4, v0, -1              |     s4 = v0 + -1;
                                             |     if (s4 != v1) {
    0x000028c0 beql s4, v1, 0x28d0           |         
    0x000028c4 addiu s4, v0, -2              |         s4 = v0 + -2;
    0x000028c8 andi v1, s4, 0xffff           |         v1 = s4 & 0xffff;
    0x000028cc b 0x1f08                      |         goto label_16;
                                             |     }
    0x000028d0 andi v1, s4, 0xffff           |     v1 = s4 & 0xffff;
    0x000028d4 b 0x1f08                      |     goto label_16;
                                             | label_58:
    0x000028d8 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x000028dc lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x000028e0 addiu a0, a0, -0x4c04         |     a0 += -0x4c04;
    0x000028e4 jalr t9                       |     t9 ();
    0x000028e8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000028ec addiu a0, zero, 1             |     a0 = 1;
    0x000028f0 addiu s5, sp, 0x468           |     s5 = sp + 0x468;
    0x000028f4 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000028f8 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x000028fc addiu a1, a1, -0x4bc8         |     a1 += -0x4bc8;
    0x00002900 jalr t9                       |     t9 ();
    0x00002904 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002908 lw s6, 0x40(sp)               |     s6 = *(var_40h);
    0x0000290c addiu v1, zero, 2             |     v1 = 2;
    0x00002910 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002914 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002918 addiu a0, a0, -0x4b88         |     a0 += -0x4b88;
    0x0000291c sw a0, 0x48(sp)               |     *(var_48h) = a0;
    0x00002920 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002924 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00002928 addiu a0, a0, -0x3eec         |     a0 += -0x3eec;
    0x0000292c sw a0, 0x4c(sp)               |     *(var_4ch) = a0;
    0x00002930 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002934 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x00002938 addiu a0, a0, -0x4e6c         |     a0 += -0x4e6c;
    0x0000293c sw v0, 0x54(sp)               |     *(var_54h) = v0;
    0x00002940 sw s0, 0x5c(sp)               |     *(var_5ch) = s0;
    0x00002944 addiu v0, zero, 1             |     v0 = 1;
    0x00002948 lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x0000294c move s4, s6                   |     s4 = s6;
    0x00002950 sw a0, 0x50(sp)               |     *(var_50h) = a0;
    0x00002954 move s0, v1                   |     s0 = v1;
    0x00002958 b 0x2998                      |     goto label_66;
                                             | label_17:
    0x0000295c lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002960 lw a1, 0x48(sp)               |     a1 = *(var_48h);
    0x00002964 move a2, s5                   |     a2 = s5;
    0x00002968 addiu a0, zero, 1             |     a0 = 1;
    0x0000296c jalr t9                       |     t9 ();
    0x00002970 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002974 lw t9, -0x7e88(gp)            |     t9 = sym.imp.strlen;
    0x00002978 move a0, s5                   |     a0 = s5;
    0x0000297c jalr t9                       |     t9 ();
    0x00002980 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002984 addu s0, v0, s0               |     s0 = v0 + s0;
    0x00002988 move v0, zero                 |     v0 = 0;
                                             |     do {
    0x0000298c addiu fp, fp, 1               |         fp++;
    0x00002990 addiu s4, s4, 1               |         s4++;
                                             |         if (fp == s5) {
    0x00002994 beq fp, s5, 0x2a24            |             goto label_67;
                                             |         }
                                             | label_66:
    0x00002998 lbu t0, (s4)                  |         t0 = *(s4);
    0x0000299c lbu t1, (fp)                  |         t1 = *(fp);
    0x000029a0 lw v1, 0x50(sp)               |         v1 = *(var_50h);
    0x000029a4 beq t0, t1, 0x298c            |         
                                             |     } while (t0 == t1);
    0x000029a8 lw a0, 0x4c(sp)               |     a0 = *(var_4ch);
    0x000029ac lw t9, -0x7ed4(gp)            |     t9 = sym.imp.__sprintf_chk
                                             |     if (v0 == 0) {
    0x000029b0 movn v1, a0, v0               |         v1 = a0;
                                             |     }
    0x000029b4 move v0, v1                   |     v0 = v1;
    0x000029b8 lw v1, 0x44(sp)               |     v1 = *(var_44h);
    0x000029bc subu t2, s4, s6               |     __asm ("subu t2, s4, s6");
    0x000029c0 addiu a3, v1, -0x4b9c         |     a3 = v1 + -0x4b9c;
    0x000029c4 addiu a2, zero, 0x14          |     a2 = 0x14;
    0x000029c8 addiu a1, zero, 1             |     a1 = 1;
    0x000029cc move a0, s5                   |     a0 = s5;
    0x000029d0 sw t1, 0x1c(sp)               |     *(var_1ch_3) = t1;
    0x000029d4 sw t0, 0x18(sp)               |     *(var_18h_3) = t0;
    0x000029d8 sw t2, 0x14(sp)               |     *(var_14h) = t2;
    0x000029dc sw v0, 0x10(sp)               |     *(var_10h_3) = v0;
    0x000029e0 jalr t9                       |     t9 ();
    0x000029e4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x000029e8 lw t9, -0x7e88(gp)            |     t9 = sym.imp.strlen;
    0x000029ec move a0, s5                   |     a0 = s5;
    0x000029f0 jalr t9                       |     t9 ();
    0x000029f4 addu v0, v0, s0               |     v0 += s0;
    0x000029f8 sltiu v0, v0, 0x4f            |     v0 = (v0 < 0x4f) ? 1 : 0;
    0x000029fc lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 != 0) {
    0x00002a00 bnez v0, 0x295c               |         goto label_17;
                                             |     }
    0x00002a04 lw v0, 0x54(sp)               |     v0 = *(var_54h);
    0x00002a08 lw t9, -0x7eb4(gp)            |     t9 = sym.imp.__printf_chk
    0x00002a0c addiu a1, v0, -0x4b8c         |     a1 = v0 + -0x4b8c;
    0x00002a10 addiu a0, zero, 1             |     a0 = 1;
    0x00002a14 jalr t9                       |     t9 ();
    0x00002a18 addiu s0, zero, 2             |     s0 = 2;
    0x00002a1c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002a20 b 0x295c                      |     goto label_17;
                                             | label_67:
    0x00002a24 lw t9, -0x7ea4(gp)            |     t9 = sym.imp.putchar;
    0x00002a28 lw s4, -0x7fd8(gp)            |     s4 = *(gp);
    0x00002a2c addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00002a30 lw s0, 0x5c(sp)               |     s0 = *(var_5ch);
    0x00002a34 jalr t9                       |     t9 ();
    0x00002a38 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002a3c lw v0, (s4)                   |     v0 = *(s4);
    0x00002a40 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
                                             |     if (v0 == 0) {
    0x00002a44 beqz v0, 0x2af8               |         goto label_68;
                                             |     }
    0x00002a48 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002a4c addiu a0, a0, -0x4b84         |     a0 += -0x4b84;
    0x00002a50 jalr t9                       |     t9 ();
    0x00002a54 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             | label_21:
    0x00002a58 lw v0, (s4)                   |     v0 = *(s4);
                                             |     if (v0 == 0) {
    0x00002a5c beql v0, zero, 0x2504         |         goto label_18;
                                             |     }
    0x00002a60 lhu a0, 0x98(sp)              |     a0 = *(var_98h);
    0x00002a64 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00002a68 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002a6c lw t9, -0x7f8c(gp)            |     t9 = sym.get_key;
    0x00002a70 addiu a1, a1, -0x4c38         |     a1 += -0x4c38;
    0x00002a74 addiu a0, a0, -0x4b1c         |     a0 += -0x4b1c;
    0x00002a78 bal 0x6520                    |     sym_get_key ();
    0x00002a7c addiu v1, zero, 0x31          |     v1 = 0x31;
    0x00002a80 lw gp, 0x20(sp)               |     gp = *(var_20h);
                                             |     if (v0 == v1) {
    0x00002a84 beq v0, v1, 0x2b30            |         goto label_69;
                                             |     }
    0x00002a88 addiu v1, zero, 0x32          |     v1 = 0x32;
    0x00002a8c lhu a0, 0x98(sp)              |     a0 = *(var_98h);
                                             |     if (v0 != v1) {
    0x00002a90 bne v0, v1, 0x2504            |         goto label_18;
                                             |     }
    0x00002a94 lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x00002a98 lw a3, 0x58(sp)               |     a3 = *(var_58h);
    0x00002a9c addiu a2, zero, 0x200         |     a2 = 0x200;
    0x00002aa0 move a0, zero                 |     a0 = 0;
    0x00002aa4 move a1, zero                 |     a1 = 0;
    0x00002aa8 bal 0x8c88                    |     sym_fs_write ();
    0x00002aac lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002ab0 b 0x2500                      |     goto label_19;
                                             | label_57:
    0x00002ab4 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002ab8 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00002abc addiu a0, a0, -0x4d98         |     a0 += -0x4d98;
    0x00002ac0 jalr t9                       |     t9 ();
    0x00002ac4 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002ac8 b 0x1e60                      |     goto label_20;
                                             | label_33:
    0x00002acc lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00002ad0 addiu a0, a0, -0x4d40         |     a0 += -0x4d40;
    0x00002ad4 jalr t9                       |     t9 ();
    0x00002ad8 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002adc b 0x1e60                      |     goto label_20;
                                             | label_35:
    0x00002ae0 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002ae4 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00002ae8 addiu a0, a0, -0x4cac         |     a0 += -0x4cac;
    0x00002aec jalr t9                       |     t9 ();
    0x00002af0 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002af4 b 0x2500                      |     goto label_19;
                                             | label_68:
    0x00002af8 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002afc addiu a0, a0, -0x4b40         |     a0 += -0x4b40;
    0x00002b00 jalr t9                       |     t9 ();
    0x00002b04 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002b08 b 0x2a58                      |     goto label_21;
                                             | label_63:
    0x00002b0c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002b10 lw t9, -0x7e6c(gp)            |     t9 = sym.imp.puts;
    0x00002b14 addiu a0, a0, -0x4abc         |     a0 += -0x4abc;
    0x00002b18 jalr t9                       |     t9 ();
    0x00002b1c lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002b20 b 0x26e4                      |     goto label_7;
                                             | label_52:
    0x00002b24 lw a3, -0x7fdc(gp)            |     a3 = *((gp - 8183));
    0x00002b28 addiu a3, a3, -0x4e68         |     a3 += -0x4e68;
    0x00002b2c b 0x21bc                      |     goto label_10;
                                             | label_69:
    0x00002b30 lw t9, -0x7f64(gp)            |     t9 = sym.fs_write;
    0x00002b34 lw a0, 0x50(s0)               |     a0 = *((s0 + 20));
    0x00002b38 lw a1, 0x54(s0)               |     a1 = *((s0 + 21));
    0x00002b3c lw a3, 0x40(sp)               |     a3 = *(var_40h);
    0x00002b40 addiu a2, zero, 0x200         |     a2 = 0x200;
    0x00002b44 bal 0x8c88                    |     sym_fs_write ();
    0x00002b48 lw gp, 0x20(sp)               |     gp = *(var_20h);
    0x00002b4c b 0x2500                      |     goto label_19;
                                             | label_64:
    0x00002b50 addiu s5, zero, 1             |     s5 = 1;
    0x00002b54 b 0x279c                      |     goto label_22;
                                             | label_39:
    0x00002b58 sltu v0, a2, s6               |     v0 = (a2 < s6) ? 1 : 0;
                                             |     if (v0 == 0) {
    0x00002b5c beql v0, zero, 0x2004         |         goto label_23;
                                             |     }
    0x00002b60 lw a1, 0x28(s0)               |     a1 = *((s0 + 10));
    0x00002b64 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002b68 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002b6c move a3, zero                 |     a3 = 0;
    0x00002b70 move a1, s6                   |     a1 = s6;
    0x00002b74 addiu a0, a0, -0x49b0         |     a0 += -0x49b0;
    0x00002b78 bal 0x62a0                    |     sym_die ();
                                             | label_24:
    0x00002b7c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002b80 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002b84 addiu a0, a0, -0x4e40         |     a0 += -0x4e40;
    0x00002b88 bal 0x62a0                    |     sym_die ();
                                             | label_42:
    0x00002b8c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002b90 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002b94 move a1, s1                   |     a1 = s1;
    0x00002b98 addiu a0, a0, -0x4908         |     a0 += -0x4908;
    0x00002b9c bal 0x62a0                    |     sym_die ();
                                             | label_43:
    0x00002ba0 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             | label_44:
    0x00002ba4 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002ba8 addiu a0, a0, -0x48b8         |     a0 += -0x48b8;
    0x00002bac bal 0x62a0                    |     sym_die ();
                                             | label_46:
    0x00002bb0 lw t9, -0x7e50(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x00002bb4 jalr t9                       |     t9 ();
    0x00002bb8 nop                           |     
                                             | label_26:
    0x00002bbc lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002bc0 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002bc4 addiu a0, a0, -0x4e08         |     a0 += -0x4e08;
    0x00002bc8 bal 0x62a0                    |     sym_die ();
                                             | label_25:
    0x00002bcc lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00002bd0 lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002bd4 addiu a0, a0, -0x4e20         |     a0 += -0x4e20;
    0x00002bd8 bal 0x62a0                    |     sym_die ();
                                             | label_41:
    0x00002bdc lw t9, -0x7f5c(gp)            |     t9 = sym.die;
    0x00002be0 addiu a0, a0, -0x4970         |     a0 += -0x4970;
    0x00002be4 bal 0x62a0                    |     sym_die ();
    0x00002be8 nop                           |     
    0x00002bec nop                           |     
                                             | }

[*] Function printf used 27 times dosfsck