[*] Binary protection state of save_wireless_info
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function printf tear down of save_wireless_info
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/save_wireless_info @ 0x401350 */
| #include <stdint.h>
|
; (fcn) sym.setWlanInfo_unsigned_int__char__unsigned_int__int_ () | void setWlanInfo_unsigned_int_char_unsigned_int_int_ () {
| /* setWlanInfo(unsigned int, char*, unsigned int, int) */
0x00401350 lui gp, 2 |
0x00401354 addiu gp, gp, -0x1270 |
0x00401358 addu gp, gp, t9 | gp += t9;
0x0040135c addiu sp, sp, -0x4b0 |
0x00401360 sw ra, 0x4ac(sp) | *(var_4ach) = ra;
0x00401364 sw fp, 0x4a8(sp) | *(var_4a8h) = fp;
0x00401368 sw s7, 0x4a4(sp) | *(var_4a4h) = s7;
0x0040136c sw s6, 0x4a0(sp) | *(var_4a0h) = s6;
0x00401370 sw s5, 0x49c(sp) | *(var_49ch) = s5;
0x00401374 sw s4, 0x498(sp) | *(var_498h) = s4;
0x00401378 sw s3, 0x494(sp) | *(var_494h) = s3;
0x0040137c sw s2, 0x490(sp) | *(var_490h) = s2;
0x00401380 sw s1, 0x48c(sp) | *(var_48ch) = s1;
0x00401384 sw s0, 0x488(sp) | *(var_488h) = s0;
0x00401388 move fp, sp | fp = sp;
0x0040138c sw gp, 0x20(sp) | *(var_20h) = gp;
0x00401390 sw a0, 0x3c(fp) | *(arg_3ch) = a0;
0x00401394 sw a1, 0x38(fp) | *(arg_38h) = a1;
0x00401398 sw a2, 0x34(fp) | *(arg_34h) = a2;
0x0040139c sw a3, 0x30(fp) | *(arg_30h) = a3;
0x004013a0 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x004013a4 lw t8, (t8) | t8 = *(t8);
0x004013a8 sw t8, 0x484(fp) | *(arg_484h) = t8;
0x004013ac move t8, sp | t8 = sp;
0x004013b0 sw t8, 0x2c(fp) | *(arg_2ch) = t8;
0x004013b4 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x004013b8 move a0, t8 | a0 = t8;
0x004013bc lw t8, -0x7f50(gp) | t8 = *(gp);
0x004013c0 move t9, t8 | t9 = t8;
0x004013c4 jalr t9 | t9 ();
0x004013c8 nop |
0x004013cc lw gp, 0x20(fp) | gp = *(arg_20h);
0x004013d0 lw t8, -0x7f40(gp) | t8 = sym.imp.ChkWireless__;
0x004013d4 move t9, t8 | t9 = t8;
0x004013d8 jalr t9 | t9 ();
0x004013dc nop |
0x004013e0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004013e4 move t8, v0 | t8 = v0;
0x004013e8 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x004013ec lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x004013f0 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x004013f4 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004013f8 beqz t8, 0x40140c |
0x004013fc nop |
0x00401400 lw s0, 0x4c(fp) | s0 = *(arg_4ch);
0x00401404 b 0x401d20 | goto label_0;
0x00401408 nop |
| }
0x0040140c addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401410 move a0, t8 | a0 = t8;
0x00401414 lw t8, -0x7f48(gp) | t8 = sym.imp.cam_get_client__wireless_setting_;
0x00401418 move t9, t8 | t9 = t8;
0x0040141c jalr t9 | t9 ();
0x00401420 nop |
0x00401424 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401428 move t8, v0 | t8 = v0;
0x0040142c sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401430 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00401434 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x00401438 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x0040143c beqz t8, 0x401450 |
0x00401440 nop |
0x00401444 lw s0, 0x4c(fp) | s0 = *(arg_4ch);
0x00401448 b 0x401d20 | goto label_0;
0x0040144c nop |
| }
0x00401450 lw t8, 0x38(fp) | t8 = *(arg_38h);
0x00401454 sw t8, 0x48(fp) | *(arg_48h) = t8;
0x00401458 sw zero, 0x47c(fp) | *(arg_47ch) = 0;
0x0040145c sw zero, 0x480(fp) | *(arg_480h) = 0;
0x00401460 lw t8, 0x3c(fp) | t8 = *(arg_3ch);
0x00401464 addiu t8, t8, -1 | t8 += -1;
0x00401468 sw t8, 0x50(fp) | *(arg_50h) = t8;
0x0040146c move v0, t8 | v0 = t8;
0x00401470 addiu v0, v0, 1 | v0++;
0x00401474 move s2, v0 | s2 = v0;
0x00401478 move s3, zero | s3 = 0;
0x0040147c srl v0, s2, 0x1d | v0 = s2 >> 0x1d;
0x00401480 sll s7, s3, 3 | s7 = s3 << 3;
0x00401484 or s7, v0, s7 | s7 = v0 | s7;
0x00401488 sll s6, s2, 3 | s6 = s2 << 3;
0x0040148c move v0, t8 | v0 = t8;
0x00401490 addiu v0, v0, 1 | v0++;
0x00401494 move s0, v0 | s0 = v0;
0x00401498 move s1, zero | s1 = 0;
0x0040149c srl v0, s0, 0x1d | v0 = s0 >> 0x1d;
0x004014a0 sll s5, s1, 3 | s5 = s1 << 3;
0x004014a4 or s5, v0, s5 | s5 = v0 | s5;
0x004014a8 sll s4, s0, 3 | s4 = s0 << 3;
0x004014ac addiu t8, t8, 1 | t8++;
0x004014b0 addiu t8, t8, 7 | t8 += 7;
0x004014b4 srl t8, t8, 3 | t8 >>= 3;
0x004014b8 sll t8, t8, 3 | t8 <<= 3;
0x004014bc subu sp, sp, t8 |
0x004014c0 addiu t8, sp, 0x20 | t8 = sp + 0x20;
0x004014c4 addiu t8, t8, 0 | t8 += 0;
0x004014c8 sw t8, 0x54(fp) | *(arg_54h) = t8;
0x004014cc addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x004014d0 move a0, t8 | a0 = t8;
0x004014d4 lw t8, -0x7f8c(gp) | t8 = sym.imp.InitWirelessSet__wireless_;
0x004014d8 move t9, t8 | t9 = t8;
0x004014dc jalr t9 | t9 ();
0x004014e0 nop |
0x004014e4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004014e8 b 0x4018dc | goto label_1;
0x004014ec nop |
| do {
0x004014f0 lw v1, 0x54(fp) | v1 = *(arg_54h);
0x004014f4 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x004014f8 addiu t8, fp, 0x48 | t8 = fp + 0x48;
0x004014fc addiu a0, fp, 0x47c | a0 = fp + 0x47c;
0x00401500 sw a0, 0x10(sp) | *(var_10h) = a0;
0x00401504 addiu a0, zero, 8 | a0 = 8;
0x00401508 sw a0, 0x14(sp) | *(var_14h) = a0;
0x0040150c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00401510 lw v1, 0x3c(fp) | v1 = *(arg_3ch);
0x00401514 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00401518 move a0, v0 | a0 = v0;
0x0040151c move a1, t8 | a1 = t8;
0x00401520 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x00401524 addiu a2, t8, 0x66cc | a2 = t8 + 0x66cc;
0x00401528 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x0040152c addiu a3, t8, 0x66d0 | a3 = t8 + 0x66d0;
0x00401530 lw t8, -0x7f6c(gp) | t8 = *(gp);
0x00401534 move t9, t8 | t9 = t8;
0x00401538 jalr t9 | t9 ();
0x0040153c nop |
0x00401540 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401544 move t8, v0 | t8 = v0;
0x00401548 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x0040154c lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00401550 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00401554 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00401558 beqz t8, 0x4018ac |
0x0040155c nop |
0x00401560 addiu t8, fp, 0x47c | t8 = fp + 0x47c;
0x00401564 move a0, t8 | a0 = t8;
0x00401568 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x0040156c addiu a1, t8, 0x66d4 | a1 = t8 + 0x66d4;
0x00401570 lw t8, -0x7f94(gp) | t8 = sym.imp.strcmp;
0x00401574 move t9, t8 | t9 = t8;
0x00401578 jalr t9 | t9 ();
0x0040157c nop |
0x00401580 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401584 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401588 bnez t8, 0x4015e8 |
0x0040158c nop |
0x00401590 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00401594 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x00401598 addiu v1, fp, 0x6c | v1 = fp + 0x6c;
0x0040159c addiu v1, v1, 4 | v1 += 4;
0x004015a0 sw v1, 0x10(sp) | *(var_10h) = v1;
0x004015a4 lw v1, -0x7fdc(gp) | v1 = *(gp);
0x004015a8 addiu v1, v1, 0x66d8 | v1 += 0x66d8;
0x004015ac sw v1, 0x14(sp) | *(var_14h) = v1;
0x004015b0 sw zero, 0x18(sp) | *(var_18h) = 0;
0x004015b4 move a0, v0 | a0 = v0;
0x004015b8 move a1, t8 | a1 = t8;
0x004015bc move a2, zero | a2 = 0;
0x004015c0 addiu a3, zero, 1 | a3 = 1;
0x004015c4 lw t8, -0x7f7c(gp) | t8 = *(gp);
0x004015c8 move t9, t8 | t9 = t8;
0x004015cc jalr t9 | t9 ();
0x004015d0 nop |
0x004015d4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004015d8 move t8, v0 | t8 = v0;
0x004015dc sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x004015e0 b 0x4018ac | goto label_2;
0x004015e4 nop |
| }
0x004015e8 addiu t8, fp, 0x47c | t8 = fp + 0x47c;
0x004015ec move a0, t8 | a0 = t8;
0x004015f0 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x004015f4 addiu a1, t8, 0x66dc | a1 = t8 + 0x66dc;
0x004015f8 lw t8, -0x7f94(gp) | t8 = sym.imp.strcmp;
0x004015fc move t9, t8 | t9 = t8;
0x00401600 jalr t9 | t9 ();
0x00401604 nop |
0x00401608 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0040160c move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401610 bnez t8, 0x4016c4 |
0x00401614 nop |
0x00401618 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x0040161c addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x00401620 move a0, v0 | a0 = v0;
0x00401624 move a1, t8 | a1 = t8;
0x00401628 lw t8, -0x7f3c(gp) | t8 = *(gp);
0x0040162c move t9, t8 | t9 = t8;
0x00401630 jalr t9 | t9 ();
0x00401634 nop |
0x00401638 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0040163c addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x00401640 addiu t8, t8, 0x10 | t8 += 0x10;
0x00401644 move a0, t8 | a0 = t8;
0x00401648 addiu a1, zero, 0x40 | a1 = 0x40;
0x0040164c lw t8, -0x7f84(gp) | t8 = sym.imp.bzero;
0x00401650 move t9, t8 | t9 = t8;
0x00401654 jalr t9 | t9 ();
0x00401658 nop |
0x0040165c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401660 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00401664 addiu v0, fp, 0x6c | v0 = fp + 0x6c;
0x00401668 addiu v0, v0, 0x10 | v0 += 0x10;
0x0040166c move a0, v0 | a0 = v0;
0x00401670 addiu a1, zero, 0x21 | a1 = 0x21;
0x00401674 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* esilref: '&s' */
0x00401678 addiu a2, v0, 0x66e0 | a2 = v0 + 0x66e0;
0x0040167c move a3, t8 | a3 = t8;
0x00401680 lw t8, -0x7f30(gp) | t8 = sym.imp.snprintf
0x00401684 move t9, t8 | t9 = t8;
0x00401688 jalr t9 | t9 ();
0x0040168c nop |
0x00401690 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401694 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00401698 move a0, t8 | a0 = t8;
0x0040169c lw t8, -0x7f28(gp) | t8 = sym.imp.strlen;
0x004016a0 move t9, t8 | t9 = t8;
0x004016a4 jalr t9 | t9 ();
0x004016a8 nop |
0x004016ac lw gp, 0x20(fp) | gp = *(arg_20h);
0x004016b0 move t8, v0 | t8 = v0;
0x004016b4 sw t8, 0xbc(fp) | *(arg_bch) = t8;
0x004016b8 sw zero, 0x4c(fp) | *(arg_4ch) = 0;
0x004016bc b 0x4018ac | goto label_2;
0x004016c0 nop |
| }
0x004016c4 addiu t8, fp, 0x47c | t8 = fp + 0x47c;
0x004016c8 move a0, t8 | a0 = t8;
0x004016cc lw t8, -0x7fdc(gp) | t8 = *(gp);
0x004016d0 addiu a1, t8, 0x66e4 | a1 = t8 + 0x66e4;
0x004016d4 lw t8, -0x7f94(gp) | t8 = sym.imp.strcmp;
0x004016d8 move t9, t8 | t9 = t8;
0x004016dc jalr t9 | t9 ();
0x004016e0 nop |
0x004016e4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004016e8 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004016ec bnez t8, 0x40174c |
0x004016f0 nop |
0x004016f4 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x004016f8 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x004016fc addiu v1, fp, 0x6c | v1 = fp + 0x6c;
0x00401700 addiu v1, v1, 8 | v1 += 8;
0x00401704 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00401708 lw v1, -0x7fdc(gp) | v1 = *(gp);
0x0040170c addiu v1, v1, 0x66d8 | v1 += 0x66d8;
0x00401710 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00401714 sw zero, 0x18(sp) | *(var_18h) = 0;
0x00401718 move a0, v0 | a0 = v0;
0x0040171c move a1, t8 | a1 = t8;
0x00401720 move a2, zero | a2 = 0;
0x00401724 addiu a3, zero, 7 | a3 = 7;
0x00401728 lw t8, -0x7f7c(gp) | t8 = *(gp);
0x0040172c move t9, t8 | t9 = t8;
0x00401730 jalr t9 | t9 ();
0x00401734 nop |
0x00401738 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0040173c move t8, v0 | t8 = v0;
0x00401740 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401744 b 0x4018ac | goto label_2;
0x00401748 nop |
| }
0x0040174c addiu t8, fp, 0x47c | t8 = fp + 0x47c;
0x00401750 move a0, t8 | a0 = t8;
0x00401754 lw t8, -0x7fdc(gp) | t8 = *(gp);
0x00401758 addiu a1, t8, 0x66e8 | a1 = t8 + 0x66e8;
0x0040175c lw t8, -0x7f94(gp) | t8 = sym.imp.strcmp;
0x00401760 move t9, t8 | t9 = t8;
0x00401764 jalr t9 | t9 ();
0x00401768 nop |
0x0040176c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401770 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x00401774 bnez t8, 0x4017d4 |
0x00401778 nop |
0x0040177c lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00401780 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x00401784 addiu v1, fp, 0x6c | v1 = fp + 0x6c;
0x00401788 addiu v1, v1, 0xc | v1 += 0xc;
0x0040178c sw v1, 0x10(sp) | *(var_10h) = v1;
0x00401790 lw v1, -0x7fdc(gp) | v1 = *(gp);
0x00401794 addiu v1, v1, 0x66d8 | v1 += 0x66d8;
0x00401798 sw v1, 0x14(sp) | *(var_14h) = v1;
0x0040179c sw zero, 0x18(sp) | *(var_18h) = 0;
0x004017a0 move a0, v0 | a0 = v0;
0x004017a4 move a1, t8 | a1 = t8;
0x004017a8 move a2, zero | a2 = 0;
0x004017ac addiu a3, zero, 5 | a3 = 5;
0x004017b0 lw t8, -0x7f7c(gp) | t8 = *(gp);
0x004017b4 move t9, t8 | t9 = t8;
0x004017b8 jalr t9 | t9 ();
0x004017bc nop |
0x004017c0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004017c4 move t8, v0 | t8 = v0;
0x004017c8 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x004017cc b 0x4018ac | goto label_2;
0x004017d0 nop |
| }
0x004017d4 addiu t8, fp, 0x47c | t8 = fp + 0x47c;
0x004017d8 move a0, t8 | a0 = t8;
0x004017dc lw t8, -0x7fdc(gp) | t8 = *(gp);
0x004017e0 addiu a1, t8, 0x66ec | a1 = t8 + 0x66ec;
0x004017e4 lw t8, -0x7f94(gp) | t8 = sym.imp.strcmp;
0x004017e8 move t9, t8 | t9 = t8;
0x004017ec jalr t9 | t9 ();
0x004017f0 nop |
0x004017f4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x004017f8 move t8, v0 | t8 = v0;
| if (t8 == 0) {
0x004017fc bnez t8, 0x401888 |
0x00401800 nop |
0x00401804 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x00401808 addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x0040180c move a0, v0 | a0 = v0;
0x00401810 move a1, t8 | a1 = t8;
0x00401814 lw t8, -0x7f3c(gp) | t8 = *(gp);
0x00401818 move t9, t8 | t9 = t8;
0x0040181c jalr t9 | t9 ();
0x00401820 nop |
0x00401824 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401828 lw t8, 0x54(fp) | t8 = *(arg_54h);
0x0040182c addiu v0, fp, 0x44 | v0 = fp + 0x44;
0x00401830 addiu v1, fp, 0x6c | v1 = fp + 0x6c;
0x00401834 addiu v1, v1, 0x54 | v1 += 0x54;
0x00401838 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0040183c addiu v1, zero, 0x100 | v1 = 0x100;
0x00401840 sw v1, 0x14(sp) | *(var_14h) = v1;
0x00401844 addiu v1, fp, 0x6c | v1 = fp + 0x6c;
0x00401848 addiu v1, v1, 0x154 | v1 += 0x154;
0x0040184c sw v1, 0x18(sp) | *(var_18h) = v1;
0x00401850 sw zero, 0x1c(sp) | *(var_1ch) = 0;
0x00401854 move a0, v0 | a0 = v0;
0x00401858 move a1, t8 | a1 = t8;
0x0040185c move a2, zero | a2 = 0;
0x00401860 addiu a3, zero, 0x40 | a3 = 0x40;
0x00401864 lw t8, -0x7fa4(gp) | t8 = *(gp);
0x00401868 move t9, t8 | t9 = t8;
0x0040186c jalr t9 | t9 ();
0x00401870 nop |
0x00401874 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401878 move t8, v0 | t8 = v0;
0x0040187c sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401880 b 0x4018ac | goto label_2;
0x00401884 nop |
| }
0x00401888 addiu a0, zero, 8 | a0 = 8;
0x0040188c lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x00401890 move t9, t8 | t9 = t8;
0x00401894 jalr t9 | t9 ();
0x00401898 nop |
0x0040189c lw gp, 0x20(fp) | gp = *(arg_20h);
0x004018a0 move s0, v0 | s0 = v0;
0x004018a4 b 0x401d20 | goto label_0;
0x004018a8 nop |
| }
| label_2:
0x004018ac lw t8, 0x4c(fp) | t8 = *(arg_4ch);
| if (t8 != 0) {
0x004018b0 beqz t8, 0x4018dc |
0x004018b4 nop |
0x004018b8 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x004018bc lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x004018c0 move t9, t8 | t9 = t8;
0x004018c4 jalr t9 | t9 ();
0x004018c8 nop |
0x004018cc lw gp, 0x20(fp) | gp = *(arg_20h);
0x004018d0 move s0, v0 | s0 = v0;
0x004018d4 b 0x401d20 | goto label_0;
0x004018d8 nop |
| }
| label_1:
0x004018dc lw t8, 0x48(fp) | t8 = *(arg_48h);
0x004018e0 bnez t8, 0x4014f0 |
| } while (t8 != 0);
0x004018e4 nop |
0x004018e8 addiu v0, fp, 0x6c | v0 = fp + 0x6c;
0x004018ec addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x004018f0 move a0, v0 | a0 = v0;
0x004018f4 move a1, t8 | a1 = t8;
0x004018f8 lw t8, -0x7fac(gp) | t8 = sym.imp.ChkMode__wireless___wireless_setting_;
0x004018fc move t9, t8 | t9 = t8;
0x00401900 jalr t9 | t9 ();
0x00401904 nop |
0x00401908 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0040190c move t8, v0 | t8 = v0;
0x00401910 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401914 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00401918 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x0040191c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00401920 beqz t8, 0x40194c |
0x00401924 nop |
0x00401928 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x0040192c lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x00401930 move t9, t8 | t9 = t8;
0x00401934 jalr t9 | t9 ();
0x00401938 nop |
0x0040193c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401940 move s0, v0 | s0 = v0;
0x00401944 b 0x401d20 | goto label_0;
0x00401948 nop |
| }
0x0040194c addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x00401950 addiu v0, t8, 8 | v0 = t8 + 8;
0x00401954 addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x00401958 addiu t8, t8, 0xc | t8 += 0xc;
0x0040195c move a0, v0 | a0 = v0;
0x00401960 move a1, t8 | a1 = t8;
0x00401964 lw t8, -0x7f58(gp) | t8 = sym.imp.CvrSecEncrpType_int__int_;
0x00401968 move t9, t8 | t9 = t8;
0x0040196c jalr t9 | t9 ();
0x00401970 nop |
0x00401974 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401978 addiu v0, fp, 0x6c | v0 = fp + 0x6c;
0x0040197c addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401980 move a0, v0 | a0 = v0;
0x00401984 move a1, t8 | a1 = t8;
0x00401988 lw t8, -0x7f64(gp) | t8 = sym.imp.ChkAuth__wireless___wireless_setting_;
0x0040198c move t9, t8 | t9 = t8;
0x00401990 jalr t9 | t9 ();
0x00401994 nop |
0x00401998 lw gp, 0x20(fp) | gp = *(arg_20h);
0x0040199c move t8, v0 | t8 = v0;
0x004019a0 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x004019a4 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x004019a8 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x004019ac andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004019b0 beqz t8, 0x4019dc |
0x004019b4 nop |
0x004019b8 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x004019bc lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x004019c0 move t9, t8 | t9 = t8;
0x004019c4 jalr t9 | t9 ();
0x004019c8 nop |
0x004019cc lw gp, 0x20(fp) | gp = *(arg_20h);
0x004019d0 move s0, v0 | s0 = v0;
0x004019d4 b 0x401d20 | goto label_0;
0x004019d8 nop |
| }
0x004019dc addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x004019e0 addiu v0, t8, 8 | v0 = t8 + 8;
0x004019e4 addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x004019e8 addiu t8, t8, 0xc | t8 += 0xc;
0x004019ec move a0, v0 | a0 = v0;
0x004019f0 move a1, t8 | a1 = t8;
0x004019f4 lw t8, -0x7f90(gp) | t8 = sym.imp.CvrEncrpType_int__int_;
0x004019f8 move t9, t8 | t9 = t8;
0x004019fc jalr t9 | t9 ();
0x00401a00 nop |
0x00401a04 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401a08 addiu v0, fp, 0x6c | v0 = fp + 0x6c;
0x00401a0c addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401a10 move a0, v0 | a0 = v0;
0x00401a14 move a1, t8 | a1 = t8;
0x00401a18 lw t8, -0x7f38(gp) | t8 = sym.imp.ChkSecMethod__wireless___wireless_setting_;
0x00401a1c move t9, t8 | t9 = t8;
0x00401a20 jalr t9 | t9 ();
0x00401a24 nop |
0x00401a28 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401a2c move t8, v0 | t8 = v0;
0x00401a30 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401a34 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00401a38 sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x00401a3c andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00401a40 beqz t8, 0x401a6c |
0x00401a44 nop |
0x00401a48 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x00401a4c lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x00401a50 move t9, t8 | t9 = t8;
0x00401a54 jalr t9 | t9 ();
0x00401a58 nop |
0x00401a5c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401a60 move s0, v0 | s0 = v0;
0x00401a64 b 0x401d20 | goto label_0;
0x00401a68 nop |
| }
0x00401a6c addiu v0, fp, 0x6c | v0 = fp + 0x6c;
0x00401a70 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401a74 move a0, v0 | a0 = v0;
0x00401a78 move a1, t8 | a1 = t8;
0x00401a7c lw t8, -0x7f24(gp) | t8 = sym.imp.ChkNetKey__wireless___wireless_setting_;
0x00401a80 move t9, t8 | t9 = t8;
0x00401a84 jalr t9 | t9 ();
0x00401a88 nop |
0x00401a8c lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401a90 move t8, v0 | t8 = v0;
0x00401a94 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401a98 lw t8, 0x4c(fp) | t8 = *(arg_4ch);
0x00401a9c sltu t8, zero, t8 | t8 = (0 < t8) ? 1 : 0;
0x00401aa0 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00401aa4 beqz t8, 0x401ad0 |
0x00401aa8 nop |
0x00401aac lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x00401ab0 lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x00401ab4 move t9, t8 | t9 = t8;
0x00401ab8 jalr t9 | t9 ();
0x00401abc nop |
0x00401ac0 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401ac4 move s0, v0 | s0 = v0;
0x00401ac8 b 0x401d20 | goto label_0;
0x00401acc nop |
| }
0x00401ad0 sb zero, 0x43(fp) | *(arg_43h) = 0;
0x00401ad4 lw v1, 0x70(fp) | v1 = *(arg_70h);
0x00401ad8 addiu a0, fp, 0x44 | a0 = fp + 0x44;
0x00401adc addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401ae0 addiu v0, t8, 1 | v0 = t8 + 1;
0x00401ae4 addiu t8, fp, 0x43 | t8 = fp + 0x43;
0x00401ae8 move a1, v1 | a1 = v1;
0x00401aec move a2, v0 | a2 = v0;
0x00401af0 move a3, t8 | a3 = t8;
0x00401af4 lw t8, -0x7f08(gp) | t8 = *(gp);
0x00401af8 move t9, t8 | t9 = t8;
0x00401afc jalr t9 | t9 ();
0x00401b00 nop |
0x00401b04 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401b08 lw v0, 0xbc(fp) | v0 = *(arg_bch);
0x00401b0c addiu a0, fp, 0x44 | a0 = fp + 0x44;
0x00401b10 addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x00401b14 addiu v1, t8, 0x10 | v1 = t8 + 0x10;
0x00401b18 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401b1c addiu t8, t8, 0xc | t8 += 0xc;
0x00401b20 addiu a1, fp, 0x43 | a1 = fp + 0x43;
0x00401b24 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00401b28 move a1, v1 | a1 = v1;
0x00401b2c move a2, v0 | a2 = v0;
0x00401b30 move a3, t8 | a3 = t8;
0x00401b34 lw t8, -0x7f18(gp) | t8 = *(gp);
0x00401b38 move t9, t8 | t9 = t8;
0x00401b3c jalr t9 | t9 ();
0x00401b40 nop |
0x00401b44 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401b48 lw t8, 0x74(fp) | t8 = *(arg_74h);
| if (t8 != 0) {
0x00401b4c beqz t8, 0x401b64 |
0x00401b50 nop |
0x00401b54 lw v0, 0x74(fp) | v0 = *(arg_74h);
0x00401b58 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x00401b5c bne v0, t8, 0x401bd0 | goto label_3;
| }
0x00401b60 nop |
| }
0x00401b64 lw v0, 0x78(fp) | v0 = *(arg_78h);
0x00401b68 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x00401b6c beq v0, t8, 0x401b94 |
0x00401b70 nop |
0x00401b74 lw v0, 0x78(fp) | v0 = *(arg_78h);
0x00401b78 addiu t8, zero, -1 | t8 = -1;
| if (v0 != t8) {
0x00401b7c bne v0, t8, 0x401bd0 | goto label_3;
| }
0x00401b80 nop |
0x00401b84 lbu v0, 0x1c8(fp) | v0 = *(arg_1c8h);
0x00401b88 addiu t8, zero, 1 | t8 = 1;
| if (v0 != t8) {
0x00401b8c bne v0, t8, 0x401bd0 | goto label_3;
| }
0x00401b90 nop |
| }
0x00401b94 addiu v1, fp, 0x44 | v1 = fp + 0x44;
0x00401b98 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401b9c addiu v0, t8, 2 | v0 = t8 + 2;
0x00401ba0 addiu t8, fp, 0x43 | t8 = fp + 0x43;
0x00401ba4 move a0, v1 | a0 = v1;
0x00401ba8 addiu a1, zero, 6 | a1 = 6;
0x00401bac move a2, v0 | a2 = v0;
0x00401bb0 move a3, t8 | a3 = t8;
0x00401bb4 lw t8, -0x7f08(gp) | t8 = *(gp);
0x00401bb8 move t9, t8 | t9 = t8;
0x00401bbc jalr t9 | t9 ();
0x00401bc0 nop |
0x00401bc4 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401bc8 b 0x401c04 | goto label_4;
0x00401bcc nop |
| label_3:
0x00401bd0 lw v1, 0x74(fp) | v1 = *(arg_74h);
0x00401bd4 addiu a0, fp, 0x44 | a0 = fp + 0x44;
0x00401bd8 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401bdc addiu v0, t8, 2 | v0 = t8 + 2;
0x00401be0 addiu t8, fp, 0x43 | t8 = fp + 0x43;
0x00401be4 move a1, v1 | a1 = v1;
0x00401be8 move a2, v0 | a2 = v0;
0x00401bec move a3, t8 | a3 = t8;
0x00401bf0 lw t8, -0x7f08(gp) | t8 = *(gp);
0x00401bf4 move t9, t8 | t9 = t8;
0x00401bf8 jalr t9 | t9 ();
0x00401bfc nop |
0x00401c00 lw gp, 0x20(fp) | gp = *(arg_20h);
| label_4:
0x00401c04 lw v1, 0x78(fp) | v1 = *(arg_78h);
0x00401c08 addiu a0, fp, 0x44 | a0 = fp + 0x44;
0x00401c0c addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401c10 addiu v0, t8, 4 | v0 = t8 + 4;
0x00401c14 addiu t8, fp, 0x43 | t8 = fp + 0x43;
0x00401c18 move a1, v1 | a1 = v1;
0x00401c1c move a2, v0 | a2 = v0;
0x00401c20 move a3, t8 | a3 = t8;
0x00401c24 lw t8, -0x7f08(gp) | t8 = *(gp);
0x00401c28 move t9, t8 | t9 = t8;
0x00401c2c jalr t9 | t9 ();
0x00401c30 nop |
0x00401c34 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401c38 lw v0, 0x1c0(fp) | v0 = *(arg_1c0h);
0x00401c3c addiu a0, fp, 0x44 | a0 = fp + 0x44;
0x00401c40 addiu t8, fp, 0x6c | t8 = fp + 0x6c;
0x00401c44 addiu v1, t8, 0x54 | v1 = t8 + 0x54;
0x00401c48 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401c4c addiu t8, t8, 0x6c | t8 += 0x6c;
0x00401c50 addiu a1, fp, 0x43 | a1 = fp + 0x43;
0x00401c54 sw a1, 0x10(sp) | *(var_10h) = a1;
0x00401c58 move a1, v1 | a1 = v1;
0x00401c5c move a2, v0 | a2 = v0;
0x00401c60 move a3, t8 | a3 = t8;
0x00401c64 lw t8, -0x7f18(gp) | t8 = *(gp);
0x00401c68 move t9, t8 | t9 = t8;
0x00401c6c jalr t9 | t9 ();
0x00401c70 nop |
0x00401c74 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401c78 move t8, zero | t8 = 0;
0x00401c7c move t9, zero | t9 = 0;
0x00401c80 sw t8, 0x58(fp) | *(arg_58h) = t8;
0x00401c84 sw t9, 0x5c(fp) | *(arg_5ch) = t9;
0x00401c88 move t8, zero | t8 = 0;
0x00401c8c move t9, zero | t9 = 0;
0x00401c90 sw t8, 0x60(fp) | *(arg_60h) = t8;
0x00401c94 sw t9, 0x64(fp) | *(arg_64h) = t9;
0x00401c98 lw t8, 0x30(fp) | t8 = *(arg_30h);
| if (t8 == 0) {
0x00401c9c bnez t8, 0x401cd0 |
0x00401ca0 nop |
0x00401ca4 addiu t8, fp, 0x1c4 | t8 = fp + 0x1c4;
0x00401ca8 move a0, t8 | a0 = t8;
0x00401cac lw t8, -0x7f74(gp) | t8 = sym.imp.cam_check_client__wireless_setting_;
0x00401cb0 move t9, t8 | t9 = t8;
0x00401cb4 jalr t9 | t9 ();
0x00401cb8 nop |
0x00401cbc lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401cc0 move t8, v0 | t8 = v0;
0x00401cc4 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
0x00401cc8 b 0x401d04 | goto label_5;
0x00401ccc nop |
| }
0x00401cd0 addiu v0, fp, 0x1c4 | v0 = fp + 0x1c4;
0x00401cd4 addiu t8, fp, 0x58 | t8 = fp + 0x58;
0x00401cd8 move a0, v0 | a0 = v0;
0x00401cdc move a1, t8 | a1 = t8;
0x00401ce0 move a2, zero | a2 = 0;
0x00401ce4 addiu a3, zero, 1 | a3 = 1;
0x00401ce8 lw t8, -0x7fa8(gp) | t8 = sym.imp.cam_set_client__wireless_setting___cam_actions__unsigned_char__unsigned_char_;
0x00401cec move t9, t8 | t9 = t8;
0x00401cf0 jalr t9 | t9 ();
0x00401cf4 nop |
0x00401cf8 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401cfc move t8, v0 | t8 = v0;
0x00401d00 sw t8, 0x4c(fp) | *(arg_4ch) = t8;
| label_5:
0x00401d04 lw a0, 0x4c(fp) | a0 = *(arg_4ch);
0x00401d08 lw t8, -0x7f68(gp) | t8 = sym.imp.switchErrorCode_int_;
0x00401d0c move t9, t8 | t9 = t8;
0x00401d10 jalr t9 | t9 ();
0x00401d14 nop |
0x00401d18 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401d1c move s0, v0 | s0 = v0;
| label_0:
0x00401d20 addiu t8, fp, 0x44 | t8 = fp + 0x44;
0x00401d24 move a0, t8 | a0 = t8;
0x00401d28 lw t8, -0x7f14(gp) | t8 = *(gp);
0x00401d2c move t9, t8 | t9 = t8;
0x00401d30 jalr t9 | t9 ();
0x00401d34 nop |
0x00401d38 lw gp, 0x20(fp) | gp = *(arg_20h);
0x00401d3c lw sp, 0x2c(fp) |
0x00401d40 move t8, s0 | t8 = s0;
0x00401d44 move v0, t8 | v0 = t8;
0x00401d48 lw t8, -0x7f10(gp) | t8 = *((gp - 8132));
0x00401d4c lw v1, 0x484(fp) | v1 = *(arg_484h);
0x00401d50 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00401d54 beq v1, t8, 0x401db0 |
0x00401d58 nop |
0x00401d5c b 0x401da0 | goto label_6;
0x00401d60 nop |
| label_6:
0x00401da0 lw t8, -0x7f60(gp) | t8 = sym.imp.__stack_chk_fail;
0x00401da4 move t9, t8 | t9 = t8;
0x00401da8 jalr t9 | t9 ();
0x00401dac nop |
| }
0x00401db0 move sp, fp |
0x00401db4 lw ra, 0x4ac(sp) | ra = *(var_4ach);
0x00401db8 lw fp, 0x4a8(sp) | fp = *(var_4a8h);
0x00401dbc lw s7, 0x4a4(sp) | s7 = *(var_4a4h);
0x00401dc0 lw s6, 0x4a0(sp) | s6 = *(var_4a0h);
0x00401dc4 lw s5, 0x49c(sp) | s5 = *(var_49ch);
0x00401dc8 lw s4, 0x498(sp) | s4 = *(var_498h);
0x00401dcc lw s3, 0x494(sp) | s3 = *(var_494h);
0x00401dd0 lw s2, 0x490(sp) | s2 = *(var_490h);
0x00401dd4 lw s1, 0x48c(sp) | s1 = *(var_48ch);
0x00401dd8 lw s0, 0x488(sp) | s0 = *(var_488h);
0x00401ddc addiu sp, sp, 0x4b0 |
0x00401de0 jr ra | return v1;
0x00401de4 nop |
| }
[*] Function printf used 2 times save_wireless_info