[*] Binary protection state of wlan
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of wlan
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/wlan @ 0x401370 */
| #include <stdint.h>
|
; (fcn) main () | int32_t main () {
0x00401370 lui gp, 2 |
0x00401374 addiu gp, gp, -0x1350 |
0x00401378 addu gp, gp, t9 | gp += t9;
0x0040137c addiu sp, sp, -0xb8 |
0x00401380 sw ra, 0xb4(sp) | *(var_b4h) = ra;
0x00401384 sw fp, 0xb0(sp) | *(var_b0h) = fp;
0x00401388 sw s7, 0xac(sp) | *(var_ach) = s7;
0x0040138c sw s6, 0xa8(sp) | *(var_a8h) = s6;
0x00401390 sw s5, 0xa4(sp) | *(var_a4h) = s5;
0x00401394 sw s4, 0xa0(sp) | *(var_a0h) = s4;
0x00401398 sw s3, 0x9c(sp) | *(var_9ch) = s3;
0x0040139c sw s2, 0x98(sp) | *(var_98h) = s2;
0x004013a0 sw s1, 0x94(sp) | *(var_94h) = s1;
0x004013a4 sw s0, 0x90(sp) | *(var_90h) = s0;
0x004013a8 move fp, sp | fp = sp;
0x004013ac sw gp, 0x28(sp) | *(var_28h) = gp;
0x004013b0 sw a0, 0x3c(fp) | *(arg_3ch) = a0;
0x004013b4 sw a1, 0x38(fp) | *(arg_38h) = a1;
0x004013b8 lw t8, -0x7f14(gp) | t8 = *((gp - 8133));
0x004013bc lw t8, (t8) | t8 = *(t8);
0x004013c0 sw t8, 0x8c(fp) | *(arg_8ch) = t8;
0x004013c4 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x004013c8 addiu t8, zero, 2 | t8 = 2;
| if (v0 == t8) {
0x004013cc bne v0, t8, 0x4016a8 |
0x004013d0 nop |
0x004013d4 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004013d8 addiu t8, t8, 4 | t8 += 4;
0x004013dc lw t8, (t8) | t8 = *(t8);
0x004013e0 move a0, t8 | a0 = t8;
0x004013e4 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* section..rodata */
0x004013e8 addiu a1, t8, 0x6550 | a1 = t8 + 0x6550;
0x004013ec addiu a2, zero, 3 | a2 = 3;
0x004013f0 lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x004013f4 move t9, t8 | t9 = t8;
0x004013f8 jalr t9 | t9 ();
0x004013fc nop |
0x00401400 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401404 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401408 bnez t8, 0x401430 |
0x0040140c nop |
0x00401410 lw t8, -0x7f10(gp) | t8 = sym.imp.run_ap_mode_base_db__;
0x00401414 move t9, t8 | t9 = t8;
0x00401418 jalr t9 | t9 ();
0x0040141c nop |
0x00401420 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401424 move s0, v0 | s0 = v0;
0x00401428 b 0x401b48 | goto label_0;
0x0040142c nop |
| }
0x00401430 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401434 addiu t8, t8, 4 | t8 += 4;
0x00401438 lw t8, (t8) | t8 = *(t8);
0x0040143c move a0, t8 | a0 = t8;
0x00401440 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.infra */
0x00401444 addiu a1, t8, 0x6554 | a1 = t8 + 0x6554;
0x00401448 addiu a2, zero, 6 | a2 = 6;
0x0040144c lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x00401450 move t9, t8 | t9 = t8;
0x00401454 jalr t9 | t9 ();
0x00401458 nop |
0x0040145c lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401460 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401464 bnez t8, 0x40148c |
0x00401468 nop |
0x0040146c lw t8, -0x7f18(gp) | t8 = sym.imp.run_infra_mode_base_db__;
0x00401470 move t9, t8 | t9 = t8;
0x00401474 jalr t9 | t9 ();
0x00401478 nop |
0x0040147c lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401480 move s0, v0 | s0 = v0;
0x00401484 b 0x401b48 | goto label_0;
0x00401488 nop |
| }
0x0040148c lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401490 addiu t8, t8, 4 | t8 += 4;
0x00401494 lw t8, (t8) | t8 = *(t8);
0x00401498 move a0, t8 | a0 = t8;
0x0040149c lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.repeater */
0x004014a0 addiu a1, t8, 0x655c | a1 = t8 + 0x655c;
0x004014a4 addiu a2, zero, 9 | a2 = 9;
0x004014a8 lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x004014ac move t9, t8 | t9 = t8;
0x004014b0 jalr t9 | t9 ();
0x004014b4 nop |
0x004014b8 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004014bc move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004014c0 bnez t8, 0x4014e8 |
0x004014c4 nop |
0x004014c8 lw t8, -0x7f64(gp) | t8 = sym.imp.run_repeater_mode_base_db__;
0x004014cc move t9, t8 | t9 = t8;
0x004014d0 jalr t9 | t9 ();
0x004014d4 nop |
0x004014d8 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004014dc move s0, v0 | s0 = v0;
0x004014e0 b 0x401b48 | goto label_0;
0x004014e4 nop |
| }
0x004014e8 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004014ec addiu t8, t8, 4 | t8 += 4;
0x004014f0 lw t8, (t8) | t8 = *(t8);
0x004014f4 move a0, t8 | a0 = t8;
0x004014f8 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.stop_ap */
0x004014fc addiu a1, t8, 0x6568 | a1 = t8 + 0x6568;
0x00401500 addiu a2, zero, 8 | a2 = 8;
0x00401504 lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x00401508 move t9, t8 | t9 = t8;
0x0040150c jalr t9 | t9 ();
0x00401510 nop |
0x00401514 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401518 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x0040151c bnez t8, 0x401544 |
0x00401520 nop |
0x00401524 lw t8, -0x7f44(gp) | t8 = sym.imp.run_stop_ap_mode__;
0x00401528 move t9, t8 | t9 = t8;
0x0040152c jalr t9 | t9 ();
0x00401530 nop |
0x00401534 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401538 move s0, v0 | s0 = v0;
0x0040153c b 0x401b48 | goto label_0;
0x00401540 nop |
| }
0x00401544 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401548 addiu t8, t8, 4 | t8 += 4;
0x0040154c lw t8, (t8) | t8 = *(t8);
0x00401550 move a0, t8 | a0 = t8;
0x00401554 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.info */
0x00401558 addiu a1, t8, 0x6570 | a1 = t8 + 0x6570;
0x0040155c addiu a2, zero, 5 | a2 = 5;
0x00401560 lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x00401564 move t9, t8 | t9 = t8;
0x00401568 jalr t9 | t9 ();
0x0040156c nop |
0x00401570 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401574 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401578 bnez t8, 0x401610 |
0x0040157c nop |
0x00401580 addiu t8, fp, 0x4c | t8 = fp + 0x4c;
0x00401584 move a0, t8 | a0 = t8;
0x00401588 lw t8, -0x7f0c(gp) | t8 = sym.imp.run_get_wifi_info_WIFI_INFO_;
0x0040158c move t9, t8 | t9 = t8;
0x00401590 jalr t9 | t9 ();
0x00401594 nop |
0x00401598 lw gp, 0x28(fp) | gp = *(arg_28h);
0x0040159c addiu t8, fp, 0x4c | t8 = fp + 0x4c;
0x004015a0 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* str.Wi_Fi_SSID____s__n */
0x004015a4 addiu a0, v0, 0x6578 | a0 = v0 + 0x6578;
0x004015a8 move a1, t8 | a1 = t8;
0x004015ac lw t8, -0x7f74(gp) | t8 = sym.imp.printf
0x004015b0 move t9, t8 | t9 = t8;
0x004015b4 jalr t9 | t9 ();
0x004015b8 nop |
0x004015bc lw gp, 0x28(fp) | gp = *(arg_28h);
0x004015c0 lw t8, 0x88(fp) | t8 = *(arg_88h);
0x004015c4 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* str.Wi_Fi_link_level___d_dbm_n */
0x004015c8 addiu a0, v0, 0x658c | a0 = v0 + 0x658c;
0x004015cc move a1, t8 | a1 = t8;
0x004015d0 lw t8, -0x7f74(gp) | t8 = sym.imp.printf
0x004015d4 move t9, t8 | t9 = t8;
0x004015d8 jalr t9 | t9 ();
0x004015dc nop |
0x004015e0 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004015e4 lw t8, 0x80(fp) | t8 = *(arg_80h);
0x004015e8 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* str.Wi_Fi_signal_strength___d_dbm_n */
0x004015ec addiu a0, v0, 0x65a8 | a0 = v0 + 0x65a8;
0x004015f0 move a1, t8 | a1 = t8;
0x004015f4 lw t8, -0x7f74(gp) | t8 = sym.imp.printf
0x004015f8 move t9, t8 | t9 = t8;
0x004015fc jalr t9 | t9 ();
0x00401600 nop |
0x00401604 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401608 b 0x401b44 | goto label_1;
0x0040160c nop |
| }
0x00401610 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str.Usage:_wlan__command_ */
0x00401614 addiu a0, t8, 0x65c8 | a0 = t8 + 0x65c8;
0x00401618 lw t8, -0x7f78(gp) | t8 = sym.imp.puts;
0x0040161c move t9, t8 | t9 = t8;
0x00401620 jalr t9 | t9 ();
0x00401624 nop |
0x00401628 lw gp, 0x28(fp) | gp = *(arg_28h);
0x0040162c lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._tap_t_tSetup_wireless_interface_as_wireless_router */
0x00401630 addiu a0, t8, 0x65e0 | a0 = t8 + 0x65e0;
0x00401634 lw t8, -0x7f78(gp) | t8 = sym.imp.puts;
0x00401638 move t9, t8 | t9 = t8;
0x0040163c jalr t9 | t9 ();
0x00401640 nop |
0x00401644 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401648 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._tinfra_t_tSetup_wireless_interface_as_wireless_client */
0x0040164c addiu a0, t8, 0x6614 | a0 = t8 + 0x6614;
0x00401650 lw t8, -0x7f78(gp) | t8 = sym.imp.puts;
0x00401654 move t9, t8 | t9 = t8;
0x00401658 jalr t9 | t9 ();
0x0040165c nop |
0x00401660 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401664 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._trepeater_tSetup_wireless_interface_as_wireless_repeater */
0x00401668 addiu a0, t8, 0x6648 | a0 = t8 + 0x6648;
0x0040166c lw t8, -0x7f78(gp) | t8 = sym.imp.puts;
0x00401670 move t9, t8 | t9 = t8;
0x00401674 jalr t9 | t9 ();
0x00401678 nop |
0x0040167c lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401680 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* str._tstop_ap_tDisable_wireless_router */
0x00401684 addiu a0, t8, 0x6680 | a0 = t8 + 0x6680;
0x00401688 lw t8, -0x7f78(gp) | t8 = sym.imp.puts;
0x0040168c move t9, t8 | t9 = t8;
0x00401690 jalr t9 | t9 ();
0x00401694 nop |
0x00401698 lw gp, 0x28(fp) | gp = *(arg_28h);
0x0040169c addiu s0, zero, -1 | s0 = -1;
0x004016a0 b 0x401b48 | goto label_0;
0x004016a4 nop |
| }
0x004016a8 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x004016ac addiu t8, zero, 5 | t8 = 5;
| if (v0 == t8) {
0x004016b0 bne v0, t8, 0x401758 |
0x004016b4 nop |
0x004016b8 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004016bc addiu t8, t8, 4 | t8 += 4;
0x004016c0 lw s1, (t8) | s1 = *(t8);
0x004016c4 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004016c8 addiu t8, t8, 8 | t8 += 8;
0x004016cc lw t8, (t8) | t8 = *(t8);
0x004016d0 move a0, t8 | a0 = t8;
0x004016d4 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x004016d8 move t9, t8 | t9 = t8;
0x004016dc jalr t9 | t9 ();
0x004016e0 nop |
0x004016e4 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004016e8 move t8, v0 | t8 = v0;
0x004016ec move s0, t8 | s0 = t8;
0x004016f0 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004016f4 addiu t8, t8, 0xc | t8 += 0xc;
0x004016f8 lw t8, (t8) | t8 = *(t8);
0x004016fc move a0, t8 | a0 = t8;
0x00401700 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x00401704 move t9, t8 | t9 = t8;
0x00401708 jalr t9 | t9 ();
0x0040170c nop |
0x00401710 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401714 move t8, v0 | t8 = v0;
0x00401718 move v0, t8 | v0 = t8;
0x0040171c lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401720 addiu t8, t8, 0x10 | t8 += 0x10;
0x00401724 lw t8, (t8) | t8 = *(t8);
0x00401728 move a0, s1 | a0 = s1;
0x0040172c move a1, s0 | a1 = s0;
0x00401730 move a2, v0 | a2 = v0;
0x00401734 move a3, t8 | a3 = t8;
0x00401738 lw t8, -0x7f5c(gp) | t8 = sym.imp.run_ap_mode_char__auth_from_cam__enc_from_cam__char_;
0x0040173c move t9, t8 | t9 = t8;
0x00401740 jalr t9 | t9 ();
0x00401744 nop |
0x00401748 lw gp, 0x28(fp) | gp = *(arg_28h);
0x0040174c move s0, v0 | s0 = v0;
0x00401750 b 0x401b48 | goto label_0;
0x00401754 nop |
| }
0x00401758 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x0040175c addiu t8, zero, 6 | t8 = 6;
| if (v0 == t8) {
0x00401760 bne v0, t8, 0x401854 |
0x00401764 nop |
0x00401768 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x0040176c addiu t8, t8, 4 | t8 += 4;
0x00401770 lw t8, (t8) | t8 = *(t8);
0x00401774 move a0, t8 | a0 = t8;
0x00401778 lw t8, -0x7fdc(gp) | t8 = *(gp);
| /* esilref: 'bbp' */
0x0040177c addiu a1, t8, 0x66a4 | a1 = t8 + 0x66a4;
0x00401780 addiu a2, zero, 4 | a2 = 4;
0x00401784 lw t8, -0x7f28(gp) | t8 = sym.imp.strncmp;
0x00401788 move t9, t8 | t9 = t8;
0x0040178c jalr t9 | t9 ();
0x00401790 nop |
0x00401794 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401798 move t8, v0 | t8 = v0;
| if (t8 != 0) {
0x0040179c bnez t8, 0x401b44 | goto label_1;
| }
0x004017a0 nop |
0x004017a4 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004017a8 addiu t8, t8, 8 | t8 += 8;
0x004017ac lw s2, (t8) | s2 = *(t8);
0x004017b0 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004017b4 addiu t8, t8, 0xc | t8 += 0xc;
0x004017b8 lw s1, (t8) | s1 = *(t8);
0x004017bc lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004017c0 addiu t8, t8, 0x10 | t8 += 0x10;
0x004017c4 lw v0, (t8) | v0 = *(t8);
0x004017c8 addiu t8, fp, 0x40 | t8 = fp + 0x40;
0x004017cc move a0, v0 | a0 = v0;
0x004017d0 move a1, t8 | a1 = t8;
0x004017d4 addiu a2, zero, 0x10 | a2 = 0x10;
0x004017d8 lw t8, -0x7f3c(gp) | t8 = sym.imp.strtol;
0x004017dc move t9, t8 | t9 = t8;
0x004017e0 jalr t9 | t9 ();
0x004017e4 nop |
0x004017e8 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004017ec move s0, v0 | s0 = v0;
0x004017f0 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004017f4 addiu t8, t8, 0x14 | t8 += 0x14;
0x004017f8 lw v0, (t8) | v0 = *(t8);
0x004017fc addiu t8, fp, 0x40 | t8 = fp + 0x40;
0x00401800 move a0, v0 | a0 = v0;
0x00401804 move a1, t8 | a1 = t8;
0x00401808 addiu a2, zero, 0x10 | a2 = 0x10;
0x0040180c lw t8, -0x7f3c(gp) | t8 = sym.imp.strtol;
0x00401810 move t9, t8 | t9 = t8;
0x00401814 jalr t9 | t9 ();
0x00401818 nop |
0x0040181c lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401820 move t8, v0 | t8 = v0;
0x00401824 move a0, s2 | a0 = s2;
0x00401828 move a1, s1 | a1 = s1;
0x0040182c move a2, s0 | a2 = s0;
0x00401830 move a3, t8 | a3 = t8;
0x00401834 lw t8, -0x7f6c(gp) | t8 = sym.imp.run_set_bbp_char__char__int__int_;
0x00401838 move t9, t8 | t9 = t8;
0x0040183c jalr t9 | t9 ();
0x00401840 nop |
0x00401844 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401848 move s0, v0 | s0 = v0;
0x0040184c b 0x401b48 | goto label_0;
0x00401850 nop |
| }
0x00401854 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00401858 addiu t8, zero, 8 | t8 = 8;
| if (v0 == t8) {
0x0040185c bne v0, t8, 0x401970 |
0x00401860 nop |
0x00401864 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401868 addiu t8, t8, 4 | t8 += 4;
0x0040186c lw s3, (t8) | s3 = *(t8);
0x00401870 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401874 addiu t8, t8, 8 | t8 += 8;
0x00401878 lw s2, (t8) | s2 = *(t8);
0x0040187c lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401880 addiu t8, t8, 0xc | t8 += 0xc;
0x00401884 lw t8, (t8) | t8 = *(t8);
0x00401888 move a0, t8 | a0 = t8;
0x0040188c lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x00401890 move t9, t8 | t9 = t8;
0x00401894 jalr t9 | t9 ();
0x00401898 nop |
0x0040189c lw gp, 0x28(fp) | gp = *(arg_28h);
0x004018a0 move t8, v0 | t8 = v0;
0x004018a4 move s1, t8 | s1 = t8;
0x004018a8 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004018ac addiu t8, t8, 0x10 | t8 += 0x10;
0x004018b0 lw t8, (t8) | t8 = *(t8);
0x004018b4 move a0, t8 | a0 = t8;
0x004018b8 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x004018bc move t9, t8 | t9 = t8;
0x004018c0 jalr t9 | t9 ();
0x004018c4 nop |
0x004018c8 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004018cc move t8, v0 | t8 = v0;
0x004018d0 move s0, t8 | s0 = t8;
0x004018d4 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004018d8 addiu t8, t8, 0x14 | t8 += 0x14;
0x004018dc lw s5, (t8) | s5 = *(t8);
0x004018e0 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004018e4 addiu t8, t8, 0x18 | t8 += 0x18;
0x004018e8 lw t8, (t8) | t8 = *(t8);
0x004018ec move a0, t8 | a0 = t8;
0x004018f0 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x004018f4 move t9, t8 | t9 = t8;
0x004018f8 jalr t9 | t9 ();
0x004018fc nop |
0x00401900 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401904 move s4, v0 | s4 = v0;
0x00401908 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x0040190c addiu t8, t8, 0x1c | t8 += 0x1c;
0x00401910 lw t8, (t8) | t8 = *(t8);
0x00401914 move a0, t8 | a0 = t8;
0x00401918 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x0040191c move t9, t8 | t9 = t8;
0x00401920 jalr t9 | t9 ();
0x00401924 nop |
0x00401928 lw gp, 0x28(fp) | gp = *(arg_28h);
0x0040192c move t8, v0 | t8 = v0;
0x00401930 andi t8, t8, 0xff | t8 &= 0xff;
0x00401934 sw s5, 0x10(sp) | *(var_10h) = s5;
0x00401938 sw s4, 0x14(sp) | *(var_14h) = s4;
0x0040193c sw t8, 0x18(sp) | *(var_18h) = t8;
0x00401940 move a0, s3 | a0 = s3;
0x00401944 move a1, s2 | a1 = s2;
0x00401948 move a2, s1 | a2 = s1;
0x0040194c move a3, s0 | a3 = s0;
0x00401950 lw t8, -0x7f2c(gp) | t8 = sym.imp.run_infra_mode_char__char__auth_from_cam__enc_from_cam__char__int__unsigned_char_;
0x00401954 move t9, t8 | t9 = t8;
0x00401958 jalr t9 | t9 ();
0x0040195c nop |
0x00401960 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401964 move s0, v0 | s0 = v0;
0x00401968 b 0x401b48 | goto label_0;
0x0040196c nop |
| }
0x00401970 lw v0, 0x3c(fp) | v0 = *(arg_3ch);
0x00401974 addiu t8, zero, 0xb | t8 = 0xb;
| if (v0 == t8) {
0x00401978 bne v0, t8, 0x401ae4 |
0x0040197c nop |
0x00401980 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401984 addiu t8, t8, 4 | t8 += 4;
0x00401988 lw s3, (t8) | s3 = *(t8);
0x0040198c lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401990 addiu t8, t8, 8 | t8 += 8;
0x00401994 lw t8, (t8) | t8 = *(t8);
0x00401998 move a0, t8 | a0 = t8;
0x0040199c lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x004019a0 move t9, t8 | t9 = t8;
0x004019a4 jalr t9 | t9 ();
0x004019a8 nop |
0x004019ac lw gp, 0x28(fp) | gp = *(arg_28h);
0x004019b0 move t8, v0 | t8 = v0;
0x004019b4 move s2, t8 | s2 = t8;
0x004019b8 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004019bc addiu t8, t8, 0xc | t8 += 0xc;
0x004019c0 lw t8, (t8) | t8 = *(t8);
0x004019c4 move a0, t8 | a0 = t8;
0x004019c8 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x004019cc move t9, t8 | t9 = t8;
0x004019d0 jalr t9 | t9 ();
0x004019d4 nop |
0x004019d8 lw gp, 0x28(fp) | gp = *(arg_28h);
0x004019dc move t8, v0 | t8 = v0;
0x004019e0 move s1, t8 | s1 = t8;
0x004019e4 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004019e8 addiu t8, t8, 0x10 | t8 += 0x10;
0x004019ec lw s0, (t8) | s0 = *(t8);
0x004019f0 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x004019f4 addiu t8, t8, 0x14 | t8 += 0x14;
0x004019f8 lw t8, (t8) | t8 = *(t8);
0x004019fc sw t8, 0x34(fp) | *(arg_34h) = t8;
0x00401a00 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401a04 addiu t8, t8, 0x18 | t8 += 0x18;
0x00401a08 lw s7, (t8) | s7 = *(t8);
0x00401a0c lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401a10 addiu t8, t8, 0x1c | t8 += 0x1c;
0x00401a14 lw t8, (t8) | t8 = *(t8);
0x00401a18 move a0, t8 | a0 = t8;
0x00401a1c lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x00401a20 move t9, t8 | t9 = t8;
0x00401a24 jalr t9 | t9 ();
0x00401a28 nop |
0x00401a2c lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401a30 move t8, v0 | t8 = v0;
0x00401a34 move s6, t8 | s6 = t8;
0x00401a38 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401a3c addiu t8, t8, 0x20 | t8 += 0x20;
0x00401a40 lw t8, (t8) | t8 = *(t8);
0x00401a44 move a0, t8 | a0 = t8;
0x00401a48 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x00401a4c move t9, t8 | t9 = t8;
0x00401a50 jalr t9 | t9 ();
0x00401a54 nop |
0x00401a58 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401a5c move t8, v0 | t8 = v0;
0x00401a60 move s5, t8 | s5 = t8;
0x00401a64 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401a68 addiu t8, t8, 0x24 | t8 += 0x24;
0x00401a6c lw s4, (t8) | s4 = *(t8);
0x00401a70 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401a74 addiu t8, t8, 0x28 | t8 += 0x28;
0x00401a78 lw t8, (t8) | t8 = *(t8);
0x00401a7c move a0, t8 | a0 = t8;
0x00401a80 lw t8, -0x7f68(gp) | t8 = sym.imp.atoi;
0x00401a84 move t9, t8 | t9 = t8;
0x00401a88 jalr t9 | t9 ();
0x00401a8c nop |
0x00401a90 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401a94 move t8, v0 | t8 = v0;
0x00401a98 lw v0, 0x34(fp) | v0 = *(arg_34h);
0x00401a9c sw v0, 0x10(sp) | *(var_10h) = v0;
0x00401aa0 sw s7, 0x14(sp) | *(var_14h) = s7;
0x00401aa4 sw s6, 0x18(sp) | *(var_18h) = s6;
0x00401aa8 sw s5, 0x1c(sp) | *(var_1ch) = s5;
0x00401aac sw s4, 0x20(sp) | *(var_20h) = s4;
0x00401ab0 sw t8, 0x24(sp) | *(var_24h) = t8;
0x00401ab4 move a0, s3 | a0 = s3;
0x00401ab8 move a1, s2 | a1 = s2;
0x00401abc move a2, s1 | a2 = s1;
0x00401ac0 move a3, s0 | a3 = s0;
0x00401ac4 lw t8, -0x7f20(gp) | t8 = sym.imp.run_repeater_mode_char__auth_from_cam__enc_from_cam__char__char__char__auth_from_cam__enc_from_cam__char__int_;
0x00401ac8 move t9, t8 | t9 = t8;
0x00401acc jalr t9 | t9 ();
0x00401ad0 nop |
0x00401ad4 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401ad8 move s0, v0 | s0 = v0;
0x00401adc b 0x401b48 | goto label_0;
0x00401ae0 nop |
| }
0x00401ae4 addiu t8, fp, 0x40 | t8 = fp + 0x40;
0x00401ae8 move a0, t8 | a0 = t8;
0x00401aec lw t8, -0x7fd8(gp) | t8 = *(gp);
0x00401af0 move t9, t8 | t9 = t8;
0x00401af4 jalr t9 | t9 ();
0x00401af8 nop |
0x00401afc lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401b00 addiu t8, fp, 0x40 | t8 = fp + 0x40;
0x00401b04 move a0, t8 | a0 = t8;
0x00401b08 lw t8, -0x7f54(gp) | t8 = sym.imp.run_site_survey_std::vector_sites__std::allocator_sites____;
0x00401b0c move t9, t8 | t9 = t8;
0x00401b10 jalr t9 | t9 ();
0x00401b14 nop |
0x00401b18 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401b1c move s0, v0 | s0 = v0;
0x00401b20 addiu t8, fp, 0x40 | t8 = fp + 0x40;
0x00401b24 move a0, t8 | a0 = t8;
0x00401b28 lw t8, -0x7fd4(gp) | t8 = *(gp);
0x00401b2c move t9, t8 | t9 = t8;
0x00401b30 jalr t9 | t9 ();
0x00401b34 nop |
0x00401b38 lw gp, 0x28(fp) | gp = *(arg_28h);
0x00401b3c b 0x401b48 | goto label_0;
0x00401b40 nop |
| label_1:
0x00401b44 move s0, zero | s0 = 0;
| label_0:
0x00401b48 move t8, s0 | t8 = s0;
0x00401b4c move v0, t8 | v0 = t8;
0x00401b50 lw t8, -0x7f14(gp) | t8 = *((gp - 8133));
0x00401b54 lw v1, 0x8c(fp) | v1 = *(arg_8ch);
0x00401b58 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00401b5c beq v1, t8, 0x401bb8 |
0x00401b60 nop |
0x00401b64 b 0x401ba8 | goto label_2;
0x00401b68 nop |
| label_2:
0x00401ba8 lw t8, -0x7f50(gp) | t8 = sym.imp.__stack_chk_fail;
0x00401bac move t9, t8 | t9 = t8;
0x00401bb0 jalr t9 | t9 ();
0x00401bb4 nop |
| }
0x00401bb8 move sp, fp |
0x00401bbc lw ra, 0xb4(sp) | ra = *(var_b4h);
0x00401bc0 lw fp, 0xb0(sp) | fp = *(var_b0h);
0x00401bc4 lw s7, 0xac(sp) | s7 = *(var_ach);
0x00401bc8 lw s6, 0xa8(sp) | s6 = *(var_a8h);
0x00401bcc lw s5, 0xa4(sp) | s5 = *(var_a4h);
0x00401bd0 lw s4, 0xa0(sp) | s4 = *(var_a0h);
0x00401bd4 lw s3, 0x9c(sp) | s3 = *(var_9ch);
0x00401bd8 lw s2, 0x98(sp) | s2 = *(var_98h);
0x00401bdc lw s1, 0x94(sp) | s1 = *(var_94h);
0x00401be0 lw s0, 0x90(sp) | s0 = *(var_90h);
0x00401be4 addiu sp, sp, 0xb8 |
0x00401be8 jr ra | return v1;
0x00401bec nop |
| }
[*] Function printf used 4 times wlan