[*] Binary protection state of wifi-tool

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


[*] Function system tear down of wifi-tool

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40d8bc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.dhcpOK_char_ ()              | void dhcpOK_char_ () {
                                             |     /* dhcpOK(char*) */
    0x0040d8bc lui gp, 2                     |     
    0x0040d8c0 addiu gp, gp, -0x387c         |     
    0x0040d8c4 addu gp, gp, t9               |     gp += t9;
    0x0040d8c8 addiu sp, sp, -0x830          |     
    0x0040d8cc sw ra, 0x82c(sp)              |     *(var_82ch) = ra;
    0x0040d8d0 sw fp, 0x828(sp)              |     *(var_828h) = fp;
    0x0040d8d4 move fp, sp                   |     fp = sp;
    0x0040d8d8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x0040d8dc sw a0, 0x1c(fp)               |     *(arg_1ch) = a0;
    0x0040d8e0 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040d8e4 lw t8, (t8)                   |     t8 = *(t8);
    0x0040d8e8 sw t8, 0x824(fp)              |     *(arg_824h) = t8;
    0x0040d8ec lw t8, -0x7eb4(gp)            |     t8 = *(gp);
    0x0040d8f0 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 != 0) {
    0x0040d8f4 beqz t8, 0x40da18             |         
    0x0040d8f8 nop                           |         
    0x0040d8fc addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x0040d900 move a0, t8                   |         a0 = t8;
    0x0040d904 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.ifconfig__s */
    0x0040d908 addiu a1, t8, -0x3f0          |         a1 = t8 + -0x3f0;
    0x0040d90c lw a2, 0x1c(fp)               |         a2 = *(arg_1ch);
    0x0040d910 lw t8, -0x7e14(gp)            |         t8 = sym.imp.sprintf;
    0x0040d914 move t9, t8                   |         t9 = t8;
    0x0040d918 jalr t9                       |         t9 ();
    0x0040d91c nop                           |         
    0x0040d920 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d924 addiu t8, fp, 0x424           |         t8 = fp + 0x424;
    0x0040d928 move a0, t8                   |         a0 = t8;
    0x0040d92c move a1, zero                 |         a1 = 0;
    0x0040d930 addiu a2, zero, 0x400         |         a2 = 0x400;
    0x0040d934 lw t8, -0x7df8(gp)            |         t8 = sym.imp.memset;
    0x0040d938 move t9, t8                   |         t9 = t8;
    0x0040d93c jalr t9                       |         t9 ();
    0x0040d940 nop                           |         
    0x0040d944 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d948 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x0040d94c move a0, t8                   |         a0 = t8;
    0x0040d950 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x0040d954 addiu a1, t8, -0x3e4          |         a1 = t8 + -0x3e4;
    0x0040d958 lw t8, -0x7e68(gp)            |         t8 = sym.imp.popen;
    0x0040d95c move t9, t8                   |         t9 = t8;
    0x0040d960 jalr t9                       |         t9 ();
    0x0040d964 nop                           |         
    0x0040d968 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d96c move t8, v0                   |         t8 = v0;
    0x0040d970 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
    0x0040d974 addiu t8, fp, 0x424           |         t8 = fp + 0x424;
    0x0040d978 move a0, t8                   |         a0 = t8;
    0x0040d97c addiu a1, zero, 1             |         a1 = 1;
    0x0040d980 addiu a2, zero, 0x400         |         a2 = 0x400;
    0x0040d984 lw a3, 0x20(fp)               |         a3 = *(arg_20h);
    0x0040d988 lw t8, -0x7d9c(gp)            |         t8 = sym.imp.fread;
    0x0040d98c move t9, t8                   |         t9 = t8;
    0x0040d990 jalr t9                       |         t9 ();
    0x0040d994 nop                           |         
    0x0040d998 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d99c lw a0, 0x20(fp)               |         a0 = *(arg_20h);
    0x0040d9a0 lw t8, -0x7d98(gp)            |         t8 = sym.imp.fclose;
    0x0040d9a4 move t9, t8                   |         t9 = t8;
    0x0040d9a8 jalr t9                       |         t9 ();
    0x0040d9ac nop                           |         
    0x0040d9b0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d9b4 addiu t8, fp, 0x424           |         t8 = fp + 0x424;
    0x0040d9b8 move a0, t8                   |         a0 = t8;
    0x0040d9bc lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.inet_addr: */
    0x0040d9c0 addiu a1, t8, -0x3e0          |         a1 = t8 + -0x3e0;
    0x0040d9c4 lw t8, -0x7e3c(gp)            |         t8 = sym.imp.strstr;
    0x0040d9c8 move t9, t8                   |         t9 = t8;
    0x0040d9cc jalr t9                       |         t9 ();
    0x0040d9d0 nop                           |         
    0x0040d9d4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040d9d8 move t8, v0                   |         t8 = v0;
                                             |         if (t8 != 0) {
    0x0040d9dc beqz t8, 0x40d9f0             |             
    0x0040d9e0 nop                           |             
    0x0040d9e4 addiu t8, zero, 1             |             t8 = 1;
    0x0040d9e8 b 0x40da1c                    |             goto label_0;
    0x0040d9ec nop                           |             
                                             |         }
    0x0040d9f0 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.rm__f__tmp_dhcptemp.log */
    0x0040d9f4 addiu a0, t8, -0x3d4          |         a0 = t8 + -0x3d4;
    0x0040d9f8 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x0040d9fc move t9, t8                   |         t9 = t8;
    0x0040da00 jalr t9                       |         t9 ();
    0x0040da04 nop                           |         
    0x0040da08 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040da0c move t8, zero                 |         t8 = 0;
    0x0040da10 b 0x40da1c                    |         goto label_0;
    0x0040da14 nop                           |         
                                             |     }
    0x0040da18 addiu t8, zero, 1             |     t8 = 1;
                                             | label_0:
    0x0040da1c move v0, t8                   |     v0 = t8;
    0x0040da20 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040da24 lw v1, 0x824(fp)              |     v1 = *(arg_824h);
    0x0040da28 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x0040da2c beq v1, t8, 0x40da44          |         
    0x0040da30 nop                           |         
    0x0040da34 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040da38 move t9, t8                   |         t9 = t8;
    0x0040da3c jalr t9                       |         t9 ();
    0x0040da40 nop                           |         
                                             |     }
    0x0040da44 move sp, fp                   |     
    0x0040da48 lw ra, 0x82c(sp)              |     ra = *(var_82ch);
    0x0040da4c lw fp, 0x828(sp)              |     fp = *(var_828h);
    0x0040da50 addiu sp, sp, 0x830           |     
    0x0040da54 jr ra                         |     return v1;
    0x0040da58 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40d6dc */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.fallBack_char_ ()            | void fallBack_char_ () {
                                             |     /* fallBack(char*) */
    0x0040d6dc lui gp, 2                     |     
    0x0040d6e0 addiu gp, gp, -0x369c         |     
    0x0040d6e4 addu gp, gp, t9               |     gp += t9;
    0x0040d6e8 addiu sp, sp, -0x438          |     
    0x0040d6ec sw ra, 0x434(sp)              |     *(var_434h) = ra;
    0x0040d6f0 sw fp, 0x430(sp)              |     *(var_430h) = fp;
    0x0040d6f4 move fp, sp                   |     fp = sp;
    0x0040d6f8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0040d6fc sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x0040d700 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040d704 lw t8, (t8)                   |     t8 = *(t8);
    0x0040d708 sw t8, 0x42c(fp)              |     *(arg_42ch) = t8;
    0x0040d70c addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040d710 lw v0, -0x7ed8(gp)            |     v0 = *(gp);
    0x0040d714 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0040d718 move a0, t8                   |     a0 = t8;
    0x0040d71c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.ifconfig__s__s_netmask__s */
    0x0040d720 addiu a1, t8, -0x454          |     a1 = t8 + -0x454;
    0x0040d724 lw a2, 0x24(fp)               |     a2 = *(arg_24h);
    0x0040d728 lw a3, -0x7edc(gp)            |     a3 = *(gp);
    0x0040d72c lw t8, -0x7e14(gp)            |     t8 = sym.imp.sprintf;
    0x0040d730 move t9, t8                   |     t9 = t8;
    0x0040d734 jalr t9                       |     t9 ();
    0x0040d738 nop                           |     
    0x0040d73c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040d740 addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040d744 move a0, t8                   |     a0 = t8;
    0x0040d748 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x0040d74c move t9, t8                   |     t9 = t8;
    0x0040d750 jalr t9                       |     t9 ();
    0x0040d754 nop                           |     
    0x0040d758 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040d75c addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040d760 move a0, t8                   |     a0 = t8;
    0x0040d764 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.route_add_default_gw__s__s */
    0x0040d768 addiu a1, t8, -0x438          |     a1 = t8 + -0x438;
    0x0040d76c lw a2, -0x7ed4(gp)            |     a2 = *(gp);
    0x0040d770 lw a3, 0x24(fp)               |     a3 = *(arg_24h);
    0x0040d774 lw t8, -0x7e14(gp)            |     t8 = sym.imp.sprintf;
    0x0040d778 move t9, t8                   |     t9 = t8;
    0x0040d77c jalr t9                       |     t9 ();
    0x0040d780 nop                           |     
    0x0040d784 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040d788 addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040d78c move a0, t8                   |     a0 = t8;
    0x0040d790 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x0040d794 move t9, t8                   |     t9 = t8;
    0x0040d798 jalr t9                       |     t9 ();
    0x0040d79c nop                           |     
    0x0040d7a0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040d7a4 addiu t8, zero, 1             |     t8 = 1;
    0x0040d7a8 move v0, t8                   |     v0 = t8;
    0x0040d7ac lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040d7b0 lw v1, 0x42c(fp)              |     v1 = *(arg_42ch);
    0x0040d7b4 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x0040d7b8 beq v1, t8, 0x40d7d0          |         
    0x0040d7bc nop                           |         
    0x0040d7c0 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040d7c4 move t9, t8                   |         t9 = t8;
    0x0040d7c8 jalr t9                       |         t9 ();
    0x0040d7cc nop                           |         
                                             |     }
    0x0040d7d0 move sp, fp                   |     
    0x0040d7d4 lw ra, 0x434(sp)              |     ra = *(var_434h);
    0x0040d7d8 lw fp, 0x430(sp)              |     fp = *(var_430h);
    0x0040d7dc addiu sp, sp, 0x438           |     
    0x0040d7e0 jr ra                         |     return v1;
    0x0040d7e4 nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x405454 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.handleHideApSsid_int_ ()         | void handleHideApSsid_int_ () {
                                                 |     /* handleHideApSsid(int) */
    0x00405454 lui gp, 2                         |     
    0x00405458 addiu gp, gp, 0x4bec              |     
    0x0040545c addu gp, gp, t9                   |     gp += t9;
    0x00405460 addiu sp, sp, -0x1480             |     
    0x00405464 sw ra, 0x147c(sp)                 |     *(var_147ch) = ra;
    0x00405468 sw fp, 0x1478(sp)                 |     *(var_1478h) = fp;
    0x0040546c sw s0, 0x1474(sp)                 |     *(var_1474h) = s0;
    0x00405470 move fp, sp                       |     fp = sp;
    0x00405474 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00405478 sw a0, 0x1c(fp)                   |     *(arg_1ch) = a0;
    0x0040547c lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x00405480 lw t8, (t8)                       |     t8 = *(t8);
    0x00405484 sw t8, 0x146c(fp)                 |     *(arg_146ch) = t8;
    0x00405488 lw t8, -0x7fc8(gp)                |     t8 = sym.getApStatus__;
    0x0040548c move t9, t8                       |     t9 = t8;
    0x00405490 jalr t9                           |     t9 ();
    0x00405494 nop                               |     
    0x00405498 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040549c move t8, v0                       |     t8 = v0;
    0x004054a0 sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x004054a4 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x004054a8 beqz t8, 0x4054d4                 |         
    0x004054ac nop                               |         
    0x004054b0 lw t8, -0x7fd8(gp)                |         t8 = *((gp - 8182));
                                                 |         /* str.wifi_tool_hide_ap_:_fail */
    0x004054b4 addiu a0, t8, -0x104c             |         a0 = t8 + -0x104c;
    0x004054b8 lw t8, -0x7e70(gp)                |         t8 = sym.imp.puts;
    0x004054bc move t9, t8                       |         t9 = t8;
    0x004054c0 jalr t9                           |         t9 ();
    0x004054c4 nop                               |         
    0x004054c8 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x004054cc b 0x405770                        |         goto label_0;
    0x004054d0 nop                               |         
                                                 |     }
    0x004054d4 addiu t8, fp, 0x30                |     t8 = fp + 0x30;
    0x004054d8 move a0, t8                       |     a0 = t8;
    0x004054dc lw t8, -0x7fd0(gp)                |     t8 = *(gp);
    0x004054e0 move t9, t8                       |     t9 = t8;
    0x004054e4 jalr t9                           |     t9 ();
    0x004054e8 nop                               |     
    0x004054ec lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004054f0 addiu t8, fp, 0x30                |     t8 = fp + 0x30;
    0x004054f4 move a0, t8                       |     a0 = t8;
    0x004054f8 lw t8, -0x7fd8(gp)                |     t8 = *((gp - 8182));
                                                 |     /* esilref: 'Wireless' */
    0x004054fc addiu a1, t8, -0x144c             |     a1 = t8 + -0x144c;
    0x00405500 move a2, zero                     |     a2 = 0;
    0x00405504 lw t8, -0x7e34(gp)                |     t8 = *(gp);
    0x00405508 move t9, t8                       |     t9 = t8;
    0x0040550c jalr t9                           |     t9 ();
    0x00405510 nop                               |     
    0x00405514 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405518 addiu t8, fp, 0x24                |     t8 = fp + 0x24;
    0x0040551c move a0, t8                       |     a0 = t8;
    0x00405520 lw t8, -0x7e5c(gp)                |     t8 = *(gp);
    0x00405524 move t9, t8                       |     t9 = t8;
    0x00405528 jalr t9                           |     t9 ();
    0x0040552c nop                               |     
    0x00405530 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405534 addiu v0, fp, 0x28                |     v0 = fp + 0x28;
    0x00405538 addiu t8, fp, 0x24                |     t8 = fp + 0x24;
    0x0040553c move a0, v0                       |     a0 = v0;
    0x00405540 lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
                                                 |     /* esilref: 'AP_SSID' */
    0x00405544 addiu a1, v0, -0x1440             |     a1 = v0 + -0x1440;
    0x00405548 move a2, t8                       |     a2 = t8;
    0x0040554c lw t8, -0x7dcc(gp)                |     t8 = *(gp);
    0x00405550 move t9, t8                       |     t9 = t8;
    0x00405554 jalr t9                           |     t9 ();
    0x00405558 nop                               |     
    0x0040555c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405560 addiu v1, fp, 0x2c                |     v1 = fp + 0x2c;
    0x00405564 addiu v0, fp, 0x30                |     v0 = fp + 0x30;
    0x00405568 addiu t8, fp, 0x28                |     t8 = fp + 0x28;
    0x0040556c move a0, v1                       |     a0 = v1;
    0x00405570 move a1, v0                       |     a1 = v0;
    0x00405574 move a2, t8                       |     a2 = t8;
    0x00405578 lw t8, -0x7dac(gp)                |     t8 = *(gp);
    0x0040557c move t9, t8                       |     t9 = t8;
    0x00405580 jalr t9                           |     t9 ();
    0x00405584 nop                               |     
    0x00405588 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040558c addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x00405590 move a0, t8                       |     a0 = t8;
    0x00405594 lw t8, -0x7d18(gp)                |     t8 = *(gp);
    0x00405598 move t9, t8                       |     t9 = t8;
    0x0040559c jalr t9                           |     t9 ();
    0x004055a0 nop                               |     
    0x004055a4 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004055a8 move t8, v0                       |     t8 = v0;
    0x004055ac addiu v0, fp, 0x1048              |     v0 = fp + 0x1048;
    0x004055b0 move a0, v0                       |     a0 = v0;
    0x004055b4 move a1, t8                       |     a1 = t8;
    0x004055b8 addiu a2, zero, 0x20              |     a2 = 0x20;
    0x004055bc lw t8, -0x7df0(gp)                |     t8 = sym.imp.strncpy;
    0x004055c0 move t9, t8                       |     t9 = t8;
    0x004055c4 jalr t9                           |     t9 ();
    0x004055c8 nop                               |     
    0x004055cc lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004055d0 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x004055d4 move a0, t8                       |     a0 = t8;
    0x004055d8 lw t8, -0x7d7c(gp)                |     t8 = *(gp);
    0x004055dc move t9, t8                       |     t9 = t8;
    0x004055e0 jalr t9                           |     t9 ();
    0x004055e4 nop                               |     
    0x004055e8 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004055ec addiu t8, fp, 0x28                |     t8 = fp + 0x28;
    0x004055f0 move a0, t8                       |     a0 = t8;
    0x004055f4 lw t8, -0x7d7c(gp)                |     t8 = *(gp);
    0x004055f8 move t9, t8                       |     t9 = t8;
    0x004055fc jalr t9                           |     t9 ();
    0x00405600 nop                               |     
    0x00405604 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405608 addiu t8, fp, 0x24                |     t8 = fp + 0x24;
    0x0040560c move a0, t8                       |     a0 = t8;
    0x00405610 lw t8, -0x7e08(gp)                |     t8 = *(gp);
    0x00405614 move t9, t8                       |     t9 = t8;
    0x00405618 jalr t9                           |     t9 ();
    0x0040561c nop                               |     
    0x00405620 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405624 addiu t8, fp, 0x30                |     t8 = fp + 0x30;
    0x00405628 move a0, t8                       |     a0 = t8;
    0x0040562c lw t8, -0x7cf0(gp)                |     t8 = *(gp);
    0x00405630 move t9, t8                       |     t9 = t8;
    0x00405634 jalr t9                           |     t9 ();
    0x00405638 nop                               |     
    0x0040563c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405640 addiu v0, fp, 0x106c              |     v0 = fp + 0x106c;
    0x00405644 addiu t8, fp, 0x1048              |     t8 = fp + 0x1048;
    0x00405648 move a0, v0                       |     a0 = v0;
    0x0040564c lw v0, -0x7fd8(gp)                |     v0 = *((gp - 8182));
                                                 |     /* str.iwpriv_ra0_set_HideSSID_d__iwpriv_ra0_set_SSID__s_ */
    0x00405650 addiu a1, v0, -0x1030             |     a1 = v0 + -0x1030;
    0x00405654 lw a2, 0x1c(fp)                   |     a2 = *(arg_1ch);
    0x00405658 move a3, t8                       |     a3 = t8;
    0x0040565c lw t8, -0x7e14(gp)                |     t8 = sym.imp.sprintf;
    0x00405660 move t9, t8                       |     t9 = t8;
    0x00405664 jalr t9                           |     t9 ();
    0x00405668 nop                               |     
    0x0040566c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00405670 addiu t8, fp, 0x106c              |     t8 = fp + 0x106c;
    0x00405674 move a0, t8                       |     a0 = t8;
    0x00405678 lw t8, -0x7d10(gp)                |     t8 = sym.imp.system
    0x0040567c move t9, t8                       |     t9 = t8;
    0x00405680 jalr t9                           |     t9 ();
    0x00405684 nop                               |     
    0x00405688 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040568c addiu t8, fp, 0x30                |     t8 = fp + 0x30;
    0x00405690 move a0, t8                       |     a0 = t8;
    0x00405694 lw t8, -0x7dfc(gp)                |     t8 = sym.imp.TinyDB::TinyDB__;
    0x00405698 move t9, t8                       |     t9 = t8;
    0x0040569c jalr t9                           |     t9 ();
    0x004056a0 nop                               |     
    0x004056a4 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004056a8 b 0x405770                        |     goto label_0;
    0x004056ac nop                               |     
                                                 | label_0:
    0x00405770 lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x00405774 lw v0, 0x146c(fp)                 |     v0 = *(arg_146ch);
    0x00405778 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v0 != t8) {
    0x0040577c beq v0, t8, 0x405794              |         
    0x00405780 nop                               |         
    0x00405784 lw t8, -0x7da8(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x00405788 move t9, t8                       |         t9 = t8;
    0x0040578c jalr t9                           |         t9 ();
    0x00405790 nop                               |         
                                                 |     }
    0x00405794 move sp, fp                       |     
    0x00405798 lw ra, 0x147c(sp)                 |     ra = *(var_147ch);
    0x0040579c lw fp, 0x1478(sp)                 |     fp = *(var_1478h);
    0x004057a0 lw s0, 0x1474(sp)                 |     s0 = *(var_1474h);
    0x004057a4 addiu sp, sp, 0x1480              |     
    0x004057a8 jr ra                             |     return v0;
    0x004057ac nop                               |     
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40d468 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.handleLinkLocal_char_ ()         | void handleLinkLocal_char_ () {
                                                 |     /* handleLinkLocal(char*) */
    0x0040d468 lui gp, 2                         |     
    0x0040d46c addiu gp, gp, -0x3428             |     
    0x0040d470 addu gp, gp, t9                   |     gp += t9;
    0x0040d474 addiu sp, sp, -0x438              |     
    0x0040d478 sw ra, 0x434(sp)                  |     *(var_434h) = ra;
    0x0040d47c sw fp, 0x430(sp)                  |     *(var_430h) = fp;
    0x0040d480 move fp, sp                       |     fp = sp;
    0x0040d484 sw gp, 0x18(sp)                   |     *(var_18h) = gp;
    0x0040d488 sw a0, 0x24(fp)                   |     *(arg_24h) = a0;
    0x0040d48c lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040d490 lw t8, (t8)                       |     t8 = *(t8);
    0x0040d494 sw t8, 0x42c(fp)                  |     *(arg_42ch) = t8;
    0x0040d498 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d49c lw v0, -0x7ed8(gp)                |     v0 = *(gp);
    0x0040d4a0 sw v0, 0x10(sp)                   |     *(var_10h) = v0;
    0x0040d4a4 move a0, t8                       |     a0 = t8;
    0x0040d4a8 lw t8, -0x7fd8(gp)                |     t8 = *((gp - 8182));
                                                 |     /* str.ifconfig__s__s_netmask__s */
    0x0040d4ac addiu a1, t8, -0x454              |     a1 = t8 + -0x454;
    0x0040d4b0 lw a2, 0x24(fp)                   |     a2 = *(arg_24h);
    0x0040d4b4 lw a3, -0x7edc(gp)                |     a3 = *(gp);
    0x0040d4b8 lw t8, -0x7e14(gp)                |     t8 = sym.imp.sprintf;
    0x0040d4bc move t9, t8                       |     t9 = t8;
    0x0040d4c0 jalr t9                           |     t9 ();
    0x0040d4c4 nop                               |     
    0x0040d4c8 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d4cc addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d4d0 move a0, t8                       |     a0 = t8;
    0x0040d4d4 lw t8, -0x7d10(gp)                |     t8 = sym.imp.system
    0x0040d4d8 move t9, t8                       |     t9 = t8;
    0x0040d4dc jalr t9                           |     t9 ();
    0x0040d4e0 nop                               |     
    0x0040d4e4 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d4e8 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d4ec move a0, t8                       |     a0 = t8;
    0x0040d4f0 lw t8, -0x7fd8(gp)                |     t8 = *((gp - 8182));
                                                 |     /* str.route_add_default_gw__s__s */
    0x0040d4f4 addiu a1, t8, -0x438              |     a1 = t8 + -0x438;
    0x0040d4f8 lw a2, -0x7ed4(gp)                |     a2 = *(gp);
    0x0040d4fc lw a3, 0x24(fp)                   |     a3 = *(arg_24h);
    0x0040d500 lw t8, -0x7e14(gp)                |     t8 = sym.imp.sprintf;
    0x0040d504 move t9, t8                       |     t9 = t8;
    0x0040d508 jalr t9                           |     t9 ();
    0x0040d50c nop                               |     
    0x0040d510 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d514 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d518 move a0, t8                       |     a0 = t8;
    0x0040d51c lw t8, -0x7d10(gp)                |     t8 = sym.imp.system
    0x0040d520 move t9, t8                       |     t9 = t8;
    0x0040d524 jalr t9                           |     t9 ();
    0x0040d528 nop                               |     
    0x0040d52c lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d530 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d534 move a0, t8                       |     a0 = t8;
    0x0040d538 lw t8, -0x7fd8(gp)                |     t8 = *((gp - 8182));
                                                 |     /* str.median_s__etc_rc.d_init.d_zcip.sh_restart */
    0x0040d53c addiu a1, t8, -0x41c              |     a1 = t8 + -0x41c;
    0x0040d540 lw a2, 0x24(fp)                   |     a2 = *(arg_24h);
    0x0040d544 lw t8, -0x7e14(gp)                |     t8 = sym.imp.sprintf;
    0x0040d548 move t9, t8                       |     t9 = t8;
    0x0040d54c jalr t9                           |     t9 ();
    0x0040d550 nop                               |     
    0x0040d554 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d558 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040d55c move a0, t8                       |     a0 = t8;
    0x0040d560 lw t8, -0x7d10(gp)                |     t8 = sym.imp.system
    0x0040d564 move t9, t8                       |     t9 = t8;
    0x0040d568 jalr t9                           |     t9 ();
    0x0040d56c nop                               |     
    0x0040d570 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d574 lw t8, -0x7eb8(gp)                |     t8 = sym.handleDNS__;
    0x0040d578 move t9, t8                       |     t9 = t8;
    0x0040d57c jalr t9                           |     t9 ();
    0x0040d580 nop                               |     
    0x0040d584 lw gp, 0x18(fp)                   |     gp = *(arg_18h);
    0x0040d588 lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040d58c lw v0, 0x42c(fp)                  |     v0 = *(arg_42ch);
    0x0040d590 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v0 != t8) {
    0x0040d594 beq v0, t8, 0x40d5ac              |         
    0x0040d598 nop                               |         
    0x0040d59c lw t8, -0x7da8(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x0040d5a0 move t9, t8                       |         t9 = t8;
    0x0040d5a4 jalr t9                           |         t9 ();
    0x0040d5a8 nop                               |         
                                                 |     }
    0x0040d5ac move sp, fp                       |     
    0x0040d5b0 lw ra, 0x434(sp)                  |     ra = *(var_434h);
    0x0040d5b4 lw fp, 0x430(sp)                  |     fp = *(var_430h);
    0x0040d5b8 addiu sp, sp, 0x438               |     
    0x0040d5bc jr ra                             |     return v0;
    0x0040d5c0 nop                               |     
                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40c170 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.handleRouting_char_ ()           | void handleRouting_char_ () {
                                                 |     /* handleRouting(char*) */
    0x0040c170 lui gp, 2                         |     
    0x0040c174 addiu gp, gp, -0x2130             |     
    0x0040c178 addu gp, gp, t9                   |     gp += t9;
    0x0040c17c addiu sp, sp, -0x30               |     
    0x0040c180 sw ra, 0x2c(sp)                   |     *(var_2ch) = ra;
    0x0040c184 sw fp, 0x28(sp)                   |     *(var_28h) = fp;
    0x0040c188 move fp, sp                       |     fp = sp;
    0x0040c18c sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0040c190 sw a0, 0x1c(fp)                   |     *(arg_1ch) = a0;
    0x0040c194 lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040c198 lw t8, (t8)                       |     t8 = *(t8);
    0x0040c19c sw t8, 0x24(fp)                   |     *(arg_24h) = t8;
    0x0040c1a0 lw t8, -0x7ef4(gp)                |     t8 = sym.route_configure__;
    0x0040c1a4 move t9, t8                       |     t9 = t8;
    0x0040c1a8 jalr t9                           |     t9 ();
    0x0040c1ac nop                               |     
    0x0040c1b0 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040c1b4 lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040c1b8 lw t8, -0x7ef0(gp)                |     t8 = sym.set_local_char_;
    0x0040c1bc move t9, t8                       |     t9 = t8;
    0x0040c1c0 jalr t9                           |     t9 ();
    0x0040c1c4 nop                               |     
    0x0040c1c8 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040c1cc lw a0, 0x1c(fp)                   |     a0 = *(arg_1ch);
    0x0040c1d0 lw t8, -0x7eec(gp)                |     t8 = sym.dump_dhcpd_char_;
    0x0040c1d4 move t9, t8                       |     t9 = t8;
    0x0040c1d8 jalr t9                           |     t9 ();
    0x0040c1dc nop                               |     
    0x0040c1e0 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040c1e4 lw t8, -0x7fd8(gp)                |     t8 = *((gp - 8182));
                                                 |     /* str._usr_sbin_udhcpd__etc_udhcpd.conf */
    0x0040c1e8 addiu a0, t8, -0x590              |     a0 = t8 + -0x590;
    0x0040c1ec lw t8, -0x7d10(gp)                |     t8 = sym.imp.system
    0x0040c1f0 move t9, t8                       |     t9 = t8;
    0x0040c1f4 jalr t9                           |     t9 ();
    0x0040c1f8 nop                               |     
    0x0040c1fc lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040c200 lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040c204 lw v0, 0x24(fp)                   |     v0 = *(arg_24h);
    0x0040c208 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v0 != t8) {
    0x0040c20c beq v0, t8, 0x40c224              |         
    0x0040c210 nop                               |         
    0x0040c214 lw t8, -0x7da8(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x0040c218 move t9, t8                       |         t9 = t8;
    0x0040c21c jalr t9                           |         t9 ();
    0x0040c220 nop                               |         
                                                 |     }
    0x0040c224 move sp, fp                       |     
    0x0040c228 lw ra, 0x2c(sp)                   |     ra = *(var_2ch);
    0x0040c22c lw fp, 0x28(sp)                   |     fp = *(var_28h);
    0x0040c230 addiu sp, sp, 0x30                |     
    0x0040c234 jr ra                             |     return v0;
    0x0040c238 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x404b54 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handleStartAp__ ()           | void handleStartAp_ () {
                                             |     /* handleStartAp() */
    0x00404b54 lui gp, 2                     |     
    0x00404b58 addiu gp, gp, 0x54ec          |     
    0x00404b5c addu gp, gp, t9               |     gp += t9;
    0x00404b60 addiu sp, sp, -0x4828         |     
    0x00404b64 sw ra, 0x4824(sp)             |     *(arg_4824h) = ra;
    0x00404b68 sw fp, 0x4820(sp)             |     *(arg_4820h) = fp;
    0x00404b6c sw s0, 0x481c(sp)             |     *(arg_481ch) = s0;
    0x00404b70 move fp, sp                   |     fp = sp;
    0x00404b74 sw gp, 0x10(sp)               |     *(arg_10h) = gp;
    0x00404b78 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00404b7c lw t8, (t8)                   |     t8 = *(t8);
    0x00404b80 sw t8, 0x4814(fp)             |     *(arg_4814h) = t8;
    0x00404b84 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x00404b88 move a0, t8                   |     a0 = t8;
    0x00404b8c lw t8, -0x7fd0(gp)            |     t8 = *(gp);
    0x00404b90 move t9, t8                   |     t9 = t8;
    0x00404b94 jalr t9                       |     t9 ();
    0x00404b98 nop                           |     
    0x00404b9c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404ba0 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00404ba4 move a0, t8                   |     a0 = t8;
    0x00404ba8 lw t8, -0x7cf8(gp)            |     t8 = *(gp);
    0x00404bac move t9, t8                   |     t9 = t8;
    0x00404bb0 jalr t9                       |     t9 ();
    0x00404bb4 nop                           |     
    0x00404bb8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404bbc addiu a0, zero, 0x1000        |     a0 = 0x1000;
    0x00404bc0 lw t8, -0x7d44(gp)            |     t8 = sym.imp.malloc;
    0x00404bc4 move t9, t8                   |     t9 = t8;
    0x00404bc8 jalr t9                       |     t9 ();
    0x00404bcc nop                           |     
    0x00404bd0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404bd4 move t8, v0                   |     t8 = v0;
    0x00404bd8 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x00404bdc lw t8, -0x7e1c(gp)            |     t8 = sym.imp.wifiCheckModule__;
    0x00404be0 move t9, t8                   |     t9 = t8;
    0x00404be4 jalr t9                       |     t9 ();
    0x00404be8 nop                           |     
    0x00404bec lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404bf0 move t8, v0                   |     t8 = v0;
    0x00404bf4 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x00404bf8 lw v0, 0x30(fp)               |     v0 = *(arg_30h);
    0x00404bfc addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != t8) {
    0x00404c00 beq v0, t8, 0x404c2c          |         
    0x00404c04 nop                           |         
    0x00404c08 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x00404c0c lw t8, -0x7e4c(gp)            |         t8 = sym.imp.free;
    0x00404c10 move t9, t8                   |         t9 = t8;
    0x00404c14 jalr t9                       |         t9 ();
    0x00404c18 nop                           |         
    0x00404c1c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404c20 move s0, zero                 |         s0 = 0;
    0x00404c24 b 0x405284                    |         goto label_0;
    0x00404c28 nop                           |         
                                             |     }
    0x00404c2c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404c30 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404c34 move t9, t8                   |     t9 = t8;
    0x00404c38 jalr t9                       |     t9 ();
    0x00404c3c nop                           |     
    0x00404c40 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404c44 move t8, v0                   |     t8 = v0;
    0x00404c48 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404c4c addu v0, v0, t8               |     v0 += t8;
    0x00404c50 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404c54 move v1, v0                   |     v1 = v0;
                                             |     /* str._ifdown_ra0____dev_null_2___dev_null__ */
    0x00404c58 addiu v0, t8, -0x1430         |     v0 = t8 + -0x1430;
    0x00404c5c addiu t8, zero, 0x27          |     t8 = 0x27;
    0x00404c60 move a0, v1                   |     a0 = v1;
    0x00404c64 move a1, v0                   |     a1 = v0;
    0x00404c68 move a2, t8                   |     a2 = t8;
    0x00404c6c lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404c70 move t9, t8                   |     t9 = t8;
    0x00404c74 jalr t9                       |     t9 ();
    0x00404c78 nop                           |     
    0x00404c7c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404c80 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404c84 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404c88 move t9, t8                   |     t9 = t8;
    0x00404c8c jalr t9                       |     t9 ();
    0x00404c90 nop                           |     
    0x00404c94 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404c98 move t8, v0                   |     t8 = v0;
    0x00404c9c lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404ca0 addu v0, v0, t8               |     v0 += t8;
    0x00404ca4 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404ca8 move v1, v0                   |     v1 = v0;
                                             |     /* str._ifconfig_ra0_down____dev_null_2___dev_null__ */
    0x00404cac addiu v0, t8, -0x1408         |     v0 = t8 + -0x1408;
    0x00404cb0 addiu t8, zero, 0x2e          |     t8 = 0x2e;
    0x00404cb4 move a0, v1                   |     a0 = v1;
    0x00404cb8 move a1, v0                   |     a1 = v0;
    0x00404cbc move a2, t8                   |     a2 = t8;
    0x00404cc0 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404cc4 move t9, t8                   |     t9 = t8;
    0x00404cc8 jalr t9                       |     t9 ();
    0x00404ccc nop                           |     
    0x00404cd0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404cd4 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404cd8 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404cdc move t9, t8                   |     t9 = t8;
    0x00404ce0 jalr t9                       |     t9 ();
    0x00404ce4 nop                           |     
    0x00404ce8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404cec move t8, v0                   |     t8 = v0;
    0x00404cf0 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404cf4 addu v0, v0, t8               |     v0 += t8;
    0x00404cf8 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404cfc move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_udhcpd____dev_null_2___dev_null__ */
    0x00404d00 addiu v0, t8, -0x1120         |     v0 = t8 + -0x1120;
    0x00404d04 addiu t8, zero, 0x2b          |     t8 = 0x2b;
    0x00404d08 move a0, v1                   |     a0 = v1;
    0x00404d0c move a1, v0                   |     a1 = v0;
    0x00404d10 move a2, t8                   |     a2 = t8;
    0x00404d14 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404d18 move t9, t8                   |     t9 = t8;
    0x00404d1c jalr t9                       |     t9 ();
    0x00404d20 nop                           |     
    0x00404d24 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404d28 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404d2c lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404d30 move t9, t8                   |     t9 = t8;
    0x00404d34 jalr t9                       |     t9 ();
    0x00404d38 nop                           |     
    0x00404d3c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404d40 move t8, v0                   |     t8 = v0;
    0x00404d44 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404d48 addu v0, v0, t8               |     v0 += t8;
    0x00404d4c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404d50 move v1, v0                   |     v1 = v0;
                                             |     /* str._rm__tmp_udhcpd.pid__tmp_udhcpd.leases_____dev_null_2___dev_null__ */
    0x00404d54 addiu v0, t8, -0x10f4         |     v0 = t8 + -0x10f4;
    0x00404d58 addiu t8, zero, 0x43          |     t8 = 0x43;
    0x00404d5c move a0, v1                   |     a0 = v1;
    0x00404d60 move a1, v0                   |     a1 = v0;
    0x00404d64 move a2, t8                   |     a2 = t8;
    0x00404d68 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404d6c move t9, t8                   |     t9 = t8;
    0x00404d70 jalr t9                       |     t9 ();
    0x00404d74 nop                           |     
    0x00404d78 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404d7c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404d80 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404d84 move t9, t8                   |     t9 = t8;
    0x00404d88 jalr t9                       |     t9 ();
    0x00404d8c nop                           |     
    0x00404d90 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404d94 move t8, v0                   |     t8 = v0;
    0x00404d98 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404d9c addu v0, v0, t8               |     v0 += t8;
    0x00404da0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404da4 move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_wpsApCheck.sh____dev_null_2___dev_null__ */
    0x00404da8 addiu v0, t8, -0x10b0         |     v0 = t8 + -0x10b0;
    0x00404dac addiu t8, zero, 0x32          |     t8 = 0x32;
    0x00404db0 move a0, v1                   |     a0 = v1;
    0x00404db4 move a1, v0                   |     a1 = v0;
    0x00404db8 move a2, t8                   |     a2 = t8;
    0x00404dbc lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404dc0 move t9, t8                   |     t9 = t8;
    0x00404dc4 jalr t9                       |     t9 ();
    0x00404dc8 nop                           |     
    0x00404dcc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404dd0 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404dd4 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404dd8 move t9, t8                   |     t9 = t8;
    0x00404ddc jalr t9                       |     t9 ();
    0x00404de0 nop                           |     
    0x00404de4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404de8 addiu t8, fp, 0x4574          |     t8 = fp + 0x4574;
    0x00404dec lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00404df0 lw a2, -0x1254(v0)            |     a2 = *((v0 - 1173));
                                             |     /* str._var_tmp_watchdog */
    0x00404df4 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00404df8 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
                                             |     /* str._var_tmp_watchdog */
    0x00404dfc addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00404e00 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             |     /* str._var_tmp_watchdog */
    0x00404e04 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00404e08 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00404e0c sw a2, (t8)                   |     *(t8) = a2;
    0x00404e10 sw a1, 4(t8)                  |     *((t8 + 4)) = a1;
    0x00404e14 sw a0, 8(t8)                  |     *((t8 + 8)) = a0;
    0x00404e18 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
                                             |     /* str._var_tmp_watchdog */
    0x00404e1c addiu v0, v0, -0x1254         |     v0 += -0x1254;
    0x00404e20 lhu v0, 0x10(v0)              |     v0 = *((v0 + 8));
    0x00404e24 sh v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00404e28 addiu t8, fp, 0x45c4          |     t8 = fp + 0x45c4;
    0x00404e2c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00404e30 lw a3, -0x1154(v0)            |     a3 = *((v0 - 1109));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404e34 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404e38 lw a2, 4(v1)                  |     a2 = *((v1 + 1));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404e3c addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404e40 lw a1, 8(v1)                  |     a1 = *((v1 + 2));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404e44 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404e48 lw a0, 0xc(v1)                |     a0 = *((v1 + 3));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404e4c addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404e50 lw v1, 0x10(v1)               |     v1 = *((v1 + 4));
    0x00404e54 sw a3, (t8)                   |     *(t8) = a3;
    0x00404e58 sw a2, 4(t8)                  |     *((t8 + 4)) = a2;
    0x00404e5c sw a1, 8(t8)                  |     *((t8 + 8)) = a1;
    0x00404e60 sw a0, 0xc(t8)                |     *((t8 + 12)) = a0;
    0x00404e64 sw v1, 0x10(t8)               |     *((t8 + 16)) = v1;
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404e68 addiu v0, v0, -0x1154         |     v0 += -0x1154;
    0x00404e6c lhu v0, 0x14(v0)              |     v0 = *((v0 + 10));
    0x00404e70 sh v0, 0x14(t8)               |     *((t8 + 20)) = v0;
    0x00404e74 addiu t8, fp, 0x4574          |     t8 = fp + 0x4574;
    0x00404e78 move a0, t8                   |     a0 = t8;
    0x00404e7c addiu a1, zero, 0x27d         |     a1 = 0x27d;
    0x00404e80 move a2, zero                 |     a2 = 0;
    0x00404e84 move a3, zero                 |     a3 = 0;
    0x00404e88 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00404e8c move t9, t8                   |     t9 = t8;
    0x00404e90 jalr t9                       |     t9 ();
    0x00404e94 nop                           |     
    0x00404e98 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404e9c addiu t8, fp, 0x45c4          |     t8 = fp + 0x45c4;
    0x00404ea0 move a0, t8                   |     a0 = t8;
    0x00404ea4 addiu a1, zero, 0x27d         |     a1 = 0x27d;
    0x00404ea8 move a2, zero                 |     a2 = 0;
    0x00404eac move a3, zero                 |     a3 = 0;
    0x00404eb0 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00404eb4 move t9, t8                   |     t9 = t8;
    0x00404eb8 jalr t9                       |     t9 ();
    0x00404ebc nop                           |     
    0x00404ec0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404ec4 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* esilref: 'ifconfig ra0 up' */
    0x00404ec8 addiu a0, t8, -0x105c         |     a0 = t8 + -0x105c;
    0x00404ecc lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404ed0 move t9, t8                   |     t9 = t8;
    0x00404ed4 jalr t9                       |     t9 ();
    0x00404ed8 nop                           |     
    0x00404edc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404ee0 addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00404ee4 move a0, t8                   |     a0 = t8;
    0x00404ee8 lw t8, -0x7fbc(gp)            |     t8 = *(gp);
    0x00404eec move t9, t8                   |     t9 = t8;
    0x00404ef0 jalr t9                       |     t9 ();
    0x00404ef4 nop                           |     
    0x00404ef8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404efc addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00404f00 move a0, t8                   |     a0 = t8;
    0x00404f04 lw t8, -0x7e2c(gp)            |     t8 = *(gp);
    0x00404f08 move t9, t8                   |     t9 = t8;
    0x00404f0c jalr t9                       |     t9 ();
    0x00404f10 nop                           |     
    0x00404f14 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f18 addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00404f1c move a0, t8                   |     a0 = t8;
    0x00404f20 lw t8, -0x7d20(gp)            |     t8 = *(gp);
    0x00404f24 move t9, t8                   |     t9 = t8;
    0x00404f28 jalr t9                       |     t9 ();
    0x00404f2c nop                           |     
    0x00404f30 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f34 move t8, v0                   |     t8 = v0;
    0x00404f38 move a0, t8                   |     a0 = t8;
    0x00404f3c lw t8, -0x7e10(gp)            |     t8 = sym.imp.wifiSetRegion_int_;
    0x00404f40 move t9, t8                   |     t9 = t8;
    0x00404f44 jalr t9                       |     t9 ();
    0x00404f48 nop                           |     
    0x00404f4c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f50 addiu a0, zero, 1             |     a0 = 1;
    0x00404f54 lw t8, -0x7d3c(gp)            |     t8 = sym.imp.wifiSetRadio_int_;
    0x00404f58 move t9, t8                   |     t9 = t8;
    0x00404f5c jalr t9                       |     t9 ();
    0x00404f60 nop                           |     
    0x00404f64 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f68 addiu a0, zero, 3             |     a0 = 3;
    0x00404f6c lw t8, -0x7d1c(gp)            |     t8 = sym.imp.sleep;
    0x00404f70 move t9, t8                   |     t9 = t8;
    0x00404f74 jalr t9                       |     t9 ();
    0x00404f78 nop                           |     
    0x00404f7c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f80 lw t8, -0x7fac(gp)            |     t8 = sym.handleApConfig__;
    0x00404f84 move t9, t8                   |     t9 = t8;
    0x00404f88 jalr t9                       |     t9 ();
    0x00404f8c nop                           |     
    0x00404f90 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404f94 addiu t8, fp, 0x4614          |     t8 = fp + 0x4614;
    0x00404f98 lui v0, 0x30                  |     v0 = 0x306172;
    0x00404f9c ori v0, v0, 0x6172            |     
    0x00404fa0 sw v0, (t8)                   |     *(t8) = v0;
    0x00404fa4 addiu t8, fp, 0x4614          |     t8 = fp + 0x4614;
    0x00404fa8 move a0, t8                   |     a0 = t8;
    0x00404fac lw t8, -0x7fa8(gp)            |     t8 = sym.handleRouting_char_;
    0x00404fb0 move t9, t8                   |     t9 = t8;
    0x00404fb4 jalr t9                       |     t9 ();
    0x00404fb8 nop                           |     
    0x00404fbc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404fc0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str._etc_rc.d_init.d_network_services.sh_restart_ */
    0x00404fc4 addiu a0, t8, -0x1184         |     a0 = t8 + -0x1184;
    0x00404fc8 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404fcc move t9, t8                   |     t9 = t8;
    0x00404fd0 jalr t9                       |     t9 ();
    0x00404fd4 nop                           |     
    0x00404fd8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404fdc addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x00404fe0 move a0, t8                   |     a0 = t8;
    0x00404fe4 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.System */
    0x00404fe8 addiu a1, t8, -0x107c         |     a1 = t8 + -0x107c;
    0x00404fec move a2, zero                 |     a2 = 0;
    0x00404ff0 lw t8, -0x7e34(gp)            |     t8 = *(gp);
    0x00404ff4 move t9, t8                   |     t9 = t8;
    0x00404ff8 jalr t9                       |     t9 ();
    0x00404ffc nop                           |     
    0x00405000 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405004 addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x00405008 move a0, t8                   |     a0 = t8;
    0x0040500c lw t8, -0x7e5c(gp)            |     t8 = *(gp);
    0x00405010 move t9, t8                   |     t9 = t8;
    0x00405014 jalr t9                       |     t9 ();
    0x00405018 nop                           |     
    0x0040501c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405020 addiu v0, fp, 0x24            |     v0 = fp + 0x24;
    0x00405024 addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x00405028 move a0, v0                   |     a0 = v0;
    0x0040502c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* esilref: 'OEM' */
    0x00405030 addiu a1, v0, -0x1074         |     a1 = v0 + -0x1074;
    0x00405034 move a2, t8                   |     a2 = t8;
    0x00405038 lw t8, -0x7dcc(gp)            |     t8 = *(gp);
    0x0040503c move t9, t8                   |     t9 = t8;
    0x00405040 jalr t9                       |     t9 ();
    0x00405044 nop                           |     
    0x00405048 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040504c addiu v1, fp, 0x28            |     v1 = fp + 0x28;
    0x00405050 addiu v0, fp, 0x34            |     v0 = fp + 0x34;
    0x00405054 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00405058 move a0, v1                   |     a0 = v1;
    0x0040505c move a1, v0                   |     a1 = v0;
    0x00405060 move a2, t8                   |     a2 = t8;
    0x00405064 lw t8, -0x7dac(gp)            |     t8 = *(gp);
    0x00405068 move t9, t8                   |     t9 = t8;
    0x0040506c jalr t9                       |     t9 ();
    0x00405070 nop                           |     
    0x00405074 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405078 addiu v0, fp, 0x20            |     v0 = fp + 0x20;
    0x0040507c addiu t8, fp, 0x28            |     t8 = fp + 0x28;
    0x00405080 move a0, v0                   |     a0 = v0;
    0x00405084 move a1, t8                   |     a1 = t8;
    0x00405088 lw t8, -0x7e78(gp)            |     t8 = *(gp);
    0x0040508c move t9, t8                   |     t9 = t8;
    0x00405090 jalr t9                       |     t9 ();
    0x00405094 nop                           |     
    0x00405098 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040509c addiu t8, fp, 0x28            |     t8 = fp + 0x28;
    0x004050a0 move a0, t8                   |     a0 = t8;
    0x004050a4 lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x004050a8 move t9, t8                   |     t9 = t8;
    0x004050ac jalr t9                       |     t9 ();
    0x004050b0 nop                           |     
    0x004050b4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004050b8 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x004050bc move a0, t8                   |     a0 = t8;
    0x004050c0 lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x004050c4 move t9, t8                   |     t9 = t8;
    0x004050c8 jalr t9                       |     t9 ();
    0x004050cc nop                           |     
    0x004050d0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004050d4 addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x004050d8 move a0, t8                   |     a0 = t8;
    0x004050dc lw t8, -0x7e08(gp)            |     t8 = *(gp);
    0x004050e0 move t9, t8                   |     t9 = t8;
    0x004050e4 jalr t9                       |     t9 ();
    0x004050e8 nop                           |     
    0x004050ec lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004050f0 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x004050f4 move a0, t8                   |     a0 = t8;
    0x004050f8 lw t8, -0x7cf0(gp)            |     t8 = *(gp);
    0x004050fc move t9, t8                   |     t9 = t8;
    0x00405100 jalr t9                       |     t9 ();
    0x00405104 nop                           |     
    0x00405108 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040510c addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00405110 move a0, t8                   |     a0 = t8;
    0x00405114 lw t8, -0x7d18(gp)            |     t8 = *(gp);
    0x00405118 move t9, t8                   |     t9 = t8;
    0x0040511c jalr t9                       |     t9 ();
    0x00405120 nop                           |     
    0x00405124 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405128 move t8, v0                   |     t8 = v0;
    0x0040512c move a0, t8                   |     a0 = t8;
    0x00405130 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.D_Link */
    0x00405134 addiu a1, t8, -0x1070         |     a1 = t8 + -0x1070;
    0x00405138 lw t8, -0x7e40(gp)            |     t8 = sym.imp.strcmp;
    0x0040513c move t9, t8                   |     t9 = t8;
    0x00405140 jalr t9                       |     t9 ();
    0x00405144 nop                           |     
    0x00405148 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040514c move t8, v0                   |     t8 = v0;
    0x00405150 sltiu t8, t8, 1               |     t8 = (t8 < 1) ? 1 : 0;
    0x00405154 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00405158 beqz t8, 0x4051fc             |         
    0x0040515c nop                           |         
    0x00405160 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x00405164 move a0, t8                   |         a0 = t8;
    0x00405168 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* esilref: 'Wireless' */
    0x0040516c addiu a1, t8, -0x144c         |         a1 = t8 + -0x144c;
    0x00405170 move a2, zero                 |         a2 = 0;
    0x00405174 lw t8, -0x7e34(gp)            |         t8 = *(gp);
    0x00405178 move t9, t8                   |         t9 = t8;
    0x0040517c jalr t9                       |         t9 ();
    0x00405180 nop                           |         
    0x00405184 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00405188 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x0040518c move a0, t8                   |         a0 = t8;
    0x00405190 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.AP_Enable */
    0x00405194 addiu a1, t8, -0x1068         |         a1 = t8 + -0x1068;
    0x00405198 addiu a2, zero, 1             |         a2 = 1;
    0x0040519c lw t8, -0x7ddc(gp)            |         t8 = *(gp);
    0x004051a0 move t9, t8                   |         t9 = t8;
    0x004051a4 jalr t9                       |         t9 ();
    0x004051a8 nop                           |         
    0x004051ac lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004051b0 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x004051b4 move a0, t8                   |         a0 = t8;
    0x004051b8 lw t8, -0x7cf0(gp)            |         t8 = *(gp);
    0x004051bc move t9, t8                   |         t9 = t8;
    0x004051c0 jalr t9                       |         t9 ();
    0x004051c4 nop                           |         
    0x004051c8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004051cc addiu t8, fp, 0x4574          |         t8 = fp + 0x4574;
    0x004051d0 move a0, t8                   |         a0 = t8;
    0x004051d4 addiu a1, zero, 0x30b         |         a1 = 0x30b;
    0x004051d8 move a2, zero                 |         a2 = 0;
    0x004051dc move a3, zero                 |         a3 = 0;
    0x004051e0 lw t8, -0x7fc0(gp)            |         t8 = sym.sendCmd_char_const__int__int__int_;
    0x004051e4 move t9, t8                   |         t9 = t8;
    0x004051e8 jalr t9                       |         t9 ();
    0x004051ec nop                           |         
    0x004051f0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004051f4 b 0x40524c                    |         goto label_1;
    0x004051f8 nop                           |         
                                             |     }
    0x004051fc addiu t8, fp, 0x4574          |     t8 = fp + 0x4574;
    0x00405200 move a0, t8                   |     a0 = t8;
    0x00405204 addiu a1, zero, 0x27c         |     a1 = 0x27c;
    0x00405208 move a2, zero                 |     a2 = 0;
    0x0040520c move a3, zero                 |     a3 = 0;
    0x00405210 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00405214 move t9, t8                   |     t9 = t8;
    0x00405218 jalr t9                       |     t9 ();
    0x0040521c nop                           |     
    0x00405220 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405224 addiu t8, fp, 0x45c4          |     t8 = fp + 0x45c4;
    0x00405228 move a0, t8                   |     a0 = t8;
    0x0040522c addiu a1, zero, 0x27c         |     a1 = 0x27c;
    0x00405230 move a2, zero                 |     a2 = 0;
    0x00405234 move a3, zero                 |     a3 = 0;
    0x00405238 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x0040523c move t9, t8                   |     t9 = t8;
    0x00405240 jalr t9                       |     t9 ();
    0x00405244 nop                           |     
    0x00405248 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_1:
    0x0040524c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00405250 lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x00405254 move t9, t8                   |     t9 = t8;
    0x00405258 jalr t9                       |     t9 ();
    0x0040525c nop                           |     
    0x00405260 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405264 addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00405268 move a0, t8                   |     a0 = t8;
    0x0040526c lw t8, -0x7cec(gp)            |     t8 = sym.imp.PIB::PIB__;
    0x00405270 move t9, t8                   |     t9 = t8;
    0x00405274 jalr t9                       |     t9 ();
    0x00405278 nop                           |     
    0x0040527c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00405280 addiu s0, zero, 1             |     s0 = 1;
                                             | label_0:
    0x00405284 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00405288 move a0, t8                   |     a0 = t8;
    0x0040528c lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x00405290 move t9, t8                   |     t9 = t8;
    0x00405294 jalr t9                       |     t9 ();
    0x00405298 nop                           |     
    0x0040529c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004052a0 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (s0 != t8) {
    0x004052a4 beq s0, t8, 0x4052b8          |         
    0x004052a8 nop                           |         
    0x004052ac move s0, zero                 |         s0 = 0;
    0x004052b0 b 0x4052c0                    |         goto label_2;
    0x004052b4 nop                           |         
                                             |     }
    0x004052b8 nop                           |     
    0x004052bc addiu s0, zero, 1             |     s0 = 1;
                                             | label_2:
    0x004052c0 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x004052c4 move a0, t8                   |     a0 = t8;
    0x004052c8 lw t8, -0x7dfc(gp)            |     t8 = sym.imp.TinyDB::TinyDB__;
    0x004052cc move t9, t8                   |     t9 = t8;
    0x004052d0 jalr t9                       |     t9 ();
    0x004052d4 nop                           |     
    0x004052d8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004052dc addiu t8, zero, 1             |     t8 = 1;
                                             |     if (s0 != t8) {
    0x004052e0 beq s0, t8, 0x4052f0          |         
    0x004052e4 nop                           |         
    0x004052e8 b 0x405414                    |         goto label_3;
    0x004052ec nop                           |         
                                             |     }
    0x004052f0 nop                           |     
    0x004052f4 b 0x405414                    |     goto label_3;
    0x004052f8 nop                           |     
                                             | label_3:
    0x00405414 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00405418 lw v0, 0x4814(fp)             |     v0 = *(arg_4814h);
    0x0040541c lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x00405420 beq v0, t8, 0x405438          |         
    0x00405424 nop                           |         
    0x00405428 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040542c move t9, t8                   |         t9 = t8;
    0x00405430 jalr t9                       |         t9 ();
    0x00405434 nop                           |         
                                             |     }
    0x00405438 move sp, fp                   |     
    0x0040543c lw ra, 0x4824(sp)             |     ra = *(arg_4824h);
    0x00405440 lw fp, 0x4820(sp)             |     fp = *(arg_4820h);
    0x00405444 lw s0, 0x481c(sp)             |     s0 = *(arg_481ch);
    0x00405448 addiu sp, sp, 0x4828          |     
    0x0040544c jr ra                         |     return v0;
    0x00405450 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x403bf4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handleStartClient__ ()       | void handleStartClient_ () {
                                             |     /* handleStartClient() */
    0x00403bf4 lui gp, 2                     |     
    0x00403bf8 addiu gp, gp, 0x644c          |     
    0x00403bfc addu gp, gp, t9               |     gp += t9;
    0x00403c00 addiu sp, sp, -0x37b0         |     
    0x00403c04 sw ra, 0x37ac(sp)             |     *(arg_37ach) = ra;
    0x00403c08 sw fp, 0x37a8(sp)             |     *(arg_37a8h) = fp;
    0x00403c0c sw s0, 0x37a4(sp)             |     *(arg_37a4h) = s0;
    0x00403c10 move fp, sp                   |     fp = sp;
    0x00403c14 sw gp, 0x10(sp)               |     *(arg_10h) = gp;
    0x00403c18 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00403c1c lw t8, (t8)                   |     t8 = *(t8);
    0x00403c20 sw t8, 0x379c(fp)             |     *(arg_379ch) = t8;
    0x00403c24 addiu a0, zero, 0x1000        |     a0 = 0x1000;
    0x00403c28 lw t8, -0x7d44(gp)            |     t8 = sym.imp.malloc;
    0x00403c2c move t9, t8                   |     t9 = t8;
    0x00403c30 jalr t9                       |     t9 ();
    0x00403c34 nop                           |     
    0x00403c38 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403c3c move t8, v0                   |     t8 = v0;
    0x00403c40 sw t8, 0x1c(fp)               |     *(arg_1ch) = t8;
    0x00403c44 lw t8, -0x7e1c(gp)            |     t8 = sym.imp.wifiCheckModule__;
    0x00403c48 move t9, t8                   |     t9 = t8;
    0x00403c4c jalr t9                       |     t9 ();
    0x00403c50 nop                           |     
    0x00403c54 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403c58 move t8, v0                   |     t8 = v0;
    0x00403c5c sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x00403c60 lw t8, 0x20(fp)               |     t8 = *(arg_20h);
                                             |     if (t8 == 0) {
    0x00403c64 bnez t8, 0x403dc4             |         
    0x00403c68 nop                           |         
    0x00403c6c lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403c70 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403c74 move t9, t8                   |         t9 = t8;
    0x00403c78 jalr t9                       |         t9 ();
    0x00403c7c nop                           |         
    0x00403c80 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403c84 move t8, v0                   |         t8 = v0;
    0x00403c88 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403c8c addu v0, v0, t8               |         v0 += t8;
    0x00403c90 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403c94 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifdown_ra0____dev_null_2___dev_null__ */
    0x00403c98 addiu v0, t8, -0x1430         |         v0 = t8 + -0x1430;
    0x00403c9c addiu t8, zero, 0x27          |         t8 = 0x27;
    0x00403ca0 move a0, v1                   |         a0 = v1;
    0x00403ca4 move a1, v0                   |         a1 = v0;
    0x00403ca8 move a2, t8                   |         a2 = t8;
    0x00403cac lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403cb0 move t9, t8                   |         t9 = t8;
    0x00403cb4 jalr t9                       |         t9 ();
    0x00403cb8 nop                           |         
    0x00403cbc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403cc0 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403cc4 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403cc8 move t9, t8                   |         t9 = t8;
    0x00403ccc jalr t9                       |         t9 ();
    0x00403cd0 nop                           |         
    0x00403cd4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403cd8 move t8, v0                   |         t8 = v0;
    0x00403cdc lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403ce0 addu v0, v0, t8               |         v0 += t8;
    0x00403ce4 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403ce8 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifconfig_ra0_down____dev_null_2___dev_null__ */
    0x00403cec addiu v0, t8, -0x1408         |         v0 = t8 + -0x1408;
    0x00403cf0 addiu t8, zero, 0x2e          |         t8 = 0x2e;
    0x00403cf4 move a0, v1                   |         a0 = v1;
    0x00403cf8 move a1, v0                   |         a1 = v0;
    0x00403cfc move a2, t8                   |         a2 = t8;
    0x00403d00 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403d04 move t9, t8                   |         t9 = t8;
    0x00403d08 jalr t9                       |         t9 ();
    0x00403d0c nop                           |         
    0x00403d10 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403d14 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403d18 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403d1c move t9, t8                   |         t9 = t8;
    0x00403d20 jalr t9                       |         t9 ();
    0x00403d24 nop                           |         
    0x00403d28 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403d2c move t8, v0                   |         t8 = v0;
    0x00403d30 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403d34 addu v0, v0, t8               |         v0 += t8;
    0x00403d38 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403d3c move v1, v0                   |         v1 = v0;
                                             |         /* str._send_cmd_watchdog_639____dev_null_2___dev_null__ */
    0x00403d40 addiu v0, t8, -0x13d8         |         v0 = t8 + -0x13d8;
    0x00403d44 addiu t8, zero, 0x32          |         t8 = 0x32;
    0x00403d48 move a0, v1                   |         a0 = v1;
    0x00403d4c move a1, v0                   |         a1 = v0;
    0x00403d50 move a2, t8                   |         a2 = t8;
    0x00403d54 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403d58 move t9, t8                   |         t9 = t8;
    0x00403d5c jalr t9                       |         t9 ();
    0x00403d60 nop                           |         
    0x00403d64 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403d68 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403d6c lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403d70 move t9, t8                   |         t9 = t8;
    0x00403d74 jalr t9                       |         t9 ();
    0x00403d78 nop                           |         
    0x00403d7c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403d80 move t8, v0                   |         t8 = v0;
    0x00403d84 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403d88 addu v0, v0, t8               |         v0 += t8;
    0x00403d8c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403d90 move v1, v0                   |         v1 = v0;
                                             |         /* str.__etc_rc.d_init.d_wirelessDectd.sh_stop */
    0x00403d94 addiu v0, t8, -0x13a4         |         v0 = t8 + -0x13a4;
    0x00403d98 addiu t8, zero, 0x28          |         t8 = 0x28;
    0x00403d9c move a0, v1                   |         a0 = v1;
    0x00403da0 move a1, v0                   |         a1 = v0;
    0x00403da4 move a2, t8                   |         a2 = t8;
    0x00403da8 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403dac move t9, t8                   |         t9 = t8;
    0x00403db0 jalr t9                       |         t9 ();
    0x00403db4 nop                           |         
    0x00403db8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403dbc b 0x403ea4                    |         goto label_0;
    0x00403dc0 nop                           |         
                                             |     }
    0x00403dc4 lw v0, 0x20(fp)               |     v0 = *(arg_20h);
    0x00403dc8 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x00403dcc bne v0, t8, 0x403e84          |         
    0x00403dd0 nop                           |         
    0x00403dd4 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403dd8 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403ddc move t9, t8                   |         t9 = t8;
    0x00403de0 jalr t9                       |         t9 ();
    0x00403de4 nop                           |         
    0x00403de8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403dec move t8, v0                   |         t8 = v0;
    0x00403df0 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403df4 addu v0, v0, t8               |         v0 += t8;
    0x00403df8 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403dfc move v1, v0                   |         v1 = v0;
                                             |         /* str._ifdown_apcli0____dev_null_2___dev_null__ */
    0x00403e00 addiu v0, t8, -0x135c         |         v0 = t8 + -0x135c;
    0x00403e04 addiu t8, zero, 0x2a          |         t8 = 0x2a;
    0x00403e08 move a0, v1                   |         a0 = v1;
    0x00403e0c move a1, v0                   |         a1 = v0;
    0x00403e10 move a2, t8                   |         a2 = t8;
    0x00403e14 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403e18 move t9, t8                   |         t9 = t8;
    0x00403e1c jalr t9                       |         t9 ();
    0x00403e20 nop                           |         
    0x00403e24 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403e28 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403e2c lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403e30 move t9, t8                   |         t9 = t8;
    0x00403e34 jalr t9                       |         t9 ();
    0x00403e38 nop                           |         
    0x00403e3c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403e40 move t8, v0                   |         t8 = v0;
    0x00403e44 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403e48 addu v0, v0, t8               |         v0 += t8;
    0x00403e4c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403e50 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifconfig_apcli0_down____dev_null_2___dev_null__ */
    0x00403e54 addiu v0, t8, -0x1330         |         v0 = t8 + -0x1330;
    0x00403e58 addiu t8, zero, 0x31          |         t8 = 0x31;
    0x00403e5c move a0, v1                   |         a0 = v1;
    0x00403e60 move a1, v0                   |         a1 = v0;
    0x00403e64 move a2, t8                   |         a2 = t8;
    0x00403e68 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403e6c move t9, t8                   |         t9 = t8;
    0x00403e70 jalr t9                       |         t9 ();
    0x00403e74 nop                           |         
    0x00403e78 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403e7c b 0x403ea4                    |         goto label_0;
    0x00403e80 nop                           |         
                                             |     }
    0x00403e84 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403e88 lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x00403e8c move t9, t8                   |     t9 = t8;
    0x00403e90 jalr t9                       |     t9 ();
    0x00403e94 nop                           |     
    0x00403e98 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403e9c b 0x404320                    |     goto label_1;
    0x00403ea0 nop                           |     
                                             | label_0:
    0x00403ea4 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403ea8 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403eac move t9, t8                   |     t9 = t8;
    0x00403eb0 jalr t9                       |     t9 ();
    0x00403eb4 nop                           |     
    0x00403eb8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403ebc move t8, v0                   |     t8 = v0;
    0x00403ec0 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403ec4 addu v0, v0, t8               |     v0 += t8;
    0x00403ec8 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403ecc move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_udhcpc____dev_null_2___dev_null__ */
    0x00403ed0 addiu v0, t8, -0x12fc         |     v0 = t8 + -0x12fc;
    0x00403ed4 addiu t8, zero, 0x2b          |     t8 = 0x2b;
    0x00403ed8 move a0, v1                   |     a0 = v1;
    0x00403edc move a1, v0                   |     a1 = v0;
    0x00403ee0 move a2, t8                   |     a2 = t8;
    0x00403ee4 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403ee8 move t9, t8                   |     t9 = t8;
    0x00403eec jalr t9                       |     t9 ();
    0x00403ef0 nop                           |     
    0x00403ef4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403ef8 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403efc lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403f00 move t9, t8                   |     t9 = t8;
    0x00403f04 jalr t9                       |     t9 ();
    0x00403f08 nop                           |     
    0x00403f0c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403f10 move t8, v0                   |     t8 = v0;
    0x00403f14 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403f18 addu v0, v0, t8               |     v0 += t8;
    0x00403f1c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403f20 move v1, v0                   |     v1 = v0;
                                             |     /* str.__etc_rc.d_init.d_zcip.sh_stop__ */
    0x00403f24 addiu v0, t8, -0x12d0         |     v0 = t8 + -0x12d0;
    0x00403f28 addiu t8, zero, 0x21          |     t8 = 0x21;
    0x00403f2c move a0, v1                   |     a0 = v1;
    0x00403f30 move a1, v0                   |     a1 = v0;
    0x00403f34 move a2, t8                   |     a2 = t8;
    0x00403f38 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403f3c move t9, t8                   |     t9 = t8;
    0x00403f40 jalr t9                       |     t9 ();
    0x00403f44 nop                           |     
    0x00403f48 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403f4c lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403f50 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403f54 move t9, t8                   |     t9 = t8;
    0x00403f58 jalr t9                       |     t9 ();
    0x00403f5c nop                           |     
    0x00403f60 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403f64 move t8, v0                   |     t8 = v0;
    0x00403f68 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403f6c addu v0, v0, t8               |     v0 += t8;
    0x00403f70 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403f74 move v1, v0                   |     v1 = v0;
                                             |     /* str.__etc_rc.d_init.d_wifiAutoReconnect.sh_stop */
    0x00403f78 addiu v0, t8, -0x1240         |     v0 = t8 + -0x1240;
    0x00403f7c addiu t8, zero, 0x2c          |     t8 = 0x2c;
    0x00403f80 move a0, v1                   |     a0 = v1;
    0x00403f84 move a1, v0                   |     a1 = v0;
    0x00403f88 move a2, t8                   |     a2 = t8;
    0x00403f8c lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403f90 move t9, t8                   |     t9 = t8;
    0x00403f94 jalr t9                       |     t9 ();
    0x00403f98 nop                           |     
    0x00403f9c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403fa0 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403fa4 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00403fa8 move t9, t8                   |     t9 = t8;
    0x00403fac jalr t9                       |     t9 ();
    0x00403fb0 nop                           |     
    0x00403fb4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403fb8 addiu t8, fp, 0x354c          |     t8 = fp + 0x354c;
    0x00403fbc lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00403fc0 lw a2, -0x1254(v0)            |     a2 = *((v0 - 1173));
                                             |     /* str._var_tmp_watchdog */
    0x00403fc4 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403fc8 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
                                             |     /* str._var_tmp_watchdog */
    0x00403fcc addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403fd0 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             |     /* str._var_tmp_watchdog */
    0x00403fd4 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403fd8 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00403fdc sw a2, (t8)                   |     *(t8) = a2;
    0x00403fe0 sw a1, 4(t8)                  |     *((t8 + 4)) = a1;
    0x00403fe4 sw a0, 8(t8)                  |     *((t8 + 8)) = a0;
    0x00403fe8 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
                                             |     /* str._var_tmp_watchdog */
    0x00403fec addiu v0, v0, -0x1254         |     v0 += -0x1254;
    0x00403ff0 lhu v0, 0x10(v0)              |     v0 = *((v0 + 8));
    0x00403ff4 sh v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00403ff8 addiu t8, fp, 0x354c          |     t8 = fp + 0x354c;
    0x00403ffc move a0, t8                   |     a0 = t8;
    0x00404000 addiu a1, zero, 0x27f         |     a1 = 0x27f;
    0x00404004 move a2, zero                 |     a2 = 0;
    0x00404008 move a3, zero                 |     a3 = 0;
    0x0040400c lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00404010 move t9, t8                   |     t9 = t8;
    0x00404014 jalr t9                       |     t9 ();
    0x00404018 nop                           |     
    0x0040401c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404020 lw t8, 0x20(fp)               |     t8 = *(arg_20h);
                                             |     if (t8 == 0) {
    0x00404024 bnez t8, 0x40410c             |         
    0x00404028 nop                           |         
    0x0040402c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.ifconfig_ra0_0.0.0.0_up */
    0x00404030 addiu a0, t8, -0x1214         |         a0 = t8 + -0x1214;
    0x00404034 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00404038 move t9, t8                   |         t9 = t8;
    0x0040403c jalr t9                       |         t9 ();
    0x00404040 nop                           |         
    0x00404044 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404048 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x0040404c move a0, t8                   |         a0 = t8;
    0x00404050 lw t8, -0x7fbc(gp)            |         t8 = *(gp);
    0x00404054 move t9, t8                   |         t9 = t8;
    0x00404058 jalr t9                       |         t9 ();
    0x0040405c nop                           |         
    0x00404060 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404064 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x00404068 move a0, t8                   |         a0 = t8;
    0x0040406c lw t8, -0x7e2c(gp)            |         t8 = *(gp);
    0x00404070 move t9, t8                   |         t9 = t8;
    0x00404074 jalr t9                       |         t9 ();
    0x00404078 nop                           |         
    0x0040407c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404080 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x00404084 move a0, t8                   |         a0 = t8;
    0x00404088 lw t8, -0x7d20(gp)            |         t8 = *(gp);
    0x0040408c move t9, t8                   |         t9 = t8;
    0x00404090 jalr t9                       |         t9 ();
    0x00404094 nop                           |         
    0x00404098 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040409c move t8, v0                   |         t8 = v0;
    0x004040a0 move a0, t8                   |         a0 = t8;
    0x004040a4 lw t8, -0x7e10(gp)            |         t8 = sym.imp.wifiSetRegion_int_;
    0x004040a8 move t9, t8                   |         t9 = t8;
    0x004040ac jalr t9                       |         t9 ();
    0x004040b0 nop                           |         
    0x004040b4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004040b8 addiu a0, zero, 1             |         a0 = 1;
    0x004040bc lw t8, -0x7d3c(gp)            |         t8 = sym.imp.wifiSetRadio_int_;
    0x004040c0 move t9, t8                   |         t9 = t8;
    0x004040c4 jalr t9                       |         t9 ();
    0x004040c8 nop                           |         
    0x004040cc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004040d0 addiu a0, zero, 3             |         a0 = 3;
    0x004040d4 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x004040d8 move t9, t8                   |         t9 = t8;
    0x004040dc jalr t9                       |         t9 ();
    0x004040e0 nop                           |         
    0x004040e4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004040e8 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x004040ec move a0, t8                   |         a0 = t8;
    0x004040f0 lw t8, -0x7cec(gp)            |         t8 = sym.imp.PIB::PIB__;
    0x004040f4 move t9, t8                   |         t9 = t8;
    0x004040f8 jalr t9                       |         t9 ();
    0x004040fc nop                           |         
    0x00404100 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404104 b 0x4041b4                    |         goto label_2;
    0x00404108 nop                           |         
                                             |     }
    0x0040410c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.ifconfig_apcli0_0.0.0.0_up */
    0x00404110 addiu a0, t8, -0x11fc         |     a0 = t8 + -0x11fc;
    0x00404114 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404118 move t9, t8                   |     t9 = t8;
    0x0040411c jalr t9                       |     t9 ();
    0x00404120 nop                           |     
    0x00404124 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404128 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x0040412c move a0, t8                   |     a0 = t8;
    0x00404130 lw t8, -0x7fbc(gp)            |     t8 = *(gp);
    0x00404134 move t9, t8                   |     t9 = t8;
    0x00404138 jalr t9                       |     t9 ();
    0x0040413c nop                           |     
    0x00404140 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404144 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00404148 move a0, t8                   |     a0 = t8;
    0x0040414c lw t8, -0x7e2c(gp)            |     t8 = *(gp);
    0x00404150 move t9, t8                   |     t9 = t8;
    0x00404154 jalr t9                       |     t9 ();
    0x00404158 nop                           |     
    0x0040415c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404160 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00404164 move a0, t8                   |     a0 = t8;
    0x00404168 lw t8, -0x7d20(gp)            |     t8 = *(gp);
    0x0040416c move t9, t8                   |     t9 = t8;
    0x00404170 jalr t9                       |     t9 ();
    0x00404174 nop                           |     
    0x00404178 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040417c move t8, v0                   |     t8 = v0;
    0x00404180 move a0, t8                   |     a0 = t8;
    0x00404184 lw t8, -0x7e10(gp)            |     t8 = sym.imp.wifiSetRegion_int_;
    0x00404188 move t9, t8                   |     t9 = t8;
    0x0040418c jalr t9                       |     t9 ();
    0x00404190 nop                           |     
    0x00404194 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404198 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x0040419c move a0, t8                   |     a0 = t8;
    0x004041a0 lw t8, -0x7cec(gp)            |     t8 = sym.imp.PIB::PIB__;
    0x004041a4 move t9, t8                   |     t9 = t8;
    0x004041a8 jalr t9                       |     t9 ();
    0x004041ac nop                           |     
    0x004041b0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_2:
    0x004041b4 lw t8, -0x7fb8(gp)            |     t8 = sym.handleClientConfig__;
    0x004041b8 move t9, t8                   |     t9 = t8;
    0x004041bc jalr t9                       |     t9 ();
    0x004041c0 nop                           |     
    0x004041c4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004041c8 lw v0, 0x20(fp)               |     v0 = *(arg_20h);
    0x004041cc addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x004041d0 bne v0, t8, 0x4041fc          |         
    0x004041d4 nop                           |         
    0x004041d8 addiu t8, fp, 0x359c          |         t8 = fp + 0x359c;
    0x004041dc lui v0, 0x6c63                |         v0 = 0x6c637061;
    0x004041e0 ori v0, v0, 0x7061            |         
    0x004041e4 sw v0, (t8)                   |         *(t8) = v0;
    0x004041e8 addiu v0, zero, 0x3069        |         v0 = 0x3069;
    0x004041ec sh v0, 4(t8)                  |         *((t8 + 4)) = v0;
    0x004041f0 sb zero, 6(t8)                |         *((t8 + 6)) = 0;
    0x004041f4 b 0x40420c                    |         goto label_3;
    0x004041f8 nop                           |         
                                             |     }
    0x004041fc addiu t8, fp, 0x359c          |     t8 = fp + 0x359c;
    0x00404200 lui v0, 0x30                  |     v0 = 0x306172;
    0x00404204 ori v0, v0, 0x6172            |     
    0x00404208 sw v0, (t8)                   |     *(t8) = v0;
                                             | label_3:
    0x0040420c lw t8, 0x20(fp)               |     t8 = *(arg_20h);
                                             |     if (t8 == 0) {
    0x00404210 bnez t8, 0x404234             |         
    0x00404214 nop                           |         
    0x00404218 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str._etc_rc.d_init.d_wirelessDectd.sh_restart */
    0x0040421c addiu a0, t8, -0x11e0         |         a0 = t8 + -0x11e0;
    0x00404220 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00404224 move t9, t8                   |         t9 = t8;
    0x00404228 jalr t9                       |         t9 ();
    0x0040422c nop                           |         
    0x00404230 lw gp, 0x10(fp)               |         gp = *(arg_10h);
                                             |     }
    0x00404234 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str._etc_rc.d_init.d_wifiAutoReconnect.sh_restart */
    0x00404238 addiu a0, t8, -0x11b4         |     a0 = t8 + -0x11b4;
    0x0040423c lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404240 move t9, t8                   |     t9 = t8;
    0x00404244 jalr t9                       |     t9 ();
    0x00404248 nop                           |     
    0x0040424c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404250 addiu t8, fp, 0x359c          |     t8 = fp + 0x359c;
    0x00404254 move a0, t8                   |     a0 = t8;
    0x00404258 lw t8, -0x7fb4(gp)            |     t8 = sym.handleClientNetwork_char_;
    0x0040425c move t9, t8                   |     t9 = t8;
    0x00404260 jalr t9                       |     t9 ();
    0x00404264 nop                           |     
    0x00404268 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040426c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str._etc_rc.d_init.d_network_services.sh_restart_ */
    0x00404270 addiu a0, t8, -0x1184         |     a0 = t8 + -0x1184;
    0x00404274 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404278 move t9, t8                   |     t9 = t8;
    0x0040427c jalr t9                       |     t9 ();
    0x00404280 nop                           |     
    0x00404284 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404288 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x0040428c lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x00404290 move t9, t8                   |     t9 = t8;
    0x00404294 jalr t9                       |     t9 ();
    0x00404298 nop                           |     
    0x0040429c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004042a0 b 0x404320                    |     goto label_1;
    0x004042a4 nop                           |     
                                             | label_1:
    0x00404320 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00404324 lw v0, 0x379c(fp)             |     v0 = *(arg_379ch);
    0x00404328 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x0040432c beq v0, t8, 0x404344          |         
    0x00404330 nop                           |         
    0x00404334 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00404338 move t9, t8                   |         t9 = t8;
    0x0040433c jalr t9                       |         t9 ();
    0x00404340 nop                           |         
                                             |     }
    0x00404344 move sp, fp                   |     
    0x00404348 lw ra, 0x37ac(sp)             |     ra = *(arg_37ach);
    0x0040434c lw fp, 0x37a8(sp)             |     fp = *(arg_37a8h);
    0x00404350 lw s0, 0x37a4(sp)             |     s0 = *(arg_37a4h);
    0x00404354 addiu sp, sp, 0x37b0          |     
    0x00404358 jr ra                         |     return v0;
    0x0040435c nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x409344 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handleStartWps__ ()          | void handleStartWps_ () {
                                             |     /* handleStartWps() */
    0x00409344 lui gp, 2                     |     
    0x00409348 addiu gp, gp, 0xcfc           |     
    0x0040934c addu gp, gp, t9               |     gp += t9;
    0x00409350 addiu sp, sp, -0x3960         |     
    0x00409354 sw ra, 0x395c(sp)             |     *(arg_395ch) = ra;
    0x00409358 sw fp, 0x3958(sp)             |     *(arg_3958h) = fp;
    0x0040935c sw s0, 0x3954(sp)             |     *(arg_3954h) = s0;
    0x00409360 move fp, sp                   |     fp = sp;
    0x00409364 sw gp, 0x10(sp)               |     *(arg_10h) = gp;
    0x00409368 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040936c lw t8, (t8)                   |     t8 = *(t8);
    0x00409370 sw t8, 0x394c(fp)             |     *(arg_394ch) = t8;
    0x00409374 addiu t8, zero, 1             |     t8 = 1;
    0x00409378 sb t8, 0x1b(fp)               |     *(arg_1bh) = t8;
    0x0040937c lw t8, -0x7e1c(gp)            |     t8 = sym.imp.wifiCheckModule__;
    0x00409380 move t9, t8                   |     t9 = t8;
    0x00409384 jalr t9                       |     t9 ();
    0x00409388 nop                           |     
    0x0040938c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409390 move t8, v0                   |     t8 = v0;
    0x00409394 move v0, t8                   |     v0 = t8;
    0x00409398 lw t8, -0x7f74(gp)            |     t8 = *((gp - 8157));
    0x0040939c sw v0, 0x23a4(t8)             |     *((t8 + 9124)) = v0;
    0x004093a0 lw t8, -0x7f74(gp)            |     t8 = *((gp - 8157));
    0x004093a4 lw t8, 0x23a4(t8)             |     t8 = *((t8 + 2281));
                                             |     if (t8 == 0) {
    0x004093a8 bnez t8, 0x4094c4             |         
    0x004093ac nop                           |         
    0x004093b0 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x004093b4 move a0, t8                   |         a0 = t8;
    0x004093b8 lw t8, -0x7fbc(gp)            |         t8 = *(gp);
    0x004093bc move t9, t8                   |         t9 = t8;
    0x004093c0 jalr t9                       |         t9 ();
    0x004093c4 nop                           |         
    0x004093c8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004093cc addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x004093d0 move a0, t8                   |         a0 = t8;
    0x004093d4 lw t8, -0x7e2c(gp)            |         t8 = *(gp);
    0x004093d8 move t9, t8                   |         t9 = t8;
    0x004093dc jalr t9                       |         t9 ();
    0x004093e0 nop                           |         
    0x004093e4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004093e8 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.ifconfig_ra0_down */
    0x004093ec addiu a0, t8, -0xa04          |         a0 = t8 + -0xa04;
    0x004093f0 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004093f4 move t9, t8                   |         t9 = t8;
    0x004093f8 jalr t9                       |         t9 ();
    0x004093fc nop                           |         
    0x00409400 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409404 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.ifconfig_ra0_up */
    0x00409408 addiu a0, t8, -0x9f0          |         a0 = t8 + -0x9f0;
    0x0040940c lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409410 move t9, t8                   |         t9 = t8;
    0x00409414 jalr t9                       |         t9 ();
    0x00409418 nop                           |         
    0x0040941c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409420 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x00409424 move a0, t8                   |         a0 = t8;
    0x00409428 lw t8, -0x7d20(gp)            |         t8 = *(gp);
    0x0040942c move t9, t8                   |         t9 = t8;
    0x00409430 jalr t9                       |         t9 ();
    0x00409434 nop                           |         
    0x00409438 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040943c move t8, v0                   |         t8 = v0;
    0x00409440 addiu v0, fp, 0x354c          |         v0 = fp + 0x354c;
    0x00409444 move a0, v0                   |         a0 = v0;
    0x00409448 lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_set_CountryRegion_d */
    0x0040944c addiu a1, v0, -0x9e0          |         a1 = v0 + -0x9e0;
    0x00409450 move a2, t8                   |         a2 = t8;
    0x00409454 lw t8, -0x7e14(gp)            |         t8 = sym.imp.sprintf;
    0x00409458 move t9, t8                   |         t9 = t8;
    0x0040945c jalr t9                       |         t9 ();
    0x00409460 nop                           |         
    0x00409464 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409468 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x0040946c move a0, t8                   |         a0 = t8;
    0x00409470 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409474 move t9, t8                   |         t9 = t8;
    0x00409478 jalr t9                       |         t9 ();
    0x0040947c nop                           |         
    0x00409480 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409484 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_radio_on */
    0x00409488 addiu a0, t8, -0x9c0          |         a0 = t8 + -0x9c0;
    0x0040948c lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409490 move t9, t8                   |         t9 = t8;
    0x00409494 jalr t9                       |         t9 ();
    0x00409498 nop                           |         
    0x0040949c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004094a0 addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x004094a4 move a0, t8                   |         a0 = t8;
    0x004094a8 lw t8, -0x7cec(gp)            |         t8 = sym.imp.PIB::PIB__;
    0x004094ac move t9, t8                   |         t9 = t8;
    0x004094b0 jalr t9                       |         t9 ();
    0x004094b4 nop                           |         
    0x004094b8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004094bc b 0x4095b4                    |         goto label_0;
    0x004094c0 nop                           |         
                                             |     }
    0x004094c4 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x004094c8 move a0, t8                   |     a0 = t8;
    0x004094cc lw t8, -0x7fbc(gp)            |     t8 = *(gp);
    0x004094d0 move t9, t8                   |     t9 = t8;
    0x004094d4 jalr t9                       |     t9 ();
    0x004094d8 nop                           |     
    0x004094dc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004094e0 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x004094e4 move a0, t8                   |     a0 = t8;
    0x004094e8 lw t8, -0x7e2c(gp)            |     t8 = *(gp);
    0x004094ec move t9, t8                   |     t9 = t8;
    0x004094f0 jalr t9                       |     t9 ();
    0x004094f4 nop                           |     
    0x004094f8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004094fc lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.ifconfig_apcli0_down */
    0x00409500 addiu a0, t8, -0x9ac          |     a0 = t8 + -0x9ac;
    0x00409504 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409508 move t9, t8                   |     t9 = t8;
    0x0040950c jalr t9                       |     t9 ();
    0x00409510 nop                           |     
    0x00409514 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409518 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.ifconfig_apcli0_up */
    0x0040951c addiu a0, t8, -0x994          |     a0 = t8 + -0x994;
    0x00409520 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409524 move t9, t8                   |     t9 = t8;
    0x00409528 jalr t9                       |     t9 ();
    0x0040952c nop                           |     
    0x00409530 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409534 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00409538 move a0, t8                   |     a0 = t8;
    0x0040953c lw t8, -0x7d20(gp)            |     t8 = *(gp);
    0x00409540 move t9, t8                   |     t9 = t8;
    0x00409544 jalr t9                       |     t9 ();
    0x00409548 nop                           |     
    0x0040954c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409550 move t8, v0                   |     t8 = v0;
    0x00409554 addiu v0, fp, 0x354c          |     v0 = fp + 0x354c;
    0x00409558 move a0, v0                   |     a0 = v0;
    0x0040955c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* str.iwpriv_ra0_set_CountryRegion_d */
    0x00409560 addiu a1, v0, -0x9e0          |     a1 = v0 + -0x9e0;
    0x00409564 move a2, t8                   |     a2 = t8;
    0x00409568 lw t8, -0x7e14(gp)            |     t8 = sym.imp.sprintf;
    0x0040956c move t9, t8                   |     t9 = t8;
    0x00409570 jalr t9                       |     t9 ();
    0x00409574 nop                           |     
    0x00409578 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040957c addiu t8, fp, 0x354c          |     t8 = fp + 0x354c;
    0x00409580 move a0, t8                   |     a0 = t8;
    0x00409584 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409588 move t9, t8                   |     t9 = t8;
    0x0040958c jalr t9                       |     t9 ();
    0x00409590 nop                           |     
    0x00409594 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409598 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x0040959c move a0, t8                   |     a0 = t8;
    0x004095a0 lw t8, -0x7cec(gp)            |     t8 = sym.imp.PIB::PIB__;
    0x004095a4 move t9, t8                   |     t9 = t8;
    0x004095a8 jalr t9                       |     t9 ();
    0x004095ac nop                           |     
    0x004095b0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_0:
    0x004095b4 addiu a0, zero, 3             |     a0 = 3;
    0x004095b8 lw t8, -0x7d1c(gp)            |     t8 = sym.imp.sleep;
    0x004095bc move t9, t8                   |     t9 = t8;
    0x004095c0 jalr t9                       |     t9 ();
    0x004095c4 nop                           |     
    0x004095c8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004095cc move a0, zero                 |     a0 = 0;
    0x004095d0 lw t8, -0x7db0(gp)            |     t8 = sym.imp.time;
    0x004095d4 move t9, t8                   |     t9 = t8;
    0x004095d8 jalr t9                       |     t9 ();
    0x004095dc nop                           |     
    0x004095e0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004095e4 lw t8, -0x7f74(gp)            |     t8 = *((gp - 8157));
    0x004095e8 sw v0, 0x23a8(t8)             |     *((t8 + 9128)) = v0;
    0x004095ec lw t8, -0x7fa0(gp)            |     t8 = *(gp);
                                             |     /* aav.0x004075e0 */
    0x004095f0 addiu t8, t8, 0x75e0          |     t8 += 0x75e0;
    0x004095f4 move t9, t8                   |     t9 = t8;
    0x004095f8 jalr t9                       |     t9 ();
    0x004095fc nop                           |     
    0x00409600 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409604 sw v0, 0x1c(fp)               |     *(arg_1ch) = v0;
    0x00409608 lw t8, 0x1c(fp)               |     t8 = *(arg_1ch);
                                             |     if (t8 < 0) {
    0x0040960c bgez t8, 0x409650             |         
    0x00409610 nop                           |         
    0x00409614 lw t8, -0x7dbc(gp)            |         t8 = *((gp - 8047));
    0x00409618 lw t8, (t8)                   |         t8 = *(t8);
    0x0040961c lw v0, -0x7fd8(gp)            |         v0 = *((gp - 8182));
                                             |         /* str.can_not_open_socket__n */
    0x00409620 addiu a0, v0, -0x980          |         a0 = v0 + -0x980;
    0x00409624 addiu a1, zero, 1             |         a1 = 1;
    0x00409628 addiu a2, zero, 0x15          |         a2 = 0x15;
    0x0040962c move a3, t8                   |         a3 = t8;
    0x00409630 lw t8, -0x7d08(gp)            |         t8 = sym.imp.fwrite;
    0x00409634 move t9, t8                   |         t9 = t8;
    0x00409638 jalr t9                       |         t9 ();
    0x0040963c nop                           |         
    0x00409640 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409644 addiu t8, zero, 1             |         t8 = 1;
    0x00409648 b 0x409bd8                    |         goto label_1;
    0x0040964c nop                           |         
                                             |     }
    0x00409650 lw t8, -0x7f74(gp)            |     t8 = *((gp - 8157));
    0x00409654 lw t8, 0x23a4(t8)             |     t8 = *((t8 + 2281));
                                             |     if (t8 == 0) {
    0x00409658 bnez t8, 0x4096ec             |         
    0x0040965c nop                           |         
    0x00409660 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_wsc_conf_mode_1 */
    0x00409664 addiu a0, t8, -0x968          |         a0 = t8 + -0x968;
    0x00409668 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x0040966c move t9, t8                   |         t9 = t8;
    0x00409670 jalr t9                       |         t9 ();
    0x00409674 nop                           |         
    0x00409678 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040967c addiu a0, zero, 1             |         a0 = 1;
    0x00409680 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x00409684 move t9, t8                   |         t9 = t8;
    0x00409688 jalr t9                       |         t9 ();
    0x0040968c nop                           |         
    0x00409690 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409694 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_wsc_mode_2 */
    0x00409698 addiu a0, t8, -0x94c          |         a0 = t8 + -0x94c;
    0x0040969c lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004096a0 move t9, t8                   |         t9 = t8;
    0x004096a4 jalr t9                       |         t9 ();
    0x004096a8 nop                           |         
    0x004096ac lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004096b0 addiu a0, zero, 1             |         a0 = 1;
    0x004096b4 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x004096b8 move t9, t8                   |         t9 = t8;
    0x004096bc jalr t9                       |         t9 ();
    0x004096c0 nop                           |         
    0x004096c4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004096c8 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_wsc_start */
    0x004096cc addiu a0, t8, -0x934          |         a0 = t8 + -0x934;
    0x004096d0 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004096d4 move t9, t8                   |         t9 = t8;
    0x004096d8 jalr t9                       |         t9 ();
    0x004096dc nop                           |         
    0x004096e0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004096e4 b 0x409bc8                    |         goto label_2;
    0x004096e8 nop                           |         
                                             |     }
    0x004096ec lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_ApCliEnable1 */
    0x004096f0 addiu a0, t8, -0x91c          |     a0 = t8 + -0x91c;
    0x004096f4 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x004096f8 move t9, t8                   |     t9 = t8;
    0x004096fc jalr t9                       |     t9 ();
    0x00409700 nop                           |     
    0x00409704 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409708 addiu a0, zero, 1             |     a0 = 1;
    0x0040970c lw t8, -0x7d1c(gp)            |     t8 = sym.imp.sleep;
    0x00409710 move t9, t8                   |     t9 = t8;
    0x00409714 jalr t9                       |     t9 ();
    0x00409718 nop                           |     
    0x0040971c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409720 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_WscConfMode1 */
    0x00409724 addiu a0, t8, -0x8fc          |     a0 = t8 + -0x8fc;
    0x00409728 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x0040972c move t9, t8                   |     t9 = t8;
    0x00409730 jalr t9                       |     t9 ();
    0x00409734 nop                           |     
    0x00409738 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040973c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_WscMode2 */
    0x00409740 addiu a0, t8, -0x8dc          |     a0 = t8 + -0x8dc;
    0x00409744 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409748 move t9, t8                   |     t9 = t8;
    0x0040974c jalr t9                       |     t9 ();
    0x00409750 nop                           |     
    0x00409754 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409758 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_WscStatus1 */
    0x0040975c addiu a0, t8, -0x8c0          |     a0 = t8 + -0x8c0;
    0x00409760 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409764 move t9, t8                   |     t9 = t8;
    0x00409768 jalr t9                       |     t9 ();
    0x0040976c nop                           |     
    0x00409770 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409774 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_WscGetConf1 */
    0x00409778 addiu a0, t8, -0x8a0          |     a0 = t8 + -0x8a0;
    0x0040977c lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00409780 move t9, t8                   |     t9 = t8;
    0x00409784 jalr t9                       |     t9 ();
    0x00409788 nop                           |     
    0x0040978c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00409790 addiu a0, zero, 1             |     a0 = 1;
    0x00409794 lw t8, -0x7d1c(gp)            |     t8 = sym.imp.sleep;
    0x00409798 move t9, t8                   |     t9 = t8;
    0x0040979c jalr t9                       |     t9 ();
    0x004097a0 nop                           |     
    0x004097a4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004097a8 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.iwpriv_apcli0_set_ApCliEnable1 */
    0x004097ac addiu a0, t8, -0x91c          |     a0 = t8 + -0x91c;
    0x004097b0 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x004097b4 move t9, t8                   |     t9 = t8;
    0x004097b8 jalr t9                       |     t9 ();
    0x004097bc nop                           |     
    0x004097c0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004097c4 addiu a0, zero, 1             |     a0 = 1;
    0x004097c8 lw t8, -0x7d1c(gp)            |     t8 = sym.imp.sleep;
    0x004097cc move t9, t8                   |     t9 = t8;
    0x004097d0 jalr t9                       |     t9 ();
    0x004097d4 nop                           |     
    0x004097d8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004097dc b 0x409bc8                    |     goto label_2;
    0x004097e0 nop                           |     
                                             |     do {
    0x004097e4 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x004097e8 lw t8, -0x7f4c(gp)            |         t8 = sym.wps_go_get_wps_status_int_;
    0x004097ec move t9, t8                   |         t9 = t8;
    0x004097f0 jalr t9                       |         t9 ();
    0x004097f4 nop                           |         
    0x004097f8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004097fc move t8, v0                   |         t8 = v0;
    0x00409800 sw t8, 0x20(fp)               |         *(arg_20h) = t8;
    0x00409804 lw t8, 0x20(fp)               |         t8 = *(arg_20h);
    0x00409808 addiu v0, zero, 5             |         v0 = 5;
                                             |         if (t8 != v0) {
    0x0040980c beq t8, v0, 0x409834          |             
    0x00409810 nop                           |             
    0x00409814 addiu v0, zero, 6             |             v0 = 6;
                                             |             if (t8 == v0) {
    0x00409818 beq t8, v0, 0x409a84          |                 goto label_3;
                                             |             }
    0x0040981c nop                           |             
    0x00409820 addiu v0, zero, 4             |             v0 = 4;
                                             |             if (t8 == v0) {
    0x00409824 beq t8, v0, 0x4099fc          |                 goto label_4;
                                             |             }
    0x00409828 nop                           |             
    0x0040982c b 0x409b0c                    |             goto label_5;
    0x00409830 nop                           |             
                                             |         }
    0x00409834 lw t8, -0x7f74(gp)            |         t8 = *((gp - 8157));
    0x00409838 lw t8, 0x23a4(t8)             |         t8 = *((t8 + 2281));
                                             |         if (t8 == 0) {
    0x0040983c bnez t8, 0x4098c4             |             
    0x00409840 nop                           |             
    0x00409844 addiu t8, fp, 0x24            |             t8 = fp + 0x24;
    0x00409848 move a0, t8                   |             a0 = t8;
    0x0040984c lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* aav.0x004085c0 */
    0x00409850 addiu t8, t8, -0x7a40         |             t8 += -0x7a40;
    0x00409854 move t9, t8                   |             t9 = t8;
    0x00409858 jalr t9                       |             t9 ();
    0x0040985c nop                           |             
    0x00409860 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00409864 move t8, v0                   |             t8 = v0;
    0x00409868 slt t8, zero, t8              |             t8 = (0 < t8) ? 1 : 0;
    0x0040986c andi t8, t8, 0xff             |             t8 &= 0xff;
                                             |             if (t8 != 0) {
    0x00409870 beqz t8, 0x4098a0             |                 
    0x00409874 nop                           |                 
    0x00409878 addiu t8, fp, 0x24            |                 t8 = fp + 0x24;
    0x0040987c move a0, t8                   |                 a0 = t8;
    0x00409880 lw t8, -0x7fd8(gp)            |                 t8 = *((gp - 8182));
                                             |                 /* aav.0x00408e30 */
    0x00409884 addiu t8, t8, -0x71d0         |                 t8 += -0x71d0;
    0x00409888 move t9, t8                   |                 t9 = t8;
    0x0040988c jalr t9                       |                 t9 ();
    0x00409890 nop                           |                 
    0x00409894 lw gp, 0x10(fp)               |                 gp = *(arg_10h);
    0x00409898 b 0x409974                    |                 goto label_6;
    0x0040989c nop                           |                 
                                             |             }
    0x004098a0 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* str.fail_to_update_tinyDB_ */
    0x004098a4 addiu a0, t8, -0x880          |             a0 = t8 + -0x880;
    0x004098a8 lw t8, -0x7e70(gp)            |             t8 = sym.imp.puts;
    0x004098ac move t9, t8                   |             t9 = t8;
    0x004098b0 jalr t9                       |             t9 ();
    0x004098b4 nop                           |             
    0x004098b8 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x004098bc b 0x409974                    |             goto label_6;
    0x004098c0 nop                           |             
                                             |         }
    0x004098c4 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_ra0_stat____etc_wsc_status.dat */
    0x004098c8 addiu a0, t8, -0x868          |         a0 = t8 + -0x868;
    0x004098cc lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004098d0 move t9, t8                   |         t9 = t8;
    0x004098d4 jalr t9                       |         t9 ();
    0x004098d8 nop                           |         
    0x004098dc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004098e0 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.echo_Channel_iwgetid___raw___channel_ra0______etc_wsc_status.dat */
    0x004098e4 addiu a0, t8, -0x840          |         a0 = t8 + -0x840;
    0x004098e8 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004098ec move t9, t8                   |         t9 = t8;
    0x004098f0 jalr t9                       |         t9 ();
    0x004098f4 nop                           |         
    0x004098f8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004098fc addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x00409900 move a0, t8                   |         a0 = t8;
    0x00409904 lw t8, -0x7fa0(gp)            |         t8 = *(gp);
                                             |         /* aav.0x00407f68 */
    0x00409908 addiu t8, t8, 0x7f68          |         t8 += 0x7f68;
    0x0040990c move t9, t8                   |         t9 = t8;
    0x00409910 jalr t9                       |         t9 ();
    0x00409914 nop                           |         
    0x00409918 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040991c move t8, v0                   |         t8 = v0;
    0x00409920 slt t8, zero, t8              |         t8 = (0 < t8) ? 1 : 0;
    0x00409924 andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 != 0) {
    0x00409928 beqz t8, 0x409958             |             
    0x0040992c nop                           |             
    0x00409930 addiu t8, fp, 0x24            |             t8 = fp + 0x24;
    0x00409934 move a0, t8                   |             a0 = t8;
    0x00409938 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* aav.0x00408e30 */
    0x0040993c addiu t8, t8, -0x71d0         |             t8 += -0x71d0;
    0x00409940 move t9, t8                   |             t9 = t8;
    0x00409944 jalr t9                       |             t9 ();
    0x00409948 nop                           |             
    0x0040994c lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00409950 b 0x409974                    |             goto label_6;
    0x00409954 nop                           |             
                                             |         }
    0x00409958 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.fail_to_update_tinyDB_ */
    0x0040995c addiu a0, t8, -0x880          |         a0 = t8 + -0x880;
    0x00409960 lw t8, -0x7e70(gp)            |         t8 = sym.imp.puts;
    0x00409964 move t9, t8                   |         t9 = t8;
    0x00409968 jalr t9                       |         t9 ();
    0x0040996c nop                           |         
    0x00409970 lw gp, 0x10(fp)               |         gp = *(arg_10h);
                                             | label_6:
    0x00409974 sb zero, 0x1b(fp)             |         *(arg_1bh) = 0;
    0x00409978 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_apcli0_set_WscConfMode0 */
    0x0040997c addiu a0, t8, -0x7fc          |         a0 = t8 + -0x7fc;
    0x00409980 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409984 move t9, t8                   |         t9 = t8;
    0x00409988 jalr t9                       |         t9 ();
    0x0040998c nop                           |         
    0x00409990 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409994 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x00409998 move a0, t8                   |         a0 = t8;
    0x0040999c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.send_cmd_watchdog__d__d */
    0x004099a0 addiu a1, t8, -0x7dc          |         a1 = t8 + -0x7dc;
    0x004099a4 addiu a2, zero, 0x264         |         a2 = 0x264;
    0x004099a8 addiu a3, zero, 2             |         a3 = 2;
    0x004099ac lw t8, -0x7e14(gp)            |         t8 = sym.imp.sprintf;
    0x004099b0 move t9, t8                   |         t9 = t8;
    0x004099b4 jalr t9                       |         t9 ();
    0x004099b8 nop                           |         
    0x004099bc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004099c0 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x004099c4 move a0, t8                   |         a0 = t8;
    0x004099c8 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x004099cc move t9, t8                   |         t9 = t8;
    0x004099d0 jalr t9                       |         t9 ();
    0x004099d4 nop                           |         
    0x004099d8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004099dc addiu a0, zero, 5             |         a0 = 5;
    0x004099e0 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x004099e4 move t9, t8                   |         t9 = t8;
    0x004099e8 jalr t9                       |         t9 ();
    0x004099ec nop                           |         
    0x004099f0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004099f4 b 0x409b28                    |         goto label_7;
    0x004099f8 nop                           |         
                                             | label_4:
    0x004099fc sb zero, 0x1b(fp)             |         *(arg_1bh) = 0;
    0x00409a00 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_apcli0_set_WscConfMode0 */
    0x00409a04 addiu a0, t8, -0x7fc          |         a0 = t8 + -0x7fc;
    0x00409a08 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409a0c move t9, t8                   |         t9 = t8;
    0x00409a10 jalr t9                       |         t9 ();
    0x00409a14 nop                           |         
    0x00409a18 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409a1c addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x00409a20 move a0, t8                   |         a0 = t8;
    0x00409a24 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.send_cmd_watchdog__d__d */
    0x00409a28 addiu a1, t8, -0x7dc          |         a1 = t8 + -0x7dc;
    0x00409a2c addiu a2, zero, 0x264         |         a2 = 0x264;
    0x00409a30 addiu a3, zero, 3             |         a3 = 3;
    0x00409a34 lw t8, -0x7e14(gp)            |         t8 = sym.imp.sprintf;
    0x00409a38 move t9, t8                   |         t9 = t8;
    0x00409a3c jalr t9                       |         t9 ();
    0x00409a40 nop                           |         
    0x00409a44 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409a48 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x00409a4c move a0, t8                   |         a0 = t8;
    0x00409a50 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409a54 move t9, t8                   |         t9 = t8;
    0x00409a58 jalr t9                       |         t9 ();
    0x00409a5c nop                           |         
    0x00409a60 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409a64 addiu a0, zero, 5             |         a0 = 5;
    0x00409a68 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x00409a6c move t9, t8                   |         t9 = t8;
    0x00409a70 jalr t9                       |         t9 ();
    0x00409a74 nop                           |         
    0x00409a78 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409a7c b 0x409b28                    |         goto label_7;
    0x00409a80 nop                           |         
                                             | label_3:
    0x00409a84 sb zero, 0x1b(fp)             |         *(arg_1bh) = 0;
    0x00409a88 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.iwpriv_apcli0_set_WscConfMode0 */
    0x00409a8c addiu a0, t8, -0x7fc          |         a0 = t8 + -0x7fc;
    0x00409a90 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409a94 move t9, t8                   |         t9 = t8;
    0x00409a98 jalr t9                       |         t9 ();
    0x00409a9c nop                           |         
    0x00409aa0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409aa4 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x00409aa8 move a0, t8                   |         a0 = t8;
    0x00409aac lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.send_cmd_watchdog__d__d */
    0x00409ab0 addiu a1, t8, -0x7dc          |         a1 = t8 + -0x7dc;
    0x00409ab4 addiu a2, zero, 0x264         |         a2 = 0x264;
    0x00409ab8 addiu a3, zero, 3             |         a3 = 3;
    0x00409abc lw t8, -0x7e14(gp)            |         t8 = sym.imp.sprintf;
    0x00409ac0 move t9, t8                   |         t9 = t8;
    0x00409ac4 jalr t9                       |         t9 ();
    0x00409ac8 nop                           |         
    0x00409acc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409ad0 addiu t8, fp, 0x354c          |         t8 = fp + 0x354c;
    0x00409ad4 move a0, t8                   |         a0 = t8;
    0x00409ad8 lw t8, -0x7d10(gp)            |         t8 = sym.imp.system
    0x00409adc move t9, t8                   |         t9 = t8;
    0x00409ae0 jalr t9                       |         t9 ();
    0x00409ae4 nop                           |         
    0x00409ae8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409aec addiu a0, zero, 5             |         a0 = 5;
    0x00409af0 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x00409af4 move t9, t8                   |         t9 = t8;
    0x00409af8 jalr t9                       |         t9 ();
    0x00409afc nop                           |         
    0x00409b00 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409b04 b 0x409b28                    |         goto label_7;
    0x00409b08 nop                           |         
                                             | label_5:
    0x00409b0c addiu a0, zero, 1             |         a0 = 1;
    0x00409b10 lw t8, -0x7d1c(gp)            |         t8 = sym.imp.sleep;
    0x00409b14 move t9, t8                   |         t9 = t8;
    0x00409b18 jalr t9                       |         t9 ();
    0x00409b1c nop                           |         
    0x00409b20 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409b24 nop                           |         
                                             | label_7:
    0x00409b28 move a0, zero                 |         a0 = 0;
    0x00409b2c lw t8, -0x7db0(gp)            |         t8 = sym.imp.time;
    0x00409b30 move t9, t8                   |         t9 = t8;
    0x00409b34 jalr t9                       |         t9 ();
    0x00409b38 nop                           |         
    0x00409b3c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00409b40 lw t8, -0x7f74(gp)            |         t8 = *((gp - 8157));
    0x00409b44 lw t8, 0x23a8(t8)             |         t8 = *((t8 + 2282));
    0x00409b48 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x00409b4c slti t8, t8, 0x6f             |         t8 = (t8 < 0x6f) ? 1 : 0;
    0x00409b50 xori t8, t8, 1                |         t8 ^= 1;
    0x00409b54 andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 != 0) {
    0x00409b58 beqz t8, 0x409bc8             |             
    0x00409b5c nop                           |             
    0x00409b60 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* str.iwpriv_apcli0_set_WscConfMode0 */
    0x00409b64 addiu a0, t8, -0x7fc          |             a0 = t8 + -0x7fc;
    0x00409b68 lw t8, -0x7d10(gp)            |             t8 = sym.imp.system
    0x00409b6c move t9, t8                   |             t9 = t8;
    0x00409b70 jalr t9                       |             t9 ();
    0x00409b74 nop                           |             
    0x00409b78 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00409b7c sb zero, 0x1b(fp)             |             *(arg_1bh) = 0;
    0x00409b80 addiu t8, fp, 0x354c          |             t8 = fp + 0x354c;
    0x00409b84 move a0, t8                   |             a0 = t8;
    0x00409b88 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* str.send_cmd_watchdog__d__d */
    0x00409b8c addiu a1, t8, -0x7dc          |             a1 = t8 + -0x7dc;
    0x00409b90 addiu a2, zero, 0x264         |             a2 = 0x264;
    0x00409b94 addiu a3, zero, 3             |             a3 = 3;
    0x00409b98 lw t8, -0x7e14(gp)            |             t8 = sym.imp.sprintf;
    0x00409b9c move t9, t8                   |             t9 = t8;
    0x00409ba0 jalr t9                       |             t9 ();
    0x00409ba4 nop                           |             
    0x00409ba8 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x00409bac addiu t8, fp, 0x354c          |             t8 = fp + 0x354c;
    0x00409bb0 move a0, t8                   |             a0 = t8;
    0x00409bb4 lw t8, -0x7d10(gp)            |             t8 = sym.imp.system
    0x00409bb8 move t9, t8                   |             t9 = t8;
    0x00409bbc jalr t9                       |             t9 ();
    0x00409bc0 nop                           |             
    0x00409bc4 lw gp, 0x10(fp)               |             gp = *(arg_10h);
                                             |         }
                                             | label_2:
    0x00409bc8 lbu t8, 0x1b(fp)              |         t8 = *(arg_1bh);
    0x00409bcc bnez t8, 0x4097e4             |         
                                             |     } while (t8 != 0);
    0x00409bd0 nop                           |     
    0x00409bd4 move t8, zero                 |     t8 = 0;
                                             | label_1:
    0x00409bd8 move v0, t8                   |     v0 = t8;
    0x00409bdc lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00409be0 lw v1, 0x394c(fp)             |     v1 = *(arg_394ch);
    0x00409be4 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00409be8 beq v1, t8, 0x409c80          |         
    0x00409bec nop                           |         
    0x00409bf0 b 0x409c70                    |         goto label_8;
    0x00409bf4 nop                           |         
                                             | label_8:
    0x00409c70 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00409c74 move t9, t8                   |         t9 = t8;
    0x00409c78 jalr t9                       |         t9 ();
    0x00409c7c nop                           |         
                                             |     }
    0x00409c80 move sp, fp                   |     
    0x00409c84 lw ra, 0x395c(sp)             |     ra = *(arg_395ch);
    0x00409c88 lw fp, 0x3958(sp)             |     fp = *(arg_3958h);
    0x00409c8c lw s0, 0x3954(sp)             |     s0 = *(arg_3954h);
    0x00409c90 addiu sp, sp, 0x3960          |     
    0x00409c94 jr ra                         |     return v1;
    0x00409c98 nop                           |     
                                             | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40d5c4 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.handleStaticClient_char_ ()          | void handleStaticClient_char_ () {
                                                     |     /* handleStaticClient(char*) */
    0x0040d5c4 lui gp, 2                             |     
    0x0040d5c8 addiu gp, gp, -0x3584                 |     
    0x0040d5cc addu gp, gp, t9                       |     gp += t9;
    0x0040d5d0 addiu sp, sp, -0x438                  |     
    0x0040d5d4 sw ra, 0x434(sp)                      |     *(var_434h) = ra;
    0x0040d5d8 sw fp, 0x430(sp)                      |     *(var_430h) = fp;
    0x0040d5dc move fp, sp                           |     fp = sp;
    0x0040d5e0 sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x0040d5e4 sw a0, 0x24(fp)                       |     *(arg_24h) = a0;
    0x0040d5e8 lw t8, -0x7d04(gp)                    |     t8 = *((gp - 8001));
    0x0040d5ec lw t8, (t8)                           |     t8 = *(t8);
    0x0040d5f0 sw t8, 0x42c(fp)                      |     *(arg_42ch) = t8;
    0x0040d5f4 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x0040d5f8 lw v0, -0x7ed8(gp)                    |     v0 = *(gp);
    0x0040d5fc sw v0, 0x10(sp)                       |     *(var_10h) = v0;
    0x0040d600 move a0, t8                           |     a0 = t8;
    0x0040d604 lw t8, -0x7fd8(gp)                    |     t8 = *((gp - 8182));
                                                     |     /* str.ifconfig__s__s_netmask__s */
    0x0040d608 addiu a1, t8, -0x454                  |     a1 = t8 + -0x454;
    0x0040d60c lw a2, 0x24(fp)                       |     a2 = *(arg_24h);
    0x0040d610 lw a3, -0x7edc(gp)                    |     a3 = *(gp);
    0x0040d614 lw t8, -0x7e14(gp)                    |     t8 = sym.imp.sprintf;
    0x0040d618 move t9, t8                           |     t9 = t8;
    0x0040d61c jalr t9                               |     t9 ();
    0x0040d620 nop                                   |     
    0x0040d624 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040d628 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x0040d62c move a0, t8                           |     a0 = t8;
    0x0040d630 lw t8, -0x7d10(gp)                    |     t8 = sym.imp.system
    0x0040d634 move t9, t8                           |     t9 = t8;
    0x0040d638 jalr t9                               |     t9 ();
    0x0040d63c nop                                   |     
    0x0040d640 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040d644 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x0040d648 move a0, t8                           |     a0 = t8;
    0x0040d64c lw t8, -0x7fd8(gp)                    |     t8 = *((gp - 8182));
                                                     |     /* str.route_add_default_gw__s__s */
    0x0040d650 addiu a1, t8, -0x438                  |     a1 = t8 + -0x438;
    0x0040d654 lw a2, -0x7ed4(gp)                    |     a2 = *(gp);
    0x0040d658 lw a3, 0x24(fp)                       |     a3 = *(arg_24h);
    0x0040d65c lw t8, -0x7e14(gp)                    |     t8 = sym.imp.sprintf;
    0x0040d660 move t9, t8                           |     t9 = t8;
    0x0040d664 jalr t9                               |     t9 ();
    0x0040d668 nop                                   |     
    0x0040d66c lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040d670 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x0040d674 move a0, t8                           |     a0 = t8;
    0x0040d678 lw t8, -0x7d10(gp)                    |     t8 = sym.imp.system
    0x0040d67c move t9, t8                           |     t9 = t8;
    0x0040d680 jalr t9                               |     t9 ();
    0x0040d684 nop                                   |     
    0x0040d688 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040d68c lw t8, -0x7eb8(gp)                    |     t8 = sym.handleDNS__;
    0x0040d690 move t9, t8                           |     t9 = t8;
    0x0040d694 jalr t9                               |     t9 ();
    0x0040d698 nop                                   |     
    0x0040d69c lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040d6a0 lw t8, -0x7d04(gp)                    |     t8 = *((gp - 8001));
    0x0040d6a4 lw v0, 0x42c(fp)                      |     v0 = *(arg_42ch);
    0x0040d6a8 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v0 != t8) {
    0x0040d6ac beq v0, t8, 0x40d6c4                  |         
    0x0040d6b0 nop                                   |         
    0x0040d6b4 lw t8, -0x7da8(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x0040d6b8 move t9, t8                           |         t9 = t8;
    0x0040d6bc jalr t9                               |         t9 ();
    0x0040d6c0 nop                                   |         
                                                     |     }
    0x0040d6c4 move sp, fp                           |     
    0x0040d6c8 lw ra, 0x434(sp)                      |     ra = *(var_434h);
    0x0040d6cc lw fp, 0x430(sp)                      |     fp = *(var_430h);
    0x0040d6d0 addiu sp, sp, 0x438                   |     
    0x0040d6d4 jr ra                                 |     return v0;
    0x0040d6d8 nop                                   |     
                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x404360 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handleStopAp__ ()            | void handleStopAp_ () {
                                             |     /* handleStopAp() */
    0x00404360 lui gp, 2                     |     
    0x00404364 addiu gp, gp, 0x5ce0          |     
    0x00404368 addu gp, gp, t9               |     gp += t9;
    0x0040436c addiu sp, sp, -0x1100         |     
    0x00404370 sw ra, 0x10fc(sp)             |     *(var_10fch) = ra;
    0x00404374 sw fp, 0x10f8(sp)             |     *(var_10f8h) = fp;
    0x00404378 sw s0, 0x10f4(sp)             |     *(var_10f4h) = s0;
    0x0040437c move fp, sp                   |     fp = sp;
    0x00404380 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00404384 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00404388 lw t8, (t8)                   |     t8 = *(t8);
    0x0040438c sw t8, 0x10ec(fp)             |     *(arg_10ech) = t8;
    0x00404390 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x00404394 move a0, t8                   |     a0 = t8;
    0x00404398 lw t8, -0x7fd0(gp)            |     t8 = *(gp);
    0x0040439c move t9, t8                   |     t9 = t8;
    0x004043a0 jalr t9                       |     t9 ();
    0x004043a4 nop                           |     
    0x004043a8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004043ac addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x004043b0 move a0, t8                   |     a0 = t8;
    0x004043b4 lw t8, -0x7cf8(gp)            |     t8 = *(gp);
    0x004043b8 move t9, t8                   |     t9 = t8;
    0x004043bc jalr t9                       |     t9 ();
    0x004043c0 nop                           |     
    0x004043c4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004043c8 addiu a0, zero, 0x1000        |     a0 = 0x1000;
    0x004043cc lw t8, -0x7d44(gp)            |     t8 = sym.imp.malloc;
    0x004043d0 move t9, t8                   |     t9 = t8;
    0x004043d4 jalr t9                       |     t9 ();
    0x004043d8 nop                           |     
    0x004043dc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004043e0 move t8, v0                   |     t8 = v0;
    0x004043e4 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x004043e8 lw t8, -0x7e1c(gp)            |     t8 = sym.imp.wifiCheckModule__;
    0x004043ec move t9, t8                   |     t9 = t8;
    0x004043f0 jalr t9                       |     t9 ();
    0x004043f4 nop                           |     
    0x004043f8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004043fc move t8, v0                   |     t8 = v0;
    0x00404400 sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x00404404 addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00404408 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0040440c lw a2, -0x1254(v0)            |     a2 = *((v0 - 1173));
                                             |     /* str._var_tmp_watchdog */
    0x00404410 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00404414 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
                                             |     /* str._var_tmp_watchdog */
    0x00404418 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x0040441c lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             |     /* str._var_tmp_watchdog */
    0x00404420 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00404424 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00404428 sw a2, (t8)                   |     *(t8) = a2;
    0x0040442c sw a1, 4(t8)                  |     *((t8 + 4)) = a1;
    0x00404430 sw a0, 8(t8)                  |     *((t8 + 8)) = a0;
    0x00404434 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
                                             |     /* str._var_tmp_watchdog */
    0x00404438 addiu v0, v0, -0x1254         |     v0 += -0x1254;
    0x0040443c lhu v0, 0x10(v0)              |     v0 = *((v0 + 8));
    0x00404440 sh v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00404444 addiu t8, fp, 0x109c          |     t8 = fp + 0x109c;
    0x00404448 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0040444c lw a3, -0x1154(v0)            |     a3 = *((v0 - 1109));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404450 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404454 lw a2, 4(v1)                  |     a2 = *((v1 + 1));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404458 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x0040445c lw a1, 8(v1)                  |     a1 = *((v1 + 2));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404460 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x00404464 lw a0, 0xc(v1)                |     a0 = *((v1 + 3));
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404468 addiu v1, v0, -0x1154         |     v1 = v0 + -0x1154;
    0x0040446c lw v1, 0x10(v1)               |     v1 = *((v1 + 4));
    0x00404470 sw a3, (t8)                   |     *(t8) = a3;
    0x00404474 sw a2, 4(t8)                  |     *((t8 + 4)) = a2;
    0x00404478 sw a1, 8(t8)                  |     *((t8 + 8)) = a1;
    0x0040447c sw a0, 0xc(t8)                |     *((t8 + 12)) = a0;
    0x00404480 sw v1, 0x10(t8)               |     *((t8 + 16)) = v1;
                                             |     /* str._var_tmp_watchAPCloud */
    0x00404484 addiu v0, v0, -0x1154         |     v0 += -0x1154;
    0x00404488 lhu v0, 0x14(v0)              |     v0 = *((v0 + 10));
    0x0040448c sh v0, 0x14(t8)               |     *((t8 + 20)) = v0;
    0x00404490 lw v0, 0x30(fp)               |     v0 = *(arg_30h);
    0x00404494 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != t8) {
    0x00404498 beq v0, t8, 0x404508          |         
    0x0040449c nop                           |         
    0x004044a0 addiu t8, fp, 0x109c          |         t8 = fp + 0x109c;
    0x004044a4 move a0, t8                   |         a0 = t8;
    0x004044a8 addiu a1, zero, 0x27c         |         a1 = 0x27c;
    0x004044ac move a2, zero                 |         a2 = 0;
    0x004044b0 move a3, zero                 |         a3 = 0;
    0x004044b4 lw t8, -0x7fc0(gp)            |         t8 = sym.sendCmd_char_const__int__int__int_;
    0x004044b8 move t9, t8                   |         t9 = t8;
    0x004044bc jalr t9                       |         t9 ();
    0x004044c0 nop                           |         
    0x004044c4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004044c8 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.wifi_tool_stop_ap_:_fail */
    0x004044cc addiu a0, t8, -0x113c         |         a0 = t8 + -0x113c;
    0x004044d0 lw t8, -0x7e70(gp)            |         t8 = sym.imp.puts;
    0x004044d4 move t9, t8                   |         t9 = t8;
    0x004044d8 jalr t9                       |         t9 ();
    0x004044dc nop                           |         
    0x004044e0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004044e4 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x004044e8 lw t8, -0x7e4c(gp)            |         t8 = sym.imp.free;
    0x004044ec move t9, t8                   |         t9 = t8;
    0x004044f0 jalr t9                       |         t9 ();
    0x004044f4 nop                           |         
    0x004044f8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004044fc move s0, zero                 |         s0 = 0;
    0x00404500 b 0x4049b8                    |         goto label_0;
    0x00404504 nop                           |         
                                             |     }
    0x00404508 lw t8, -0x7fb0(gp)            |     t8 = sym.getApLock__;
    0x0040450c move t9, t8                   |     t9 = t8;
    0x00404510 jalr t9                       |     t9 ();
    0x00404514 nop                           |     
    0x00404518 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040451c move t8, v0                   |     t8 = v0;
    0x00404520 sltu t8, zero, t8             |     t8 = (0 < t8) ? 1 : 0;
    0x00404524 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00404528 beqz t8, 0x404598             |         
    0x0040452c nop                           |         
    0x00404530 addiu t8, fp, 0x109c          |         t8 = fp + 0x109c;
    0x00404534 move a0, t8                   |         a0 = t8;
    0x00404538 addiu a1, zero, 0x27c         |         a1 = 0x27c;
    0x0040453c move a2, zero                 |         a2 = 0;
    0x00404540 move a3, zero                 |         a3 = 0;
    0x00404544 lw t8, -0x7fc0(gp)            |         t8 = sym.sendCmd_char_const__int__int__int_;
    0x00404548 move t9, t8                   |         t9 = t8;
    0x0040454c jalr t9                       |         t9 ();
    0x00404550 nop                           |         
    0x00404554 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404558 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.wifi_tool_stop_ap_:_fail */
    0x0040455c addiu a0, t8, -0x113c         |         a0 = t8 + -0x113c;
    0x00404560 lw t8, -0x7e70(gp)            |         t8 = sym.imp.puts;
    0x00404564 move t9, t8                   |         t9 = t8;
    0x00404568 jalr t9                       |         t9 ();
    0x0040456c nop                           |         
    0x00404570 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404574 lw a0, 0x2c(fp)               |         a0 = *(arg_2ch);
    0x00404578 lw t8, -0x7e4c(gp)            |         t8 = sym.imp.free;
    0x0040457c move t9, t8                   |         t9 = t8;
    0x00404580 jalr t9                       |         t9 ();
    0x00404584 nop                           |         
    0x00404588 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040458c move s0, zero                 |         s0 = 0;
    0x00404590 b 0x4049b8                    |         goto label_0;
    0x00404594 nop                           |         
                                             |     }
    0x00404598 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x0040459c lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x004045a0 move t9, t8                   |     t9 = t8;
    0x004045a4 jalr t9                       |     t9 ();
    0x004045a8 nop                           |     
    0x004045ac lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004045b0 move t8, v0                   |     t8 = v0;
    0x004045b4 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x004045b8 addu v0, v0, t8               |     v0 += t8;
    0x004045bc lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x004045c0 move v1, v0                   |     v1 = v0;
                                             |     /* str._ifdown_ra0____dev_null_2___dev_null__ */
    0x004045c4 addiu v0, t8, -0x1430         |     v0 = t8 + -0x1430;
    0x004045c8 addiu t8, zero, 0x27          |     t8 = 0x27;
    0x004045cc move a0, v1                   |     a0 = v1;
    0x004045d0 move a1, v0                   |     a1 = v0;
    0x004045d4 move a2, t8                   |     a2 = t8;
    0x004045d8 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x004045dc move t9, t8                   |     t9 = t8;
    0x004045e0 jalr t9                       |     t9 ();
    0x004045e4 nop                           |     
    0x004045e8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004045ec lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x004045f0 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x004045f4 move t9, t8                   |     t9 = t8;
    0x004045f8 jalr t9                       |     t9 ();
    0x004045fc nop                           |     
    0x00404600 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404604 move t8, v0                   |     t8 = v0;
    0x00404608 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x0040460c addu v0, v0, t8               |     v0 += t8;
    0x00404610 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404614 move v1, v0                   |     v1 = v0;
                                             |     /* str._ifconfig_ra0_down____dev_null_2___dev_null__ */
    0x00404618 addiu v0, t8, -0x1408         |     v0 = t8 + -0x1408;
    0x0040461c addiu t8, zero, 0x2e          |     t8 = 0x2e;
    0x00404620 move a0, v1                   |     a0 = v1;
    0x00404624 move a1, v0                   |     a1 = v0;
    0x00404628 move a2, t8                   |     a2 = t8;
    0x0040462c lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404630 move t9, t8                   |     t9 = t8;
    0x00404634 jalr t9                       |     t9 ();
    0x00404638 nop                           |     
    0x0040463c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404640 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404644 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00404648 move t9, t8                   |     t9 = t8;
    0x0040464c jalr t9                       |     t9 ();
    0x00404650 nop                           |     
    0x00404654 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404658 move t8, v0                   |     t8 = v0;
    0x0040465c lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404660 addu v0, v0, t8               |     v0 += t8;
    0x00404664 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404668 move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_udhcpd____dev_null_2___dev_null__ */
    0x0040466c addiu v0, t8, -0x1120         |     v0 = t8 + -0x1120;
    0x00404670 addiu t8, zero, 0x2b          |     t8 = 0x2b;
    0x00404674 move a0, v1                   |     a0 = v1;
    0x00404678 move a1, v0                   |     a1 = v0;
    0x0040467c move a2, t8                   |     a2 = t8;
    0x00404680 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00404684 move t9, t8                   |     t9 = t8;
    0x00404688 jalr t9                       |     t9 ();
    0x0040468c nop                           |     
    0x00404690 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404694 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404698 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x0040469c move t9, t8                   |     t9 = t8;
    0x004046a0 jalr t9                       |     t9 ();
    0x004046a4 nop                           |     
    0x004046a8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004046ac move t8, v0                   |     t8 = v0;
    0x004046b0 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x004046b4 addu v0, v0, t8               |     v0 += t8;
    0x004046b8 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x004046bc move v1, v0                   |     v1 = v0;
                                             |     /* str._rm__tmp_udhcpd.pid__tmp_udhcpd.leases_____dev_null_2___dev_null__ */
    0x004046c0 addiu v0, t8, -0x10f4         |     v0 = t8 + -0x10f4;
    0x004046c4 addiu t8, zero, 0x43          |     t8 = 0x43;
    0x004046c8 move a0, v1                   |     a0 = v1;
    0x004046cc move a1, v0                   |     a1 = v0;
    0x004046d0 move a2, t8                   |     a2 = t8;
    0x004046d4 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x004046d8 move t9, t8                   |     t9 = t8;
    0x004046dc jalr t9                       |     t9 ();
    0x004046e0 nop                           |     
    0x004046e4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004046e8 lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x004046ec lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x004046f0 move t9, t8                   |     t9 = t8;
    0x004046f4 jalr t9                       |     t9 ();
    0x004046f8 nop                           |     
    0x004046fc lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404700 move t8, v0                   |     t8 = v0;
    0x00404704 lw v0, 0x2c(fp)               |     v0 = *(arg_2ch);
    0x00404708 addu v0, v0, t8               |     v0 += t8;
    0x0040470c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00404710 move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_wpsApCheck.sh____dev_null_2___dev_null__ */
    0x00404714 addiu v0, t8, -0x10b0         |     v0 = t8 + -0x10b0;
    0x00404718 addiu t8, zero, 0x32          |     t8 = 0x32;
    0x0040471c move a0, v1                   |     a0 = v1;
    0x00404720 move a1, v0                   |     a1 = v0;
    0x00404724 move a2, t8                   |     a2 = t8;
    0x00404728 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x0040472c move t9, t8                   |     t9 = t8;
    0x00404730 jalr t9                       |     t9 ();
    0x00404734 nop                           |     
    0x00404738 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040473c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x00404740 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00404744 move t9, t8                   |     t9 = t8;
    0x00404748 jalr t9                       |     t9 ();
    0x0040474c nop                           |     
    0x00404750 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404754 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x00404758 move a0, t8                   |     a0 = t8;
    0x0040475c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.System */
    0x00404760 addiu a1, t8, -0x107c         |     a1 = t8 + -0x107c;
    0x00404764 move a2, zero                 |     a2 = 0;
    0x00404768 lw t8, -0x7e34(gp)            |     t8 = *(gp);
    0x0040476c move t9, t8                   |     t9 = t8;
    0x00404770 jalr t9                       |     t9 ();
    0x00404774 nop                           |     
    0x00404778 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040477c addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x00404780 move a0, t8                   |     a0 = t8;
    0x00404784 lw t8, -0x7e5c(gp)            |     t8 = *(gp);
    0x00404788 move t9, t8                   |     t9 = t8;
    0x0040478c jalr t9                       |     t9 ();
    0x00404790 nop                           |     
    0x00404794 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404798 addiu v0, fp, 0x24            |     v0 = fp + 0x24;
    0x0040479c addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x004047a0 move a0, v0                   |     a0 = v0;
    0x004047a4 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
                                             |     /* esilref: 'OEM' */
    0x004047a8 addiu a1, v0, -0x1074         |     a1 = v0 + -0x1074;
    0x004047ac move a2, t8                   |     a2 = t8;
    0x004047b0 lw t8, -0x7dcc(gp)            |     t8 = *(gp);
    0x004047b4 move t9, t8                   |     t9 = t8;
    0x004047b8 jalr t9                       |     t9 ();
    0x004047bc nop                           |     
    0x004047c0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004047c4 addiu v1, fp, 0x28            |     v1 = fp + 0x28;
    0x004047c8 addiu v0, fp, 0x34            |     v0 = fp + 0x34;
    0x004047cc addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x004047d0 move a0, v1                   |     a0 = v1;
    0x004047d4 move a1, v0                   |     a1 = v0;
    0x004047d8 move a2, t8                   |     a2 = t8;
    0x004047dc lw t8, -0x7dac(gp)            |     t8 = *(gp);
    0x004047e0 move t9, t8                   |     t9 = t8;
    0x004047e4 jalr t9                       |     t9 ();
    0x004047e8 nop                           |     
    0x004047ec lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004047f0 addiu v0, fp, 0x20            |     v0 = fp + 0x20;
    0x004047f4 addiu t8, fp, 0x28            |     t8 = fp + 0x28;
    0x004047f8 move a0, v0                   |     a0 = v0;
    0x004047fc move a1, t8                   |     a1 = t8;
    0x00404800 lw t8, -0x7e78(gp)            |     t8 = *(gp);
    0x00404804 move t9, t8                   |     t9 = t8;
    0x00404808 jalr t9                       |     t9 ();
    0x0040480c nop                           |     
    0x00404810 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404814 addiu t8, fp, 0x28            |     t8 = fp + 0x28;
    0x00404818 move a0, t8                   |     a0 = t8;
    0x0040481c lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x00404820 move t9, t8                   |     t9 = t8;
    0x00404824 jalr t9                       |     t9 ();
    0x00404828 nop                           |     
    0x0040482c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404830 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00404834 move a0, t8                   |     a0 = t8;
    0x00404838 lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x0040483c move t9, t8                   |     t9 = t8;
    0x00404840 jalr t9                       |     t9 ();
    0x00404844 nop                           |     
    0x00404848 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040484c addiu t8, fp, 0x1c            |     t8 = fp + 0x1c;
    0x00404850 move a0, t8                   |     a0 = t8;
    0x00404854 lw t8, -0x7e08(gp)            |     t8 = *(gp);
    0x00404858 move t9, t8                   |     t9 = t8;
    0x0040485c jalr t9                       |     t9 ();
    0x00404860 nop                           |     
    0x00404864 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404868 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x0040486c move a0, t8                   |     a0 = t8;
    0x00404870 lw t8, -0x7cf0(gp)            |     t8 = *(gp);
    0x00404874 move t9, t8                   |     t9 = t8;
    0x00404878 jalr t9                       |     t9 ();
    0x0040487c nop                           |     
    0x00404880 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404884 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00404888 move a0, t8                   |     a0 = t8;
    0x0040488c lw t8, -0x7d18(gp)            |     t8 = *(gp);
    0x00404890 move t9, t8                   |     t9 = t8;
    0x00404894 jalr t9                       |     t9 ();
    0x00404898 nop                           |     
    0x0040489c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004048a0 move t8, v0                   |     t8 = v0;
    0x004048a4 move a0, t8                   |     a0 = t8;
    0x004048a8 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.D_Link */
    0x004048ac addiu a1, t8, -0x1070         |     a1 = t8 + -0x1070;
    0x004048b0 lw t8, -0x7e40(gp)            |     t8 = sym.imp.strcmp;
    0x004048b4 move t9, t8                   |     t9 = t8;
    0x004048b8 jalr t9                       |     t9 ();
    0x004048bc nop                           |     
    0x004048c0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004048c4 move t8, v0                   |     t8 = v0;
    0x004048c8 sltiu t8, t8, 1               |     t8 = (t8 < 1) ? 1 : 0;
    0x004048cc andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x004048d0 beqz t8, 0x40494c             |         
    0x004048d4 nop                           |         
    0x004048d8 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x004048dc move a0, t8                   |         a0 = t8;
    0x004048e0 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* esilref: 'Wireless' */
    0x004048e4 addiu a1, t8, -0x144c         |         a1 = t8 + -0x144c;
    0x004048e8 move a2, zero                 |         a2 = 0;
    0x004048ec lw t8, -0x7e34(gp)            |         t8 = *(gp);
    0x004048f0 move t9, t8                   |         t9 = t8;
    0x004048f4 jalr t9                       |         t9 ();
    0x004048f8 nop                           |         
    0x004048fc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404900 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x00404904 move a0, t8                   |         a0 = t8;
    0x00404908 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
                                             |         /* str.AP_Enable */
    0x0040490c addiu a1, t8, -0x1068         |         a1 = t8 + -0x1068;
    0x00404910 move a2, zero                 |         a2 = 0;
    0x00404914 lw t8, -0x7ddc(gp)            |         t8 = *(gp);
    0x00404918 move t9, t8                   |         t9 = t8;
    0x0040491c jalr t9                       |         t9 ();
    0x00404920 nop                           |         
    0x00404924 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404928 addiu t8, fp, 0x34            |         t8 = fp + 0x34;
    0x0040492c move a0, t8                   |         a0 = t8;
    0x00404930 lw t8, -0x7cf0(gp)            |         t8 = *(gp);
    0x00404934 move t9, t8                   |         t9 = t8;
    0x00404938 jalr t9                       |         t9 ();
    0x0040493c nop                           |         
    0x00404940 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00404944 b 0x40499c                    |         goto label_1;
    0x00404948 nop                           |         
                                             |     }
    0x0040494c addiu t8, fp, 0x104c          |     t8 = fp + 0x104c;
    0x00404950 move a0, t8                   |     a0 = t8;
    0x00404954 addiu a1, zero, 0x27d         |     a1 = 0x27d;
    0x00404958 move a2, zero                 |     a2 = 0;
    0x0040495c move a3, zero                 |     a3 = 0;
    0x00404960 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00404964 move t9, t8                   |     t9 = t8;
    0x00404968 jalr t9                       |     t9 ();
    0x0040496c nop                           |     
    0x00404970 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404974 addiu t8, fp, 0x109c          |     t8 = fp + 0x109c;
    0x00404978 move a0, t8                   |     a0 = t8;
    0x0040497c addiu a1, zero, 0x27d         |     a1 = 0x27d;
    0x00404980 move a2, zero                 |     a2 = 0;
    0x00404984 move a3, zero                 |     a3 = 0;
    0x00404988 lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x0040498c move t9, t8                   |     t9 = t8;
    0x00404990 jalr t9                       |     t9 ();
    0x00404994 nop                           |     
    0x00404998 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_1:
    0x0040499c lw a0, 0x2c(fp)               |     a0 = *(arg_2ch);
    0x004049a0 lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x004049a4 move t9, t8                   |     t9 = t8;
    0x004049a8 jalr t9                       |     t9 ();
    0x004049ac nop                           |     
    0x004049b0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004049b4 addiu s0, zero, 1             |     s0 = 1;
                                             | label_0:
    0x004049b8 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x004049bc move a0, t8                   |     a0 = t8;
    0x004049c0 lw t8, -0x7d7c(gp)            |     t8 = *(gp);
    0x004049c4 move t9, t8                   |     t9 = t8;
    0x004049c8 jalr t9                       |     t9 ();
    0x004049cc nop                           |     
    0x004049d0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004049d4 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (s0 != t8) {
    0x004049d8 beq s0, t8, 0x4049ec          |         
    0x004049dc nop                           |         
    0x004049e0 move s0, zero                 |         s0 = 0;
    0x004049e4 b 0x4049f4                    |         goto label_2;
    0x004049e8 nop                           |         
                                             |     }
    0x004049ec nop                           |     
    0x004049f0 addiu s0, zero, 1             |     s0 = 1;
                                             | label_2:
    0x004049f4 addiu t8, fp, 0x34            |     t8 = fp + 0x34;
    0x004049f8 move a0, t8                   |     a0 = t8;
    0x004049fc lw t8, -0x7dfc(gp)            |     t8 = sym.imp.TinyDB::TinyDB__;
    0x00404a00 move t9, t8                   |     t9 = t8;
    0x00404a04 jalr t9                       |     t9 ();
    0x00404a08 nop                           |     
    0x00404a0c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00404a10 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (s0 == t8) {
    0x00404a14 bne s0, t8, 0x404b14          |         
    0x00404a18 nop                           |         
    0x00404a1c nop                           |         
    0x00404a20 b 0x404b14                    |         goto label_3;
    0x00404a24 nop                           |         
                                             |     }
                                             | label_3:
    0x00404b14 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00404b18 lw v0, 0x10ec(fp)             |     v0 = *(arg_10ech);
    0x00404b1c lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x00404b20 beq v0, t8, 0x404b38          |         
    0x00404b24 nop                           |         
    0x00404b28 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00404b2c move t9, t8                   |         t9 = t8;
    0x00404b30 jalr t9                       |         t9 ();
    0x00404b34 nop                           |         
                                             |     }
    0x00404b38 move sp, fp                   |     
    0x00404b3c lw ra, 0x10fc(sp)             |     ra = *(var_10fch);
    0x00404b40 lw fp, 0x10f8(sp)             |     fp = *(var_10f8h);
    0x00404b44 lw s0, 0x10f4(sp)             |     s0 = *(var_10f4h);
    0x00404b48 addiu sp, sp, 0x1100          |     
    0x00404b4c jr ra                         |     return v0;
    0x00404b50 nop                           |     
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x4036a4 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.handleStopClient__ ()        | void handleStopClient_ () {
                                             |     /* handleStopClient() */
    0x004036a4 lui gp, 2                     |     
    0x004036a8 addiu gp, gp, 0x699c          |     
    0x004036ac addu gp, gp, t9               |     gp += t9;
    0x004036b0 addiu sp, sp, -0x80           |     
    0x004036b4 sw ra, 0x7c(sp)               |     *(var_7ch) = ra;
    0x004036b8 sw fp, 0x78(sp)               |     *(var_78h) = fp;
    0x004036bc move fp, sp                   |     fp = sp;
    0x004036c0 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x004036c4 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x004036c8 lw t8, (t8)                   |     t8 = *(t8);
    0x004036cc sw t8, 0x74(fp)               |     *(arg_74h) = t8;
    0x004036d0 addiu a0, zero, 0x1000        |     a0 = 0x1000;
    0x004036d4 lw t8, -0x7d44(gp)            |     t8 = sym.imp.malloc;
    0x004036d8 move t9, t8                   |     t9 = t8;
    0x004036dc jalr t9                       |     t9 ();
    0x004036e0 nop                           |     
    0x004036e4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004036e8 move t8, v0                   |     t8 = v0;
    0x004036ec sw t8, 0x1c(fp)               |     *(arg_1ch) = t8;
    0x004036f0 lw t8, -0x7e1c(gp)            |     t8 = sym.imp.wifiCheckModule__;
    0x004036f4 move t9, t8                   |     t9 = t8;
    0x004036f8 jalr t9                       |     t9 ();
    0x004036fc nop                           |     
    0x00403700 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403704 move t8, v0                   |     t8 = v0;
    0x00403708 sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x0040370c lw t8, 0x20(fp)               |     t8 = *(arg_20h);
                                             |     if (t8 == 0) {
    0x00403710 bnez t8, 0x403870             |         
    0x00403714 nop                           |         
    0x00403718 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x0040371c lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403720 move t9, t8                   |         t9 = t8;
    0x00403724 jalr t9                       |         t9 ();
    0x00403728 nop                           |         
    0x0040372c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403730 move t8, v0                   |         t8 = v0;
    0x00403734 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403738 addu v0, v0, t8               |         v0 += t8;
    0x0040373c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403740 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifdown_ra0____dev_null_2___dev_null__ */
    0x00403744 addiu v0, t8, -0x1430         |         v0 = t8 + -0x1430;
    0x00403748 addiu t8, zero, 0x27          |         t8 = 0x27;
    0x0040374c move a0, v1                   |         a0 = v1;
    0x00403750 move a1, v0                   |         a1 = v0;
    0x00403754 move a2, t8                   |         a2 = t8;
    0x00403758 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x0040375c move t9, t8                   |         t9 = t8;
    0x00403760 jalr t9                       |         t9 ();
    0x00403764 nop                           |         
    0x00403768 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040376c lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403770 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403774 move t9, t8                   |         t9 = t8;
    0x00403778 jalr t9                       |         t9 ();
    0x0040377c nop                           |         
    0x00403780 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403784 move t8, v0                   |         t8 = v0;
    0x00403788 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x0040378c addu v0, v0, t8               |         v0 += t8;
    0x00403790 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403794 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifconfig_ra0_down____dev_null_2___dev_null__ */
    0x00403798 addiu v0, t8, -0x1408         |         v0 = t8 + -0x1408;
    0x0040379c addiu t8, zero, 0x2e          |         t8 = 0x2e;
    0x004037a0 move a0, v1                   |         a0 = v1;
    0x004037a4 move a1, v0                   |         a1 = v0;
    0x004037a8 move a2, t8                   |         a2 = t8;
    0x004037ac lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x004037b0 move t9, t8                   |         t9 = t8;
    0x004037b4 jalr t9                       |         t9 ();
    0x004037b8 nop                           |         
    0x004037bc lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004037c0 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x004037c4 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x004037c8 move t9, t8                   |         t9 = t8;
    0x004037cc jalr t9                       |         t9 ();
    0x004037d0 nop                           |         
    0x004037d4 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004037d8 move t8, v0                   |         t8 = v0;
    0x004037dc lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x004037e0 addu v0, v0, t8               |         v0 += t8;
    0x004037e4 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x004037e8 move v1, v0                   |         v1 = v0;
                                             |         /* str._send_cmd_watchdog_639____dev_null_2___dev_null__ */
    0x004037ec addiu v0, t8, -0x13d8         |         v0 = t8 + -0x13d8;
    0x004037f0 addiu t8, zero, 0x32          |         t8 = 0x32;
    0x004037f4 move a0, v1                   |         a0 = v1;
    0x004037f8 move a1, v0                   |         a1 = v0;
    0x004037fc move a2, t8                   |         a2 = t8;
    0x00403800 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403804 move t9, t8                   |         t9 = t8;
    0x00403808 jalr t9                       |         t9 ();
    0x0040380c nop                           |         
    0x00403810 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403814 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x00403818 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x0040381c move t9, t8                   |         t9 = t8;
    0x00403820 jalr t9                       |         t9 ();
    0x00403824 nop                           |         
    0x00403828 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040382c move t8, v0                   |         t8 = v0;
    0x00403830 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403834 addu v0, v0, t8               |         v0 += t8;
    0x00403838 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x0040383c move v1, v0                   |         v1 = v0;
                                             |         /* str.__etc_rc.d_init.d_wirelessDectd.sh_stop */
    0x00403840 addiu v0, t8, -0x13a4         |         v0 = t8 + -0x13a4;
    0x00403844 addiu t8, zero, 0x28          |         t8 = 0x28;
    0x00403848 move a0, v1                   |         a0 = v1;
    0x0040384c move a1, v0                   |         a1 = v0;
    0x00403850 move a2, t8                   |         a2 = t8;
    0x00403854 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403858 move t9, t8                   |         t9 = t8;
    0x0040385c jalr t9                       |         t9 ();
    0x00403860 nop                           |         
    0x00403864 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403868 b 0x4039d0                    |         goto label_0;
    0x0040386c nop                           |         
                                             |     }
    0x00403870 lw v0, 0x20(fp)               |     v0 = *(arg_20h);
    0x00403874 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x00403878 bne v0, t8, 0x403994          |         
    0x0040387c nop                           |         
    0x00403880 lw t8, -0x7fc4(gp)            |         t8 = sym.getClientLock__;
    0x00403884 move t9, t8                   |         t9 = t8;
    0x00403888 jalr t9                       |         t9 ();
    0x0040388c nop                           |         
    0x00403890 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403894 move t8, v0                   |         t8 = v0;
    0x00403898 sltu t8, zero, t8             |         t8 = (0 < t8) ? 1 : 0;
    0x0040389c andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 != 0) {
    0x004038a0 beqz t8, 0x4038e4             |             
    0x004038a4 nop                           |             
    0x004038a8 lw t8, -0x7fd8(gp)            |             t8 = *((gp - 8182));
                                             |             /* str.wifi_tool_stop_client_:_fail */
    0x004038ac addiu a0, t8, -0x137c         |             a0 = t8 + -0x137c;
    0x004038b0 lw t8, -0x7e70(gp)            |             t8 = sym.imp.puts;
    0x004038b4 move t9, t8                   |             t9 = t8;
    0x004038b8 jalr t9                       |             t9 ();
    0x004038bc nop                           |             
    0x004038c0 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x004038c4 lw a0, 0x1c(fp)               |             a0 = *(arg_1ch);
    0x004038c8 lw t8, -0x7e4c(gp)            |             t8 = sym.imp.free;
    0x004038cc move t9, t8                   |             t9 = t8;
    0x004038d0 jalr t9                       |             t9 ();
    0x004038d4 nop                           |             
    0x004038d8 lw gp, 0x10(fp)               |             gp = *(arg_10h);
    0x004038dc b 0x403bb8                    |             goto label_1;
    0x004038e0 nop                           |             
                                             |         }
    0x004038e4 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x004038e8 lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x004038ec move t9, t8                   |         t9 = t8;
    0x004038f0 jalr t9                       |         t9 ();
    0x004038f4 nop                           |         
    0x004038f8 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004038fc move t8, v0                   |         t8 = v0;
    0x00403900 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403904 addu v0, v0, t8               |         v0 += t8;
    0x00403908 lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x0040390c move v1, v0                   |         v1 = v0;
                                             |         /* str._ifdown_apcli0____dev_null_2___dev_null__ */
    0x00403910 addiu v0, t8, -0x135c         |         v0 = t8 + -0x135c;
    0x00403914 addiu t8, zero, 0x2a          |         t8 = 0x2a;
    0x00403918 move a0, v1                   |         a0 = v1;
    0x0040391c move a1, v0                   |         a1 = v0;
    0x00403920 move a2, t8                   |         a2 = t8;
    0x00403924 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x00403928 move t9, t8                   |         t9 = t8;
    0x0040392c jalr t9                       |         t9 ();
    0x00403930 nop                           |         
    0x00403934 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403938 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x0040393c lw t8, -0x7d58(gp)            |         t8 = sym.imp.strlen;
    0x00403940 move t9, t8                   |         t9 = t8;
    0x00403944 jalr t9                       |         t9 ();
    0x00403948 nop                           |         
    0x0040394c lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00403950 move t8, v0                   |         t8 = v0;
    0x00403954 lw v0, 0x1c(fp)               |         v0 = *(arg_1ch);
    0x00403958 addu v0, v0, t8               |         v0 += t8;
    0x0040395c lw t8, -0x7fd8(gp)            |         t8 = *((gp - 8182));
    0x00403960 move v1, v0                   |         v1 = v0;
                                             |         /* str._ifconfig_apcli0_down____dev_null_2___dev_null__ */
    0x00403964 addiu v0, t8, -0x1330         |         v0 = t8 + -0x1330;
    0x00403968 addiu t8, zero, 0x31          |         t8 = 0x31;
    0x0040396c move a0, v1                   |         a0 = v1;
    0x00403970 move a1, v0                   |         a1 = v0;
    0x00403974 move a2, t8                   |         a2 = t8;
    0x00403978 lw t8, -0x7d14(gp)            |         t8 = sym.imp.memcpy;
    0x0040397c move t9, t8                   |         t9 = t8;
    0x00403980 jalr t9                       |         t9 ();
    0x00403984 nop                           |         
    0x00403988 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x0040398c b 0x4039d0                    |         goto label_0;
    0x00403990 nop                           |         
                                             |     }
    0x00403994 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* str.wifi_tool_stop_client_:_fail */
    0x00403998 addiu a0, t8, -0x137c         |     a0 = t8 + -0x137c;
    0x0040399c lw t8, -0x7e70(gp)            |     t8 = sym.imp.puts;
    0x004039a0 move t9, t8                   |     t9 = t8;
    0x004039a4 jalr t9                       |     t9 ();
    0x004039a8 nop                           |     
    0x004039ac lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004039b0 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x004039b4 lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x004039b8 move t9, t8                   |     t9 = t8;
    0x004039bc jalr t9                       |     t9 ();
    0x004039c0 nop                           |     
    0x004039c4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004039c8 b 0x403bb8                    |     goto label_1;
    0x004039cc nop                           |     
                                             | label_0:
    0x004039d0 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x004039d4 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x004039d8 move t9, t8                   |     t9 = t8;
    0x004039dc jalr t9                       |     t9 ();
    0x004039e0 nop                           |     
    0x004039e4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004039e8 move t8, v0                   |     t8 = v0;
    0x004039ec lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x004039f0 addu v0, v0, t8               |     v0 += t8;
    0x004039f4 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x004039f8 move v1, v0                   |     v1 = v0;
                                             |     /* str._killall_udhcpc____dev_null_2___dev_null__ */
    0x004039fc addiu v0, t8, -0x12fc         |     v0 = t8 + -0x12fc;
    0x00403a00 addiu t8, zero, 0x2b          |     t8 = 0x2b;
    0x00403a04 move a0, v1                   |     a0 = v1;
    0x00403a08 move a1, v0                   |     a1 = v0;
    0x00403a0c move a2, t8                   |     a2 = t8;
    0x00403a10 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403a14 move t9, t8                   |     t9 = t8;
    0x00403a18 jalr t9                       |     t9 ();
    0x00403a1c nop                           |     
    0x00403a20 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403a24 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403a28 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403a2c move t9, t8                   |     t9 = t8;
    0x00403a30 jalr t9                       |     t9 ();
    0x00403a34 nop                           |     
    0x00403a38 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403a3c move t8, v0                   |     t8 = v0;
    0x00403a40 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403a44 addu v0, v0, t8               |     v0 += t8;
    0x00403a48 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403a4c move v1, v0                   |     v1 = v0;
                                             |     /* str.__etc_rc.d_init.d_zcip.sh_stop__ */
    0x00403a50 addiu v0, t8, -0x12d0         |     v0 = t8 + -0x12d0;
    0x00403a54 addiu t8, zero, 0x21          |     t8 = 0x21;
    0x00403a58 move a0, v1                   |     a0 = v1;
    0x00403a5c move a1, v0                   |     a1 = v0;
    0x00403a60 move a2, t8                   |     a2 = t8;
    0x00403a64 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403a68 move t9, t8                   |     t9 = t8;
    0x00403a6c jalr t9                       |     t9 ();
    0x00403a70 nop                           |     
    0x00403a74 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403a78 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403a7c lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403a80 move t9, t8                   |     t9 = t8;
    0x00403a84 jalr t9                       |     t9 ();
    0x00403a88 nop                           |     
    0x00403a8c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403a90 move t8, v0                   |     t8 = v0;
    0x00403a94 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403a98 addu v0, v0, t8               |     v0 += t8;
    0x00403a9c lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403aa0 move v1, v0                   |     v1 = v0;
                                             |     /* str.__etc_rc.d_init.d_wifiAutoReconnect.sh_stop__ */
    0x00403aa4 addiu v0, t8, -0x12ac         |     v0 = t8 + -0x12ac;
    0x00403aa8 addiu t8, zero, 0x2e          |     t8 = 0x2e;
    0x00403aac move a0, v1                   |     a0 = v1;
    0x00403ab0 move a1, v0                   |     a1 = v0;
    0x00403ab4 move a2, t8                   |     a2 = t8;
    0x00403ab8 lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403abc move t9, t8                   |     t9 = t8;
    0x00403ac0 jalr t9                       |     t9 ();
    0x00403ac4 nop                           |     
    0x00403ac8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403acc lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403ad0 lw t8, -0x7d58(gp)            |     t8 = sym.imp.strlen;
    0x00403ad4 move t9, t8                   |     t9 = t8;
    0x00403ad8 jalr t9                       |     t9 ();
    0x00403adc nop                           |     
    0x00403ae0 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403ae4 move t8, v0                   |     t8 = v0;
    0x00403ae8 lw v0, 0x1c(fp)               |     v0 = *(arg_1ch);
    0x00403aec addu v0, v0, t8               |     v0 += t8;
    0x00403af0 lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
    0x00403af4 move v1, v0                   |     v1 = v0;
                                             |     /* str.__etc_rc.d_init.d_upnp_av.sh_restart */
    0x00403af8 addiu v0, t8, -0x127c         |     v0 = t8 + -0x127c;
    0x00403afc addiu t8, zero, 0x25          |     t8 = 0x25;
    0x00403b00 move a0, v1                   |     a0 = v1;
    0x00403b04 move a1, v0                   |     a1 = v0;
    0x00403b08 move a2, t8                   |     a2 = t8;
    0x00403b0c lw t8, -0x7d14(gp)            |     t8 = sym.imp.memcpy;
    0x00403b10 move t9, t8                   |     t9 = t8;
    0x00403b14 jalr t9                       |     t9 ();
    0x00403b18 nop                           |     
    0x00403b1c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403b20 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403b24 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x00403b28 move t9, t8                   |     t9 = t8;
    0x00403b2c jalr t9                       |     t9 ();
    0x00403b30 nop                           |     
    0x00403b34 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403b38 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00403b3c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00403b40 lw a2, -0x1254(v0)            |     a2 = *((v0 - 1173));
                                             |     /* str._var_tmp_watchdog */
    0x00403b44 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403b48 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
                                             |     /* str._var_tmp_watchdog */
    0x00403b4c addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403b50 lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             |     /* str._var_tmp_watchdog */
    0x00403b54 addiu v1, v0, -0x1254         |     v1 = v0 + -0x1254;
    0x00403b58 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00403b5c sw a2, (t8)                   |     *(t8) = a2;
    0x00403b60 sw a1, 4(t8)                  |     *((t8 + 4)) = a1;
    0x00403b64 sw a0, 8(t8)                  |     *((t8 + 8)) = a0;
    0x00403b68 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
                                             |     /* str._var_tmp_watchdog */
    0x00403b6c addiu v0, v0, -0x1254         |     v0 += -0x1254;
    0x00403b70 lhu v0, 0x10(v0)              |     v0 = *((v0 + 8));
    0x00403b74 sh v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00403b78 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00403b7c move a0, t8                   |     a0 = t8;
    0x00403b80 addiu a1, zero, 0x27f         |     a1 = 0x27f;
    0x00403b84 move a2, zero                 |     a2 = 0;
    0x00403b88 move a3, zero                 |     a3 = 0;
    0x00403b8c lw t8, -0x7fc0(gp)            |     t8 = sym.sendCmd_char_const__int__int__int_;
    0x00403b90 move t9, t8                   |     t9 = t8;
    0x00403b94 jalr t9                       |     t9 ();
    0x00403b98 nop                           |     
    0x00403b9c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00403ba0 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00403ba4 lw t8, -0x7e4c(gp)            |     t8 = sym.imp.free;
    0x00403ba8 move t9, t8                   |     t9 = t8;
    0x00403bac jalr t9                       |     t9 ();
    0x00403bb0 nop                           |     
    0x00403bb4 lw gp, 0x10(fp)               |     gp = *(arg_10h);
                                             | label_1:
    0x00403bb8 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x00403bbc lw v0, 0x74(fp)               |     v0 = *(arg_74h);
    0x00403bc0 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x00403bc4 beq v0, t8, 0x403bdc          |         
    0x00403bc8 nop                           |         
    0x00403bcc lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00403bd0 move t9, t8                   |         t9 = t8;
    0x00403bd4 jalr t9                       |         t9 ();
    0x00403bd8 nop                           |         
                                             |     }
    0x00403bdc move sp, fp                   |     
    0x00403be0 lw ra, 0x7c(sp)               |     ra = *(var_7ch);
    0x00403be4 lw fp, 0x78(sp)               |     fp = *(var_78h);
    0x00403be8 addiu sp, sp, 0x80            |     
    0x00403bec jr ra                         |     return v0;
    0x00403bf0 nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40d7e8 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.linkLocalIPOK_char_ ()           | void linkLocalIPOK_char_ () {
                                                 |     /* linkLocalIPOK(char*) */
    0x0040d7e8 lui gp, 2                         |     
    0x0040d7ec addiu gp, gp, -0x37a8             |     
    0x0040d7f0 addu gp, gp, t9                   |     gp += t9;
    0x0040d7f4 addiu sp, sp, -0x430              |     
    0x0040d7f8 sw ra, 0x42c(sp)                  |     *(var_42ch) = ra;
    0x0040d7fc sw fp, 0x428(sp)                  |     *(var_428h) = fp;
    0x0040d800 move fp, sp                       |     fp = sp;
    0x0040d804 sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x0040d808 sw a0, 0x1c(fp)                   |     *(arg_1ch) = a0;
    0x0040d80c lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040d810 lw t8, (t8)                       |     t8 = *(t8);
    0x0040d814 sw t8, 0x424(fp)                  |     *(arg_424h) = t8;
    0x0040d818 lw t8, -0x7ee0(gp)                |     t8 = *(gp);
    0x0040d81c lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (t8 != 0) {
    0x0040d820 beqz t8, 0x40d878                 |         
    0x0040d824 nop                               |         
    0x0040d828 addiu t8, fp, 0x24                |         t8 = fp + 0x24;
    0x0040d82c move a0, t8                       |         a0 = t8;
    0x0040d830 lw t8, -0x7fd8(gp)                |         t8 = *((gp - 8182));
                                                 |         /* str.median_s__etc_rc.d_init.d_zcip.sh_restart */
    0x0040d834 addiu a1, t8, -0x41c              |         a1 = t8 + -0x41c;
    0x0040d838 lw a2, 0x1c(fp)                   |         a2 = *(arg_1ch);
    0x0040d83c lw t8, -0x7e14(gp)                |         t8 = sym.imp.sprintf;
    0x0040d840 move t9, t8                       |         t9 = t8;
    0x0040d844 jalr t9                           |         t9 ();
    0x0040d848 nop                               |         
    0x0040d84c lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040d850 addiu t8, fp, 0x24                |         t8 = fp + 0x24;
    0x0040d854 move a0, t8                       |         a0 = t8;
    0x0040d858 lw t8, -0x7d10(gp)                |         t8 = sym.imp.system
    0x0040d85c move t9, t8                       |         t9 = t8;
    0x0040d860 jalr t9                           |         t9 ();
    0x0040d864 nop                               |         
    0x0040d868 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040d86c addiu t8, zero, 1                 |         t8 = 1;
    0x0040d870 b 0x40d87c                        |         goto label_0;
    0x0040d874 nop                               |         
                                                 |     }
    0x0040d878 move t8, zero                     |     t8 = 0;
                                                 | label_0:
    0x0040d87c move v0, t8                       |     v0 = t8;
    0x0040d880 lw t8, -0x7d04(gp)                |     t8 = *((gp - 8001));
    0x0040d884 lw v1, 0x424(fp)                  |     v1 = *(arg_424h);
    0x0040d888 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v1 != t8) {
    0x0040d88c beq v1, t8, 0x40d8a4              |         
    0x0040d890 nop                               |         
    0x0040d894 lw t8, -0x7da8(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x0040d898 move t9, t8                       |         t9 = t8;
    0x0040d89c jalr t9                           |         t9 ();
    0x0040d8a0 nop                               |         
                                                 |     }
    0x0040d8a4 move sp, fp                       |     
    0x0040d8a8 lw ra, 0x42c(sp)                  |     ra = *(var_42ch);
    0x0040d8ac lw fp, 0x428(sp)                  |     fp = *(var_428h);
    0x0040d8b0 addiu sp, sp, 0x430               |     
    0x0040d8b4 jr ra                             |     return v1;
    0x0040d8b8 nop                               |     
                                                 | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifi-tool @ 0x40bf8c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.set_local_char_ ()           | void set_local_char_ () {
                                             |     /* set_local(char*) */
    0x0040bf8c lui gp, 2                     |     
    0x0040bf90 addiu gp, gp, -0x1f4c         |     
    0x0040bf94 addu gp, gp, t9               |     gp += t9;
    0x0040bf98 addiu sp, sp, -0x438          |     
    0x0040bf9c sw ra, 0x434(sp)              |     *(var_434h) = ra;
    0x0040bfa0 sw fp, 0x430(sp)              |     *(var_430h) = fp;
    0x0040bfa4 move fp, sp                   |     fp = sp;
    0x0040bfa8 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x0040bfac sw a0, 0x24(fp)               |     *(arg_24h) = a0;
    0x0040bfb0 lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040bfb4 lw t8, (t8)                   |     t8 = *(t8);
    0x0040bfb8 sw t8, 0x42c(fp)              |     *(arg_42ch) = t8;
    0x0040bfbc addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040bfc0 lw v0, -0x7f04(gp)            |     v0 = *(gp);
    0x0040bfc4 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0040bfc8 move a0, t8                   |     a0 = t8;
    0x0040bfcc lw t8, -0x7fd8(gp)            |     t8 = *((gp - 8182));
                                             |     /* esilref: 'ifconfig &s &s netmask &s' */
    0x0040bfd0 addiu a1, t8, -0x640          |     a1 = t8 + -0x640;
    0x0040bfd4 lw a2, 0x24(fp)               |     a2 = *(arg_24h);
    0x0040bfd8 lw a3, -0x7f08(gp)            |     a3 = *(gp);
    0x0040bfdc lw t8, -0x7e14(gp)            |     t8 = sym.imp.sprintf;
    0x0040bfe0 move t9, t8                   |     t9 = t8;
    0x0040bfe4 jalr t9                       |     t9 ();
    0x0040bfe8 nop                           |     
    0x0040bfec lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040bff0 addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x0040bff4 move a0, t8                   |     a0 = t8;
    0x0040bff8 lw t8, -0x7d10(gp)            |     t8 = sym.imp.system
    0x0040bffc move t9, t8                   |     t9 = t8;
    0x0040c000 jalr t9                       |     t9 ();
    0x0040c004 nop                           |     
    0x0040c008 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040c00c lw t8, -0x7d04(gp)            |     t8 = *((gp - 8001));
    0x0040c010 lw v0, 0x42c(fp)              |     v0 = *(arg_42ch);
    0x0040c014 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v0 != t8) {
    0x0040c018 beq v0, t8, 0x40c030          |         
    0x0040c01c nop                           |         
    0x0040c020 lw t8, -0x7da8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x0040c024 move t9, t8                   |         t9 = t8;
    0x0040c028 jalr t9                       |         t9 ();
    0x0040c02c nop                           |         
                                             |     }
    0x0040c030 move sp, fp                   |     
    0x0040c034 lw ra, 0x434(sp)              |     ra = *(var_434h);
    0x0040c038 lw fp, 0x430(sp)              |     fp = *(var_430h);
    0x0040c03c addiu sp, sp, 0x438           |     
    0x0040c040 jr ra                         |     return v0;
    0x0040c044 nop                           |     
                                             | }

[*] Function system used 50 times wifi-tool