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