[*] Binary protection state of mdb

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


[*] Function printf tear down of mdb

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mdb @ 0x401fc0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00401fc0 lui gp, 2                     |     
    0x00401fc4 addiu gp, gp, -0x5ee0         |     
    0x00401fc8 addu gp, gp, t9               |     gp += t9;
    0x00401fcc addiu sp, sp, -0xf0           |     
    0x00401fd0 sw ra, 0xec(sp)               |     *(var_ech) = ra;
    0x00401fd4 sw fp, 0xe8(sp)               |     *(var_e8h) = fp;
    0x00401fd8 sw s7, 0xe4(sp)               |     *(var_e4h) = s7;
    0x00401fdc sw s6, 0xe0(sp)               |     *(var_e0h) = s6;
    0x00401fe0 sw s5, 0xdc(sp)               |     *(var_dch) = s5;
    0x00401fe4 sw s4, 0xd8(sp)               |     *(var_d8h) = s4;
    0x00401fe8 sw s3, 0xd4(sp)               |     *(var_d4h) = s3;
    0x00401fec sw s2, 0xd0(sp)               |     *(var_d0h) = s2;
    0x00401ff0 sw s1, 0xcc(sp)               |     *(var_cch) = s1;
    0x00401ff4 sw s0, 0xc8(sp)               |     *(var_c8h) = s0;
    0x00401ff8 move fp, sp                   |     fp = sp;
    0x00401ffc lw s5, -0x7f60(gp)            |     s5 = *((gp - 8152));
    0x00402000 addiu s1, fp, 0x2c            |     s1 = fp + 0x2c;
    0x00402004 lw t9, -0x7f84(gp)            |     t9 = *(gp);
    0x00402008 move s3, a0                   |     s3 = a0;
    0x0040200c lw t8, (s5)                   |     t8 = *(s5);
    0x00402010 move a0, s1                   |     a0 = s1;
    0x00402014 sw gp, 0x20(sp)               |     *(var_20h) = gp;
    0x00402018 move s2, a1                   |     s2 = a1;
    0x0040201c sw t8, 0xc4(fp)               |     *(arg_c4h) = t8;
    0x00402020 addiu s0, zero, 3             |     s0 = 3;
    0x00402024 jalr t9                       |     t9 ();
    0x00402028 addiu a0, zero, 4             |     a0 = 4;
    0x0040202c lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00402030 sw zero, 0x30(fp)             |     *(arg_30h) = 0;
    0x00402034 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00402038 lw t9, -0x7f5c(gp)            |     t9 = sym.imp.sysconf;
                                             |     /* esilref: 'get' */
    0x0040203c addiu t8, t8, 0x2dd4          |     t8 += 0x2dd4;
    0x00402040 sw t8, 0x38(fp)               |     *(arg_38h) = t8;
    0x00402044 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
    0x00402048 sw zero, 0x34(fp)             |     *(arg_34h) = 0;
                                             |     /* esilref: 'set' */
    0x0040204c addiu t8, t8, 0x2dd8          |     t8 += 0x2dd8;
    0x00402050 sw t8, 0x3c(fp)               |     *(arg_3ch) = t8;
    0x00402054 lw t8, -0x7fd8(gp)            |     t8 = *(gp);
                                             |     /* str.apply */
    0x00402058 addiu t8, t8, 0x2ddc          |     t8 += 0x2ddc;
    0x0040205c sw t8, 0x40(fp)               |     *(arg_40h) = t8;
    0x00402060 jalr t9                       |     t9 ();
    0x00402064 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00402068 move s4, v0                   |     s4 = v0;
                                             |     do {
    0x0040206c slt t8, s0, s4                |         t8 = (s0 < s4) ? 1 : 0;
    0x00402070 lw t9, -0x7f90(gp)            |         t9 = sym.imp.close;
                                             |         if (t8 == 0) {
    0x00402074 beqz t8, 0x40208c             |             goto label_2;
                                             |         }
    0x00402078 move a0, s0                   |         a0 = s0;
    0x0040207c jalr t9                       |         t9 ();
    0x00402080 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00402084 addiu s0, s0, 1               |         s0++;
    0x00402088 b 0x40206c                    |         
                                             |     } while (1);
                                             | label_2:
    0x0040208c addiu t8, zero, 1             |     t8 = 1;
    0x00402090 slti v0, s3, 2                |     v0 = (s3 < 2) ? 1 : 0;
                                             |     if (s3 != t8) {
    0x00402094 bne s3, t8, 0x4020b0          |         goto label_3;
                                             |     }
    0x00402098 lw t9, -0x7fd0(gp)            |     t9 = sym.showUsage__;
    0x0040209c jalr t9                       |     t9 ();
    0x004020a0 nop                           |     
    0x004020a4 lw gp, 0x20(fp)               |     gp = *(arg_20h);
                                             |     do {
    0x004020a8 move s0, zero                 |         s0 = 0;
    0x004020ac b 0x40244c                    |         goto label_4;
                                             | label_3:
    0x004020b0 addiu v0, fp, 0x30            |         v0 = fp + 0x30;
    0x004020b4 bnez v0, 0x4020a8             |         
                                             |     } while (v0 != 0);
    0x004020b8 lw a1, 4(s2)                  |     a1 = *((s2 + 1));
    0x004020bc lw t9, -0x7f7c(gp)            |     t9 = *(gp);
    0x004020c0 move a0, s1                   |     a0 = s1;
    0x004020c4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x004020c8 addiu a2, fp, 0x38            |     a2 = fp + 0x38;
    0x004020cc sw t8, 0x14(sp)               |     *(var_14h) = t8;
    0x004020d0 addiu a3, zero, 3             |     a3 = 3;
    0x004020d4 sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x004020d8 jalr t9                       |     t9 ();
    0x004020dc lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x004020e0 addiu s0, zero, 0xa           |     s0 = 0xa;
                                             |     if (v0 != 0) {
    0x004020e4 bnez v0, 0x40244c             |         goto label_4;
                                             |     }
    0x004020e8 lw t8, 0x30(fp)               |     t8 = *(arg_30h);
    0x004020ec addiu v0, zero, 2             |     v0 = 2;
    0x004020f0 move a0, s1                   |     a0 = s1;
                                             |     if (t8 == v0) {
    0x004020f4 bne t8, v0, 0x402118          |         
    0x004020f8 addiu s0, zero, 0xc           |         s0 = 0xc;
                                             |         if (s3 != t8) {
    0x004020fc bne s3, t8, 0x40244c          |             goto label_4;
                                             |         }
    0x00402100 lw t9, -0x7f70(gp)            |         t9 = sym.imp.mdb_apply__;
    0x00402104 jalr t9                       |         t9 ();
    0x00402108 nop                           |         
    0x0040210c lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00402110 move s0, v0                   |         s0 = v0;
    0x00402114 b 0x40244c                    |         goto label_4;
                                             |     }
    0x00402118 lw t8, -0x7fcc(gp)            |     t8 = *(gp);
    0x0040211c lw a1, 8(s2)                  |     a1 = *((s2 + 2));
    0x00402120 lbu a3, (t8)                  |     a3 = *(t8);
    0x00402124 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x00402128 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0040212c addiu t8, zero, 1             |     t8 = 1;
    0x00402130 lw a2, -0x7fc8(gp)            |     a2 = *(gp);
    0x00402134 lw t9, -0x7f7c(gp)            |     t9 = *(gp);
    0x00402138 sw t8, 0x14(sp)               |     *(var_14h) = t8;
    0x0040213c sw zero, 0x18(sp)             |     *(var_18h) = 0;
    0x00402140 jalr t9                       |     t9 ();
    0x00402144 lw gp, 0x20(fp)               |     gp = *(arg_20h);
                                             |     if (v0 != 0) {
    0x00402148 bnez v0, 0x402314             |         goto label_5;
                                             |     }
    0x0040214c lw t8, 0x34(fp)               |     t8 = *(arg_34h);
    0x00402150 move s4, sp                   |     s4 = sp;
                                             |     if (t8 == 0) {
    0x00402154 beqz t8, 0x4024e4             |         goto label_6;
                                             |     }
    0x00402158 addiu v0, zero, 2             |     v0 = 2;
    0x0040215c addiu v0, zero, 1             |     v0 = 1;
                                             |     if (t8 != v0) {
    0x00402160 beq t8, v0, 0x402234          |         
    0x00402164 addiu v0, zero, 3             |         v0 = 3;
                                             |         if (t8 == v0) {
    0x00402168 beq t8, v0, 0x4024cc          |             goto label_7;
                                             |         }
    0x0040216c addiu v0, zero, 4             |         v0 = 4;
                                             |         if (t8 == v0) {
    0x00402170 beq t8, v0, 0x4024b4          |             goto label_8;
                                             |         }
    0x00402174 addiu v0, zero, -0x11         |         v0 = -0x11;
                                             |         if (t8 == v0) {
    0x00402178 beq t8, v0, 0x4024bc          |             goto label_9;
                                             |         }
    0x0040217c and v0, t8, v0                |         v0 = t8 & v0;
    0x00402180 addiu v0, v0, -5              |         v0 += -5;
    0x00402184 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x00402188 addiu v0, zero, 8             |         v0 = 8;
                                             |         if (v0 != 0) {
    0x0040218c bnez v0, 0x4024c4             |             goto label_10;
                                             |         }
    0x00402190 addiu v0, zero, 0x13          |         v0 = 0x13;
                                             |         if (t8 == v0) {
    0x00402194 beq t8, v0, 0x4024c4          |             goto label_10;
                                             |         }
    0x00402198 addiu v0, zero, 0x19          |         v0 = 0x19;
                                             |         if (t8 == v0) {
    0x0040219c beq t8, v0, 0x4024c4          |             goto label_10;
                                             |         }
    0x004021a0 addiu v0, t8, -0x1c           |         v0 = t8 + -0x1c;
                                             |         if (t8 == v0) {
    0x004021a4 beq t8, v0, 0x4024c4          |             goto label_10;
                                             |         }
    0x004021a8 sltiu v0, v0, 2               |         v0 = (v0 < 2) ? 1 : 0;
    0x004021ac addiu v0, zero, 0x22          |         v0 = 0x22;
                                             |         if (v0 != 0) {
    0x004021b0 bnez v0, 0x4024c4             |             goto label_10;
                                             |         }
    0x004021b4 addiu v0, zero, 7             |         v0 = 7;
                                             |         if (t8 == v0) {
    0x004021b8 beq t8, v0, 0x4024c4          |             goto label_10;
                                             |         }
    0x004021bc addiu v0, t8, -9              |         v0 = t8 + -9;
                                             |         if (t8 == v0) {
    0x004021c0 beq t8, v0, 0x4024cc          |             goto label_7;
                                             |         }
    0x004021c4 sltiu v0, v0, 0xa             |         v0 = (v0 < 0xa) ? 1 : 0;
    0x004021c8 addiu a0, t8, -8              |         a0 = t8 + -8;
                                             |         if (v0 != 0) {
    0x004021cc beqz v0, 0x4021f4             |             
    0x004021d0 lw t9, -0x7f9c(gp)            |             t9 = sym.imp.GetDLink15FieldSize_unsigned_char_;
    0x004021d4 andi a0, a0, 0xff             |             a0 &= 0xff;
    0x004021d8 jalr t9                       |             t9 ();
    0x004021dc sll a2, v0, 1                 |             a2 = v0 << 1;
    0x004021e0 addu a2, a2, v0               |             a2 += v0;
    0x004021e4 lw gp, 0x20(fp)               |             gp = *(arg_20h);
                                             |             if (a2 == 0) {
    0x004021e8 beqz a2, 0x40221c             |                 goto label_1;
                                             |             }
    0x004021ec addiu t8, a2, 7               |             t8 = a2 + 7;
    0x004021f0 b 0x40223c                    |             goto label_11;
                                             |         }
    0x004021f4 addiu v0, zero, 0x14          |         v0 = 0x14;
    0x004021f8 addiu v0, zero, 0x17          |         v0 = 0x17;
                                             |         if (t8 == v0) {
    0x004021fc beq t8, v0, 0x4024d4          |             goto label_12;
                                             |         }
    0x00402200 addiu v0, zero, 0x18          |         v0 = 0x18;
                                             |         if (t8 == v0) {
    0x00402204 beq t8, v0, 0x4024d4          |             goto label_12;
                                             |         }
    0x00402208 addiu v0, zero, 0x1a          |         v0 = 0x1a;
                                             |         if (t8 == v0) {
    0x0040220c beq t8, v0, 0x4024dc          |             goto label_13;
                                             |         }
    0x00402210 addiu a2, zero, 0x192         |         a2 = 0x192;
                                             |         if (t8 == v0) {
    0x00402214 beq t8, v0, 0x402238          |             goto label_0;
                                             |         }
    0x00402218 addiu a2, zero, 0x80          |         a2 = 0x80;
                                             | label_1:
    0x0040221c sll t8, a2, 1                 |         t8 = a2 << 1;
    0x00402220 addu a2, t8, a2               |         a2 = t8 + a2;
    0x00402224 addiu s0, zero, 0xe           |         s0 = 0xe;
                                             |         if (a2 != 0) {
    0x00402228 bnez a2, 0x402238             |             goto label_0;
                                             |         }
    0x0040222c move sp, s4                   |         
    0x00402230 b 0x40244c                    |         goto label_4;
                                             |     }
    0x00402234 addiu a2, zero, 0x60          |     a2 = 0x60;
                                             | label_0:
    0x00402238 addiu t8, a2, 7               |     t8 = a2 + 7;
                                             | label_11:
    0x0040223c srl t8, t8, 3                 |     t8 >>= 3;
    0x00402240 sll t8, t8, 3                 |     t8 <<= 3;
    0x00402244 subu sp, sp, t8               |     
    0x00402248 lw t8, 0x30(fp)               |     t8 = *(arg_30h);
    0x0040224c addiu s6, sp, 0x20            |     s6 = sp + 0x20;
    0x00402250 sb zero, 0x20(sp)             |     *(var_20h) = 0;
                                             |     if (t8 == 0) {
    0x00402254 bnez t8, 0x402280             |         
    0x00402258 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x0040225c move a1, s6                   |         a1 = s6;
    0x00402260 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x00402264 sll t8, t8, 2                 |         t8 <<= 2;
    0x00402268 lw t9, -0x7fb0(gp)            |         t9 = sym.imp.mdb_get_char_const__char__unsigned_int_;
    0x0040226c addu t8, v0, t8               |         t8 = v0 + t8;
    0x00402270 lw a0, (t8)                   |         a0 = *(t8);
    0x00402274 jalr t9                       |         t9 ();
    0x00402278 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0040227c b 0x4022bc                    |         goto label_14;
                                             |     }
    0x00402280 addiu v0, zero, 1             |     v0 = 1;
    0x00402284 addiu s0, zero, 0xb           |     s0 = 0xb;
                                             |     if (t8 != v0) {
    0x00402288 bne t8, v0, 0x40230c          |         goto label_15;
                                             |     }
    0x0040228c addiu t8, zero, 4             |     t8 = 4;
    0x00402290 lw t9, -0x7fac(gp)            |     t9 = *(gp);
    0x00402294 beq s3, t8, 0x4022cc          |     
                                             |     while (v0 == 0) {
    0x00402298 lw t8, 0x34(fp)               |         t8 = *(arg_34h);
    0x0040229c move a1, s6                   |         a1 = s6;
    0x004022a0 lw v0, -0x7fc8(gp)            |         v0 = *(gp);
    0x004022a4 sll t8, t8, 2                 |         t8 <<= 2;
    0x004022a8 lw t9, -0x7fa0(gp)            |         t9 = sym.imp.mdb_set_char_const__char_const_;
    0x004022ac addu t8, v0, t8               |         t8 = v0 + t8;
    0x004022b0 lw a0, (t8)                   |         a0 = *(t8);
    0x004022b4 jalr t9                       |         t9 ();
    0x004022b8 lw gp, 0x20(fp)               |         gp = *(arg_20h);
                                             | label_14:
    0x004022bc move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x004022c0 beqz v0, 0x4022f4             |             goto label_16;
                                             |         }
    0x004022c4 move sp, s4                   |         
    0x004022c8 b 0x40244c                    |         goto label_4;
    0x004022cc lw a3, 0xc(s2)                |         a3 = *((s2 + 3));
    0x004022d0 move a0, s1                   |         a0 = s1;
    0x004022d4 move a1, s6                   |         a1 = s6;
    0x004022d8 sw zero, 0x10(sp)             |         *(var_10h) = 0;
    0x004022dc sw zero, 0x14(sp)             |         *(var_14h) = 0;
    0x004022e0 jalr t9                       |         t9 ();
    0x004022e4 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x004022e8 beqz v0, 0x402298             |         
                                             |     }
    0x004022ec addiu s0, zero, 1             |     s0 = 1;
    0x004022f0 b 0x40230c                    |     goto label_15;
                                             | label_16:
    0x004022f4 lw a0, -0x7fd8(gp)            |     a0 = *(gp);
    0x004022f8 move a1, s6                   |     a1 = s6;
    0x004022fc lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
                                             |     /* esilref: '&s' */
    0x00402300 addiu a0, a0, 0x2de4          |     a0 += 0x2de4;
    0x00402304 jalr t9                       |     t9 ();
    0x00402308 lw gp, 0x20(fp)               |     gp = *(arg_20h);
                                             | label_15:
    0x0040230c move sp, s4                   |     
    0x00402310 b 0x40244c                    |     goto label_4;
                                             | label_5:
    0x00402314 lw t8, -0x7fc4(gp)            |     t8 = *(gp);
    0x00402318 move a0, s1                   |     a0 = s1;
    0x0040231c lw a1, 8(s2)                  |     a1 = *((s2 + 2));
    0x00402320 lbu a3, (t8)                  |     a3 = *(t8);
    0x00402324 addiu t8, zero, 1             |     t8 = 1;
    0x00402328 lw a2, -0x7fc0(gp)            |     a2 = *(gp);
    0x0040232c lw t9, -0x7f94(gp)            |     t9 = *(gp);
    0x00402330 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00402334 sw t8, 0x14(sp)               |     *(var_14h) = t8;
    0x00402338 jalr t9                       |     t9 ();
    0x0040233c lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x00402340 addiu t8, zero, -1            |     t8 = -1;
    0x00402344 addiu s0, zero, 0xb           |     s0 = 0xb;
    0x00402348 sw v0, 0x34(fp)               |     *(arg_34h) = v0;
                                             |     if (v0 == t8) {
    0x0040234c beq v0, t8, 0x40244c          |         goto label_4;
                                             |     }
    0x00402350 lw t9, -0x7f98(gp)            |     t9 = sym.imp.memset;
    0x00402354 addiu s6, fp, 0x44            |     s6 = fp + 0x44;
    0x00402358 move s7, sp                   |     s7 = sp;
    0x0040235c move a1, zero                 |     a1 = 0;
    0x00402360 addiu sp, sp, -0x200          |     
    0x00402364 move a0, s6                   |     a0 = s6;
    0x00402368 addiu a2, zero, 0x80          |     a2 = 0x80;
    0x0040236c addiu s4, sp, 0x20            |     s4 = sp + 0x20;
    0x00402370 jalr t9                       |     t9 ();
    0x00402374 lw t8, 0x30(fp)               |     t8 = *(arg_30h);
    0x00402378 lw gp, 0x20(fp)               |     gp = *(arg_20h);
    0x0040237c sb zero, 0x20(sp)             |     *(var_20h_2) = 0;
                                             |     if (t8 == 0) {
    0x00402380 bnez t8, 0x4023a0             |         
    0x00402384 lw a0, 8(s2)                  |         a0 = *((s2 + 2));
    0x00402388 move a1, s4                   |         a1 = s4;
    0x0040238c lw t9, -0x7fb0(gp)            |         t9 = sym.imp.mdb_get_char_const__char__unsigned_int_;
    0x00402390 addiu a2, zero, 0x200         |         a2 = 0x200;
    0x00402394 jalr t9                       |         t9 ();
    0x00402398 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0040239c b 0x4023d0                    |         goto label_17;
                                             |     }
    0x004023a0 addiu v0, zero, 1             |     v0 = 1;
    0x004023a4 addiu t8, zero, 4             |     t8 = 4;
                                             |     if (t8 != v0) {
    0x004023a8 bne t8, v0, 0x402448          |         goto label_18;
                                             |     }
    0x004023ac move a0, s1                   |     a0 = s1;
    0x004023b0 beq s3, t8, 0x4023e0          |     
                                             |     while (v0 == 0) {
    0x004023b4 lw a0, 8(s2)                  |         a0 = *((s2 + 2));
    0x004023b8 move a1, s4                   |         a1 = s4;
    0x004023bc lw t9, -0x7f68(gp)            |         t9 = sym.imp.mdb_set_extra_char_const__char_const__char__int_;
    0x004023c0 move a2, s6                   |         a2 = s6;
    0x004023c4 addiu a3, zero, 0x80          |         a3 = 0x80;
    0x004023c8 jalr t9                       |         t9 ();
    0x004023cc lw gp, 0x20(fp)               |         gp = *(arg_20h);
                                             | label_17:
    0x004023d0 move s0, v0                   |         s0 = v0;
                                             |         if (v0 == 0) {
    0x004023d4 beqz v0, 0x40240c             |             goto label_19;
                                             |         }
    0x004023d8 move sp, s7                   |         
    0x004023dc b 0x40244c                    |         goto label_4;
    0x004023e0 lw a3, 0xc(s2)                |         a3 = *((s2 + 3));
    0x004023e4 lw t9, -0x7fac(gp)            |         t9 = *(gp);
    0x004023e8 move a1, s4                   |         a1 = s4;
    0x004023ec sw zero, 0x10(sp)             |         *(var_10h_2) = 0;
    0x004023f0 addiu a2, zero, 0x200         |         a2 = 0x200;
    0x004023f4 sw zero, 0x14(sp)             |         *(var_14h_2) = 0;
    0x004023f8 jalr t9                       |         t9 ();
    0x004023fc lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00402400 beqz v0, 0x4023b4             |         
                                             |     }
    0x00402404 addiu s0, zero, 1             |     s0 = 1;
    0x00402408 b 0x402448                    |     goto label_18;
                                             | label_19:
    0x0040240c lb t8, 0x44(fp)               |     t8 = *(arg_44h);
    0x00402410 lw t9, -0x7fa4(gp)            |     t9 = sym.imp.printf
                                             |     if (t8 != 0) {
    0x00402414 beqz t8, 0x402434             |         
    0x00402418 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x0040241c move a1, s4                   |         a1 = s4;
    0x00402420 move a2, s6                   |         a2 = s6;
                                             |         /* str._sP_s */
    0x00402424 addiu a0, a0, 0x2de8          |         a0 += 0x2de8;
    0x00402428 jalr t9                       |         t9 ();
    0x0040242c lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x00402430 b 0x402448                    |         
                                             |     } else {
    0x00402434 lw a0, -0x7fd8(gp)            |         a0 = *(gp);
    0x00402438 move a1, s4                   |         a1 = s4;
                                             |         /* esilref: '&s' */
    0x0040243c addiu a0, a0, 0x2de4          |         a0 += 0x2de4;
    0x00402440 jalr t9                       |         t9 ();
    0x00402444 lw gp, 0x20(fp)               |         gp = *(arg_20h);
                                             |     }
                                             | label_18:
    0x00402448 move sp, s7                   |     
                                             | label_4:
    0x0040244c lw t9, -0x7f64(gp)            |     t9 = *(gp);
    0x00402450 move a0, s1                   |     a0 = s1;
    0x00402454 jalr t9                       |     t9 ();
    0x00402458 move v0, s0                   |     v0 = s0;
    0x0040245c lw v1, 0xc4(fp)               |     v1 = *(arg_c4h);
    0x00402460 lw t8, (s5)                   |     t8 = *(s5);
    0x00402464 lw gp, 0x20(fp)               |     gp = *(arg_20h);
                                             |     if (v1 != t8) {
    0x00402468 beq v1, t8, 0x4024ec          |         
    0x0040246c lw t9, -0x7f88(gp)            |         t9 = sym.imp.__stack_chk_fail;
    0x00402470 jalr t9                       |         t9 ();
    0x00402474 nop                           |         
    0x00402478 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x0040247c move sp, s4                   |         
    0x00402480 b 0x402494                    |         
    0x00402494 lw t9, -0x7f64(gp)            |         t9 = *(gp);
    0x00402498 move s0, a0                   |         s0 = a0;
    0x0040249c move a0, s1                   |         a0 = s1;
    0x004024a0 jalr t9                       |         t9 ();
    0x004024a4 lw gp, 0x20(fp)               |         gp = *(arg_20h);
    0x004024a8 lw t9, -0x7f80(gp)            |         t9 = sym.imp._Unwind_Resume;
    0x004024ac move a0, s0                   |         a0 = s0;
    0x004024b0 jalr t9                       |         t9 ();
                                             | label_8:
    0x004024b4 addiu a2, zero, 0xcc          |         a2 = 0xcc;
    0x004024b8 b 0x402238                    |         goto label_0;
                                             | label_9:
    0x004024bc addiu a2, zero, 0x180         |         a2 = 0x180;
    0x004024c0 b 0x402238                    |         goto label_0;
                                             | label_10:
    0x004024c4 addiu a2, zero, 0x10          |         a2 = 0x10;
    0x004024c8 b 0x402238                    |         goto label_0;
                                             | label_7:
    0x004024cc addiu a2, zero, 0x20          |         a2 = 0x20;
    0x004024d0 b 0x402238                    |         goto label_0;
                                             | label_12:
    0x004024d4 addiu a2, zero, 0x5f          |         a2 = 0x5f;
    0x004024d8 b 0x402238                    |         goto label_0;
                                             | label_13:
    0x004024dc addiu a2, zero, 0x18a         |         a2 = 0x18a;
    0x004024e0 b 0x402238                    |         goto label_0;
                                             | label_6:
    0x004024e4 addiu a2, zero, 0x40          |         a2 = 0x40;
    0x004024e8 b 0x40221c                    |         goto label_1;
                                             |     }
    0x004024ec move sp, fp                   |     
    0x004024f0 lw ra, 0xec(sp)               |     ra = *(var_ech);
    0x004024f4 lw fp, 0xe8(sp)               |     fp = *(var_e8h);
    0x004024f8 lw s7, 0xe4(sp)               |     s7 = *(var_e4h);
    0x004024fc lw s6, 0xe0(sp)               |     s6 = *(var_e0h);
    0x00402500 lw s5, 0xdc(sp)               |     s5 = *(var_dch);
    0x00402504 lw s4, 0xd8(sp)               |     s4 = *(var_d8h);
    0x00402508 lw s3, 0xd4(sp)               |     s3 = *(var_d4h);
    0x0040250c lw s2, 0xd0(sp)               |     s2 = *(var_d0h);
    0x00402510 lw s1, 0xcc(sp)               |     s1 = *(var_cch);
    0x00402514 lw s0, 0xc8(sp)               |     s0 = *(var_c8h);
    0x00402518 addiu sp, sp, 0xf0            |     
    0x0040251c jr ra                         |     return v1;
                                             | }

[*] Function printf used 3 times mdb