[*] Binary protection state of start_wps

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


[*] Function system tear down of start_wps

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x408118 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00408118 lui gp, 2                     |     
    0x0040811c addiu gp, gp, -0x40f8         |     
    0x00408120 addu gp, gp, t9               |     gp += t9;
    0x00408124 addiu sp, sp, -0x30           |     
    0x00408128 sw ra, 0x2c(sp)               |     *(var_2ch) = ra;
    0x0040812c sw fp, 0x28(sp)               |     *(var_28h) = fp;
    0x00408130 move fp, sp                   |     fp = sp;
    0x00408134 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00408138 lw t8, -0x7e18(gp)            |     t8 = *((gp - 8070));
    0x0040813c lw t8, (t8)                   |     t8 = *(t8);
    0x00408140 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x00408144 lw t8, -0x7fbc(gp)            |     t8 = *(gp);
                                             |     /* aav.0x00402060 */
    0x00408148 addiu t8, t8, 0x2060          |     t8 += 0x2060;
    0x0040814c move t9, t8                   |     t9 = t8;
    0x00408150 jalr t9                       |     t9 ();
    0x00408154 nop                           |     
    0x00408158 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x0040815c sw v0, 0x1c(fp)               |     *(arg_1ch) = v0;
    0x00408160 lw t8, 0x1c(fp)               |     t8 = *(arg_1ch);
    0x00408164 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x00408168 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x0040816c beqz t8, 0x4081b0             |         
    0x00408170 nop                           |         
    0x00408174 lw t8, -0x7eb4(gp)            |         t8 = *((gp - 8109));
    0x00408178 lw t8, (t8)                   |         t8 = *(t8);
    0x0040817c lw v0, -0x7fdc(gp)            |         v0 = *((gp - 8183));
                                             |         /* str.can_not_open_socket__n */
    0x00408180 addiu a0, v0, -0x58ec         |         a0 = v0 + -0x58ec;
    0x00408184 addiu a1, zero, 1             |         a1 = 1;
    0x00408188 addiu a2, zero, 0x15          |         a2 = 0x15;
    0x0040818c move a3, t8                   |         a3 = t8;
    0x00408190 lw t8, -0x7e20(gp)            |         t8 = sym.imp.fwrite;
    0x00408194 move t9, t8                   |         t9 = t8;
    0x00408198 jalr t9                       |         t9 ();
    0x0040819c nop                           |         
    0x004081a0 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x004081a4 addiu t8, zero, -1            |         t8 = -1;
    0x004081a8 b 0x4082b0                    |         goto label_0;
    0x004081ac nop                           |         
                                             |     }
    0x004081b0 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str._tmp_start_wps.pid */
    0x004081b4 addiu a0, t8, -0x58d4         |     a0 = t8 + -0x58d4;
    0x004081b8 lw t8, -0x7f7c(gp)            |     t8 = sym.create_pidfile_char_const_;
    0x004081bc move t9, t8                   |     t9 = t8;
    0x004081c0 jalr t9                       |     t9 ();
    0x004081c4 nop                           |     
    0x004081c8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004081cc move t8, v0                   |     t8 = v0;
    0x004081d0 srl t8, t8, 0x1f              |     t8 >>= 0x1f;
    0x004081d4 andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x004081d8 beqz t8, 0x4081ec             |         
    0x004081dc nop                           |         
    0x004081e0 addiu t8, zero, -1            |         t8 = -1;
    0x004081e4 b 0x4082b0                    |         goto label_0;
    0x004081e8 nop                           |         
                                             |     }
    0x004081ec move a0, zero                 |     a0 = 0;
    0x004081f0 lw t8, -0x7eb0(gp)            |     t8 = sym.imp.time;
    0x004081f4 move t9, t8                   |     t9 = t8;
    0x004081f8 jalr t9                       |     t9 ();
    0x004081fc nop                           |     
    0x00408200 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00408204 sw v0, 0x20(fp)               |     *(arg_20h) = v0;
    0x00408208 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.killall_wifiAutoReconnect */
    0x0040820c addiu a0, t8, -0x58c0         |     a0 = t8 + -0x58c0;
    0x00408210 lw t8, -0x7e28(gp)            |     t8 = sym.imp.system
    0x00408214 move t9, t8                   |     t9 = t8;
    0x00408218 jalr t9                       |     t9 ();
    0x0040821c nop                           |     
    0x00408220 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00408224 lw t8, -0x7fdc(gp)            |     t8 = *((gp - 8183));
                                             |     /* str.killall_wifiAutoReconnect */
    0x00408228 addiu a0, t8, -0x58c0         |     a0 = t8 + -0x58c0;
    0x0040822c lw t8, -0x7e28(gp)            |     t8 = sym.imp.system
    0x00408230 move t9, t8                   |     t9 = t8;
    0x00408234 jalr t9                       |     t9 ();
    0x00408238 nop                           |     
    0x0040823c lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00408240 lw t8, -0x7f78(gp)            |     t8 = sym.isMtkWifi__;
    0x00408244 move t9, t8                   |     t9 = t8;
    0x00408248 jalr t9                       |     t9 ();
    0x0040824c nop                           |     
    0x00408250 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x00408254 move t8, v0                   |     t8 = v0;
    0x00408258 sltu t8, zero, t8             |     t8 = (0 < t8) ? 1 : 0;
    0x0040825c andi t8, t8, 0xff             |     t8 &= 0xff;
                                             |     if (t8 != 0) {
    0x00408260 beqz t8, 0x408290             |         
    0x00408264 nop                           |         
    0x00408268 lw a0, 0x1c(fp)               |         a0 = *(arg_1ch);
    0x0040826c lw a1, 0x20(fp)               |         a1 = *(arg_20h);
    0x00408270 lw t8, -0x7f74(gp)            |         t8 = sym.wps_mtk_wps_int__long_;
    0x00408274 move t9, t8                   |         t9 = t8;
    0x00408278 jalr t9                       |         t9 ();
    0x0040827c nop                           |         
    0x00408280 lw gp, 0x10(fp)               |         gp = *(arg_10h);
    0x00408284 move t8, v0                   |         t8 = v0;
    0x00408288 b 0x4082b0                    |         goto label_0;
    0x0040828c nop                           |         
                                             |     }
    0x00408290 lw a0, 0x1c(fp)               |     a0 = *(arg_1ch);
    0x00408294 lw a1, 0x20(fp)               |     a1 = *(arg_20h);
    0x00408298 lw t8, -0x7f70(gp)            |     t8 = sym.wps_wireless_extension_int__long_;
    0x0040829c move t9, t8                   |     t9 = t8;
    0x004082a0 jalr t9                       |     t9 ();
    0x004082a4 nop                           |     
    0x004082a8 lw gp, 0x10(fp)               |     gp = *(arg_10h);
    0x004082ac move t8, v0                   |     t8 = v0;
                                             | label_0:
    0x004082b0 move v0, t8                   |     v0 = t8;
    0x004082b4 lw t8, -0x7e18(gp)            |     t8 = *((gp - 8070));
    0x004082b8 lw v1, 0x24(fp)               |     v1 = *(arg_24h);
    0x004082bc lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x004082c0 beq v1, t8, 0x4082d8          |         
    0x004082c4 nop                           |         
    0x004082c8 lw t8, -0x7ea8(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x004082cc move t9, t8                   |         t9 = t8;
    0x004082d0 jalr t9                       |         t9 ();
    0x004082d4 nop                           |         
                                             |     }
    0x004082d8 move sp, fp                   |     
    0x004082dc lw ra, 0x2c(sp)               |     ra = *(var_2ch);
    0x004082e0 lw fp, 0x28(sp)               |     fp = *(var_28h);
    0x004082e4 addiu sp, sp, 0x30            |     
    0x004082e8 jr ra                         |     return v1;
    0x004082ec nop                           |     
                                             | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x402150 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) sym.wps_go_get_wps_status__ ()       | void wps_go_get_wps_status_ () {
                                                 |     /* wps_go_get_wps_status() */
    0x00402150 lui gp, 2                         |     
    0x00402154 addiu gp, gp, 0x1ed0              |     
    0x00402158 addu gp, gp, t9                   |     gp += t9;
    0x0040215c addiu sp, sp, -0x438              |     
    0x00402160 sw ra, 0x434(sp)                  |     *(var_434h) = ra;
    0x00402164 sw fp, 0x430(sp)                  |     *(var_430h) = fp;
    0x00402168 move fp, sp                       |     fp = sp;
    0x0040216c sw gp, 0x10(sp)                   |     *(var_10h) = gp;
    0x00402170 lw t8, -0x7e18(gp)                |     t8 = *((gp - 8070));
    0x00402174 lw t8, (t8)                       |     t8 = *(t8);
    0x00402178 sw t8, 0x42c(fp)                  |     *(arg_42ch) = t8;
    0x0040217c addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x00402180 move a0, t8                       |     a0 = t8;
    0x00402184 move a1, zero                     |     a1 = 0;
    0x00402188 addiu a2, zero, 0x400             |     a2 = 0x400;
    0x0040218c lw t8, -0x7ee0(gp)                |     t8 = sym.imp.memset;
    0x00402190 move t9, t8                       |     t9 = t8;
    0x00402194 jalr t9                           |     t9 ();
    0x00402198 nop                               |     
    0x0040219c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004021a0 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_cli__i_wlan0_status____tmp_wps_status.log */
    0x004021a4 addiu a0, t8, -0x70f4             |     a0 = t8 + -0x70f4;
    0x004021a8 lw t8, -0x7e28(gp)                |     t8 = sym.imp.system
    0x004021ac move t9, t8                       |     t9 = t8;
    0x004021b0 jalr t9                           |     t9 ();
    0x004021b4 nop                               |     
    0x004021b8 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004021bc lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str._tmp_wps_status.log */
    0x004021c0 addiu a0, t8, -0x70c4             |     a0 = t8 + -0x70c4;
    0x004021c4 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* section..rodata */
    0x004021c8 addiu a1, t8, -0x7130             |     a1 = t8 + -0x7130;
    0x004021cc lw t8, -0x7e54(gp)                |     t8 = sym.imp.fopen64;
    0x004021d0 move t9, t8                       |     t9 = t8;
    0x004021d4 jalr t9                           |     t9 ();
    0x004021d8 nop                               |     
    0x004021dc lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004021e0 move t8, v0                       |     t8 = v0;
    0x004021e4 sw t8, 0x24(fp)                   |     *(arg_24h) = t8;
    0x004021e8 lw t8, 0x24(fp)                   |     t8 = *(arg_24h);
    0x004021ec sltiu t8, t8, 1                   |     t8 = (t8 < 1) ? 1 : 0;
    0x004021f0 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x004021f4 beqz t8, 0x402238                 |         
    0x004021f8 nop                               |         
    0x004021fc lw t8, -0x7eb4(gp)                |         t8 = *((gp - 8109));
    0x00402200 lw t8, (t8)                       |         t8 = *(t8);
    0x00402204 lw v0, -0x7fdc(gp)                |         v0 = *((gp - 8183));
                                                 |         /* str.Fail_to_open__tmp_wps_status.log_n */
    0x00402208 addiu a0, v0, -0x70b0             |         a0 = v0 + -0x70b0;
    0x0040220c addiu a1, zero, 1                 |         a1 = 1;
    0x00402210 addiu a2, zero, 0x21              |         a2 = 0x21;
    0x00402214 move a3, t8                       |         a3 = t8;
    0x00402218 lw t8, -0x7e20(gp)                |         t8 = sym.imp.fwrite;
    0x0040221c move t9, t8                       |         t9 = t8;
    0x00402220 jalr t9                           |         t9 ();
    0x00402224 nop                               |         
    0x00402228 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x0040222c addiu t8, zero, -1                |         t8 = -1;
    0x00402230 b 0x402454                        |         goto label_0;
    0x00402234 nop                               |         
                                                 |     }
    0x00402238 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040223c move a0, t8                       |     a0 = t8;
    0x00402240 addiu a1, zero, 1                 |     a1 = 1;
    0x00402244 addiu a2, zero, 0x400             |     a2 = 0x400;
    0x00402248 lw a3, 0x24(fp)                   |     a3 = *(arg_24h);
    0x0040224c lw t8, -0x7ea4(gp)                |     t8 = sym.imp.fread;
    0x00402250 move t9, t8                       |     t9 = t8;
    0x00402254 jalr t9                           |     t9 ();
    0x00402258 nop                               |     
    0x0040225c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402260 lw a0, 0x24(fp)                   |     a0 = *(arg_24h);
    0x00402264 lw t8, -0x7ea0(gp)                |     t8 = sym.imp.fclose;
    0x00402268 move t9, t8                       |     t9 = t8;
    0x0040226c jalr t9                           |     t9 ();
    0x00402270 nop                               |     
    0x00402274 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402278 addiu t8, fp, 0x2c                |     t8 = fp + 0x2c;
    0x0040227c sw t8, 0x28(fp)                   |     *(arg_28h) = t8;
    0x00402280 lw a0, 0x28(fp)                   |     a0 = *(arg_28h);
    0x00402284 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_stateCOMPLETED */
    0x00402288 addiu a1, t8, -0x708c             |     a1 = t8 + -0x708c;
    0x0040228c lw t8, -0x7f10(gp)                |     t8 = sym.imp.strstr;
    0x00402290 move t9, t8                       |     t9 = t8;
    0x00402294 jalr t9                           |     t9 ();
    0x00402298 nop                               |     
    0x0040229c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x004022a0 sw v0, 0x1c(fp)                   |     *(arg_1ch) = v0;
    0x004022a4 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x004022a8 sltu t8, zero, t8                 |     t8 = (0 < t8) ? 1 : 0;
    0x004022ac andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x004022b0 beqz t8, 0x4022e4                 |         
    0x004022b4 nop                               |         
    0x004022b8 addiu t8, zero, 5                 |         t8 = 5;
    0x004022bc sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x004022c0 lw t8, -0x7fdc(gp)                |         t8 = *((gp - 8183));
                                                 |         /* str.wpa_cli__i_wlan0_save_config */
    0x004022c4 addiu a0, t8, -0x7078             |         a0 = t8 + -0x7078;
    0x004022c8 lw t8, -0x7e28(gp)                |         t8 = sym.imp.system
    0x004022cc move t9, t8                       |         t9 = t8;
    0x004022d0 jalr t9                           |         t9 ();
    0x004022d4 nop                               |         
    0x004022d8 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x004022dc b 0x402414                        |         goto label_1;
    0x004022e0 nop                               |         
                                                 |     }
    0x004022e4 lw a0, 0x28(fp)                   |     a0 = *(arg_28h);
    0x004022e8 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_stateSCANNING */
    0x004022ec addiu a1, t8, -0x7058             |     a1 = t8 + -0x7058;
    0x004022f0 lw t8, -0x7f10(gp)                |     t8 = sym.imp.strstr;
    0x004022f4 move t9, t8                       |     t9 = t8;
    0x004022f8 jalr t9                           |     t9 ();
    0x004022fc nop                               |     
    0x00402300 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402304 sw v0, 0x1c(fp)                   |     *(arg_1ch) = v0;
    0x00402308 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040230c sltu t8, zero, t8                 |     t8 = (0 < t8) ? 1 : 0;
    0x00402310 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x00402314 beqz t8, 0x40232c                 |         
    0x00402318 nop                               |         
    0x0040231c addiu t8, zero, 3                 |         t8 = 3;
    0x00402320 sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x00402324 b 0x402414                        |         goto label_1;
    0x00402328 nop                               |         
                                                 |     }
    0x0040232c lw a0, 0x28(fp)                   |     a0 = *(arg_28h);
    0x00402330 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_stateINACTIVE */
    0x00402334 addiu a1, t8, -0x7044             |     a1 = t8 + -0x7044;
    0x00402338 lw t8, -0x7f10(gp)                |     t8 = sym.imp.strstr;
    0x0040233c move t9, t8                       |     t9 = t8;
    0x00402340 jalr t9                           |     t9 ();
    0x00402344 nop                               |     
    0x00402348 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x0040234c sw v0, 0x1c(fp)                   |     *(arg_1ch) = v0;
    0x00402350 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x00402354 sltu t8, zero, t8                 |     t8 = (0 < t8) ? 1 : 0;
    0x00402358 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x0040235c beqz t8, 0x402374                 |         
    0x00402360 nop                               |         
    0x00402364 addiu t8, zero, 4                 |         t8 = 4;
    0x00402368 sw t8, 0x20(fp)                   |         *(arg_20h) = t8;
    0x0040236c b 0x402414                        |         goto label_1;
    0x00402370 nop                               |         
                                                 |     }
    0x00402374 lw a0, 0x28(fp)                   |     a0 = *(arg_28h);
    0x00402378 lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_stateUNKNOWN */
    0x0040237c addiu a1, t8, -0x7030             |     a1 = t8 + -0x7030;
    0x00402380 lw t8, -0x7f10(gp)                |     t8 = sym.imp.strstr;
    0x00402384 move t9, t8                       |     t9 = t8;
    0x00402388 jalr t9                           |     t9 ();
    0x0040238c nop                               |     
    0x00402390 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402394 sw v0, 0x1c(fp)                   |     *(arg_1ch) = v0;
    0x00402398 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x0040239c sltu t8, zero, t8                 |     t8 = (0 < t8) ? 1 : 0;
    0x004023a0 andi t8, t8, 0xff                 |     t8 &= 0xff;
                                                 |     if (t8 != 0) {
    0x004023a4 beqz t8, 0x4023e8                 |         
    0x004023a8 nop                               |         
    0x004023ac lw t8, -0x7eb4(gp)                |         t8 = *((gp - 8109));
    0x004023b0 lw t8, (t8)                       |         t8 = *(t8);
    0x004023b4 lw v0, -0x7fdc(gp)                |         v0 = *((gp - 8183));
                                                 |         /* str.wps_status_unknown__n */
    0x004023b8 addiu a0, v0, -0x701c             |         a0 = v0 + -0x701c;
    0x004023bc addiu a1, zero, 1                 |         a1 = 1;
    0x004023c0 addiu a2, zero, 0x14              |         a2 = 0x14;
    0x004023c4 move a3, t8                       |         a3 = t8;
    0x004023c8 lw t8, -0x7e20(gp)                |         t8 = sym.imp.fwrite;
    0x004023cc move t9, t8                       |         t9 = t8;
    0x004023d0 jalr t9                           |         t9 ();
    0x004023d4 nop                               |         
    0x004023d8 lw gp, 0x10(fp)                   |         gp = *(arg_10h);
    0x004023dc addiu t8, zero, -1                |         t8 = -1;
    0x004023e0 b 0x402454                        |         goto label_0;
    0x004023e4 nop                               |         
                                                 |     }
    0x004023e8 lw a0, 0x28(fp)                   |     a0 = *(arg_28h);
    0x004023ec lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wpa_state */
    0x004023f0 addiu a1, t8, -0x7004             |     a1 = t8 + -0x7004;
    0x004023f4 lw t8, -0x7f10(gp)                |     t8 = sym.imp.strstr;
    0x004023f8 move t9, t8                       |     t9 = t8;
    0x004023fc jalr t9                           |     t9 ();
    0x00402400 nop                               |     
    0x00402404 lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402408 sw v0, 0x1c(fp)                   |     *(arg_1ch) = v0;
    0x0040240c addiu t8, zero, 1                 |     t8 = 1;
    0x00402410 sw t8, 0x20(fp)                   |     *(arg_20h) = t8;
                                                 | label_1:
    0x00402414 lw t8, 0x1c(fp)                   |     t8 = *(arg_1ch);
    0x00402418 addiu t8, t8, 0xa                 |     t8 += 0xa;
    0x0040241c sw t8, 0x1c(fp)                   |     *(arg_1ch) = t8;
    0x00402420 lw t8, -0x7e94(gp)                |     t8 = *((gp - 8101));
    0x00402424 lw t8, (t8)                       |     t8 = *(t8);
    0x00402428 move a0, t8                       |     a0 = t8;
    0x0040242c lw t8, -0x7fdc(gp)                |     t8 = *((gp - 8183));
                                                 |     /* str.wps_status:__d__s_n */
    0x00402430 addiu a1, t8, -0x6ff8             |     a1 = t8 + -0x6ff8;
    0x00402434 lw a2, 0x20(fp)                   |     a2 = *(arg_20h);
    0x00402438 lw a3, 0x1c(fp)                   |     a3 = *(arg_1ch);
    0x0040243c lw t8, -0x7ef0(gp)                |     t8 = sym.imp.fprintf;
    0x00402440 move t9, t8                       |     t9 = t8;
    0x00402444 jalr t9                           |     t9 ();
    0x00402448 nop                               |     
    0x0040244c lw gp, 0x10(fp)                   |     gp = *(arg_10h);
    0x00402450 lw t8, 0x20(fp)                   |     t8 = *(arg_20h);
                                                 | label_0:
    0x00402454 move v0, t8                       |     v0 = t8;
    0x00402458 lw t8, -0x7e18(gp)                |     t8 = *((gp - 8070));
    0x0040245c lw v1, 0x42c(fp)                  |     v1 = *(arg_42ch);
    0x00402460 lw t8, (t8)                       |     t8 = *(t8);
                                                 |     if (v1 != t8) {
    0x00402464 beq v1, t8, 0x40247c              |         
    0x00402468 nop                               |         
    0x0040246c lw t8, -0x7ea8(gp)                |         t8 = sym.imp.__stack_chk_fail;
    0x00402470 move t9, t8                       |         t9 = t8;
    0x00402474 jalr t9                           |         t9 ();
    0x00402478 nop                               |         
                                                 |     }
    0x0040247c move sp, fp                       |     
    0x00402480 lw ra, 0x434(sp)                  |     ra = *(var_434h);
    0x00402484 lw fp, 0x430(sp)                  |     fp = *(var_430h);
    0x00402488 addiu sp, sp, 0x438               |     
    0x0040248c jr ra                             |     return v1;
    0x00402490 nop                               |     
                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x40683c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.wps_mtk_apclient_int__long_ ()       | void wps_mtk_apclient_int_long_ () {
                                                     |     /* wps_mtk_apclient(int, long) */
    0x0040683c lui gp, 2                             |     
    0x00406840 addiu gp, gp, -0x281c                 |     
    0x00406844 addu gp, gp, t9                       |     gp += t9;
    0x00406848 addiu sp, sp, -0x47e0                 |     
    0x0040684c sw ra, 0x47dc(sp)                     |     *(arg_47dch) = ra;
    0x00406850 sw fp, 0x47d8(sp)                     |     *(arg_47d8h) = fp;
    0x00406854 sw s0, 0x47d4(sp)                     |     *(arg_47d4h) = s0;
    0x00406858 move fp, sp                           |     fp = sp;
    0x0040685c sw gp, 0x18(sp)                       |     *(arg_18h) = gp;
    0x00406860 sw a0, 0x24(fp)                       |     *(arg_24h) = a0;
    0x00406864 sw a1, 0x20(fp)                       |     *(arg_20h) = a1;
    0x00406868 lw t8, -0x7e18(gp)                    |     t8 = *((gp - 8070));
    0x0040686c lw t8, (t8)                           |     t8 = *(t8);
    0x00406870 sw t8, 0x47cc(fp)                     |     *(arg_47cch) = t8;
    0x00406874 addiu t8, zero, 1                     |     t8 = 1;
    0x00406878 sb t8, 0x2b(fp)                       |     *(arg_2bh) = t8;
    0x0040687c addiu v0, fp, 0x474c                  |     v0 = fp + 0x474c;
    0x00406880 addiu t8, zero, 0x80                  |     t8 = 0x80;
    0x00406884 move a0, v0                           |     a0 = v0;
    0x00406888 move a1, zero                         |     a1 = 0;
    0x0040688c move a2, t8                           |     a2 = t8;
    0x00406890 lw t8, -0x7ee0(gp)                    |     t8 = sym.imp.memset;
    0x00406894 move t9, t8                           |     t9 = t8;
    0x00406898 jalr t9                               |     t9 ();
    0x0040689c nop                                   |     
    0x004068a0 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004068a4 addiu t8, fp, 0x11e4                  |     t8 = fp + 0x11e4;
    0x004068a8 move a0, t8                           |     a0 = t8;
    0x004068ac lw t8, -0x7fd0(gp)                    |     t8 = *(gp);
    0x004068b0 move t9, t8                           |     t9 = t8;
    0x004068b4 jalr t9                               |     t9 ();
    0x004068b8 nop                                   |     
    0x004068bc lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004068c0 addiu t8, fp, 0x1cc                   |     t8 = fp + 0x1cc;
    0x004068c4 move a0, t8                           |     a0 = t8;
    0x004068c8 lw t8, -0x7fd4(gp)                    |     t8 = *(gp);
    0x004068cc move t9, t8                           |     t9 = t8;
    0x004068d0 jalr t9                               |     t9 ();
    0x004068d4 nop                                   |     
    0x004068d8 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004068dc addiu v0, fp, 0x470c                  |     v0 = fp + 0x470c;
    0x004068e0 addiu t8, zero, 0x40                  |     t8 = 0x40;
    0x004068e4 move a0, v0                           |     a0 = v0;
    0x004068e8 move a1, zero                         |     a1 = 0;
    0x004068ec move a2, t8                           |     a2 = t8;
    0x004068f0 lw t8, -0x7ee0(gp)                    |     t8 = sym.imp.memset;
    0x004068f4 move t9, t8                           |     t9 = t8;
    0x004068f8 jalr t9                               |     t9 ();
    0x004068fc nop                                   |     
    0x00406900 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406904 addiu t8, fp, 0x1cc                   |     t8 = fp + 0x1cc;
    0x00406908 move a0, t8                           |     a0 = t8;
    0x0040690c lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.Host */
    0x00406910 addiu a1, t8, -0x6cfc                 |     a1 = t8 + -0x6cfc;
    0x00406914 move a2, zero                         |     a2 = 0;
    0x00406918 lw t8, -0x7f08(gp)                    |     t8 = *(gp);
    0x0040691c move t9, t8                           |     t9 = t8;
    0x00406920 jalr t9                               |     t9 ();
    0x00406924 nop                                   |     
    0x00406928 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040692c addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x00406930 move a0, t8                           |     a0 = t8;
    0x00406934 lw t8, -0x7f2c(gp)                    |     t8 = *(gp);
    0x00406938 move t9, t8                           |     t9 = t8;
    0x0040693c jalr t9                               |     t9 ();
    0x00406940 nop                                   |     
    0x00406944 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406948 addiu v0, fp, 0x30                    |     v0 = fp + 0x30;
    0x0040694c addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x00406950 move a0, v0                           |     a0 = v0;
    0x00406954 lw v0, -0x7fdc(gp)                    |     v0 = *((gp - 8183));
                                                     |     /* str.CameraName */
    0x00406958 addiu a1, v0, -0x6cf4                 |     a1 = v0 + -0x6cf4;
    0x0040695c move a2, t8                           |     a2 = t8;
    0x00406960 lw t8, -0x7ec0(gp)                    |     t8 = *(gp);
    0x00406964 move t9, t8                           |     t9 = t8;
    0x00406968 jalr t9                               |     t9 ();
    0x0040696c nop                                   |     
    0x00406970 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406974 addiu v1, fp, 0x34                    |     v1 = fp + 0x34;
    0x00406978 addiu v0, fp, 0x1cc                   |     v0 = fp + 0x1cc;
    0x0040697c addiu t8, fp, 0x30                    |     t8 = fp + 0x30;
    0x00406980 move a0, v1                           |     a0 = v1;
    0x00406984 move a1, v0                           |     a1 = v0;
    0x00406988 move a2, t8                           |     a2 = t8;
    0x0040698c lw t8, -0x7eac(gp)                    |     t8 = *(gp);
    0x00406990 move t9, t8                           |     t9 = t8;
    0x00406994 jalr t9                               |     t9 ();
    0x00406998 nop                                   |     
    0x0040699c lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004069a0 addiu t8, fp, 0x34                    |     t8 = fp + 0x34;
    0x004069a4 move a0, t8                           |     a0 = t8;
    0x004069a8 lw t8, -0x7e30(gp)                    |     t8 = *(gp);
    0x004069ac move t9, t8                           |     t9 = t8;
    0x004069b0 jalr t9                               |     t9 ();
    0x004069b4 nop                                   |     
    0x004069b8 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004069bc move t8, v0                           |     t8 = v0;
    0x004069c0 addiu v0, fp, 0x470c                  |     v0 = fp + 0x470c;
    0x004069c4 move a0, v0                           |     a0 = v0;
    0x004069c8 addiu a1, zero, 0x40                  |     a1 = 0x40;
    0x004069cc lw v0, -0x7fdc(gp)                    |     v0 = *((gp - 8183));
                                                     |     /* esilref: '&s' */
    0x004069d0 addiu a2, v0, -0x6ce8                 |     a2 = v0 + -0x6ce8;
    0x004069d4 move a3, t8                           |     a3 = t8;
    0x004069d8 lw t8, -0x7e74(gp)                    |     t8 = sym.imp.snprintf;
    0x004069dc move t9, t8                           |     t9 = t8;
    0x004069e0 jalr t9                               |     t9 ();
    0x004069e4 nop                                   |     
    0x004069e8 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x004069ec addiu t8, fp, 0x34                    |     t8 = fp + 0x34;
    0x004069f0 move a0, t8                           |     a0 = t8;
    0x004069f4 lw t8, -0x7e80(gp)                    |     t8 = *(gp);
    0x004069f8 move t9, t8                           |     t9 = t8;
    0x004069fc jalr t9                               |     t9 ();
    0x00406a00 nop                                   |     
    0x00406a04 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a08 addiu t8, fp, 0x30                    |     t8 = fp + 0x30;
    0x00406a0c move a0, t8                           |     a0 = t8;
    0x00406a10 lw t8, -0x7e80(gp)                    |     t8 = *(gp);
    0x00406a14 move t9, t8                           |     t9 = t8;
    0x00406a18 jalr t9                               |     t9 ();
    0x00406a1c nop                                   |     
    0x00406a20 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a24 addiu t8, fp, 0x2c                    |     t8 = fp + 0x2c;
    0x00406a28 move a0, t8                           |     a0 = t8;
    0x00406a2c lw t8, -0x7ef4(gp)                    |     t8 = *(gp);
    0x00406a30 move t9, t8                           |     t9 = t8;
    0x00406a34 jalr t9                               |     t9 ();
    0x00406a38 nop                                   |     
    0x00406a3c lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a40 addiu t8, fp, 0x1cc                   |     t8 = fp + 0x1cc;
    0x00406a44 move a0, t8                           |     a0 = t8;
    0x00406a48 lw t8, -0x7e0c(gp)                    |     t8 = *(gp);
    0x00406a4c move t9, t8                           |     t9 = t8;
    0x00406a50 jalr t9                               |     t9 ();
    0x00406a54 nop                                   |     
    0x00406a58 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a5c addiu t8, fp, 0x11e4                  |     t8 = fp + 0x11e4;
    0x00406a60 move a0, t8                           |     a0 = t8;
    0x00406a64 lw t8, -0x7f04(gp)                    |     t8 = *(gp);
    0x00406a68 move t9, t8                           |     t9 = t8;
    0x00406a6c jalr t9                               |     t9 ();
    0x00406a70 nop                                   |     
    0x00406a74 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a78 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.ifconfig_apcli0_down */
    0x00406a7c addiu a0, t8, -0x5a20                 |     a0 = t8 + -0x5a20;
    0x00406a80 lw t8, -0x7e28(gp)                    |     t8 = sym.imp.system
    0x00406a84 move t9, t8                           |     t9 = t8;
    0x00406a88 jalr t9                               |     t9 ();
    0x00406a8c nop                                   |     
    0x00406a90 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406a94 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.ifconfig_apcli0_0.0.0.0_up */
    0x00406a98 addiu a0, t8, -0x5a08                 |     a0 = t8 + -0x5a08;
    0x00406a9c lw t8, -0x7e28(gp)                    |     t8 = sym.imp.system
    0x00406aa0 move t9, t8                           |     t9 = t8;
    0x00406aa4 jalr t9                               |     t9 ();
    0x00406aa8 nop                                   |     
    0x00406aac lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406ab0 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str._tmp_wifi_led.pid */
    0x00406ab4 addiu a0, t8, -0x59ec                 |     a0 = t8 + -0x59ec;
    0x00406ab8 addiu a1, zero, 0x11                  |     a1 = 0x11;
    0x00406abc move a2, zero                         |     a2 = 0;
    0x00406ac0 lw t8, -0x7fb8(gp)                    |     t8 = sym.send_signal_ps_char_const__int__int_;
    0x00406ac4 move t9, t8                           |     t9 = t8;
    0x00406ac8 jalr t9                               |     t9 ();
    0x00406acc nop                                   |     
    0x00406ad0 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406ad4 addiu t8, zero, 0x80                  |     t8 = 0x80;
    0x00406ad8 addiu s0, t8, -1                      |     s0 = t8 + -1;
    0x00406adc addiu t8, fp, 0x11e4                  |     t8 = fp + 0x11e4;
    0x00406ae0 move a0, t8                           |     a0 = t8;
    0x00406ae4 lw t8, -0x7e38(gp)                    |     t8 = *(gp);
    0x00406ae8 move t9, t8                           |     t9 = t8;
    0x00406aec jalr t9                               |     t9 ();
    0x00406af0 nop                                   |     
    0x00406af4 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406af8 move t8, v0                           |     t8 = v0;
    0x00406afc addiu v0, fp, 0x474c                  |     v0 = fp + 0x474c;
    0x00406b00 move a0, v0                           |     a0 = v0;
    0x00406b04 move a1, s0                           |     a1 = s0;
    0x00406b08 lw v0, -0x7fdc(gp)                    |     v0 = *((gp - 8183));
                                                     |     /* str.iwpriv_ra0_set_CountryRegion_d */
    0x00406b0c addiu a2, v0, -0x59d8                 |     a2 = v0 + -0x59d8;
    0x00406b10 move a3, t8                           |     a3 = t8;
    0x00406b14 lw t8, -0x7e74(gp)                    |     t8 = sym.imp.snprintf;
    0x00406b18 move t9, t8                           |     t9 = t8;
    0x00406b1c jalr t9                               |     t9 ();
    0x00406b20 nop                                   |     
    0x00406b24 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406b28 addiu t8, fp, 0x474c                  |     t8 = fp + 0x474c;
    0x00406b2c move a0, t8                           |     a0 = t8;
    0x00406b30 lw t8, -0x7e28(gp)                    |     t8 = sym.imp.system
    0x00406b34 move t9, t8                           |     t9 = t8;
    0x00406b38 jalr t9                               |     t9 ();
    0x00406b3c nop                                   |     
    0x00406b40 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406b44 addiu a0, zero, 3                     |     a0 = 3;
    0x00406b48 lw t8, -0x7e34(gp)                    |     t8 = sym.imp.sleep;
    0x00406b4c move t9, t8                           |     t9 = t8;
    0x00406b50 jalr t9                               |     t9 ();
    0x00406b54 nop                                   |     
    0x00406b58 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406b5c lw a0, 0x24(fp)                       |     a0 = *(arg_24h);
    0x00406b60 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.apcli0 */
    0x00406b64 addiu a1, t8, -0x59b8                 |     a1 = t8 + -0x59b8;
    0x00406b68 lw t8, -0x7fb4(gp)                    |     t8 = sym.wps_mtk_apclient_start_int__char_const_;
    0x00406b6c move t9, t8                           |     t9 = t8;
    0x00406b70 jalr t9                               |     t9 ();
    0x00406b74 nop                                   |     
    0x00406b78 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00406b7c b 0x40730c                            |     goto label_0;
    0x00406b80 nop                                   |     
                                                     |     do {
    0x00406b84 move a0, zero                         |         a0 = 0;
    0x00406b88 lw t8, -0x7eb0(gp)                    |         t8 = sym.imp.time;
    0x00406b8c move t9, t8                           |         t9 = t8;
    0x00406b90 jalr t9                               |         t9 ();
    0x00406b94 nop                                   |         
    0x00406b98 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406b9c lw t8, -0x7fb0(gp)                    |         t8 = *((gp - 8172));
    0x00406ba0 sw v0, -0x3d98(t8)                    |         *((t8 - 15768)) = v0;
    0x00406ba4 addiu t8, fp, 0x2c                    |         t8 = fp + 0x2c;
    0x00406ba8 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00406bac lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* str.apcli0 */
    0x00406bb0 addiu a1, v0, -0x59b8                 |         a1 = v0 + -0x59b8;
    0x00406bb4 move a2, t8                           |         a2 = t8;
    0x00406bb8 lw t8, -0x7fac(gp)                    |         t8 = sym.mtk_get_wsc_status_int__char_const__int_;
    0x00406bbc move t9, t8                           |         t9 = t8;
    0x00406bc0 jalr t9                               |         t9 ();
    0x00406bc4 nop                                   |         
    0x00406bc8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406bcc lw t8, 0x2c(fp)                       |         t8 = *(arg_2ch);
    0x00406bd0 addiu v0, zero, 2                     |         v0 = 2;
                                                     |         if (t8 != v0) {
    0x00406bd4 beq t8, v0, 0x406e58                  |             
    0x00406bd8 nop                                   |             
    0x00406bdc slti v0, t8, 3                        |             v0 = (t8 < 3) ? 1 : 0;
                                                     |             if (v0 != 0) {
    0x00406be0 beqz v0, 0x406bf8                     |                 
    0x00406be4 nop                                   |                 
                                                     |                 if (t8 == 0) {
    0x00406be8 beqz t8, 0x406f6c                     |                     goto label_1;
                                                     |                 }
    0x00406bec nop                                   |                 
    0x00406bf0 b 0x407164                            |                 goto label_2;
    0x00406bf4 nop                                   |                 
                                                     |             }
    0x00406bf8 addiu v0, zero, 0x22                  |             v0 = 0x22;
                                                     |             if (t8 != v0) {
    0x00406bfc beq t8, v0, 0x406c18                  |                 
    0x00406c00 nop                                   |                 
    0x00406c04 addiu v0, zero, 0x101                 |                 v0 = 0x101;
                                                     |                 if (t8 == v0) {
    0x00406c08 beq t8, v0, 0x407050                  |                     goto label_3;
                                                     |                 }
    0x00406c0c nop                                   |                 
    0x00406c10 b 0x407164                            |                 goto label_2;
    0x00406c14 nop                                   |                 
                                                     |             }
    0x00406c18 addiu t8, fp, 0x38                    |             t8 = fp + 0x38;
    0x00406c1c lw a0, 0x24(fp)                       |             a0 = *(arg_24h);
    0x00406c20 lw v0, -0x7fdc(gp)                    |             v0 = *((gp - 8183));
                                                     |             /* str.apcli0 */
    0x00406c24 addiu a1, v0, -0x59b8                 |             a1 = v0 + -0x59b8;
    0x00406c28 move a2, t8                           |             a2 = t8;
    0x00406c2c lw t8, -0x7fa8(gp)                    |             t8 = sym.wps_mtk_apclient_get_config_int__char_const__wlan_info_;
    0x00406c30 move t9, t8                           |             t9 = t8;
    0x00406c34 jalr t9                               |             t9 ();
    0x00406c38 nop                                   |             
    0x00406c3c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406c40 move t8, v0                           |             t8 = v0;
    0x00406c44 srl t8, t8, 0x1f                      |             t8 >>= 0x1f;
    0x00406c48 andi t8, t8, 0xff                     |             t8 &= 0xff;
                                                     |             if (t8 != 0) {
    0x00406c4c beqz t8, 0x406c78                     |                 
    0x00406c50 nop                                   |                 
    0x00406c54 lw t8, -0x7fdc(gp)                    |                 t8 = *((gp - 8183));
                                                     |                 /* str.fail_to_update_tinyDB_ */
    0x00406c58 addiu a0, t8, -0x6bac                 |                 a0 = t8 + -0x6bac;
    0x00406c5c lw t8, -0x7f38(gp)                    |                 t8 = sym.imp.puts;
    0x00406c60 move t9, t8                           |                 t9 = t8;
    0x00406c64 jalr t9                               |                 t9 ();
    0x00406c68 nop                                   |                 
    0x00406c6c lw gp, 0x18(fp)                       |                 gp = *(arg_18h);
    0x00406c70 b 0x406c98                            |                 goto label_4;
    0x00406c74 nop                                   |                 
                                                     |             }
    0x00406c78 addiu t8, fp, 0x38                    |             t8 = fp + 0x38;
    0x00406c7c move a0, t8                           |             a0 = t8;
    0x00406c80 lw t8, -0x7fbc(gp)                    |             t8 = *(gp);
                                                     |             /* aav.0x00403210 */
    0x00406c84 addiu t8, t8, 0x3210                  |             t8 += 0x3210;
    0x00406c88 move t9, t8                           |             t9 = t8;
    0x00406c8c jalr t9                               |             t9 ();
    0x00406c90 nop                                   |             
    0x00406c94 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
                                                     | label_4:
    0x00406c98 lw a0, 0x24(fp)                       |             a0 = *(arg_24h);
    0x00406c9c lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.apcli0 */
    0x00406ca0 addiu a1, t8, -0x59b8                 |             a1 = t8 + -0x59b8;
    0x00406ca4 lw t8, -0x7fa4(gp)                    |             t8 = sym.wps_mtk_apclient_stop_int__char_const_;
    0x00406ca8 move t9, t8                           |             t9 = t8;
    0x00406cac jalr t9                               |             t9 ();
    0x00406cb0 nop                                   |             
    0x00406cb4 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406cb8 sb zero, 0x2b(fp)                     |             *(arg_2bh) = 0;
    0x00406cbc addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x00406cc0 addiu v0, fp, 0x474c                  |             v0 = fp + 0x474c;
    0x00406cc4 addiu v1, zero, 2                     |             v1 = 2;
    0x00406cc8 sw v1, 0x10(sp)                       |             *(arg_10h) = v1;
    0x00406ccc move a0, v0                           |             a0 = v0;
    0x00406cd0 move a1, t8                           |             a1 = t8;
    0x00406cd4 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.send_cmd_watchdog__d__d */
    0x00406cd8 addiu a2, t8, -0x6b94                 |             a2 = t8 + -0x6b94;
    0x00406cdc addiu a3, zero, 0x264                 |             a3 = 0x264;
    0x00406ce0 lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x00406ce4 move t9, t8                           |             t9 = t8;
    0x00406ce8 jalr t9                               |             t9 ();
    0x00406cec nop                                   |             
    0x00406cf0 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406cf4 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00406cf8 move a0, t8                           |             a0 = t8;
    0x00406cfc lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00406d00 move t9, t8                           |             t9 = t8;
    0x00406d04 jalr t9                               |             t9 ();
    0x00406d08 nop                                   |             
    0x00406d0c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406d10 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.ifupdown_config */
    0x00406d14 addiu a0, t8, -0x6b7c                 |             a0 = t8 + -0x6b7c;
    0x00406d18 lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00406d1c move t9, t8                           |             t9 = t8;
    0x00406d20 jalr t9                               |             t9 ();
    0x00406d24 nop                                   |             
    0x00406d28 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406d2c addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x00406d30 addiu v0, fp, 0x474c                  |             v0 = fp + 0x474c;
    0x00406d34 move a0, v0                           |             a0 = v0;
    0x00406d38 move a1, t8                           |             a1 = t8;
    0x00406d3c lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str._var_run_udhcpc._s.pid */
    0x00406d40 addiu a2, t8, -0x6b6c                 |             a2 = t8 + -0x6b6c;
    0x00406d44 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.wlan0 */
    0x00406d48 addiu a3, t8, -0x6b54                 |             a3 = t8 + -0x6b54;
    0x00406d4c lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x00406d50 move t9, t8                           |             t9 = t8;
    0x00406d54 jalr t9                               |             t9 ();
    0x00406d58 nop                                   |             
    0x00406d5c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406d60 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00406d64 move a0, t8                           |             a0 = t8;
    0x00406d68 addiu a1, zero, 0xf                   |             a1 = 0xf;
    0x00406d6c addiu a2, zero, 1                     |             a2 = 1;
    0x00406d70 lw t8, -0x7fb8(gp)                    |             t8 = sym.send_signal_ps_char_const__int__int_;
    0x00406d74 move t9, t8                           |             t9 = t8;
    0x00406d78 jalr t9                               |             t9 ();
    0x00406d7c nop                                   |             
    0x00406d80 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406d84 addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x00406d88 addiu v0, fp, 0x474c                  |             v0 = fp + 0x474c;
    0x00406d8c lw v1, -0x7fdc(gp)                    |             v1 = *((gp - 8183));
                                                     |             /* str.wlan0 */
    0x00406d90 addiu v1, v1, -0x6b54                 |             v1 += -0x6b54;
    0x00406d94 sw v1, 0x10(sp)                       |             *(arg_10h) = v1;
    0x00406d98 addiu v1, fp, 0x470c                  |             v1 = fp + 0x470c;
    0x00406d9c sw v1, 0x14(sp)                       |             *(arg_14h) = v1;
    0x00406da0 move a0, v0                           |             a0 = v0;
    0x00406da4 move a1, t8                           |             a1 = t8;
    0x00406da8 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.udhcpc__b__p__var_run_udhcpc._s.pid__i__s__x_hostname:_s */
    0x00406dac addiu a2, t8, -0x6b4c                 |             a2 = t8 + -0x6b4c;
    0x00406db0 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.wlan0 */
    0x00406db4 addiu a3, t8, -0x6b54                 |             a3 = t8 + -0x6b54;
    0x00406db8 lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x00406dbc move t9, t8                           |             t9 = t8;
    0x00406dc0 jalr t9                               |             t9 ();
    0x00406dc4 nop                                   |             
    0x00406dc8 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406dcc addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00406dd0 sw t8, 0x10(sp)                       |             *(arg_10h) = t8;
    0x00406dd4 lw a0, -0x7fc8(gp)                    |             a0 = *(gp);
    0x00406dd8 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.e_1_33m_s__d___se_0m */
    0x00406ddc addiu a1, t8, -0x6c84                 |             a1 = t8 + -0x6c84;
    0x00406de0 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.wps_mtk_apclient */
    0x00406de4 addiu a2, t8, -0x57ac                 |             a2 = t8 + -0x57ac;
    0x00406de8 addiu a3, zero, 0x3ad                 |             a3 = 0x3ad;
    0x00406dec lw t8, -0x7e7c(gp)                    |             t8 = *(gp);
    0x00406df0 move t9, t8                           |             t9 = t8;
    0x00406df4 jalr t9                               |             t9 ();
    0x00406df8 nop                                   |             
    0x00406dfc lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406e00 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00406e04 move a0, t8                           |             a0 = t8;
    0x00406e08 lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00406e0c move t9, t8                           |             t9 = t8;
    0x00406e10 jalr t9                               |             t9 ();
    0x00406e14 nop                                   |             
    0x00406e18 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406e1c addiu a0, zero, 5                     |             a0 = 5;
    0x00406e20 lw t8, -0x7e34(gp)                    |             t8 = sym.imp.sleep;
    0x00406e24 move t9, t8                           |             t9 = t8;
    0x00406e28 jalr t9                               |             t9 ();
    0x00406e2c nop                                   |             
    0x00406e30 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406e34 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.wifiAutoReconnect_ */
    0x00406e38 addiu a0, t8, -0x6b10                 |             a0 = t8 + -0x6b10;
    0x00406e3c lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00406e40 move t9, t8                           |             t9 = t8;
    0x00406e44 jalr t9                               |             t9 ();
    0x00406e48 nop                                   |             
    0x00406e4c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00406e50 b 0x407180                            |             goto label_5;
    0x00406e54 nop                                   |             
                                                     |         }
    0x00406e58 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00406e5c lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.apcli0 */
    0x00406e60 addiu a1, t8, -0x59b8                 |         a1 = t8 + -0x59b8;
    0x00406e64 lw t8, -0x7fa4(gp)                    |         t8 = sym.wps_mtk_apclient_stop_int__char_const_;
    0x00406e68 move t9, t8                           |         t9 = t8;
    0x00406e6c jalr t9                               |         t9 ();
    0x00406e70 nop                                   |         
    0x00406e74 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406e78 sb zero, 0x2b(fp)                     |         *(arg_2bh) = 0;
    0x00406e7c addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x00406e80 addiu v0, fp, 0x474c                  |         v0 = fp + 0x474c;
    0x00406e84 addiu v1, zero, 3                     |         v1 = 3;
    0x00406e88 sw v1, 0x10(sp)                       |         *(arg_10h) = v1;
    0x00406e8c move a0, v0                           |         a0 = v0;
    0x00406e90 move a1, t8                           |         a1 = t8;
    0x00406e94 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.send_cmd_watchdog__d__d */
    0x00406e98 addiu a2, t8, -0x6b94                 |         a2 = t8 + -0x6b94;
    0x00406e9c addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x00406ea0 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x00406ea4 move t9, t8                           |         t9 = t8;
    0x00406ea8 jalr t9                               |         t9 ();
    0x00406eac nop                                   |         
    0x00406eb0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406eb4 addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x00406eb8 move a0, t8                           |         a0 = t8;
    0x00406ebc lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00406ec0 move t9, t8                           |         t9 = t8;
    0x00406ec4 jalr t9                               |         t9 ();
    0x00406ec8 nop                                   |         
    0x00406ecc lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406ed0 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x00406ed4 addiu v0, fp, 0x474c                  |         v0 = fp + 0x474c;
    0x00406ed8 move a0, v0                           |         a0 = v0;
    0x00406edc move a1, t8                           |         a1 = t8;
    0x00406ee0 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str._etc_rc.d_init.d_network.sh_restart */
    0x00406ee4 addiu a2, t8, -0x6afc                 |         a2 = t8 + -0x6afc;
    0x00406ee8 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x00406eec move t9, t8                           |         t9 = t8;
    0x00406ef0 jalr t9                               |         t9 ();
    0x00406ef4 nop                                   |         
    0x00406ef8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406efc addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x00406f00 sw t8, 0x10(sp)                       |         *(arg_10h) = t8;
    0x00406f04 lw a0, -0x7fc8(gp)                    |         a0 = *(gp);
    0x00406f08 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.e_1_33m_s__d___se_0m */
    0x00406f0c addiu a1, t8, -0x6c84                 |         a1 = t8 + -0x6c84;
    0x00406f10 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.wps_mtk_apclient */
    0x00406f14 addiu a2, t8, -0x57ac                 |         a2 = t8 + -0x57ac;
    0x00406f18 addiu a3, zero, 0x3b8                 |         a3 = 0x3b8;
    0x00406f1c lw t8, -0x7e7c(gp)                    |         t8 = *(gp);
    0x00406f20 move t9, t8                           |         t9 = t8;
    0x00406f24 jalr t9                               |         t9 ();
    0x00406f28 nop                                   |         
    0x00406f2c lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406f30 addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x00406f34 move a0, t8                           |         a0 = t8;
    0x00406f38 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00406f3c move t9, t8                           |         t9 = t8;
    0x00406f40 jalr t9                               |         t9 ();
    0x00406f44 nop                                   |         
    0x00406f48 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406f4c addiu a0, zero, 5                     |         a0 = 5;
    0x00406f50 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x00406f54 move t9, t8                           |         t9 = t8;
    0x00406f58 jalr t9                               |         t9 ();
    0x00406f5c nop                                   |         
    0x00406f60 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406f64 b 0x407180                            |         goto label_5;
    0x00406f68 nop                                   |         
                                                     | label_1:
    0x00406f6c lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.ifconfig_apcli0_down */
    0x00406f70 addiu a0, t8, -0x5a20                 |         a0 = t8 + -0x5a20;
    0x00406f74 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00406f78 move t9, t8                           |         t9 = t8;
    0x00406f7c jalr t9                               |         t9 ();
    0x00406f80 nop                                   |         
    0x00406f84 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406f88 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.ifconfig_apcli0_up */
    0x00406f8c addiu a0, t8, -0x59b0                 |         a0 = t8 + -0x59b0;
    0x00406f90 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00406f94 move t9, t8                           |         t9 = t8;
    0x00406f98 jalr t9                               |         t9 ();
    0x00406f9c nop                                   |         
    0x00406fa0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406fa4 addiu s0, zero, 0x7f                  |         s0 = 0x7f;
    0x00406fa8 addiu t8, fp, 0x11e4                  |         t8 = fp + 0x11e4;
    0x00406fac move a0, t8                           |         a0 = t8;
    0x00406fb0 lw t8, -0x7e38(gp)                    |         t8 = *(gp);
    0x00406fb4 move t9, t8                           |         t9 = t8;
    0x00406fb8 jalr t9                               |         t9 ();
    0x00406fbc nop                                   |         
    0x00406fc0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406fc4 move t8, v0                           |         t8 = v0;
    0x00406fc8 addiu v0, fp, 0x474c                  |         v0 = fp + 0x474c;
    0x00406fcc move a0, v0                           |         a0 = v0;
    0x00406fd0 move a1, s0                           |         a1 = s0;
    0x00406fd4 lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* str.iwpriv_ra0_set_CountryRegion_d */
    0x00406fd8 addiu a2, v0, -0x59d8                 |         a2 = v0 + -0x59d8;
    0x00406fdc move a3, t8                           |         a3 = t8;
    0x00406fe0 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x00406fe4 move t9, t8                           |         t9 = t8;
    0x00406fe8 jalr t9                               |         t9 ();
    0x00406fec nop                                   |         
    0x00406ff0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00406ff4 addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x00406ff8 move a0, t8                           |         a0 = t8;
    0x00406ffc lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00407000 move t9, t8                           |         t9 = t8;
    0x00407004 jalr t9                               |         t9 ();
    0x00407008 nop                                   |         
    0x0040700c lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407010 addiu a0, zero, 3                     |         a0 = 3;
    0x00407014 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x00407018 move t9, t8                           |         t9 = t8;
    0x0040701c jalr t9                               |         t9 ();
    0x00407020 nop                                   |         
    0x00407024 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407028 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x0040702c lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.apcli0 */
    0x00407030 addiu a1, t8, -0x59b8                 |         a1 = t8 + -0x59b8;
    0x00407034 lw t8, -0x7fb4(gp)                    |         t8 = sym.wps_mtk_apclient_start_int__char_const_;
    0x00407038 move t9, t8                           |         t9 = t8;
    0x0040703c jalr t9                               |         t9 ();
    0x00407040 nop                                   |         
    0x00407044 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407048 b 0x407180                            |         goto label_5;
    0x0040704c nop                                   |         
                                                     | label_3:
    0x00407050 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00407054 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.apcli0 */
    0x00407058 addiu a1, t8, -0x59b8                 |         a1 = t8 + -0x59b8;
    0x0040705c lw t8, -0x7fa4(gp)                    |         t8 = sym.wps_mtk_apclient_stop_int__char_const_;
    0x00407060 move t9, t8                           |         t9 = t8;
    0x00407064 jalr t9                               |         t9 ();
    0x00407068 nop                                   |         
    0x0040706c lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407070 sb zero, 0x2b(fp)                     |         *(arg_2bh) = 0;
    0x00407074 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x00407078 addiu v0, fp, 0x474c                  |         v0 = fp + 0x474c;
    0x0040707c addiu v1, zero, 3                     |         v1 = 3;
    0x00407080 sw v1, 0x10(sp)                       |         *(arg_10h) = v1;
    0x00407084 move a0, v0                           |         a0 = v0;
    0x00407088 move a1, t8                           |         a1 = t8;
    0x0040708c lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.send_cmd_watchdog__d__d */
    0x00407090 addiu a2, t8, -0x6b94                 |         a2 = t8 + -0x6b94;
    0x00407094 addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x00407098 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x0040709c move t9, t8                           |         t9 = t8;
    0x004070a0 jalr t9                               |         t9 ();
    0x004070a4 nop                                   |         
    0x004070a8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004070ac addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x004070b0 move a0, t8                           |         a0 = t8;
    0x004070b4 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x004070b8 move t9, t8                           |         t9 = t8;
    0x004070bc jalr t9                               |         t9 ();
    0x004070c0 nop                                   |         
    0x004070c4 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004070c8 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x004070cc addiu v0, fp, 0x474c                  |         v0 = fp + 0x474c;
    0x004070d0 move a0, v0                           |         a0 = v0;
    0x004070d4 move a1, t8                           |         a1 = t8;
    0x004070d8 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str._etc_rc.d_init.d_network.sh_restart */
    0x004070dc addiu a2, t8, -0x6afc                 |         a2 = t8 + -0x6afc;
    0x004070e0 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x004070e4 move t9, t8                           |         t9 = t8;
    0x004070e8 jalr t9                               |         t9 ();
    0x004070ec nop                                   |         
    0x004070f0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004070f4 addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x004070f8 sw t8, 0x10(sp)                       |         *(arg_10h) = t8;
    0x004070fc lw a0, -0x7fc8(gp)                    |         a0 = *(gp);
    0x00407100 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.e_1_33m_s__d___se_0m */
    0x00407104 addiu a1, t8, -0x6c84                 |         a1 = t8 + -0x6c84;
    0x00407108 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.wps_mtk_apclient */
    0x0040710c addiu a2, t8, -0x57ac                 |         a2 = t8 + -0x57ac;
    0x00407110 addiu a3, zero, 0x3ca                 |         a3 = 0x3ca;
    0x00407114 lw t8, -0x7e7c(gp)                    |         t8 = *(gp);
    0x00407118 move t9, t8                           |         t9 = t8;
    0x0040711c jalr t9                               |         t9 ();
    0x00407120 nop                                   |         
    0x00407124 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407128 addiu t8, fp, 0x474c                  |         t8 = fp + 0x474c;
    0x0040712c move a0, t8                           |         a0 = t8;
    0x00407130 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00407134 move t9, t8                           |         t9 = t8;
    0x00407138 jalr t9                               |         t9 ();
    0x0040713c nop                                   |         
    0x00407140 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407144 addiu a0, zero, 5                     |         a0 = 5;
    0x00407148 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x0040714c move t9, t8                           |         t9 = t8;
    0x00407150 jalr t9                               |         t9 ();
    0x00407154 nop                                   |         
    0x00407158 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x0040715c b 0x407180                            |         goto label_5;
    0x00407160 nop                                   |         
                                                     | label_2:
    0x00407164 addiu a0, zero, 1                     |         a0 = 1;
    0x00407168 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x0040716c move t9, t8                           |         t9 = t8;
    0x00407170 jalr t9                               |         t9 ();
    0x00407174 nop                                   |         
    0x00407178 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x0040717c nop                                   |         
                                                     | label_5:
    0x00407180 lw t8, -0x7fb0(gp)                    |         t8 = *((gp - 8172));
    0x00407184 lw v0, -0x3d98(t8)                    |         v0 = *((t8 - 3942));
    0x00407188 lw t8, 0x20(fp)                       |         t8 = *(arg_20h);
    0x0040718c subu t8, v0, t8                       |         __asm ("subu t8, v0, t8");
    0x00407190 slti t8, t8, 0x79                     |         t8 = (t8 < 0x79) ? 1 : 0;
                                                     |         if (t8 == 0) {
    0x00407194 bnez t8, 0x4072a8                     |             
    0x00407198 nop                                   |             
    0x0040719c lw a0, 0x24(fp)                       |             a0 = *(arg_24h);
    0x004071a0 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.apcli0 */
    0x004071a4 addiu a1, t8, -0x59b8                 |             a1 = t8 + -0x59b8;
    0x004071a8 lw t8, -0x7fa4(gp)                    |             t8 = sym.wps_mtk_apclient_stop_int__char_const_;
    0x004071ac move t9, t8                           |             t9 = t8;
    0x004071b0 jalr t9                               |             t9 ();
    0x004071b4 nop                                   |             
    0x004071b8 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x004071bc sb zero, 0x2b(fp)                     |             *(arg_2bh) = 0;
    0x004071c0 addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x004071c4 addiu v0, fp, 0x474c                  |             v0 = fp + 0x474c;
    0x004071c8 addiu v1, zero, 3                     |             v1 = 3;
    0x004071cc sw v1, 0x10(sp)                       |             *(arg_10h) = v1;
    0x004071d0 move a0, v0                           |             a0 = v0;
    0x004071d4 move a1, t8                           |             a1 = t8;
    0x004071d8 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.send_cmd_watchdog__d__d */
    0x004071dc addiu a2, t8, -0x6b94                 |             a2 = t8 + -0x6b94;
    0x004071e0 addiu a3, zero, 0x264                 |             a3 = 0x264;
    0x004071e4 lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x004071e8 move t9, t8                           |             t9 = t8;
    0x004071ec jalr t9                               |             t9 ();
    0x004071f0 nop                                   |             
    0x004071f4 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x004071f8 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x004071fc move a0, t8                           |             a0 = t8;
    0x00407200 lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00407204 move t9, t8                           |             t9 = t8;
    0x00407208 jalr t9                               |             t9 ();
    0x0040720c nop                                   |             
    0x00407210 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407214 addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x00407218 addiu v0, fp, 0x474c                  |             v0 = fp + 0x474c;
    0x0040721c move a0, v0                           |             a0 = v0;
    0x00407220 move a1, t8                           |             a1 = t8;
    0x00407224 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str._etc_rc.d_init.d_network.sh_restart */
    0x00407228 addiu a2, t8, -0x6afc                 |             a2 = t8 + -0x6afc;
    0x0040722c lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x00407230 move t9, t8                           |             t9 = t8;
    0x00407234 jalr t9                               |             t9 ();
    0x00407238 nop                                   |             
    0x0040723c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407240 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00407244 sw t8, 0x10(sp)                       |             *(arg_10h) = t8;
    0x00407248 lw a0, -0x7fc8(gp)                    |             a0 = *(gp);
    0x0040724c lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.e_1_33m_s__d___se_0m */
    0x00407250 addiu a1, t8, -0x6c84                 |             a1 = t8 + -0x6c84;
    0x00407254 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.wps_mtk_apclient */
    0x00407258 addiu a2, t8, -0x57ac                 |             a2 = t8 + -0x57ac;
    0x0040725c addiu a3, zero, 0x3db                 |             a3 = 0x3db;
    0x00407260 lw t8, -0x7e7c(gp)                    |             t8 = *(gp);
    0x00407264 move t9, t8                           |             t9 = t8;
    0x00407268 jalr t9                               |             t9 ();
    0x0040726c nop                                   |             
    0x00407270 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407274 addiu t8, fp, 0x474c                  |             t8 = fp + 0x474c;
    0x00407278 move a0, t8                           |             a0 = t8;
    0x0040727c lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00407280 move t9, t8                           |             t9 = t8;
    0x00407284 jalr t9                               |             t9 ();
    0x00407288 nop                                   |             
    0x0040728c lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407290 addiu a0, zero, 5                     |             a0 = 5;
    0x00407294 lw t8, -0x7e34(gp)                    |             t8 = sym.imp.sleep;
    0x00407298 move t9, t8                           |             t9 = t8;
    0x0040729c jalr t9                               |             t9 ();
    0x004072a0 nop                                   |             
    0x004072a4 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
                                                     |         }
    0x004072a8 lw t8, -0x7fb0(gp)                    |         t8 = *((gp - 8172));
    0x004072ac lw v0, -0x3d98(t8)                    |         v0 = *((t8 - 3942));
    0x004072b0 lw t8, 0x20(fp)                       |         t8 = *(arg_20h);
    0x004072b4 subu v1, v0, t8                       |         __asm ("subu v1, v0, t8");
    0x004072b8 lui t8, 0x8888                        |         t8 = 0x88888889;
    0x004072bc ori t8, t8, 0x8889                    |         
    0x004072c0 mult v1, t8                           |         __asm ("mult v1, t8");
    0x004072c4 mfhi t8                               |         __asm ("mfhi t8");
    0x004072c8 addu t8, t8, v1                       |         t8 += v1;
    0x004072cc sra v0, t8, 3                         |         v0 = t8 >> 3;
    0x004072d0 sra t8, v1, 0x1f                      |         t8 = v1 >> 0x1f;
    0x004072d4 subu v0, v0, t8                       |         __asm ("subu v0, v0, t8");
    0x004072d8 move t8, v0                           |         t8 = v0;
    0x004072dc sll t8, t8, 4                         |         t8 <<= 4;
    0x004072e0 subu t8, t8, v0                       |         __asm ("subu t8, t8, v0");
    0x004072e4 subu v0, v1, t8                       |         __asm ("subu v0, v1, t8");
                                                     |         if (v0 == 0) {
    0x004072e8 bnez v0, 0x40730c                     |             
    0x004072ec nop                                   |             
    0x004072f0 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.iwpriv_ra0_set_SiteSurvey1 */
    0x004072f4 addiu a0, t8, -0x599c                 |             a0 = t8 + -0x599c;
    0x004072f8 lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x004072fc move t9, t8                           |             t9 = t8;
    0x00407300 jalr t9                               |             t9 ();
    0x00407304 nop                                   |             
    0x00407308 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
                                                     |         }
                                                     | label_0:
    0x0040730c lbu t8, 0x2b(fp)                      |         t8 = *(arg_2bh);
    0x00407310 bnez t8, 0x406b84                     |         
                                                     |     } while (t8 != 0);
    0x00407314 nop                                   |     
    0x00407318 move s0, zero                         |     s0 = 0;
    0x0040731c addiu t8, fp, 0x1cc                   |     t8 = fp + 0x1cc;
    0x00407320 move a0, t8                           |     a0 = t8;
    0x00407324 lw t8, -0x7ee8(gp)                    |     t8 = sym.imp.TinyDB::TinyDB__;
    0x00407328 move t9, t8                           |     t9 = t8;
    0x0040732c jalr t9                               |     t9 ();
    0x00407330 nop                                   |     
    0x00407334 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407338 addiu t8, fp, 0x11e4                  |     t8 = fp + 0x11e4;
    0x0040733c move a0, t8                           |     a0 = t8;
    0x00407340 lw t8, -0x7e08(gp)                    |     t8 = sym.imp.PIB::PIB__;
    0x00407344 move t9, t8                           |     t9 = t8;
    0x00407348 jalr t9                               |     t9 ();
    0x0040734c nop                                   |     
    0x00407350 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407354 move t8, s0                           |     t8 = s0;
    0x00407358 move v0, t8                           |     v0 = t8;
    0x0040735c lw t8, -0x7e18(gp)                    |     t8 = *((gp - 8070));
    0x00407360 lw v1, 0x47cc(fp)                     |     v1 = *(arg_47cch);
    0x00407364 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v1 != t8) {
    0x00407368 beq v1, t8, 0x407464                  |         
    0x0040736c nop                                   |         
    0x00407370 b 0x407454                            |         goto label_6;
    0x00407374 nop                                   |         
                                                     | label_6:
    0x00407454 lw t8, -0x7ea8(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x00407458 move t9, t8                           |         t9 = t8;
    0x0040745c jalr t9                               |         t9 ();
    0x00407460 nop                                   |         
                                                     |     }
    0x00407464 move sp, fp                           |     
    0x00407468 lw ra, 0x47dc(sp)                     |     ra = *(arg_47dch);
    0x0040746c lw fp, 0x47d8(sp)                     |     fp = *(arg_47d8h);
    0x00407470 lw s0, 0x47d4(sp)                     |     s0 = *(arg_47d4h);
    0x00407474 addiu sp, sp, 0x47e0                  |     
    0x00407478 jr ra                                 |     return v1;
    0x0040747c nop                                   |     
                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x405844 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.wps_mtk_apclient_start_int__char_const_ ()       | void wps_mtk_apclient_start_int_char_const_ () {
                                                                 |     /* wps_mtk_apclient_start(int, char const*) */
    0x00405844 lui gp, 2                                         |     
    0x00405848 addiu gp, gp, -0x1824                             |     
    0x0040584c addu gp, gp, t9                                   |     gp += t9;
    0x00405850 addiu sp, sp, -0x35a8                             |     
    0x00405854 sw ra, 0x35a4(sp)                                 |     *(arg_35a4h) = ra;
    0x00405858 sw fp, 0x35a0(sp)                                 |     *(arg_35a0h) = fp;
    0x0040585c sw s0, 0x359c(sp)                                 |     *(arg_359ch) = s0;
    0x00405860 move fp, sp                                       |     fp = sp;
    0x00405864 sw gp, 0x18(sp)                                   |     *(arg_18h) = gp;
    0x00405868 sw a0, 0x24(fp)                                   |     *(arg_24h) = a0;
    0x0040586c sw a1, 0x20(fp)                                   |     *(arg_20h) = a1;
    0x00405870 lw t8, -0x7e18(gp)                                |     t8 = *((gp - 8070));
    0x00405874 lw t8, (t8)                                       |     t8 = *(t8);
    0x00405878 sw t8, 0x3594(fp)                                 |     *(arg_3594h) = t8;
    0x0040587c addiu t8, fp, 0x2c                                |     t8 = fp + 0x2c;
    0x00405880 move a0, t8                                       |     a0 = t8;
    0x00405884 lw t8, -0x7fd0(gp)                                |     t8 = *(gp);
    0x00405888 move t9, t8                                       |     t9 = t8;
    0x0040588c jalr t9                                           |     t9 ();
    0x00405890 nop                                               |     
    0x00405894 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405898 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str._s__d__ENTER_n */
    0x0040589c addiu a0, t8, -0x69dc                             |     a0 = t8 + -0x69dc;
    0x004058a0 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.wps_mtk_apclient_start */
    0x004058a4 addiu a1, t8, -0x57f0                             |     a1 = t8 + -0x57f0;
    0x004058a8 addiu a2, zero, 0x2a0                             |     a2 = 0x2a0;
    0x004058ac lw t8, -0x7f30(gp)                                |     t8 = sym.imp.printf;
    0x004058b0 move t9, t8                                       |     t9 = t8;
    0x004058b4 jalr t9                                           |     t9 ();
    0x004058b8 nop                                               |     
    0x004058bc lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x004058c0 addiu t8, fp, 0x2c                                |     t8 = fp + 0x2c;
    0x004058c4 move a0, t8                                       |     a0 = t8;
    0x004058c8 lw t8, -0x7f04(gp)                                |     t8 = *(gp);
    0x004058cc move t9, t8                                       |     t9 = t8;
    0x004058d0 jalr t9                                           |     t9 ();
    0x004058d4 nop                                               |     
    0x004058d8 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x004058dc addiu v0, fp, 0x28                                |     v0 = fp + 0x28;
    0x004058e0 addiu t8, fp, 0x2c                                |     t8 = fp + 0x2c;
    0x004058e4 move a0, v0                                       |     a0 = v0;
    0x004058e8 move a1, t8                                       |     a1 = t8;
    0x004058ec lw t8, -0x7ef8(gp)                                |     t8 = *(gp);
    0x004058f0 move t9, t8                                       |     t9 = t8;
    0x004058f4 jalr t9                                           |     t9 ();
    0x004058f8 nop                                               |     
    0x004058fc lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405900 addiu t8, fp, 0x28                                |     t8 = fp + 0x28;
    0x00405904 move a0, t8                                       |     a0 = t8;
    0x00405908 lw t8, -0x7e30(gp)                                |     t8 = *(gp);
    0x0040590c move t9, t8                                       |     t9 = t8;
    0x00405910 jalr t9                                           |     t9 ();
    0x00405914 nop                                               |     
    0x00405918 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x0040591c addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405920 sw v0, 0x10(sp)                                   |     *(arg_10h) = v0;
    0x00405924 move a0, t8                                       |     a0 = t8;
    0x00405928 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x0040592c lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_ApCliSsid__s_ */
    0x00405930 addiu a2, t8, -0x69cc                             |     a2 = t8 + -0x69cc;
    0x00405934 lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405938 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x0040593c move t9, t8                                       |     t9 = t8;
    0x00405940 jalr t9                                           |     t9 ();
    0x00405944 nop                                               |     
    0x00405948 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x0040594c addiu t8, fp, 0x28                                |     t8 = fp + 0x28;
    0x00405950 move a0, t8                                       |     a0 = t8;
    0x00405954 lw t8, -0x7e80(gp)                                |     t8 = *(gp);
    0x00405958 move t9, t8                                       |     t9 = t8;
    0x0040595c jalr t9                                           |     t9 ();
    0x00405960 nop                                               |     
    0x00405964 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405968 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x0040596c move a0, t8                                       |     a0 = t8;
    0x00405970 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405974 move t9, t8                                       |     t9 = t8;
    0x00405978 jalr t9                                           |     t9 ();
    0x0040597c nop                                               |     
    0x00405980 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405984 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405988 move a0, t8                                       |     a0 = t8;
    0x0040598c lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405990 move t9, t8                                       |     t9 = t8;
    0x00405994 jalr t9                                           |     t9 ();
    0x00405998 nop                                               |     
    0x0040599c lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x004059a0 addiu a0, zero, 1                                 |     a0 = 1;
    0x004059a4 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x004059a8 move t9, t8                                       |     t9 = t8;
    0x004059ac jalr t9                                           |     t9 ();
    0x004059b0 nop                                               |     
    0x004059b4 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x004059b8 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x004059bc move a0, t8                                       |     a0 = t8;
    0x004059c0 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x004059c4 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_ApCliEnable1 */
    0x004059c8 addiu a2, t8, -0x69ac                             |     a2 = t8 + -0x69ac;
    0x004059cc lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x004059d0 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x004059d4 move t9, t8                                       |     t9 = t8;
    0x004059d8 jalr t9                                           |     t9 ();
    0x004059dc nop                                               |     
    0x004059e0 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x004059e4 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x004059e8 move a0, t8                                       |     a0 = t8;
    0x004059ec lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x004059f0 move t9, t8                                       |     t9 = t8;
    0x004059f4 jalr t9                                           |     t9 ();
    0x004059f8 nop                                               |     
    0x004059fc lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a00 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405a04 move a0, t8                                       |     a0 = t8;
    0x00405a08 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405a0c move t9, t8                                       |     t9 = t8;
    0x00405a10 jalr t9                                           |     t9 ();
    0x00405a14 nop                                               |     
    0x00405a18 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a1c addiu a0, zero, 1                                 |     a0 = 1;
    0x00405a20 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00405a24 move t9, t8                                       |     t9 = t8;
    0x00405a28 jalr t9                                           |     t9 ();
    0x00405a2c nop                                               |     
    0x00405a30 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a34 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405a38 move a0, t8                                       |     a0 = t8;
    0x00405a3c addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405a40 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscConfMode1 */
    0x00405a44 addiu a2, t8, -0x6990                             |     a2 = t8 + -0x6990;
    0x00405a48 lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405a4c lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405a50 move t9, t8                                       |     t9 = t8;
    0x00405a54 jalr t9                                           |     t9 ();
    0x00405a58 nop                                               |     
    0x00405a5c lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a60 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405a64 move a0, t8                                       |     a0 = t8;
    0x00405a68 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405a6c move t9, t8                                       |     t9 = t8;
    0x00405a70 jalr t9                                           |     t9 ();
    0x00405a74 nop                                               |     
    0x00405a78 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a7c addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405a80 move a0, t8                                       |     a0 = t8;
    0x00405a84 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405a88 move t9, t8                                       |     t9 = t8;
    0x00405a8c jalr t9                                           |     t9 ();
    0x00405a90 nop                                               |     
    0x00405a94 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405a98 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405a9c move a0, t8                                       |     a0 = t8;
    0x00405aa0 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405aa4 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscMode2 */
    0x00405aa8 addiu a2, t8, -0x6974                             |     a2 = t8 + -0x6974;
    0x00405aac lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405ab0 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405ab4 move t9, t8                                       |     t9 = t8;
    0x00405ab8 jalr t9                                           |     t9 ();
    0x00405abc nop                                               |     
    0x00405ac0 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405ac4 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405ac8 move a0, t8                                       |     a0 = t8;
    0x00405acc lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405ad0 move t9, t8                                       |     t9 = t8;
    0x00405ad4 jalr t9                                           |     t9 ();
    0x00405ad8 nop                                               |     
    0x00405adc lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405ae0 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405ae4 move a0, t8                                       |     a0 = t8;
    0x00405ae8 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405aec move t9, t8                                       |     t9 = t8;
    0x00405af0 jalr t9                                           |     t9 ();
    0x00405af4 nop                                               |     
    0x00405af8 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405afc addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405b00 move a0, t8                                       |     a0 = t8;
    0x00405b04 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405b08 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscStatus1 */
    0x00405b0c addiu a2, t8, -0x695c                             |     a2 = t8 + -0x695c;
    0x00405b10 lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405b14 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405b18 move t9, t8                                       |     t9 = t8;
    0x00405b1c jalr t9                                           |     t9 ();
    0x00405b20 nop                                               |     
    0x00405b24 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405b28 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405b2c move a0, t8                                       |     a0 = t8;
    0x00405b30 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405b34 move t9, t8                                       |     t9 = t8;
    0x00405b38 jalr t9                                           |     t9 ();
    0x00405b3c nop                                               |     
    0x00405b40 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405b44 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405b48 move a0, t8                                       |     a0 = t8;
    0x00405b4c lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405b50 move t9, t8                                       |     t9 = t8;
    0x00405b54 jalr t9                                           |     t9 ();
    0x00405b58 nop                                               |     
    0x00405b5c lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405b60 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405b64 move a0, t8                                       |     a0 = t8;
    0x00405b68 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405b6c lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscGetConf1 */
    0x00405b70 addiu a2, t8, -0x6940                             |     a2 = t8 + -0x6940;
    0x00405b74 lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405b78 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405b7c move t9, t8                                       |     t9 = t8;
    0x00405b80 jalr t9                                           |     t9 ();
    0x00405b84 nop                                               |     
    0x00405b88 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405b8c addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405b90 move a0, t8                                       |     a0 = t8;
    0x00405b94 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405b98 move t9, t8                                       |     t9 = t8;
    0x00405b9c jalr t9                                           |     t9 ();
    0x00405ba0 nop                                               |     
    0x00405ba4 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405ba8 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405bac move a0, t8                                       |     a0 = t8;
    0x00405bb0 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405bb4 move t9, t8                                       |     t9 = t8;
    0x00405bb8 jalr t9                                           |     t9 ();
    0x00405bbc nop                                               |     
    0x00405bc0 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405bc4 addiu a0, zero, 1                                 |     a0 = 1;
    0x00405bc8 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00405bcc move t9, t8                                       |     t9 = t8;
    0x00405bd0 jalr t9                                           |     t9 ();
    0x00405bd4 nop                                               |     
    0x00405bd8 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405bdc addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405be0 move a0, t8                                       |     a0 = t8;
    0x00405be4 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405be8 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_ApCliEnable1 */
    0x00405bec addiu a2, t8, -0x69ac                             |     a2 = t8 + -0x69ac;
    0x00405bf0 lw a3, 0x20(fp)                                   |     a3 = *(arg_20h);
    0x00405bf4 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405bf8 move t9, t8                                       |     t9 = t8;
    0x00405bfc jalr t9                                           |     t9 ();
    0x00405c00 nop                                               |     
    0x00405c04 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405c08 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405c0c move a0, t8                                       |     a0 = t8;
    0x00405c10 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405c14 move t9, t8                                       |     t9 = t8;
    0x00405c18 jalr t9                                           |     t9 ();
    0x00405c1c nop                                               |     
    0x00405c20 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405c24 addiu t8, fp, 0x3554                              |     t8 = fp + 0x3554;
    0x00405c28 move a0, t8                                       |     a0 = t8;
    0x00405c2c lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405c30 move t9, t8                                       |     t9 = t8;
    0x00405c34 jalr t9                                           |     t9 ();
    0x00405c38 nop                                               |     
    0x00405c3c lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405c40 addiu a0, zero, 1                                 |     a0 = 1;
    0x00405c44 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00405c48 move t9, t8                                       |     t9 = t8;
    0x00405c4c jalr t9                                           |     t9 ();
    0x00405c50 nop                                               |     
    0x00405c54 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405c58 addiu t8, fp, 0x2c                                |     t8 = fp + 0x2c;
    0x00405c5c move a0, t8                                       |     a0 = t8;
    0x00405c60 lw t8, -0x7e08(gp)                                |     t8 = sym.imp.PIB::PIB__;
    0x00405c64 move t9, t8                                       |     t9 = t8;
    0x00405c68 jalr t9                                           |     t9 ();
    0x00405c6c nop                                               |     
    0x00405c70 lw gp, 0x18(fp)                                   |     gp = *(arg_18h);
    0x00405c74 lw t8, -0x7e18(gp)                                |     t8 = *((gp - 8070));
    0x00405c78 lw v0, 0x3594(fp)                                 |     v0 = *(arg_3594h);
    0x00405c7c lw t8, (t8)                                       |     t8 = *(t8);
                                                                 |     if (v0 == t8) {
    0x00405c80 beq v0, t8, 0x405d08                              |         void (*0x405d08)() ();
                                                                 |     }
    0x00405c84 nop                                               |     
    0x00405c88 b 0x405cf8                                        |     void (*0x405cf8)() ();
    0x00405c8c nop                                               |     
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x405d24 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.wps_mtk_apclient_stop_int__char_const_ ()        | void wps_mtk_apclient_stop_int_char_const_ () {
                                                                 |     /* wps_mtk_apclient_stop(int, char const*) */
    0x00405d24 lui gp, 2                                         |     
    0x00405d28 addiu gp, gp, -0x1d04                             |     
    0x00405d2c addu gp, gp, t9                                   |     gp += t9;
    0x00405d30 addiu sp, sp, -0x70                               |     
    0x00405d34 sw ra, 0x6c(sp)                                   |     *(var_6ch) = ra;
    0x00405d38 sw fp, 0x68(sp)                                   |     *(var_68h) = fp;
    0x00405d3c move fp, sp                                       |     fp = sp;
    0x00405d40 sw gp, 0x10(sp)                                   |     *(var_10h) = gp;
    0x00405d44 sw a0, 0x1c(fp)                                   |     *(arg_1ch) = a0;
    0x00405d48 sw a1, 0x18(fp)                                   |     *(arg_18h) = a1;
    0x00405d4c lw t8, -0x7e18(gp)                                |     t8 = *((gp - 8070));
    0x00405d50 lw t8, (t8)                                       |     t8 = *(t8);
    0x00405d54 sw t8, 0x64(fp)                                   |     *(arg_64h) = t8;
    0x00405d58 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str._s__d__ENTER_n */
    0x00405d5c addiu a0, t8, -0x69dc                             |     a0 = t8 + -0x69dc;
    0x00405d60 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.wps_mtk_apclient_stop */
    0x00405d64 addiu a1, t8, -0x57d8                             |     a1 = t8 + -0x57d8;
    0x00405d68 addiu a2, zero, 0x2c1                             |     a2 = 0x2c1;
    0x00405d6c lw t8, -0x7f30(gp)                                |     t8 = sym.imp.printf;
    0x00405d70 move t9, t8                                       |     t9 = t8;
    0x00405d74 jalr t9                                           |     t9 ();
    0x00405d78 nop                                               |     
    0x00405d7c lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405d80 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405d84 move a0, t8                                       |     a0 = t8;
    0x00405d88 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405d8c lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_ApCliEnable1 */
    0x00405d90 addiu a2, t8, -0x69ac                             |     a2 = t8 + -0x69ac;
    0x00405d94 lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405d98 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405d9c move t9, t8                                       |     t9 = t8;
    0x00405da0 jalr t9                                           |     t9 ();
    0x00405da4 nop                                               |     
    0x00405da8 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405dac addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405db0 move a0, t8                                       |     a0 = t8;
    0x00405db4 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405db8 move t9, t8                                       |     t9 = t8;
    0x00405dbc jalr t9                                           |     t9 ();
    0x00405dc0 nop                                               |     
    0x00405dc4 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405dc8 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405dcc move a0, t8                                       |     a0 = t8;
    0x00405dd0 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405dd4 move t9, t8                                       |     t9 = t8;
    0x00405dd8 jalr t9                                           |     t9 ();
    0x00405ddc nop                                               |     
    0x00405de0 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405de4 addiu a0, zero, 1                                 |     a0 = 1;
    0x00405de8 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00405dec move t9, t8                                       |     t9 = t8;
    0x00405df0 jalr t9                                           |     t9 ();
    0x00405df4 nop                                               |     
    0x00405df8 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405dfc addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405e00 move a0, t8                                       |     a0 = t8;
    0x00405e04 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405e08 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscConfMode0 */
    0x00405e0c addiu a2, t8, -0x6924                             |     a2 = t8 + -0x6924;
    0x00405e10 lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405e14 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405e18 move t9, t8                                       |     t9 = t8;
    0x00405e1c jalr t9                                           |     t9 ();
    0x00405e20 nop                                               |     
    0x00405e24 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405e28 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405e2c move a0, t8                                       |     a0 = t8;
    0x00405e30 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405e34 move t9, t8                                       |     t9 = t8;
    0x00405e38 jalr t9                                           |     t9 ();
    0x00405e3c nop                                               |     
    0x00405e40 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405e44 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405e48 move a0, t8                                       |     a0 = t8;
    0x00405e4c lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405e50 move t9, t8                                       |     t9 = t8;
    0x00405e54 jalr t9                                           |     t9 ();
    0x00405e58 nop                                               |     
    0x00405e5c lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405e60 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405e64 move a0, t8                                       |     a0 = t8;
    0x00405e68 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405e6c lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscMode2 */
    0x00405e70 addiu a2, t8, -0x6974                             |     a2 = t8 + -0x6974;
    0x00405e74 lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405e78 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405e7c move t9, t8                                       |     t9 = t8;
    0x00405e80 jalr t9                                           |     t9 ();
    0x00405e84 nop                                               |     
    0x00405e88 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405e8c addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405e90 move a0, t8                                       |     a0 = t8;
    0x00405e94 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405e98 move t9, t8                                       |     t9 = t8;
    0x00405e9c jalr t9                                           |     t9 ();
    0x00405ea0 nop                                               |     
    0x00405ea4 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405ea8 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405eac move a0, t8                                       |     a0 = t8;
    0x00405eb0 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405eb4 move t9, t8                                       |     t9 = t8;
    0x00405eb8 jalr t9                                           |     t9 ();
    0x00405ebc nop                                               |     
    0x00405ec0 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405ec4 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405ec8 move a0, t8                                       |     a0 = t8;
    0x00405ecc addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405ed0 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscStatus0 */
    0x00405ed4 addiu a2, t8, -0x6908                             |     a2 = t8 + -0x6908;
    0x00405ed8 lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405edc lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405ee0 move t9, t8                                       |     t9 = t8;
    0x00405ee4 jalr t9                                           |     t9 ();
    0x00405ee8 nop                                               |     
    0x00405eec lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405ef0 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405ef4 move a0, t8                                       |     a0 = t8;
    0x00405ef8 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405efc move t9, t8                                       |     t9 = t8;
    0x00405f00 jalr t9                                           |     t9 ();
    0x00405f04 nop                                               |     
    0x00405f08 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405f0c addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405f10 move a0, t8                                       |     a0 = t8;
    0x00405f14 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405f18 move t9, t8                                       |     t9 = t8;
    0x00405f1c jalr t9                                           |     t9 ();
    0x00405f20 nop                                               |     
    0x00405f24 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405f28 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405f2c move a0, t8                                       |     a0 = t8;
    0x00405f30 addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405f34 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_WscGetConf0 */
    0x00405f38 addiu a2, t8, -0x68ec                             |     a2 = t8 + -0x68ec;
    0x00405f3c lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405f40 lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405f44 move t9, t8                                       |     t9 = t8;
    0x00405f48 jalr t9                                           |     t9 ();
    0x00405f4c nop                                               |     
    0x00405f50 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405f54 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405f58 move a0, t8                                       |     a0 = t8;
    0x00405f5c lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405f60 move t9, t8                                       |     t9 = t8;
    0x00405f64 jalr t9                                           |     t9 ();
    0x00405f68 nop                                               |     
    0x00405f6c lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405f70 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405f74 move a0, t8                                       |     a0 = t8;
    0x00405f78 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405f7c move t9, t8                                       |     t9 = t8;
    0x00405f80 jalr t9                                           |     t9 ();
    0x00405f84 nop                                               |     
    0x00405f88 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405f8c addiu a0, zero, 1                                 |     a0 = 1;
    0x00405f90 lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00405f94 move t9, t8                                       |     t9 = t8;
    0x00405f98 jalr t9                                           |     t9 ();
    0x00405f9c nop                                               |     
    0x00405fa0 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405fa4 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405fa8 move a0, t8                                       |     a0 = t8;
    0x00405fac addiu a1, zero, 0x40                              |     a1 = 0x40;
    0x00405fb0 lw t8, -0x7fdc(gp)                                |     t8 = *((gp - 8183));
                                                                 |     /* str.iwpriv__s_set_ApCliEnable1 */
    0x00405fb4 addiu a2, t8, -0x69ac                             |     a2 = t8 + -0x69ac;
    0x00405fb8 lw a3, 0x18(fp)                                   |     a3 = *(arg_18h);
    0x00405fbc lw t8, -0x7e74(gp)                                |     t8 = sym.imp.snprintf;
    0x00405fc0 move t9, t8                                       |     t9 = t8;
    0x00405fc4 jalr t9                                           |     t9 ();
    0x00405fc8 nop                                               |     
    0x00405fcc lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405fd0 addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405fd4 move a0, t8                                       |     a0 = t8;
    0x00405fd8 lw t8, -0x7f38(gp)                                |     t8 = sym.imp.puts;
    0x00405fdc move t9, t8                                       |     t9 = t8;
    0x00405fe0 jalr t9                                           |     t9 ();
    0x00405fe4 nop                                               |     
    0x00405fe8 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00405fec addiu t8, fp, 0x24                                |     t8 = fp + 0x24;
    0x00405ff0 move a0, t8                                       |     a0 = t8;
    0x00405ff4 lw t8, -0x7e28(gp)                                |     t8 = sym.imp.system
    0x00405ff8 move t9, t8                                       |     t9 = t8;
    0x00405ffc jalr t9                                           |     t9 ();
    0x00406000 nop                                               |     
    0x00406004 lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00406008 addiu a0, zero, 1                                 |     a0 = 1;
    0x0040600c lw t8, -0x7e34(gp)                                |     t8 = sym.imp.sleep;
    0x00406010 move t9, t8                                       |     t9 = t8;
    0x00406014 jalr t9                                           |     t9 ();
    0x00406018 nop                                               |     
    0x0040601c lw gp, 0x10(fp)                                   |     gp = *(arg_10h);
    0x00406020 lw t8, -0x7e18(gp)                                |     t8 = *((gp - 8070));
    0x00406024 lw v0, 0x64(fp)                                   |     v0 = *(arg_64h);
    0x00406028 lw t8, (t8)                                       |     t8 = *(t8);
                                                                 |     if (v0 != t8) {
    0x0040602c beq v0, t8, 0x406044                              |         
    0x00406030 nop                                               |         
    0x00406034 lw t8, -0x7ea8(gp)                                |         t8 = sym.imp.__stack_chk_fail;
    0x00406038 move t9, t8                                       |         t9 = t8;
    0x0040603c jalr t9                                           |         t9 ();
    0x00406040 nop                                               |         
                                                                 |     }
    0x00406044 move sp, fp                                       |     
    0x00406048 lw ra, 0x6c(sp)                                   |     ra = *(var_6ch);
    0x0040604c lw fp, 0x68(sp)                                   |     fp = *(var_68h);
    0x00406050 addiu sp, sp, 0x70                                |     
    0x00406054 jr ra                                             |     return v0;
    0x00406058 nop                                               |     
                                                                 | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x4075d0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) sym.wps_mtk_station_int__long_ ()        | void wps_mtk_station_int_long_ () {
                                                     |     /* wps_mtk_station(int, long) */
    0x004075d0 lui gp, 2                             |     
    0x004075d4 addiu gp, gp, -0x35b0                 |     
    0x004075d8 addu gp, gp, t9                       |     gp += t9;
    0x004075dc addiu sp, sp, -0x250                  |     
    0x004075e0 sw ra, 0x24c(sp)                      |     *(var_24ch) = ra;
    0x004075e4 sw fp, 0x248(sp)                      |     *(var_248h) = fp;
    0x004075e8 move fp, sp                           |     fp = sp;
    0x004075ec sw gp, 0x18(sp)                       |     *(var_18h) = gp;
    0x004075f0 sw a0, 0x24(fp)                       |     *(arg_24h) = a0;
    0x004075f4 sw a1, 0x20(fp)                       |     *(arg_20h) = a1;
    0x004075f8 lw t8, -0x7e18(gp)                    |     t8 = *((gp - 8070));
    0x004075fc lw t8, (t8)                           |     t8 = *(t8);
    0x00407600 sw t8, 0x244(fp)                      |     *(arg_244h) = t8;
    0x00407604 addiu t8, zero, 1                     |     t8 = 1;
    0x00407608 sb t8, 0x2b(fp)                       |     *(arg_2bh) = t8;
    0x0040760c addiu v0, fp, 0x1c4                   |     v0 = fp + 0x1c4;
    0x00407610 addiu t8, zero, 0x80                  |     t8 = 0x80;
    0x00407614 move a0, v0                           |     a0 = v0;
    0x00407618 move a1, zero                         |     a1 = 0;
    0x0040761c move a2, t8                           |     a2 = t8;
    0x00407620 lw t8, -0x7ee0(gp)                    |     t8 = sym.imp.memset;
    0x00407624 move t9, t8                           |     t9 = t8;
    0x00407628 jalr t9                               |     t9 ();
    0x0040762c nop                                   |     
    0x00407630 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407634 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.ifconfig_ra0_down */
    0x00407638 addiu a0, t8, -0x5980                 |     a0 = t8 + -0x5980;
    0x0040763c lw t8, -0x7e28(gp)                    |     t8 = sym.imp.system
    0x00407640 move t9, t8                           |     t9 = t8;
    0x00407644 jalr t9                               |     t9 ();
    0x00407648 nop                                   |     
    0x0040764c lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407650 lw t8, -0x7fdc(gp)                    |     t8 = *((gp - 8183));
                                                     |     /* str.ifconfig_ra0_up */
    0x00407654 addiu a0, t8, -0x596c                 |     a0 = t8 + -0x596c;
    0x00407658 lw t8, -0x7e28(gp)                    |     t8 = sym.imp.system
    0x0040765c move t9, t8                           |     t9 = t8;
    0x00407660 jalr t9                               |     t9 ();
    0x00407664 nop                                   |     
    0x00407668 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x0040766c lw a0, 0x24(fp)                       |     a0 = *(arg_24h);
    0x00407670 lw t8, -0x7f90(gp)                    |     t8 = sym.wps_mtk_sta_start_int_;
    0x00407674 move t9, t8                           |     t9 = t8;
    0x00407678 jalr t9                               |     t9 ();
    0x0040767c nop                                   |     
    0x00407680 lw gp, 0x18(fp)                       |     gp = *(arg_18h);
    0x00407684 move t8, v0                           |     t8 = v0;
    0x00407688 srl t8, t8, 0x1f                      |     t8 >>= 0x1f;
    0x0040768c andi t8, t8, 0xff                     |     t8 &= 0xff;
                                                     |     if (t8 != 0) {
    0x00407690 beqz t8, 0x4076a4                     |         
    0x00407694 nop                                   |         
    0x00407698 addiu t8, zero, -1                    |         t8 = -1;
    0x0040769c b 0x407a74                            |         goto label_0;
    0x004076a0 nop                                   |         
                                                     |     }
    0x004076a4 b 0x407a64                            |     goto label_1;
    0x004076a8 nop                                   |     
                                                     |     do {
    0x004076ac addiu t8, fp, 0x2c                    |         t8 = fp + 0x2c;
    0x004076b0 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x004076b4 lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* esilref: 'ra0' */
    0x004076b8 addiu a1, v0, -0x68d0                 |         a1 = v0 + -0x68d0;
    0x004076bc move a2, t8                           |         a2 = t8;
    0x004076c0 lw t8, -0x7fac(gp)                    |         t8 = sym.mtk_get_wsc_status_int__char_const__int_;
    0x004076c4 move t9, t8                           |         t9 = t8;
    0x004076c8 jalr t9                               |         t9 ();
    0x004076cc nop                                   |         
    0x004076d0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004076d4 lw t8, 0x2c(fp)                       |         t8 = *(arg_2ch);
    0x004076d8 addiu v0, zero, 0x22                  |         v0 = 0x22;
                                                     |         if (t8 != v0) {
    0x004076dc beq t8, v0, 0x40772c                  |             
    0x004076e0 nop                                   |             
    0x004076e4 slti v0, t8, 0x23                     |             v0 = (t8 < 0x23) ? 1 : 0;
                                                     |             if (v0 != 0) {
    0x004076e8 beqz v0, 0x40770c                     |                 
    0x004076ec nop                                   |                 
                                                     |                 if (t8 == 0) {
    0x004076f0 beqz t8, 0x4078d4                     |                     goto label_2;
                                                     |                 }
    0x004076f4 nop                                   |                 
    0x004076f8 addiu v0, zero, 2                     |                 v0 = 2;
                                                     |                 if (t8 == v0) {
    0x004076fc beq t8, v0, 0x40785c                  |                     goto label_3;
                                                     |                 }
    0x00407700 nop                                   |                 
    0x00407704 b 0x4079bc                            |                 goto label_4;
    0x00407708 nop                                   |                 
                                                     |             }
    0x0040770c addiu v0, zero, 0x101                 |             v0 = 0x101;
                                                     |             if (t8 == v0) {
    0x00407710 beq t8, v0, 0x40794c                  |                 goto label_5;
                                                     |             }
    0x00407714 nop                                   |             
    0x00407718 addiu v0, zero, 0x102                 |             v0 = 0x102;
                                                     |             if (t8 == v0) {
    0x0040771c beq t8, v0, 0x40799c                  |                 goto label_6;
                                                     |             }
    0x00407720 nop                                   |             
    0x00407724 b 0x4079bc                            |             goto label_4;
    0x00407728 nop                                   |             
                                                     |         }
    0x0040772c addiu t8, fp, 0x30                    |         t8 = fp + 0x30;
    0x00407730 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00407734 lw v0, -0x7fdc(gp)                    |         v0 = *((gp - 8183));
                                                     |         /* esilref: 'ra0' */
    0x00407738 addiu a1, v0, -0x68d0                 |         a1 = v0 + -0x68d0;
    0x0040773c move a2, t8                           |         a2 = t8;
    0x00407740 lw t8, -0x7f8c(gp)                    |         t8 = sym.wps_mtk_sta_get_config_int__char_const__wlan_info_;
    0x00407744 move t9, t8                           |         t9 = t8;
    0x00407748 jalr t9                               |         t9 ();
    0x0040774c nop                                   |         
    0x00407750 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407754 move t8, v0                           |         t8 = v0;
    0x00407758 srl t8, t8, 0x1f                      |         t8 >>= 0x1f;
    0x0040775c andi t8, t8, 0xff                     |         t8 &= 0xff;
                                                     |         if (t8 != 0) {
    0x00407760 beqz t8, 0x40778c                     |             
    0x00407764 nop                                   |             
    0x00407768 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.fail_to_update_tinyDB_ */
    0x0040776c addiu a0, t8, -0x6bac                 |             a0 = t8 + -0x6bac;
    0x00407770 lw t8, -0x7f38(gp)                    |             t8 = sym.imp.puts;
    0x00407774 move t9, t8                           |             t9 = t8;
    0x00407778 jalr t9                               |             t9 ();
    0x0040777c nop                                   |             
    0x00407780 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407784 b 0x4077ac                            |             goto label_7;
    0x00407788 nop                                   |             
                                                     |         }
    0x0040778c addiu t8, fp, 0x30                    |         t8 = fp + 0x30;
    0x00407790 move a0, t8                           |         a0 = t8;
    0x00407794 lw t8, -0x7fbc(gp)                    |         t8 = *(gp);
                                                     |         /* aav.0x00403210 */
    0x00407798 addiu t8, t8, 0x3210                  |         t8 += 0x3210;
    0x0040779c move t9, t8                           |         t9 = t8;
    0x004077a0 jalr t9                               |         t9 ();
    0x004077a4 nop                                   |         
    0x004077a8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
                                                     | label_7:
    0x004077ac sb zero, 0x2b(fp)                     |         *(arg_2bh) = 0;
    0x004077b0 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x004077b4 addiu v0, fp, 0x1c4                   |         v0 = fp + 0x1c4;
    0x004077b8 addiu v1, zero, 2                     |         v1 = 2;
    0x004077bc sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x004077c0 move a0, v0                           |         a0 = v0;
    0x004077c4 move a1, t8                           |         a1 = t8;
    0x004077c8 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.send_cmd_watchdog__d__d */
    0x004077cc addiu a2, t8, -0x6b94                 |         a2 = t8 + -0x6b94;
    0x004077d0 addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x004077d4 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x004077d8 move t9, t8                           |         t9 = t8;
    0x004077dc jalr t9                               |         t9 ();
    0x004077e0 nop                                   |         
    0x004077e4 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004077e8 addiu t8, fp, 0x1c4                   |         t8 = fp + 0x1c4;
    0x004077ec move a0, t8                           |         a0 = t8;
    0x004077f0 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x004077f4 move t9, t8                           |         t9 = t8;
    0x004077f8 jalr t9                               |         t9 ();
    0x004077fc nop                                   |         
    0x00407800 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407804 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.ifupdown_config */
    0x00407808 addiu a0, t8, -0x6b7c                 |         a0 = t8 + -0x6b7c;
    0x0040780c lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00407810 move t9, t8                           |         t9 = t8;
    0x00407814 jalr t9                               |         t9 ();
    0x00407818 nop                                   |         
    0x0040781c lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407820 addiu a0, zero, 5                     |         a0 = 5;
    0x00407824 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x00407828 move t9, t8                           |         t9 = t8;
    0x0040782c jalr t9                               |         t9 ();
    0x00407830 nop                                   |         
    0x00407834 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407838 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.wifiAutoReconnect_ */
    0x0040783c addiu a0, t8, -0x6b10                 |         a0 = t8 + -0x6b10;
    0x00407840 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x00407844 move t9, t8                           |         t9 = t8;
    0x00407848 jalr t9                               |         t9 ();
    0x0040784c nop                                   |         
    0x00407850 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407854 b 0x4079d8                            |         goto label_8;
    0x00407858 nop                                   |         
                                                     | label_3:
    0x0040785c sb zero, 0x2b(fp)                     |         *(arg_2bh) = 0;
    0x00407860 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x00407864 addiu v0, fp, 0x1c4                   |         v0 = fp + 0x1c4;
    0x00407868 addiu v1, zero, 3                     |         v1 = 3;
    0x0040786c sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x00407870 move a0, v0                           |         a0 = v0;
    0x00407874 move a1, t8                           |         a1 = t8;
    0x00407878 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.send_cmd_watchdog__d__d */
    0x0040787c addiu a2, t8, -0x6b94                 |         a2 = t8 + -0x6b94;
    0x00407880 addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x00407884 lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x00407888 move t9, t8                           |         t9 = t8;
    0x0040788c jalr t9                               |         t9 ();
    0x00407890 nop                                   |         
    0x00407894 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407898 addiu t8, fp, 0x1c4                   |         t8 = fp + 0x1c4;
    0x0040789c move a0, t8                           |         a0 = t8;
    0x004078a0 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x004078a4 move t9, t8                           |         t9 = t8;
    0x004078a8 jalr t9                               |         t9 ();
    0x004078ac nop                                   |         
    0x004078b0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004078b4 addiu a0, zero, 5                     |         a0 = 5;
    0x004078b8 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x004078bc move t9, t8                           |         t9 = t8;
    0x004078c0 jalr t9                               |         t9 ();
    0x004078c4 nop                                   |         
    0x004078c8 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004078cc b 0x4079d8                            |         goto label_8;
    0x004078d0 nop                                   |         
                                                     | label_2:
    0x004078d4 sb zero, 0x2b(fp)                     |         *(arg_2bh) = 0;
    0x004078d8 addiu t8, zero, 0x7f                  |         t8 = 0x7f;
    0x004078dc addiu v0, fp, 0x1c4                   |         v0 = fp + 0x1c4;
    0x004078e0 addiu v1, zero, 3                     |         v1 = 3;
    0x004078e4 sw v1, 0x10(sp)                       |         *(var_10h) = v1;
    0x004078e8 move a0, v0                           |         a0 = v0;
    0x004078ec move a1, t8                           |         a1 = t8;
    0x004078f0 lw t8, -0x7fdc(gp)                    |         t8 = *((gp - 8183));
                                                     |         /* str.send_cmd_watchdog__d__d */
    0x004078f4 addiu a2, t8, -0x6b94                 |         a2 = t8 + -0x6b94;
    0x004078f8 addiu a3, zero, 0x264                 |         a3 = 0x264;
    0x004078fc lw t8, -0x7e74(gp)                    |         t8 = sym.imp.snprintf;
    0x00407900 move t9, t8                           |         t9 = t8;
    0x00407904 jalr t9                               |         t9 ();
    0x00407908 nop                                   |         
    0x0040790c lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407910 addiu t8, fp, 0x1c4                   |         t8 = fp + 0x1c4;
    0x00407914 move a0, t8                           |         a0 = t8;
    0x00407918 lw t8, -0x7e28(gp)                    |         t8 = sym.imp.system
    0x0040791c move t9, t8                           |         t9 = t8;
    0x00407920 jalr t9                               |         t9 ();
    0x00407924 nop                                   |         
    0x00407928 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x0040792c addiu a0, zero, 5                     |         a0 = 5;
    0x00407930 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x00407934 move t9, t8                           |         t9 = t8;
    0x00407938 jalr t9                               |         t9 ();
    0x0040793c nop                                   |         
    0x00407940 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407944 b 0x4079d8                            |         goto label_8;
    0x00407948 nop                                   |         
                                                     | label_5:
    0x0040794c addiu a0, zero, 5                     |         a0 = 5;
    0x00407950 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x00407954 move t9, t8                           |         t9 = t8;
    0x00407958 jalr t9                               |         t9 ();
    0x0040795c nop                                   |         
    0x00407960 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407964 lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00407968 lw t8, -0x7fa0(gp)                    |         t8 = sym.mtk_sta_wsc_stop_int_;
    0x0040796c move t9, t8                           |         t9 = t8;
    0x00407970 jalr t9                               |         t9 ();
    0x00407974 nop                                   |         
    0x00407978 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x0040797c lw a0, 0x24(fp)                       |         a0 = *(arg_24h);
    0x00407980 lw t8, -0x7f90(gp)                    |         t8 = sym.wps_mtk_sta_start_int_;
    0x00407984 move t9, t8                           |         t9 = t8;
    0x00407988 jalr t9                               |         t9 ();
    0x0040798c nop                                   |         
    0x00407990 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x00407994 b 0x4079d8                            |         goto label_8;
    0x00407998 nop                                   |         
                                                     | label_6:
    0x0040799c addiu a0, zero, 1                     |         a0 = 1;
    0x004079a0 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x004079a4 move t9, t8                           |         t9 = t8;
    0x004079a8 jalr t9                               |         t9 ();
    0x004079ac nop                                   |         
    0x004079b0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004079b4 b 0x4079d8                            |         goto label_8;
    0x004079b8 nop                                   |         
                                                     | label_4:
    0x004079bc addiu a0, zero, 1                     |         a0 = 1;
    0x004079c0 lw t8, -0x7e34(gp)                    |         t8 = sym.imp.sleep;
    0x004079c4 move t9, t8                           |         t9 = t8;
    0x004079c8 jalr t9                               |         t9 ();
    0x004079cc nop                                   |         
    0x004079d0 lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004079d4 nop                                   |         
                                                     | label_8:
    0x004079d8 move a0, zero                         |         a0 = 0;
    0x004079dc lw t8, -0x7eb0(gp)                    |         t8 = sym.imp.time;
    0x004079e0 move t9, t8                           |         t9 = t8;
    0x004079e4 jalr t9                               |         t9 ();
    0x004079e8 nop                                   |         
    0x004079ec lw gp, 0x18(fp)                       |         gp = *(arg_18h);
    0x004079f0 lw t8, 0x20(fp)                       |         t8 = *(arg_20h);
    0x004079f4 subu t8, v0, t8                       |         __asm ("subu t8, v0, t8");
    0x004079f8 slti t8, t8, 0x79                     |         t8 = (t8 < 0x79) ? 1 : 0;
    0x004079fc xori t8, t8, 1                        |         t8 ^= 1;
    0x00407a00 andi t8, t8, 0xff                     |         t8 &= 0xff;
                                                     |         if (t8 != 0) {
    0x00407a04 beqz t8, 0x407a64                     |             
    0x00407a08 nop                                   |             
    0x00407a0c sb zero, 0x2b(fp)                     |             *(arg_2bh) = 0;
    0x00407a10 addiu t8, zero, 0x7f                  |             t8 = 0x7f;
    0x00407a14 addiu v0, fp, 0x1c4                   |             v0 = fp + 0x1c4;
    0x00407a18 addiu v1, zero, 3                     |             v1 = 3;
    0x00407a1c sw v1, 0x10(sp)                       |             *(var_10h) = v1;
    0x00407a20 move a0, v0                           |             a0 = v0;
    0x00407a24 move a1, t8                           |             a1 = t8;
    0x00407a28 lw t8, -0x7fdc(gp)                    |             t8 = *((gp - 8183));
                                                     |             /* str.send_cmd_watchdog__d__d */
    0x00407a2c addiu a2, t8, -0x6b94                 |             a2 = t8 + -0x6b94;
    0x00407a30 addiu a3, zero, 0x264                 |             a3 = 0x264;
    0x00407a34 lw t8, -0x7e74(gp)                    |             t8 = sym.imp.snprintf;
    0x00407a38 move t9, t8                           |             t9 = t8;
    0x00407a3c jalr t9                               |             t9 ();
    0x00407a40 nop                                   |             
    0x00407a44 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
    0x00407a48 addiu t8, fp, 0x1c4                   |             t8 = fp + 0x1c4;
    0x00407a4c move a0, t8                           |             a0 = t8;
    0x00407a50 lw t8, -0x7e28(gp)                    |             t8 = sym.imp.system
    0x00407a54 move t9, t8                           |             t9 = t8;
    0x00407a58 jalr t9                               |             t9 ();
    0x00407a5c nop                                   |             
    0x00407a60 lw gp, 0x18(fp)                       |             gp = *(arg_18h);
                                                     |         }
                                                     | label_1:
    0x00407a64 lbu t8, 0x2b(fp)                      |         t8 = *(arg_2bh);
    0x00407a68 bnez t8, 0x4076ac                     |         
                                                     |     } while (t8 != 0);
    0x00407a6c nop                                   |     
    0x00407a70 move t8, zero                         |     t8 = 0;
                                                     | label_0:
    0x00407a74 move v0, t8                           |     v0 = t8;
    0x00407a78 lw t8, -0x7e18(gp)                    |     t8 = *((gp - 8070));
    0x00407a7c lw v1, 0x244(fp)                      |     v1 = *(arg_244h);
    0x00407a80 lw t8, (t8)                           |     t8 = *(t8);
                                                     |     if (v1 != t8) {
    0x00407a84 beq v1, t8, 0x407a9c                  |         
    0x00407a88 nop                                   |         
    0x00407a8c lw t8, -0x7ea8(gp)                    |         t8 = sym.imp.__stack_chk_fail;
    0x00407a90 move t9, t8                           |         t9 = t8;
    0x00407a94 jalr t9                               |         t9 ();
    0x00407a98 nop                                   |         
                                                     |     }
    0x00407a9c move sp, fp                           |     
    0x00407aa0 lw ra, 0x24c(sp)                      |     ra = *(var_24ch);
    0x00407aa4 lw fp, 0x248(sp)                      |     fp = *(var_248h);
    0x00407aa8 addiu sp, sp, 0x250                   |     
    0x00407aac jr ra                                 |     return v1;
    0x00407ab0 nop                                   |     
                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/start_wps @ 0x403dbc */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.wps_wireless_extension_int__long_ ()         | void wps_wireless_extension_int_long_ () {
                                                             |     /* wps_wireless_extension(int, long) */
    0x00403dbc lui gp, 2                                     |     
    0x00403dc0 addiu gp, gp, 0x264                           |     
    0x00403dc4 addu gp, gp, t9                               |     gp += t9;
    0x00403dc8 addiu sp, sp, -0x47e0                         |     
    0x00403dcc sw ra, 0x47dc(sp)                             |     *(arg_47dch) = ra;
    0x00403dd0 sw fp, 0x47d8(sp)                             |     *(arg_47d8h) = fp;
    0x00403dd4 sw s0, 0x47d4(sp)                             |     *(arg_47d4h) = s0;
    0x00403dd8 move fp, sp                                   |     fp = sp;
    0x00403ddc sw gp, 0x18(sp)                               |     *(arg_18h) = gp;
    0x00403de0 sw a0, 0x24(fp)                               |     *(arg_24h) = a0;
    0x00403de4 sw a1, 0x20(fp)                               |     *(arg_20h) = a1;
    0x00403de8 lw t8, -0x7e18(gp)                            |     t8 = *((gp - 8070));
    0x00403dec lw t8, (t8)                                   |     t8 = *(t8);
    0x00403df0 sw t8, 0x47cc(fp)                             |     *(arg_47cch) = t8;
    0x00403df4 addiu t8, zero, 1                             |     t8 = 1;
    0x00403df8 sb t8, 0x2b(fp)                               |     *(arg_2bh) = t8;
    0x00403dfc addiu v0, fp, 0x474c                          |     v0 = fp + 0x474c;
    0x00403e00 addiu t8, zero, 0x80                          |     t8 = 0x80;
    0x00403e04 move a0, v0                                   |     a0 = v0;
    0x00403e08 move a1, zero                                 |     a1 = 0;
    0x00403e0c move a2, t8                                   |     a2 = t8;
    0x00403e10 lw t8, -0x7ee0(gp)                            |     t8 = sym.imp.memset;
    0x00403e14 move t9, t8                                   |     t9 = t8;
    0x00403e18 jalr t9                                       |     t9 ();
    0x00403e1c nop                                           |     
    0x00403e20 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403e24 addiu t8, fp, 0x11e4                          |     t8 = fp + 0x11e4;
    0x00403e28 move a0, t8                                   |     a0 = t8;
    0x00403e2c lw t8, -0x7fd0(gp)                            |     t8 = *(gp);
    0x00403e30 move t9, t8                                   |     t9 = t8;
    0x00403e34 jalr t9                                       |     t9 ();
    0x00403e38 nop                                           |     
    0x00403e3c lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403e40 addiu t8, fp, 0x1cc                           |     t8 = fp + 0x1cc;
    0x00403e44 move a0, t8                                   |     a0 = t8;
    0x00403e48 lw t8, -0x7fd4(gp)                            |     t8 = *(gp);
    0x00403e4c move t9, t8                                   |     t9 = t8;
    0x00403e50 jalr t9                                       |     t9 ();
    0x00403e54 nop                                           |     
    0x00403e58 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403e5c addiu v0, fp, 0x470c                          |     v0 = fp + 0x470c;
    0x00403e60 addiu t8, zero, 0x40                          |     t8 = 0x40;
    0x00403e64 move a0, v0                                   |     a0 = v0;
    0x00403e68 move a1, zero                                 |     a1 = 0;
    0x00403e6c move a2, t8                                   |     a2 = t8;
    0x00403e70 lw t8, -0x7ee0(gp)                            |     t8 = sym.imp.memset;
    0x00403e74 move t9, t8                                   |     t9 = t8;
    0x00403e78 jalr t9                                       |     t9 ();
    0x00403e7c nop                                           |     
    0x00403e80 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403e84 addiu t8, fp, 0x1cc                           |     t8 = fp + 0x1cc;
    0x00403e88 move a0, t8                                   |     a0 = t8;
    0x00403e8c lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.Host */
    0x00403e90 addiu a1, t8, -0x6cfc                         |     a1 = t8 + -0x6cfc;
    0x00403e94 move a2, zero                                 |     a2 = 0;
    0x00403e98 lw t8, -0x7f08(gp)                            |     t8 = *(gp);
    0x00403e9c move t9, t8                                   |     t9 = t8;
    0x00403ea0 jalr t9                                       |     t9 ();
    0x00403ea4 nop                                           |     
    0x00403ea8 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403eac addiu t8, fp, 0x28                            |     t8 = fp + 0x28;
    0x00403eb0 move a0, t8                                   |     a0 = t8;
    0x00403eb4 lw t8, -0x7f2c(gp)                            |     t8 = *(gp);
    0x00403eb8 move t9, t8                                   |     t9 = t8;
    0x00403ebc jalr t9                                       |     t9 ();
    0x00403ec0 nop                                           |     
    0x00403ec4 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403ec8 addiu v0, fp, 0x2c                            |     v0 = fp + 0x2c;
    0x00403ecc addiu t8, fp, 0x28                            |     t8 = fp + 0x28;
    0x00403ed0 move a0, v0                                   |     a0 = v0;
    0x00403ed4 lw v0, -0x7fdc(gp)                            |     v0 = *((gp - 8183));
                                                             |     /* str.CameraName */
    0x00403ed8 addiu a1, v0, -0x6cf4                         |     a1 = v0 + -0x6cf4;
    0x00403edc move a2, t8                                   |     a2 = t8;
    0x00403ee0 lw t8, -0x7ec0(gp)                            |     t8 = *(gp);
    0x00403ee4 move t9, t8                                   |     t9 = t8;
    0x00403ee8 jalr t9                                       |     t9 ();
    0x00403eec nop                                           |     
    0x00403ef0 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403ef4 addiu v1, fp, 0x30                            |     v1 = fp + 0x30;
    0x00403ef8 addiu v0, fp, 0x1cc                           |     v0 = fp + 0x1cc;
    0x00403efc addiu t8, fp, 0x2c                            |     t8 = fp + 0x2c;
    0x00403f00 move a0, v1                                   |     a0 = v1;
    0x00403f04 move a1, v0                                   |     a1 = v0;
    0x00403f08 move a2, t8                                   |     a2 = t8;
    0x00403f0c lw t8, -0x7eac(gp)                            |     t8 = *(gp);
    0x00403f10 move t9, t8                                   |     t9 = t8;
    0x00403f14 jalr t9                                       |     t9 ();
    0x00403f18 nop                                           |     
    0x00403f1c lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403f20 addiu t8, fp, 0x30                            |     t8 = fp + 0x30;
    0x00403f24 move a0, t8                                   |     a0 = t8;
    0x00403f28 lw t8, -0x7e30(gp)                            |     t8 = *(gp);
    0x00403f2c move t9, t8                                   |     t9 = t8;
    0x00403f30 jalr t9                                       |     t9 ();
    0x00403f34 nop                                           |     
    0x00403f38 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403f3c move t8, v0                                   |     t8 = v0;
    0x00403f40 addiu v0, fp, 0x470c                          |     v0 = fp + 0x470c;
    0x00403f44 move a0, v0                                   |     a0 = v0;
    0x00403f48 addiu a1, zero, 0x40                          |     a1 = 0x40;
    0x00403f4c lw v0, -0x7fdc(gp)                            |     v0 = *((gp - 8183));
                                                             |     /* esilref: '&s' */
    0x00403f50 addiu a2, v0, -0x6ce8                         |     a2 = v0 + -0x6ce8;
    0x00403f54 move a3, t8                                   |     a3 = t8;
    0x00403f58 lw t8, -0x7e74(gp)                            |     t8 = sym.imp.snprintf;
    0x00403f5c move t9, t8                                   |     t9 = t8;
    0x00403f60 jalr t9                                       |     t9 ();
    0x00403f64 nop                                           |     
    0x00403f68 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403f6c addiu t8, fp, 0x30                            |     t8 = fp + 0x30;
    0x00403f70 move a0, t8                                   |     a0 = t8;
    0x00403f74 lw t8, -0x7e80(gp)                            |     t8 = *(gp);
    0x00403f78 move t9, t8                                   |     t9 = t8;
    0x00403f7c jalr t9                                       |     t9 ();
    0x00403f80 nop                                           |     
    0x00403f84 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403f88 addiu t8, fp, 0x2c                            |     t8 = fp + 0x2c;
    0x00403f8c move a0, t8                                   |     a0 = t8;
    0x00403f90 lw t8, -0x7e80(gp)                            |     t8 = *(gp);
    0x00403f94 move t9, t8                                   |     t9 = t8;
    0x00403f98 jalr t9                                       |     t9 ();
    0x00403f9c nop                                           |     
    0x00403fa0 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403fa4 addiu t8, fp, 0x28                            |     t8 = fp + 0x28;
    0x00403fa8 move a0, t8                                   |     a0 = t8;
    0x00403fac lw t8, -0x7ef4(gp)                            |     t8 = *(gp);
    0x00403fb0 move t9, t8                                   |     t9 = t8;
    0x00403fb4 jalr t9                                       |     t9 ();
    0x00403fb8 nop                                           |     
    0x00403fbc lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403fc0 addiu t8, fp, 0x1cc                           |     t8 = fp + 0x1cc;
    0x00403fc4 move a0, t8                                   |     a0 = t8;
    0x00403fc8 lw t8, -0x7e0c(gp)                            |     t8 = *(gp);
    0x00403fcc move t9, t8                                   |     t9 = t8;
    0x00403fd0 jalr t9                                       |     t9 ();
    0x00403fd4 nop                                           |     
    0x00403fd8 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403fdc addiu t8, fp, 0x11e4                          |     t8 = fp + 0x11e4;
    0x00403fe0 move a0, t8                                   |     a0 = t8;
    0x00403fe4 lw t8, -0x7f04(gp)                            |     t8 = *(gp);
    0x00403fe8 move t9, t8                                   |     t9 = t8;
    0x00403fec jalr t9                                       |     t9 ();
    0x00403ff0 nop                                           |     
    0x00403ff4 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00403ff8 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.ifconfig_wlan0_down */
    0x00403ffc addiu a0, t8, -0x6ce4                         |     a0 = t8 + -0x6ce4;
    0x00404000 lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x00404004 move t9, t8                                   |     t9 = t8;
    0x00404008 jalr t9                                       |     t9 ();
    0x0040400c nop                                           |     
    0x00404010 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404014 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.ifconfig_wlan0_0.0.0.0_up */
    0x00404018 addiu a0, t8, -0x6cd0                         |     a0 = t8 + -0x6cd0;
    0x0040401c lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x00404020 move t9, t8                                   |     t9 = t8;
    0x00404024 jalr t9                                       |     t9 ();
    0x00404028 nop                                           |     
    0x0040402c lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404030 addiu a0, zero, 3                             |     a0 = 3;
    0x00404034 lw t8, -0x7e34(gp)                            |     t8 = sym.imp.sleep;
    0x00404038 move t9, t8                                   |     t9 = t8;
    0x0040403c jalr t9                                       |     t9 ();
    0x00404040 nop                                           |     
    0x00404044 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404048 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str._tmp_wpa_supplicant.pid */
    0x0040404c addiu a0, t8, -0x6cb4                         |     a0 = t8 + -0x6cb4;
    0x00404050 addiu a1, zero, 0xf                           |     a1 = 0xf;
    0x00404054 lw t8, -0x7fcc(gp)                            |     t8 = sym.wps_kill_pid_char__int_;
    0x00404058 move t9, t8                                   |     t9 = t8;
    0x0040405c jalr t9                                       |     t9 ();
    0x00404060 nop                                           |     
    0x00404064 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404068 addiu t8, zero, 0x7f                          |     t8 = 0x7f;
    0x0040406c addiu v0, fp, 0x474c                          |     v0 = fp + 0x474c;
    0x00404070 move a0, v0                                   |     a0 = v0;
    0x00404074 move a1, t8                                   |     a1 = t8;
    0x00404078 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.send_cmd_watchdog__d */
    0x0040407c addiu a2, t8, -0x6c9c                         |     a2 = t8 + -0x6c9c;
    0x00404080 addiu a3, zero, 0x27d                         |     a3 = 0x27d;
    0x00404084 lw t8, -0x7e74(gp)                            |     t8 = sym.imp.snprintf;
    0x00404088 move t9, t8                                   |     t9 = t8;
    0x0040408c jalr t9                                       |     t9 ();
    0x00404090 nop                                           |     
    0x00404094 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404098 addiu t8, fp, 0x474c                          |     t8 = fp + 0x474c;
    0x0040409c sw t8, 0x10(sp)                               |     *(arg_10h) = t8;
    0x004040a0 lw a0, -0x7fc8(gp)                            |     a0 = *(gp);
    0x004040a4 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.e_1_33m_s__d___se_0m */
    0x004040a8 addiu a1, t8, -0x6c84                         |     a1 = t8 + -0x6c84;
    0x004040ac lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.wps_wireless_extension */
    0x004040b0 addiu a2, t8, -0x583c                         |     a2 = t8 + -0x583c;
    0x004040b4 addiu a3, zero, 0x1a9                         |     a3 = 0x1a9;
    0x004040b8 lw t8, -0x7e7c(gp)                            |     t8 = *(gp);
    0x004040bc move t9, t8                                   |     t9 = t8;
    0x004040c0 jalr t9                                       |     t9 ();
    0x004040c4 nop                                           |     
    0x004040c8 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x004040cc addiu t8, fp, 0x474c                          |     t8 = fp + 0x474c;
    0x004040d0 move a0, t8                                   |     a0 = t8;
    0x004040d4 lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x004040d8 move t9, t8                                   |     t9 = t8;
    0x004040dc jalr t9                                       |     t9 ();
    0x004040e0 nop                                           |     
    0x004040e4 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x004040e8 lw t8, -0x7fc4(gp)                            |     t8 = sym.wps_create_wpa_supplicant_config__;
    0x004040ec move t9, t8                                   |     t9 = t8;
    0x004040f0 jalr t9                                       |     t9 ();
    0x004040f4 nop                                           |     
    0x004040f8 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x004040fc move t8, v0                                   |     t8 = v0;
    0x00404100 srl t8, t8, 0x1f                              |     t8 >>= 0x1f;
    0x00404104 andi t8, t8, 0xff                             |     t8 &= 0xff;
                                                             |     if (t8 != 0) {
    0x00404108 beqz t8, 0x40412c                             |         
    0x0040410c nop                                           |         
    0x00404110 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.Creat_wpa_supplicant_configuration_file_failure. */
    0x00404114 addiu a0, t8, -0x6c6c                         |         a0 = t8 + -0x6c6c;
    0x00404118 lw t8, -0x7f38(gp)                            |         t8 = sym.imp.puts;
    0x0040411c move t9, t8                                   |         t9 = t8;
    0x00404120 jalr t9                                       |         t9 ();
    0x00404124 nop                                           |         
    0x00404128 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
                                                             |     }
    0x0040412c lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.wpa_supplicant__B__c__tmp_wpa_supplicant.conf__i_wlan0__P__tmp_wpa_supplicant.pid */
    0x00404130 addiu a0, t8, -0x6c38                         |     a0 = t8 + -0x6c38;
    0x00404134 lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x00404138 move t9, t8                                   |     t9 = t8;
    0x0040413c jalr t9                                       |     t9 ();
    0x00404140 nop                                           |     
    0x00404144 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404148 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.wpa_cli__i_wlan0_disconnect */
    0x0040414c addiu a0, t8, -0x6be4                         |     a0 = t8 + -0x6be4;
    0x00404150 lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x00404154 move t9, t8                                   |     t9 = t8;
    0x00404158 jalr t9                                       |     t9 ();
    0x0040415c nop                                           |     
    0x00404160 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404164 lw t8, -0x7fdc(gp)                            |     t8 = *((gp - 8183));
                                                             |     /* str.wpa_cli__i_wlan0_wps_pbc */
    0x00404168 addiu a0, t8, -0x6bc8                         |     a0 = t8 + -0x6bc8;
    0x0040416c lw t8, -0x7e28(gp)                            |     t8 = sym.imp.system
    0x00404170 move t9, t8                                   |     t9 = t8;
    0x00404174 jalr t9                                       |     t9 ();
    0x00404178 nop                                           |     
    0x0040417c lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404180 b 0x40475c                                    |     goto label_0;
    0x00404184 nop                                           |     
                                                             |     do {
    0x00404188 lw t8, -0x7fc0(gp)                            |         t8 = sym.wps_go_get_wps_status__;
    0x0040418c move t9, t8                                   |         t9 = t8;
    0x00404190 jalr t9                                       |         t9 ();
    0x00404194 nop                                           |         
    0x00404198 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x0040419c move t8, v0                                   |         t8 = v0;
    0x004041a0 sw t8, 0x34(fp)                               |         *(arg_34h) = t8;
    0x004041a4 lw t8, 0x34(fp)                               |         t8 = *(arg_34h);
    0x004041a8 addiu v0, zero, 5                             |         v0 = 5;
                                                             |         if (t8 != v0) {
    0x004041ac beq t8, v0, 0x4041d4                          |             
    0x004041b0 nop                                           |             
    0x004041b4 addiu v0, zero, 6                             |             v0 = 6;
                                                             |             if (t8 == v0) {
    0x004041b8 beq t8, v0, 0x4044f8                          |                 goto label_1;
                                                             |             }
    0x004041bc nop                                           |             
    0x004041c0 addiu v0, zero, 4                             |             v0 = 4;
                                                             |             if (t8 == v0) {
    0x004041c4 beq t8, v0, 0x4043ec                          |                 goto label_2;
                                                             |             }
    0x004041c8 nop                                           |             
    0x004041cc b 0x404604                                    |             goto label_3;
    0x004041d0 nop                                           |             
                                                             |         }
    0x004041d4 addiu t8, fp, 0x38                            |         t8 = fp + 0x38;
    0x004041d8 move a0, t8                                   |         a0 = t8;
    0x004041dc lw t8, -0x7fbc(gp)                            |         t8 = *(gp);
                                                             |         /* aav.0x004027f4 */
    0x004041e0 addiu t8, t8, 0x27f4                          |         t8 += 0x27f4;
    0x004041e4 move t9, t8                                   |         t9 = t8;
    0x004041e8 jalr t9                                       |         t9 ();
    0x004041ec nop                                           |         
    0x004041f0 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004041f4 move t8, v0                                   |         t8 = v0;
    0x004041f8 srl t8, t8, 0x1f                              |         t8 >>= 0x1f;
    0x004041fc andi t8, t8, 0xff                             |         t8 &= 0xff;
                                                             |         if (t8 != 0) {
    0x00404200 beqz t8, 0x40422c                             |             
    0x00404204 nop                                           |             
    0x00404208 lw t8, -0x7fdc(gp)                            |             t8 = *((gp - 8183));
                                                             |             /* str.fail_to_update_tinyDB_ */
    0x0040420c addiu a0, t8, -0x6bac                         |             a0 = t8 + -0x6bac;
    0x00404210 lw t8, -0x7f38(gp)                            |             t8 = sym.imp.puts;
    0x00404214 move t9, t8                                   |             t9 = t8;
    0x00404218 jalr t9                                       |             t9 ();
    0x0040421c nop                                           |             
    0x00404220 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x00404224 b 0x40424c                                    |             goto label_4;
    0x00404228 nop                                           |             
                                                             |         }
    0x0040422c addiu t8, fp, 0x38                            |         t8 = fp + 0x38;
    0x00404230 move a0, t8                                   |         a0 = t8;
    0x00404234 lw t8, -0x7fbc(gp)                            |         t8 = *(gp);
                                                             |         /* aav.0x00403210 */
    0x00404238 addiu t8, t8, 0x3210                          |         t8 += 0x3210;
    0x0040423c move t9, t8                                   |         t9 = t8;
    0x00404240 jalr t9                                       |         t9 ();
    0x00404244 nop                                           |         
    0x00404248 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
                                                             | label_4:
    0x0040424c sb zero, 0x2b(fp)                             |         *(arg_2bh) = 0;
    0x00404250 addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x00404254 addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x00404258 addiu v1, zero, 2                             |         v1 = 2;
    0x0040425c sw v1, 0x10(sp)                               |         *(arg_10h) = v1;
    0x00404260 move a0, v0                                   |         a0 = v0;
    0x00404264 move a1, t8                                   |         a1 = t8;
    0x00404268 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.send_cmd_watchdog__d__d */
    0x0040426c addiu a2, t8, -0x6b94                         |         a2 = t8 + -0x6b94;
    0x00404270 addiu a3, zero, 0x264                         |         a3 = 0x264;
    0x00404274 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404278 move t9, t8                                   |         t9 = t8;
    0x0040427c jalr t9                                       |         t9 ();
    0x00404280 nop                                           |         
    0x00404284 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404288 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x0040428c move a0, t8                                   |         a0 = t8;
    0x00404290 lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x00404294 move t9, t8                                   |         t9 = t8;
    0x00404298 jalr t9                                       |         t9 ();
    0x0040429c nop                                           |         
    0x004042a0 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004042a4 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.ifupdown_config */
    0x004042a8 addiu a0, t8, -0x6b7c                         |         a0 = t8 + -0x6b7c;
    0x004042ac lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x004042b0 move t9, t8                                   |         t9 = t8;
    0x004042b4 jalr t9                                       |         t9 ();
    0x004042b8 nop                                           |         
    0x004042bc lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004042c0 addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x004042c4 addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x004042c8 move a0, v0                                   |         a0 = v0;
    0x004042cc move a1, t8                                   |         a1 = t8;
    0x004042d0 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str._var_run_udhcpc._s.pid */
    0x004042d4 addiu a2, t8, -0x6b6c                         |         a2 = t8 + -0x6b6c;
    0x004042d8 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wlan0 */
    0x004042dc addiu a3, t8, -0x6b54                         |         a3 = t8 + -0x6b54;
    0x004042e0 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x004042e4 move t9, t8                                   |         t9 = t8;
    0x004042e8 jalr t9                                       |         t9 ();
    0x004042ec nop                                           |         
    0x004042f0 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004042f4 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x004042f8 move a0, t8                                   |         a0 = t8;
    0x004042fc addiu a1, zero, 0xf                           |         a1 = 0xf;
    0x00404300 addiu a2, zero, 1                             |         a2 = 1;
    0x00404304 lw t8, -0x7fb8(gp)                            |         t8 = sym.send_signal_ps_char_const__int__int_;
    0x00404308 move t9, t8                                   |         t9 = t8;
    0x0040430c jalr t9                                       |         t9 ();
    0x00404310 nop                                           |         
    0x00404314 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404318 addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x0040431c addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x00404320 lw v1, -0x7fdc(gp)                            |         v1 = *((gp - 8183));
                                                             |         /* str.wlan0 */
    0x00404324 addiu v1, v1, -0x6b54                         |         v1 += -0x6b54;
    0x00404328 sw v1, 0x10(sp)                               |         *(arg_10h) = v1;
    0x0040432c addiu v1, fp, 0x470c                          |         v1 = fp + 0x470c;
    0x00404330 sw v1, 0x14(sp)                               |         *(arg_14h) = v1;
    0x00404334 move a0, v0                                   |         a0 = v0;
    0x00404338 move a1, t8                                   |         a1 = t8;
    0x0040433c lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.udhcpc__b__p__var_run_udhcpc._s.pid__i__s__x_hostname:_s */
    0x00404340 addiu a2, t8, -0x6b4c                         |         a2 = t8 + -0x6b4c;
    0x00404344 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wlan0 */
    0x00404348 addiu a3, t8, -0x6b54                         |         a3 = t8 + -0x6b54;
    0x0040434c lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404350 move t9, t8                                   |         t9 = t8;
    0x00404354 jalr t9                                       |         t9 ();
    0x00404358 nop                                           |         
    0x0040435c lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404360 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x00404364 sw t8, 0x10(sp)                               |         *(arg_10h) = t8;
    0x00404368 lw a0, -0x7fc8(gp)                            |         a0 = *(gp);
    0x0040436c lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.e_1_33m_s__d___se_0m */
    0x00404370 addiu a1, t8, -0x6c84                         |         a1 = t8 + -0x6c84;
    0x00404374 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wps_wireless_extension */
    0x00404378 addiu a2, t8, -0x583c                         |         a2 = t8 + -0x583c;
    0x0040437c addiu a3, zero, 0x1c6                         |         a3 = 0x1c6;
    0x00404380 lw t8, -0x7e7c(gp)                            |         t8 = *(gp);
    0x00404384 move t9, t8                                   |         t9 = t8;
    0x00404388 jalr t9                                       |         t9 ();
    0x0040438c nop                                           |         
    0x00404390 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404394 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x00404398 move a0, t8                                   |         a0 = t8;
    0x0040439c lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x004043a0 move t9, t8                                   |         t9 = t8;
    0x004043a4 jalr t9                                       |         t9 ();
    0x004043a8 nop                                           |         
    0x004043ac lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004043b0 addiu a0, zero, 5                             |         a0 = 5;
    0x004043b4 lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x004043b8 move t9, t8                                   |         t9 = t8;
    0x004043bc jalr t9                                       |         t9 ();
    0x004043c0 nop                                           |         
    0x004043c4 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004043c8 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wifiAutoReconnect_ */
    0x004043cc addiu a0, t8, -0x6b10                         |         a0 = t8 + -0x6b10;
    0x004043d0 lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x004043d4 move t9, t8                                   |         t9 = t8;
    0x004043d8 jalr t9                                       |         t9 ();
    0x004043dc nop                                           |         
    0x004043e0 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004043e4 b 0x404620                                    |         goto label_5;
    0x004043e8 nop                                           |         
                                                             | label_2:
    0x004043ec sb zero, 0x2b(fp)                             |         *(arg_2bh) = 0;
    0x004043f0 addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x004043f4 addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x004043f8 addiu v1, zero, 3                             |         v1 = 3;
    0x004043fc sw v1, 0x10(sp)                               |         *(arg_10h) = v1;
    0x00404400 move a0, v0                                   |         a0 = v0;
    0x00404404 move a1, t8                                   |         a1 = t8;
    0x00404408 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.send_cmd_watchdog__d__d */
    0x0040440c addiu a2, t8, -0x6b94                         |         a2 = t8 + -0x6b94;
    0x00404410 addiu a3, zero, 0x264                         |         a3 = 0x264;
    0x00404414 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404418 move t9, t8                                   |         t9 = t8;
    0x0040441c jalr t9                                       |         t9 ();
    0x00404420 nop                                           |         
    0x00404424 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404428 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x0040442c move a0, t8                                   |         a0 = t8;
    0x00404430 lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x00404434 move t9, t8                                   |         t9 = t8;
    0x00404438 jalr t9                                       |         t9 ();
    0x0040443c nop                                           |         
    0x00404440 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404444 addiu a0, zero, 3                             |         a0 = 3;
    0x00404448 lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x0040444c move t9, t8                                   |         t9 = t8;
    0x00404450 jalr t9                                       |         t9 ();
    0x00404454 nop                                           |         
    0x00404458 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x0040445c addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x00404460 addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x00404464 move a0, v0                                   |         a0 = v0;
    0x00404468 move a1, t8                                   |         a1 = t8;
    0x0040446c lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str._etc_rc.d_init.d_network.sh_restart */
    0x00404470 addiu a2, t8, -0x6afc                         |         a2 = t8 + -0x6afc;
    0x00404474 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404478 move t9, t8                                   |         t9 = t8;
    0x0040447c jalr t9                                       |         t9 ();
    0x00404480 nop                                           |         
    0x00404484 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404488 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x0040448c sw t8, 0x10(sp)                               |         *(arg_10h) = t8;
    0x00404490 lw a0, -0x7fc8(gp)                            |         a0 = *(gp);
    0x00404494 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.e_1_33m_s__d___se_0m */
    0x00404498 addiu a1, t8, -0x6c84                         |         a1 = t8 + -0x6c84;
    0x0040449c lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wps_wireless_extension */
    0x004044a0 addiu a2, t8, -0x583c                         |         a2 = t8 + -0x583c;
    0x004044a4 addiu a3, zero, 0x1d1                         |         a3 = 0x1d1;
    0x004044a8 lw t8, -0x7e7c(gp)                            |         t8 = *(gp);
    0x004044ac move t9, t8                                   |         t9 = t8;
    0x004044b0 jalr t9                                       |         t9 ();
    0x004044b4 nop                                           |         
    0x004044b8 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004044bc addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x004044c0 move a0, t8                                   |         a0 = t8;
    0x004044c4 lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x004044c8 move t9, t8                                   |         t9 = t8;
    0x004044cc jalr t9                                       |         t9 ();
    0x004044d0 nop                                           |         
    0x004044d4 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004044d8 addiu a0, zero, 5                             |         a0 = 5;
    0x004044dc lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x004044e0 move t9, t8                                   |         t9 = t8;
    0x004044e4 jalr t9                                       |         t9 ();
    0x004044e8 nop                                           |         
    0x004044ec lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004044f0 b 0x404620                                    |         goto label_5;
    0x004044f4 nop                                           |         
                                                             | label_1:
    0x004044f8 sb zero, 0x2b(fp)                             |         *(arg_2bh) = 0;
    0x004044fc addiu t8, zero, 0x7f                          |         t8 = 0x7f;
    0x00404500 addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x00404504 addiu v1, zero, 3                             |         v1 = 3;
    0x00404508 sw v1, 0x10(sp)                               |         *(arg_10h) = v1;
    0x0040450c move a0, v0                                   |         a0 = v0;
    0x00404510 move a1, t8                                   |         a1 = t8;
    0x00404514 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.send_cmd_watchdog__d__d */
    0x00404518 addiu a2, t8, -0x6b94                         |         a2 = t8 + -0x6b94;
    0x0040451c addiu a3, zero, 0x264                         |         a3 = 0x264;
    0x00404520 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404524 move t9, t8                                   |         t9 = t8;
    0x00404528 jalr t9                                       |         t9 ();
    0x0040452c nop                                           |         
    0x00404530 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404534 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x00404538 move a0, t8                                   |         a0 = t8;
    0x0040453c lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x00404540 move t9, t8                                   |         t9 = t8;
    0x00404544 jalr t9                                       |         t9 ();
    0x00404548 nop                                           |         
    0x0040454c lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404550 addiu a0, zero, 3                             |         a0 = 3;
    0x00404554 lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x00404558 move t9, t8                                   |         t9 = t8;
    0x0040455c jalr t9                                       |         t9 ();
    0x00404560 nop                                           |         
    0x00404564 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404568 addiu t8, zero, 0x80                          |         t8 = 0x80;
    0x0040456c addiu v0, fp, 0x474c                          |         v0 = fp + 0x474c;
    0x00404570 move a0, v0                                   |         a0 = v0;
    0x00404574 move a1, t8                                   |         a1 = t8;
    0x00404578 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str._etc_rc.d_init.d_network.sh_restart */
    0x0040457c addiu a2, t8, -0x6afc                         |         a2 = t8 + -0x6afc;
    0x00404580 lw t8, -0x7e74(gp)                            |         t8 = sym.imp.snprintf;
    0x00404584 move t9, t8                                   |         t9 = t8;
    0x00404588 jalr t9                                       |         t9 ();
    0x0040458c nop                                           |         
    0x00404590 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x00404594 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x00404598 sw t8, 0x10(sp)                               |         *(arg_10h) = t8;
    0x0040459c lw a0, -0x7fc8(gp)                            |         a0 = *(gp);
    0x004045a0 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.e_1_33m_s__d___se_0m */
    0x004045a4 addiu a1, t8, -0x6c84                         |         a1 = t8 + -0x6c84;
    0x004045a8 lw t8, -0x7fdc(gp)                            |         t8 = *((gp - 8183));
                                                             |         /* str.wps_wireless_extension */
    0x004045ac addiu a2, t8, -0x583c                         |         a2 = t8 + -0x583c;
    0x004045b0 addiu a3, zero, 0x1db                         |         a3 = 0x1db;
    0x004045b4 lw t8, -0x7e7c(gp)                            |         t8 = *(gp);
    0x004045b8 move t9, t8                                   |         t9 = t8;
    0x004045bc jalr t9                                       |         t9 ();
    0x004045c0 nop                                           |         
    0x004045c4 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004045c8 addiu t8, fp, 0x474c                          |         t8 = fp + 0x474c;
    0x004045cc move a0, t8                                   |         a0 = t8;
    0x004045d0 lw t8, -0x7e28(gp)                            |         t8 = sym.imp.system
    0x004045d4 move t9, t8                                   |         t9 = t8;
    0x004045d8 jalr t9                                       |         t9 ();
    0x004045dc nop                                           |         
    0x004045e0 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004045e4 addiu a0, zero, 5                             |         a0 = 5;
    0x004045e8 lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x004045ec move t9, t8                                   |         t9 = t8;
    0x004045f0 jalr t9                                       |         t9 ();
    0x004045f4 nop                                           |         
    0x004045f8 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x004045fc b 0x404620                                    |         goto label_5;
    0x00404600 nop                                           |         
                                                             | label_3:
    0x00404604 addiu a0, zero, 1                             |         a0 = 1;
    0x00404608 lw t8, -0x7e34(gp)                            |         t8 = sym.imp.sleep;
    0x0040460c move t9, t8                                   |         t9 = t8;
    0x00404610 jalr t9                                       |         t9 ();
    0x00404614 nop                                           |         
    0x00404618 lw gp, 0x18(fp)                               |         gp = *(arg_18h);
    0x0040461c nop                                           |         
                                                             | label_5:
    0x00404620 lbu t8, 0x2b(fp)                              |         t8 = *(arg_2bh);
                                                             |         if (t8 != 0) {
    0x00404624 beqz t8, 0x404664                             |             
    0x00404628 nop                                           |             
    0x0040462c move a0, zero                                 |             a0 = 0;
    0x00404630 lw t8, -0x7eb0(gp)                            |             t8 = sym.imp.time;
    0x00404634 move t9, t8                                   |             t9 = t8;
    0x00404638 jalr t9                                       |             t9 ();
    0x0040463c nop                                           |             
    0x00404640 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x00404644 lw t8, 0x20(fp)                               |             t8 = *(arg_20h);
    0x00404648 subu t8, v0, t8                               |             __asm ("subu t8, v0, t8");
    0x0040464c slti t8, t8, 0x79                             |             t8 = (t8 < 0x79) ? 1 : 0;
                                                             |             if (t8 != 0) {
    0x00404650 bnez t8, 0x404664                             |                 goto label_6;
                                                             |             }
    0x00404654 nop                                           |             
    0x00404658 addiu t8, zero, 1                             |             t8 = 1;
    0x0040465c b 0x404668                                    |             goto label_7;
    0x00404660 nop                                           |             
                                                             |         }
                                                             | label_6:
    0x00404664 move t8, zero                                 |         t8 = 0;
                                                             |         if (t8 != 0) {
                                                             | label_7:
    0x00404668 beqz t8, 0x40475c                             |             
    0x0040466c nop                                           |             
    0x00404670 sb zero, 0x2b(fp)                             |             *(arg_2bh) = 0;
    0x00404674 addiu t8, zero, 0x7f                          |             t8 = 0x7f;
    0x00404678 addiu v0, fp, 0x474c                          |             v0 = fp + 0x474c;
    0x0040467c addiu v1, zero, 3                             |             v1 = 3;
    0x00404680 sw v1, 0x10(sp)                               |             *(arg_10h) = v1;
    0x00404684 move a0, v0                                   |             a0 = v0;
    0x00404688 move a1, t8                                   |             a1 = t8;
    0x0040468c lw t8, -0x7fdc(gp)                            |             t8 = *((gp - 8183));
                                                             |             /* str.send_cmd_watchdog__d__d */
    0x00404690 addiu a2, t8, -0x6b94                         |             a2 = t8 + -0x6b94;
    0x00404694 addiu a3, zero, 0x264                         |             a3 = 0x264;
    0x00404698 lw t8, -0x7e74(gp)                            |             t8 = sym.imp.snprintf;
    0x0040469c move t9, t8                                   |             t9 = t8;
    0x004046a0 jalr t9                                       |             t9 ();
    0x004046a4 nop                                           |             
    0x004046a8 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x004046ac addiu t8, fp, 0x474c                          |             t8 = fp + 0x474c;
    0x004046b0 move a0, t8                                   |             a0 = t8;
    0x004046b4 lw t8, -0x7e28(gp)                            |             t8 = sym.imp.system
    0x004046b8 move t9, t8                                   |             t9 = t8;
    0x004046bc jalr t9                                       |             t9 ();
    0x004046c0 nop                                           |             
    0x004046c4 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x004046c8 addiu a0, zero, 3                             |             a0 = 3;
    0x004046cc lw t8, -0x7e34(gp)                            |             t8 = sym.imp.sleep;
    0x004046d0 move t9, t8                                   |             t9 = t8;
    0x004046d4 jalr t9                                       |             t9 ();
    0x004046d8 nop                                           |             
    0x004046dc lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x004046e0 addiu t8, zero, 0x7f                          |             t8 = 0x7f;
    0x004046e4 addiu v0, fp, 0x474c                          |             v0 = fp + 0x474c;
    0x004046e8 move a0, v0                                   |             a0 = v0;
    0x004046ec move a1, t8                                   |             a1 = t8;
    0x004046f0 lw t8, -0x7fdc(gp)                            |             t8 = *((gp - 8183));
                                                             |             /* str._etc_rc.d_init.d_network.sh_restart */
    0x004046f4 addiu a2, t8, -0x6afc                         |             a2 = t8 + -0x6afc;
    0x004046f8 lw t8, -0x7e74(gp)                            |             t8 = sym.imp.snprintf;
    0x004046fc move t9, t8                                   |             t9 = t8;
    0x00404700 jalr t9                                       |             t9 ();
    0x00404704 nop                                           |             
    0x00404708 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x0040470c addiu t8, fp, 0x474c                          |             t8 = fp + 0x474c;
    0x00404710 sw t8, 0x10(sp)                               |             *(arg_10h) = t8;
    0x00404714 lw a0, -0x7fc8(gp)                            |             a0 = *(gp);
    0x00404718 lw t8, -0x7fdc(gp)                            |             t8 = *((gp - 8183));
                                                             |             /* str.e_1_33m_s__d___se_0m */
    0x0040471c addiu a1, t8, -0x6c84                         |             a1 = t8 + -0x6c84;
    0x00404720 lw t8, -0x7fdc(gp)                            |             t8 = *((gp - 8183));
                                                             |             /* str.wps_wireless_extension */
    0x00404724 addiu a2, t8, -0x583c                         |             a2 = t8 + -0x583c;
    0x00404728 addiu a3, zero, 0x1ee                         |             a3 = 0x1ee;
    0x0040472c lw t8, -0x7e7c(gp)                            |             t8 = *(gp);
    0x00404730 move t9, t8                                   |             t9 = t8;
    0x00404734 jalr t9                                       |             t9 ();
    0x00404738 nop                                           |             
    0x0040473c lw gp, 0x18(fp)                               |             gp = *(arg_18h);
    0x00404740 addiu t8, fp, 0x474c                          |             t8 = fp + 0x474c;
    0x00404744 move a0, t8                                   |             a0 = t8;
    0x00404748 lw t8, -0x7e28(gp)                            |             t8 = sym.imp.system
    0x0040474c move t9, t8                                   |             t9 = t8;
    0x00404750 jalr t9                                       |             t9 ();
    0x00404754 nop                                           |             
    0x00404758 lw gp, 0x18(fp)                               |             gp = *(arg_18h);
                                                             |         }
                                                             | label_0:
    0x0040475c lbu t8, 0x2b(fp)                              |         t8 = *(arg_2bh);
    0x00404760 bnez t8, 0x404188                             |         
                                                             |     } while (t8 != 0);
    0x00404764 nop                                           |     
    0x00404768 move s0, zero                                 |     s0 = 0;
    0x0040476c addiu t8, fp, 0x1cc                           |     t8 = fp + 0x1cc;
    0x00404770 move a0, t8                                   |     a0 = t8;
    0x00404774 lw t8, -0x7ee8(gp)                            |     t8 = sym.imp.TinyDB::TinyDB__;
    0x00404778 move t9, t8                                   |     t9 = t8;
    0x0040477c jalr t9                                       |     t9 ();
    0x00404780 nop                                           |     
    0x00404784 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x00404788 addiu t8, fp, 0x11e4                          |     t8 = fp + 0x11e4;
    0x0040478c move a0, t8                                   |     a0 = t8;
    0x00404790 lw t8, -0x7e08(gp)                            |     t8 = sym.imp.PIB::PIB__;
    0x00404794 move t9, t8                                   |     t9 = t8;
    0x00404798 jalr t9                                       |     t9 ();
    0x0040479c nop                                           |     
    0x004047a0 lw gp, 0x18(fp)                               |     gp = *(arg_18h);
    0x004047a4 move t8, s0                                   |     t8 = s0;
    0x004047a8 move v0, t8                                   |     v0 = t8;
    0x004047ac lw t8, -0x7e18(gp)                            |     t8 = *((gp - 8070));
    0x004047b0 lw v1, 0x47cc(fp)                             |     v1 = *(arg_47cch);
    0x004047b4 lw t8, (t8)                                   |     t8 = *(t8);
                                                             |     if (v1 != t8) {
    0x004047b8 beq v1, t8, 0x4048b4                          |         
    0x004047bc nop                                           |         
    0x004047c0 b 0x4048a4                                    |         goto label_8;
    0x004047c4 nop                                           |         
                                                             | label_8:
    0x004048a4 lw t8, -0x7ea8(gp)                            |         t8 = sym.imp.__stack_chk_fail;
    0x004048a8 move t9, t8                                   |         t9 = t8;
    0x004048ac jalr t9                                       |         t9 ();
    0x004048b0 nop                                           |         
                                                             |     }
    0x004048b4 move sp, fp                                   |     
    0x004048b8 lw ra, 0x47dc(sp)                             |     ra = *(arg_47dch);
    0x004048bc lw fp, 0x47d8(sp)                             |     fp = *(arg_47d8h);
    0x004048c0 lw s0, 0x47d4(sp)                             |     s0 = *(arg_47d4h);
    0x004048c4 addiu sp, sp, 0x47e0                          |     
    0x004048c8 jr ra                                         |     return v1;
    0x004048cc nop                                           |     
                                                             | }

[*] Function system used 59 times start_wps