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