[*] Binary protection state of mfgbox
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function system tear down of mfgbox
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x4061f4 */
| #include <stdint.h>
|
; (fcn) sym.SetVolume_int__char_const_ () | void SetVolume_int_char_const_ () {
| /* SetVolume(int, char const**) */
0x004061f4 lui gp, 2 |
0x004061f8 addiu gp, gp, -0x11a4 |
0x004061fc addu gp, gp, t9 | gp += t9;
0x00406200 addiu sp, sp, -0x1060 |
0x00406204 sw ra, 0x105c(sp) | *(var_105ch) = ra;
0x00406208 sw fp, 0x1058(sp) | *(var_1058h) = fp;
0x0040620c sw s0, 0x1054(sp) | *(var_1054h) = s0;
0x00406210 move fp, sp | fp = sp;
0x00406214 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00406218 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x0040621c sw a1, 0x18(fp) | *(arg_18h) = a1;
0x00406220 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00406224 lw t8, (t8) | t8 = *(t8);
0x00406228 sw t8, 0x104c(fp) | *(arg_104ch) = t8;
0x0040622c addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406230 move a0, t8 | a0 = t8;
0x00406234 lw t8, -0x7f80(gp) | t8 = *(gp);
0x00406238 move t9, t8 | t9 = t8;
0x0040623c jalr t9 | t9 ();
0x00406240 nop |
0x00406244 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406248 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x0040624c lw t8, 4(t8) | t8 = *((t8 + 1));
0x00406250 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00406254 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00406258 lw t8, 8(t8) | t8 = *((t8 + 2));
0x0040625c sw t8, 0x28(fp) | *(arg_28h) = t8;
0x00406260 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00406264 addiu t8, zero, 3 | t8 = 3;
| if (v0 != t8) {
0x00406268 beq v0, t8, 0x406294 |
0x0040626c nop |
0x00406270 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x00406170 */
0x00406274 addiu t8, t8, 0x6170 | t8 += 0x6170;
0x00406278 move t9, t8 | t9 = t8;
0x0040627c jalr t9 | t9 ();
0x00406280 nop |
0x00406284 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406288 move s0, zero | s0 = 0;
0x0040628c b 0x406534 | goto label_0;
0x00406290 nop |
| }
0x00406294 sw zero, 0x20(fp) | *(arg_20h) = 0;
0x00406298 b 0x4062f0 | goto label_1;
0x0040629c nop |
| do {
0x004062a0 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004062a4 lw v0, 0x28(fp) | v0 = *(arg_28h);
0x004062a8 addu t8, v0, t8 | t8 = v0 + t8;
0x004062ac lb t8, (t8) | t8 = *(t8);
0x004062b0 addiu t8, t8, -0x30 | t8 += -0x30;
0x004062b4 sltiu t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
| if (t8 == 0) {
0x004062b8 bnez t8, 0x4062e4 |
0x004062bc nop |
0x004062c0 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x00406170 */
0x004062c4 addiu t8, t8, 0x6170 | t8 += 0x6170;
0x004062c8 move t9, t8 | t9 = t8;
0x004062cc jalr t9 | t9 ();
0x004062d0 nop |
0x004062d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004062d8 move s0, zero | s0 = 0;
0x004062dc b 0x406534 | goto label_0;
0x004062e0 nop |
| }
0x004062e4 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004062e8 addiu t8, t8, 1 | t8++;
0x004062ec sw t8, 0x20(fp) | *(arg_20h) = t8;
| label_1:
0x004062f0 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004062f4 lw v0, 0x28(fp) | v0 = *(arg_28h);
0x004062f8 addu t8, v0, t8 | t8 = v0 + t8;
0x004062fc lb t8, (t8) | t8 = *(t8);
0x00406300 bnez t8, 0x4062a0 |
| } while (t8 != 0);
0x00406304 nop |
0x00406308 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x0040630c lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00406310 move t9, t8 | t9 = t8;
0x00406314 jalr t9 | t9 ();
0x00406318 nop |
0x0040631c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406320 sw v0, 0x2c(fp) | *(arg_2ch) = v0;
0x00406324 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00406328 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.speaker */
0x0040632c addiu a1, t8, -0x54c8 | a1 = t8 + -0x54c8;
0x00406330 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406334 move t9, t8 | t9 = t8;
0x00406338 jalr t9 | t9 ();
0x0040633c nop |
0x00406340 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406344 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00406348 bnez t8, 0x40639c |
0x0040634c nop |
0x00406350 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
| if (t8 < 0) {
0x00406354 bltz t8, 0x40639c | goto label_2;
| }
0x00406358 nop |
0x0040635c lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00406360 slti t8, t8, 0x65 | t8 = (t8 < 0x65) ? 1 : 0;
| if (t8 == 0) {
0x00406364 beqz t8, 0x40639c | goto label_2;
| }
0x00406368 nop |
0x0040636c addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406370 move a0, t8 | a0 = t8;
0x00406374 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Speaker */
0x00406378 addiu a1, t8, -0x54c0 | a1 = t8 + -0x54c0;
0x0040637c move a2, zero | a2 = 0;
0x00406380 lw t8, -0x7f1c(gp) | t8 = *(gp);
0x00406384 move t9, t8 | t9 = t8;
0x00406388 jalr t9 | t9 ();
0x0040638c nop |
0x00406390 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406394 b 0x406438 | goto label_3;
0x00406398 nop |
| }
| label_2:
0x0040639c lw a0, 0x24(fp) | a0 = *(arg_24h);
0x004063a0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'mic' */
0x004063a4 addiu a1, t8, -0x54b8 | a1 = t8 + -0x54b8;
0x004063a8 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004063ac move t9, t8 | t9 = t8;
0x004063b0 jalr t9 | t9 ();
0x004063b4 nop |
0x004063b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004063bc move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004063c0 bnez t8, 0x406414 |
0x004063c4 nop |
0x004063c8 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
| if (t8 < 0) {
0x004063cc bltz t8, 0x406414 | goto label_4;
| }
0x004063d0 nop |
0x004063d4 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004063d8 slti t8, t8, 0x65 | t8 = (t8 < 0x65) ? 1 : 0;
| if (t8 == 0) {
0x004063dc beqz t8, 0x406414 | goto label_4;
| }
0x004063e0 nop |
0x004063e4 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004063e8 move a0, t8 | a0 = t8;
0x004063ec lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Microphone */
0x004063f0 addiu a1, t8, -0x54b4 | a1 = t8 + -0x54b4;
0x004063f4 move a2, zero | a2 = 0;
0x004063f8 lw t8, -0x7f1c(gp) | t8 = *(gp);
0x004063fc move t9, t8 | t9 = t8;
0x00406400 jalr t9 | t9 ();
0x00406404 nop |
0x00406408 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040640c b 0x406438 | goto label_3;
0x00406410 nop |
| }
| label_4:
0x00406414 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x00406170 */
0x00406418 addiu t8, t8, 0x6170 | t8 += 0x6170;
0x0040641c move t9, t8 | t9 = t8;
0x00406420 jalr t9 | t9 ();
0x00406424 nop |
0x00406428 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040642c move s0, zero | s0 = 0;
0x00406430 b 0x406534 | goto label_0;
0x00406434 nop |
| label_3:
0x00406438 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040643c move a0, t8 | a0 = t8;
0x00406440 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Enable */
0x00406444 addiu a1, t8, -0x54a8 | a1 = t8 + -0x54a8;
0x00406448 addiu a2, zero, 1 | a2 = 1;
0x0040644c lw t8, -0x7edc(gp) | t8 = *(gp);
0x00406450 move t9, t8 | t9 = t8;
0x00406454 jalr t9 | t9 ();
0x00406458 nop |
0x0040645c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406460 lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x00406464 andi t8, t8, 0xff | t8 &= 0xff;
0x00406468 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x0040646c move a0, v0 | a0 = v0;
0x00406470 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.Volume */
0x00406474 addiu a1, v0, -0x54a0 | a1 = v0 + -0x54a0;
0x00406478 move a2, t8 | a2 = t8;
0x0040647c lw t8, -0x7edc(gp) | t8 = *(gp);
0x00406480 move t9, t8 | t9 = t8;
0x00406484 jalr t9 | t9 ();
0x00406488 nop |
0x0040648c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406490 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406494 move a0, t8 | a0 = t8;
0x00406498 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Volume */
0x0040649c addiu a1, t8, -0x54a0 | a1 = t8 + -0x54a0;
0x004064a0 lw t8, -0x7eb8(gp) | t8 = *(gp);
0x004064a4 move t9, t8 | t9 = t8;
0x004064a8 jalr t9 | t9 ();
0x004064ac nop |
0x004064b0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004064b4 move t8, v0 | t8 = v0;
0x004064b8 move v0, t8 | v0 = t8;
0x004064bc lw t8, 0x2c(fp) | t8 = *(arg_2ch);
0x004064c0 xor t8, v0, t8 | t8 = v0 ^ t8;
0x004064c4 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x004064c8 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004064cc beqz t8, 0x406514 |
0x004064d0 nop |
0x004064d4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_avcd.sh_reload_acd____dev_null */
0x004064d8 addiu a0, t8, -0x5498 | a0 = t8 + -0x5498;
0x004064dc lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x004064e0 move t9, t8 | t9 = t8;
0x004064e4 jalr t9 | t9 ();
0x004064e8 nop |
0x004064ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004064f0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004064f4 addiu a0, t8, -0x5468 | a0 = t8 + -0x5468;
0x004064f8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004064fc move t9, t8 | t9 = t8;
0x00406500 jalr t9 | t9 ();
0x00406504 nop |
0x00406508 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040650c b 0x406530 | goto label_5;
0x00406510 nop |
| }
0x00406514 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00406518 addiu a0, t8, -0x5464 | a0 = t8 + -0x5464;
0x0040651c lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406520 move t9, t8 | t9 = t8;
0x00406524 jalr t9 | t9 ();
0x00406528 nop |
0x0040652c lw gp, 0x10(fp) | gp = *(arg_10h);
| label_5:
0x00406530 addiu s0, zero, 1 | s0 = 1;
| label_0:
0x00406534 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406538 move a0, t8 | a0 = t8;
0x0040653c lw t8, -0x7f04(gp) | t8 = sym.imp.TinyDB::TinyDB__;
0x00406540 move t9, t8 | t9 = t8;
0x00406544 jalr t9 | t9 ();
0x00406548 nop |
0x0040654c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406550 addiu t8, zero, 1 | t8 = 1;
| if (s0 == t8) {
0x00406554 bne s0, t8, 0x406674 |
0x00406558 nop |
0x0040655c nop |
0x00406560 b 0x406674 | goto label_6;
0x00406564 nop |
| }
| label_6:
0x00406674 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00406678 lw v0, 0x104c(fp) | v0 = *(arg_104ch);
0x0040667c lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00406680 beq v0, t8, 0x406698 |
0x00406684 nop |
0x00406688 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x0040668c move t9, t8 | t9 = t8;
0x00406690 jalr t9 | t9 ();
0x00406694 nop |
| }
0x00406698 move sp, fp |
0x0040669c lw ra, 0x105c(sp) | ra = *(var_105ch);
0x004066a0 lw fp, 0x1058(sp) | fp = *(var_1058h);
0x004066a4 lw s0, 0x1054(sp) | s0 = *(var_1054h);
0x004066a8 addiu sp, sp, 0x1060 |
0x004066ac jr ra | return v0;
0x004066b0 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x409544 */
| #include <stdint.h>
|
; (fcn) sym.TestGPIO_int_ () | void TestGPIO_int_ () {
| /* TestGPIO(int) */
0x00409544 lui gp, 2 |
0x00409548 addiu gp, gp, -0x44f4 |
0x0040954c addu gp, gp, t9 | gp += t9;
0x00409550 addiu sp, sp, -0x1258 |
0x00409554 sw ra, 0x1254(sp) | *(var_1254h) = ra;
0x00409558 sw fp, 0x1250(sp) | *(var_1250h) = fp;
0x0040955c sw s0, 0x124c(sp) | *(var_124ch) = s0;
0x00409560 move fp, sp | fp = sp;
0x00409564 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00409568 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x0040956c lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00409570 lw t8, (t8) | t8 = *(t8);
0x00409574 sw t8, 0x1244(fp) | *(arg_1244h) = t8;
0x00409578 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040957c move a0, t8 | a0 = t8;
0x00409580 lw t8, -0x7f80(gp) | t8 = *(gp);
0x00409584 move t9, t8 | t9 = t8;
0x00409588 jalr t9 | t9 ();
0x0040958c nop |
0x00409590 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409594 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00409598 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x0040959c beq v0, t8, 0x4095c8 |
0x004095a0 nop |
0x004095a4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* aav.0x004094c0 */
0x004095a8 addiu t8, t8, -0x6b40 | t8 += -0x6b40;
0x004095ac move t9, t8 | t9 = t8;
0x004095b0 jalr t9 | t9 ();
0x004095b4 nop |
0x004095b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004095bc move s0, zero | s0 = 0;
0x004095c0 b 0x4099cc | goto label_0;
0x004095c4 nop |
| }
0x004095c8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004095cc move a0, t8 | a0 = t8;
0x004095d0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.GPIO */
0x004095d4 addiu a1, t8, -0x4c4c | a1 = t8 + -0x4c4c;
0x004095d8 move a2, zero | a2 = 0;
0x004095dc lw t8, -0x7f1c(gp) | t8 = *(gp);
0x004095e0 move t9, t8 | t9 = t8;
0x004095e4 jalr t9 | t9 ();
0x004095e8 nop |
0x004095ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004095f0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004095f4 move a0, t8 | a0 = t8;
0x004095f8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.OUT1 */
0x004095fc addiu a1, t8, -0x4c44 | a1 = t8 + -0x4c44;
0x00409600 lw t8, -0x7eb8(gp) | t8 = *(gp);
0x00409604 move t9, t8 | t9 = t8;
0x00409608 jalr t9 | t9 ();
0x0040960c nop |
0x00409610 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409614 move t8, v0 | t8 = v0;
0x00409618 sw t8, 0x20(fp) | *(arg_20h) = t8;
0x0040961c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00409620 move a0, t8 | a0 = t8;
0x00409624 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.OUT1 */
0x00409628 addiu a1, t8, -0x4c44 | a1 = t8 + -0x4c44;
0x0040962c addiu a2, zero, 1 | a2 = 1;
0x00409630 lw t8, -0x7edc(gp) | t8 = *(gp);
0x00409634 move t9, t8 | t9 = t8;
0x00409638 jalr t9 | t9 ();
0x0040963c nop |
0x00409640 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409644 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_watchDog.sh_reload____dev_null_2___dev_null */
0x00409648 addiu a0, t8, -0x4c3c | a0 = t8 + -0x4c3c;
0x0040964c lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00409650 move t9, t8 | t9 = t8;
0x00409654 jalr t9 | t9 ();
0x00409658 nop |
0x0040965c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409660 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light_out1_on__sniff_out1 */
0x00409664 addiu a0, t8, -0x4bfc | a0 = t8 + -0x4bfc;
0x00409668 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x0040966c addiu a1, t8, -0x4be0 | a1 = t8 + -0x4be0;
0x00409670 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00409674 move t9, t8 | t9 = t8;
0x00409678 jalr t9 | t9 ();
0x0040967c nop |
0x00409680 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409684 move t8, v0 | t8 = v0;
0x00409688 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x0040968c addiu t8, fp, 0x1044 | t8 = fp + 0x1044;
0x00409690 move a0, t8 | a0 = t8;
0x00409694 addiu a1, zero, 0x80 | a1 = 0x80;
0x00409698 lw a2, 0x24(fp) | a2 = *(arg_24h);
0x0040969c lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x004096a0 move t9, t8 | t9 = t8;
0x004096a4 jalr t9 | t9 ();
0x004096a8 nop |
0x004096ac lw gp, 0x10(fp) | gp = *(arg_10h);
0x004096b0 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x004096b4 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x004096b8 move t9, t8 | t9 = t8;
0x004096bc jalr t9 | t9 ();
0x004096c0 nop |
0x004096c4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004096c8 addiu t8, fp, 0x1044 | t8 = fp + 0x1044;
0x004096cc move a0, t8 | a0 = t8;
0x004096d0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'on' */
0x004096d4 addiu a1, t8, -0x4bdc | a1 = t8 + -0x4bdc;
0x004096d8 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x004096dc move t9, t8 | t9 = t8;
0x004096e0 jalr t9 | t9 ();
0x004096e4 nop |
0x004096e8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004096ec move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004096f0 bnez t8, 0x409720 |
0x004096f4 nop |
0x004096f8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.failed */
0x004096fc addiu a0, t8, -0x4bd8 | a0 = t8 + -0x4bd8;
0x00409700 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00409704 move t9, t8 | t9 = t8;
0x00409708 jalr t9 | t9 ();
0x0040970c nop |
0x00409710 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409714 move s0, zero | s0 = 0;
0x00409718 b 0x4099cc | goto label_0;
0x0040971c nop |
| }
0x00409720 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.sniff_in1 */
0x00409724 addiu a0, t8, -0x4bd0 | a0 = t8 + -0x4bd0;
0x00409728 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x0040972c addiu a1, t8, -0x4be0 | a1 = t8 + -0x4be0;
0x00409730 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00409734 move t9, t8 | t9 = t8;
0x00409738 jalr t9 | t9 ();
0x0040973c nop |
0x00409740 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409744 move t8, v0 | t8 = v0;
0x00409748 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x0040974c addiu t8, fp, 0x10c4 | t8 = fp + 0x10c4;
0x00409750 move a0, t8 | a0 = t8;
0x00409754 addiu a1, zero, 0x80 | a1 = 0x80;
0x00409758 lw a2, 0x24(fp) | a2 = *(arg_24h);
0x0040975c lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x00409760 move t9, t8 | t9 = t8;
0x00409764 jalr t9 | t9 ();
0x00409768 nop |
0x0040976c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409770 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00409774 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x00409778 move t9, t8 | t9 = t8;
0x0040977c jalr t9 | t9 ();
0x00409780 nop |
0x00409784 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409788 addiu t8, fp, 0x10c4 | t8 = fp + 0x10c4;
0x0040978c move a0, t8 | a0 = t8;
0x00409790 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'on' */
0x00409794 addiu a1, t8, -0x4bdc | a1 = t8 + -0x4bdc;
0x00409798 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x0040979c move t9, t8 | t9 = t8;
0x004097a0 jalr t9 | t9 ();
0x004097a4 nop |
0x004097a8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004097ac move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004097b0 bnez t8, 0x4097e0 |
0x004097b4 nop |
0x004097b8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.failed */
0x004097bc addiu a0, t8, -0x4bd8 | a0 = t8 + -0x4bd8;
0x004097c0 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004097c4 move t9, t8 | t9 = t8;
0x004097c8 jalr t9 | t9 ();
0x004097cc nop |
0x004097d0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004097d4 move s0, zero | s0 = 0;
0x004097d8 b 0x4099cc | goto label_0;
0x004097dc nop |
| }
0x004097e0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light_out1_off__sniff_out1 */
0x004097e4 addiu a0, t8, -0x4bc4 | a0 = t8 + -0x4bc4;
0x004097e8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x004097ec addiu a1, t8, -0x4be0 | a1 = t8 + -0x4be0;
0x004097f0 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x004097f4 move t9, t8 | t9 = t8;
0x004097f8 jalr t9 | t9 ();
0x004097fc nop |
0x00409800 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409804 move t8, v0 | t8 = v0;
0x00409808 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x0040980c addiu t8, fp, 0x1144 | t8 = fp + 0x1144;
0x00409810 move a0, t8 | a0 = t8;
0x00409814 addiu a1, zero, 0x80 | a1 = 0x80;
0x00409818 lw a2, 0x24(fp) | a2 = *(arg_24h);
0x0040981c lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x00409820 move t9, t8 | t9 = t8;
0x00409824 jalr t9 | t9 ();
0x00409828 nop |
0x0040982c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409830 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00409834 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x00409838 move t9, t8 | t9 = t8;
0x0040983c jalr t9 | t9 ();
0x00409840 nop |
0x00409844 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409848 addiu t8, fp, 0x1144 | t8 = fp + 0x1144;
0x0040984c move a0, t8 | a0 = t8;
0x00409850 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'off' */
0x00409854 addiu a1, t8, -0x4ba4 | a1 = t8 + -0x4ba4;
0x00409858 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x0040985c move t9, t8 | t9 = t8;
0x00409860 jalr t9 | t9 ();
0x00409864 nop |
0x00409868 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040986c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00409870 bnez t8, 0x4098a0 |
0x00409874 nop |
0x00409878 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.failed */
0x0040987c addiu a0, t8, -0x4bd8 | a0 = t8 + -0x4bd8;
0x00409880 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00409884 move t9, t8 | t9 = t8;
0x00409888 jalr t9 | t9 ();
0x0040988c nop |
0x00409890 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409894 move s0, zero | s0 = 0;
0x00409898 b 0x4099cc | goto label_0;
0x0040989c nop |
| }
0x004098a0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.sniff_in1 */
0x004098a4 addiu a0, t8, -0x4bd0 | a0 = t8 + -0x4bd0;
0x004098a8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x004098ac addiu a1, t8, -0x4be0 | a1 = t8 + -0x4be0;
0x004098b0 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x004098b4 move t9, t8 | t9 = t8;
0x004098b8 jalr t9 | t9 ();
0x004098bc nop |
0x004098c0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004098c4 move t8, v0 | t8 = v0;
0x004098c8 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x004098cc addiu t8, fp, 0x11c4 | t8 = fp + 0x11c4;
0x004098d0 move a0, t8 | a0 = t8;
0x004098d4 addiu a1, zero, 0x80 | a1 = 0x80;
0x004098d8 lw a2, 0x24(fp) | a2 = *(arg_24h);
0x004098dc lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x004098e0 move t9, t8 | t9 = t8;
0x004098e4 jalr t9 | t9 ();
0x004098e8 nop |
0x004098ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004098f0 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x004098f4 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x004098f8 move t9, t8 | t9 = t8;
0x004098fc jalr t9 | t9 ();
0x00409900 nop |
0x00409904 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409908 addiu t8, fp, 0x11c4 | t8 = fp + 0x11c4;
0x0040990c move a0, t8 | a0 = t8;
0x00409910 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'off' */
0x00409914 addiu a1, t8, -0x4ba4 | a1 = t8 + -0x4ba4;
0x00409918 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x0040991c move t9, t8 | t9 = t8;
0x00409920 jalr t9 | t9 ();
0x00409924 nop |
0x00409928 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040992c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00409930 bnez t8, 0x409960 |
0x00409934 nop |
0x00409938 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.failed */
0x0040993c addiu a0, t8, -0x4bd8 | a0 = t8 + -0x4bd8;
0x00409940 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00409944 move t9, t8 | t9 = t8;
0x00409948 jalr t9 | t9 ();
0x0040994c nop |
0x00409950 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409954 move s0, zero | s0 = 0;
0x00409958 b 0x4099cc | goto label_0;
0x0040995c nop |
| }
0x00409960 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x00409964 andi t8, t8, 0xff | t8 &= 0xff;
0x00409968 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x0040996c move a0, v0 | a0 = v0;
0x00409970 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.OUT1 */
0x00409974 addiu a1, v0, -0x4c44 | a1 = v0 + -0x4c44;
0x00409978 move a2, t8 | a2 = t8;
0x0040997c lw t8, -0x7edc(gp) | t8 = *(gp);
0x00409980 move t9, t8 | t9 = t8;
0x00409984 jalr t9 | t9 ();
0x00409988 nop |
0x0040998c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409990 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_watchDog.sh_reload____dev_null_2___dev_null */
0x00409994 addiu a0, t8, -0x4c3c | a0 = t8 + -0x4c3c;
0x00409998 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x0040999c move t9, t8 | t9 = t8;
0x004099a0 jalr t9 | t9 ();
0x004099a4 nop |
0x004099a8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004099ac lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004099b0 addiu a0, t8, -0x4ba0 | a0 = t8 + -0x4ba0;
0x004099b4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004099b8 move t9, t8 | t9 = t8;
0x004099bc jalr t9 | t9 ();
0x004099c0 nop |
0x004099c4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004099c8 addiu s0, zero, 1 | s0 = 1;
| label_0:
0x004099cc addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004099d0 move a0, t8 | a0 = t8;
0x004099d4 lw t8, -0x7f04(gp) | t8 = sym.imp.TinyDB::TinyDB__;
0x004099d8 move t9, t8 | t9 = t8;
0x004099dc jalr t9 | t9 ();
0x004099e0 nop |
0x004099e4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004099e8 addiu t8, zero, 1 | t8 = 1;
| if (s0 == t8) {
0x004099ec bne s0, t8, 0x409b0c |
0x004099f0 nop |
0x004099f4 nop |
0x004099f8 b 0x409b0c | goto label_1;
0x004099fc nop |
| }
| label_1:
0x00409b0c lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00409b10 lw v0, 0x1244(fp) | v0 = *(arg_1244h);
0x00409b14 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00409b18 beq v0, t8, 0x409b30 |
0x00409b1c nop |
0x00409b20 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00409b24 move t9, t8 | t9 = t8;
0x00409b28 jalr t9 | t9 ();
0x00409b2c nop |
| }
0x00409b30 move sp, fp |
0x00409b34 lw ra, 0x1254(sp) | ra = *(var_1254h);
0x00409b38 lw fp, 0x1250(sp) | fp = *(var_1250h);
0x00409b3c lw s0, 0x124c(sp) | s0 = *(var_124ch);
0x00409b40 addiu sp, sp, 0x1258 |
0x00409b44 jr ra | return v0;
0x00409b48 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x40677c */
| #include <stdint.h>
|
; (fcn) sym.TestIR_int__char_const_ () | void TestIR_int_char_const_ () {
| /* TestIR(int, char const**) */
0x0040677c lui gp, 2 |
0x00406780 addiu gp, gp, -0x172c |
0x00406784 addu gp, gp, t9 | gp += t9;
0x00406788 addiu sp, sp, -0x4588 |
0x0040678c sw ra, 0x4584(sp) | *(arg_4584h) = ra;
0x00406790 sw fp, 0x4580(sp) | *(arg_4580h) = fp;
0x00406794 sw s0, 0x457c(sp) | *(arg_457ch) = s0;
0x00406798 move fp, sp | fp = sp;
0x0040679c sw gp, 0x10(sp) | *(arg_10h) = gp;
0x004067a0 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x004067a4 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x004067a8 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004067ac lw t8, (t8) | t8 = *(t8);
0x004067b0 sw t8, 0x4574(fp) | *(arg_4574h) = t8;
0x004067b4 addiu t8, fp, 0x104c | t8 = fp + 0x104c;
0x004067b8 move a0, t8 | a0 = t8;
0x004067bc lw t8, -0x7f84(gp) | t8 = *(gp);
0x004067c0 move t9, t8 | t9 = t8;
0x004067c4 jalr t9 | t9 ();
0x004067c8 nop |
0x004067cc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004067d0 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004067d4 move a0, t8 | a0 = t8;
0x004067d8 lw t8, -0x7f80(gp) | t8 = *(gp);
0x004067dc move t9, t8 | t9 = t8;
0x004067e0 jalr t9 | t9 ();
0x004067e4 nop |
0x004067e8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004067ec addiu t8, fp, 0x104c | t8 = fp + 0x104c;
0x004067f0 move a0, t8 | a0 = t8;
0x004067f4 lw t8, -0x7f18(gp) | t8 = *(gp);
0x004067f8 move t9, t8 | t9 = t8;
0x004067fc jalr t9 | t9 ();
0x00406800 nop |
0x00406804 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406808 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040680c move a0, t8 | a0 = t8;
0x00406810 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'Image' */
0x00406814 addiu a1, t8, -0x53d8 | a1 = t8 + -0x53d8;
0x00406818 move a2, zero | a2 = 0;
0x0040681c lw t8, -0x7f1c(gp) | t8 = *(gp);
0x00406820 move t9, t8 | t9 = t8;
0x00406824 jalr t9 | t9 ();
0x00406828 nop |
0x0040682c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406830 addiu t8, fp, 0x104c | t8 = fp + 0x104c;
0x00406834 move a0, t8 | a0 = t8;
0x00406838 addiu a1, zero, 8 | a1 = 8;
0x0040683c lw t8, -0x7f68(gp) | t8 = *(gp);
0x00406840 move t9, t8 | t9 = t8;
0x00406844 jalr t9 | t9 ();
0x00406848 nop |
0x0040684c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406850 move t8, v0 | t8 = v0;
0x00406854 xori t8, t8, 1 | t8 ^= 1;
0x00406858 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x0040685c beqz t8, 0x40688c |
0x00406860 nop |
0x00406864 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.No_IR_Device */
0x00406868 addiu a0, t8, -0x53d0 | a0 = t8 + -0x53d0;
0x0040686c lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406870 move t9, t8 | t9 = t8;
0x00406874 jalr t9 | t9 ();
0x00406878 nop |
0x0040687c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406880 move s0, zero | s0 = 0;
0x00406884 b 0x406be4 | goto label_0;
0x00406888 nop |
| }
0x0040688c lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00406890 lw t8, 4(t8) | t8 = *((t8 + 1));
0x00406894 sw t8, 0x20(fp) | *(arg_20h) = t8;
0x00406898 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x0040689c addiu t8, zero, 2 | t8 = 2;
| if (v0 == t8) {
0x004068a0 bne v0, t8, 0x4068f8 |
0x004068a4 nop |
0x004068a8 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x004068ac lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'auto' */
0x004068b0 addiu a1, t8, -0x53c0 | a1 = t8 + -0x53c0;
0x004068b4 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004068b8 move t9, t8 | t9 = t8;
0x004068bc jalr t9 | t9 ();
0x004068c0 nop |
0x004068c4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004068c8 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x004068cc bnez t8, 0x4068f8 | goto label_1;
| }
0x004068d0 nop |
0x004068d4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light_ir_auto */
0x004068d8 addiu a0, t8, -0x53b8 | a0 = t8 + -0x53b8;
0x004068dc lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x004068e0 move t9, t8 | t9 = t8;
0x004068e4 jalr t9 | t9 ();
0x004068e8 nop |
0x004068ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004068f0 b 0x406be0 | goto label_2;
0x004068f4 nop |
| }
| label_1:
0x004068f8 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x004068fc addiu t8, zero, 3 | t8 = 3;
| if (v0 == t8) {
0x00406900 bne v0, t8, 0x406a00 |
0x00406904 nop |
0x00406908 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x0040690c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.manual */
0x00406910 addiu a1, t8, -0x53a8 | a1 = t8 + -0x53a8;
0x00406914 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406918 move t9, t8 | t9 = t8;
0x0040691c jalr t9 | t9 ();
0x00406920 nop |
0x00406924 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406928 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x0040692c bnez t8, 0x406a00 | goto label_3;
| }
0x00406930 nop |
0x00406934 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00406938 lw t8, 8(t8) | t8 = *((t8 + 2));
0x0040693c sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00406940 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00406944 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'on' */
0x00406948 addiu a1, t8, -0x53a0 | a1 = t8 + -0x53a0;
0x0040694c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406950 move t9, t8 | t9 = t8;
0x00406954 jalr t9 | t9 ();
0x00406958 nop |
0x0040695c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406960 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00406964 bnez t8, 0x406990 |
0x00406968 nop |
0x0040696c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light_ir_on */
0x00406970 addiu a0, t8, -0x539c | a0 = t8 + -0x539c;
0x00406974 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00406978 move t9, t8 | t9 = t8;
0x0040697c jalr t9 | t9 ();
0x00406980 nop |
0x00406984 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406988 b 0x406be0 | goto label_2;
0x0040698c nop |
| }
0x00406990 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00406994 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'off' */
0x00406998 addiu a1, t8, -0x5390 | a1 = t8 + -0x5390;
0x0040699c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004069a0 move t9, t8 | t9 = t8;
0x004069a4 jalr t9 | t9 ();
0x004069a8 nop |
0x004069ac lw gp, 0x10(fp) | gp = *(arg_10h);
0x004069b0 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004069b4 bnez t8, 0x4069e0 |
0x004069b8 nop |
0x004069bc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light_ir_off */
0x004069c0 addiu a0, t8, -0x538c | a0 = t8 + -0x538c;
0x004069c4 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x004069c8 move t9, t8 | t9 = t8;
0x004069cc jalr t9 | t9 ();
0x004069d0 nop |
0x004069d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004069d8 b 0x406be0 | goto label_2;
0x004069dc nop |
| }
0x004069e0 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004066c0 */
0x004069e4 addiu t8, t8, 0x66c0 | t8 += 0x66c0;
0x004069e8 move t9, t8 | t9 = t8;
0x004069ec jalr t9 | t9 ();
0x004069f0 nop |
0x004069f4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004069f8 b 0x406be0 | goto label_2;
0x004069fc nop |
| }
| label_3:
0x00406a00 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00406a04 addiu t8, zero, 3 | t8 = 3;
| if (v0 == t8) {
0x00406a08 bne v0, t8, 0x406bc8 |
0x00406a0c nop |
0x00406a10 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00406a14 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'get' */
0x00406a18 addiu a1, t8, -0x537c | a1 = t8 + -0x537c;
0x00406a1c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406a20 move t9, t8 | t9 = t8;
0x00406a24 jalr t9 | t9 ();
0x00406a28 nop |
0x00406a2c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406a30 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00406a34 bnez t8, 0x406bc8 | goto label_4;
| }
0x00406a38 nop |
0x00406a3c lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00406a40 lw t8, 8(t8) | t8 = *((t8 + 2));
0x00406a44 sw t8, 0x28(fp) | *(arg_28h) = t8;
0x00406a48 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00406a4c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.irMode */
0x00406a50 addiu a1, t8, -0x5378 | a1 = t8 + -0x5378;
0x00406a54 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406a58 move t9, t8 | t9 = t8;
0x00406a5c jalr t9 | t9 ();
0x00406a60 nop |
0x00406a64 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406a68 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00406a6c bnez t8, 0x406af4 |
0x00406a70 nop |
0x00406a74 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406a78 move a0, t8 | a0 = t8;
0x00406a7c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.IrAuto */
0x00406a80 addiu a1, t8, -0x5370 | a1 = t8 + -0x5370;
0x00406a84 lw t8, -0x7eb8(gp) | t8 = *(gp);
0x00406a88 move t9, t8 | t9 = t8;
0x00406a8c jalr t9 | t9 ();
0x00406a90 nop |
0x00406a94 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406a98 move t8, v0 | t8 = v0;
0x00406a9c sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00406aa0 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00406aa4 beqz t8, 0x406ad0 |
0x00406aa8 nop |
0x00406aac lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.manual */
0x00406ab0 addiu a0, t8, -0x53a8 | a0 = t8 + -0x53a8;
0x00406ab4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406ab8 move t9, t8 | t9 = t8;
0x00406abc jalr t9 | t9 ();
0x00406ac0 nop |
0x00406ac4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406ac8 b 0x406bc0 | goto label_5;
0x00406acc nop |
| }
0x00406ad0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'auto' */
0x00406ad4 addiu a0, t8, -0x53c0 | a0 = t8 + -0x53c0;
0x00406ad8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406adc move t9, t8 | t9 = t8;
0x00406ae0 jalr t9 | t9 ();
0x00406ae4 nop |
0x00406ae8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406aec b 0x406be0 | goto label_2;
0x00406af0 nop |
| }
0x00406af4 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00406af8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.irState */
0x00406afc addiu a1, t8, -0x5368 | a1 = t8 + -0x5368;
0x00406b00 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00406b04 move t9, t8 | t9 = t8;
0x00406b08 jalr t9 | t9 ();
0x00406b0c nop |
0x00406b10 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406b14 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00406b18 bnez t8, 0x406ba0 |
0x00406b1c nop |
0x00406b20 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406b24 move a0, t8 | a0 = t8;
0x00406b28 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.IrState */
0x00406b2c addiu a1, t8, -0x5360 | a1 = t8 + -0x5360;
0x00406b30 lw t8, -0x7eb8(gp) | t8 = *(gp);
0x00406b34 move t9, t8 | t9 = t8;
0x00406b38 jalr t9 | t9 ();
0x00406b3c nop |
0x00406b40 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406b44 move t8, v0 | t8 = v0;
0x00406b48 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00406b4c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00406b50 beqz t8, 0x406b7c |
0x00406b54 nop |
0x00406b58 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'off' */
0x00406b5c addiu a0, t8, -0x5390 | a0 = t8 + -0x5390;
0x00406b60 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406b64 move t9, t8 | t9 = t8;
0x00406b68 jalr t9 | t9 ();
0x00406b6c nop |
0x00406b70 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406b74 b 0x406bc0 | goto label_5;
0x00406b78 nop |
| }
0x00406b7c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'on' */
0x00406b80 addiu a0, t8, -0x53a0 | a0 = t8 + -0x53a0;
0x00406b84 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00406b88 move t9, t8 | t9 = t8;
0x00406b8c jalr t9 | t9 ();
0x00406b90 nop |
0x00406b94 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406b98 b 0x406be0 | goto label_2;
0x00406b9c nop |
| }
0x00406ba0 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004066c0 */
0x00406ba4 addiu t8, t8, 0x66c0 | t8 += 0x66c0;
0x00406ba8 move t9, t8 | t9 = t8;
0x00406bac jalr t9 | t9 ();
0x00406bb0 nop |
0x00406bb4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406bb8 b 0x406be0 | goto label_2;
0x00406bbc nop |
| label_5:
0x00406bc0 b 0x406be0 | goto label_2;
0x00406bc4 nop |
| }
| label_4:
0x00406bc8 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004066c0 */
0x00406bcc addiu t8, t8, 0x66c0 | t8 += 0x66c0;
0x00406bd0 move t9, t8 | t9 = t8;
0x00406bd4 jalr t9 | t9 ();
0x00406bd8 nop |
0x00406bdc lw gp, 0x10(fp) | gp = *(arg_10h);
| label_2:
0x00406be0 addiu s0, zero, 1 | s0 = 1;
| label_0:
0x00406be4 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00406be8 move a0, t8 | a0 = t8;
0x00406bec lw t8, -0x7f04(gp) | t8 = sym.imp.TinyDB::TinyDB__;
0x00406bf0 move t9, t8 | t9 = t8;
0x00406bf4 jalr t9 | t9 ();
0x00406bf8 nop |
0x00406bfc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406c00 addiu t8, zero, 1 | t8 = 1;
| if (s0 != t8) {
0x00406c04 beq s0, t8, 0x406c18 |
0x00406c08 nop |
0x00406c0c move s0, zero | s0 = 0;
0x00406c10 b 0x406c20 | goto label_6;
0x00406c14 nop |
| }
0x00406c18 nop |
0x00406c1c addiu s0, zero, 1 | s0 = 1;
| label_6:
0x00406c20 addiu t8, fp, 0x104c | t8 = fp + 0x104c;
0x00406c24 move a0, t8 | a0 = t8;
0x00406c28 lw t8, -0x7e4c(gp) | t8 = sym.imp.PIB::PIB__;
0x00406c2c move t9, t8 | t9 = t8;
0x00406c30 jalr t9 | t9 ();
0x00406c34 nop |
0x00406c38 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00406c3c addiu t8, zero, 1 | t8 = 1;
| if (s0 != t8) {
0x00406c40 beq s0, t8, 0x406c50 |
0x00406c44 nop |
0x00406c48 b 0x406e2c | goto label_7;
0x00406c4c nop |
| }
0x00406c50 nop |
0x00406c54 b 0x406e2c | goto label_7;
0x00406c58 nop |
| label_7:
0x00406e2c lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00406e30 lw v0, 0x4574(fp) | v0 = *(arg_4574h);
0x00406e34 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00406e38 beq v0, t8, 0x406e50 |
0x00406e3c nop |
0x00406e40 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00406e44 move t9, t8 | t9 = t8;
0x00406e48 jalr t9 | t9 ();
0x00406e4c nop |
| }
0x00406e50 move sp, fp |
0x00406e54 lw ra, 0x4584(sp) | ra = *(arg_4584h);
0x00406e58 lw fp, 0x4580(sp) | fp = *(arg_4580h);
0x00406e5c lw s0, 0x457c(sp) | s0 = *(arg_457ch);
0x00406e60 addiu sp, sp, 0x4588 |
0x00406e64 jr ra | return v0;
0x00406e68 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x4075dc */
| #include <stdint.h>
|
; (fcn) sym.TestLAN_int__char_const_ () | void TestLAN_int_char_const_ () {
| /* TestLAN(int, char const*) */
0x004075dc lui gp, 2 |
0x004075e0 addiu gp, gp, -0x258c |
0x004075e4 addu gp, gp, t9 | gp += t9;
0x004075e8 addiu sp, sp, -0x438 |
0x004075ec sw ra, 0x434(sp) | *(var_434h) = ra;
0x004075f0 sw fp, 0x430(sp) | *(var_430h) = fp;
0x004075f4 move fp, sp | fp = sp;
0x004075f8 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004075fc sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x00407600 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x00407604 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00407608 lw t8, (t8) | t8 = *(t8);
0x0040760c sw t8, 0x42c(fp) | *(arg_42ch) = t8;
0x00407610 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00407614 addiu t8, zero, 2 | t8 = 2;
| if (v0 != t8) {
0x00407618 beq v0, t8, 0x407640 |
0x0040761c nop |
0x00407620 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004072a0 */
0x00407624 addiu t8, t8, 0x72a0 | t8 += 0x72a0;
0x00407628 move t9, t8 | t9 = t8;
0x0040762c jalr t9 | t9 ();
0x00407630 nop |
0x00407634 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407638 b 0x408280 | goto label_0;
0x0040763c nop |
| }
0x00407640 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_ifplugd_stop____dev_null_2___dev_null */
0x00407644 addiu a0, t8, -0x515c | a0 = t8 + -0x515c;
0x00407648 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x0040764c move t9, t8 | t9 = t8;
0x00407650 jalr t9 | t9 ();
0x00407654 nop |
0x00407658 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040765c lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407660 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.10baseT_HD */
0x00407664 addiu a1, t8, -0x5124 | a1 = t8 + -0x5124;
0x00407668 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x0040766c move t9, t8 | t9 = t8;
0x00407670 jalr t9 | t9 ();
0x00407674 nop |
0x00407678 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040767c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407680 bnez t8, 0x407734 |
0x00407684 nop |
0x00407688 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040768c lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407690 move a1, t8 | a1 = t8;
0x00407694 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407698 move t9, t8 | t9 = t8;
0x0040769c jalr t9 | t9 ();
0x004076a0 nop |
0x004076a4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004076a8 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x004076ac move t9, t8 | t9 = t8;
0x004076b0 jalr t9 | t9 ();
0x004076b4 nop |
0x004076b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004076bc addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004076c0 move a0, t8 | a0 = t8;
0x004076c4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_10_Mbit__half_duplex__link_ok_n */
0x004076c8 addiu a1, t8, -0x5118 | a1 = t8 + -0x5118;
0x004076cc lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004076d0 move t9, t8 | t9 = t8;
0x004076d4 jalr t9 | t9 ();
0x004076d8 nop |
0x004076dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004076e0 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004076e4 bnez t8, 0x407710 |
0x004076e8 nop |
0x004076ec lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004076f0 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x004076f4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004076f8 move t9, t8 | t9 = t8;
0x004076fc jalr t9 | t9 ();
0x00407700 nop |
0x00407704 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407708 b 0x408280 | goto label_0;
0x0040770c nop |
| }
0x00407710 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407714 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407718 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x0040771c move t9, t8 | t9 = t8;
0x00407720 jalr t9 | t9 ();
0x00407724 nop |
0x00407728 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040772c b 0x408280 | goto label_0;
0x00407730 nop |
| }
0x00407734 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407738 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.10baseT_FD */
0x0040773c addiu a1, t8, -0x50e4 | a1 = t8 + -0x50e4;
0x00407740 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407744 move t9, t8 | t9 = t8;
0x00407748 jalr t9 | t9 ();
0x0040774c nop |
0x00407750 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407754 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407758 bnez t8, 0x40780c |
0x0040775c nop |
0x00407760 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407764 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407768 move a1, t8 | a1 = t8;
0x0040776c lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407770 move t9, t8 | t9 = t8;
0x00407774 jalr t9 | t9 ();
0x00407778 nop |
0x0040777c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407780 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407784 move t9, t8 | t9 = t8;
0x00407788 jalr t9 | t9 ();
0x0040778c nop |
0x00407790 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407794 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407798 move a0, t8 | a0 = t8;
0x0040779c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_10_Mbit__full_duplex__link_ok_n */
0x004077a0 addiu a1, t8, -0x50d8 | a1 = t8 + -0x50d8;
0x004077a4 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004077a8 move t9, t8 | t9 = t8;
0x004077ac jalr t9 | t9 ();
0x004077b0 nop |
0x004077b4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004077b8 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004077bc bnez t8, 0x4077e8 |
0x004077c0 nop |
0x004077c4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004077c8 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x004077cc lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004077d0 move t9, t8 | t9 = t8;
0x004077d4 jalr t9 | t9 ();
0x004077d8 nop |
0x004077dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004077e0 b 0x408280 | goto label_0;
0x004077e4 nop |
| }
0x004077e8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x004077ec addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x004077f0 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004077f4 move t9, t8 | t9 = t8;
0x004077f8 jalr t9 | t9 ();
0x004077fc nop |
0x00407800 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407804 b 0x408280 | goto label_0;
0x00407808 nop |
| }
0x0040780c lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407810 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.100baseTx_HD */
0x00407814 addiu a1, t8, -0x50b0 | a1 = t8 + -0x50b0;
0x00407818 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x0040781c move t9, t8 | t9 = t8;
0x00407820 jalr t9 | t9 ();
0x00407824 nop |
0x00407828 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040782c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407830 bnez t8, 0x4078e4 |
0x00407834 nop |
0x00407838 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040783c lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407840 move a1, t8 | a1 = t8;
0x00407844 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407848 move t9, t8 | t9 = t8;
0x0040784c jalr t9 | t9 ();
0x00407850 nop |
0x00407854 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407858 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x0040785c move t9, t8 | t9 = t8;
0x00407860 jalr t9 | t9 ();
0x00407864 nop |
0x00407868 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040786c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407870 move a0, t8 | a0 = t8;
0x00407874 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_100_Mbit__half_duplex__link_ok_n */
0x00407878 addiu a1, t8, -0x50a0 | a1 = t8 + -0x50a0;
0x0040787c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407880 move t9, t8 | t9 = t8;
0x00407884 jalr t9 | t9 ();
0x00407888 nop |
0x0040788c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407890 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407894 bnez t8, 0x4078c0 |
0x00407898 nop |
0x0040789c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004078a0 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x004078a4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004078a8 move t9, t8 | t9 = t8;
0x004078ac jalr t9 | t9 ();
0x004078b0 nop |
0x004078b4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004078b8 b 0x408280 | goto label_0;
0x004078bc nop |
| }
0x004078c0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x004078c4 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x004078c8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004078cc move t9, t8 | t9 = t8;
0x004078d0 jalr t9 | t9 ();
0x004078d4 nop |
0x004078d8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004078dc b 0x408280 | goto label_0;
0x004078e0 nop |
| }
0x004078e4 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x004078e8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.100baseTx_FD */
0x004078ec addiu a1, t8, -0x5078 | a1 = t8 + -0x5078;
0x004078f0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004078f4 move t9, t8 | t9 = t8;
0x004078f8 jalr t9 | t9 ();
0x004078fc nop |
0x00407900 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407904 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407908 bnez t8, 0x4079bc |
0x0040790c nop |
0x00407910 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407914 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407918 move a1, t8 | a1 = t8;
0x0040791c lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407920 move t9, t8 | t9 = t8;
0x00407924 jalr t9 | t9 ();
0x00407928 nop |
0x0040792c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407930 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407934 move t9, t8 | t9 = t8;
0x00407938 jalr t9 | t9 ();
0x0040793c nop |
0x00407940 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407944 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407948 move a0, t8 | a0 = t8;
0x0040794c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_100_Mbit__full_duplex__link_ok_n */
0x00407950 addiu a1, t8, -0x5068 | a1 = t8 + -0x5068;
0x00407954 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407958 move t9, t8 | t9 = t8;
0x0040795c jalr t9 | t9 ();
0x00407960 nop |
0x00407964 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407968 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x0040796c bnez t8, 0x407998 |
0x00407970 nop |
0x00407974 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00407978 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x0040797c lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407980 move t9, t8 | t9 = t8;
0x00407984 jalr t9 | t9 ();
0x00407988 nop |
0x0040798c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407990 b 0x408280 | goto label_0;
0x00407994 nop |
| }
0x00407998 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x0040799c addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x004079a0 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004079a4 move t9, t8 | t9 = t8;
0x004079a8 jalr t9 | t9 ();
0x004079ac nop |
0x004079b0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004079b4 b 0x408280 | goto label_0;
0x004079b8 nop |
| }
0x004079bc lw a0, 0x18(fp) | a0 = *(arg_18h);
0x004079c0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.1000baseTx_HD */
0x004079c4 addiu a1, t8, -0x5040 | a1 = t8 + -0x5040;
0x004079c8 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004079cc move t9, t8 | t9 = t8;
0x004079d0 jalr t9 | t9 ();
0x004079d4 nop |
0x004079d8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004079dc move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004079e0 bnez t8, 0x407a94 |
0x004079e4 nop |
0x004079e8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004079ec lw a0, 0x18(fp) | a0 = *(arg_18h);
0x004079f0 move a1, t8 | a1 = t8;
0x004079f4 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x004079f8 move t9, t8 | t9 = t8;
0x004079fc jalr t9 | t9 ();
0x00407a00 nop |
0x00407a04 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407a08 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407a0c move t9, t8 | t9 = t8;
0x00407a10 jalr t9 | t9 ();
0x00407a14 nop |
0x00407a18 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407a1c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407a20 move a0, t8 | a0 = t8;
0x00407a24 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_1_Gbit__half_duplex__link_ok_n */
0x00407a28 addiu a1, t8, -0x5030 | a1 = t8 + -0x5030;
0x00407a2c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407a30 move t9, t8 | t9 = t8;
0x00407a34 jalr t9 | t9 ();
0x00407a38 nop |
0x00407a3c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407a40 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407a44 bnez t8, 0x407a70 |
0x00407a48 nop |
0x00407a4c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00407a50 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x00407a54 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407a58 move t9, t8 | t9 = t8;
0x00407a5c jalr t9 | t9 ();
0x00407a60 nop |
0x00407a64 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407a68 b 0x408280 | goto label_0;
0x00407a6c nop |
| }
0x00407a70 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407a74 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407a78 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407a7c move t9, t8 | t9 = t8;
0x00407a80 jalr t9 | t9 ();
0x00407a84 nop |
0x00407a88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407a8c b 0x408280 | goto label_0;
0x00407a90 nop |
| }
0x00407a94 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407a98 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.1000baseTx_FD */
0x00407a9c addiu a1, t8, -0x500c | a1 = t8 + -0x500c;
0x00407aa0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407aa4 move t9, t8 | t9 = t8;
0x00407aa8 jalr t9 | t9 ();
0x00407aac nop |
0x00407ab0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407ab4 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407ab8 bnez t8, 0x407b6c |
0x00407abc nop |
0x00407ac0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407ac4 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407ac8 move a1, t8 | a1 = t8;
0x00407acc lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407ad0 move t9, t8 | t9 = t8;
0x00407ad4 jalr t9 | t9 ();
0x00407ad8 nop |
0x00407adc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407ae0 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407ae4 move t9, t8 | t9 = t8;
0x00407ae8 jalr t9 | t9 ();
0x00407aec nop |
0x00407af0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407af4 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407af8 move a0, t8 | a0 = t8;
0x00407afc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_1_Gbit__full_duplex__link_ok_n */
0x00407b00 addiu a1, t8, -0x4ffc | a1 = t8 + -0x4ffc;
0x00407b04 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407b08 move t9, t8 | t9 = t8;
0x00407b0c jalr t9 | t9 ();
0x00407b10 nop |
0x00407b14 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407b18 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407b1c bnez t8, 0x407b48 |
0x00407b20 nop |
0x00407b24 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00407b28 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x00407b2c lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407b30 move t9, t8 | t9 = t8;
0x00407b34 jalr t9 | t9 ();
0x00407b38 nop |
0x00407b3c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407b40 b 0x408280 | goto label_0;
0x00407b44 nop |
| }
0x00407b48 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407b4c addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407b50 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407b54 move t9, t8 | t9 = t8;
0x00407b58 jalr t9 | t9 ();
0x00407b5c nop |
0x00407b60 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407b64 b 0x408280 | goto label_0;
0x00407b68 nop |
| }
0x00407b6c lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407b70 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.auto */
0x00407b74 addiu a1, t8, -0x4fd8 | a1 = t8 + -0x4fd8;
0x00407b78 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407b7c move t9, t8 | t9 = t8;
0x00407b80 jalr t9 | t9 ();
0x00407b84 nop |
0x00407b88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407b8c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407b90 bnez t8, 0x407d14 |
0x00407b94 nop |
0x00407b98 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_ifplugd_stop____dev_null_2___dev_null */
0x00407b9c addiu a0, t8, -0x515c | a0 = t8 + -0x515c;
0x00407ba0 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00407ba4 move t9, t8 | t9 = t8;
0x00407ba8 jalr t9 | t9 ();
0x00407bac nop |
0x00407bb0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407bb4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool__r____dev_null_2___dev_null */
0x00407bb8 addiu a0, t8, -0x51bc | a0 = t8 + -0x51bc;
0x00407bbc lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00407bc0 move t9, t8 | t9 = t8;
0x00407bc4 jalr t9 | t9 ();
0x00407bc8 nop |
0x00407bcc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407bd0 addiu a0, zero, 3 | a0 = 3;
0x00407bd4 lw t8, -0x7e70(gp) | t8 = sym.imp.sleep;
0x00407bd8 move t9, t8 | t9 = t8;
0x00407bdc jalr t9 | t9 ();
0x00407be0 nop |
0x00407be4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407be8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool_eth0 */
0x00407bec addiu a0, t8, -0x51d8 | a0 = t8 + -0x51d8;
0x00407bf0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00407bf4 addiu a1, t8, -0x51c8 | a1 = t8 + -0x51c8;
0x00407bf8 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00407bfc move t9, t8 | t9 = t8;
0x00407c00 jalr t9 | t9 ();
0x00407c04 nop |
0x00407c08 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407c0c move t8, v0 | t8 = v0;
0x00407c10 sw t8, 0x20(fp) | *(arg_20h) = t8;
0x00407c14 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407c18 move a0, t8 | a0 = t8;
0x00407c1c addiu a1, zero, 0x200 | a1 = 0x200;
0x00407c20 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00407c24 lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x00407c28 move t9, t8 | t9 = t8;
0x00407c2c jalr t9 | t9 ();
0x00407c30 nop |
0x00407c34 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407c38 lw a0, 0x20(fp) | a0 = *(arg_20h);
0x00407c3c lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x00407c40 move t9, t8 | t9 = t8;
0x00407c44 jalr t9 | t9 ();
0x00407c48 nop |
0x00407c4c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407c50 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_ifplugd_start____dev_null_2___dev_null */
0x00407c54 addiu a0, t8, -0x5194 | a0 = t8 + -0x5194;
0x00407c58 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00407c5c move t9, t8 | t9 = t8;
0x00407c60 jalr t9 | t9 ();
0x00407c64 nop |
0x00407c68 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407c6c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407c70 move a0, t8 | a0 = t8;
0x00407c74 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.negotiated */
0x00407c78 addiu a1, t8, -0x4fd0 | a1 = t8 + -0x4fd0;
0x00407c7c lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407c80 move t9, t8 | t9 = t8;
0x00407c84 jalr t9 | t9 ();
0x00407c88 nop |
0x00407c8c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407c90 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00407c94 beqz t8, 0x407cf0 |
0x00407c98 nop |
0x00407c9c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407ca0 move a0, t8 | a0 = t8;
0x00407ca4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.link_ok */
0x00407ca8 addiu a1, t8, -0x51c4 | a1 = t8 + -0x51c4;
0x00407cac lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407cb0 move t9, t8 | t9 = t8;
0x00407cb4 jalr t9 | t9 ();
0x00407cb8 nop |
0x00407cbc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407cc0 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407cc4 beqz t8, 0x407cf0 | goto label_1;
| }
0x00407cc8 nop |
0x00407ccc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00407cd0 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x00407cd4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407cd8 move t9, t8 | t9 = t8;
0x00407cdc jalr t9 | t9 ();
0x00407ce0 nop |
0x00407ce4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407ce8 b 0x408280 | goto label_0;
0x00407cec nop |
| }
| label_1:
0x00407cf0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407cf4 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407cf8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407cfc move t9, t8 | t9 = t8;
0x00407d00 jalr t9 | t9 ();
0x00407d04 nop |
0x00407d08 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407d0c b 0x408280 | goto label_0;
0x00407d10 nop |
| }
0x00407d14 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407d18 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'all' */
0x00407d1c addiu a1, t8, -0x4fc4 | a1 = t8 + -0x4fc4;
0x00407d20 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407d24 move t9, t8 | t9 = t8;
0x00407d28 jalr t9 | t9 ();
0x00407d2c nop |
0x00407d30 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407d34 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407d38 bnez t8, 0x408260 |
0x00407d3c nop |
0x00407d40 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool__v */
0x00407d44 addiu a0, t8, -0x4fc0 | a0 = t8 + -0x4fc0;
0x00407d48 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00407d4c addiu a1, t8, -0x51c8 | a1 = t8 + -0x51c8;
0x00407d50 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00407d54 move t9, t8 | t9 = t8;
0x00407d58 jalr t9 | t9 ();
0x00407d5c nop |
0x00407d60 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407d64 move t8, v0 | t8 = v0;
0x00407d68 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00407d6c addiu t8, fp, 0x22c | t8 = fp + 0x22c;
0x00407d70 move a0, t8 | a0 = t8;
0x00407d74 addiu a1, zero, 0x200 | a1 = 0x200;
0x00407d78 addiu a2, zero, 1 | a2 = 1;
0x00407d7c lw a3, 0x24(fp) | a3 = *(arg_24h);
0x00407d80 lw t8, -0x7eb4(gp) | t8 = sym.imp.fread;
0x00407d84 move t9, t8 | t9 = t8;
0x00407d88 jalr t9 | t9 ();
0x00407d8c nop |
0x00407d90 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407d94 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00407d98 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x00407d9c move t9, t8 | t9 = t8;
0x00407da0 jalr t9 | t9 ();
0x00407da4 nop |
0x00407da8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407dac addiu t8, fp, 0x22c | t8 = fp + 0x22c;
0x00407db0 move a0, t8 | a0 = t8;
0x00407db4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.capabilities */
0x00407db8 addiu a1, t8, -0x4fb4 | a1 = t8 + -0x4fb4;
0x00407dbc lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407dc0 move t9, t8 | t9 = t8;
0x00407dc4 jalr t9 | t9 ();
0x00407dc8 nop |
0x00407dcc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407dd0 sw v0, 0x28(fp) | *(arg_28h) = v0;
0x00407dd4 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00407dd8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.10baseT_HD */
0x00407ddc addiu a1, t8, -0x5124 | a1 = t8 + -0x5124;
0x00407de0 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407de4 move t9, t8 | t9 = t8;
0x00407de8 jalr t9 | t9 ();
0x00407dec nop |
0x00407df0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407df4 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00407df8 beqz t8, 0x407e8c |
0x00407dfc nop |
0x00407e00 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407e04 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.10baseT_HD */
0x00407e08 addiu a0, v0, -0x5124 | a0 = v0 + -0x5124;
0x00407e0c move a1, t8 | a1 = t8;
0x00407e10 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407e14 move t9, t8 | t9 = t8;
0x00407e18 jalr t9 | t9 ();
0x00407e1c nop |
0x00407e20 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407e24 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407e28 move a0, t8 | a0 = t8;
0x00407e2c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_10_Mbit__half_duplex__link_ok_n */
0x00407e30 addiu a1, t8, -0x5118 | a1 = t8 + -0x5118;
0x00407e34 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407e38 move t9, t8 | t9 = t8;
0x00407e3c jalr t9 | t9 ();
0x00407e40 nop |
0x00407e44 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407e48 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407e4c beqz t8, 0x407e8c | goto label_2;
| }
0x00407e50 nop |
0x00407e54 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407e58 move t9, t8 | t9 = t8;
0x00407e5c jalr t9 | t9 ();
0x00407e60 nop |
0x00407e64 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407e68 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407e6c addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407e70 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407e74 move t9, t8 | t9 = t8;
0x00407e78 jalr t9 | t9 ();
0x00407e7c nop |
0x00407e80 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407e84 b 0x408280 | goto label_0;
0x00407e88 nop |
| }
| label_2:
0x00407e8c lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00407e90 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.10baseT_FD */
0x00407e94 addiu a1, t8, -0x50e4 | a1 = t8 + -0x50e4;
0x00407e98 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407e9c move t9, t8 | t9 = t8;
0x00407ea0 jalr t9 | t9 ();
0x00407ea4 nop |
0x00407ea8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407eac move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00407eb0 beqz t8, 0x407f44 |
0x00407eb4 nop |
0x00407eb8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407ebc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.10baseT_FD */
0x00407ec0 addiu a0, v0, -0x50e4 | a0 = v0 + -0x50e4;
0x00407ec4 move a1, t8 | a1 = t8;
0x00407ec8 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407ecc move t9, t8 | t9 = t8;
0x00407ed0 jalr t9 | t9 ();
0x00407ed4 nop |
0x00407ed8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407edc addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407ee0 move a0, t8 | a0 = t8;
0x00407ee4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_10_Mbit__full_duplex__link_ok_n */
0x00407ee8 addiu a1, t8, -0x50d8 | a1 = t8 + -0x50d8;
0x00407eec lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407ef0 move t9, t8 | t9 = t8;
0x00407ef4 jalr t9 | t9 ();
0x00407ef8 nop |
0x00407efc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407f00 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407f04 beqz t8, 0x407f44 | goto label_3;
| }
0x00407f08 nop |
0x00407f0c lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407f10 move t9, t8 | t9 = t8;
0x00407f14 jalr t9 | t9 ();
0x00407f18 nop |
0x00407f1c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407f20 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407f24 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407f28 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407f2c move t9, t8 | t9 = t8;
0x00407f30 jalr t9 | t9 ();
0x00407f34 nop |
0x00407f38 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407f3c b 0x408280 | goto label_0;
0x00407f40 nop |
| }
| label_3:
0x00407f44 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00407f48 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.100baseTx_HD */
0x00407f4c addiu a1, t8, -0x50b0 | a1 = t8 + -0x50b0;
0x00407f50 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00407f54 move t9, t8 | t9 = t8;
0x00407f58 jalr t9 | t9 ();
0x00407f5c nop |
0x00407f60 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407f64 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00407f68 beqz t8, 0x407ffc |
0x00407f6c nop |
0x00407f70 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407f74 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.100baseTx_HD */
0x00407f78 addiu a0, v0, -0x50b0 | a0 = v0 + -0x50b0;
0x00407f7c move a1, t8 | a1 = t8;
0x00407f80 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x00407f84 move t9, t8 | t9 = t8;
0x00407f88 jalr t9 | t9 ();
0x00407f8c nop |
0x00407f90 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407f94 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00407f98 move a0, t8 | a0 = t8;
0x00407f9c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_100_Mbit__half_duplex__link_ok_n */
0x00407fa0 addiu a1, t8, -0x50a0 | a1 = t8 + -0x50a0;
0x00407fa4 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00407fa8 move t9, t8 | t9 = t8;
0x00407fac jalr t9 | t9 ();
0x00407fb0 nop |
0x00407fb4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407fb8 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00407fbc beqz t8, 0x407ffc | goto label_4;
| }
0x00407fc0 nop |
0x00407fc4 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00407fc8 move t9, t8 | t9 = t8;
0x00407fcc jalr t9 | t9 ();
0x00407fd0 nop |
0x00407fd4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407fd8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407fdc addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00407fe0 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407fe4 move t9, t8 | t9 = t8;
0x00407fe8 jalr t9 | t9 ();
0x00407fec nop |
0x00407ff0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407ff4 b 0x408280 | goto label_0;
0x00407ff8 nop |
| }
| label_4:
0x00407ffc lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00408000 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.100baseTx_FD */
0x00408004 addiu a1, t8, -0x5078 | a1 = t8 + -0x5078;
0x00408008 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x0040800c move t9, t8 | t9 = t8;
0x00408010 jalr t9 | t9 ();
0x00408014 nop |
0x00408018 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040801c move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408020 beqz t8, 0x4080b4 |
0x00408024 nop |
0x00408028 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040802c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.100baseTx_FD */
0x00408030 addiu a0, v0, -0x5078 | a0 = v0 + -0x5078;
0x00408034 move a1, t8 | a1 = t8;
0x00408038 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x0040803c move t9, t8 | t9 = t8;
0x00408040 jalr t9 | t9 ();
0x00408044 nop |
0x00408048 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040804c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408050 move a0, t8 | a0 = t8;
0x00408054 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_100_Mbit__full_duplex__link_ok_n */
0x00408058 addiu a1, t8, -0x5068 | a1 = t8 + -0x5068;
0x0040805c lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408060 move t9, t8 | t9 = t8;
0x00408064 jalr t9 | t9 ();
0x00408068 nop |
0x0040806c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408070 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00408074 beqz t8, 0x4080b4 | goto label_5;
| }
0x00408078 nop |
0x0040807c lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00408080 move t9, t8 | t9 = t8;
0x00408084 jalr t9 | t9 ();
0x00408088 nop |
0x0040808c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408090 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00408094 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00408098 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x0040809c move t9, t8 | t9 = t8;
0x004080a0 jalr t9 | t9 ();
0x004080a4 nop |
0x004080a8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004080ac b 0x408280 | goto label_0;
0x004080b0 nop |
| }
| label_5:
0x004080b4 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x004080b8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.1000baseTx_HD */
0x004080bc addiu a1, t8, -0x5040 | a1 = t8 + -0x5040;
0x004080c0 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x004080c4 move t9, t8 | t9 = t8;
0x004080c8 jalr t9 | t9 ();
0x004080cc nop |
0x004080d0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004080d4 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x004080d8 beqz t8, 0x40816c |
0x004080dc nop |
0x004080e0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004080e4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.1000baseTx_HD */
0x004080e8 addiu a0, v0, -0x5040 | a0 = v0 + -0x5040;
0x004080ec move a1, t8 | a1 = t8;
0x004080f0 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x004080f4 move t9, t8 | t9 = t8;
0x004080f8 jalr t9 | t9 ();
0x004080fc nop |
0x00408100 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408104 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408108 move a0, t8 | a0 = t8;
0x0040810c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_1_Gbit__half_duplex__link_ok_n */
0x00408110 addiu a1, t8, -0x5030 | a1 = t8 + -0x5030;
0x00408114 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408118 move t9, t8 | t9 = t8;
0x0040811c jalr t9 | t9 ();
0x00408120 nop |
0x00408124 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408128 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x0040812c beqz t8, 0x40816c | goto label_6;
| }
0x00408130 nop |
0x00408134 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x00408138 move t9, t8 | t9 = t8;
0x0040813c jalr t9 | t9 ();
0x00408140 nop |
0x00408144 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408148 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x0040814c addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00408150 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00408154 move t9, t8 | t9 = t8;
0x00408158 jalr t9 | t9 ();
0x0040815c nop |
0x00408160 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408164 b 0x408280 | goto label_0;
0x00408168 nop |
| }
| label_6:
0x0040816c lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00408170 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.1000baseTx_FD */
0x00408174 addiu a1, t8, -0x500c | a1 = t8 + -0x500c;
0x00408178 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x0040817c move t9, t8 | t9 = t8;
0x00408180 jalr t9 | t9 ();
0x00408184 nop |
0x00408188 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040818c move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408190 beqz t8, 0x408228 |
0x00408194 nop |
0x00408198 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x0040819c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.1000baseTx_FD */
0x004081a0 addiu a0, v0, -0x500c | a0 = v0 + -0x500c;
0x004081a4 move a1, t8 | a1 = t8;
0x004081a8 lw t8, -0x7f64(gp) | t8 = sym.test_char_const__char_;
0x004081ac move t9, t8 | t9 = t8;
0x004081b0 jalr t9 | t9 ();
0x004081b4 nop |
0x004081b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004081bc addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004081c0 move a0, t8 | a0 = t8;
0x004081c4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth0:_1_Gbit__full_duplex__link_ok_n */
0x004081c8 addiu a1, t8, -0x4ffc | a1 = t8 + -0x4ffc;
0x004081cc lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x004081d0 move t9, t8 | t9 = t8;
0x004081d4 jalr t9 | t9 ();
0x004081d8 nop |
0x004081dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004081e0 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004081e4 beqz t8, 0x408228 | goto label_7;
| }
0x004081e8 nop |
0x004081ec lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x004081f0 move t9, t8 | t9 = t8;
0x004081f4 jalr t9 | t9 ();
0x004081f8 nop |
0x004081fc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408200 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00408204 addiu a0, t8, -0x50ec | a0 = t8 + -0x50ec;
0x00408208 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x0040820c move t9, t8 | t9 = t8;
0x00408210 jalr t9 | t9 ();
0x00408214 nop |
0x00408218 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040821c nop |
0x00408220 b 0x408280 | goto label_0;
0x00408224 nop |
| }
| label_7:
0x00408228 lw t8, -0x7f60(gp) | t8 = sym.restart_auto__;
0x0040822c move t9, t8 | t9 = t8;
0x00408230 jalr t9 | t9 ();
0x00408234 nop |
0x00408238 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040823c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00408240 addiu a0, t8, -0x50f0 | a0 = t8 + -0x50f0;
0x00408244 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00408248 move t9, t8 | t9 = t8;
0x0040824c jalr t9 | t9 ();
0x00408250 nop |
0x00408254 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408258 b 0x408280 | goto label_0;
0x0040825c nop |
| }
0x00408260 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004072a0 */
0x00408264 addiu t8, t8, 0x72a0 | t8 += 0x72a0;
0x00408268 move t9, t8 | t9 = t8;
0x0040826c jalr t9 | t9 ();
0x00408270 nop |
0x00408274 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408278 b 0x408280 | goto label_0;
0x0040827c nop |
| label_0:
0x00408280 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00408284 lw v0, 0x42c(fp) | v0 = *(arg_42ch);
0x00408288 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x0040828c beq v0, t8, 0x4082a4 |
0x00408290 nop |
0x00408294 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00408298 move t9, t8 | t9 = t8;
0x0040829c jalr t9 | t9 ();
0x004082a0 nop |
| }
0x004082a4 move sp, fp |
0x004082a8 lw ra, 0x434(sp) | ra = *(var_434h);
0x004082ac lw fp, 0x430(sp) | fp = *(var_430h);
0x004082b0 addiu sp, sp, 0x438 |
0x004082b4 jr ra | return v0;
0x004082b8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x4029ac */
| #include <stdint.h>
|
; (fcn) sym.TestLED_int__char_const_ () | void TestLED_int_char_const_ () {
| /* TestLED(int, char const**) */
0x004029ac lui gp, 2 |
0x004029b0 addiu gp, gp, 0x26a4 |
0x004029b4 addu gp, gp, t9 | gp += t9;
0x004029b8 addiu sp, sp, -0xe8 |
0x004029bc sw ra, 0xe4(sp) | *(var_e4h) = ra;
0x004029c0 sw fp, 0xe0(sp) | *(var_e0h) = fp;
0x004029c4 move fp, sp | fp = sp;
0x004029c8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004029cc sw a0, 0x24(fp) | *(arg_24h) = a0;
0x004029d0 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x004029d4 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004029d8 lw t8, (t8) | t8 = *(t8);
0x004029dc sw t8, 0xdc(fp) | *(arg_dch) = t8;
0x004029e0 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004029e4 lw t8, 4(t8) | t8 = *((t8 + 1));
0x004029e8 sw t8, 0x2c(fp) | *(arg_2ch) = t8;
0x004029ec lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004029f0 lw t8, 8(t8) | t8 = *((t8 + 2));
0x004029f4 sw t8, 0x30(fp) | *(arg_30h) = t8;
0x004029f8 lw t8, -0x7f88(gp) | t8 = *((gp - 8162));
0x004029fc addiu v1, fp, 0x34 | v1 = fp + 0x34;
| /* esilref: 'power' */
0x00402a00 addiu v0, t8, -0x2ff0 | v0 = t8 + -0x2ff0;
0x00402a04 addiu t8, zero, 0x28 | t8 = 0x28;
0x00402a08 move a0, v1 | a0 = v1;
0x00402a0c move a1, v0 | a1 = v0;
0x00402a10 move a2, t8 | a2 = t8;
0x00402a14 lw t8, -0x7e68(gp) | t8 = sym.imp.memcpy;
0x00402a18 move t9, t8 | t9 = t8;
0x00402a1c jalr t9 | t9 ();
0x00402a20 nop |
0x00402a24 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402a28 lw v0, 0x24(fp) | v0 = *(arg_24h);
0x00402a2c addiu t8, zero, 3 | t8 = 3;
| if (v0 == t8) {
0x00402a30 bne v0, t8, 0x402e0c |
0x00402a34 nop |
0x00402a38 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00402a3c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'on' */
0x00402a40 addiu a1, t8, -0x58c0 | a1 = t8 + -0x58c0;
0x00402a44 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402a48 move t9, t8 | t9 = t8;
0x00402a4c jalr t9 | t9 ();
0x00402a50 nop |
0x00402a54 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402a58 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00402a5c beqz t8, 0x402a90 |
0x00402a60 nop |
0x00402a64 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00402a68 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'off' */
0x00402a6c addiu a1, t8, -0x58bc | a1 = t8 + -0x58bc;
0x00402a70 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402a74 move t9, t8 | t9 = t8;
0x00402a78 jalr t9 | t9 ();
0x00402a7c nop |
0x00402a80 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402a84 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00402a88 bnez t8, 0x402e0c | goto label_0;
| }
0x00402a8c nop |
| }
0x00402a90 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402a94 lw v0, 0x30(fp) | v0 = *(arg_30h);
0x00402a98 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00402a9c move a0, t8 | a0 = t8;
0x00402aa0 addiu a1, zero, 0x80 | a1 = 0x80;
0x00402aa4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.light__s__s */
0x00402aa8 addiu a2, t8, -0x58b8 | a2 = t8 + -0x58b8;
0x00402aac lw a3, 0x2c(fp) | a3 = *(arg_2ch);
0x00402ab0 lw t8, -0x7e90(gp) | t8 = sym.imp.snprintf;
0x00402ab4 move t9, t8 | t9 = t8;
0x00402ab8 jalr t9 | t9 ();
0x00402abc nop |
0x00402ac0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402ac4 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402ac8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.power */
0x00402acc addiu a1, t8, -0x58ac | a1 = t8 + -0x58ac;
0x00402ad0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402ad4 move t9, t8 | t9 = t8;
0x00402ad8 jalr t9 | t9 ();
0x00402adc nop |
0x00402ae0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402ae4 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402ae8 bnez t8, 0x402b14 |
0x00402aec nop |
0x00402af0 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402af4 move a0, t8 | a0 = t8;
0x00402af8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402afc move t9, t8 | t9 = t8;
0x00402b00 jalr t9 | t9 ();
0x00402b04 nop |
0x00402b08 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b0c b 0x402e04 | goto label_1;
0x00402b10 nop |
| }
0x00402b14 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402b18 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.active */
0x00402b1c addiu a1, t8, -0x58a4 | a1 = t8 + -0x58a4;
0x00402b20 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402b24 move t9, t8 | t9 = t8;
0x00402b28 jalr t9 | t9 ();
0x00402b2c nop |
0x00402b30 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b34 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402b38 bnez t8, 0x402b64 |
0x00402b3c nop |
0x00402b40 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402b44 move a0, t8 | a0 = t8;
0x00402b48 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402b4c move t9, t8 | t9 = t8;
0x00402b50 jalr t9 | t9 ();
0x00402b54 nop |
0x00402b58 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b5c b 0x402e04 | goto label_1;
0x00402b60 nop |
| }
0x00402b64 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402b68 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.wpsLed */
0x00402b6c addiu a1, t8, -0x589c | a1 = t8 + -0x589c;
0x00402b70 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402b74 move t9, t8 | t9 = t8;
0x00402b78 jalr t9 | t9 ();
0x00402b7c nop |
0x00402b80 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402b84 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402b88 bnez t8, 0x402bb4 |
0x00402b8c nop |
0x00402b90 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402b94 move a0, t8 | a0 = t8;
0x00402b98 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402b9c move t9, t8 | t9 = t8;
0x00402ba0 jalr t9 | t9 ();
0x00402ba4 nop |
0x00402ba8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402bac b 0x402e04 | goto label_1;
0x00402bb0 nop |
| }
0x00402bb4 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402bb8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.pow_r */
0x00402bbc addiu a1, t8, -0x5894 | a1 = t8 + -0x5894;
0x00402bc0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402bc4 move t9, t8 | t9 = t8;
0x00402bc8 jalr t9 | t9 ();
0x00402bcc nop |
0x00402bd0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402bd4 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402bd8 bnez t8, 0x402c04 |
0x00402bdc nop |
0x00402be0 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402be4 move a0, t8 | a0 = t8;
0x00402be8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402bec move t9, t8 | t9 = t8;
0x00402bf0 jalr t9 | t9 ();
0x00402bf4 nop |
0x00402bf8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402bfc b 0x402e04 | goto label_1;
0x00402c00 nop |
| }
0x00402c04 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402c08 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.pow_g */
0x00402c0c addiu a1, t8, -0x588c | a1 = t8 + -0x588c;
0x00402c10 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402c14 move t9, t8 | t9 = t8;
0x00402c18 jalr t9 | t9 ();
0x00402c1c nop |
0x00402c20 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c24 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402c28 bnez t8, 0x402c54 |
0x00402c2c nop |
0x00402c30 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402c34 move a0, t8 | a0 = t8;
0x00402c38 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402c3c move t9, t8 | t9 = t8;
0x00402c40 jalr t9 | t9 ();
0x00402c44 nop |
0x00402c48 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c4c b 0x402e04 | goto label_1;
0x00402c50 nop |
| }
0x00402c54 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402c58 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.camera */
0x00402c5c addiu a1, t8, -0x5884 | a1 = t8 + -0x5884;
0x00402c60 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402c64 move t9, t8 | t9 = t8;
0x00402c68 jalr t9 | t9 ();
0x00402c6c nop |
0x00402c70 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c74 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402c78 bnez t8, 0x402ca4 |
0x00402c7c nop |
0x00402c80 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402c84 move a0, t8 | a0 = t8;
0x00402c88 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402c8c move t9, t8 | t9 = t8;
0x00402c90 jalr t9 | t9 ();
0x00402c94 nop |
0x00402c98 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402c9c b 0x402e04 | goto label_1;
0x00402ca0 nop |
| }
0x00402ca4 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402ca8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth_r */
0x00402cac addiu a1, t8, -0x587c | a1 = t8 + -0x587c;
0x00402cb0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402cb4 move t9, t8 | t9 = t8;
0x00402cb8 jalr t9 | t9 ();
0x00402cbc nop |
0x00402cc0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402cc4 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402cc8 bnez t8, 0x402cf4 |
0x00402ccc nop |
0x00402cd0 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402cd4 move a0, t8 | a0 = t8;
0x00402cd8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402cdc move t9, t8 | t9 = t8;
0x00402ce0 jalr t9 | t9 ();
0x00402ce4 nop |
0x00402ce8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402cec b 0x402e04 | goto label_1;
0x00402cf0 nop |
| }
0x00402cf4 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402cf8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.eth_g */
0x00402cfc addiu a1, t8, -0x5874 | a1 = t8 + -0x5874;
0x00402d00 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402d04 move t9, t8 | t9 = t8;
0x00402d08 jalr t9 | t9 ();
0x00402d0c nop |
0x00402d10 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d14 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402d18 bnez t8, 0x402d44 |
0x00402d1c nop |
0x00402d20 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402d24 move a0, t8 | a0 = t8;
0x00402d28 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402d2c move t9, t8 | t9 = t8;
0x00402d30 jalr t9 | t9 ();
0x00402d34 nop |
0x00402d38 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d3c b 0x402e04 | goto label_1;
0x00402d40 nop |
| }
0x00402d44 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402d48 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.wifi_r */
0x00402d4c addiu a1, t8, -0x586c | a1 = t8 + -0x586c;
0x00402d50 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402d54 move t9, t8 | t9 = t8;
0x00402d58 jalr t9 | t9 ();
0x00402d5c nop |
0x00402d60 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d64 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402d68 bnez t8, 0x402d94 |
0x00402d6c nop |
0x00402d70 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402d74 move a0, t8 | a0 = t8;
0x00402d78 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402d7c move t9, t8 | t9 = t8;
0x00402d80 jalr t9 | t9 ();
0x00402d84 nop |
0x00402d88 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402d8c b 0x402e04 | goto label_1;
0x00402d90 nop |
| }
0x00402d94 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402d98 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.wifi_g */
0x00402d9c addiu a1, t8, -0x5864 | a1 = t8 + -0x5864;
0x00402da0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402da4 move t9, t8 | t9 = t8;
0x00402da8 jalr t9 | t9 ();
0x00402dac nop |
0x00402db0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402db4 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00402db8 bnez t8, 0x402de4 |
0x00402dbc nop |
0x00402dc0 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402dc4 move a0, t8 | a0 = t8;
0x00402dc8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402dcc move t9, t8 | t9 = t8;
0x00402dd0 jalr t9 | t9 ();
0x00402dd4 nop |
0x00402dd8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402ddc b 0x402e04 | goto label_1;
0x00402de0 nop |
| }
0x00402de4 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004028f0 */
0x00402de8 addiu t8, t8, 0x28f0 | t8 += 0x28f0;
0x00402dec move t9, t8 | t9 = t8;
0x00402df0 jalr t9 | t9 ();
0x00402df4 nop |
0x00402df8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402dfc b 0x402fc4 | goto label_2;
0x00402e00 nop |
| label_1:
0x00402e04 b 0x402fc4 | goto label_2;
0x00402e08 nop |
| }
| label_0:
0x00402e0c lw v0, 0x24(fp) | v0 = *(arg_24h);
0x00402e10 addiu t8, zero, 2 | t8 = 2;
| if (v0 != t8) {
0x00402e14 bne v0, t8, 0x402fac | goto label_3;
| }
0x00402e18 nop |
0x00402e1c lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402e20 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.allDark */
0x00402e24 addiu a1, t8, -0x585c | a1 = t8 + -0x585c;
0x00402e28 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402e2c move t9, t8 | t9 = t8;
0x00402e30 jalr t9 | t9 ();
0x00402e34 nop |
0x00402e38 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402e3c move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00402e40 bnez t8, 0x402ed4 | goto label_4;
| }
0x00402e44 nop |
0x00402e48 sw zero, 0x28(fp) | *(arg_28h) = 0;
0x00402e4c b 0x402ebc | goto label_5;
0x00402e50 nop |
| do {
0x00402e54 lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402e58 sll t8, t8, 2 | t8 <<= 2;
0x00402e5c addiu v0, fp, 0xe0 | v0 = fp + 0xe0;
0x00402e60 addu t8, v0, t8 | t8 = v0 + t8;
0x00402e64 lw t8, -0xac(t8) | t8 = *((t8 - 43));
0x00402e68 addiu v0, fp, 0x5c | v0 = fp + 0x5c;
0x00402e6c move a0, v0 | a0 = v0;
0x00402e70 addiu a1, zero, 0x80 | a1 = 0x80;
0x00402e74 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.light__s_off */
0x00402e78 addiu a2, v0, -0x5854 | a2 = v0 + -0x5854;
0x00402e7c move a3, t8 | a3 = t8;
0x00402e80 lw t8, -0x7e90(gp) | t8 = sym.imp.snprintf;
0x00402e84 move t9, t8 | t9 = t8;
0x00402e88 jalr t9 | t9 ();
0x00402e8c nop |
0x00402e90 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402e94 addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402e98 move a0, t8 | a0 = t8;
0x00402e9c lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402ea0 move t9, t8 | t9 = t8;
0x00402ea4 jalr t9 | t9 ();
0x00402ea8 nop |
0x00402eac lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402eb0 lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402eb4 addiu t8, t8, 1 | t8++;
0x00402eb8 sw t8, 0x28(fp) | *(arg_28h) = t8;
| label_5:
0x00402ebc lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402ec0 slti t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
0x00402ec4 bnez t8, 0x402e54 |
| } while (t8 != 0);
0x00402ec8 nop |
0x00402ecc b 0x402fc4 | goto label_2;
0x00402ed0 nop |
| label_4:
0x00402ed4 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402ed8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.allLight */
0x00402edc addiu a1, t8, -0x5844 | a1 = t8 + -0x5844;
0x00402ee0 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00402ee4 move t9, t8 | t9 = t8;
0x00402ee8 jalr t9 | t9 ();
0x00402eec nop |
0x00402ef0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402ef4 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00402ef8 bnez t8, 0x402f8c | goto label_6;
| }
0x00402efc nop |
0x00402f00 sw zero, 0x28(fp) | *(arg_28h) = 0;
0x00402f04 b 0x402f74 | goto label_7;
0x00402f08 nop |
| do {
0x00402f0c lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402f10 sll t8, t8, 2 | t8 <<= 2;
0x00402f14 addiu v0, fp, 0xe0 | v0 = fp + 0xe0;
0x00402f18 addu t8, v0, t8 | t8 = v0 + t8;
0x00402f1c lw t8, -0xac(t8) | t8 = *((t8 - 43));
0x00402f20 addiu v0, fp, 0x5c | v0 = fp + 0x5c;
0x00402f24 move a0, v0 | a0 = v0;
0x00402f28 addiu a1, zero, 0x80 | a1 = 0x80;
0x00402f2c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.light__s_on */
0x00402f30 addiu a2, v0, -0x5838 | a2 = v0 + -0x5838;
0x00402f34 move a3, t8 | a3 = t8;
0x00402f38 lw t8, -0x7e90(gp) | t8 = sym.imp.snprintf;
0x00402f3c move t9, t8 | t9 = t8;
0x00402f40 jalr t9 | t9 ();
0x00402f44 nop |
0x00402f48 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402f4c addiu t8, fp, 0x5c | t8 = fp + 0x5c;
0x00402f50 move a0, t8 | a0 = t8;
0x00402f54 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402f58 move t9, t8 | t9 = t8;
0x00402f5c jalr t9 | t9 ();
0x00402f60 nop |
0x00402f64 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402f68 lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402f6c addiu t8, t8, 1 | t8++;
0x00402f70 sw t8, 0x28(fp) | *(arg_28h) = t8;
| label_7:
0x00402f74 lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00402f78 slti t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
0x00402f7c bnez t8, 0x402f0c |
| } while (t8 != 0);
0x00402f80 nop |
0x00402f84 b 0x402fc4 | goto label_2;
0x00402f88 nop |
| label_6:
0x00402f8c lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004028f0 */
0x00402f90 addiu t8, t8, 0x28f0 | t8 += 0x28f0;
0x00402f94 move t9, t8 | t9 = t8;
0x00402f98 jalr t9 | t9 ();
0x00402f9c nop |
0x00402fa0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402fa4 b 0x402fc4 | goto label_2;
0x00402fa8 nop |
| label_3:
0x00402fac lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x004028f0 */
0x00402fb0 addiu t8, t8, 0x28f0 | t8 += 0x28f0;
0x00402fb4 move t9, t8 | t9 = t8;
0x00402fb8 jalr t9 | t9 ();
0x00402fbc nop |
0x00402fc0 lw gp, 0x18(fp) | gp = *(arg_18h);
| label_2:
0x00402fc4 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00402fc8 lw v0, 0xdc(fp) | v0 = *(arg_dch);
0x00402fcc lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00402fd0 beq v0, t8, 0x402fe8 |
0x00402fd4 nop |
0x00402fd8 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00402fdc move t9, t8 | t9 = t8;
0x00402fe0 jalr t9 | t9 ();
0x00402fe4 nop |
| }
0x00402fe8 move sp, fp |
0x00402fec lw ra, 0xe4(sp) | ra = *(var_e4h);
0x00402ff0 lw fp, 0xe0(sp) | fp = *(var_e0h);
0x00402ff4 addiu sp, sp, 0xe8 |
0x00402ff8 jr ra | return v0;
0x00402ffc nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x409dd4 */
| #include <stdint.h>
|
; (fcn) sym.TestPlayer_int__char_const_ () | void TestPlayer_int_char_const_ () {
| /* TestPlayer(int, char const**) */
0x00409dd4 lui gp, 2 |
0x00409dd8 addiu gp, gp, -0x4d84 |
0x00409ddc addu gp, gp, t9 | gp += t9;
0x00409de0 addiu sp, sp, -0x4d8 |
0x00409de4 sw ra, 0x4d4(sp) | *(var_4d4h) = ra;
0x00409de8 sw fp, 0x4d0(sp) | *(var_4d0h) = fp;
0x00409dec move fp, sp | fp = sp;
0x00409df0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00409df4 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x00409df8 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x00409dfc lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00409e00 lw t8, (t8) | t8 = *(t8);
0x00409e04 sw t8, 0x4cc(fp) | *(arg_4cch) = t8;
0x00409e08 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00409e0c addiu t8, zero, 2 | t8 = 2;
| if (v0 != t8) {
0x00409e10 beq v0, t8, 0x409e38 |
0x00409e14 nop |
0x00409e18 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* aav.0x00409d50 */
0x00409e1c addiu t8, t8, -0x62b0 | t8 += -0x62b0;
0x00409e20 move t9, t8 | t9 = t8;
0x00409e24 jalr t9 | t9 ();
0x00409e28 nop |
0x00409e2c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409e30 b 0x409fb0 | goto label_0;
0x00409e34 nop |
| }
0x00409e38 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00409e3c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._sbin_Player */
0x00409e40 addiu a0, v0, -0x463c | a0 = v0 + -0x463c;
0x00409e44 move a1, t8 | a1 = t8;
0x00409e48 lw t8, -0x7ea4(gp) | t8 = sym.imp.stat64;
0x00409e4c move t9, t8 | t9 = t8;
0x00409e50 jalr t9 | t9 ();
0x00409e54 nop |
0x00409e58 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409e5c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00409e60 bnez t8, 0x409e80 |
0x00409e64 nop |
0x00409e68 lw t8, 0x40(fp) | t8 = *(arg_40h);
| if (t8 == 0) {
0x00409e6c beqz t8, 0x409e80 | goto label_1;
| }
0x00409e70 nop |
0x00409e74 addiu t8, zero, 1 | t8 = 1;
0x00409e78 b 0x409e84 | goto label_2;
0x00409e7c nop |
| }
| label_1:
0x00409e80 move t8, zero | t8 = 0;
| if (t8 != 0) {
| label_2:
0x00409e84 beqz t8, 0x409f90 |
0x00409e88 nop |
0x00409e8c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.killall_Player___dev_null_2__dev_null */
0x00409e90 addiu a0, t8, -0x462c | a0 = t8 + -0x462c;
0x00409e94 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00409e98 move t9, t8 | t9 = t8;
0x00409e9c jalr t9 | t9 ();
0x00409ea0 nop |
0x00409ea4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409ea8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tmp_mfg_playlist */
0x00409eac addiu a0, t8, -0x4604 | a0 = t8 + -0x4604;
0x00409eb0 lw t8, -0x7e78(gp) | t8 = sym.imp.remove;
0x00409eb4 move t9, t8 | t9 = t8;
0x00409eb8 jalr t9 | t9 ();
0x00409ebc nop |
0x00409ec0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409ec4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tmp_mfg_playlist */
0x00409ec8 addiu a0, t8, -0x4604 | a0 = t8 + -0x4604;
0x00409ecc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00409ed0 addiu a1, t8, -0x45f0 | a1 = t8 + -0x45f0;
0x00409ed4 lw t8, -0x7e84(gp) | t8 = sym.imp.fopen64;
0x00409ed8 move t9, t8 | t9 = t8;
0x00409edc jalr t9 | t9 ();
0x00409ee0 nop |
0x00409ee4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409ee8 move t8, v0 | t8 = v0;
0x00409eec sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00409ef0 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00409ef4 addiu t8, t8, 4 | t8 += 4;
0x00409ef8 lw t8, (t8) | t8 = *(t8);
0x00409efc lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00409f00 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* esilref: '&s
' */
0x00409f04 addiu a1, v0, -0x45ec | a1 = v0 + -0x45ec;
0x00409f08 move a2, t8 | a2 = t8;
0x00409f0c lw t8, -0x7f08(gp) | t8 = sym.imp.fprintf;
0x00409f10 move t9, t8 | t9 = t8;
0x00409f14 jalr t9 | t9 ();
0x00409f18 nop |
0x00409f1c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409f20 lw a0, 0x24(fp) | a0 = *(arg_24h);
0x00409f24 lw t8, -0x7eb0(gp) | t8 = sym.imp.fclose;
0x00409f28 move t9, t8 | t9 = t8;
0x00409f2c jalr t9 | t9 ();
0x00409f30 nop |
0x00409f34 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409f38 addiu v0, fp, 0xcc | v0 = fp + 0xcc;
0x00409f3c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00409f40 move v1, v0 | v1 = v0;
| /* str._sbin_Player_0_0_0_0_0_0__tmp_mfg_playlist */
0x00409f44 addiu v0, t8, -0x45e8 | v0 = t8 + -0x45e8;
0x00409f48 addiu t8, zero, 0x2b | t8 = 0x2b;
0x00409f4c move a0, v1 | a0 = v1;
0x00409f50 move a1, v0 | a1 = v0;
0x00409f54 move a2, t8 | a2 = t8;
0x00409f58 lw t8, -0x7e68(gp) | t8 = sym.imp.memcpy;
0x00409f5c move t9, t8 | t9 = t8;
0x00409f60 jalr t9 | t9 ();
0x00409f64 nop |
0x00409f68 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409f6c addiu t8, fp, 0xcc | t8 = fp + 0xcc;
0x00409f70 move a0, t8 | a0 = t8;
0x00409f74 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00409f78 move t9, t8 | t9 = t8;
0x00409f7c jalr t9 | t9 ();
0x00409f80 nop |
0x00409f84 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409f88 b 0x409fb0 | goto label_0;
0x00409f8c nop |
| }
0x00409f90 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Player_does_not_exist_or_not_excutable__abort..._ */
0x00409f94 addiu a0, t8, -0x45bc | a0 = t8 + -0x45bc;
0x00409f98 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00409f9c move t9, t8 | t9 = t8;
0x00409fa0 jalr t9 | t9 ();
0x00409fa4 nop |
0x00409fa8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409fac nop |
| label_0:
0x00409fb0 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00409fb4 lw v0, 0x4cc(fp) | v0 = *(arg_4cch);
0x00409fb8 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00409fbc beq v0, t8, 0x409fd4 |
0x00409fc0 nop |
0x00409fc4 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00409fc8 move t9, t8 | t9 = t8;
0x00409fcc jalr t9 | t9 ();
0x00409fd0 nop |
| }
0x00409fd4 move sp, fp |
0x00409fd8 lw ra, 0x4d4(sp) | ra = *(var_4d4h);
0x00409fdc lw fp, 0x4d0(sp) | fp = *(var_4d0h);
0x00409fe0 addiu sp, sp, 0x4d8 |
0x00409fe4 jr ra | return v0;
0x00409fe8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x406fa4 */
| #include <stdint.h>
|
; (fcn) sym.TestRTC_int__char_const_ () | void TestRTC_int_char_const_ () {
| /* TestRTC(int, char const*) */
0x00406fa4 lui gp, 2 |
0x00406fa8 addiu gp, gp, -0x1f54 |
0x00406fac addu gp, gp, t9 | gp += t9;
0x00406fb0 addiu sp, sp, -0x100 |
0x00406fb4 sw ra, 0xfc(sp) | *(var_fch) = ra;
0x00406fb8 sw fp, 0xf8(sp) | *(var_f8h) = fp;
0x00406fbc move fp, sp | fp = sp;
0x00406fc0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00406fc4 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x00406fc8 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x00406fcc lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00406fd0 lw t8, (t8) | t8 = *(t8);
0x00406fd4 sw t8, 0xf4(fp) | *(arg_f4h) = t8;
0x00406fd8 addiu v0, fp, 0x34 | v0 = fp + 0x34;
0x00406fdc addiu t8, zero, 0x40 | t8 = 0x40;
0x00406fe0 move a0, v0 | a0 = v0;
0x00406fe4 move a1, zero | a1 = 0;
0x00406fe8 move a2, t8 | a2 = t8;
0x00406fec lw t8, -0x7ef8(gp) | t8 = sym.imp.memset;
0x00406ff0 move t9, t8 | t9 = t8;
0x00406ff4 jalr t9 | t9 ();
0x00406ff8 nop |
0x00406ffc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407000 addiu v0, fp, 0x74 | v0 = fp + 0x74;
0x00407004 addiu t8, zero, 0x40 | t8 = 0x40;
0x00407008 move a0, v0 | a0 = v0;
0x0040700c move a1, zero | a1 = 0;
0x00407010 move a2, t8 | a2 = t8;
0x00407014 lw t8, -0x7ef8(gp) | t8 = sym.imp.memset;
0x00407018 move t9, t8 | t9 = t8;
0x0040701c jalr t9 | t9 ();
0x00407020 nop |
0x00407024 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407028 sw zero, 0x28(fp) | *(arg_28h) = 0;
0x0040702c lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00407030 addiu t8, zero, 2 | t8 = 2;
| if (v0 != t8) {
0x00407034 beq v0, t8, 0x40705c |
0x00407038 nop |
0x0040703c lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x00406f20 */
0x00407040 addiu t8, t8, 0x6f20 | t8 += 0x6f20;
0x00407044 move t9, t8 | t9 = t8;
0x00407048 jalr t9 | t9 ();
0x0040704c nop |
0x00407050 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407054 b 0x40725c | goto label_0;
0x00407058 nop |
| }
0x0040705c addiu t8, fp, 0xb4 | t8 = fp + 0xb4;
0x00407060 move a0, t8 | a0 = t8;
0x00407064 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.date__u__s */
0x00407068 addiu a1, t8, -0x52fc | a1 = t8 + -0x52fc;
0x0040706c lw a2, 0x18(fp) | a2 = *(arg_18h);
0x00407070 lw t8, -0x7f14(gp) | t8 = sym.imp.sprintf;
0x00407074 move t9, t8 | t9 = t8;
0x00407078 jalr t9 | t9 ();
0x0040707c nop |
0x00407080 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407084 addiu t8, fp, 0xb4 | t8 = fp + 0xb4;
0x00407088 move a0, t8 | a0 = t8;
0x0040708c lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00407090 move t9, t8 | t9 = t8;
0x00407094 jalr t9 | t9 ();
0x00407098 nop |
0x0040709c lw gp, 0x10(fp) | gp = *(arg_10h);
0x004070a0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.hwclock__w__u */
0x004070a4 addiu a0, t8, -0x52f0 | a0 = t8 + -0x52f0;
0x004070a8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x004070ac move t9, t8 | t9 = t8;
0x004070b0 jalr t9 | t9 ();
0x004070b4 nop |
0x004070b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004070bc sw zero, 0x24(fp) | *(arg_24h) = 0;
0x004070c0 b 0x4071fc | goto label_1;
0x004070c4 nop |
| do {
0x004070c8 addiu a0, zero, 1 | a0 = 1;
0x004070cc lw t8, -0x7e70(gp) | t8 = sym.imp.sleep;
0x004070d0 move t9, t8 | t9 = t8;
0x004070d4 jalr t9 | t9 ();
0x004070d8 nop |
0x004070dc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004070e0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.date__u */
0x004070e4 addiu a0, t8, -0x52e0 | a0 = t8 + -0x52e0;
0x004070e8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x004070ec addiu a1, t8, -0x52d8 | a1 = t8 + -0x52d8;
0x004070f0 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x004070f4 move t9, t8 | t9 = t8;
0x004070f8 jalr t9 | t9 ();
0x004070fc nop |
0x00407100 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407104 move t8, v0 | t8 = v0;
0x00407108 sw t8, 0x2c(fp) | *(arg_2ch) = t8;
0x0040710c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.hwclock */
0x00407110 addiu a0, t8, -0x52d4 | a0 = t8 + -0x52d4;
0x00407114 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00407118 addiu a1, t8, -0x52d8 | a1 = t8 + -0x52d8;
0x0040711c lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00407120 move t9, t8 | t9 = t8;
0x00407124 jalr t9 | t9 ();
0x00407128 nop |
0x0040712c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407130 move t8, v0 | t8 = v0;
0x00407134 sw t8, 0x30(fp) | *(arg_30h) = t8;
0x00407138 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040713c move a0, t8 | a0 = t8;
0x00407140 addiu a1, zero, 0x40 | a1 = 0x40;
0x00407144 lw a2, 0x2c(fp) | a2 = *(arg_2ch);
0x00407148 lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x0040714c move t9, t8 | t9 = t8;
0x00407150 jalr t9 | t9 ();
0x00407154 nop |
0x00407158 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040715c addiu t8, fp, 0x74 | t8 = fp + 0x74;
0x00407160 move a0, t8 | a0 = t8;
0x00407164 addiu a1, zero, 0x40 | a1 = 0x40;
0x00407168 lw a2, 0x30(fp) | a2 = *(arg_30h);
0x0040716c lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x00407170 move t9, t8 | t9 = t8;
0x00407174 jalr t9 | t9 ();
0x00407178 nop |
0x0040717c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407180 addiu v0, fp, 0x74 | v0 = fp + 0x74;
0x00407184 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00407188 move a0, v0 | a0 = v0;
0x0040718c move a1, t8 | a1 = t8;
0x00407190 addiu a2, zero, 0x12 | a2 = 0x12;
0x00407194 lw t8, -0x7e7c(gp) | t8 = sym.imp.strncmp;
0x00407198 move t9, t8 | t9 = t8;
0x0040719c jalr t9 | t9 ();
0x004071a0 nop |
0x004071a4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004071a8 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004071ac bnez t8, 0x4071c0 |
0x004071b0 nop |
0x004071b4 lw t8, 0x28(fp) | t8 = *(arg_28h);
0x004071b8 addiu t8, t8, 1 | t8++;
0x004071bc sw t8, 0x28(fp) | *(arg_28h) = t8;
| }
0x004071c0 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x004071c4 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x004071c8 move t9, t8 | t9 = t8;
0x004071cc jalr t9 | t9 ();
0x004071d0 nop |
0x004071d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004071d8 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004071dc lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x004071e0 move t9, t8 | t9 = t8;
0x004071e4 jalr t9 | t9 ();
0x004071e8 nop |
0x004071ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004071f0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004071f4 addiu t8, t8, 1 | t8++;
0x004071f8 sw t8, 0x24(fp) | *(arg_24h) = t8;
| label_1:
0x004071fc lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00407200 slti t8, t8, 3 | t8 = (t8 < 3) ? 1 : 0;
0x00407204 bnez t8, 0x4070c8 |
| } while (t8 != 0);
0x00407208 nop |
0x0040720c lw t8, 0x28(fp) | t8 = *(arg_28h);
0x00407210 slti t8, t8, 2 | t8 = (t8 < 2) ? 1 : 0;
| if (t8 == 0) {
0x00407214 bnez t8, 0x407240 |
0x00407218 nop |
0x0040721c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00407220 addiu a0, t8, -0x52cc | a0 = t8 + -0x52cc;
0x00407224 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00407228 move t9, t8 | t9 = t8;
0x0040722c jalr t9 | t9 ();
0x00407230 nop |
0x00407234 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407238 b 0x40725c | goto label_0;
0x0040723c nop |
| }
0x00407240 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00407244 addiu a0, t8, -0x52c8 | a0 = t8 + -0x52c8;
0x00407248 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x0040724c move t9, t8 | t9 = t8;
0x00407250 jalr t9 | t9 ();
0x00407254 nop |
0x00407258 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_0:
0x0040725c lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00407260 lw v0, 0xf4(fp) | v0 = *(arg_f4h);
0x00407264 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00407268 beq v0, t8, 0x407280 |
0x0040726c nop |
0x00407270 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00407274 move t9, t8 | t9 = t8;
0x00407278 jalr t9 | t9 ();
0x0040727c nop |
| }
0x00407280 move sp, fp |
0x00407284 lw ra, 0xfc(sp) | ra = *(var_fch);
0x00407288 lw fp, 0xf8(sp) | fp = *(var_f8h);
0x0040728c addiu sp, sp, 0x100 |
0x00407290 jr ra | return v0;
0x00407294 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x4022c4 */
| #include <stdint.h>
|
; (fcn) sym.TestSD_int_ () | void TestSD_int_ () {
| /* TestSD(int) */
0x004022c4 lui gp, 2 |
0x004022c8 addiu gp, gp, 0x2d8c |
0x004022cc addu gp, gp, t9 | gp += t9;
0x004022d0 addiu sp, sp, -0x90 |
0x004022d4 sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x004022d8 sw fp, 0x88(sp) | *(var_88h) = fp;
0x004022dc move fp, sp | fp = sp;
0x004022e0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x004022e4 sw a0, 0x24(fp) | *(arg_24h) = a0;
0x004022e8 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004022ec lw t8, (t8) | t8 = *(t8);
0x004022f0 sw t8, 0x84(fp) | *(arg_84h) = t8;
0x004022f4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x004022f8 lw a0, -0x5a1c(t8) | a0 = *((t8 - 5767));
| /* str.SD_card_test */
0x004022fc addiu v0, t8, -0x5a1c | v0 = t8 + -0x5a1c;
0x00402300 lw v1, 4(v0) | v1 = *((v0 + 1));
| /* str.SD_card_test */
0x00402304 addiu v0, t8, -0x5a1c | v0 = t8 + -0x5a1c;
0x00402308 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0040230c sw a0, 0x34(fp) | *(arg_34h) = a0;
0x00402310 sw v1, 0x38(fp) | *(arg_38h) = v1;
0x00402314 sw v0, 0x3c(fp) | *(arg_3ch) = v0;
| /* str.SD_card_test */
0x00402318 addiu t8, t8, -0x5a1c | t8 += -0x5a1c;
0x0040231c lbu t8, 0xc(t8) | t8 = *((t8 + 12));
0x00402320 sb t8, 0x40(fp) | *(arg_40h) = t8;
0x00402324 lw v0, 0x24(fp) | v0 = *(arg_24h);
0x00402328 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x0040232c beq v0, t8, 0x402354 |
0x00402330 nop |
0x00402334 lw t8, -0x7f8c(gp) | t8 = *(gp);
| /* aav.0x00402240 */
0x00402338 addiu t8, t8, 0x2240 | t8 += 0x2240;
0x0040233c move t9, t8 | t9 = t8;
0x00402340 jalr t9 | t9 ();
0x00402344 nop |
0x00402348 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040234c b 0x402568 | goto label_0;
0x00402350 nop |
| }
0x00402354 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mdev__s */
0x00402358 addiu a0, t8, -0x5a6c | a0 = t8 + -0x5a6c;
0x0040235c lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00402360 move t9, t8 | t9 = t8;
0x00402364 jalr t9 | t9 ();
0x00402368 nop |
0x0040236c lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402370 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00402374 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._dev_mmcblk0p1 */
0x00402378 addiu a0, t8, -0x5a64 | a0 = t8 + -0x5a64;
0x0040237c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._mnt_usb */
0x00402380 addiu a1, t8, -0x5a54 | a1 = t8 + -0x5a54;
0x00402384 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.vfat */
0x00402388 addiu a2, t8, -0x5a48 | a2 = t8 + -0x5a48;
0x0040238c lui a3, 0xc0ed | a3 = 0xc0ed0000;
0x00402390 lw t8, -0x7f34(gp) | t8 = sym.imp.mount;
0x00402394 move t9, t8 | t9 = t8;
0x00402398 jalr t9 | t9 ();
0x0040239c nop |
0x004023a0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023a4 lw t8, -0x7e54(gp) | t8 = sym.imp.__errno_location;
0x004023a8 move t9, t8 | t9 = t8;
0x004023ac jalr t9 | t9 ();
0x004023b0 nop |
0x004023b4 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023b8 move t8, v0 | t8 = v0;
0x004023bc lw t8, (t8) | t8 = *(t8);
| if (t8 != 0) {
0x004023c0 beqz t8, 0x4023f0 |
0x004023c4 nop |
0x004023c8 lw t8, -0x7e54(gp) | t8 = sym.imp.__errno_location;
0x004023cc move t9, t8 | t9 = t8;
0x004023d0 jalr t9 | t9 ();
0x004023d4 nop |
0x004023d8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004023dc move t8, v0 | t8 = v0;
0x004023e0 lw v0, (t8) | v0 = *(t8);
0x004023e4 addiu t8, zero, 0x10 | t8 = 0x10;
| if (v0 != t8) {
0x004023e8 bne v0, t8, 0x40254c | goto label_1;
| }
0x004023ec nop |
| }
0x004023f0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._mnt_usb_sd_card_test */
0x004023f4 addiu a0, t8, -0x5a40 | a0 = t8 + -0x5a40;
0x004023f8 addiu a1, zero, 0x102 | a1 = 0x102;
0x004023fc addiu a2, zero, 0x1c0 | a2 = 0x1c0;
0x00402400 lw t8, -0x7f28(gp) | t8 = sym.imp.open64;
0x00402404 move t9, t8 | t9 = t8;
0x00402408 jalr t9 | t9 ();
0x0040240c nop |
0x00402410 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402414 move t8, v0 | t8 = v0;
0x00402418 sw t8, 0x2c(fp) | *(arg_2ch) = t8;
0x0040241c lw v0, 0x2c(fp) | v0 = *(arg_2ch);
0x00402420 addiu t8, zero, -1 | t8 = -1;
| if (v0 == t8) {
0x00402424 bne v0, t8, 0x402450 |
0x00402428 nop |
0x0040242c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00402430 addiu a0, t8, -0x5a28 | a0 = t8 + -0x5a28;
0x00402434 lw t8, -0x7f00(gp) | t8 = sym.imp.perror;
0x00402438 move t9, t8 | t9 = t8;
0x0040243c jalr t9 | t9 ();
0x00402440 nop |
0x00402444 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402448 b 0x402568 | goto label_0;
0x0040244c nop |
| }
0x00402450 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00402454 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x00402458 move a1, t8 | a1 = t8;
0x0040245c addiu a2, zero, 0xd | a2 = 0xd;
0x00402460 lw t8, -0x7ed0(gp) | t8 = sym.imp.write;
0x00402464 move t9, t8 | t9 = t8;
0x00402468 jalr t9 | t9 ();
0x0040246c nop |
0x00402470 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402474 sw zero, 0x10(sp) | *(var_10h) = 0;
0x00402478 lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x0040247c move a2, zero | a2 = 0;
0x00402480 move a3, zero | a3 = 0;
0x00402484 lw t8, -0x7e98(gp) | t8 = sym.imp.lseek64;
0x00402488 move t9, t8 | t9 = t8;
0x0040248c jalr t9 | t9 ();
0x00402490 nop |
0x00402494 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402498 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x0040249c lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x004024a0 move a1, t8 | a1 = t8;
0x004024a4 addiu a2, zero, 0x40 | a2 = 0x40;
0x004024a8 lw t8, -0x7e94(gp) | t8 = sym.imp.read;
0x004024ac move t9, t8 | t9 = t8;
0x004024b0 jalr t9 | t9 ();
0x004024b4 nop |
0x004024b8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004024bc lw a0, 0x2c(fp) | a0 = *(arg_2ch);
0x004024c0 lw t8, -0x7ee4(gp) | t8 = sym.imp.close;
0x004024c4 move t9, t8 | t9 = t8;
0x004024c8 jalr t9 | t9 ();
0x004024cc nop |
0x004024d0 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004024d4 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x004024d8 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004024dc move a0, v0 | a0 = v0;
0x004024e0 move a1, t8 | a1 = t8;
0x004024e4 addiu a2, zero, 0xd | a2 = 0xd;
0x004024e8 lw t8, -0x7e7c(gp) | t8 = sym.imp.strncmp;
0x004024ec move t9, t8 | t9 = t8;
0x004024f0 jalr t9 | t9 ();
0x004024f4 nop |
0x004024f8 lw gp, 0x18(fp) | gp = *(arg_18h);
0x004024fc sw v0, 0x30(fp) | *(arg_30h) = v0;
0x00402500 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._mnt_usb_sd_card_test */
0x00402504 addiu a0, t8, -0x5a40 | a0 = t8 + -0x5a40;
0x00402508 lw t8, -0x7e78(gp) | t8 = sym.imp.remove;
0x0040250c move t9, t8 | t9 = t8;
0x00402510 jalr t9 | t9 ();
0x00402514 nop |
0x00402518 lw gp, 0x18(fp) | gp = *(arg_18h);
0x0040251c lw t8, 0x30(fp) | t8 = *(arg_30h);
| if (t8 == 0) {
0x00402520 bnez t8, 0x40254c |
0x00402524 nop |
0x00402528 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x0040252c addiu a0, t8, -0x5a20 | a0 = t8 + -0x5a20;
0x00402530 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00402534 move t9, t8 | t9 = t8;
0x00402538 jalr t9 | t9 ();
0x0040253c nop |
0x00402540 lw gp, 0x18(fp) | gp = *(arg_18h);
0x00402544 b 0x402568 | goto label_0;
0x00402548 nop |
| }
| label_1:
0x0040254c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00402550 addiu a0, t8, -0x5a28 | a0 = t8 + -0x5a28;
0x00402554 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00402558 move t9, t8 | t9 = t8;
0x0040255c jalr t9 | t9 ();
0x00402560 nop |
0x00402564 lw gp, 0x18(fp) | gp = *(arg_18h);
| label_0:
0x00402568 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x0040256c lw v0, 0x84(fp) | v0 = *(arg_84h);
0x00402570 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00402574 beq v0, t8, 0x40258c |
0x00402578 nop |
0x0040257c lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00402580 move t9, t8 | t9 = t8;
0x00402584 jalr t9 | t9 ();
0x00402588 nop |
| }
0x0040258c move sp, fp |
0x00402590 lw ra, 0x8c(sp) | ra = *(var_8ch);
0x00402594 lw fp, 0x88(sp) | fp = *(var_88h);
0x00402598 addiu sp, sp, 0x90 |
0x0040259c jr ra | return v0;
0x004025a0 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x408cb8 */
| #include <stdint.h>
|
; (fcn) sym.TestWireless_int__char_const_ () | void TestWireless_int_char_const_ () {
| /* TestWireless(int, char const**) */
0x00408cb8 lui gp, 2 |
0x00408cbc addiu gp, gp, -0x3c68 |
0x00408cc0 addu gp, gp, t9 | gp += t9;
0x00408cc4 addiu sp, sp, -0x3968 |
0x00408cc8 sw ra, 0x3964(sp) | *(arg_3964h) = ra;
0x00408ccc sw fp, 0x3960(sp) | *(arg_3960h) = fp;
0x00408cd0 sw s0, 0x395c(sp) | *(arg_395ch) = s0;
0x00408cd4 move fp, sp | fp = sp;
0x00408cd8 sw gp, 0x10(sp) | *(arg_10h) = gp;
0x00408cdc sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x00408ce0 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x00408ce4 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00408ce8 lw t8, (t8) | t8 = *(t8);
0x00408cec sw t8, 0x3954(fp) | *(arg_3954h) = t8;
0x00408cf0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408cf4 move a0, t8 | a0 = t8;
0x00408cf8 lw t8, -0x7f84(gp) | t8 = *(gp);
0x00408cfc move t9, t8 | t9 = t8;
0x00408d00 jalr t9 | t9 ();
0x00408d04 nop |
0x00408d08 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408d0c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408d10 move a0, t8 | a0 = t8;
0x00408d14 lw t8, -0x7f18(gp) | t8 = *(gp);
0x00408d18 move t9, t8 | t9 = t8;
0x00408d1c jalr t9 | t9 ();
0x00408d20 nop |
0x00408d24 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408d28 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408d2c move a0, t8 | a0 = t8;
0x00408d30 lw t8, -0x7ec8(gp) | t8 = *(gp);
0x00408d34 move t9, t8 | t9 = t8;
0x00408d38 jalr t9 | t9 ();
0x00408d3c nop |
0x00408d40 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408d44 move t8, v0 | t8 = v0;
0x00408d48 xori t8, t8, 1 | t8 ^= 1;
0x00408d4c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00408d50 beqz t8, 0x408d80 |
0x00408d54 nop |
0x00408d58 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.No_Wireless_Capabilities */
0x00408d5c addiu a0, t8, -0x4d90 | a0 = t8 + -0x4d90;
0x00408d60 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00408d64 move t9, t8 | t9 = t8;
0x00408d68 jalr t9 | t9 ();
0x00408d6c nop |
0x00408d70 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408d74 move s0, zero | s0 = 0;
0x00408d78 b 0x409340 | goto label_0;
0x00408d7c nop |
| }
0x00408d80 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00408d84 addiu t8, zero, 2 | t8 = 2;
| if (v0 == t8) {
0x00408d88 bne v0, t8, 0x408e10 |
0x00408d8c nop |
0x00408d90 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408d94 addiu t8, t8, 4 | t8 += 4;
0x00408d98 lw t8, (t8) | t8 = *(t8);
0x00408d9c move a0, t8 | a0 = t8;
0x00408da0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.region */
0x00408da4 addiu a1, t8, -0x4d74 | a1 = t8 + -0x4d74;
0x00408da8 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408dac move t9, t8 | t9 = t8;
0x00408db0 jalr t9 | t9 ();
0x00408db4 nop |
0x00408db8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408dbc move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408dc0 bnez t8, 0x408e10 | goto label_1;
| }
0x00408dc4 nop |
0x00408dc8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00408dcc move a0, t8 | a0 = t8;
0x00408dd0 lw t8, -0x7e74(gp) | t8 = *(gp);
0x00408dd4 move t9, t8 | t9 = t8;
0x00408dd8 jalr t9 | t9 ();
0x00408ddc nop |
0x00408de0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408de4 move t8, v0 | t8 = v0;
0x00408de8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.Region___d_n */
0x00408dec addiu a0, v0, -0x4d6c | a0 = v0 + -0x4d6c;
0x00408df0 move a1, t8 | a1 = t8;
0x00408df4 lw t8, -0x7f44(gp) | t8 = sym.imp.printf;
0x00408df8 move t9, t8 | t9 = t8;
0x00408dfc jalr t9 | t9 ();
0x00408e00 nop |
0x00408e04 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408e08 b 0x40933c | goto label_2;
0x00408e0c nop |
| }
| label_1:
0x00408e10 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00408e14 addiu t8, zero, 2 | t8 = 2;
| if (v0 == t8) {
0x00408e18 bne v0, t8, 0x408eb0 |
0x00408e1c nop |
0x00408e20 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408e24 addiu t8, t8, 4 | t8 += 4;
0x00408e28 lw t8, (t8) | t8 = *(t8);
0x00408e2c move a0, t8 | a0 = t8;
0x00408e30 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.enable */
0x00408e34 addiu a1, t8, -0x4d5c | a1 = t8 + -0x4d5c;
0x00408e38 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408e3c move t9, t8 | t9 = t8;
0x00408e40 jalr t9 | t9 ();
0x00408e44 nop |
0x00408e48 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408e4c move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408e50 bnez t8, 0x408eb0 | goto label_3;
| }
0x00408e54 nop |
0x00408e58 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.curl_127.0.0.1_config_wireless.cgi_enableon____dev_null_2___dev_null */
0x00408e5c addiu a0, t8, -0x4d54 | a0 = t8 + -0x4d54;
0x00408e60 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00408e64 move t9, t8 | t9 = t8;
0x00408e68 jalr t9 | t9 ();
0x00408e6c nop |
0x00408e70 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408e74 addiu a0, zero, 3 | a0 = 3;
0x00408e78 lw t8, -0x7e70(gp) | t8 = sym.imp.sleep;
0x00408e7c move t9, t8 | t9 = t8;
0x00408e80 jalr t9 | t9 ();
0x00408e84 nop |
0x00408e88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408e8c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00408e90 addiu a0, t8, -0x4d0c | a0 = t8 + -0x4d0c;
0x00408e94 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00408e98 move t9, t8 | t9 = t8;
0x00408e9c jalr t9 | t9 ();
0x00408ea0 nop |
0x00408ea4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408ea8 b 0x40933c | goto label_2;
0x00408eac nop |
| }
| label_3:
0x00408eb0 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00408eb4 addiu t8, zero, 2 | t8 = 2;
| if (v0 == t8) {
0x00408eb8 bne v0, t8, 0x408f50 |
0x00408ebc nop |
0x00408ec0 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408ec4 addiu t8, t8, 4 | t8 += 4;
0x00408ec8 lw t8, (t8) | t8 = *(t8);
0x00408ecc move a0, t8 | a0 = t8;
0x00408ed0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.disable */
0x00408ed4 addiu a1, t8, -0x4d08 | a1 = t8 + -0x4d08;
0x00408ed8 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408edc move t9, t8 | t9 = t8;
0x00408ee0 jalr t9 | t9 ();
0x00408ee4 nop |
0x00408ee8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408eec move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408ef0 bnez t8, 0x408f50 | goto label_4;
| }
0x00408ef4 nop |
0x00408ef8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.curl_127.0.0.1_config_wireless.cgi_enableoff____dev_null_2___dev_null */
0x00408efc addiu a0, t8, -0x4d00 | a0 = t8 + -0x4d00;
0x00408f00 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00408f04 move t9, t8 | t9 = t8;
0x00408f08 jalr t9 | t9 ();
0x00408f0c nop |
0x00408f10 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408f14 addiu a0, zero, 3 | a0 = 3;
0x00408f18 lw t8, -0x7e70(gp) | t8 = sym.imp.sleep;
0x00408f1c move t9, t8 | t9 = t8;
0x00408f20 jalr t9 | t9 ();
0x00408f24 nop |
0x00408f28 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408f2c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x00408f30 addiu a0, t8, -0x4d0c | a0 = t8 + -0x4d0c;
0x00408f34 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x00408f38 move t9, t8 | t9 = t8;
0x00408f3c jalr t9 | t9 ();
0x00408f40 nop |
0x00408f44 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408f48 b 0x40933c | goto label_2;
0x00408f4c nop |
| }
| label_4:
0x00408f50 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00408f54 addiu t8, zero, 3 | t8 = 3;
| if (v0 == t8) {
0x00408f58 bne v0, t8, 0x409104 |
0x00408f5c nop |
0x00408f60 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408f64 addiu t8, t8, 4 | t8 += 4;
0x00408f68 lw t8, (t8) | t8 = *(t8);
0x00408f6c move a0, t8 | a0 = t8;
0x00408f70 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.region */
0x00408f74 addiu a1, t8, -0x4d74 | a1 = t8 + -0x4d74;
0x00408f78 lw t8, -0x7f2c(gp) | t8 = sym.imp.strcmp;
0x00408f7c move t9, t8 | t9 = t8;
0x00408f80 jalr t9 | t9 ();
0x00408f84 nop |
0x00408f88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408f8c move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00408f90 bnez t8, 0x409104 | goto label_5;
| }
0x00408f94 nop |
0x00408f98 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408f9c addiu t8, t8, 8 | t8 += 8;
0x00408fa0 lw t8, (t8) | t8 = *(t8);
0x00408fa4 move a0, t8 | a0 = t8;
0x00408fa8 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00408fac move t9, t8 | t9 = t8;
0x00408fb0 jalr t9 | t9 ();
0x00408fb4 nop |
0x00408fb8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408fbc move t8, v0 | t8 = v0;
| if (t8 < 0) {
0x00408fc0 bltz t8, 0x409104 | goto label_5;
| }
0x00408fc4 nop |
0x00408fc8 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00408fcc addiu t8, t8, 8 | t8 += 8;
0x00408fd0 lw t8, (t8) | t8 = *(t8);
0x00408fd4 move a0, t8 | a0 = t8;
0x00408fd8 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00408fdc move t9, t8 | t9 = t8;
0x00408fe0 jalr t9 | t9 ();
0x00408fe4 nop |
0x00408fe8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00408fec move t8, v0 | t8 = v0;
0x00408ff0 slti t8, t8, 8 | t8 = (t8 < 8) ? 1 : 0;
| if (t8 == 0) {
0x00408ff4 beqz t8, 0x409104 | goto label_5;
| }
0x00408ff8 nop |
0x00408ffc lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00409000 addiu t8, t8, 8 | t8 += 8;
0x00409004 lw t8, (t8) | t8 = *(t8);
0x00409008 move a0, t8 | a0 = t8;
0x0040900c lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00409010 move t9, t8 | t9 = t8;
0x00409014 jalr t9 | t9 ();
0x00409018 nop |
0x0040901c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409020 move t8, v0 | t8 = v0;
0x00409024 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x00409028 move a0, v0 | a0 = v0;
0x0040902c move a1, t8 | a1 = t8;
0x00409030 lw t8, -0x7f3c(gp) | t8 = *(gp);
0x00409034 move t9, t8 | t9 = t8;
0x00409038 jalr t9 | t9 ();
0x0040903c nop |
0x00409040 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409044 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00409048 move a0, t8 | a0 = t8;
0x0040904c lw t8, -0x7ec4(gp) | t8 = *(gp);
0x00409050 move t9, t8 | t9 = t8;
0x00409054 jalr t9 | t9 ();
0x00409058 nop |
0x0040905c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409060 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00409064 move a0, t8 | a0 = t8;
0x00409068 lw t8, -0x7e74(gp) | t8 = *(gp);
0x0040906c move t9, t8 | t9 = t8;
0x00409070 jalr t9 | t9 ();
0x00409074 nop |
0x00409078 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040907c move s0, v0 | s0 = v0;
0x00409080 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00409084 addiu t8, t8, 8 | t8 += 8;
0x00409088 lw t8, (t8) | t8 = *(t8);
0x0040908c move a0, t8 | a0 = t8;
0x00409090 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00409094 move t9, t8 | t9 = t8;
0x00409098 jalr t9 | t9 ();
0x0040909c nop |
0x004090a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004090a4 move t8, v0 | t8 = v0;
0x004090a8 xor t8, s0, t8 | t8 = s0 ^ t8;
0x004090ac sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x004090b0 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004090b4 beqz t8, 0x4090e0 |
0x004090b8 nop |
0x004090bc lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004090c0 addiu a0, t8, -0x4d0c | a0 = t8 + -0x4d0c;
0x004090c4 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004090c8 move t9, t8 | t9 = t8;
0x004090cc jalr t9 | t9 ();
0x004090d0 nop |
0x004090d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004090d8 b 0x40933c | goto label_2;
0x004090dc nop |
| }
0x004090e0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x004090e4 addiu a0, t8, -0x4cb8 | a0 = t8 + -0x4cb8;
0x004090e8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004090ec move t9, t8 | t9 = t8;
0x004090f0 jalr t9 | t9 ();
0x004090f4 nop |
0x004090f8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004090fc b 0x40933c | goto label_2;
0x00409100 nop |
| }
| label_5:
0x00409104 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x00409108 addiu t8, zero, 3 | t8 = 3;
| if (v0 != t8) {
0x0040910c bne v0, t8, 0x409324 | goto label_6;
| }
0x00409110 nop |
0x00409114 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00409118 addiu t8, t8, 4 | t8 += 4;
0x0040911c lw t8, (t8) | t8 = *(t8);
0x00409120 move a0, t8 | a0 = t8;
0x00409124 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00409128 move t9, t8 | t9 = t8;
0x0040912c jalr t9 | t9 ();
0x00409130 nop |
0x00409134 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409138 move t8, v0 | t8 = v0;
| if (t8 < 0) {
0x0040913c bltz t8, 0x409324 | goto label_6;
| }
0x00409140 nop |
0x00409144 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x00409148 addiu t8, t8, 4 | t8 += 4;
0x0040914c lw t8, (t8) | t8 = *(t8);
0x00409150 move a0, t8 | a0 = t8;
0x00409154 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x00409158 move t9, t8 | t9 = t8;
0x0040915c jalr t9 | t9 ();
0x00409160 nop |
0x00409164 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409168 move t8, v0 | t8 = v0;
0x0040916c slti t8, t8, 8 | t8 = (t8 < 8) ? 1 : 0;
| if (t8 == 0) {
0x00409170 beqz t8, 0x409324 | goto label_6;
| }
0x00409174 nop |
0x00409178 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x0040917c addiu t8, t8, 4 | t8 += 4;
0x00409180 lw t8, (t8) | t8 = *(t8);
0x00409184 move a0, t8 | a0 = t8;
0x00409188 lw t8, -0x7f38(gp) | t8 = sym.imp.atoi;
0x0040918c move t9, t8 | t9 = t8;
0x00409190 jalr t9 | t9 ();
0x00409194 nop |
0x00409198 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040919c move t8, v0 | t8 = v0;
0x004091a0 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x004091a4 move a0, v0 | a0 = v0;
0x004091a8 move a1, t8 | a1 = t8;
0x004091ac lw t8, -0x7f3c(gp) | t8 = *(gp);
0x004091b0 move t9, t8 | t9 = t8;
0x004091b4 jalr t9 | t9 ();
0x004091b8 nop |
0x004091bc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004091c0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004091c4 move a0, t8 | a0 = t8;
0x004091c8 lw t8, -0x7ec4(gp) | t8 = *(gp);
0x004091cc move t9, t8 | t9 = t8;
0x004091d0 jalr t9 | t9 ();
0x004091d4 nop |
0x004091d8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004091dc sw zero, 0x20(fp) | *(arg_20h) = 0;
0x004091e0 b 0x4092f0 | goto label_7;
0x004091e4 nop |
| do {
0x004091e8 lw t8, 0x18(fp) | t8 = *(arg_18h);
0x004091ec addiu t8, t8, 8 | t8 += 8;
0x004091f0 lw t8, (t8) | t8 = *(t8);
0x004091f4 addiu v0, fp, 0x3754 | v0 = fp + 0x3754;
0x004091f8 move a0, v0 | a0 = v0;
0x004091fc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str.ping__c_1__w_1__s */
0x00409200 addiu a1, v0, -0x4cb0 | a1 = v0 + -0x4cb0;
0x00409204 move a2, t8 | a2 = t8;
0x00409208 lw t8, -0x7f14(gp) | t8 = sym.imp.sprintf;
0x0040920c move t9, t8 | t9 = t8;
0x00409210 jalr t9 | t9 ();
0x00409214 nop |
0x00409218 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040921c addiu t8, fp, 0x3754 | t8 = fp + 0x3754;
0x00409220 move a0, t8 | a0 = t8;
0x00409224 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00409228 addiu a1, t8, -0x4c9c | a1 = t8 + -0x4c9c;
0x0040922c lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00409230 move t9, t8 | t9 = t8;
0x00409234 jalr t9 | t9 ();
0x00409238 nop |
0x0040923c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409240 move t8, v0 | t8 = v0;
0x00409244 sw t8, 0x24(fp) | *(arg_24h) = t8;
0x00409248 addiu t8, fp, 0x3554 | t8 = fp + 0x3554;
0x0040924c move a0, t8 | a0 = t8;
0x00409250 addiu a1, zero, 0x200 | a1 = 0x200;
0x00409254 addiu a2, zero, 1 | a2 = 1;
0x00409258 lw a3, 0x24(fp) | a3 = *(arg_24h);
0x0040925c lw t8, -0x7eb4(gp) | t8 = sym.imp.fread;
0x00409260 move t9, t8 | t9 = t8;
0x00409264 jalr t9 | t9 ();
0x00409268 nop |
0x0040926c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409270 addiu t8, fp, 0x3554 | t8 = fp + 0x3554;
0x00409274 move a0, t8 | a0 = t8;
0x00409278 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.1_packets_received */
0x0040927c addiu a1, t8, -0x4c98 | a1 = t8 + -0x4c98;
0x00409280 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x00409284 move t9, t8 | t9 = t8;
0x00409288 jalr t9 | t9 ();
0x0040928c nop |
0x00409290 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00409294 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x00409298 beqz t8, 0x4092c8 |
0x0040929c nop |
0x004092a0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'ok' */
0x004092a4 addiu a0, t8, -0x4d0c | a0 = t8 + -0x4d0c;
0x004092a8 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x004092ac move t9, t8 | t9 = t8;
0x004092b0 jalr t9 | t9 ();
0x004092b4 nop |
0x004092b8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004092bc move s0, zero | s0 = 0;
0x004092c0 b 0x409340 | goto label_0;
0x004092c4 nop |
| }
0x004092c8 lui t8, 7 | t8 = 70000;
0x004092cc ori a0, t8, 0xa120 | a0 = 0x7a120;
0x004092d0 lw t8, -0x7e64(gp) | t8 = sym.imp.usleep;
0x004092d4 move t9, t8 | t9 = t8;
0x004092d8 jalr t9 | t9 ();
0x004092dc nop |
0x004092e0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004092e4 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004092e8 addiu t8, t8, 1 | t8++;
0x004092ec sw t8, 0x20(fp) | *(arg_20h) = t8;
| label_7:
0x004092f0 lw t8, 0x20(fp) | t8 = *(arg_20h);
0x004092f4 slti t8, t8, 0xa | t8 = (t8 < 0xa) ? 1 : 0;
0x004092f8 bnez t8, 0x4091e8 |
| } while (t8 != 0);
0x004092fc nop |
0x00409300 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'failed' */
0x00409304 addiu a0, t8, -0x4cb8 | a0 = t8 + -0x4cb8;
0x00409308 lw t8, -0x7f4c(gp) | t8 = sym.imp.puts;
0x0040930c move t9, t8 | t9 = t8;
0x00409310 jalr t9 | t9 ();
0x00409314 nop |
0x00409318 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040931c b 0x40933c | goto label_2;
0x00409320 nop |
| label_6:
0x00409324 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* aav.0x00408be0 */
0x00409328 addiu t8, t8, -0x7420 | t8 += -0x7420;
0x0040932c move t9, t8 | t9 = t8;
0x00409330 jalr t9 | t9 ();
0x00409334 nop |
0x00409338 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_2:
0x0040933c addiu s0, zero, 1 | s0 = 1;
| label_0:
0x00409340 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00409344 move a0, t8 | a0 = t8;
0x00409348 lw t8, -0x7e4c(gp) | t8 = sym.imp.PIB::PIB__;
0x0040934c move t9, t8 | t9 = t8;
0x00409350 jalr t9 | t9 ();
0x00409354 nop |
0x00409358 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040935c addiu t8, zero, 1 | t8 = 1;
| if (s0 == t8) {
0x00409360 bne s0, t8, 0x409478 |
0x00409364 nop |
0x00409368 nop |
0x0040936c b 0x409478 | goto label_8;
0x00409370 nop |
| }
| label_8:
0x00409478 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x0040947c lw v0, 0x3954(fp) | v0 = *(arg_3954h);
0x00409480 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x00409484 beq v0, t8, 0x40949c |
0x00409488 nop |
0x0040948c lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00409490 move t9, t8 | t9 = t8;
0x00409494 jalr t9 | t9 ();
0x00409498 nop |
| }
0x0040949c move sp, fp |
0x004094a0 lw ra, 0x3964(sp) | ra = *(arg_3964h);
0x004094a4 lw fp, 0x3960(sp) | fp = *(arg_3960h);
0x004094a8 lw s0, 0x395c(sp) | s0 = *(arg_395ch);
0x004094ac addiu sp, sp, 0x3968 |
0x004094b0 jr ra | return v0;
0x004094b4 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x407524 */
| #include <stdint.h>
|
; (fcn) sym.restart_auto__ () | void restart_auto_ () {
| /* restart_auto() */
0x00407524 lui gp, 2 |
0x00407528 addiu gp, gp, -0x24d4 |
0x0040752c addu gp, gp, t9 | gp += t9;
0x00407530 addiu sp, sp, -0x28 |
0x00407534 sw ra, 0x24(sp) | *(var_24h) = ra;
0x00407538 sw fp, 0x20(sp) | *(var_20h) = fp;
0x0040753c move fp, sp | fp = sp;
0x00407540 sw gp, 0x10(sp) | *(var_10h) = gp;
0x00407544 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x00407548 lw t8, (t8) | t8 = *(t8);
0x0040754c sw t8, 0x1c(fp) | *(arg_1ch) = t8;
0x00407550 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool__r____dev_null_2___dev_null */
0x00407554 addiu a0, t8, -0x51bc | a0 = t8 + -0x51bc;
0x00407558 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x0040755c move t9, t8 | t9 = t8;
0x00407560 jalr t9 | t9 ();
0x00407564 nop |
0x00407568 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040756c addiu a0, zero, 3 | a0 = 3;
0x00407570 lw t8, -0x7e70(gp) | t8 = sym.imp.sleep;
0x00407574 move t9, t8 | t9 = t8;
0x00407578 jalr t9 | t9 ();
0x0040757c nop |
0x00407580 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407584 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._etc_rc.d_init.d_ifplugd_start____dev_null_2___dev_null */
0x00407588 addiu a0, t8, -0x5194 | a0 = t8 + -0x5194;
0x0040758c lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x00407590 move t9, t8 | t9 = t8;
0x00407594 jalr t9 | t9 ();
0x00407598 nop |
0x0040759c lw gp, 0x10(fp) | gp = *(arg_10h);
0x004075a0 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004075a4 lw v0, 0x1c(fp) | v0 = *(arg_1ch);
0x004075a8 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x004075ac beq v0, t8, 0x4075c4 |
0x004075b0 nop |
0x004075b4 lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x004075b8 move t9, t8 | t9 = t8;
0x004075bc jalr t9 | t9 ();
0x004075c0 nop |
| }
0x004075c4 move sp, fp |
0x004075c8 lw ra, 0x24(sp) | ra = *(var_24h);
0x004075cc lw fp, 0x20(sp) | fp = *(var_20h);
0x004075d0 addiu sp, sp, 0x28 |
0x004075d4 jr ra | return v0;
0x004075d8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/bin/mfgbox @ 0x407394 */
| #include <stdint.h>
|
; (fcn) sym.test_char_const__char_ () | void test_char_const_char_ () {
| /* test(char const*, char*) */
0x00407394 lui gp, 2 |
0x00407398 addiu gp, gp, -0x2344 |
0x0040739c addu gp, gp, t9 | gp += t9;
0x004073a0 addiu sp, sp, -0x238 |
0x004073a4 sw ra, 0x234(sp) | *(var_234h) = ra;
0x004073a8 sw fp, 0x230(sp) | *(var_230h) = fp;
0x004073ac move fp, sp | fp = sp;
0x004073b0 sw gp, 0x10(sp) | *(var_10h) = gp;
0x004073b4 sw a0, 0x1c(fp) | *(arg_1ch) = a0;
0x004073b8 sw a1, 0x18(fp) | *(arg_18h) = a1;
0x004073bc lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004073c0 lw t8, (t8) | t8 = *(t8);
0x004073c4 sw t8, 0x22c(fp) | *(arg_22ch) = t8;
0x004073c8 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004073cc move a0, t8 | a0 = t8;
0x004073d0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool__F__s____dev_null_2___dev_null */
0x004073d4 addiu a1, t8, -0x5200 | a1 = t8 + -0x5200;
0x004073d8 lw a2, 0x1c(fp) | a2 = *(arg_1ch);
0x004073dc lw t8, -0x7f14(gp) | t8 = sym.imp.sprintf;
0x004073e0 move t9, t8 | t9 = t8;
0x004073e4 jalr t9 | t9 ();
0x004073e8 nop |
0x004073ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004073f0 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x004073f4 move a0, t8 | a0 = t8;
0x004073f8 lw t8, -0x7e5c(gp) | t8 = sym.imp.system
0x004073fc move t9, t8 | t9 = t8;
0x00407400 jalr t9 | t9 ();
0x00407404 nop |
0x00407408 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040740c sw zero, 0x24(fp) | *(arg_24h) = 0;
0x00407410 b 0x4074d8 | goto label_0;
0x00407414 nop |
| do {
0x00407418 lui t8, 7 | t8 = 70000;
0x0040741c ori a0, t8, 0xa120 | a0 = 0x7a120;
0x00407420 lw t8, -0x7e64(gp) | t8 = sym.imp.usleep;
0x00407424 move t9, t8 | t9 = t8;
0x00407428 jalr t9 | t9 ();
0x0040742c nop |
0x00407430 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407434 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.mii_tool_eth0 */
0x00407438 addiu a0, t8, -0x51d8 | a0 = t8 + -0x51d8;
0x0040743c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
0x00407440 addiu a1, t8, -0x51c8 | a1 = t8 + -0x51c8;
0x00407444 lw t8, -0x7f48(gp) | t8 = sym.imp.popen;
0x00407448 move t9, t8 | t9 = t8;
0x0040744c jalr t9 | t9 ();
0x00407450 nop |
0x00407454 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407458 move t8, v0 | t8 = v0;
0x0040745c sw t8, 0x28(fp) | *(arg_28h) = t8;
0x00407460 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x00407464 addiu a1, zero, 0x200 | a1 = 0x200;
0x00407468 lw a2, 0x28(fp) | a2 = *(arg_28h);
0x0040746c lw t8, -0x7ee8(gp) | t8 = sym.imp.fgets;
0x00407470 move t9, t8 | t9 = t8;
0x00407474 jalr t9 | t9 ();
0x00407478 nop |
0x0040747c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407480 lw a0, 0x28(fp) | a0 = *(arg_28h);
0x00407484 lw t8, -0x7eac(gp) | t8 = sym.imp.pclose;
0x00407488 move t9, t8 | t9 = t8;
0x0040748c jalr t9 | t9 ();
0x00407490 nop |
0x00407494 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00407498 lw a0, 0x18(fp) | a0 = *(arg_18h);
0x0040749c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.link_ok */
0x004074a0 addiu a1, t8, -0x51c4 | a1 = t8 + -0x51c4;
0x004074a4 lw t8, -0x7f24(gp) | t8 = sym.imp.strstr;
0x004074a8 move t9, t8 | t9 = t8;
0x004074ac jalr t9 | t9 ();
0x004074b0 nop |
0x004074b4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004074b8 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x004074bc beqz t8, 0x4074cc |
0x004074c0 nop |
0x004074c4 b 0x4074e8 | goto label_1;
0x004074c8 nop |
| }
0x004074cc lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004074d0 addiu t8, t8, 1 | t8++;
0x004074d4 sw t8, 0x24(fp) | *(arg_24h) = t8;
| label_0:
0x004074d8 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004074dc slti t8, t8, 6 | t8 = (t8 < 6) ? 1 : 0;
0x004074e0 bnez t8, 0x407418 |
| } while (t8 != 0);
0x004074e4 nop |
| label_1:
0x004074e8 lw t8, -0x7e58(gp) | t8 = *((gp - 8086));
0x004074ec lw v0, 0x22c(fp) | v0 = *(arg_22ch);
0x004074f0 lw t8, (t8) | t8 = *(t8);
| if (v0 != t8) {
0x004074f4 beq v0, t8, 0x40750c |
0x004074f8 nop |
0x004074fc lw t8, -0x7ebc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00407500 move t9, t8 | t9 = t8;
0x00407504 jalr t9 | t9 ();
0x00407508 nop |
| }
0x0040750c move sp, fp |
0x00407510 lw ra, 0x234(sp) | ra = *(var_234h);
0x00407514 lw fp, 0x230(sp) | fp = *(var_230h);
0x00407518 addiu sp, sp, 0x238 |
0x0040751c jr ra | return v0;
0x00407520 nop |
| }
[*] Function system used 33 times mfgbox