[*] Binary protection state of ifupdown_config
Full RELRO Canary found NX disabled No PIE No RPATH No RUNPATH No Symbols
[*] Function fprintf tear down of ifupdown_config
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ifupdown_config @ 0x4047d8 */
| #include <stdint.h>
|
; (fcn) sym.gen_interface_config_mtk_apclient__Config__char_const__char_const__int_ () | void gen_interface_config_mtk_apclient_Config_char_const_char_const_int_ () {
| /* gen_interface_config_mtk_apclient(_Config*, char const*, char const*, int) */
0x004047d8 lui gp, 2 |
0x004047dc addiu gp, gp, 0x848 |
0x004047e0 addu gp, gp, t9 | gp += t9;
0x004047e4 addiu sp, sp, -0x3570 |
0x004047e8 sw ra, 0x356c(sp) | *(arg_356ch) = ra;
0x004047ec sw fp, 0x3568(sp) | *(arg_3568h) = fp;
0x004047f0 sw s0, 0x3564(sp) | *(arg_3564h) = s0;
0x004047f4 move fp, sp | fp = sp;
0x004047f8 sw gp, 0x10(sp) | *(arg_10h) = gp;
0x004047fc sw a0, 0x24(fp) | *(arg_24h) = a0;
0x00404800 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x00404804 sw a2, 0x1c(fp) | *(arg_1ch) = a2;
0x00404808 sw a3, 0x18(fp) | *(arg_18h) = a3;
0x0040480c lw t8, -0x7e68(gp) | t8 = *((gp - 8090));
0x00404810 lw t8, (t8) | t8 = *(t8);
0x00404814 sw t8, 0x355c(fp) | *(arg_355ch) = t8;
0x00404818 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040481c move a0, t8 | a0 = t8;
0x00404820 lw t8, -0x7fc0(gp) | t8 = *(gp);
0x00404824 move t9, t8 | t9 = t8;
0x00404828 jalr t9 | t9 ();
0x0040482c nop |
0x00404830 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404834 lw a0, 0x1c(fp) | a0 = *(arg_1ch);
0x00404838 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'w+' */
0x0040483c addiu a1, t8, -0x51cc | a1 = t8 + -0x51cc;
0x00404840 lw t8, -0x7e90(gp) | t8 = sym.imp.fopen64;
0x00404844 move t9, t8 | t9 = t8;
0x00404848 jalr t9 | t9 ();
0x0040484c nop |
0x00404850 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404854 move t8, v0 | t8 = v0;
0x00404858 sw t8, 0x30(fp) | *(arg_30h) = t8;
0x0040485c lw t8, 0x30(fp) | t8 = *(arg_30h);
0x00404860 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x00404864 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x00404868 beqz t8, 0x404898 |
0x0040486c nop |
0x00404870 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Open_file_fail */
0x00404874 addiu a0, t8, -0x4dd4 | a0 = t8 + -0x4dd4;
0x00404878 lw t8, -0x7efc(gp) | t8 = sym.imp.perror;
0x0040487c move t9, t8 | t9 = t8;
0x00404880 jalr t9 | t9 ();
0x00404884 nop |
0x00404888 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040488c addiu s0, zero, -1 | s0 = -1;
0x00404890 b 0x404e38 | goto label_0;
0x00404894 nop |
| }
0x00404898 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040489c move a0, t8 | a0 = t8;
0x004048a0 lw t8, -0x7f20(gp) | t8 = *(gp);
0x004048a4 move t9, t8 | t9 = t8;
0x004048a8 jalr t9 | t9 ();
0x004048ac nop |
0x004048b0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004048b4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004048b8 lw v0, 0x280(t8) | v0 = *((t8 + 160));
0x004048bc addiu t8, zero, 1 | t8 = 1;
| if (v0 == t8) {
0x004048c0 bne v0, t8, 0x404ac8 |
0x004048c4 nop |
0x004048c8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.auto_eth0_n */
0x004048cc addiu a0, t8, -0x4da8 | a0 = t8 + -0x4da8;
0x004048d0 addiu a1, zero, 1 | a1 = 1;
0x004048d4 addiu a2, zero, 0xa | a2 = 0xa;
0x004048d8 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x004048dc lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x004048e0 move t9, t8 | t9 = t8;
0x004048e4 jalr t9 | t9 ();
0x004048e8 nop |
0x004048ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004048f0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004048f4 lw t8, 0xc0(t8) | t8 = *((t8 + 48));
| if (t8 != 0) {
0x004048f8 beqz t8, 0x404930 |
0x004048fc nop |
0x00404900 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0_inet_dhcp_n */
0x00404904 addiu a0, t8, -0x4d9c | a0 = t8 + -0x4d9c;
0x00404908 addiu a1, zero, 1 | a1 = 1;
0x0040490c addiu a2, zero, 0x15 | a2 = 0x15;
0x00404910 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404914 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404918 move t9, t8 | t9 = t8;
0x0040491c jalr t9 | t9 ();
0x00404920 nop |
0x00404924 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404928 b 0x4049dc | goto label_1;
0x0040492c nop |
| }
0x00404930 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0_inet_static_n */
0x00404934 addiu a0, t8, -0x4d84 | a0 = t8 + -0x4d84;
0x00404938 addiu a1, zero, 1 | a1 = 1;
0x0040493c addiu a2, zero, 0x17 | a2 = 0x17;
0x00404940 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404944 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404948 move t9, t8 | t9 = t8;
0x0040494c jalr t9 | t9 ();
0x00404950 nop |
0x00404954 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404958 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x0040495c addiu t8, t8, 0x109 | t8 += 0x109;
0x00404960 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404964 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00404968 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x0040496c move a2, t8 | a2 = t8;
0x00404970 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404974 move t9, t8 | t9 = t8;
0x00404978 jalr t9 | t9 ();
0x0040497c nop |
0x00404980 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404984 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404988 addiu t8, t8, 0x12a | t8 += 0x12a;
0x0040498c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404990 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00404994 addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x00404998 move a2, t8 | a2 = t8;
0x0040499c lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x004049a0 move t9, t8 | t9 = t8;
0x004049a4 jalr t9 | t9 ();
0x004049a8 nop |
0x004049ac lw gp, 0x10(fp) | gp = *(arg_10h);
0x004049b0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004049b4 addiu t8, t8, 0x14b | t8 += 0x14b;
0x004049b8 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004049bc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x004049c0 addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x004049c4 move a2, t8 | a2 = t8;
0x004049c8 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x004049cc move t9, t8 | t9 = t8;
0x004049d0 jalr t9 | t9 ();
0x004049d4 nop |
0x004049d8 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_1:
0x004049dc addiu v0, fp, 0x28 | v0 = fp + 0x28;
0x004049e0 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004049e4 move a0, v0 | a0 = v0;
0x004049e8 move a1, t8 | a1 = t8;
0x004049ec lw t8, -0x7e88(gp) | t8 = *(gp);
0x004049f0 move t9, t8 | t9 = t8;
0x004049f4 jalr t9 | t9 ();
0x004049f8 nop |
0x004049fc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404a00 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00404a04 move a0, t8 | a0 = t8;
0x00404a08 lw t8, -0x7e74(gp) | t8 = *(gp);
0x00404a0c move t9, t8 | t9 = t8;
0x00404a10 jalr t9 | t9 ();
0x00404a14 nop |
0x00404a18 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404a1c move t8, v0 | t8 = v0;
0x00404a20 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404a24 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._thostname___s__n */
0x00404a28 addiu a1, v0, -0x4d3c | a1 = v0 + -0x4d3c;
0x00404a2c move a2, t8 | a2 = t8;
0x00404a30 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404a34 move t9, t8 | t9 = t8;
0x00404a38 jalr t9 | t9 ();
0x00404a3c nop |
0x00404a40 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404a44 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00404a48 move a0, t8 | a0 = t8;
0x00404a4c lw t8, -0x7eb0(gp) | t8 = *((gp - 8108));
0x00404a50 move t9, t8 | t9 = t8;
0x00404a54 jalr t9 | t9 ();
0x00404a58 nop |
0x00404a5c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404a60 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404a64 lw t8, 0x1f0(t8) | t8 = *((t8 + 124));
| if (t8 == 0) {
0x00404a68 beqz t8, 0x404d70 | goto label_2;
| }
0x00404a6c nop |
0x00404a70 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0:1_inet_ppp_n */
0x00404a74 addiu a0, t8, -0x4d2c | a0 = t8 + -0x4d2c;
0x00404a78 addiu a1, zero, 1 | a1 = 1;
0x00404a7c addiu a2, zero, 0x16 | a2 = 0x16;
0x00404a80 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404a84 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404a88 move t9, t8 | t9 = t8;
0x00404a8c jalr t9 | t9 ();
0x00404a90 nop |
0x00404a94 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404a98 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tprovider_dsl_provider_n */
0x00404a9c addiu a0, t8, -0x4d14 | a0 = t8 + -0x4d14;
0x00404aa0 addiu a1, zero, 1 | a1 = 1;
0x00404aa4 addiu a2, zero, 0x17 | a2 = 0x17;
0x00404aa8 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404aac lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404ab0 move t9, t8 | t9 = t8;
0x00404ab4 jalr t9 | t9 ();
0x00404ab8 nop |
0x00404abc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404ac0 b 0x404d70 | goto label_2;
0x00404ac4 nop |
| }
0x00404ac8 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404acc lw v0, (t8) | v0 = *(t8);
0x00404ad0 addiu t8, zero, 1 | t8 = 1;
| if (v0 == t8) {
0x00404ad4 bne v0, t8, 0x404d70 |
0x00404ad8 nop |
0x00404adc lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404ae0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.auto__s_n */
0x00404ae4 addiu a1, t8, -0x4cfc | a1 = t8 + -0x4cfc;
0x00404ae8 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00404aec lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404af0 move t9, t8 | t9 = t8;
0x00404af4 jalr t9 | t9 ();
0x00404af8 nop |
0x00404afc lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404b00 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404b04 lw t8, 0xc0(t8) | t8 = *((t8 + 48));
| if (t8 != 0) {
0x00404b08 beqz t8, 0x404b3c |
0x00404b0c nop |
0x00404b10 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404b14 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s_inet_dhcp_n */
0x00404b18 addiu a1, t8, -0x4cf0 | a1 = t8 + -0x4cf0;
0x00404b1c lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00404b20 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404b24 move t9, t8 | t9 = t8;
0x00404b28 jalr t9 | t9 ();
0x00404b2c nop |
0x00404b30 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404b34 b 0x404be4 | goto label_3;
0x00404b38 nop |
| }
0x00404b3c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404b40 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s_inet_static_n */
0x00404b44 addiu a1, t8, -0x4cdc | a1 = t8 + -0x4cdc;
0x00404b48 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00404b4c lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404b50 move t9, t8 | t9 = t8;
0x00404b54 jalr t9 | t9 ();
0x00404b58 nop |
0x00404b5c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404b60 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404b64 addiu t8, t8, 0x109 | t8 += 0x109;
0x00404b68 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404b6c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00404b70 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x00404b74 move a2, t8 | a2 = t8;
0x00404b78 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404b7c move t9, t8 | t9 = t8;
0x00404b80 jalr t9 | t9 ();
0x00404b84 nop |
0x00404b88 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404b8c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404b90 addiu t8, t8, 0x12a | t8 += 0x12a;
0x00404b94 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404b98 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00404b9c addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x00404ba0 move a2, t8 | a2 = t8;
0x00404ba4 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404ba8 move t9, t8 | t9 = t8;
0x00404bac jalr t9 | t9 ();
0x00404bb0 nop |
0x00404bb4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404bb8 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404bbc addiu t8, t8, 0x14b | t8 += 0x14b;
0x00404bc0 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404bc4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x00404bc8 addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x00404bcc move a2, t8 | a2 = t8;
0x00404bd0 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404bd4 move t9, t8 | t9 = t8;
0x00404bd8 jalr t9 | t9 ();
0x00404bdc nop |
0x00404be0 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_3:
0x00404be4 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x00404be8 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00404bec move a0, v0 | a0 = v0;
0x00404bf0 move a1, t8 | a1 = t8;
0x00404bf4 lw t8, -0x7e88(gp) | t8 = *(gp);
0x00404bf8 move t9, t8 | t9 = t8;
0x00404bfc jalr t9 | t9 ();
0x00404c00 nop |
0x00404c04 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404c08 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00404c0c move a0, t8 | a0 = t8;
0x00404c10 lw t8, -0x7e74(gp) | t8 = *(gp);
0x00404c14 move t9, t8 | t9 = t8;
0x00404c18 jalr t9 | t9 ();
0x00404c1c nop |
0x00404c20 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404c24 move t8, v0 | t8 = v0;
0x00404c28 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404c2c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._thostname___s__n */
0x00404c30 addiu a1, v0, -0x4d3c | a1 = v0 + -0x4d3c;
0x00404c34 move a2, t8 | a2 = t8;
0x00404c38 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404c3c move t9, t8 | t9 = t8;
0x00404c40 jalr t9 | t9 ();
0x00404c44 nop |
0x00404c48 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404c4c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00404c50 move a0, t8 | a0 = t8;
0x00404c54 lw t8, -0x7eb0(gp) | t8 = *((gp - 8108));
0x00404c58 move t9, t8 | t9 = t8;
0x00404c5c jalr t9 | t9 ();
0x00404c60 nop |
0x00404c64 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404c68 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404c6c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpre_up_ifconfig__s_0.0.0.0_up_n */
0x00404c70 addiu a1, t8, -0x4cc4 | a1 = t8 + -0x4cc4;
0x00404c74 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.wlan1 */
0x00404c78 addiu a2, t8, -0x4ca4 | a2 = t8 + -0x4ca4;
0x00404c7c lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404c80 move t9, t8 | t9 = t8;
0x00404c84 jalr t9 | t9 ();
0x00404c88 nop |
0x00404c8c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404c90 lw t8, 0x18(fp) | t8 = *(arg_18h);
| if (t8 != 0) {
0x00404c94 beqz t8, 0x404cc4 |
0x00404c98 nop |
0x00404c9c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpre_up_wifi_tool_channel_update_n */
0x00404ca0 addiu a0, t8, -0x4c9c | a0 = t8 + -0x4c9c;
0x00404ca4 addiu a1, zero, 1 | a1 = 1;
0x00404ca8 addiu a2, zero, 0x21 | a2 = 0x21;
0x00404cac lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404cb0 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404cb4 move t9, t8 | t9 = t8;
0x00404cb8 jalr t9 | t9 ();
0x00404cbc nop |
0x00404cc0 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
0x00404cc4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpre_up_wlan_infra_n */
0x00404cc8 addiu a0, t8, -0x4c78 | a0 = t8 + -0x4c78;
0x00404ccc addiu a1, zero, 1 | a1 = 1;
0x00404cd0 addiu a2, zero, 0x13 | a2 = 0x13;
0x00404cd4 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404cd8 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404cdc move t9, t8 | t9 = t8;
0x00404ce0 jalr t9 | t9 ();
0x00404ce4 nop |
0x00404ce8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404cec lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404cf0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tup_ifconfig__s_down_n */
0x00404cf4 addiu a1, t8, -0x4c64 | a1 = t8 + -0x4c64;
0x00404cf8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.wlan1 */
0x00404cfc addiu a2, t8, -0x4ca4 | a2 = t8 + -0x4ca4;
0x00404d00 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404d04 move t9, t8 | t9 = t8;
0x00404d08 jalr t9 | t9 ();
0x00404d0c nop |
0x00404d10 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404d14 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404d18 lw t8, 0x1f0(t8) | t8 = *((t8 + 124));
| if (t8 == 0) {
0x00404d1c beqz t8, 0x404d70 | goto label_2;
| }
0x00404d20 nop |
0x00404d24 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404d28 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s:1_inet_ppp_n */
0x00404d2c addiu a1, t8, -0x4c4c | a1 = t8 + -0x4c4c;
0x00404d30 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00404d34 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00404d38 move t9, t8 | t9 = t8;
0x00404d3c jalr t9 | t9 ();
0x00404d40 nop |
0x00404d44 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404d48 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tprovider_dsl_provider_n */
0x00404d4c addiu a0, t8, -0x4d14 | a0 = t8 + -0x4d14;
0x00404d50 addiu a1, zero, 1 | a1 = 1;
0x00404d54 addiu a2, zero, 0x17 | a2 = 0x17;
0x00404d58 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404d5c lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404d60 move t9, t8 | t9 = t8;
0x00404d64 jalr t9 | t9 ();
0x00404d68 nop |
0x00404d6c lw gp, 0x10(fp) | gp = *(arg_10h);
| }
| label_2:
0x00404d70 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_fallback_inet_static_n */
0x00404d74 addiu a0, t8, -0x4c34 | a0 = t8 + -0x4c34;
0x00404d78 addiu a1, zero, 1 | a1 = 1;
0x00404d7c addiu a2, zero, 0x1b | a2 = 0x1b;
0x00404d80 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00404d84 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00404d88 move t9, t8 | t9 = t8;
0x00404d8c jalr t9 | t9 ();
0x00404d90 nop |
0x00404d94 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404d98 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404d9c addiu t8, t8, 0x109 | t8 += 0x109;
0x00404da0 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404da4 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00404da8 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x00404dac move a2, t8 | a2 = t8;
0x00404db0 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404db4 move t9, t8 | t9 = t8;
0x00404db8 jalr t9 | t9 ();
0x00404dbc nop |
0x00404dc0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404dc4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404dc8 addiu t8, t8, 0x12a | t8 += 0x12a;
0x00404dcc lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404dd0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00404dd4 addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x00404dd8 move a2, t8 | a2 = t8;
0x00404ddc lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404de0 move t9, t8 | t9 = t8;
0x00404de4 jalr t9 | t9 ();
0x00404de8 nop |
0x00404dec lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404df0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00404df4 addiu t8, t8, 0x14b | t8 += 0x14b;
0x00404df8 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404dfc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x00404e00 addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x00404e04 move a2, t8 | a2 = t8;
0x00404e08 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00404e0c move t9, t8 | t9 = t8;
0x00404e10 jalr t9 | t9 ();
0x00404e14 nop |
0x00404e18 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404e1c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00404e20 lw t8, -0x7ec4(gp) | t8 = sym.imp.fclose;
0x00404e24 move t9, t8 | t9 = t8;
0x00404e28 jalr t9 | t9 ();
0x00404e2c nop |
0x00404e30 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404e34 move s0, zero | s0 = 0;
| label_0:
0x00404e38 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00404e3c move a0, t8 | a0 = t8;
0x00404e40 lw t8, -0x7e54(gp) | t8 = sym.imp.PIB::PIB__;
0x00404e44 move t9, t8 | t9 = t8;
0x00404e48 jalr t9 | t9 ();
0x00404e4c nop |
0x00404e50 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00404e54 move t8, s0 | t8 = s0;
0x00404e58 move v0, t8 | v0 = t8;
0x00404e5c lw t8, -0x7e68(gp) | t8 = *((gp - 8090));
0x00404e60 lw v1, 0x355c(fp) | v1 = *(arg_355ch);
0x00404e64 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00404e68 beq v1, t8, 0x404f1c |
0x00404e6c nop |
0x00404e70 b 0x404f0c | goto label_4;
0x00404e74 nop |
| label_4:
0x00404f0c lw t8, -0x7ecc(gp) | t8 = sym.imp.__stack_chk_fail;
0x00404f10 move t9, t8 | t9 = t8;
0x00404f14 jalr t9 | t9 ();
0x00404f18 nop |
| }
0x00404f1c move sp, fp |
0x00404f20 lw ra, 0x356c(sp) | ra = *(arg_356ch);
0x00404f24 lw fp, 0x3568(sp) | fp = *(arg_3568h);
0x00404f28 lw s0, 0x3564(sp) | s0 = *(arg_3564h);
0x00404f2c addiu sp, sp, 0x3570 |
0x00404f30 jr ra | return v1;
0x00404f34 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ifupdown_config @ 0x40511c */
| #include <stdint.h>
|
; (fcn) sym.gen_interface_config_wireless_extension__Config__char_const__char_const_ () | void gen_interface_config_wireless_extension_Config_char_const_char_const_ () {
| /* gen_interface_config_wireless_extension(_Config*, char const*, char const*) */
0x0040511c lui gp, 2 |
0x00405120 addiu gp, gp, -0xfc |
0x00405124 addu gp, gp, t9 | gp += t9;
0x00405128 addiu sp, sp, -0x3570 |
0x0040512c sw ra, 0x356c(sp) | *(arg_356ch) = ra;
0x00405130 sw fp, 0x3568(sp) | *(arg_3568h) = fp;
0x00405134 sw s0, 0x3564(sp) | *(arg_3564h) = s0;
0x00405138 move fp, sp | fp = sp;
0x0040513c sw gp, 0x10(sp) | *(arg_10h) = gp;
0x00405140 sw a0, 0x24(fp) | *(arg_24h) = a0;
0x00405144 sw a1, 0x20(fp) | *(arg_20h) = a1;
0x00405148 sw a2, 0x1c(fp) | *(arg_1ch) = a2;
0x0040514c lw t8, -0x7e68(gp) | t8 = *((gp - 8090));
0x00405150 lw t8, (t8) | t8 = *(t8);
0x00405154 sw t8, 0x355c(fp) | *(arg_355ch) = t8;
0x00405158 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x0040515c move a0, t8 | a0 = t8;
0x00405160 lw t8, -0x7fc0(gp) | t8 = *(gp);
0x00405164 move t9, t8 | t9 = t8;
0x00405168 jalr t9 | t9 ();
0x0040516c nop |
0x00405170 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405174 lw a0, 0x1c(fp) | a0 = *(arg_1ch);
0x00405178 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* esilref: 'w+' */
0x0040517c addiu a1, t8, -0x51cc | a1 = t8 + -0x51cc;
0x00405180 lw t8, -0x7e90(gp) | t8 = sym.imp.fopen64;
0x00405184 move t9, t8 | t9 = t8;
0x00405188 jalr t9 | t9 ();
0x0040518c nop |
0x00405190 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405194 move t8, v0 | t8 = v0;
0x00405198 sw t8, 0x30(fp) | *(arg_30h) = t8;
0x0040519c lw t8, 0x30(fp) | t8 = *(arg_30h);
0x004051a0 sltiu t8, t8, 1 | t8 = (t8 < 1) ? 1 : 0;
0x004051a4 andi t8, t8, 0xff | t8 &= 0xff;
| if (t8 != 0) {
0x004051a8 beqz t8, 0x4051d8 |
0x004051ac nop |
0x004051b0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.Open_file_fail */
0x004051b4 addiu a0, t8, -0x4dd4 | a0 = t8 + -0x4dd4;
0x004051b8 lw t8, -0x7efc(gp) | t8 = sym.imp.perror;
0x004051bc move t9, t8 | t9 = t8;
0x004051c0 jalr t9 | t9 ();
0x004051c4 nop |
0x004051c8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004051cc addiu s0, zero, -1 | s0 = -1;
0x004051d0 b 0x4057f4 | goto label_0;
0x004051d4 nop |
| }
0x004051d8 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004051dc move a0, t8 | a0 = t8;
0x004051e0 lw t8, -0x7f20(gp) | t8 = *(gp);
0x004051e4 move t9, t8 | t9 = t8;
0x004051e8 jalr t9 | t9 ();
0x004051ec nop |
0x004051f0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004051f4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004051f8 lw v0, 0x280(t8) | v0 = *((t8 + 160));
0x004051fc addiu t8, zero, 1 | t8 = 1;
| if (v0 == t8) {
0x00405200 bne v0, t8, 0x405488 |
0x00405204 nop |
0x00405208 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.auto_eth0_n */
0x0040520c addiu a0, t8, -0x4da8 | a0 = t8 + -0x4da8;
0x00405210 addiu a1, zero, 1 | a1 = 1;
0x00405214 addiu a2, zero, 0xa | a2 = 0xa;
0x00405218 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x0040521c lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405220 move t9, t8 | t9 = t8;
0x00405224 jalr t9 | t9 ();
0x00405228 nop |
0x0040522c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405230 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405234 lw t8, 0xc0(t8) | t8 = *((t8 + 48));
| if (t8 != 0) {
0x00405238 beqz t8, 0x40529c |
0x0040523c nop |
0x00405240 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0_inet_dhcp_n */
0x00405244 addiu a0, t8, -0x4d9c | a0 = t8 + -0x4d9c;
0x00405248 addiu a1, zero, 1 | a1 = 1;
0x0040524c addiu a2, zero, 0x15 | a2 = 0x15;
0x00405250 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00405254 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405258 move t9, t8 | t9 = t8;
0x0040525c jalr t9 | t9 ();
0x00405260 nop |
0x00405264 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405268 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x0040526c addiu t8, t8, 0x109 | t8 += 0x109;
0x00405270 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405274 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00405278 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x0040527c move a2, t8 | a2 = t8;
0x00405280 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405284 move t9, t8 | t9 = t8;
0x00405288 jalr t9 | t9 ();
0x0040528c nop |
0x00405290 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405294 b 0x405370 | goto label_1;
0x00405298 nop |
| }
0x0040529c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0_inet_static_n */
0x004052a0 addiu a0, t8, -0x4d84 | a0 = t8 + -0x4d84;
0x004052a4 addiu a1, zero, 1 | a1 = 1;
0x004052a8 addiu a2, zero, 0x17 | a2 = 0x17;
0x004052ac lw a3, 0x30(fp) | a3 = *(arg_30h);
0x004052b0 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x004052b4 move t9, t8 | t9 = t8;
0x004052b8 jalr t9 | t9 ();
0x004052bc nop |
0x004052c0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004052c4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004052c8 addiu t8, t8, 0x109 | t8 += 0x109;
0x004052cc lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004052d0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x004052d4 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x004052d8 move a2, t8 | a2 = t8;
0x004052dc lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x004052e0 move t9, t8 | t9 = t8;
0x004052e4 jalr t9 | t9 ();
0x004052e8 nop |
0x004052ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004052f0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004052f4 addiu t8, t8, 0x12a | t8 += 0x12a;
0x004052f8 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004052fc lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00405300 addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x00405304 move a2, t8 | a2 = t8;
0x00405308 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x0040530c move t9, t8 | t9 = t8;
0x00405310 jalr t9 | t9 ();
0x00405314 nop |
0x00405318 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040531c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405320 addiu t8, t8, 0x14b | t8 += 0x14b;
0x00405324 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405328 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x0040532c addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x00405330 move a2, t8 | a2 = t8;
0x00405334 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405338 move t9, t8 | t9 = t8;
0x0040533c jalr t9 | t9 ();
0x00405340 nop |
0x00405344 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405348 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpost_up__etc_rc.d_init.d_network_services.sh_restart_n */
0x0040534c addiu a0, t8, -0x4c18 | a0 = t8 + -0x4c18;
0x00405350 addiu a1, zero, 1 | a1 = 1;
0x00405354 addiu a2, zero, 0x36 | a2 = 0x36;
0x00405358 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x0040535c lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405360 move t9, t8 | t9 = t8;
0x00405364 jalr t9 | t9 ();
0x00405368 nop |
0x0040536c lw gp, 0x10(fp) | gp = *(arg_10h);
| label_1:
0x00405370 addiu v0, fp, 0x28 | v0 = fp + 0x28;
0x00405374 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00405378 move a0, v0 | a0 = v0;
0x0040537c move a1, t8 | a1 = t8;
0x00405380 lw t8, -0x7e88(gp) | t8 = *(gp);
0x00405384 move t9, t8 | t9 = t8;
0x00405388 jalr t9 | t9 ();
0x0040538c nop |
0x00405390 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405394 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x00405398 move a0, t8 | a0 = t8;
0x0040539c lw t8, -0x7e74(gp) | t8 = *(gp);
0x004053a0 move t9, t8 | t9 = t8;
0x004053a4 jalr t9 | t9 ();
0x004053a8 nop |
0x004053ac lw gp, 0x10(fp) | gp = *(arg_10h);
0x004053b0 move t8, v0 | t8 = v0;
0x004053b4 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004053b8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._thostname___s__n */
0x004053bc addiu a1, v0, -0x4d3c | a1 = v0 + -0x4d3c;
0x004053c0 move a2, t8 | a2 = t8;
0x004053c4 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x004053c8 move t9, t8 | t9 = t8;
0x004053cc jalr t9 | t9 ();
0x004053d0 nop |
0x004053d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004053d8 addiu t8, fp, 0x28 | t8 = fp + 0x28;
0x004053dc move a0, t8 | a0 = t8;
0x004053e0 lw t8, -0x7eb0(gp) | t8 = *((gp - 8108));
0x004053e4 move t9, t8 | t9 = t8;
0x004053e8 jalr t9 | t9 ();
0x004053ec nop |
0x004053f0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004053f4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004053f8 addiu t8, t8, 8 | t8 += 8;
0x004053fc lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405400 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tvendor___s__n */
0x00405404 addiu a1, v0, -0x4be0 | a1 = v0 + -0x4be0;
0x00405408 move a2, t8 | a2 = t8;
0x0040540c lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405410 move t9, t8 | t9 = t8;
0x00405414 jalr t9 | t9 ();
0x00405418 nop |
0x0040541c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405420 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405424 lw t8, 0x1f0(t8) | t8 = *((t8 + 124));
| if (t8 == 0) {
0x00405428 beqz t8, 0x40572c | goto label_2;
| }
0x0040542c nop |
0x00405430 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_eth0:1_inet_ppp_n */
0x00405434 addiu a0, t8, -0x4d2c | a0 = t8 + -0x4d2c;
0x00405438 addiu a1, zero, 1 | a1 = 1;
0x0040543c addiu a2, zero, 0x16 | a2 = 0x16;
0x00405440 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00405444 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405448 move t9, t8 | t9 = t8;
0x0040544c jalr t9 | t9 ();
0x00405450 nop |
0x00405454 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405458 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tprovider_dsl_provider_n */
0x0040545c addiu a0, t8, -0x4d14 | a0 = t8 + -0x4d14;
0x00405460 addiu a1, zero, 1 | a1 = 1;
0x00405464 addiu a2, zero, 0x17 | a2 = 0x17;
0x00405468 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x0040546c lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405470 move t9, t8 | t9 = t8;
0x00405474 jalr t9 | t9 ();
0x00405478 nop |
0x0040547c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405480 b 0x40572c | goto label_2;
0x00405484 nop |
| }
0x00405488 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x0040548c lw v0, (t8) | v0 = *(t8);
0x00405490 addiu t8, zero, 1 | t8 = 1;
| if (v0 == t8) {
0x00405494 bne v0, t8, 0x40572c |
0x00405498 nop |
0x0040549c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004054a0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.auto__s_n */
0x004054a4 addiu a1, t8, -0x4cfc | a1 = t8 + -0x4cfc;
0x004054a8 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x004054ac lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x004054b0 move t9, t8 | t9 = t8;
0x004054b4 jalr t9 | t9 ();
0x004054b8 nop |
0x004054bc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004054c0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004054c4 lw t8, 0xc0(t8) | t8 = *((t8 + 48));
| if (t8 != 0) {
0x004054c8 beqz t8, 0x405528 |
0x004054cc nop |
0x004054d0 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004054d4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s_inet_dhcp_n */
0x004054d8 addiu a1, t8, -0x4cf0 | a1 = t8 + -0x4cf0;
0x004054dc lw a2, 0x20(fp) | a2 = *(arg_20h);
0x004054e0 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x004054e4 move t9, t8 | t9 = t8;
0x004054e8 jalr t9 | t9 ();
0x004054ec nop |
0x004054f0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004054f4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004054f8 addiu t8, t8, 0x109 | t8 += 0x109;
0x004054fc lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405500 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00405504 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x00405508 move a2, t8 | a2 = t8;
0x0040550c lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405510 move t9, t8 | t9 = t8;
0x00405514 jalr t9 | t9 ();
0x00405518 nop |
0x0040551c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405520 b 0x4055f8 | goto label_3;
0x00405524 nop |
| }
0x00405528 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x0040552c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s_inet_static_n */
0x00405530 addiu a1, t8, -0x4cdc | a1 = t8 + -0x4cdc;
0x00405534 lw a2, 0x20(fp) | a2 = *(arg_20h);
0x00405538 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x0040553c move t9, t8 | t9 = t8;
0x00405540 jalr t9 | t9 ();
0x00405544 nop |
0x00405548 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040554c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405550 addiu t8, t8, 0x109 | t8 += 0x109;
0x00405554 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405558 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x0040555c addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x00405560 move a2, t8 | a2 = t8;
0x00405564 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405568 move t9, t8 | t9 = t8;
0x0040556c jalr t9 | t9 ();
0x00405570 nop |
0x00405574 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405578 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x0040557c addiu t8, t8, 0x12a | t8 += 0x12a;
0x00405580 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405584 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00405588 addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x0040558c move a2, t8 | a2 = t8;
0x00405590 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405594 move t9, t8 | t9 = t8;
0x00405598 jalr t9 | t9 ();
0x0040559c nop |
0x004055a0 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004055a4 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004055a8 addiu t8, t8, 0x14b | t8 += 0x14b;
0x004055ac lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004055b0 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x004055b4 addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x004055b8 move a2, t8 | a2 = t8;
0x004055bc lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x004055c0 move t9, t8 | t9 = t8;
0x004055c4 jalr t9 | t9 ();
0x004055c8 nop |
0x004055cc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004055d0 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpost_up__etc_rc.d_init.d_network_service.sh_restart_n */
0x004055d4 addiu a0, t8, -0x4bd0 | a0 = t8 + -0x4bd0;
0x004055d8 addiu a1, zero, 1 | a1 = 1;
0x004055dc addiu a2, zero, 0x35 | a2 = 0x35;
0x004055e0 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x004055e4 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x004055e8 move t9, t8 | t9 = t8;
0x004055ec jalr t9 | t9 ();
0x004055f0 nop |
0x004055f4 lw gp, 0x10(fp) | gp = *(arg_10h);
| label_3:
0x004055f8 addiu v0, fp, 0x2c | v0 = fp + 0x2c;
0x004055fc addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x00405600 move a0, v0 | a0 = v0;
0x00405604 move a1, t8 | a1 = t8;
0x00405608 lw t8, -0x7e88(gp) | t8 = *(gp);
0x0040560c move t9, t8 | t9 = t8;
0x00405610 jalr t9 | t9 ();
0x00405614 nop |
0x00405618 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040561c addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00405620 move a0, t8 | a0 = t8;
0x00405624 lw t8, -0x7e74(gp) | t8 = *(gp);
0x00405628 move t9, t8 | t9 = t8;
0x0040562c jalr t9 | t9 ();
0x00405630 nop |
0x00405634 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405638 move t8, v0 | t8 = v0;
0x0040563c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405640 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._thostname___s__n */
0x00405644 addiu a1, v0, -0x4d3c | a1 = v0 + -0x4d3c;
0x00405648 move a2, t8 | a2 = t8;
0x0040564c lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x00405650 move t9, t8 | t9 = t8;
0x00405654 jalr t9 | t9 ();
0x00405658 nop |
0x0040565c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405660 addiu t8, fp, 0x2c | t8 = fp + 0x2c;
0x00405664 move a0, t8 | a0 = t8;
0x00405668 lw t8, -0x7eb0(gp) | t8 = *((gp - 8108));
0x0040566c move t9, t8 | t9 = t8;
0x00405670 jalr t9 | t9 ();
0x00405674 nop |
0x00405678 lw gp, 0x10(fp) | gp = *(arg_10h);
0x0040567c lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405680 addiu t8, t8, 8 | t8 += 8;
0x00405684 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405688 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tvendor___s__n */
0x0040568c addiu a1, v0, -0x4be0 | a1 = v0 + -0x4be0;
0x00405690 move a2, t8 | a2 = t8;
0x00405694 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405698 move t9, t8 | t9 = t8;
0x0040569c jalr t9 | t9 ();
0x004056a0 nop |
0x004056a4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004056a8 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tpre_up_wlan_infra_n */
0x004056ac addiu a0, t8, -0x4c78 | a0 = t8 + -0x4c78;
0x004056b0 addiu a1, zero, 1 | a1 = 1;
0x004056b4 addiu a2, zero, 0x13 | a2 = 0x13;
0x004056b8 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x004056bc lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x004056c0 move t9, t8 | t9 = t8;
0x004056c4 jalr t9 | t9 ();
0x004056c8 nop |
0x004056cc lw gp, 0x10(fp) | gp = *(arg_10h);
0x004056d0 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004056d4 lw t8, 0x1f0(t8) | t8 = *((t8 + 124));
| if (t8 == 0) {
0x004056d8 beqz t8, 0x40572c | goto label_2;
| }
0x004056dc nop |
0x004056e0 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004056e4 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface__s:1_inet_ppp_n */
0x004056e8 addiu a1, t8, -0x4c4c | a1 = t8 + -0x4c4c;
0x004056ec lw a2, 0x20(fp) | a2 = *(arg_20h);
0x004056f0 lw t8, -0x7f0c(gp) | t8 = sym.imp.fprintf
0x004056f4 move t9, t8 | t9 = t8;
0x004056f8 jalr t9 | t9 ();
0x004056fc nop |
0x00405700 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405704 lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str._tprovider_dsl_provider_n */
0x00405708 addiu a0, t8, -0x4d14 | a0 = t8 + -0x4d14;
0x0040570c addiu a1, zero, 1 | a1 = 1;
0x00405710 addiu a2, zero, 0x17 | a2 = 0x17;
0x00405714 lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00405718 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x0040571c move t9, t8 | t9 = t8;
0x00405720 jalr t9 | t9 ();
0x00405724 nop |
0x00405728 lw gp, 0x10(fp) | gp = *(arg_10h);
| }
| label_2:
0x0040572c lw t8, -0x7fdc(gp) | t8 = *((gp - 8183));
| /* str.iface_fallback_inet_static_n */
0x00405730 addiu a0, t8, -0x4c34 | a0 = t8 + -0x4c34;
0x00405734 addiu a1, zero, 1 | a1 = 1;
0x00405738 addiu a2, zero, 0x1b | a2 = 0x1b;
0x0040573c lw a3, 0x30(fp) | a3 = *(arg_30h);
0x00405740 lw t8, -0x7e6c(gp) | t8 = sym.imp.fwrite;
0x00405744 move t9, t8 | t9 = t8;
0x00405748 jalr t9 | t9 ();
0x0040574c nop |
0x00405750 lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405754 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405758 addiu t8, t8, 0x109 | t8 += 0x109;
0x0040575c lw a0, 0x30(fp) | a0 = *(arg_30h);
0x00405760 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._taddress__s_n */
0x00405764 addiu a1, v0, -0x4d6c | a1 = v0 + -0x4d6c;
0x00405768 move a2, t8 | a2 = t8;
0x0040576c lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x00405770 move t9, t8 | t9 = t8;
0x00405774 jalr t9 | t9 ();
0x00405778 nop |
0x0040577c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405780 lw t8, 0x24(fp) | t8 = *(arg_24h);
0x00405784 addiu t8, t8, 0x12a | t8 += 0x12a;
0x00405788 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x0040578c lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tnetmask__s_n */
0x00405790 addiu a1, v0, -0x4d5c | a1 = v0 + -0x4d5c;
0x00405794 move a2, t8 | a2 = t8;
0x00405798 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x0040579c move t9, t8 | t9 = t8;
0x004057a0 jalr t9 | t9 ();
0x004057a4 nop |
0x004057a8 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057ac lw t8, 0x24(fp) | t8 = *(arg_24h);
0x004057b0 addiu t8, t8, 0x14b | t8 += 0x14b;
0x004057b4 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004057b8 lw v0, -0x7fdc(gp) | v0 = *((gp - 8183));
| /* str._tgateway__s_n */
0x004057bc addiu a1, v0, -0x4d4c | a1 = v0 + -0x4d4c;
0x004057c0 move a2, t8 | a2 = t8;
0x004057c4 lw t8, -0x7fbc(gp) | t8 = sym.fprintf_check_value___STDIO_FILE_STRUCT__char_const__char_const_
0x004057c8 move t9, t8 | t9 = t8;
0x004057cc jalr t9 | t9 ();
0x004057d0 nop |
0x004057d4 lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057d8 lw a0, 0x30(fp) | a0 = *(arg_30h);
0x004057dc lw t8, -0x7ec4(gp) | t8 = sym.imp.fclose;
0x004057e0 move t9, t8 | t9 = t8;
0x004057e4 jalr t9 | t9 ();
0x004057e8 nop |
0x004057ec lw gp, 0x10(fp) | gp = *(arg_10h);
0x004057f0 move s0, zero | s0 = 0;
| label_0:
0x004057f4 addiu t8, fp, 0x34 | t8 = fp + 0x34;
0x004057f8 move a0, t8 | a0 = t8;
0x004057fc lw t8, -0x7e54(gp) | t8 = sym.imp.PIB::PIB__;
0x00405800 move t9, t8 | t9 = t8;
0x00405804 jalr t9 | t9 ();
0x00405808 nop |
0x0040580c lw gp, 0x10(fp) | gp = *(arg_10h);
0x00405810 move t8, s0 | t8 = s0;
0x00405814 move v0, t8 | v0 = t8;
0x00405818 lw t8, -0x7e68(gp) | t8 = *((gp - 8090));
0x0040581c lw v1, 0x355c(fp) | v1 = *(arg_355ch);
0x00405820 lw t8, (t8) | t8 = *(t8);
| if (v1 != t8) {
0x00405824 beq v1, t8, 0x4058d8 |
0x00405828 nop |
0x0040582c b 0x4058c8 | goto label_4;
0x00405830 nop |
| label_4:
0x004058c8 lw t8, -0x7ecc(gp) | t8 = sym.imp.__stack_chk_fail;
0x004058cc move t9, t8 | t9 = t8;
0x004058d0 jalr t9 | t9 ();
0x004058d4 nop |
| }
0x004058d8 move sp, fp |
0x004058dc lw ra, 0x356c(sp) | ra = *(arg_356ch);
0x004058e0 lw fp, 0x3568(sp) | fp = *(arg_3568h);
0x004058e4 lw s0, 0x3564(sp) | s0 = *(arg_3564h);
0x004058e8 addiu sp, sp, 0x3570 |
0x004058ec jr ra | return v1;
0x004058f0 nop |
| }
[*] Function fprintf used 37 times ifupdown_config