[*] Binary protection state of wifiAutoReconnect

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


[*] Function system tear down of wifiAutoReconnect

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wifiAutoReconnect @ 0x405714 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00405714 lui gp, 2                     |     
    0x00405718 addiu gp, gp, -0x6e4          |     
    0x0040571c addu gp, gp, t9               |     gp += t9;
    0x00405720 addiu sp, sp, -0xf8           |     
    0x00405724 sw ra, 0xf4(sp)               |     *(var_f4h) = ra;
    0x00405728 sw fp, 0xf0(sp)               |     *(var_f0h) = fp;
    0x0040572c move fp, sp                   |     fp = sp;
    0x00405730 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00405734 lw t8, -0x7dd0(gp)            |     t8 = *((gp - 8052));
    0x00405738 lw t8, (t8)                   |     t8 = *(t8);
    0x0040573c sw t8, 0xec(fp)               |     *(arg_ech) = t8;
    0x00405740 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00405744 sw zero, 0x2c(fp)             |     *(arg_2ch) = 0;
    0x00405748 sw zero, 0x30(fp)             |     *(arg_30h) = 0;
    0x0040574c addiu v0, fp, 0x5c            |     v0 = fp + 0x5c;
    0x00405750 addiu t8, zero, 0x40          |     t8 = 0x40;
    0x00405754 move a0, v0                   |     a0 = v0;
    0x00405758 move a1, zero                 |     a1 = 0;
    0x0040575c move a2, t8                   |     a2 = t8;
    0x00405760 lw t8, -0x7ea4(gp)            |     t8 = sym.imp.memset;
    0x00405764 move t9, t8                   |     t9 = t8;
    0x00405768 jalr t9                       |     t9 ();
    0x0040576c nop                           |     
    0x00405770 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405774 sw zero, 0x34(fp)             |     *(arg_34h) = 0;
    0x00405778 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._tmp_setting_network.flag */
    0x0040577c addiu a0, t8, -0x508c         |     a0 = t8 + -0x508c;
    0x00405780 lw t8, -0x7de4(gp)            |     t8 = sym.imp.exist_char_const_;
    0x00405784 move t9, t8                   |     t9 = t8;
    0x00405788 jalr t9                       |     t9 ();
    0x0040578c nop                           |     
    0x00405790 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405794 move t8, v0                   |     t8 = v0;
    0x00405798 sltu t8, zero, t8             |     t8 = (0 < t8) ? 1 : 0;
    0x0040579c andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x004057a0 beqz t8, 0x4057d0             |         
    0x004057a4 nop                           |         
    0x004057a8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_setting_network.flag */
    0x004057ac addiu a0, t8, -0x508c         |         a0 = t8 + -0x508c;
    0x004057b0 lw t8, -0x7e9c(gp)            |         t8 = sym.imp.unlink;
    0x004057b4 move t9, t8                   |         t9 = t8;
    0x004057b8 jalr t9                       |         t9 ();
    0x004057bc nop                           |         
    0x004057c0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004057c4 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x004057c8 addiu v0, zero, 1             |         v0 = 1;
    0x004057cc sw v0, -0x2868(t8)            |         *((t8 - 10344)) = v0;
                                             |     }
    0x004057d0 lw t8, -0x7f68(gp)            |     t8 = sym.configure__;
    0x004057d4 move t9, t8                   |     t9 = t8;
    0x004057d8 jalr t9                       |     t9 ();
    0x004057dc nop                           |     
    0x004057e0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004057e4 addiu t8, fp, 0x9c            |     t8 = fp + 0x9c;
    0x004057e8 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
    0x004057ec lw a2, -0x531c(v0)            |     a2 = *((v0 - 5319));
                                             |     /* str._var_tmp_watchdog */
    0x004057f0 addiu v1, v0, -0x531c         |     v1 = v0 + -0x531c;
    0x004057f4 lw a1, 4(v1)                  |     a1 = *((v1 + 1));
                                             |     /* str._var_tmp_watchdog */
    0x004057f8 addiu v1, v0, -0x531c         |     v1 = v0 + -0x531c;
    0x004057fc lw a0, 8(v1)                  |     a0 = *((v1 + 2));
                                             |     /* str._var_tmp_watchdog */
    0x00405800 addiu v1, v0, -0x531c         |     v1 = v0 + -0x531c;
    0x00405804 lw v1, 0xc(v1)                |     v1 = *((v1 + 3));
    0x00405808 sw a2, (t8)                   |     *(t8) = a2;
    0x0040580c sw a1, 4(t8)                  |     *((t8 + 4)) = a1;
    0x00405810 sw a0, 8(t8)                  |     *((t8 + 8)) = a0;
    0x00405814 sw v1, 0xc(t8)                |     *((t8 + 12)) = v1;
                                             |     /* str._var_tmp_watchdog */
    0x00405818 addiu v0, v0, -0x531c         |     v0 += -0x531c;
    0x0040581c lhu v0, 0x10(v0)              |     v0 = *((v0 + 8));
    0x00405820 sh v0, 0x10(t8)               |     *((t8 + 16)) = v0;
    0x00405824 addiu a0, zero, 0x10          |     a0 = 0x10;
    0x00405828 lw a1, -0x7f64(gp)            |     a1 = sym.wifiAutoReconnectSighandler_int_;
    0x0040582c lw t8, -0x7f1c(gp)            |     t8 = sym.imp.signal;
    0x00405830 move t9, t8                   |     t9 = t8;
    0x00405834 jalr t9                       |     t9 ();
    0x00405838 nop                           |     
    0x0040583c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405840 addiu a0, zero, 0x11          |     a0 = 0x11;
    0x00405844 lw a1, -0x7f64(gp)            |     a1 = sym.wifiAutoReconnectSighandler_int_;
    0x00405848 lw t8, -0x7f1c(gp)            |     t8 = sym.imp.signal;
    0x0040584c move t9, t8                   |     t9 = t8;
    0x00405850 jalr t9                       |     t9 ();
    0x00405854 nop                           |     
    0x00405858 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040585c addiu a0, zero, 0xf           |     a0 = 0xf;
    0x00405860 lw a1, -0x7f64(gp)            |     a1 = sym.wifiAutoReconnectSighandler_int_;
    0x00405864 lw t8, -0x7f1c(gp)            |     t8 = sym.imp.signal;
    0x00405868 move t9, t8                   |     t9 = t8;
    0x0040586c jalr t9                       |     t9 ();
    0x00405870 nop                           |     
    0x00405874 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405878 lw t8, -0x7f60(gp)            |     t8 = sym.isMtkWifi__;
    0x0040587c move t9, t8                   |     t9 = t8;
    0x00405880 jalr t9                       |     t9 ();
    0x00405884 nop                           |     
    0x00405888 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x0040588c move t8, v0                   |     t8 = v0;
    0x00405890 sw t8, 0x34(fp)               |     *(arg_34h) = t8;
    0x00405894 lw t8, 0x34(fp)               |     t8 = *(arg_34h);
    0x00405898 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x0040589c lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x004058a0 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._s__d__is_mtk_wifi___d_n */
    0x004058a4 addiu a1, t8, -0x5070         |     a1 = t8 + -0x5070;
    0x004058a8 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str.main */
    0x004058ac addiu a2, t8, -0x4a5c         |     a2 = t8 + -0x4a5c;
    0x004058b0 addiu a3, zero, 0x322         |     a3 = 0x322;
    0x004058b4 lw t8, -0x7e38(gp)            |     t8 = *(gp);
    0x004058b8 move t9, t8                   |     t9 = t8;
    0x004058bc jalr t9                       |     t9 ();
    0x004058c0 nop                           |     
    0x004058c4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004058c8 addiu t8, zero, 0x22          |     t8 = 0x22;
    0x004058cc addiu v0, fp, 0x38            |     v0 = fp + 0x38;
    0x004058d0 move a0, v0                   |     a0 = v0;
    0x004058d4 move a1, t8                   |     a1 = t8;
    0x004058d8 lw t8, -0x7eb4(gp)            |     t8 = sym.imp.bzero;
    0x004058dc move t9, t8                   |     t9 = t8;
    0x004058e0 jalr t9                       |     t9 ();
    0x004058e4 nop                           |     
    0x004058e8 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004058ec addiu t8, fp, 0x38            |     t8 = fp + 0x38;
    0x004058f0 lw v0, -0x7fd4(gp)            |     v0 = *((gp - 8181));
                                             |     /* str.wlan0 */
    0x004058f4 addiu a0, v0, -0x5054         |     a0 = v0 + -0x5054;
    0x004058f8 move a1, t8                   |     a1 = t8;
    0x004058fc addiu a2, zero, 0x22          |     a2 = 0x22;
    0x00405900 lw t8, -0x7e10(gp)            |     t8 = sym.imp.get_essid_char_const__char__int_;
    0x00405904 move t9, t8                   |     t9 = t8;
    0x00405908 jalr t9                       |     t9 ();
    0x0040590c nop                           |     
    0x00405910 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405914 move t8, v0                   |     t8 = v0;
                                             |     if (t8 == 0) {
    0x00405918 bnez t8, 0x405958             |         
    0x0040591c nop                           |         
    0x00405920 addiu t8, fp, 0x38            |         t8 = fp + 0x38;
    0x00405924 move a0, t8                   |         a0 = t8;
    0x00405928 lw a1, -0x7fc0(gp)            |         a1 = *(gp);
    0x0040592c lw t8, -0x7ee8(gp)            |         t8 = sym.imp.strcmp;
    0x00405930 move t9, t8                   |         t9 = t8;
    0x00405934 jalr t9                       |         t9 ();
    0x00405938 nop                           |         
    0x0040593c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405940 move t8, v0                   |         t8 = v0;
                                             |         if (t8 != 0) {
    0x00405944 bnez t8, 0x405958             |             goto label_1;
                                             |         }
    0x00405948 nop                           |         
    0x0040594c addiu t8, zero, 1             |         t8 = 1;
    0x00405950 b 0x40595c                    |         goto label_2;
    0x00405954 nop                           |         
                                             |     }
                                             | label_1:
    0x00405958 move t8, zero                 |     t8 = 0;
                                             |     if (t8 != 0) {
                                             | label_2:
    0x0040595c beqz t8, 0x4059c0             |         
    0x00405960 nop                           |         
    0x00405964 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405968 addiu v0, zero, 1             |         v0 = 1;
    0x0040596c sw v0, -0x287c(t8)            |         *((t8 - 10364)) = v0;
    0x00405970 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405974 addiu v0, zero, 1             |         v0 = 1;
    0x00405978 sw v0, -0x2880(t8)            |         *((t8 - 10368)) = v0;
    0x0040597c move a0, zero                 |         a0 = 0;
    0x00405980 lw t8, -0x7e68(gp)            |         t8 = sym.imp.time;
    0x00405984 move t9, t8                   |         t9 = t8;
    0x00405988 jalr t9                       |         t9 ();
    0x0040598c nop                           |         
    0x00405990 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405994 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405998 sw v0, -0x2878(t8)            |         *((t8 - 10360)) = v0;
    0x0040599c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_wifiConnected */
    0x004059a0 addiu a0, t8, -0x5210         |         a0 = t8 + -0x5210;
    0x004059a4 lw t8, -0x7eec(gp)            |         t8 = sym.imp.touch_char_const_;
    0x004059a8 move t9, t8                   |         t9 = t8;
    0x004059ac jalr t9                       |         t9 ();
    0x004059b0 nop                           |         
    0x004059b4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004059b8 b 0x405a0c                    |         goto label_3;
    0x004059bc nop                           |         
                                             |     }
    0x004059c0 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x004059c4 sw zero, -0x287c(t8)          |     *((t8 - 10364)) = 0;
    0x004059c8 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x004059cc sw zero, -0x2880(t8)          |     *((t8 - 10368)) = 0;
    0x004059d0 move a0, zero                 |     a0 = 0;
    0x004059d4 lw t8, -0x7e68(gp)            |     t8 = sym.imp.time;
    0x004059d8 move t9, t8                   |     t9 = t8;
    0x004059dc jalr t9                       |     t9 ();
    0x004059e0 nop                           |     
    0x004059e4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004059e8 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x004059ec sw v0, -0x2874(t8)            |     *((t8 - 10356)) = v0;
    0x004059f0 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._tmp_wifiConnected */
    0x004059f4 addiu a0, t8, -0x5210         |     a0 = t8 + -0x5210;
    0x004059f8 lw t8, -0x7e9c(gp)            |     t8 = sym.imp.unlink;
    0x004059fc move t9, t8                   |     t9 = t8;
    0x00405a00 jalr t9                       |     t9 ();
    0x00405a04 nop                           |     
    0x00405a08 lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_3:
    0x00405a0c lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x00405a10 lw t8, -0x2880(t8)            |     t8 = *((t8 - 2592));
    0x00405a14 sw t8, 0x10(sp)               |     *(var_10h) = t8;
    0x00405a18 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00405a1c lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._s__d__wext_link_status___d_n */
    0x00405a20 addiu a1, t8, -0x5230         |     a1 = t8 + -0x5230;
    0x00405a24 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str.main */
    0x00405a28 addiu a2, t8, -0x4a5c         |     a2 = t8 + -0x4a5c;
    0x00405a2c addiu a3, zero, 0x330         |     a3 = 0x330;
    0x00405a30 lw t8, -0x7e38(gp)            |     t8 = *(gp);
    0x00405a34 move t9, t8                   |     t9 = t8;
    0x00405a38 jalr t9                       |     t9 ();
    0x00405a3c nop                           |     
    0x00405a40 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405a44 move a0, zero                 |     a0 = 0;
    0x00405a48 lw t8, -0x7e68(gp)            |     t8 = sym.imp.time;
    0x00405a4c move t9, t8                   |     t9 = t8;
    0x00405a50 jalr t9                       |     t9 ();
    0x00405a54 nop                           |     
    0x00405a58 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405a5c lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x00405a60 sw v0, -0x2870(t8)            |     *((t8 - 10352)) = v0;
    0x00405a64 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._tmp_wifiAutoReconnect.pid */
    0x00405a68 addiu a0, t8, -0x504c         |     a0 = t8 + -0x504c;
    0x00405a6c lw t8, -0x7f5c(gp)            |     t8 = sym.create_pidfile_char_const_;
    0x00405a70 move t9, t8                   |     t9 = t8;
    0x00405a74 jalr t9                       |     t9 ();
    0x00405a78 nop                           |     
    0x00405a7c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405a80 move t8, v0                   |     t8 = v0;
    0x00405a84 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x00405a88 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00405a8c beqz t8, 0x405aa0             |         
    0x00405a90 nop                           |         
    0x00405a94 addiu t8, zero, -1            |         t8 = -1;
    0x00405a98 b 0x40619c                    |         goto label_4;
    0x00405a9c nop                           |         
                                             |     }
    0x00405aa0 lw t8, 0x34(fp)               |     t8 = *(arg_34h);
                                             |     if (t8 == 0) {
    0x00405aa4 bnez t8, 0x405ad4             |         
    0x00405aa8 nop                           |         
    0x00405aac addiu t8, fp, 0x24            |         t8 = fp + 0x24;
    0x00405ab0 move a0, t8                   |         a0 = t8;
    0x00405ab4 move a1, zero                 |         a1 = 0;
    0x00405ab8 lw a2, -0x7f58(gp)            |         a2 = sym.wext_event_thread_void_;
    0x00405abc move a3, zero                 |         a3 = 0;
    0x00405ac0 lw t8, -0x7e70(gp)            |         t8 = sym.imp.pthread_create;
    0x00405ac4 move t9, t8                   |         t9 = t8;
    0x00405ac8 jalr t9                       |         t9 ();
    0x00405acc nop                           |         
    0x00405ad0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
    0x00405ad4 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._tmp_wifiErrorCode */
    0x00405ad8 addiu a0, t8, -0x51fc         |     a0 = t8 + -0x51fc;
    0x00405adc lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
    0x00405ae0 addiu a1, t8, -0x51e4         |     a1 = t8 + -0x51e4;
    0x00405ae4 lw t8, -0x7f84(gp)            |     t8 = sym.echo_data_char_const__char_const_;
    0x00405ae8 move t9, t8                   |     t9 = t8;
    0x00405aec jalr t9                       |     t9 ();
    0x00405af0 nop                           |     
    0x00405af4 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405af8 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* esilref: '/tmp/wifiLinkStatus' */
    0x00405afc addiu a0, t8, -0x51e0         |     a0 = t8 + -0x51e0;
    0x00405b00 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
    0x00405b04 addiu a1, t8, -0x51e4         |     a1 = t8 + -0x51e4;
    0x00405b08 lw t8, -0x7f84(gp)            |     t8 = sym.echo_data_char_const__char_const_;
    0x00405b0c move t9, t8                   |     t9 = t8;
    0x00405b10 jalr t9                       |     t9 ();
    0x00405b14 nop                           |     
    0x00405b18 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405b1c b 0x406140                    |     goto label_5;
    0x00405b20 nop                           |     
                                             | label_0:
    0x00405b24 lw a0, 0x34(fp)               |     a0 = *(arg_34h);
    0x00405b28 lw t8, -0x7f54(gp)            |     t8 = sym.checkLink_int_;
    0x00405b2c move t9, t8                   |     t9 = t8;
    0x00405b30 jalr t9                       |     t9 ();
    0x00405b34 nop                           |     
    0x00405b38 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00405b3c move t8, v0                   |     t8 = v0;
    0x00405b40 sltu t8, zero, t8             |     t8 = (0 < t8) ? 1 : 0;
    0x00405b44 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 == 0) {
    0x00405b48 beqz t8, 0x405c9c             |         goto label_6;
                                             |     }
    0x00405b4c nop                           |     
    0x00405b50 lw v0, 0x34(fp)               |     v0 = *(arg_34h);
    0x00405b54 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 != t8) {
    0x00405b58 bne v0, t8, 0x405c88          |         goto label_7;
                                             |     }
    0x00405b5c nop                           |     
    0x00405b60 lw t8, 0x30(fp)               |     t8 = *(arg_30h);
                                             |     if (t8 != 0) {
    0x00405b64 bnez t8, 0x405c88             |         goto label_7;
                                             |     }
    0x00405b68 nop                           |     
    0x00405b6c lw t8, -0x7fb4(gp)            |     t8 = *(gp);
    0x00405b70 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 != 0) {
    0x00405b74 bnez t8, 0x405c88             |         goto label_7;
                                             |     }
    0x00405b78 nop                           |     
    0x00405b7c sw zero, 0x2c(fp)             |     *(arg_2ch) = 0;
    0x00405b80 b 0x405be8                    |     goto label_8;
    0x00405b84 nop                           |     
                                             |     do {
    0x00405b88 lw t8, -0x7f70(gp)            |         t8 = sym.wifiCheckLink__;
    0x00405b8c move t9, t8                   |         t9 = t8;
    0x00405b90 jalr t9                       |         t9 ();
    0x00405b94 nop                           |         
    0x00405b98 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405b9c move t8, v0                   |         t8 = v0;
    0x00405ba0 sltu t8, zero, t8             |         t8 = (0 < t8) ? 1 : 0;
    0x00405ba4 andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 != 0) {
    0x00405ba8 beqz t8, 0x405be0             |             
    0x00405bac nop                           |             
    0x00405bb0 lw t8, 0x2c(fp)               |             t8 = *(arg_2ch);
    0x00405bb4 addiu t8, t8, 1               |             t8++;
    0x00405bb8 sw t8, 0x2c(fp)               |             *(arg_2ch) = t8;
    0x00405bbc lui t8, 7                     |             t8 = 70000;
    0x00405bc0 ori a0, t8, 0xa120            |             a0 = 0x7a120;
    0x00405bc4 lw t8, -0x7ddc(gp)            |             t8 = sym.imp.usleep;
    0x00405bc8 move t9, t8                   |             t9 = t8;
    0x00405bcc jalr t9                       |             t9 ();
    0x00405bd0 nop                           |             
    0x00405bd4 lw gp, 0x18(fp)               |             gp = *(arg_18h);
    0x00405bd8 b 0x405be8                    |             goto label_8;
    0x00405bdc nop                           |             
                                             |         }
    0x00405be0 b 0x405bf8                    |         goto label_9;
    0x00405be4 nop                           |         
                                             | label_8:
    0x00405be8 lw t8, 0x2c(fp)               |         t8 = *(arg_2ch);
    0x00405bec slti t8, t8, 0xb              |         t8 = (t8 < 0xb) ? 1 : 0;
    0x00405bf0 bnez t8, 0x405b88             |         
                                             |     } while (t8 != 0);
    0x00405bf4 nop                           |     
                                             | label_9:
    0x00405bf8 lw t8, 0x2c(fp)               |     t8 = *(arg_2ch);
    0x00405bfc slti t8, t8, 0xb              |     t8 = (t8 < 0xb) ? 1 : 0;
                                             |     if (t8 == 0) {
    0x00405c00 bnez t8, 0x405c7c             |         
    0x00405c04 nop                           |         
    0x00405c08 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_wifiConnected */
    0x00405c0c addiu a0, t8, -0x5210         |         a0 = t8 + -0x5210;
    0x00405c10 lw t8, -0x7eec(gp)            |         t8 = sym.imp.touch_char_const_;
    0x00405c14 move t9, t8                   |         t9 = t8;
    0x00405c18 jalr t9                       |         t9 ();
    0x00405c1c nop                           |         
    0x00405c20 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405c24 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* esilref: '/tmp/wifiLinkStatus' */
    0x00405c28 addiu a0, t8, -0x51e0         |         a0 = t8 + -0x51e0;
    0x00405c2c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00405c30 addiu a1, t8, -0x51e8         |         a1 = t8 + -0x51e8;
    0x00405c34 lw t8, -0x7f84(gp)            |         t8 = sym.echo_data_char_const__char_const_;
    0x00405c38 move t9, t8                   |         t9 = t8;
    0x00405c3c jalr t9                       |         t9 ();
    0x00405c40 nop                           |         
    0x00405c44 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405c48 addiu t8, fp, 0x9c            |         t8 = fp + 0x9c;
    0x00405c4c move a0, t8                   |         a0 = t8;
    0x00405c50 addiu a1, zero, 0x27c         |         a1 = 0x27c;
    0x00405c54 move a2, zero                 |         a2 = 0;
    0x00405c58 move a3, zero                 |         a3 = 0;
    0x00405c5c lw t8, -0x7f80(gp)            |         t8 = sym.sendCmd_char_const__unsigned_int__unsigned_int__unsigned_int_;
    0x00405c60 move t9, t8                   |         t9 = t8;
    0x00405c64 jalr t9                       |         t9 ();
    0x00405c68 nop                           |         
    0x00405c6c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405c70 addiu t8, zero, 1             |         t8 = 1;
    0x00405c74 sw t8, 0x30(fp)               |         *(arg_30h) = t8;
    0x00405c78 sw zero, 0x28(fp)             |         *(arg_28h) = 0;
                                             |     }
    0x00405c7c nop                           |     
    0x00405c80 b 0x406128                    |     goto label_10;
    0x00405c84 nop                           |     
                                             | label_7:
    0x00405c88 addiu t8, zero, 1             |     t8 = 1;
    0x00405c8c sw t8, 0x30(fp)               |     *(arg_30h) = t8;
    0x00405c90 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x00405c94 b 0x406128                    |     goto label_10;
    0x00405c98 nop                           |     
                                             | label_6:
    0x00405c9c lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x00405ca0 lw t8, -0x286c(t8)            |     t8 = *((t8 - 2587));
                                             |     if (t8 == 0) {
    0x00405ca4 bnez t8, 0x405cdc             |         
    0x00405ca8 nop                           |         
    0x00405cac move a0, zero                 |         a0 = 0;
    0x00405cb0 lw t8, -0x7e68(gp)            |         t8 = sym.imp.time;
    0x00405cb4 move t9, t8                   |         t9 = t8;
    0x00405cb8 jalr t9                       |         t9 ();
    0x00405cbc nop                           |         
    0x00405cc0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405cc4 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405cc8 lw t8, -0x2870(t8)            |         t8 = *((t8 - 2588));
    0x00405ccc subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x00405cd0 slti t8, t8, 0x15             |         t8 = (t8 < 0x15) ? 1 : 0;
                                             |         if (t8 == 0) {
    0x00405cd4 beqz t8, 0x405d30             |             goto label_11;
                                             |         }
    0x00405cd8 nop                           |         
                                             |     }
    0x00405cdc lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
    0x00405ce0 lw v0, -0x286c(t8)            |     v0 = *((t8 - 2587));
    0x00405ce4 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x00405ce8 bne v0, t8, 0x405d3c          |         
    0x00405cec nop                           |         
    0x00405cf0 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405cf4 lw t8, -0x2880(t8)            |         t8 = *((t8 - 2592));
                                             |         if (t8 != 0) {
    0x00405cf8 bnez t8, 0x405d3c             |             goto label_12;
                                             |         }
    0x00405cfc nop                           |         
    0x00405d00 move a0, zero                 |         a0 = 0;
    0x00405d04 lw t8, -0x7e68(gp)            |         t8 = sym.imp.time;
    0x00405d08 move t9, t8                   |         t9 = t8;
    0x00405d0c jalr t9                       |         t9 ();
    0x00405d10 nop                           |         
    0x00405d14 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405d18 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405d1c lw t8, -0x2878(t8)            |         t8 = *((t8 - 2590));
    0x00405d20 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
    0x00405d24 slti t8, t8, 0x15             |         t8 = (t8 < 0x15) ? 1 : 0;
                                             |         if (t8 != 0) {
    0x00405d28 bnez t8, 0x405d3c             |             goto label_12;
                                             |         }
    0x00405d2c nop                           |         
                                             | label_11:
    0x00405d30 addiu t8, zero, 1             |         t8 = 1;
    0x00405d34 b 0x405d40                    |         goto label_13;
    0x00405d38 nop                           |         
                                             |     }
                                             | label_12:
    0x00405d3c move t8, zero                 |     t8 = 0;
                                             |     if (t8 != 0) {
                                             | label_13:
    0x00405d40 beqz t8, 0x405d78             |         
    0x00405d44 nop                           |         
    0x00405d48 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* esilref: '/tmp/wifiLinkStatus' */
    0x00405d4c addiu a0, t8, -0x51e0         |         a0 = t8 + -0x51e0;
    0x00405d50 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00405d54 addiu a1, t8, -0x5030         |         a1 = t8 + -0x5030;
    0x00405d58 lw t8, -0x7f84(gp)            |         t8 = sym.echo_data_char_const__char_const_;
    0x00405d5c move t9, t8                   |         t9 = t8;
    0x00405d60 jalr t9                       |         t9 ();
    0x00405d64 nop                           |         
    0x00405d68 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405d6c lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405d70 addiu v0, zero, -1            |         v0 = -1;
    0x00405d74 sw v0, -0x286c(t8)            |         *((t8 - 10348)) = v0;
                                             |     }
    0x00405d78 lw t8, 0x28(fp)               |     t8 = *(arg_28h);
    0x00405d7c addiu t8, t8, 1               |     t8++;
    0x00405d80 sw t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x00405d84 lw v0, 0x30(fp)               |     v0 = *(arg_30h);
    0x00405d88 addiu t8, zero, 1             |     t8 = 1;
                                             |     if (v0 == t8) {
    0x00405d8c bne v0, t8, 0x405fac          |         
    0x00405d90 nop                           |         
    0x00405d94 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x00405d98 slti t8, t8, 6                |         t8 = (t8 < 6) ? 1 : 0;
                                             |         if (t8 != 0) {
    0x00405d9c bnez t8, 0x405fac             |             goto label_14;
                                             |         }
    0x00405da0 nop                           |         
    0x00405da4 lw t8, 0x30(fp)               |         t8 = *(arg_30h);
    0x00405da8 sw t8, 0x10(sp)               |         *(var_10h) = t8;
    0x00405dac lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x00405db0 sw t8, 0x14(sp)               |         *(var_14h) = t8;
    0x00405db4 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x00405db8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._s__d__link_status___d__cntDisconnect___d__Restart_BLE_Service____n */
    0x00405dbc addiu a1, t8, -0x502c         |         a1 = t8 + -0x502c;
    0x00405dc0 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.main */
    0x00405dc4 addiu a2, t8, -0x4a5c         |         a2 = t8 + -0x4a5c;
    0x00405dc8 addiu a3, zero, 0x379         |         a3 = 0x379;
    0x00405dcc lw t8, -0x7e38(gp)            |         t8 = *(gp);
    0x00405dd0 move t9, t8                   |         t9 = t8;
    0x00405dd4 jalr t9                       |         t9 ();
    0x00405dd8 nop                           |         
    0x00405ddc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405de0 sw zero, 0x30(fp)             |         *(arg_30h) = 0;
    0x00405de4 addiu t8, fp, 0x9c            |         t8 = fp + 0x9c;
    0x00405de8 move a0, t8                   |         a0 = t8;
    0x00405dec addiu a1, zero, 0x27d         |         a1 = 0x27d;
    0x00405df0 move a2, zero                 |         a2 = 0;
    0x00405df4 move a3, zero                 |         a3 = 0;
    0x00405df8 lw t8, -0x7f80(gp)            |         t8 = sym.sendCmd_char_const__unsigned_int__unsigned_int__unsigned_int_;
    0x00405dfc move t9, t8                   |         t9 = t8;
    0x00405e00 jalr t9                       |         t9 ();
    0x00405e04 nop                           |         
    0x00405e08 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405e0c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_wifiConnected */
    0x00405e10 addiu a0, t8, -0x5210         |         a0 = t8 + -0x5210;
    0x00405e14 lw t8, -0x7e9c(gp)            |         t8 = sym.imp.unlink;
    0x00405e18 move t9, t8                   |         t9 = t8;
    0x00405e1c jalr t9                       |         t9 ();
    0x00405e20 nop                           |         
    0x00405e24 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405e28 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* esilref: '/tmp/wifiLinkStatus' */
    0x00405e2c addiu a0, t8, -0x51e0         |         a0 = t8 + -0x51e0;
    0x00405e30 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
    0x00405e34 addiu a1, t8, -0x50c8         |         a1 = t8 + -0x50c8;
    0x00405e38 lw t8, -0x7f84(gp)            |         t8 = sym.echo_data_char_const__char_const_;
    0x00405e3c move t9, t8                   |         t9 = t8;
    0x00405e40 jalr t9                       |         t9 ();
    0x00405e44 nop                           |         
    0x00405e48 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405e4c move a0, zero                 |         a0 = 0;
    0x00405e50 lw t8, -0x7e68(gp)            |         t8 = sym.imp.time;
    0x00405e54 move t9, t8                   |         t9 = t8;
    0x00405e58 jalr t9                       |         t9 ();
    0x00405e5c nop                           |         
    0x00405e60 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405e64 lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405e68 sw v0, -0x2870(t8)            |         *((t8 - 10352)) = v0;
    0x00405e6c lw t8, -0x7fdc(gp)            |         t8 = *((gp - 8183));
    0x00405e70 sw zero, -0x286c(t8)          |         *((t8 - 10348)) = 0;
    0x00405e74 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_udhcpc.wlan0.pid */
    0x00405e78 addiu a0, t8, -0x4fe4         |         a0 = t8 + -0x4fe4;
    0x00405e7c addiu a1, zero, 9             |         a1 = 9;
    0x00405e80 addiu a2, zero, 1             |         a2 = 1;
    0x00405e84 lw t8, -0x7e98(gp)            |         t8 = sym.imp.send_signal_ps_char_const__int__int_;
    0x00405e88 move t9, t8                   |         t9 = t8;
    0x00405e8c jalr t9                       |         t9 ();
    0x00405e90 nop                           |         
    0x00405e94 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405e98 addiu t8, zero, 0x3f          |         t8 = 0x3f;
    0x00405e9c addiu v0, fp, 0x5c            |         v0 = fp + 0x5c;
    0x00405ea0 move a0, v0                   |         a0 = v0;
    0x00405ea4 move a1, t8                   |         a1 = t8;
    0x00405ea8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.ifconfig__s_0.0.0.0_down */
    0x00405eac addiu a2, t8, -0x4fcc         |         a2 = t8 + -0x4fcc;
    0x00405eb0 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x00405eb4 addiu a3, t8, -0x5054         |         a3 = t8 + -0x5054;
    0x00405eb8 lw t8, -0x7e30(gp)            |         t8 = sym.imp.snprintf;
    0x00405ebc move t9, t8                   |         t9 = t8;
    0x00405ec0 jalr t9                       |         t9 ();
    0x00405ec4 nop                           |         
    0x00405ec8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405ecc addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00405ed0 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x00405ed4 move a1, t8                   |         a1 = t8;
    0x00405ed8 lw t8, -0x7e38(gp)            |         t8 = *(gp);
    0x00405edc move t9, t8                   |         t9 = t8;
    0x00405ee0 jalr t9                       |         t9 ();
    0x00405ee4 nop                           |         
    0x00405ee8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405eec addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00405ef0 move a0, t8                   |         a0 = t8;
    0x00405ef4 lw t8, -0x7dd8(gp)            |         t8 = sym.imp.system
    0x00405ef8 move t9, t8                   |         t9 = t8;
    0x00405efc jalr t9                       |         t9 ();
    0x00405f00 nop                           |         
    0x00405f04 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405f08 addiu t8, fp, 0x9c            |         t8 = fp + 0x9c;
    0x00405f0c move a0, t8                   |         a0 = t8;
    0x00405f10 addiu a1, zero, 0x30b         |         a1 = 0x30b;
    0x00405f14 move a2, zero                 |         a2 = 0;
    0x00405f18 move a3, zero                 |         a3 = 0;
    0x00405f1c lw t8, -0x7f80(gp)            |         t8 = sym.sendCmd_char_const__unsigned_int__unsigned_int__unsigned_int_;
    0x00405f20 move t9, t8                   |         t9 = t8;
    0x00405f24 jalr t9                       |         t9 ();
    0x00405f28 nop                           |         
    0x00405f2c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405f30 addiu t8, zero, 0x3f          |         t8 = 0x3f;
    0x00405f34 addiu v0, fp, 0x5c            |         v0 = fp + 0x5c;
    0x00405f38 lw v1, -0x7fd4(gp)            |         v1 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x00405f3c addiu v1, v1, -0x5054         |         v1 += -0x5054;
    0x00405f40 sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x00405f44 move a0, v0                   |         a0 = v0;
    0x00405f48 move a1, t8                   |         a1 = t8;
    0x00405f4c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.ifconfig__s_0.0.0.0_up___ifup__f__s_ */
    0x00405f50 addiu a2, t8, -0x4fb0         |         a2 = t8 + -0x4fb0;
    0x00405f54 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x00405f58 addiu a3, t8, -0x5054         |         a3 = t8 + -0x5054;
    0x00405f5c lw t8, -0x7e30(gp)            |         t8 = sym.imp.snprintf;
    0x00405f60 move t9, t8                   |         t9 = t8;
    0x00405f64 jalr t9                       |         t9 ();
    0x00405f68 nop                           |         
    0x00405f6c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405f70 addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00405f74 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x00405f78 move a1, t8                   |         a1 = t8;
    0x00405f7c lw t8, -0x7e38(gp)            |         t8 = *(gp);
    0x00405f80 move t9, t8                   |         t9 = t8;
    0x00405f84 jalr t9                       |         t9 ();
    0x00405f88 nop                           |         
    0x00405f8c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00405f90 addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00405f94 move a0, t8                   |         a0 = t8;
    0x00405f98 lw t8, -0x7dd8(gp)            |         t8 = sym.imp.system
    0x00405f9c move t9, t8                   |         t9 = t8;
    0x00405fa0 jalr t9                       |         t9 ();
    0x00405fa4 nop                           |         
    0x00405fa8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_14:
    0x00405fac lw t8, 0x30(fp)               |     t8 = *(arg_30h);
                                             |     if (t8 == 0) {
    0x00405fb0 bnez t8, 0x406128             |         
    0x00405fb4 nop                           |         
    0x00405fb8 lw v0, 0x28(fp)               |         v0 = *(arg_28h);
    0x00405fbc lui t8, 0x38e3                |         t8 = 0x38e38e39;
    0x00405fc0 ori t8, t8, 0x8e39            |         
    0x00405fc4 mult v0, t8                   |         __asm ("mult v0, t8");
    0x00405fc8 mfhi t8                       |         __asm ("mfhi t8");
    0x00405fcc sra v1, t8, 2                 |         v1 = t8 >> 2;
    0x00405fd0 sra t8, v0, 0x1f              |         t8 = v0 >> 0x1f;
    0x00405fd4 subu t8, v1, t8               |         __asm ("subu t8, v1, t8");
    0x00405fd8 sll t8, t8, 1                 |         t8 <<= 1;
    0x00405fdc sll v1, t8, 3                 |         v1 = t8 << 3;
    0x00405fe0 addu t8, t8, v1               |         t8 += v1;
    0x00405fe4 subu t8, v0, t8               |         __asm ("subu t8, v0, t8");
                                             |         if (t8 != 0) {
    0x00405fe8 bnez t8, 0x406128             |             goto label_10;
                                             |         }
    0x00405fec nop                           |         
    0x00405ff0 lw t8, -0x7f50(gp)            |         t8 = sym.default_settings__;
    0x00405ff4 move t9, t8                   |         t9 = t8;
    0x00405ff8 jalr t9                       |         t9 ();
    0x00405ffc nop                           |         
    0x00406000 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406004 move t8, v0                   |         t8 = v0;
    0x00406008 sltiu t8, t8, 1               |         t8 = (t8 < 1) ? 1 : 0;
    0x0040600c andi t8, t8, 0xff             |         t8 &= 0xff;
                                             |         if (t8 == 0) {
    0x00406010 beqz t8, 0x406128             |             goto label_10;
                                             |         }
    0x00406014 nop                           |         
    0x00406018 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str._tmp_udhcpc.wlan0.pid */
    0x0040601c addiu a0, t8, -0x4fe4         |         a0 = t8 + -0x4fe4;
    0x00406020 addiu a1, zero, 9             |         a1 = 9;
    0x00406024 addiu a2, zero, 1             |         a2 = 1;
    0x00406028 lw t8, -0x7e98(gp)            |         t8 = sym.imp.send_signal_ps_char_const__int__int_;
    0x0040602c move t9, t8                   |         t9 = t8;
    0x00406030 jalr t9                       |         t9 ();
    0x00406034 nop                           |         
    0x00406038 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0040603c addiu t8, zero, 0x3f          |         t8 = 0x3f;
    0x00406040 addiu v0, fp, 0x5c            |         v0 = fp + 0x5c;
    0x00406044 move a0, v0                   |         a0 = v0;
    0x00406048 move a1, t8                   |         a1 = t8;
    0x0040604c lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.ifdown__s__f */
    0x00406050 addiu a2, t8, -0x4f88         |         a2 = t8 + -0x4f88;
    0x00406054 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x00406058 addiu a3, t8, -0x5054         |         a3 = t8 + -0x5054;
    0x0040605c lw t8, -0x7e30(gp)            |         t8 = sym.imp.snprintf;
    0x00406060 move t9, t8                   |         t9 = t8;
    0x00406064 jalr t9                       |         t9 ();
    0x00406068 nop                           |         
    0x0040606c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406070 addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00406074 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x00406078 move a1, t8                   |         a1 = t8;
    0x0040607c lw t8, -0x7e38(gp)            |         t8 = *(gp);
    0x00406080 move t9, t8                   |         t9 = t8;
    0x00406084 jalr t9                       |         t9 ();
    0x00406088 nop                           |         
    0x0040608c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00406090 addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00406094 move a0, t8                   |         a0 = t8;
    0x00406098 lw t8, -0x7dd8(gp)            |         t8 = sym.imp.system
    0x0040609c move t9, t8                   |         t9 = t8;
    0x004060a0 jalr t9                       |         t9 ();
    0x004060a4 nop                           |         
    0x004060a8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004060ac addiu t8, zero, 0x3f          |         t8 = 0x3f;
    0x004060b0 addiu v0, fp, 0x5c            |         v0 = fp + 0x5c;
    0x004060b4 lw v1, -0x7fd4(gp)            |         v1 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x004060b8 addiu v1, v1, -0x5054         |         v1 += -0x5054;
    0x004060bc sw v1, 0x10(sp)               |         *(var_10h) = v1;
    0x004060c0 move a0, v0                   |         a0 = v0;
    0x004060c4 move a1, t8                   |         a1 = t8;
    0x004060c8 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.ifconfig__s_0.0.0.0_up___ifupdown_config___ifup__f__s_ */
    0x004060cc addiu a2, t8, -0x4f78         |         a2 = t8 + -0x4f78;
    0x004060d0 lw t8, -0x7fd4(gp)            |         t8 = *((gp - 8181));
                                             |         /* str.wlan0 */
    0x004060d4 addiu a3, t8, -0x5054         |         a3 = t8 + -0x5054;
    0x004060d8 lw t8, -0x7e30(gp)            |         t8 = sym.imp.snprintf;
    0x004060dc move t9, t8                   |         t9 = t8;
    0x004060e0 jalr t9                       |         t9 ();
    0x004060e4 nop                           |         
    0x004060e8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004060ec addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x004060f0 lw a0, -0x7f9c(gp)            |         a0 = *(gp);
    0x004060f4 move a1, t8                   |         a1 = t8;
    0x004060f8 lw t8, -0x7e38(gp)            |         t8 = *(gp);
    0x004060fc move t9, t8                   |         t9 = t8;
    0x00406100 jalr t9                       |         t9 ();
    0x00406104 nop                           |         
    0x00406108 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0040610c addiu t8, fp, 0x5c            |         t8 = fp + 0x5c;
    0x00406110 move a0, t8                   |         a0 = t8;
    0x00406114 lw t8, -0x7dd8(gp)            |         t8 = sym.imp.system
    0x00406118 move t9, t8                   |         t9 = t8;
    0x0040611c jalr t9                       |         t9 ();
    0x00406120 nop                           |         
    0x00406124 lw gp, 0x18(fp)               |         gp = *(arg_18h);
                                             |     }
                                             | label_10:
    0x00406128 addiu a0, zero, 5             |     a0 = 5;
    0x0040612c lw t8, -0x7dec(gp)            |     t8 = sym.imp.sleep;
    0x00406130 move t9, t8                   |     t9 = t8;
    0x00406134 jalr t9                       |     t9 ();
    0x00406138 nop                           |     
    0x0040613c lw gp, 0x18(fp)               |     gp = *(arg_18h);
                                             | label_5:
    0x00406140 lw t8, -0x7fc8(gp)            |     t8 = *(gp);
    0x00406144 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (t8 != 0) {
    0x00406148 bnez t8, 0x405b24             |         goto label_0;
                                             |     }
    0x0040614c nop                           |     
    0x00406150 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
    0x00406154 move a0, t8                   |     a0 = t8;
    0x00406158 move a1, zero                 |     a1 = 0;
    0x0040615c lw t8, -0x7f24(gp)            |     t8 = sym.imp.pthread_join;
    0x00406160 move t9, t8                   |     t9 = t8;
    0x00406164 jalr t9                       |     t9 ();
    0x00406168 nop                           |     
    0x0040616c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406170 lw a0, -0x7f9c(gp)            |     a0 = *(gp);
    0x00406174 lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str._s_terminated_n */
    0x00406178 addiu a1, t8, -0x4f40         |     a1 = t8 + -0x4f40;
    0x0040617c lw t8, -0x7fd4(gp)            |     t8 = *((gp - 8181));
                                             |     /* str.wifiAutoReconnect.c */
    0x00406180 addiu a2, t8, -0x4f30         |     a2 = t8 + -0x4f30;
    0x00406184 lw t8, -0x7e38(gp)            |     t8 = *(gp);
    0x00406188 move t9, t8                   |     t9 = t8;
    0x0040618c jalr t9                       |     t9 ();
    0x00406190 nop                           |     
    0x00406194 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00406198 move t8, zero                 |     t8 = 0;
                                             | label_4:
    0x0040619c move v0, t8                   |     v0 = t8;
    0x004061a0 lw t8, -0x7dd0(gp)            |     t8 = *((gp - 8052));
    0x004061a4 lw v1, 0xec(fp)               |     v1 = *(arg_ech);
    0x004061a8 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x004061ac beq v1, t8, 0x4061c4          |         
    0x004061b0 nop                           |         
    0x004061b4 lw t8, -0x7e60(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x004061b8 move t9, t8                   |         t9 = t8;
    0x004061bc jalr t9                       |         t9 ();
    0x004061c0 nop                           |         
                                             |     }
    0x004061c4 move sp, fp                   |     
    0x004061c8 lw ra, 0xf4(sp)               |     ra = *(var_f4h);
    0x004061cc lw fp, 0xf0(sp)               |     fp = *(var_f0h);
    0x004061d0 addiu sp, sp, 0xf8            |     
    0x004061d4 jr ra                         |     return v1;
    0x004061d8 nop                           |     
                                             | }

[*] Function system used 5 times wifiAutoReconnect