[*] 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