[*] Binary protection state of ip.iproute2
Full RELRO Canary found NX disabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of ip.iproute2
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x296d0 */
| #include <stdint.h>
|
; (fcn) fcn.000296d0 () | void fcn_000296d0 () {
0x000296d0 lui gp, 7 |
0x000296d4 addiu gp, gp, -0x2440 |
0x000296d8 addu gp, gp, t9 | gp += t9;
0x000296dc lw v0, -0x79c4(gp) | v0 = *((gp - 7793));
0x000296e0 addiu sp, sp, -0x60 |
0x000296e4 move v1, v0 | v1 = v0;
0x000296e8 sw gp, 0x10(sp) | *(var_10h_4) = gp;
0x000296ec lw v1, (v1) | v1 = *(v1);
0x000296f0 sw v0, 0x20(sp) | *(var_20h_2) = v0;
0x000296f4 addiu v0, zero, 0x1000 | v0 = 0x1000;
0x000296f8 sw s5, 0x4c(sp) | *(var_4ch) = s5;
0x000296fc sw ra, 0x5c(sp) | *(var_5ch) = ra;
0x00029700 sw fp, 0x58(sp) | *(var_58h) = fp;
0x00029704 sw s7, 0x54(sp) | *(var_54h) = s7;
0x00029708 sw s6, 0x50(sp) | *(var_50h) = s6;
0x0002970c sw s4, 0x48(sp) | *(var_48h) = s4;
0x00029710 sw s3, 0x44(sp) | *(var_44h) = s3;
0x00029714 sw s2, 0x40(sp) | *(var_40h) = s2;
0x00029718 sw s1, 0x3c(sp) | *(var_3ch) = s1;
0x0002971c sw s0, 0x38(sp) | *(var_38h) = s0;
0x00029720 lw s5, 0x70(sp) | s5 = *(var_10h_3);
0x00029724 sw zero, 0x10(a2) | *((a2 + 4)) = 0;
0x00029728 sw v1, 0x34(sp) | *(var_34h) = v1;
0x0002972c sw zero, (a2) | *(a2) = 0;
0x00029730 sw zero, 4(a2) | *((a2 + 1)) = 0;
0x00029734 sw zero, 8(a2) | *((a2 + 2)) = 0;
0x00029738 sw zero, 0xc(a2) | *((a2 + 3)) = 0;
0x0002973c sw zero, 0x14(a2) | *((a2 + 5)) = 0;
0x00029740 sw zero, 0x18(a2) | *((a2 + 6)) = 0;
0x00029744 sw zero, 0x1c(a2) | *((a2 + 7)) = 0;
0x00029748 sh v0, 0x10(a2) | *((a2 + 8)) = v0;
| if (a0 == 0) {
0x0002974c beqz a0, 0x2986c | goto label_5;
| }
0x00029750 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00029754 lw s6, -0x7fdc(gp) | s6 = *(gp);
0x00029758 sw v0, 0x1c(sp) | *(var_1ch_3) = v0;
0x0002975c lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00029760 lw s7, -0x7fdc(gp) | s7 = *(gp);
0x00029764 sw v0, 0x28(sp) | *(var_28h_2) = v0;
0x00029768 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002976c move s2, a2 | s2 = a2;
| /* str.multi_queue */
0x00029770 addiu v0, v0, -0x133c | v0 += -0x133c;
0x00029774 move s0, a0 | s0 = a0;
0x00029778 move s1, a1 | s1 = a1;
0x0002977c move s4, a3 | s4 = a3;
0x00029780 lw s3, -0x7fdc(gp) | s3 = *(gp);
| /* esilref: 'pi' */
0x00029784 addiu s6, s6, -0x1358 | s6 += -aav.0x00001358;
| /* str.one_queue */
0x00029788 addiu s7, s7, -0x1354 | s7 += -0x1354;
0x0002978c sw v0, 0x24(sp) | *(var_24h_3) = v0;
0x00029790 b 0x297dc |
| while (v0 == 0) {
0x00029794 addiu s0, s0, -1 | s0 += -1;
0x00029798 addiu fp, s1, 4 | fp = s1 + 4;
| if (s0 == 0) {
0x0002979c beqz s0, 0x29ac8 | goto label_6;
| }
0x000297a0 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x000297a4 lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x000297a8 lw a0, 4(s1) | a0 = *((s1 + 1));
| /* esilref: 'tun' */
0x000297ac addiu a1, a1, -0x138c | a1 += -aav.0x0000138c;
0x000297b0 jalr t9 | t9 ();
0x000297b4 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x000297b8 bnez v0, 0x298b8 | goto label_7;
| }
0x000297bc lh v0, 0x10(s2) | v0 = *((s2 + 8));
0x000297c0 andi a0, v0, 2 | a0 = v0 & 2;
0x000297c4 ori v0, v0, 1 | v0 |= 1;
| if (a0 != 0) {
0x000297c8 bnez a0, 0x29af8 | goto label_8;
| }
0x000297cc sh v0, 0x10(s2) | *((s2 + 8)) = v0;
| label_1:
0x000297d0 addiu s0, s0, -1 | s0 += -1;
0x000297d4 addiu s1, fp, 4 | s1 = fp + 4;
| if (s0 == 0) {
0x000297d8 beqz s0, 0x29868 | goto label_9;
| }
| label_0:
0x000297dc lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x000297e0 lw a0, (s1) | a0 = *(s1);
| /* esilref: 'mode' */
0x000297e4 addiu a1, s3, 0x4bf8 | a1 = s3 + 0x4bf8;
0x000297e8 jalr t9 | t9 ();
0x000297ec lw gp, 0x10(sp) | gp = *(var_10h_4);
0x000297f0 beqz v0, 0x29794 |
| }
0x000297f4 lw a0, (s1) | a0 = *(s1);
| if (s4 != 0) {
0x000297f8 beqz s4, 0x29818 |
0x000297fc lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00029800 lw t9, -0x7fd0(gp) | t9 = sym.matches;
| /* str.user */
0x00029804 addiu a1, a1, -0x1388 | a1 += -0x1388;
0x00029808 jalr t9 | t9 ();
0x0002980c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00029810 beqz v0, 0x298ec | goto label_10;
| }
0x00029814 lw a0, (s1) | a0 = *(s1);
| }
0x00029818 lw a1, -0x7fdc(gp) | a1 = *(gp);
| if (s5 != 0) {
0x0002981c beqz s5, 0x29838 |
0x00029820 lw t9, -0x7fd0(gp) | t9 = sym.matches;
| /* esilref: 'group' */
0x00029824 addiu a1, a1, -0x4c50 | a1 += -0x4c50;
0x00029828 jalr t9 | t9 ();
0x0002982c lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00029830 beqz v0, 0x2994c | goto label_11;
| }
0x00029834 lw a0, (s1) | a0 = *(s1);
| }
0x00029838 lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x0002983c move a1, s6 | a1 = s6;
0x00029840 jalr t9 | t9 ();
0x00029844 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x00029848 bnez v0, 0x299ac | goto label_12;
| }
0x0002984c lhu v0, 0x10(s2) | v0 = *((s2 + 8));
0x00029850 move fp, s1 | fp = s1;
0x00029854 andi v0, v0, 0xefff | v0 &= 0xefff;
0x00029858 addiu s0, s0, -1 | s0 += -1;
0x0002985c sh v0, 0x10(s2) | *((s2 + 8)) = v0;
0x00029860 addiu s1, fp, 4 | s1 = fp + 4;
| if (s0 != 0) {
0x00029864 bnez s0, 0x297dc | goto label_0;
| }
| label_9:
0x00029868 lh v0, 0x10(s2) | v0 = *((s2 + 8));
| label_5:
0x0002986c andi v1, v0, 0xf | v1 = v0 & 0xf;
0x00029870 move v0, zero | v0 = 0;
| if (v1 == 0) {
0x00029874 beqz v1, 0x29b44 | goto label_13;
| }
| label_2:
0x00029878 lw v1, 0x20(sp) | v1 = *(var_20h_2);
0x0002987c lw a0, 0x34(sp) | a0 = *(var_34h);
0x00029880 lw v1, (v1) | v1 = *(v1);
0x00029884 lw ra, 0x5c(sp) | ra = *(var_5ch);
| if (a0 != v1) {
0x00029888 bne a0, v1, 0x29bb8 | goto label_14;
| }
0x0002988c lw fp, 0x58(sp) | fp = *(var_58h);
0x00029890 lw s7, 0x54(sp) | s7 = *(var_54h);
0x00029894 lw s6, 0x50(sp) | s6 = *(var_50h);
0x00029898 lw s5, 0x4c(sp) | s5 = *(var_4ch);
0x0002989c lw s4, 0x48(sp) | s4 = *(var_48h);
0x000298a0 lw s3, 0x44(sp) | s3 = *(var_44h);
0x000298a4 lw s2, 0x40(sp) | s2 = *(var_40h);
0x000298a8 lw s1, 0x3c(sp) | s1 = *(var_3ch);
0x000298ac lw s0, 0x38(sp) | s0 = *(var_38h);
0x000298b0 addiu sp, sp, 0x60 |
0x000298b4 jr ra | return v0;
| label_7:
0x000298b8 lw a1, -0x7f98(gp) | a1 = *((gp - 8166));
0x000298bc lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x000298c0 lw a0, 4(s1) | a0 = *((s1 + 1));
| /* esilref: 'tap' */
0x000298c4 addiu a1, a1, -0x7760 | a1 += -0x7760;
0x000298c8 jalr t9 | t9 ();
0x000298cc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x000298d0 bnez v0, 0x29b28 | goto label_15;
| }
0x000298d4 lh v0, 0x10(s2) | v0 = *((s2 + 8));
0x000298d8 andi a0, v0, 1 | a0 = v0 & 1;
0x000298dc ori v0, v0, 2 | v0 |= 2;
| if (a0 != 0) {
0x000298e0 bnez a0, 0x29af8 | goto label_8;
| }
0x000298e4 sh v0, 0x10(s2) | *((s2 + 8)) = v0;
0x000298e8 b 0x297d0 | goto label_1;
| label_10:
0x000298ec addiu s0, s0, -1 | s0 += -1;
0x000298f0 addiu fp, s1, 4 | fp = s1 + 4;
| if (s0 == 0) {
0x000298f4 beqz s0, 0x29ac8 | goto label_6;
| }
0x000298f8 lw a0, 4(s1) | a0 = *((s1 + 1));
0x000298fc lb v0, (a0) | v0 = *(a0);
0x00029900 lw t9, -0x7968(gp) | t9 = sym.imp.getpwnam;
| if (v0 != 0) {
0x00029904 beqz v0, 0x29930 |
0x00029908 lw t9, -0x7b7c(gp) | t9 = sym.imp.strtol;
0x0002990c addiu a2, zero, 0xa | a2 = 0xa;
0x00029910 addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x00029914 jalr t9 | t9 ();
0x00029918 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002991c lb a0, (a0) | a0 = *(a0);
0x00029920 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (a0 == 0) {
0x00029924 beqz a0, 0x29944 | goto label_16;
| }
0x00029928 lw a0, 4(s1) | a0 = *((s1 + 1));
0x0002992c lw t9, -0x7968(gp) | t9 = sym.imp.getpwnam;
| }
0x00029930 jalr t9 | t9 ();
0x00029934 nop |
0x00029938 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x0002993c beqz v0, 0x29b9c | goto label_17;
| }
0x00029940 lw v0, 8(v0) | v0 = *((v0 + 2));
| label_16:
0x00029944 sw v0, (s4) | *(s4) = v0;
0x00029948 b 0x297d0 | goto label_1;
| label_11:
0x0002994c addiu s0, s0, -1 | s0 += -1;
0x00029950 addiu fp, s1, 4 | fp = s1 + 4;
| if (s0 == 0) {
0x00029954 beqz s0, 0x29ac8 | goto label_6;
| }
0x00029958 lw a0, 4(s1) | a0 = *((s1 + 1));
0x0002995c lb v0, (a0) | v0 = *(a0);
0x00029960 lw t9, -0x7b8c(gp) | t9 = sym.imp.getgrnam;
| if (v0 != 0) {
0x00029964 beqz v0, 0x29990 |
0x00029968 lw t9, -0x7b7c(gp) | t9 = sym.imp.strtol;
0x0002996c addiu a2, zero, 0xa | a2 = 0xa;
0x00029970 addiu a1, sp, 0x30 | a1 = sp + 0x30;
0x00029974 jalr t9 | t9 ();
0x00029978 lw a0, 0x30(sp) | a0 = *(var_30h);
0x0002997c lb a0, (a0) | a0 = *(a0);
0x00029980 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (a0 == 0) {
0x00029984 beqz a0, 0x299a4 | goto label_18;
| }
0x00029988 lw a0, 4(s1) | a0 = *((s1 + 1));
0x0002998c lw t9, -0x7b8c(gp) | t9 = sym.imp.getgrnam;
| }
0x00029990 jalr t9 | t9 ();
0x00029994 nop |
0x00029998 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x0002999c beqz v0, 0x29b80 | goto label_19;
| }
0x000299a0 lw v0, 8(v0) | v0 = *((v0 + 2));
| label_18:
0x000299a4 sw v0, (s5) | *(s5) = v0;
0x000299a8 b 0x297d0 | goto label_1;
| label_12:
0x000299ac lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x000299b0 lw a0, (s1) | a0 = *(s1);
0x000299b4 move a1, s7 | a1 = s7;
0x000299b8 jalr t9 | t9 ();
0x000299bc lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x000299c0 bnez v0, 0x299d8 |
0x000299c4 lhu v0, 0x10(s2) | v0 = *((s2 + 8));
0x000299c8 move fp, s1 | fp = s1;
0x000299cc ori v0, v0, 0x2000 | v0 |= 0x2000;
0x000299d0 sh v0, 0x10(s2) | *((s2 + 8)) = v0;
0x000299d4 b 0x297d0 | goto label_1;
| }
0x000299d8 lw v0, 0x1c(sp) | v0 = *(var_1ch_3);
0x000299dc lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x000299e0 lw a0, (s1) | a0 = *(s1);
0x000299e4 addiu a1, v0, -0x1348 | a1 = v0 + -0x1348;
0x000299e8 jalr t9 | t9 ();
0x000299ec lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x000299f0 bnez v0, 0x29a08 |
0x000299f4 lhu v0, 0x10(s2) | v0 = *((s2 + 8));
0x000299f8 move fp, s1 | fp = s1;
0x000299fc ori v0, v0, 0x4000 | v0 |= 0x4000;
0x00029a00 sh v0, 0x10(s2) | *((s2 + 8)) = v0;
0x00029a04 b 0x297d0 | goto label_1;
| }
0x00029a08 lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x00029a0c lw a0, (s1) | a0 = *(s1);
0x00029a10 lw a1, 0x24(sp) | a1 = *(var_24h_3);
0x00029a14 jalr t9 | t9 ();
0x00029a18 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00029a1c bnez v0, 0x29a34 |
0x00029a20 lhu v0, 0x10(s2) | v0 = *((s2 + 8));
0x00029a24 move fp, s1 | fp = s1;
0x00029a28 ori v0, v0, 0x100 | v0 |= aav.0x00000100;
0x00029a2c sh v0, 0x10(s2) | *((s2 + 8)) = v0;
0x00029a30 b 0x297d0 | goto label_1;
| }
0x00029a34 lw v0, 0x28(sp) | v0 = *(var_28h_2);
0x00029a38 lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x00029a3c lw a0, (s1) | a0 = *(s1);
0x00029a40 addiu a1, v0, -0x6cd4 | a1 = v0 + -0x6cd4;
0x00029a44 jalr t9 | t9 ();
0x00029a48 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00029a4c bnez v0, 0x29a78 |
0x00029a50 addiu s0, s0, -1 | s0 += -1;
0x00029a54 addiu fp, s1, 4 | fp = s1 + 4;
| if (s0 == 0) {
0x00029a58 beqz s0, 0x29ac8 | goto label_6;
| }
0x00029a5c lw t9, -0x7aec(gp) | t9 = sym.imp.strncpy;
0x00029a60 lw a1, 4(s1) | a1 = *((s1 + 1));
0x00029a64 addiu a2, zero, 0xf | a2 = 0xf;
0x00029a68 move a0, s2 | a0 = s2;
0x00029a6c jalr t9 | t9 ();
0x00029a70 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00029a74 b 0x297d0 | goto label_1;
| }
0x00029a78 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x00029a7c lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x00029a80 lw a0, (s1) | a0 = *(s1);
0x00029a84 sw v0, 0x2c(sp) | *(var_2ch) = v0;
| /* str.name */
0x00029a88 addiu a1, v0, -0x3e50 | a1 = v0 + -0x3e50;
0x00029a8c jalr t9 | t9 ();
0x00029a90 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 != 0) {
0x00029a94 bnez v0, 0x29ad4 | goto label_20;
| }
0x00029a98 addiu s0, s0, -1 | s0 += -1;
0x00029a9c addiu fp, s1, 4 | fp = s1 + 4;
0x00029aa0 beqz s0, 0x29ac8 |
| while (1) {
0x00029aa4 lb v0, (s2) | v0 = *(s2);
0x00029aa8 lw a1, (fp) | a1 = *(fp);
| if (v0 != 0) {
0x00029aac bnez v0, 0x29b70 | goto label_21;
| }
0x00029ab0 lw t9, -0x7aec(gp) | t9 = sym.imp.strncpy;
0x00029ab4 addiu a2, zero, 0x10 | a2 = 0x10;
0x00029ab8 move a0, s2 | a0 = s2;
0x00029abc jalr t9 | t9 ();
0x00029ac0 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00029ac4 b 0x297d0 | goto label_1;
| label_6:
0x00029ac8 lw t9, -0x7edc(gp) | t9 = sym.incomplete_command;
0x00029acc jalr t9 | t9 ();
0x00029ad0 nop |
| label_20:
0x00029ad4 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00029ad8 lw t9, -0x7fd0(gp) | t9 = sym.matches;
0x00029adc lw a0, (s1) | a0 = *(s1);
| /* str.help */
0x00029ae0 addiu a1, a1, -0x7a28 | a1 += -0x7a28;
0x00029ae4 jalr t9 | t9 ();
0x00029ae8 lw gp, 0x10(sp) | gp = *(var_10h_4);
| if (v0 == 0) {
0x00029aec beqz v0, 0x29bc4 | goto label_22;
| }
0x00029af0 move fp, s1 | fp = s1;
0x00029af4 b 0x29aa4 |
| }
| label_8:
0x00029af8 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029afc lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00029b00 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x00029b04 lw a3, (v0) | a3 = *(v0);
| /* str.You_managed_to_ask_for_more_than_one_tunnel_mode._n */
0x00029b08 addiu a0, a0, -0x3f54 | a0 += -0x3f54;
0x00029b0c addiu a2, zero, 0x32 | a2 = 0x32;
| do {
| label_3:
0x00029b10 addiu a1, zero, 1 | a1 = 1;
0x00029b14 jalr t9 | t9 ();
0x00029b18 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00029b1c lw t9, -0x7a78(gp) | t9 = sym.imp.exit;
0x00029b20 addiu a0, zero, -1 | a0 = -1;
0x00029b24 jalr t9 | t9 ();
| label_15:
0x00029b28 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029b2c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029b30 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00029b34 lw a0, (v0) | a0 = *(v0);
0x00029b38 lw a3, 4(s1) | a3 = *((s1 + 1));
| /* str.Unknown_tunnel_mode___s__n */
0x00029b3c addiu a2, a2, -0x3eec | a2 += -0x3eec;
0x00029b40 b 0x29b10 |
| } while (1);
| label_13:
0x00029b44 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029b48 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x00029b4c lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x00029b50 lw a3, (v0) | a3 = *(v0);
0x00029b54 addiu a2, zero, 0x24 | a2 = 0x24;
0x00029b58 addiu a1, zero, 1 | a1 = 1;
| /* str.You_failed_to_specify_a_tunnel_mode_n */
0x00029b5c addiu a0, a0, -0x1330 | a0 += -0x1330;
0x00029b60 jalr t9 | t9 ();
0x00029b64 lw gp, 0x10(sp) | gp = *(var_10h_4);
0x00029b68 addiu v0, zero, -1 | v0 = -1;
0x00029b6c b 0x29878 | goto label_2;
| label_21:
0x00029b70 lw v0, 0x2c(sp) | v0 = *(var_2ch);
0x00029b74 lw t9, -0x7ed4(gp) | t9 = sym.duparg2;
0x00029b78 addiu a0, v0, -0x3e50 | a0 = v0 + -0x3e50;
0x00029b7c jalr t9 | t9 ();
| label_19:
0x00029b80 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029b84 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029b88 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00029b8c lw a0, (v0) | a0 = *(v0);
0x00029b90 lw a3, 4(s1) | a3 = *((s1 + 1));
| /* str.invalid_group___s__n */
0x00029b94 addiu a2, a2, -0x136c | a2 += -0x136c;
0x00029b98 b 0x29b10 | goto label_3;
| label_17:
0x00029b9c lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029ba0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029ba4 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00029ba8 lw a0, (v0) | a0 = *(v0);
0x00029bac lw a3, 4(s1) | a3 = *((s1 + 1));
| /* str.invalid_user___s__n */
0x00029bb0 addiu a2, a2, -0x1380 | a2 += -0x1380;
0x00029bb4 b 0x29b10 | goto label_3;
| label_14:
0x00029bb8 lw t9, -0x79ec(gp) | t9 = sym.imp.__stack_chk_fail;
0x00029bbc jalr t9 | t9 ();
0x00029bc0 nop |
| label_22:
0x00029bc4 lw t9, -0x7d34(gp) | t9 = *(gp);
| /* fcn.000295f0 */
0x00029bc8 addiu t9, t9, -0x6a10 | t9 += -0x6a10;
0x00029bcc bal 0x295f0 | fcn_000295f0 ();
0x00029bd0 nop |
0x00029bd4 lui gp, 7 |
0x00029bd8 addiu gp, gp, -0x2944 |
0x00029bdc addu gp, gp, t9 | gp += t9;
0x00029be0 addiu sp, sp, -0xc8 |
0x00029be4 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x00029be8 sw s3, 0xb8(sp) | *(var_b8h) = s3;
0x00029bec lw s3, -0x79c4(gp) | s3 = *((gp - 7793));
0x00029bf0 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x00029bf4 sw s2, 0xb4(sp) | *(var_b4h) = s2;
0x00029bf8 lw v0, (s3) | v0 = *(s3);
0x00029bfc sw s0, 0xac(sp) | *(var_ach) = s0;
0x00029c00 addiu s2, sp, 0x28 | s2 = sp + 0x28;
0x00029c04 move s0, a1 | s0 = a1;
0x00029c08 sw gp, 0x18(sp) | *(var_18h_3) = gp;
0x00029c0c sw ra, 0xc4(sp) | *(var_c4h) = ra;
0x00029c10 sw s5, 0xc0(sp) | *(var_c0h) = s5;
0x00029c14 sw a0, 0x10(sp) | *(var_10h_5) = a0;
| /* str._sys_class_net__s__s */
0x00029c18 addiu a3, a3, -0x1308 | a3 += -0x1308;
0x00029c1c addiu a1, zero, 1 | a1 = 1;
0x00029c20 move a0, s2 | a0 = s2;
0x00029c24 sw s4, 0xbc(sp) | *(var_bch) = s4;
0x00029c28 sw s1, 0xb0(sp) | *(var_b0h) = s1;
0x00029c2c move s5, a2 | s5 = a2;
0x00029c30 sw s0, 0x14(sp) | *(var_14h_2) = s0;
0x00029c34 addiu a2, zero, 0x29 | a2 = 0x29;
0x00029c38 sw v0, 0xa4(sp) | *(var_a4h) = v0;
0x00029c3c jalr t9 | t9 ();
0x00029c40 nop |
0x00029c44 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029c48 move a1, zero | a1 = 0;
0x00029c4c lw t9, -0x7ab8(gp) | t9 = sym.imp.open64;
0x00029c50 move a0, s2 | a0 = s2;
0x00029c54 jalr t9 | t9 ();
0x00029c58 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 < 0) {
0x00029c5c bltz v0, 0x29d04 | goto label_23;
| }
0x00029c60 lw t9, -0x7988(gp) | t9 = sym.imp.read;
0x00029c64 addiu s4, sp, 0x54 | s4 = sp + 0x54;
0x00029c68 addiu a2, zero, 0x4f | a2 = 0x4f;
0x00029c6c move a1, s4 | a1 = s4;
0x00029c70 move a0, v0 | a0 = v0;
0x00029c74 move s1, v0 | s1 = v0;
0x00029c78 jalr t9 | t9 ();
0x00029c7c lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029c80 move s0, v0 | s0 = v0;
0x00029c84 lw t9, -0x7b94(gp) | t9 = sym.imp.close;
0x00029c88 move a0, s1 | a0 = s1;
0x00029c8c jalr t9 | t9 ();
0x00029c90 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (s0 < 0) {
0x00029c94 bltz s0, 0x29d54 | goto label_24;
| }
0x00029c98 addiu v0, sp, 0xa8 | v0 = sp + 0xa8;
0x00029c9c addu s0, v0, s0 | s0 = v0 + s0;
0x00029ca0 lw t9, -0x7b7c(gp) | t9 = sym.imp.strtol;
0x00029ca4 move a0, s4 | a0 = s4;
0x00029ca8 move a2, zero | a2 = 0;
0x00029cac addiu a1, sp, 0x24 | a1 = sp + 0x24;
0x00029cb0 sb zero, -0x54(s0) | *((s0 - 84)) = 0;
0x00029cb4 jalr t9 | t9 ();
0x00029cb8 lw a0, 0x24(sp) | a0 = *(var_24h_2);
0x00029cbc addiu v1, zero, 0xa | v1 = 0xa;
0x00029cc0 lb a0, (a0) | a0 = *(a0);
0x00029cc4 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (a0 != v1) {
0x00029cc8 bne a0, v1, 0x29d28 | goto label_25;
| }
0x00029ccc sw v0, (s5) | *(s5) = v0;
0x00029cd0 move v0, zero | v0 = 0;
| do {
| label_4:
0x00029cd4 lw a0, 0xa4(sp) | a0 = *(var_a4h);
0x00029cd8 lw v1, (s3) | v1 = *(s3);
0x00029cdc lw ra, 0xc4(sp) | ra = *(var_c4h);
| if (a0 != v1) {
0x00029ce0 bne a0, v1, 0x29de0 | goto label_26;
| }
0x00029ce4 lw s5, 0xc0(sp) | s5 = *(var_c0h);
0x00029ce8 lw s4, 0xbc(sp) | s4 = *(var_bch);
0x00029cec lw s3, 0xb8(sp) | s3 = *(var_b8h);
0x00029cf0 lw s2, 0xb4(sp) | s2 = *(var_b4h);
0x00029cf4 lw s1, 0xb0(sp) | s1 = *(var_b0h);
0x00029cf8 lw s0, 0xac(sp) | s0 = *(var_ach);
0x00029cfc addiu sp, sp, 0xc8 |
0x00029d00 jr ra | return v0;
| label_23:
0x00029d04 lw a1, -0x7fdc(gp) | a1 = *(gp);
0x00029d08 lw t9, -0x7978(gp) | t9 = *(gp);
| /* str.tun_flags */
0x00029d0c addiu a1, a1, -0x12f0 | a1 += -0x12f0;
0x00029d10 move a0, s0 | a0 = s0;
0x00029d14 jalr t9 | t9 ();
0x00029d18 lw gp, 0x18(sp) | gp = *(var_18h_3);
| if (v0 != 0) {
0x00029d1c bnez v0, 0x29da4 | goto label_27;
| }
0x00029d20 addiu v0, zero, -1 | v0 = -1;
0x00029d24 b 0x29cd4 |
| } while (1);
| label_25:
0x00029d28 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029d2c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029d30 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00029d34 lw a0, (v0) | a0 = *(v0);
0x00029d38 move a3, s2 | a3 = s2;
| /* str.Failed_to_parse__s_n */
0x00029d3c addiu a2, a2, -0x12c8 | a2 += -0x12c8;
0x00029d40 addiu a1, zero, 1 | a1 = 1;
0x00029d44 jalr t9 | t9 ();
0x00029d48 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029d4c addiu v0, zero, -1 | v0 = -1;
0x00029d50 b 0x29cd4 | goto label_4;
| label_24:
0x00029d54 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029d58 lw t9, -0x7ae8(gp) | t9 = sym.imp.__errno_location;
0x00029d5c lw s0, (v0) | s0 = *(v0);
0x00029d60 jalr t9 | t9 ();
0x00029d64 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029d68 lw t9, -0x7a6c(gp) | t9 = sym.imp.strerror;
0x00029d6c lw a0, (v0) | a0 = *(v0);
0x00029d70 jalr t9 | t9 ();
0x00029d74 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029d78 sw v0, 0x10(sp) | *(var_10h_5) = v0;
0x00029d7c move a3, s2 | a3 = s2;
0x00029d80 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029d84 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.read__s:__s */
0x00029d88 addiu a2, a2, -0x12d4 | a2 += -0x12d4;
| do {
0x00029d8c addiu a1, zero, 1 | a1 = 1;
0x00029d90 move a0, s0 | a0 = s0;
0x00029d94 jalr t9 | t9 ();
0x00029d98 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029d9c addiu v0, zero, -1 | v0 = -1;
0x00029da0 b 0x29cd4 | goto label_4;
| label_27:
0x00029da4 lw v0, -0x79a0(gp) | v0 = *((gp - 7784));
0x00029da8 lw t9, -0x7ae8(gp) | t9 = sym.imp.__errno_location;
0x00029dac lw s0, (v0) | s0 = *(v0);
0x00029db0 jalr t9 | t9 ();
0x00029db4 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029db8 lw t9, -0x7a6c(gp) | t9 = sym.imp.strerror;
0x00029dbc lw a0, (v0) | a0 = *(v0);
0x00029dc0 jalr t9 | t9 ();
0x00029dc4 lw gp, 0x18(sp) | gp = *(var_18h_3);
0x00029dc8 sw v0, 0x10(sp) | *(var_10h_5) = v0;
0x00029dcc move a3, s2 | a3 = s2;
0x00029dd0 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00029dd4 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.open__s:__s_n */
0x00029dd8 addiu a2, a2, -0x12e4 | a2 += -0x12e4;
0x00029ddc b 0x29d8c |
| } while (1);
| label_26:
0x00029de0 lw t9, -0x79ec(gp) | t9 = sym.imp.__stack_chk_fail;
0x00029de4 jalr t9 | t9 ();
0x00029de8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2b1a8 */
| #include <stdint.h>
|
; (fcn) fcn.0002b1a8 () | void fcn_0002b1a8 () {
0x0002b1a8 lui gp, 7 |
0x0002b1ac addiu gp, gp, -0x3f18 |
0x0002b1b0 addu gp, gp, t9 | gp += t9;
0x0002b1b4 addiu sp, sp, -0x28 |
0x0002b1b8 addiu v0, zero, -1 | v0 = -1;
0x0002b1bc sw gp, 0x18(sp) | *(var_18h_4) = gp;
0x0002b1c0 sw s0, 0x20(sp) | *(var_20h_3) = s0;
0x0002b1c4 sw ra, 0x24(sp) | *(var_24h_4) = ra;
0x0002b1c8 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (a0 == v0) {
0x0002b1cc beq a0, v0, 0x2b208 | goto label_0;
| }
0x0002b1d0 lw a3, -0x7fdc(gp) | a3 = *(gp);
| do {
0x0002b1d4 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002b1d8 sw a0, 0x10(sp) | *(var_10h_5) = a0;
0x0002b1dc sw a1, 0x14(sp) | *(var_14h) = a1;
0x0002b1e0 addiu a0, s0, 0x500 | a0 = s0 + 0x500;
| /* esilref: '&llu' */
0x0002b1e4 addiu a3, a3, -0xfc0 | a3 += -0xfc0;
0x0002b1e8 addiu a2, zero, 0x20 | a2 = 0x20;
0x0002b1ec addiu a1, zero, 1 | a1 = 1;
0x0002b1f0 jalr t9 | t9 ();
0x0002b1f4 lw ra, 0x24(sp) | ra = *(var_24h_4);
0x0002b1f8 addiu v0, s0, 0x500 | v0 = s0 + 0x500;
0x0002b1fc lw s0, 0x20(sp) | s0 = *(var_20h_3);
0x0002b200 addiu sp, sp, 0x28 |
0x0002b204 jr ra | return v1;
| label_0:
0x0002b208 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x0002b20c bne a1, a0, 0x2b1d4 |
| } while (a1 != a0);
0x0002b210 lui v1, 0x464e | v1 = 0x464e0000;
0x0002b214 addiu v0, s0, 0x500 | v0 = s0 + 0x500;
0x0002b218 addiu v1, v1, 0x4928 | v1 += 0x4928;
0x0002b21c sw v1, 0x500(s0) | *((s0 + 320)) = v1;
0x0002b220 addiu v1, zero, 0x29 | v1 = 0x29;
0x0002b224 sh v1, 4(v0) | *((v0 + 2)) = v1;
0x0002b228 lw ra, 0x24(sp) | ra = *(var_24h_4);
0x0002b22c lw s0, 0x20(sp) | s0 = *(var_20h_3);
0x0002b230 addiu sp, sp, 0x28 |
0x0002b234 jr ra | return v1;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x41f40 */
| #include <stdint.h>
|
; (fcn) fcn.00041f40 () | void fcn_00041f40 () {
0x00041f40 lui gp, 5 |
0x00041f44 addiu gp, gp, 0x5350 |
0x00041f48 addu gp, gp, t9 | gp += t9;
0x00041f4c addiu sp, sp, -0x1b0 |
0x00041f50 lhu v1, 4(a1) | v1 = *((a1 + 2));
0x00041f54 sw s4, 0x198(sp) | *(var_198h) = s4;
0x00041f58 sw s0, 0x188(sp) | *(var_188h) = s0;
0x00041f5c lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
0x00041f60 lw s0, -0x79c4(gp) | s0 = *((gp - 7793));
0x00041f64 sw gp, 0x20(sp) | *(var_20h) = gp;
0x00041f68 lw v0, -0x3dd0(s4) | v0 = *((s4 - 3956));
0x00041f6c lw a0, (s0) | a0 = *(s0);
0x00041f70 sw ra, 0x1ac(sp) | *(var_1ach) = ra;
0x00041f74 sw fp, 0x1a8(sp) | *(var_1a8h) = fp;
0x00041f78 sw s7, 0x1a4(sp) | *(var_1a4h) = s7;
0x00041f7c sw s6, 0x1a0(sp) | *(var_1a0h) = s6;
0x00041f80 sw s5, 0x19c(sp) | *(var_19ch) = s5;
0x00041f84 sw s3, 0x194(sp) | *(var_194h) = s3;
0x00041f88 sw s2, 0x190(sp) | *(var_190h) = s2;
0x00041f8c sw s1, 0x18c(sp) | *(var_18ch) = s1;
0x00041f90 sw a0, 0x184(sp) | *(var_184h) = a0;
0x00041f94 lw a3, (a1) | a3 = *(a1);
| if (v1 != v0) {
0x00041f98 bne v1, v0, 0x428c4 | goto label_21;
| }
0x00041f9c addiu a3, a3, -0x14 | a3 += -0x14;
0x00041fa0 addiu v0, zero, -1 | v0 = -1;
| if (a3 < 0) {
0x00041fa4 bltz a3, 0x41fbc | goto label_0;
| }
0x00041fa8 lbu v1, 0x10(a1) | v1 = *((a1 + 16));
0x00041fac addiu v0, zero, 1 | v0 = 1;
0x00041fb0 lw t9, -0x7f54(gp) | t9 = sym.parse_rtattr;
| if (v1 == v0) {
0x00041fb4 beq v1, v0, 0x41ff8 | goto label_22;
| }
| label_1:
0x00041fb8 move v0, zero | v0 = 0;
| do {
| label_0:
0x00041fbc lw a0, 0x184(sp) | a0 = *(var_184h);
0x00041fc0 lw v1, (s0) | v1 = *(s0);
0x00041fc4 lw ra, 0x1ac(sp) | ra = *(var_1ach);
| if (a0 != v1) {
0x00041fc8 bne a0, v1, 0x42978 | goto label_23;
| }
0x00041fcc lw fp, 0x1a8(sp) | fp = *(var_1a8h);
0x00041fd0 lw s7, 0x1a4(sp) | s7 = *(var_1a4h);
0x00041fd4 lw s6, 0x1a0(sp) | s6 = *(var_1a0h);
0x00041fd8 lw s5, 0x19c(sp) | s5 = *(var_19ch);
0x00041fdc lw s4, 0x198(sp) | s4 = *(var_198h);
0x00041fe0 lw s3, 0x194(sp) | s3 = *(var_194h);
0x00041fe4 lw s2, 0x190(sp) | s2 = *(var_190h);
0x00041fe8 lw s1, 0x18c(sp) | s1 = *(var_18ch);
0x00041fec lw s0, 0x188(sp) | s0 = *(var_188h);
0x00041ff0 addiu sp, sp, 0x1b0 |
0x00041ff4 jr ra | return v0;
| label_22:
0x00041ff8 move s1, a2 | s1 = a2;
0x00041ffc addiu a0, sp, 0x94 | a0 = sp + 0x94;
0x00042000 addiu a2, a1, 0x14 | a2 = a1 + 0x14;
0x00042004 addiu a1, zero, 0xd | a1 = 0xd;
0x00042008 bal 0x58c18 | sym_parse_rtattr ();
0x0004200c lw v0, 0x98(sp) | v0 = *(var_98h);
0x00042010 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 == 0) {
0x00042014 beqz v0, 0x42528 | goto label_24;
| }
0x00042018 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x0004201c addiu s5, s6, 0x5f0 | s5 = s6 + 0x5f0;
0x00042020 lhu v1, 0x1a(s5) | v1 = *((s5 + 13));
0x00042024 andi v1, v1, 0xfffd | v1 &= 0xfffd;
0x00042028 move v0, zero | v0 = 0;
0x0004202c bnel v1, zero, 0x41fbc |
| } while (v1 == 0);
0x00042030 addiu v1, v0, 4 | v1 = v0 + 4;
0x00042034 addiu t0, zero, 1 | t0 = 1;
0x00042038 lwl a0, 3(v1) | __asm ("lwl a0, 3(v1)");
0x0004203c addiu s3, zero, 2 | s3 = 2;
0x00042040 lwr a0, (v1) | __asm ("lwr a0, (v1)");
0x00042044 move v1, a0 | v1 = a0;
0x00042048 sw v1, 0x4c(sp) | *(var_4ch_2) = v1;
0x0004204c lhu fp, (v0) | fp = *(v0);
0x00042050 addiu a0, zero, 4 | a0 = 4;
0x00042054 sh a0, 0x46(sp) | *(var_46h) = a0;
0x00042058 addiu fp, fp, -4 | fp += -4;
| label_2:
0x0004205c lw v0, 0xc0(sp) | v0 = *(var_c0h);
0x00042060 lw v1, 0xc4(sp) | v1 = *(var_c4h);
| if (v0 == 0) {
0x00042064 beqz v0, 0x4259c | goto label_25;
| }
0x00042068 lhu v1, 0x42(s5) | v1 = *((s5 + 33));
0x0004206c andi v1, v1, 0xfffd | v1 &= 0xfffd;
0x00042070 move v0, zero | v0 = 0;
| if (v1 == 0) {
0x00042074 bnel v1, zero, 0x41fbc | goto label_0;
| }
0x00042078 addiu v1, v0, 4 | v1 = v0 + 4;
0x0004207c addiu t1, zero, 0xb | t1 = 0xb;
0x00042080 lwl a0, 3(v1) | __asm ("lwl a0, 3(v1)");
0x00042084 lwr a0, (v1) | __asm ("lwr a0, (v1)");
0x00042088 move v1, a0 | v1 = a0;
0x0004208c sw v1, 0x74(sp) | *(var_74h) = v1;
0x00042090 lhu s2, (v0) | s2 = *(v0);
0x00042094 addiu a0, zero, 4 | a0 = 4;
0x00042098 sh a0, 0x6e(sp) | *(var_6eh) = a0;
0x0004209c addiu s2, s2, -4 | s2 += -4;
| label_4:
0x000420a0 lhu v0, 0x1a(s5) | v0 = *((s5 + 13));
| if (v0 != 0) {
0x000420a4 beqz v0, 0x420b8 |
0x000420a8 nop |
0x000420ac lh a2, 0x18(s5) | a2 = *((s5 + 12));
| if (a2 >= 0) {
0x000420b0 bgezl a2, 0x427ac | goto label_26;
| }
0x000420b4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
| }
| if (s2 == 0) {
| label_8:
0x000420b8 beql s2, zero, 0x425e4 | goto label_27;
| }
0x000420bc lw v0, 4(s5) | v0 = *((s5 + 1));
0x000420c0 lhu v0, 0x42(s5) | v0 = *((s5 + 33));
| if (v0 == 0) {
0x000420c4 beql v0, zero, 0x42108 | goto label_28;
| }
0x000420c8 lw v0, 4(s5) | v0 = *((s5 + 1));
0x000420cc lh a2, 0x40(s5) | a2 = *((s5 + 32));
| if (a2 < 0) {
0x000420d0 bltzl a2, 0x42108 | goto label_28;
| }
0x000420d4 lw v0, 4(s5) | v0 = *((s5 + 1));
0x000420d8 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000420dc lw t9, -0x7f3c(gp) | t9 = sym.inet_addr_match;
0x000420e0 sw t1, 0x2c(sp) | *(var_2ch_2) = t1;
0x000420e4 sw t0, 0x28(sp) | *(var_28h) = t0;
0x000420e8 addiu a1, a1, 0x62c | a1 += aav.0x0000062c;
0x000420ec addiu a0, sp, 0x6c | a0 = sp + 0x6c;
0x000420f0 bal 0x5a600 | sym_inet_addr_match ();
0x000420f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000420f8 lw t0, 0x28(sp) | t0 = *(var_28h);
0x000420fc lw t1, 0x2c(sp) | t1 = *(var_2ch_2);
| if (v0 != 0) {
0x00042100 bnez v0, 0x41fb8 | goto label_1;
| }
0x00042104 lw v0, 4(s5) | v0 = *((s5 + 1));
| label_28:
0x00042108 lw t9, -0x7ad8(gp) | t9 = sym.imp.memset;
| if (v0 != 0) {
0x0004210c bnez v0, 0x427dc | goto label_29;
| }
| label_11:
0x00042110 addiu s7, sp, 0x4c | s7 = sp + 0x4c;
| label_3:
0x00042114 lw v0, 0x10(s5) | v0 = *((s5 + 4));
0x00042118 andi v0, v0, 6 | v0 &= 6;
0x0004211c lw a0, -0x7fdc(gp) | a0 = *(gp);
| if (v0 != 0) {
0x00042120 bnez v0, 0x428cc | goto label_30;
| }
| label_16:
0x00042124 lw t9, -0x7f2c(gp) | t9 = sym.format_host;
0x00042128 move a2, s7 | a2 = s7;
0x0004212c move a1, fp | a1 = fp;
0x00042130 move a0, s3 | a0 = s3;
0x00042134 bal 0x5b0b0 | sym_format_host ();
0x00042138 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004213c move a1, s1 | a1 = s1;
0x00042140 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x00042144 move a0, v0 | a0 = v0;
0x00042148 jalr t9 | t9 ();
0x0004214c lw v0, 0xa0(sp) | v0 = *(var_a0h);
0x00042150 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00042154 beqz v0, 0x421e0 |
0x00042158 addiu v0, v0, 4 | v0 += 4;
0x0004215c lw t9, -0x7c70(gp) | t9 = *(gp);
0x00042160 lwl a0, 3(v0) | __asm ("lwl a0, 3(v0)");
0x00042164 lwl v1, 7(v0) | __asm ("lwl v1, 7(v0)");
0x00042168 addiu a2, zero, 0x3e8 | a2 = 0x3e8;
0x0004216c lwr a0, (v0) | __asm ("lwr a0, (v0)");
0x00042170 lwr v1, 4(v0) | __asm ("lwr v1, 4(v0)");
0x00042174 sw a0, 0x38(sp) | *(var_38h) = a0;
0x00042178 sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x0004217c lw s4, 0x38(sp) | s4 = *(var_38h);
0x00042180 lw s5, 0x3c(sp) | s5 = *(var_3ch);
0x00042184 move a3, zero | a3 = 0;
0x00042188 move a0, s4 | a0 = s4;
0x0004218c move a1, s5 | a1 = s5;
0x00042190 jalr t9 | t9 ();
0x00042194 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042198 addiu a2, zero, 0x3e8 | a2 = 0x3e8;
0x0004219c move a3, zero | a3 = 0;
0x000421a0 lw t9, -0x7f50(gp) | t9 = *(gp);
0x000421a4 move a0, s4 | a0 = s4;
0x000421a8 move a1, s5 | a1 = s5;
0x000421ac sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x000421b0 sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x000421b4 jalr t9 | t9 ();
0x000421b8 lw gp, 0x20(sp) | gp = *(var_20h);
0x000421bc sw v0, 0x10(sp) | *(var_10h) = v0;
0x000421c0 sw v1, 0x14(sp) | *(var_14h) = v1;
0x000421c4 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000421c8 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._age__llu._03llusec */
0x000421cc addiu a2, a2, 0x3ad4 | a2 += 0x3ad4;
0x000421d0 addiu a1, zero, 1 | a1 = 1;
0x000421d4 move a0, s1 | a0 = s1;
0x000421d8 jalr t9 | t9 ();
0x000421dc lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x000421e0 lw v0, 0xa8(sp) | v0 = *(var_a8h);
0x000421e4 lw v1, 0xa4(sp) | v1 = *(var_a4h);
| if (v0 != 0) {
0x000421e8 beqz v0, 0x42218 |
0x000421ec lw v0, 4(v0) | v0 = *((v0 + 1));
| if (v1 == 0) {
0x000421f0 beqz v1, 0x42874 | goto label_31;
| }
0x000421f4 lw a3, 4(v1) | a3 = *((v1 + 1));
| label_10:
0x000421f8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000421fc lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00042200 sw v0, 0x10(sp) | *(var_10h) = v0;
| /* str._tw_ts__u__dsec_ago */
0x00042204 addiu a2, a2, 0x3ae8 | a2 += 0x3ae8;
0x00042208 addiu a1, zero, 1 | a1 = 1;
0x0004220c move a0, s1 | a0 = s1;
0x00042210 jalr t9 | t9 ();
0x00042214 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00042218 lw a2, 0xac(sp) | a2 = *(var_ach);
0x0004221c lw t9, -0x7f54(gp) | t9 = sym.parse_rtattr;
| if (a2 == 0) {
0x00042220 beqz a2, 0x42390 | goto label_32;
| }
0x00042224 lhu a3, (a2) | a3 = *(a2);
0x00042228 addiu a3, a3, -4 | a3 += -4;
0x0004222c addiu a2, a2, 4 | a2 += 4;
0x00042230 addiu a1, zero, 7 | a1 = 7;
0x00042234 addiu a0, sp, 0xcc | a0 = sp + 0xcc;
0x00042238 bal 0x58c18 | sym_parse_rtattr ();
0x0004223c lw gp, 0x20(sp) | gp = *(var_20h);
0x00042240 move s5, zero | s5 = 0;
0x00042244 move s4, zero | s4 = 0;
0x00042248 lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
0x0004224c lw s7, -0x7fdc(gp) | s7 = *(gp);
| /* esilref: 'rtt' */
0x00042250 addiu v0, s6, -0x4664 | v0 = s6 + -0x4664;
0x00042254 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00042258 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0004225c move fp, zero | fp = 0;
| /* esilref: '&lu' */
0x00042260 addiu v0, v0, 0x3b08 | v0 += 0x3b08;
0x00042264 sw v0, 0x30(sp) | *(var_30h) = v0;
0x00042268 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0004226c sw v0, 0x34(sp) | *(var_34h) = v0;
| /* esilref: ' &s ' */
0x00042270 addiu v0, s7, -0x5f98 | v0 = s7 + -0x5f98;
0x00042274 sw v0, 0x2c(sp) | *(var_2ch_2) = v0;
| label_13:
0x00042278 addiu a0, fp, 1 | a0 = fp + 1;
| do {
0x0004227c sll v0, a0, 2 | v0 = a0 << 2;
0x00042280 addiu v1, sp, 0x188 | v1 = sp + aav.0x00000188;
0x00042284 addu v0, v1, v0 | v0 = v1 + v0;
0x00042288 lw s7, -0xbc(v0) | s7 = *(var_d0h);
| if (s7 != 0) {
0x0004228c beql s7, zero, 0x42354 |
0x00042290 move fp, a0 | fp = a0;
0x00042294 move s6, fp | s6 = fp;
| if (fp != 0) {
0x00042298 bnez fp, 0x42944 | goto label_33;
| }
0x0004229c lw v0, 4(s7) | v0 = *((s7 + 1));
| if (s4 != 0) {
0x000422a0 bnez s4, 0x4278c | goto label_34;
| }
0x000422a4 addiu s4, zero, 0x3e8 | s4 = 0x3e8;
0x000422a8 mul s4, v0, s4 | __asm ("mul s4, v0, s4");
0x000422ac lw s7, 0xd4(sp) | s7 = *(var_d4h);
0x000422b0 srl s4, s4, 3 | s4 >>= 3;
| if (s7 == 0) {
0x000422b4 beqz s7, 0x42798 | goto label_35;
| }
0x000422b8 addiu s6, zero, 1 | s6 = 1;
| label_6:
0x000422bc addiu fp, zero, 2 | fp = 2;
| label_7:
0x000422c0 addiu v0, zero, 5 | v0 = 5;
0x000422c4 addiu v0, zero, 1 | v0 = 1;
| if (s6 == v0) {
0x000422c8 beq s6, v0, 0x428a4 | goto label_36;
| }
0x000422cc addiu v0, zero, 6 | v0 = 6;
| if (s6 != v0) {
0x000422d0 bnel s6, v0, 0x422fc |
0x000422d4 lw v0, 4(s7) | v0 = *((s7 + 1));
| if (s5 != 0) {
0x000422d8 bnez s5, 0x42884 | goto label_37;
| }
0x000422dc addiu s5, zero, 0x3e8 | s5 = 0x3e8;
0x000422e0 mul s5, v0, s5 | __asm ("mul s5, v0, s5");
0x000422e4 lw s7, 0xd8(sp) | s7 = *(var_d8h);
0x000422e8 srl s5, s5, 2 | s5 >>= 2;
| if (s7 == 0) {
0x000422ec beqz s7, 0x42890 | goto label_38;
| }
0x000422f0 addiu fp, zero, 3 | fp = 3;
| label_12:
0x000422f4 addiu s6, zero, 2 | s6 = 2;
| label_15:
0x000422f8 addiu v0, zero, 6 | v0 = 6;
| }
0x000422fc lw v0, 0x28(sp) | v0 = *(var_28h);
| if (s6 == v0) {
0x00042300 beq s6, v0, 0x42898 | goto label_39;
| }
0x00042304 sll a3, s6, 2 | a3 = s6 << 2;
0x00042308 lwx a3, a3(v0) | __asm ("lwx a3, a3(v0)");
0x0004230c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| if (a3 == 0) {
0x00042310 beqz a3, 0x42924 | goto label_40;
| }
0x00042314 lw a2, 0x2c(sp) | a2 = *(var_2ch_2);
0x00042318 addiu a1, zero, 1 | a1 = 1;
0x0004231c move a0, s1 | a0 = s1;
0x00042320 jalr t9 | t9 ();
0x00042324 lw gp, 0x20(sp) | gp = *(var_20h);
| label_18:
0x00042328 addiu v0, zero, 5 | v0 = 5;
0x0004232c lw a3, 4(s7) | a3 = *((s7 + 1));
| if (s6 == v0) {
0x00042330 beq s6, v0, 0x428a8 | goto label_41;
| }
0x00042334 addiu v0, zero, 6 | v0 = 6;
0x00042338 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| if (s6 == v0) {
0x0004233c beq s6, v0, 0x4289c | goto label_42;
| }
0x00042340 lw a2, 0x30(sp) | a2 = *(var_30h);
0x00042344 addiu a1, zero, 1 | a1 = 1;
0x00042348 move a0, s1 | a0 = s1;
0x0004234c jalr t9 | t9 ();
0x00042350 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00042354 addiu v0, zero, 7 | v0 = 7;
0x00042358 addiu a0, fp, 1 | a0 = fp + 1;
0x0004235c bnel fp, v0, 0x4227c |
| } while (fp == v0);
| label_14:
0x00042360 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (s4 != 0) {
0x00042364 bnez s4, 0x4294c | goto label_43;
| }
| label_19:
0x00042368 lw v0, 0xb0(sp) | v0 = *(var_b0h);
| if (s5 != 0) {
0x0004236c beqz s5, 0x42394 |
0x00042370 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00042374 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00042378 move a3, s5 | a3 = s5;
| /* str._rttvar__luus */
0x0004237c addiu a2, a2, 0x3b18 | a2 += 0x3b18;
0x00042380 addiu a1, zero, 1 | a1 = 1;
0x00042384 move a0, s1 | a0 = s1;
0x00042388 jalr t9 | t9 ();
0x0004238c lw gp, 0x20(sp) | gp = *(var_20h);
| label_32:
0x00042390 lw v0, 0xb0(sp) | v0 = *(var_b0h);
| }
0x00042394 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (v0 != 0) {
0x00042398 beqz v0, 0x423b8 |
0x0004239c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x000423a0 lhu a3, 4(v0) | a3 = *((v0 + 2));
| /* str._fo_mss__u */
0x000423a4 addiu a2, a2, 0x3b28 | a2 += 0x3b28;
0x000423a8 addiu a1, zero, 1 | a1 = 1;
0x000423ac move a0, s1 | a0 = s1;
0x000423b0 jalr t9 | t9 ();
0x000423b4 lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x000423b8 lw v1, 0xb4(sp) | v1 = *(var_b4h);
0x000423bc lw v0, 0xb8(sp) | v0 = *(var_b8h);
| if (v1 != 0) {
0x000423c0 beqz v1, 0x42460 |
0x000423c4 lhu s4, 4(v1) | s4 = *((v1 + 2));
| if (v0 == 0) {
0x000423c8 beqz v0, 0x42778 | goto label_44;
| }
0x000423cc addiu v0, v0, 4 | v0 += 4;
0x000423d0 lw t9, -0x7f50(gp) | t9 = *(gp);
0x000423d4 lwl a0, 3(v0) | __asm ("lwl a0, 3(v0)");
0x000423d8 lwl v1, 7(v0) | __asm ("lwl v1, 7(v0)");
0x000423dc addiu a2, zero, 0x3e8 | a2 = 0x3e8;
0x000423e0 lwr a0, (v0) | __asm ("lwr a0, (v0)");
0x000423e4 lwr v1, 4(v0) | __asm ("lwr v1, 4(v0)");
0x000423e8 sw a0, 0x38(sp) | *(var_38h) = a0;
0x000423ec sw v1, 0x3c(sp) | *(var_3ch) = v1;
0x000423f0 lw s6, 0x38(sp) | s6 = *(var_38h);
0x000423f4 lw s7, 0x3c(sp) | s7 = *(var_3ch);
0x000423f8 move a0, s6 | a0 = s6;
0x000423fc move a1, s7 | a1 = s7;
0x00042400 move a3, zero | a3 = 0;
0x00042404 jalr t9 | t9 ();
0x00042408 lw gp, 0x20(sp) | gp = *(var_20h);
0x0004240c move a0, s6 | a0 = s6;
0x00042410 move a1, s7 | a1 = s7;
0x00042414 lw t9, -0x7c70(gp) | t9 = *(gp);
0x00042418 addiu a2, zero, 0x3e8 | a2 = 0x3e8;
0x0004241c move a3, zero | a3 = 0;
0x00042420 move s6, v0 | s6 = v0;
0x00042424 move s7, v1 | s7 = v1;
0x00042428 jalr t9 | t9 ();
0x0004242c lw gp, 0x20(sp) | gp = *(var_20h);
| label_5:
0x00042430 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x00042434 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00042438 sw v0, 0x18(sp) | *(var_18h_2) = v0;
0x0004243c sw v1, 0x1c(sp) | *(var_1ch) = v1;
0x00042440 sw s6, 0x10(sp) | *(var_10h) = s6;
0x00042444 sw s7, 0x14(sp) | *(var_14h) = s7;
0x00042448 move a3, s4 | a3 = s4;
| /* str._fo_syn_drops__u__llu._03llusec_ago */
0x0004244c addiu a2, a2, 0x3b34 | a2 += 0x3b34;
0x00042450 addiu a1, zero, 1 | a1 = 1;
0x00042454 move a0, s1 | a0 = s1;
0x00042458 jalr t9 | t9 ();
0x0004245c lw gp, 0x20(sp) | gp = *(var_20h);
| }
0x00042460 lw s5, 0xbc(sp) | s5 = *(var_bch);
0x00042464 addiu v1, zero, 0x10 | v1 = 0x10;
| if (s5 == 0) {
0x00042468 beqz s5, 0x424f8 | goto label_45;
| }
0x0004246c lhu v0, (s5) | v0 = *(s5);
0x00042470 addiu v0, v0, -4 | v0 += -4;
0x00042474 slti s6, v0, 0x11 | s6 = (v0 < 0x11) ? 1 : 0;
| if (s6 == 0) {
0x00042478 movn v1, v0, s6 | v1 = v0;
| }
0x0004247c move s6, v1 | s6 = v1;
0x00042480 sb zero, 0x160(sp) | *(var_160h) = 0;
| if (v0 <= 0) {
0x00042484 blez v0, 0x4296c | goto label_46;
| }
0x00042488 lw s7, -0x7fdc(gp) | s7 = *(gp);
0x0004248c addiu v0, sp, 0x160 | v0 = sp + aav.0x00000160;
0x00042490 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00042494 move fp, v0 | fp = v0;
0x00042498 move s4, zero | s4 = 0;
| /* esilref: '&x' */
0x0004249c addiu s7, s7, 0x2db0 | s7 += 0x2db0;
| do {
0x000424a0 addu v0, s5, s4 | v0 = s5 + s4;
0x000424a4 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x000424a8 lbu v0, 4(v0) | v0 = *((v0 + 4));
0x000424ac move a0, fp | a0 = fp;
0x000424b0 sw v0, 0x10(sp) | *(var_10h) = v0;
0x000424b4 move a3, s7 | a3 = s7;
0x000424b8 addiu a2, zero, -1 | a2 = -1;
0x000424bc addiu a1, zero, 1 | a1 = 1;
0x000424c0 addiu s4, s4, 1 | s4++;
0x000424c4 jalr t9 | t9 ();
0x000424c8 slt v0, s4, s6 | v0 = (s4 < s6) ? 1 : 0;
0x000424cc lw gp, 0x20(sp) | gp = *(var_20h);
0x000424d0 addiu fp, fp, 2 | fp += 2;
0x000424d4 bnez v0, 0x424a0 |
| } while (v0 != 0);
| label_20:
0x000424d8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x000424dc lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x000424e0 lw a3, 0x28(sp) | a3 = *(var_28h);
| /* str._fo_cookie__s */
0x000424e4 addiu a2, a2, 0x3b58 | a2 += 0x3b58;
0x000424e8 addiu a1, zero, 1 | a1 = 1;
0x000424ec move a0, s1 | a0 = s1;
0x000424f0 jalr t9 | t9 ();
0x000424f4 lw gp, 0x20(sp) | gp = *(var_20h);
| label_45:
0x000424f8 lw t9, -0x7f2c(gp) | t9 = sym.format_host;
| if (s2 != 0) {
0x000424fc bnez s2, 0x428ec | goto label_47;
| }
| label_17:
0x00042500 lw t9, -0x7b2c(gp) | t9 = sym.imp.fputc;
0x00042504 move a1, s1 | a1 = s1;
0x00042508 addiu a0, zero, 0xa | a0 = 0xa;
0x0004250c jalr t9 | t9 ();
0x00042510 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042514 lw t9, -0x799c(gp) | t9 = sym.imp.fflush;
0x00042518 move a0, s1 | a0 = s1;
0x0004251c jalr t9 | t9 ();
0x00042520 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042524 b 0x41fb8 | goto label_1;
| label_24:
0x00042528 lw v1, 0x9c(sp) | v1 = *(var_9ch);
0x0004252c lw s6, -0x7fd4(gp) | s6 = *((gp - 8181));
| if (v1 == 0) {
0x00042530 beqz v1, 0x41fb8 | goto label_1;
| }
0x00042534 addiu s5, s6, 0x5f0 | s5 = s6 + 0x5f0;
0x00042538 lhu v0, 0x1a(s5) | v0 = *((s5 + 13));
0x0004253c addiu a0, zero, 0xa | a0 = 0xa;
| if (v0 == 0) {
0x00042540 beqz v0, 0x4254c | goto label_48;
| }
0x00042544 move v0, zero | v0 = 0;
| if (v0 != a0) {
0x00042548 bne v0, a0, 0x41fbc | goto label_0;
| }
| label_48:
0x0004254c addiu v0, v1, 4 | v0 = v1 + 4;
0x00042550 addiu t0, zero, 2 | t0 = 2;
0x00042554 lwl a3, 3(v0) | __asm ("lwl a3, 3(v0)");
0x00042558 lwl a2, 7(v0) | __asm ("lwl a2, 7(v0)");
0x0004255c lwl a1, 0xb(v0) | __asm ("lwl a1, 0xb(v0)");
0x00042560 lwl a0, 0xf(v0) | __asm ("lwl a0, 0xf(v0)");
0x00042564 lwr a3, (v0) | __asm ("lwr a3, (v0)");
0x00042568 lwr a2, 4(v0) | __asm ("lwr a2, 4(v0)");
0x0004256c lwr a1, 8(v0) | __asm ("lwr a1, 8(v0)");
0x00042570 lwr a0, 0xc(v0) | __asm ("lwr a0, 0xc(v0)");
0x00042574 sw a3, 0x4c(sp) | *(var_4ch_2) = a3;
0x00042578 sw a2, 0x50(sp) | *(var_50h) = a2;
0x0004257c sw a1, 0x54(sp) | *(var_54h) = a1;
0x00042580 sw a0, 0x58(sp) | *(var_58h_2) = a0;
0x00042584 lhu fp, (v1) | fp = *(v1);
0x00042588 addiu v0, zero, 0x10 | v0 = 0x10;
0x0004258c sh v0, 0x46(sp) | *(var_46h) = v0;
0x00042590 addiu fp, fp, -4 | fp += -4;
0x00042594 addiu s3, zero, 0xa | s3 = 0xa;
0x00042598 b 0x4205c | goto label_2;
| label_25:
0x0004259c lhu v0, 0x42(s5) | v0 = *((s5 + 33));
| if (v1 == 0) {
0x000425a0 bnel v1, zero, 0x4271c | goto label_49;
| }
0x000425a4 lhu v0, 0x1a(s5) | v0 = *((s5 + 13));
| if (v0 == 0) {
0x000425a8 beql v0, zero, 0x425e4 | goto label_27;
| }
0x000425ac lw v0, 4(s5) | v0 = *((s5 + 1));
0x000425b0 lh a2, 0x18(s5) | a2 = *((s5 + 12));
| if (a2 < 0) {
0x000425b4 bltzl a2, 0x425e4 | goto label_27;
| }
0x000425b8 lw v0, 4(s5) | v0 = *((s5 + 1));
0x000425bc lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000425c0 lw t9, -0x7f3c(gp) | t9 = sym.inet_addr_match;
0x000425c4 sw t0, 0x28(sp) | *(var_28h) = t0;
0x000425c8 addiu a1, a1, 0x604 | a1 += 0x604;
0x000425cc addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x000425d0 bal 0x5a600 | sym_inet_addr_match ();
0x000425d4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000425d8 lw t0, 0x28(sp) | t0 = *(var_28h);
| if (v0 != 0) {
0x000425dc bnez v0, 0x41fb8 | goto label_1;
| }
0x000425e0 lw v0, 4(s5) | v0 = *((s5 + 1));
| label_27:
0x000425e4 lw t9, -0x7ad8(gp) | t9 = sym.imp.memset;
| if (v0 == 0) {
0x000425e8 beqz v0, 0x4287c | goto label_50;
| }
0x000425ec sw t0, 0x28(sp) | *(var_28h) = t0;
0x000425f0 addiu a2, zero, 0x8c | a2 = 0x8c;
0x000425f4 move a1, zero | a1 = 0;
0x000425f8 addiu a0, sp, 0xd4 | a0 = sp + 0xd4;
0x000425fc jalr t9 | t9 ();
0x00042600 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042604 lw v0, -0x3dd0(s4) | v0 = *((s4 - 3956));
0x00042608 lhu v1, 0x46(sp) | v1 = *(var_46h);
0x0004260c lw t0, 0x28(sp) | t0 = *(var_28h);
0x00042610 addiu a0, zero, 0x102 | a0 = 0x102;
0x00042614 lw t9, -0x7ef8(gp) | t9 = sym.addattr_l;
0x00042618 sw v1, 0x10(sp) | *(var_10h) = v1;
0x0004261c sh v0, 0xd0(sp) | *(var_d0h) = v0;
0x00042620 addiu v1, zero, 0x14 | v1 = 0x14;
0x00042624 addiu v0, zero, 1 | v0 = 1;
0x00042628 addiu s7, sp, 0x4c | s7 = sp + 0x4c;
0x0004262c addiu s4, sp, 0xcc | s4 = sp + 0xcc;
0x00042630 sh a0, 0xdc(sp) | *(var_dch) = a0;
0x00042634 move a3, s7 | a3 = s7;
0x00042638 move a2, t0 | a2 = t0;
0x0004263c addiu a1, zero, 0x94 | a1 = 0x94;
0x00042640 move a0, s4 | a0 = s4;
0x00042644 sw v1, 0xcc(sp) | *(var_cch) = v1;
0x00042648 sh v0, 0xd2(sp) | *(var_d2h) = v0;
0x0004264c bal 0x5837c | sym_addattr_l ();
0x00042650 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042654 move s2, zero | s2 = 0;
| label_9:
0x00042658 lw v0, 8(s5) | v0 = *((s5 + 2));
0x0004265c addiu a0, zero, -4 | a0 = -4;
0x00042660 addiu v0, v0, 3 | v0 += 3;
0x00042664 lw a2, 0xcc(sp) | a2 = *(var_cch);
0x00042668 and v0, v0, a0 | v0 &= a0;
0x0004266c lw a1, 0xc(s5) | a1 = *((s5 + 3));
0x00042670 addu v1, v0, a2 | v1 = v0 + a2;
0x00042674 sltu v1, a1, v1 | v1 = (a1 < v1) ? 1 : 0;
| if (v1 != 0) {
0x00042678 beql v1, zero, 0x426b0 |
0x0004267c lw v1, 4(s5) | v1 = *((s5 + 1));
0x00042680 lw t9, -0x7ca4(gp) | t9 = *(gp);
| /* fcn.00041e20 */
0x00042684 addiu t9, t9, 0x1e20 | t9 += 0x1e20;
0x00042688 bal 0x41e20 | fcn_00041e20 ();
0x0004268c nop |
0x00042690 lw gp, 0x20(sp) | gp = *(var_20h);
| if (v0 != 0) {
0x00042694 bnez v0, 0x428c4 | goto label_21;
| }
0x00042698 lw v0, 8(s5) | v0 = *((s5 + 2));
0x0004269c addiu a0, zero, -4 | a0 = -4;
0x000426a0 addiu v0, v0, 3 | v0 += 3;
0x000426a4 lw a2, 0xcc(sp) | a2 = *(var_cch);
0x000426a8 and v0, v0, a0 | v0 &= a0;
0x000426ac lw v1, 4(s5) | v1 = *((s5 + 1));
| }
0x000426b0 lw t9, -0x79c0(gp) | t9 = sym.imp.memcpy;
0x000426b4 addu v1, v1, v0 | v1 += v0;
0x000426b8 move a0, v1 | a0 = v1;
0x000426bc move a1, s4 | a1 = s4;
0x000426c0 jalr t9 | t9 ();
0x000426c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000426c8 move v1, v0 | v1 = v0;
0x000426cc lw a3, 0x5f0(s6) | a3 = *((s6 + 380));
0x000426d0 lw v0, -0x7f88(gp) | v0 = *(gp);
0x000426d4 lw a1, -0x7fd4(gp) | a1 = *((gp - 8181));
0x000426d8 lw t0, 4(s5) | t0 = *((s5 + 1));
0x000426dc addiu a1, a1, -0x3dcc | a1 += -0x3dcc;
0x000426e0 lw a2, (v0) | a2 = *(v0);
0x000426e4 lw v0, 0xcc(sp) | v0 = *(var_cch);
0x000426e8 lw a0, 0x1c(a1) | a0 = *((a1 + 7));
0x000426ec addu v0, v1, v0 | v0 = v1 + v0;
0x000426f0 addiu a0, a0, 1 | a0++;
0x000426f4 subu v0, v0, t0 | __asm ("subu v0, v0, t0");
0x000426f8 addiu a3, a3, 1 | a3++;
0x000426fc slti a2, a2, 2 | a2 = (a2 < 2) ? 1 : 0;
0x00042700 sw a0, 0x1c(a1) | *((a1 + 7)) = a0;
0x00042704 sw a0, 8(v1) | *((v1 + 2)) = a0;
0x00042708 sw a3, 0x5f0(s6) | *((s6 + 380)) = a3;
0x0004270c sw v0, 8(s5) | *((s5 + 2)) = v0;
| if (a2 == 0) {
0x00042710 beqz a2, 0x42114 | goto label_3;
| }
0x00042714 move v0, zero | v0 = 0;
0x00042718 b 0x41fbc | goto label_0;
| label_49:
0x0004271c addiu a0, zero, 0xa | a0 = 0xa;
| if (v0 == 0) {
0x00042720 beqz v0, 0x4272c | goto label_51;
| }
0x00042724 move v0, zero | v0 = 0;
| if (v0 != a0) {
0x00042728 bne v0, a0, 0x41fbc | goto label_0;
| }
| label_51:
0x0004272c addiu v0, v1, 4 | v0 = v1 + 4;
0x00042730 lwl t1, 3(v0) | __asm ("lwl t1, 3(v0)");
0x00042734 lwl a3, 7(v0) | __asm ("lwl a3, 7(v0)");
0x00042738 lwl a2, 0xb(v0) | __asm ("lwl a2, 0xb(v0)");
0x0004273c lwl a1, 0xf(v0) | __asm ("lwl a1, 0xf(v0)");
0x00042740 lwr t1, (v0) | __asm ("lwr t1, (v0)");
0x00042744 lwr a3, 4(v0) | __asm ("lwr a3, 4(v0)");
0x00042748 lwr a2, 8(v0) | __asm ("lwr a2, 8(v0)");
0x0004274c lwr a1, 0xc(v0) | __asm ("lwr a1, 0xc(v0)");
0x00042750 sw t1, 0x74(sp) | *(var_74h) = t1;
0x00042754 sw a3, 0x78(sp) | *(var_78h) = a3;
0x00042758 sw a2, 0x7c(sp) | *(var_7ch) = a2;
0x0004275c sw a1, 0x80(sp) | *(var_80h) = a1;
0x00042760 lhu s2, (v1) | s2 = *(v1);
0x00042764 addiu v0, zero, 0x10 | v0 = 0x10;
0x00042768 sh v0, 0x6e(sp) | *(var_6eh) = v0;
0x0004276c addiu s2, s2, -4 | s2 += -4;
0x00042770 addiu t1, zero, 0xc | t1 = 0xc;
0x00042774 b 0x420a0 | goto label_4;
| label_44:
0x00042778 move v0, zero | v0 = 0;
0x0004277c move v1, zero | v1 = 0;
0x00042780 move s6, zero | s6 = 0;
0x00042784 move s7, zero | s7 = 0;
0x00042788 b 0x42430 | goto label_5;
| label_34:
0x0004278c lw s7, 0xd4(sp) | s7 = *(var_d4h);
0x00042790 addiu s6, zero, 1 | s6 = 1;
| if (s7 != 0) {
0x00042794 bnez s7, 0x422bc | goto label_6;
| }
| label_35:
0x00042798 lw s7, 0xd8(sp) | s7 = *(var_d8h);
0x0004279c addiu s6, zero, 2 | s6 = 2;
| if (s7 == 0) {
0x000427a0 beqz s7, 0x42890 | goto label_38;
| }
0x000427a4 addiu fp, zero, 3 | fp = 3;
0x000427a8 b 0x422c0 | goto label_7;
| label_26:
0x000427ac lw t9, -0x7f3c(gp) | t9 = sym.inet_addr_match;
0x000427b0 sw t1, 0x2c(sp) | *(var_2ch_2) = t1;
0x000427b4 sw t0, 0x28(sp) | *(var_28h) = t0;
0x000427b8 addiu a1, a1, 0x604 | a1 += 0x604;
0x000427bc addiu a0, sp, 0x44 | a0 = sp + 0x44;
0x000427c0 bal 0x5a600 | sym_inet_addr_match ();
0x000427c4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000427c8 lw t0, 0x28(sp) | t0 = *(var_28h);
0x000427cc lw t1, 0x2c(sp) | t1 = *(var_2ch_2);
| if (v0 == 0) {
0x000427d0 beqz v0, 0x420b8 | goto label_8;
| }
0x000427d4 move v0, zero | v0 = 0;
0x000427d8 b 0x41fbc | goto label_0;
| label_29:
0x000427dc sw t1, 0x2c(sp) | *(var_2ch_2) = t1;
0x000427e0 sw t0, 0x28(sp) | *(var_28h) = t0;
0x000427e4 addiu a2, zero, 0x8c | a2 = 0x8c;
0x000427e8 move a1, zero | a1 = 0;
0x000427ec addiu a0, sp, 0xd4 | a0 = sp + 0xd4;
0x000427f0 jalr t9 | t9 ();
0x000427f4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000427f8 lw v0, -0x3dd0(s4) | v0 = *((s4 - 3956));
0x000427fc lhu v1, 0x46(sp) | v1 = *(var_46h);
0x00042800 lw t0, 0x28(sp) | t0 = *(var_28h);
0x00042804 addiu s4, sp, 0xcc | s4 = sp + 0xcc;
0x00042808 lw t9, -0x7ef8(gp) | t9 = sym.addattr_l;
0x0004280c move a2, t0 | a2 = t0;
0x00042810 sw v1, 0x10(sp) | *(var_10h) = v1;
0x00042814 addiu t0, zero, 0x102 | t0 = 0x102;
0x00042818 addiu v1, zero, 0x14 | v1 = 0x14;
0x0004281c sh v0, 0xd0(sp) | *(var_d0h) = v0;
0x00042820 addiu s7, sp, 0x4c | s7 = sp + 0x4c;
0x00042824 addiu v0, zero, 1 | v0 = 1;
0x00042828 move a3, s7 | a3 = s7;
0x0004282c addiu a1, zero, 0x94 | a1 = 0x94;
0x00042830 move a0, s4 | a0 = s4;
0x00042834 sh t0, 0xdc(sp) | *(var_dch) = t0;
0x00042838 sw v1, 0xcc(sp) | *(var_cch) = v1;
0x0004283c sh v0, 0xd2(sp) | *(var_d2h) = v0;
0x00042840 bal 0x5837c | sym_addattr_l ();
0x00042844 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042848 lhu v0, 0x6e(sp) | v0 = *(var_6eh);
0x0004284c lw t1, 0x2c(sp) | t1 = *(var_2ch_2);
0x00042850 lw t9, -0x7ef8(gp) | t9 = sym.addattr_l;
0x00042854 sw v0, 0x10(sp) | *(var_10h) = v0;
0x00042858 addiu a3, sp, 0x74 | a3 = sp + 0x74;
0x0004285c move a2, t1 | a2 = t1;
0x00042860 addiu a1, zero, 0x94 | a1 = 0x94;
0x00042864 move a0, s4 | a0 = s4;
0x00042868 bal 0x5837c | sym_addattr_l ();
0x0004286c lw gp, 0x20(sp) | gp = *(var_20h);
0x00042870 b 0x42658 | goto label_9;
| label_31:
0x00042874 move a3, zero | a3 = 0;
0x00042878 b 0x421f8 | goto label_10;
| label_50:
0x0004287c move s2, zero | s2 = 0;
0x00042880 b 0x42110 | goto label_11;
| label_37:
0x00042884 lw s7, 0xd8(sp) | s7 = *(var_d8h);
0x00042888 addiu fp, zero, 3 | fp = 3;
| if (s7 == 0) {
0x0004288c bnel s7, zero, 0x422f4 | goto label_12;
| }
| label_38:
0x00042890 addiu fp, zero, 3 | fp = 3;
0x00042894 b 0x42278 | goto label_13;
| label_39:
0x00042898 lw a3, 4(s7) | a3 = *((s7 + 1));
| label_42:
0x0004289c srl s5, a3, 2 | s5 = a3 >> 2;
0x000428a0 b 0x42360 | goto label_14;
| label_36:
0x000428a4 lw a3, 4(s7) | a3 = *((s7 + 1));
| label_41:
0x000428a8 lw s7, 0xe8(sp) | s7 = *(var_e8h);
0x000428ac srl s4, a3, 3 | s4 = a3 >> 3;
0x000428b0 addiu s6, zero, 6 | s6 = 6;
0x000428b4 addiu fp, zero, 7 | fp = 7;
| if (s7 != 0) {
0x000428b8 bnez s7, 0x422f8 | goto label_15;
| }
0x000428bc b 0x42360 | goto label_14;
0x000428c0 nop |
| label_21:
0x000428c4 addiu v0, zero, -1 | v0 = -1;
0x000428c8 b 0x41fbc | goto label_0;
| label_30:
0x000428cc lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x000428d0 move a3, s1 | a3 = s1;
0x000428d4 addiu a2, zero, 8 | a2 = 8;
0x000428d8 addiu a1, zero, 1 | a1 = 1;
| /* str.Deleted_ */
0x000428dc addiu a0, a0, -0x7584 | a0 += -0x7584;
0x000428e0 jalr t9 | t9 ();
0x000428e4 lw gp, 0x20(sp) | gp = *(var_20h);
0x000428e8 b 0x42124 | goto label_16;
| label_47:
0x000428ec addiu a2, sp, 0x74 | a2 = sp + 0x74;
0x000428f0 move a1, s2 | a1 = s2;
0x000428f4 move a0, s3 | a0 = s3;
0x000428f8 bal 0x5b0b0 | sym_format_host ();
0x000428fc lw gp, 0x20(sp) | gp = *(var_20h);
0x00042900 move a3, v0 | a3 = v0;
0x00042904 addiu a1, zero, 1 | a1 = 1;
0x00042908 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0004290c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._source__s */
0x00042910 addiu a2, a2, 0x3b68 | a2 += 0x3b68;
0x00042914 move a0, s1 | a0 = s1;
0x00042918 jalr t9 | t9 ();
0x0004291c lw gp, 0x20(sp) | gp = *(var_20h);
0x00042920 b 0x42500 | goto label_17;
| label_40:
0x00042924 lw v0, 0x34(sp) | v0 = *(var_34h);
0x00042928 move a3, s6 | a3 = s6;
0x0004292c addiu a2, v0, 0x3afc | a2 = v0 + 0x3afc;
0x00042930 addiu a1, zero, 1 | a1 = 1;
0x00042934 move a0, s1 | a0 = s1;
0x00042938 jalr t9 | t9 ();
0x0004293c lw gp, 0x20(sp) | gp = *(var_20h);
0x00042940 b 0x42328 | goto label_18;
| label_33:
0x00042944 move fp, a0 | fp = a0;
0x00042948 b 0x422c0 | goto label_7;
| label_43:
0x0004294c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x00042950 move a3, s4 | a3 = s4;
| /* str._rtt__luus */
0x00042954 addiu a2, a2, 0x3b0c | a2 += 0x3b0c;
0x00042958 addiu a1, zero, 1 | a1 = 1;
0x0004295c move a0, s1 | a0 = s1;
0x00042960 jalr t9 | t9 ();
0x00042964 lw gp, 0x20(sp) | gp = *(var_20h);
0x00042968 b 0x42368 | goto label_19;
| label_46:
0x0004296c addiu v0, sp, 0x160 | v0 = sp + aav.0x00000160;
0x00042970 sw v0, 0x28(sp) | *(var_28h) = v0;
0x00042974 b 0x424d8 | goto label_20;
| label_23:
0x00042978 lw t9, -0x79ec(gp) | t9 = sym.imp.__stack_chk_fail;
0x0004297c jalr t9 | t9 ();
0x00042980 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x5b0ec */
| #include <stdint.h>
|
; (fcn) sym.hexstring_n2a () | void hexstring_n2a () {
0x0005b0ec lui gp, 4 |
0x0005b0f0 addiu gp, gp, -0x3e5c |
0x0005b0f4 addu gp, gp, t9 | gp += t9;
0x0005b0f8 addiu sp, sp, -0x40 |
0x0005b0fc sw gp, 0x18(sp) | *(var_18h) = gp;
0x0005b100 sw s3, 0x30(sp) | *(var_30h) = s3;
0x0005b104 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0005b108 sw s5, 0x38(sp) | *(var_38h) = s5;
0x0005b10c sw s4, 0x34(sp) | *(var_34h) = s4;
0x0005b110 sw s2, 0x2c(sp) | *(var_2ch) = s2;
0x0005b114 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0005b118 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0005b11c move s3, a2 | s3 = a2;
| if (a1 <= 0) {
0x0005b120 blez a1, 0x5b190 | goto label_0;
| }
0x0005b124 slti v0, a3, 3 | v0 = (a3 < 3) ? 1 : 0;
0x0005b128 addiu a3, a3, -3 | a3 += -3;
| if (v0 != 0) {
0x0005b12c bnez v0, 0x5b190 | goto label_0;
| }
0x0005b130 lw s5, -0x7fdc(gp) | s5 = *(gp);
0x0005b134 sll a1, a1, 1 | a1 <<= 1;
0x0005b138 srl a3, a3, 1 | a3 >>= 1;
0x0005b13c addiu s2, a0, 1 | s2 = a0 + 1;
0x0005b140 move s0, a0 | s0 = a0;
0x0005b144 addu s4, a2, a1 | s4 = a2 + a1;
0x0005b148 addu s2, a3, s2 | s2 = a3 + s2;
0x0005b14c move s1, a2 | s1 = a2;
| /* esilref: '&x' */
0x0005b150 addiu s5, s5, 0x2db0 | s5 += 0x2db0;
0x0005b154 b 0x5b160 |
| while (s1 != s4) {
0x0005b158 lw ra, 0x3c(sp) | ra = *(var_3ch);
| if (s0 == s2) {
0x0005b15c beq s0, s2, 0x5b194 | goto label_1;
| }
0x0005b160 lbu v0, (s0) | v0 = *(s0);
0x0005b164 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0005b168 move a0, s1 | a0 = s1;
0x0005b16c sw v0, 0x10(sp) | *(var_10h) = v0;
0x0005b170 move a3, s5 | a3 = s5;
0x0005b174 addiu a2, zero, -1 | a2 = -1;
0x0005b178 addiu a1, zero, 1 | a1 = 1;
0x0005b17c addiu s1, s1, 2 | s1 += 2;
0x0005b180 jalr t9 | t9 ();
0x0005b184 addiu s0, s0, 1 | s0++;
0x0005b188 lw gp, 0x18(sp) | gp = *(var_18h);
0x0005b18c bne s1, s4, 0x5b158 |
| }
| label_0:
0x0005b190 lw ra, 0x3c(sp) | ra = *(var_3ch);
| label_1:
0x0005b194 move v0, s3 | v0 = s3;
0x0005b198 lw s5, 0x38(sp) | s5 = *(var_38h);
0x0005b19c lw s4, 0x34(sp) | s4 = *(var_34h);
0x0005b1a0 lw s3, 0x30(sp) | s3 = *(var_30h);
0x0005b1a4 lw s2, 0x2c(sp) | s2 = *(var_2ch);
0x0005b1a8 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0005b1ac lw s0, 0x24(sp) | s0 = *(var_24h);
0x0005b1b0 addiu sp, sp, 0x40 |
0x0005b1b4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x5bc24 */
| #include <stdint.h>
|
; (fcn) sym.int_to_str () | void int_to_str () {
0x0005bc24 lui gp, 4 |
0x0005bc28 addiu gp, gp, -0x4994 |
0x0005bc2c addu gp, gp, t9 | gp += t9;
0x0005bc30 addiu sp, sp, -0x28 |
0x0005bc34 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x0005bc38 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0005bc3c sw s0, 0x20(sp) | *(var_20h_2) = s0;
0x0005bc40 move s0, a1 | s0 = a1;
0x0005bc44 sw ra, 0x24(sp) | *(var_24h_2) = ra;
0x0005bc48 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0005bc4c sw a0, 0x10(sp) | *(var_10h_2) = a0;
| /* esilref: '&d' */
0x0005bc50 addiu a3, a3, 0xef4 | a3 += 0xef4;
0x0005bc54 move a0, s0 | a0 = s0;
0x0005bc58 addiu a2, zero, -1 | a2 = -1;
0x0005bc5c addiu a1, zero, 1 | a1 = 1;
0x0005bc60 jalr t9 | t9 ();
0x0005bc64 lw ra, 0x24(sp) | ra = *(var_24h_2);
0x0005bc68 move v0, s0 | v0 = s0;
0x0005bc6c lw s0, 0x20(sp) | s0 = *(var_20h_2);
0x0005bc70 addiu sp, sp, 0x28 |
0x0005bc74 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2b5f0 */
| #include <stdint.h>
|
; (fcn) sym.strxf_algotype () | void strxf_algotype () {
0x0002b5f0 lui gp, 7 |
0x0002b5f4 addiu gp, gp, -0x4360 |
0x0002b5f8 addu gp, gp, t9 | gp += t9;
0x0002b5fc addiu sp, sp, -0x28 |
0x0002b600 addiu v0, zero, 2 | v0 = 2;
0x0002b604 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002b608 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0002b60c sw s0, 0x20(sp) | *(var_20h) = s0;
0x0002b610 lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
| if (a0 == v0) {
0x0002b614 beq a0, v0, 0x2b680 | goto label_0;
| }
0x0002b618 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002b61c addiu v1, v1, -0x46e0 | v1 += -0x46e0;
| /* str.auth */
0x0002b620 addiu v0, v0, -0xfac | v0 += -0xfac;
0x0002b624 addiu a2, zero, -1 | a2 = -1;
0x0002b628 lw a1, (v1) | a1 = *(v1);
| do {
0x0002b62c addiu v1, v1, 8 | v1 += 8;
| if (a1 == a2) {
0x0002b630 beq a1, a2, 0x2b648 | goto label_1;
| }
0x0002b634 lw ra, 0x24(sp) | ra = *(var_24h);
| if (a1 == a0) {
0x0002b638 beq a1, a0, 0x2b674 | goto label_2;
| }
0x0002b63c lw v0, -4(v1) | v0 = *((v1 - 1));
0x0002b640 lw a1, (v1) | a1 = *(v1);
0x0002b644 bnel v0, zero, 0x2b62c |
| } while (v0 == 0);
| label_1:
0x0002b648 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002b64c lw a3, -0x7fdc(gp) | a3 = *(gp);
0x0002b650 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002b654 sw a0, 0x10(sp) | *(var_10h) = a0;
| /* esilref: '&d' */
0x0002b658 addiu a3, a3, 0xef4 | a3 += 0xef4;
0x0002b65c addiu a2, zero, 0x20 | a2 = 0x20;
0x0002b660 addiu a1, zero, 1 | a1 = 1;
0x0002b664 addiu a0, s0, 0x590 | a0 = s0 + 0x590;
0x0002b668 jalr t9 | t9 ();
0x0002b66c addiu v0, s0, 0x590 | v0 = s0 + 0x590;
| do {
0x0002b670 lw ra, 0x24(sp) | ra = *(var_24h);
| label_2:
0x0002b674 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002b678 addiu sp, sp, 0x28 |
0x0002b67c jr ra | return v0;
| label_0:
0x0002b680 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* esilref: 'enc' */
0x0002b684 addiu v0, v0, -0xfb0 | v0 += -0xfb0;
0x0002b688 b 0x2b670 |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2bba4 */
| #include <stdint.h>
|
; (fcn) sym.strxf_mask32 () | void strxf_mask32 () {
0x0002bba4 lui gp, 7 |
0x0002bba8 addiu gp, gp, -0x4914 |
0x0002bbac addu gp, gp, t9 | gp += t9;
0x0002bbb0 addiu sp, sp, -0x28 |
0x0002bbb4 lw a3, -0x7fdc(gp) | a3 = *(gp);
0x0002bbb8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0002bbbc lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002bbc0 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002bbc4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0002bbc8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002bbcc sw a0, 0x10(sp) | *(var_10h) = a0;
| /* str._.8x */
0x0002bbd0 addiu a3, a3, -0xf78 | a3 += -0xf78;
0x0002bbd4 addiu a0, s0, 0x570 | a0 = s0 + 0x570;
0x0002bbd8 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002bbdc addiu a1, zero, 1 | a1 = 1;
0x0002bbe0 jalr t9 | t9 ();
0x0002bbe4 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bbe8 addiu v0, s0, 0x570 | v0 = s0 + 0x570;
0x0002bbec lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bbf0 addiu sp, sp, 0x28 |
0x0002bbf4 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2bd10 */
| #include <stdint.h>
|
; (fcn) sym.strxf_proto () | void strxf_proto () {
0x0002bd10 lui gp, 7 |
0x0002bd14 addiu gp, gp, -0x4a80 |
0x0002bd18 addu gp, gp, t9 | gp += t9;
0x0002bd1c addiu sp, sp, -0x30 |
0x0002bd20 lw t9, -0x79e4(gp) | t9 = sym.imp.getprotobynumber;
0x0002bd24 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002bd28 sw s1, 0x28(sp) | *(var_28h) = s1;
0x0002bd2c sw ra, 0x2c(sp) | *(var_2ch) = ra;
0x0002bd30 sw s0, 0x24(sp) | *(var_24h) = s0;
0x0002bd34 move s1, a0 | s1 = a0;
0x0002bd38 jalr t9 | t9 ();
0x0002bd3c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 != 0) {
0x0002bd40 beqz v0, 0x2bd5c |
0x0002bd44 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0002bd48 lw v0, (v0) | v0 = *(v0);
0x0002bd4c lw s1, 0x28(sp) | s1 = *(var_28h);
0x0002bd50 lw s0, 0x24(sp) | s0 = *(var_24h);
0x0002bd54 addiu sp, sp, 0x30 |
0x0002bd58 jr ra | return v0;
| }
0x0002bd5c lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002bd60 lw a3, -0x7f98(gp) | a3 = *((gp - 8166));
0x0002bd64 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002bd68 sw s1, 0x10(sp) | *(var_10h) = s1;
0x0002bd6c addiu a0, s0, 0x530 | a0 = s0 + aav.0x00000530;
| /* esilref: '&u' */
0x0002bd70 addiu a3, a3, -0x743c | a3 += -0x743c;
0x0002bd74 addiu a2, zero, 0x20 | a2 = 0x20;
0x0002bd78 addiu a1, zero, 1 | a1 = 1;
0x0002bd7c jalr t9 | t9 ();
0x0002bd80 lw ra, 0x2c(sp) | ra = *(var_2ch);
0x0002bd84 addiu v0, s0, 0x530 | v0 = s0 + aav.0x00000530;
0x0002bd88 lw s1, 0x28(sp) | s1 = *(var_28h);
0x0002bd8c lw s0, 0x24(sp) | s0 = *(var_24h);
0x0002bd90 addiu sp, sp, 0x30 |
0x0002bd94 jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2bd98 */
| #include <stdint.h>
|
; (fcn) sym.strxf_ptype () | void strxf_ptype () {
0x0002bd98 lui gp, 7 |
0x0002bd9c addiu gp, gp, -0x4b08 |
0x0002bda0 addu gp, gp, t9 | gp += t9;
0x0002bda4 addiu sp, sp, -0x28 |
0x0002bda8 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002bdac sw ra, 0x24(sp) | *(var_24h) = ra;
0x0002bdb0 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0002bdb4 addiu v0, zero, 1 | v0 = 1;
| if (a0 != 0) {
0x0002bdb8 beqz a0, 0x2bdf8 |
0x0002bdbc lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (a0 == v0) {
0x0002bdc0 beq a0, v0, 0x2be20 | goto label_0;
| }
0x0002bdc4 lw a3, -0x7f98(gp) | a3 = *((gp - 8166));
0x0002bdc8 lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002bdcc sw a0, 0x10(sp) | *(var_10h) = a0;
| /* esilref: '&u' */
0x0002bdd0 addiu a3, a3, -0x743c | a3 += -0x743c;
0x0002bdd4 addiu a0, s0, 0x520 | a0 = s0 + 0x520;
0x0002bdd8 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002bddc addiu a1, zero, 1 | a1 = 1;
0x0002bde0 jalr t9 | t9 ();
0x0002bde4 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bde8 addiu v0, s0, 0x520 | v0 = s0 + 0x520;
0x0002bdec lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bdf0 addiu sp, sp, 0x28 |
0x0002bdf4 jr ra | return v0;
| }
0x0002bdf8 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002bdfc lui v1, 0x6e69 | v1 = 0x6e690000;
0x0002be00 addiu v0, s0, 0x520 | v0 = s0 + 0x520;
0x0002be04 addiu v1, v1, 0x616d | v1 += 0x616d;
0x0002be08 sw v1, 0x520(s0) | *((s0 + 328)) = v1;
0x0002be0c sb zero, 4(v0) | *((v0 + 4)) = 0;
0x0002be10 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002be14 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002be18 addiu sp, sp, 0x28 |
0x0002be1c jr ra | return v0;
| label_0:
0x0002be20 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002be24 lui v0, 0x62 | v0 = 0x627573;
0x0002be28 addiu v0, v0, 0x7573 |
0x0002be2c sw v0, 0x520(s0) | *((s0 + 328)) = v0;
0x0002be30 addiu v0, s0, 0x520 | v0 = s0 + 0x520;
0x0002be34 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002be38 addiu sp, sp, 0x28 |
0x0002be3c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2bbf8 */
| #include <stdint.h>
|
; (fcn) sym.strxf_share () | void strxf_share () {
0x0002bbf8 lui gp, 7 |
0x0002bbfc addiu gp, gp, -0x4968 |
0x0002bc00 addu gp, gp, t9 | gp += t9;
0x0002bc04 addiu sp, sp, -0x28 |
0x0002bc08 addiu v0, zero, 1 | v0 = 1;
0x0002bc0c sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002bc10 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0002bc14 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0002bc18 lw v0, -0x7fdc(gp) | v0 = *(gp);
| if (a0 != v0) {
0x0002bc1c beq a0, v0, 0x2bc6c |
0x0002bc20 addiu v0, zero, 2 | v0 = 2;
| if (a0 == 0) {
0x0002bc24 beqz a0, 0x2bcec | goto label_0;
| }
0x0002bc28 addiu v0, zero, 3 | v0 = 3;
| if (a0 == v0) {
0x0002bc2c beq a0, v0, 0x2bcc4 | goto label_1;
| }
0x0002bc30 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| if (a0 == v0) {
0x0002bc34 beq a0, v0, 0x2bc98 | goto label_2;
| }
0x0002bc38 lw a3, -0x7f98(gp) | a3 = *((gp - 8166));
0x0002bc3c lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002bc40 sw a0, 0x10(sp) | *(var_10h) = a0;
| /* esilref: '&u' */
0x0002bc44 addiu a3, a3, -0x743c | a3 += -0x743c;
0x0002bc48 addiu a0, s0, 0x550 | a0 = s0 + 0x550;
0x0002bc4c addiu a2, zero, 0x20 | a2 = 0x20;
0x0002bc50 addiu a1, zero, 1 | a1 = 1;
0x0002bc54 jalr t9 | t9 ();
0x0002bc58 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bc5c addiu v0, s0, 0x550 | v0 = s0 + 0x550;
0x0002bc60 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bc64 addiu sp, sp, 0x28 |
0x0002bc68 jr ra | return v0;
| }
0x0002bc6c lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
| /* str.session */
0x0002bc70 addiu v1, v0, -0xf70 | v1 = v0 + -0xf70;
0x0002bc74 lw a0, -0xf70(v0) | a0 = *((v0 - 988));
0x0002bc78 lw v1, 4(v1) | v1 = *((v1 + 1));
0x0002bc7c addiu v0, s0, 0x550 | v0 = s0 + 0x550;
0x0002bc80 sw a0, 0x550(s0) | *((s0 + 340)) = a0;
0x0002bc84 sw v1, 4(v0) | *((v0 + 1)) = v1;
0x0002bc88 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bc8c lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bc90 addiu sp, sp, 0x28 |
0x0002bc94 jr ra | return v0;
| label_2:
0x0002bc98 lui v1, 0x7169 | v1 = 0x71690000;
0x0002bc9c addiu v0, s0, 0x550 | v0 = s0 + 0x550;
0x0002bca0 addiu v1, v1, 0x6e75 | v1 += 0x6e75;
0x0002bca4 sw v1, 0x550(s0) | *((s0 + 340)) = v1;
0x0002bca8 addiu v1, zero, 0x6575 | v1 = 0x6575;
0x0002bcac sh v1, 4(v0) | *((v0 + 2)) = v1;
0x0002bcb0 sb zero, 6(v0) | *((v0 + 6)) = 0;
0x0002bcb4 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bcb8 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bcbc addiu sp, sp, 0x28 |
0x0002bcc0 jr ra | return v0;
| label_1:
0x0002bcc4 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002bcc8 lui v1, 0x7265 | v1 = 0x72650000;
0x0002bccc addiu v0, s0, 0x550 | v0 = s0 + 0x550;
0x0002bcd0 addiu v1, v1, 0x7375 | v1 += 0x7375;
0x0002bcd4 sw v1, 0x550(s0) | *((s0 + 340)) = v1;
0x0002bcd8 sb zero, 4(v0) | *((v0 + 4)) = 0;
0x0002bcdc lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bce0 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bce4 addiu sp, sp, 0x28 |
0x0002bce8 jr ra | return v0;
| label_0:
0x0002bcec lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002bcf0 lw ra, 0x24(sp) | ra = *(var_24h);
0x0002bcf4 lui v0, 0x79 | v0 = 0x796e61;
0x0002bcf8 addiu v0, v0, 0x6e61 |
0x0002bcfc sw v0, 0x550(s0) | *((s0 + 340)) = v0;
0x0002bd00 addiu v0, s0, 0x550 | v0 = s0 + 0x550;
0x0002bd04 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002bd08 addiu sp, sp, 0x28 |
0x0002bd0c jr ra | return v0;
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2b49c */
| #include <stdint.h>
|
; (fcn) sym.strxf_xfrmproto () | void strxf_xfrmproto () {
0x0002b49c lui gp, 7 |
0x0002b4a0 addiu gp, gp, -0x420c |
0x0002b4a4 addu gp, gp, t9 | gp += t9;
0x0002b4a8 addiu sp, sp, -0x28 |
0x0002b4ac addiu v0, zero, 0x32 | v0 = 0x32;
0x0002b4b0 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0002b4b4 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0002b4b8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0002b4bc lw v1, -0x7fd4(gp) | v1 = *((gp - 8181));
| if (a0 == v0) {
0x0002b4c0 beq a0, v0, 0x2b52c | goto label_0;
| }
0x0002b4c4 lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* esilref: 'esp' */
0x0002b4c8 addiu v1, v1, -0x46bc | v1 += -0x46bc;
| /* esilref: 'ah' */
0x0002b4cc addiu v0, v0, -0xfb4 | v0 += -0xfb4;
0x0002b4d0 addiu a2, zero, -1 | a2 = -1;
0x0002b4d4 lw a1, 0xc(v1) | a1 = *((v1 + 3));
| do {
0x0002b4d8 addiu v1, v1, 8 | v1 += 8;
| if (a1 == a2) {
0x0002b4dc beq a1, a2, 0x2b4f4 | goto label_1;
| }
0x0002b4e0 lw ra, 0x24(sp) | ra = *(var_24h);
| if (a1 == a0) {
0x0002b4e4 beq a1, a0, 0x2b520 | goto label_2;
| }
0x0002b4e8 lw v0, 8(v1) | v0 = *((v1 + 2));
0x0002b4ec lw a1, 0xc(v1) | a1 = *((v1 + 3));
0x0002b4f0 bnel v0, zero, 0x2b4d8 |
| } while (v0 == 0);
| label_1:
0x0002b4f4 lw s0, -0x7fd4(gp) | s0 = *((gp - 8181));
0x0002b4f8 lw a3, -0x7f98(gp) | a3 = *((gp - 8166));
0x0002b4fc lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002b500 sw a0, 0x10(sp) | *(var_10h) = a0;
| /* esilref: '&u' */
0x0002b504 addiu a3, a3, -0x743c | a3 += -0x743c;
0x0002b508 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002b50c addiu a1, zero, 1 | a1 = 1;
0x0002b510 addiu a0, s0, 0x5b0 | a0 = s0 + 0x5b0;
0x0002b514 jalr t9 | t9 ();
0x0002b518 addiu v0, s0, 0x5b0 | v0 = s0 + 0x5b0;
| do {
0x0002b51c lw ra, 0x24(sp) | ra = *(var_24h);
| label_2:
0x0002b520 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0002b524 addiu sp, sp, 0x28 |
0x0002b528 jr ra | return v0;
| label_0:
0x0002b52c lw v0, -0x7fdc(gp) | v0 = *(gp);
| /* esilref: 'esp' */
0x0002b530 addiu v0, v0, -0xfb8 | v0 += -0xfb8;
0x0002b534 b 0x2b51c |
| } while (1);
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/ip.iproute2 @ 0x2cd74 */
| #include <stdint.h>
|
; (fcn) sym.xfrm_xfrma_print () | void xfrm_xfrma_print () {
0x0002cd74 lui gp, 7 |
0x0002cd78 addiu gp, gp, -0x5ae4 |
0x0002cd7c addu gp, gp, t9 | gp += t9;
0x0002cd80 lw v0, -0x79c4(gp) | v0 = *((gp - 7793));
0x0002cd84 addiu sp, sp, -0x90 |
0x0002cd88 lw v1, (v0) | v1 = *(v0);
0x0002cd8c sw v0, 0x44(sp) | *(var_44h) = v0;
0x0002cd90 lw v0, 0x54(a0) | v0 = *((a0 + 21));
0x0002cd94 sw gp, 0x28(sp) | *(var_28h_2) = gp;
0x0002cd98 sw s3, 0x74(sp) | *(var_74h) = s3;
0x0002cd9c sw s2, 0x70(sp) | *(var_70h) = s2;
0x0002cda0 sw s0, 0x68(sp) | *(var_68h) = s0;
0x0002cda4 sw ra, 0x8c(sp) | *(var_8ch) = ra;
0x0002cda8 sw fp, 0x88(sp) | *(var_88h) = fp;
0x0002cdac sw s7, 0x84(sp) | *(var_84h) = s7;
0x0002cdb0 sw s6, 0x80(sp) | *(var_80h) = s6;
0x0002cdb4 sw s5, 0x7c(sp) | *(var_7ch) = s5;
0x0002cdb8 sw s4, 0x78(sp) | *(var_78h) = s4;
0x0002cdbc sw s1, 0x6c(sp) | *(var_6ch) = s1;
0x0002cdc0 move s3, a0 | s3 = a0;
0x0002cdc4 sw a1, 0x4c(sp) | *(var_84h) = a1;
0x0002cdc8 move s0, a2 | s0 = a2;
0x0002cdcc move s2, a3 | s2 = a3;
0x0002cdd0 sw v1, 0x64(sp) | *(var_64h) = v1;
0x0002cdd4 lw a2, -0x7fdc(gp) | a2 = *(gp);
| if (v0 != 0) {
0x0002cdd8 beqz v0, 0x2ce18 |
0x0002cddc lw a3, 4(v0) | a3 = *((v0 + 1));
0x0002cde0 lw v0, 8(v0) | v0 = *((v0 + 2));
0x0002cde4 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._tmark__x__x */
0x0002cde8 addiu a2, a2, -0xd1c | a2 += -0xd1c;
0x0002cdec addiu a1, zero, 1 | a1 = 1;
0x0002cdf0 move a0, s0 | a0 = s0;
0x0002cdf4 sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002cdf8 jalr t9 | t9 ();
0x0002cdfc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002ce00 move a1, s0 | a1 = s0;
0x0002ce04 lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002ce08 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002ce0c lw a0, (v0) | a0 = *(v0);
0x0002ce10 jalr t9 | t9 ();
0x0002ce14 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002ce18 lw v0, 4(s3) | v0 = *((s3 + 1));
0x0002ce1c lw a0, 0x50(s3) | a0 = *((s3 + 20));
| if (v0 == 0) {
0x0002ce20 beqz v0, 0x2d820 | goto label_14;
| }
| if (a0 == 0) {
0x0002ce24 beql a0, zero, 0x2d7f0 | goto label_15;
| }
0x0002ce28 lhu a2, (v0) | a2 = *(v0);
0x0002ce2c lhu a1, (a0) | a1 = *(a0);
| label_9:
0x0002ce30 lw t9, -0x7d34(gp) | t9 = *(gp);
0x0002ce34 move a3, s2 | a3 = s2;
0x0002ce38 move a2, s0 | a2 = s0;
0x0002ce3c addiu a1, a1, -4 | a1 += -4;
| /* fcn.0002b864 */
0x0002ce40 addiu t9, t9, -0x479c | t9 += -0x479c;
0x0002ce44 addiu a0, a0, 4 | a0 += 4;
0x0002ce48 bal 0x2b864 | fcn_0002b864 ();
0x0002ce4c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002ce50 lw a0, 0x48(s3) | a0 = *((s3 + 18));
| label_8:
0x0002ce54 lw t9, -0x7d34(gp) | t9 = *(gp);
| if (a0 != 0) {
0x0002ce58 beqz a0, 0x2ce7c |
0x0002ce5c lhu a1, (a0) | a1 = *(a0);
0x0002ce60 move a3, s2 | a3 = s2;
0x0002ce64 move a2, s0 | a2 = s0;
0x0002ce68 addiu a1, a1, -4 | a1 += -4;
| /* fcn.0002b9dc */
0x0002ce6c addiu t9, t9, -0x4624 | t9 += -0x4624;
0x0002ce70 addiu a0, a0, 4 | a0 += 4;
0x0002ce74 bal 0x2b9dc | fcn_0002b9dc ();
0x0002ce78 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002ce7c lw a0, 8(s3) | a0 = *((s3 + 2));
0x0002ce80 lw t9, -0x7d34(gp) | t9 = *(gp);
| if (a0 != 0) {
0x0002ce84 beqz a0, 0x2ceb4 |
0x0002ce88 lhu a2, (a0) | a2 = *(a0);
0x0002ce8c addiu v0, zero, 1 | v0 = 1;
0x0002ce90 sw v0, 0x14(sp) | *(var_4ch) = v0;
0x0002ce94 sw s2, 0x10(sp) | *(var_1a8h) = s2;
0x0002ce98 move a3, s0 | a3 = s0;
0x0002ce9c addiu a2, a2, -4 | a2 += -4;
0x0002cea0 addiu a1, zero, 2 | a1 = 2;
| /* fcn.0002b68c */
0x0002cea4 addiu t9, t9, -0x4974 | t9 += -0x4974;
0x0002cea8 addiu a0, a0, 4 | a0 += 4;
0x0002ceac bal 0x2b68c | fcn_0002b68c ();
0x0002ceb0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002ceb4 lw a0, 0xc(s3) | a0 = *((s3 + 3));
0x0002ceb8 lw t9, -0x7d34(gp) | t9 = *(gp);
| if (a0 != 0) {
0x0002cebc beqz a0, 0x2ceec |
0x0002cec0 lhu a2, (a0) | a2 = *(a0);
0x0002cec4 addiu v0, zero, 1 | v0 = 1;
0x0002cec8 sw v0, 0x14(sp) | *(var_4ch) = v0;
0x0002cecc sw s2, 0x10(sp) | *(var_1a8h) = s2;
0x0002ced0 move a3, s0 | a3 = s0;
0x0002ced4 addiu a2, a2, -4 | a2 += -4;
0x0002ced8 addiu a1, zero, 3 | a1 = 3;
| /* fcn.0002b68c */
0x0002cedc addiu t9, t9, -0x4974 | t9 += -0x4974;
0x0002cee0 addiu a0, a0, 4 | a0 += 4;
0x0002cee4 bal 0x2b68c | fcn_0002b68c ();
0x0002cee8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002ceec lw v0, 0x10(s3) | v0 = *((s3 + 4));
| if (v0 != 0) {
0x0002cef0 beql v0, zero, 0x2d03c |
0x0002cef4 lw s1, 0x14(s3) | s1 = *((s3 + 5));
0x0002cef8 move a1, s0 | a1 = s0;
| if (s2 != 0) {
0x0002cefc beqz s2, 0x2cf10 |
0x0002cf00 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002cf04 move a0, s2 | a0 = s2;
0x0002cf08 jalr t9 | t9 ();
0x0002cf0c lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002cf10 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002cf14 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002cf18 move a3, s0 | a3 = s0;
0x0002cf1c addiu a2, zero, 6 | a2 = 6;
0x0002cf20 addiu a1, zero, 1 | a1 = 1;
| /* str.encap_ */
0x0002cf24 addiu a0, a0, -0xd0c | a0 += -0xd0c;
0x0002cf28 jalr t9 | t9 ();
0x0002cf2c lw s1, 0x10(s3) | s1 = *((s3 + 4));
0x0002cf30 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002cf34 move a3, s0 | a3 = s0;
0x0002cf38 lhu v0, (s1) | v0 = *(s1);
0x0002cf3c addiu v0, v0, -4 | v0 += -4;
0x0002cf40 sltiu v0, v0, 0x18 | v0 = (v0 < 0x18) ? 1 : 0;
0x0002cf44 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
| if (v0 != 0) {
0x0002cf48 bnez v0, 0x2d724 | goto label_16;
| }
0x0002cf4c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002cf50 addiu a2, zero, 5 | a2 = 5;
0x0002cf54 addiu a1, zero, 1 | a1 = 1;
| /* str.type_ */
0x0002cf58 addiu a0, a0, -0xd04 | a0 += -0xd04;
0x0002cf5c jalr t9 | t9 ();
0x0002cf60 lhu a3, 4(s1) | a3 = *((s1 + 2));
0x0002cf64 addiu v0, zero, 1 | v0 = 1;
0x0002cf68 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (a3 == v0) {
0x0002cf6c beq a3, v0, 0x2d93c | goto label_17;
| }
0x0002cf70 addiu v0, zero, 2 | v0 = 2;
| if (a3 == v0) {
0x0002cf74 beql a3, v0, 0x2d91c | goto label_18;
| }
0x0002cf78 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002cf7c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002cf80 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* esilref: '&u ' */
0x0002cf84 addiu a2, a2, -0x30e0 | a2 += -0x30e0;
0x0002cf88 addiu a1, zero, 1 | a1 = 1;
0x0002cf8c move a0, s0 | a0 = s0;
0x0002cf90 jalr t9 | t9 ();
0x0002cf94 lw gp, 0x28(sp) | gp = *(var_28h_2);
| label_12:
0x0002cf98 lhu a3, 6(s1) | a3 = *((s1 + 3));
0x0002cf9c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002cfa0 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002cfa4 wsbh a3, a3 | __asm ("wsbh a3, a3");
0x0002cfa8 andi a3, a3, 0xffff | a3 &= 0xffff;
| /* str.sport__u_ */
0x0002cfac addiu a2, a2, -0xda4 | a2 += -0xda4;
0x0002cfb0 addiu a1, zero, 1 | a1 = 1;
0x0002cfb4 move a0, s0 | a0 = s0;
0x0002cfb8 jalr t9 | t9 ();
0x0002cfbc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002cfc0 lhu a3, 8(s1) | a3 = *((s1 + 4));
0x0002cfc4 addiu a1, zero, 1 | a1 = 1;
0x0002cfc8 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002cfcc lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002cfd0 wsbh a3, a3 | __asm ("wsbh a3, a3");
0x0002cfd4 andi a3, a3, 0xffff | a3 &= 0xffff;
| /* str.dport__u_ */
0x0002cfd8 addiu a2, a2, -0xd98 | a2 += -0xd98;
0x0002cfdc move a0, s0 | a0 = s0;
0x0002cfe0 jalr t9 | t9 ();
0x0002cfe4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002cfe8 lw a0, 0x4c(sp) | a0 = *(var_84h);
0x0002cfec addiu a2, s1, 0xc | a2 = s1 + 0xc;
0x0002cff0 lw t9, -0x7e80(gp) | t9 = sym.rt_addr_n2a;
0x0002cff4 addiu a1, zero, 0x10 | a1 = 0x10;
0x0002cff8 jalr t9 | t9 ();
0x0002cffc lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d000 move a3, v0 | a3 = v0;
0x0002d004 addiu a1, zero, 1 | a1 = 1;
0x0002d008 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d00c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.addr__s */
0x0002d010 addiu a2, a2, -0xcdc | a2 += -0xcdc;
0x0002d014 move a0, s0 | a0 = s0;
0x0002d018 jalr t9 | t9 ();
0x0002d01c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d020 move a1, s0 | a1 = s0;
0x0002d024 lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002d028 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d02c lw a0, (v0) | a0 = *(v0);
0x0002d030 jalr t9 | t9 ();
0x0002d034 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d038 lw s1, 0x14(s3) | s1 = *((s3 + 5));
| }
| if (s1 == 0) {
0x0002d03c beql s1, zero, 0x2d384 | goto label_19;
| }
0x0002d040 lw v0, 0x38(s3) | v0 = *((s3 + 14));
0x0002d044 lhu v0, (s1) | v0 = *(s1);
0x0002d048 addiu v0, v0, -4 | v0 += -4;
0x0002d04c srl v0, v0, 6 | v0 >>= 6;
0x0002d050 sw v0, 0x48(sp) | *(var_80h) = v0;
| if (v0 == 0) {
0x0002d054 beqz v0, 0x2d960 | goto label_20;
| }
0x0002d058 lw v0, -0x7d24(gp) | v0 = sym.xfrm_id_info_print;
0x0002d05c lw s7, -0x7fdc(gp) | s7 = *(gp);
0x0002d060 sw v0, 0x40(sp) | *(var_78h) = v0;
0x0002d064 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002d068 lw s4, -0x7fd4(gp) | s4 = *((gp - 8181));
0x0002d06c sw v0, 0x34(sp) | *(var_6ch) = v0;
0x0002d070 lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002d074 lw s5, -0x7f88(gp) | s5 = *(gp);
0x0002d078 sw v0, 0x54(sp) | *(var_8ch) = v0;
0x0002d07c lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002d080 addiu s1, s1, 0x20 | s1 += 0x20;
| /* str.tmpl_ */
0x0002d084 addiu v0, v0, -0xcb8 | v0 += -0xcb8;
0x0002d088 sw v0, 0x3c(sp) | *(var_74h) = v0;
0x0002d08c lw v0, -0x7fdc(gp) | v0 = *(gp);
0x0002d090 move fp, zero | fp = 0;
| /* str._s_mask__s */
0x0002d094 addiu v0, v0, -0xc70 | v0 += -0xc70;
| /* str._.8x */
0x0002d098 addiu s7, s7, -0xf78 | s7 += -0xf78;
0x0002d09c addiu s4, s4, 0x570 | s4 += 0x570;
0x0002d0a0 sw v0, 0x50(sp) | *(var_88h) = v0;
0x0002d0a4 b 0x2d318 |
| while (s2 != 0) {
0x0002d0a8 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d0ac move a1, s0 | a1 = s0;
0x0002d0b0 move a0, s2 | a0 = s2;
0x0002d0b4 jalr t9 | t9 ();
0x0002d0b8 lw v0, 0x3c(sp) | v0 = *(var_74h);
0x0002d0bc lw a3, 0x10(s1) | a3 = *((s1 + 4));
0x0002d0c0 lbu a2, 0x14(s1) | a2 = *((s1 + 20));
0x0002d0c4 sw v0, 0x20(sp) | *(var_20h_4) = v0;
0x0002d0c8 sw s2, 0x1c(sp) | *(var_54h_3) = s2;
0x0002d0cc sw s0, 0x18(sp) | *(var_50h_3) = s0;
0x0002d0d0 sw zero, 0x14(sp) | *(var_4ch) = 0;
0x0002d0d4 lhu v0, -4(s1) | v0 = *((s1 - 2));
0x0002d0d8 lw t9, 0x40(sp) | t9 = *(var_78h);
0x0002d0dc sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d0e0 move a1, s6 | a1 = s6;
0x0002d0e4 move a0, s1 | a0 = s1;
0x0002d0e8 jalr t9 | t9 ();
0x0002d0ec lw v0, (s5) | v0 = *(s5);
0x0002d0f0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 <= 0) {
0x0002d0f4 blez v0, 0x2d7dc | goto label_21;
| }
0x0002d0f8 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| label_7:
0x0002d0fc move a1, s0 | a1 = s0;
0x0002d100 move a0, s2 | a0 = s2;
0x0002d104 jalr t9 | t9 ();
0x0002d108 lw gp, 0x28(sp) | gp = *(var_28h_2);
| label_0:
0x0002d10c lw t9, -0x7b2c(gp) | t9 = sym.imp.fputc;
| label_1:
0x0002d110 move a1, s0 | a1 = s0;
0x0002d114 addiu a0, zero, 9 | a0 = 9;
0x0002d118 jalr t9 | t9 ();
0x0002d11c lbu a3, 0x16(s1) | a3 = *((s1 + 22));
0x0002d120 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (a3 == 0) {
0x0002d124 beqz a3, 0x2d7ac | goto label_22;
| }
0x0002d128 addiu v0, zero, 1 | v0 = 1;
0x0002d12c lw a0, -0x7fdc(gp) | a0 = *(gp);
| if (a3 == v0) {
0x0002d130 beq a3, v0, 0x2d78c | goto label_23;
| }
0x0002d134 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d138 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.level__u_ */
0x0002d13c addiu a2, a2, -0xc94 | a2 += -0xc94;
0x0002d140 addiu a1, zero, 1 | a1 = 1;
0x0002d144 move a0, s0 | a0 = s0;
0x0002d148 jalr t9 | t9 ();
0x0002d14c lw gp, 0x28(sp) | gp = *(var_28h_2);
| label_4:
0x0002d150 lw v0, (s5) | v0 = *(s5);
0x0002d154 lw t9, -0x7d20(gp) | t9 = sym.strxf_share;
| if (v0 > 0) {
0x0002d158 blez v0, 0x2d188 |
0x0002d15c lbu a0, 0x15(s1) | a0 = *((s1 + 21));
0x0002d160 bal 0x2bbf8 | sym_strxf_share ();
0x0002d164 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d168 move a3, v0 | a3 = v0;
0x0002d16c lw v0, 0x54(sp) | v0 = *(var_8ch);
0x0002d170 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d174 addiu a2, v0, -0xc88 | a2 = v0 + -aav.0x00000c88;
0x0002d178 addiu a1, zero, 1 | a1 = 1;
0x0002d17c move a0, s0 | a0 = s0;
0x0002d180 jalr t9 | t9 ();
0x0002d184 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d188 lw s6, -0x7f94(gp) | s6 = *(gp);
| label_5:
0x0002d18c lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d190 move a1, s0 | a1 = s0;
0x0002d194 lw a0, (s6) | a0 = *(s6);
0x0002d198 jalr t9 | t9 ();
0x0002d19c lw v0, (s5) | v0 = *(s5);
0x0002d1a0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 > 0) {
0x0002d1a4 blez v0, 0x2d304 |
0x0002d1a8 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 != 0) {
0x0002d1ac beqz s2, 0x2d1c0 |
0x0002d1b0 move a1, s0 | a1 = s0;
0x0002d1b4 move a0, s2 | a0 = s2;
0x0002d1b8 jalr t9 | t9 ();
0x0002d1bc lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d1c0 lw t9, -0x7b2c(gp) | t9 = sym.imp.fputc;
0x0002d1c4 move a1, s0 | a1 = s0;
0x0002d1c8 addiu a0, zero, 9 | a0 = 9;
0x0002d1cc jalr t9 | t9 ();
0x0002d1d0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d1d4 lw t9, -0x7d30(gp) | t9 = sym.strxf_algotype;
0x0002d1d8 addiu a0, zero, 2 | a0 = 2;
0x0002d1dc bal 0x2b5f0 | sym_strxf_algotype ();
0x0002d1e0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d1e4 lw v1, 0x1c(s1) | v1 = *((s1 + 7));
0x0002d1e8 move a3, s7 | a3 = s7;
0x0002d1ec lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002d1f0 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002d1f4 addiu a1, zero, 1 | a1 = 1;
0x0002d1f8 move a0, s4 | a0 = s4;
0x0002d1fc sw v1, 0x10(sp) | *(var_1a8h) = v1;
0x0002d200 sw v0, 0x38(sp) | *(var_70h) = v0;
0x0002d204 jalr t9 | t9 ();
0x0002d208 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d20c lw v1, 0x38(sp) | v1 = *(var_70h);
0x0002d210 lw v0, 0x34(sp) | v0 = *(var_6ch);
0x0002d214 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d218 move a3, v1 | a3 = v1;
0x0002d21c addiu a2, v0, -0xc7c | a2 = v0 + -0xc7c;
0x0002d220 addiu a1, zero, 1 | a1 = 1;
0x0002d224 move a0, s0 | a0 = s0;
0x0002d228 sw s4, 0x10(sp) | *(var_1a8h) = s4;
0x0002d22c jalr t9 | t9 ();
0x0002d230 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d234 lw t9, -0x7d30(gp) | t9 = sym.strxf_algotype;
0x0002d238 addiu a0, zero, 1 | a0 = 1;
0x0002d23c bal 0x2b5f0 | sym_strxf_algotype ();
0x0002d240 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d244 lw v1, 0x18(s1) | v1 = *((s1 + 6));
0x0002d248 move a3, s7 | a3 = s7;
0x0002d24c lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002d250 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002d254 addiu a1, zero, 1 | a1 = 1;
0x0002d258 move a0, s4 | a0 = s4;
0x0002d25c sw v1, 0x10(sp) | *(var_1a8h) = v1;
0x0002d260 sw v0, 0x38(sp) | *(var_70h) = v0;
0x0002d264 jalr t9 | t9 ();
0x0002d268 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d26c lw v1, 0x38(sp) | v1 = *(var_70h);
0x0002d270 lw v0, 0x34(sp) | v0 = *(var_6ch);
0x0002d274 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d278 move a3, v1 | a3 = v1;
0x0002d27c addiu a2, v0, -0xc7c | a2 = v0 + -0xc7c;
0x0002d280 addiu a1, zero, 1 | a1 = 1;
0x0002d284 move a0, s0 | a0 = s0;
0x0002d288 sw s4, 0x10(sp) | *(var_1a8h) = s4;
0x0002d28c jalr t9 | t9 ();
0x0002d290 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d294 lw t9, -0x7d30(gp) | t9 = sym.strxf_algotype;
0x0002d298 addiu a0, zero, 3 | a0 = 3;
0x0002d29c bal 0x2b5f0 | sym_strxf_algotype ();
0x0002d2a0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d2a4 lw v1, 0x20(s1) | v1 = *((s1 + 8));
0x0002d2a8 move a3, s7 | a3 = s7;
0x0002d2ac lw t9, -0x7bb8(gp) | t9 = sym.imp.__sprintf_chk
0x0002d2b0 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002d2b4 addiu a1, zero, 1 | a1 = 1;
0x0002d2b8 move a0, s4 | a0 = s4;
0x0002d2bc sw v1, 0x10(sp) | *(var_1a8h) = v1;
0x0002d2c0 sw v0, 0x38(sp) | *(var_70h) = v0;
0x0002d2c4 jalr t9 | t9 ();
0x0002d2c8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d2cc lw v1, 0x38(sp) | v1 = *(var_70h);
0x0002d2d0 lw a2, 0x50(sp) | a2 = *(var_88h);
0x0002d2d4 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d2d8 move a3, v1 | a3 = v1;
0x0002d2dc addiu a1, zero, 1 | a1 = 1;
0x0002d2e0 move a0, s0 | a0 = s0;
0x0002d2e4 sw s4, 0x10(sp) | *(var_1a8h) = s4;
0x0002d2e8 jalr t9 | t9 ();
0x0002d2ec lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d2f0 lw a0, (s6) | a0 = *(s6);
0x0002d2f4 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d2f8 move a1, s0 | a1 = s0;
0x0002d2fc jalr t9 | t9 ();
0x0002d300 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d304 lw v0, 0x48(sp) | v0 = *(var_80h);
| label_6:
0x0002d308 addiu fp, fp, 1 | fp++;
0x0002d30c slt v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
0x0002d310 addiu s1, s1, 0x40 | s1 += 0x40;
| if (v0 == 0) {
0x0002d314 beqz v0, 0x2d380 | goto label_13;
| }
| label_2:
0x0002d318 addiu s6, s1, -0x1c | s6 = s1 + -0x1c;
0x0002d31c bnez s2, 0x2d0a8 |
| }
0x0002d320 lw v0, 0x3c(sp) | v0 = *(var_74h);
0x0002d324 lw a3, 0x10(s1) | a3 = *((s1 + 4));
0x0002d328 lbu a2, 0x14(s1) | a2 = *((s1 + 20));
0x0002d32c sw v0, 0x20(sp) | *(var_20h_4) = v0;
0x0002d330 sw zero, 0x1c(sp) | *(var_54h_3) = 0;
0x0002d334 sw s0, 0x18(sp) | *(var_50h_3) = s0;
0x0002d338 sw zero, 0x14(sp) | *(var_4ch) = 0;
0x0002d33c lhu v0, -4(s1) | v0 = *((s1 - 2));
0x0002d340 lw t9, 0x40(sp) | t9 = *(var_78h);
0x0002d344 sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d348 move a1, s6 | a1 = s6;
0x0002d34c move a0, s1 | a0 = s1;
0x0002d350 jalr t9 | t9 ();
0x0002d354 lw v0, (s5) | v0 = *(s5);
0x0002d358 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 > 0) {
0x0002d35c bgtz v0, 0x2d10c | goto label_0;
| }
0x0002d360 lbu v0, 0x16(s1) | v0 = *((s1 + 22));
0x0002d364 lw t9, -0x7b2c(gp) | t9 = sym.imp.fputc;
| if (v0 != 0) {
0x0002d368 bnez v0, 0x2d110 | goto label_1;
| }
0x0002d36c lw v0, 0x48(sp) | v0 = *(var_80h);
0x0002d370 addiu fp, fp, 1 | fp++;
0x0002d374 slt v0, fp, v0 | v0 = (fp < v0) ? 1 : 0;
0x0002d378 addiu s1, s1, 0x40 | s1 += 0x40;
| if (v0 != 0) {
0x0002d37c bnez v0, 0x2d318 | goto label_2;
| }
| label_13:
0x0002d380 lw v0, 0x38(s3) | v0 = *((s3 + 14));
| if (v0 != 0) {
| label_19:
0x0002d384 beql v0, zero, 0x2d420 |
0x0002d388 lw v0, 0x3c(s3) | v0 = *((s3 + 15));
0x0002d38c lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 != 0) {
0x0002d390 beqz s2, 0x2d3a4 |
0x0002d394 move a1, s0 | a1 = s0;
0x0002d398 move a0, s2 | a0 = s2;
0x0002d39c jalr t9 | t9 ();
0x0002d3a0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d3a4 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d3a8 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d3ac addiu a2, zero, 4 | a2 = 4;
0x0002d3b0 move a3, s0 | a3 = s0;
0x0002d3b4 addiu a1, zero, 1 | a1 = 1;
| /* str.coa_ */
0x0002d3b8 addiu a0, a0, -0xc64 | a0 += -0xc64;
0x0002d3bc jalr t9 | t9 ();
0x0002d3c0 lw a2, 0x38(s3) | a2 = *((s3 + 14));
0x0002d3c4 lhu v0, (a2) | v0 = *(a2);
0x0002d3c8 addiu v0, v0, -4 | v0 += -4;
0x0002d3cc sltiu v0, v0, 0x10 | v0 = (v0 < 0x10) ? 1 : 0;
0x0002d3d0 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0002d3d4 bnez v0, 0x2d71c | goto label_10;
| }
0x0002d3d8 lw t9, -0x7e80(gp) | t9 = sym.rt_addr_n2a;
0x0002d3dc lw a0, 0x4c(sp) | a0 = *(var_84h);
0x0002d3e0 addiu a2, a2, 4 | a2 += 4;
0x0002d3e4 addiu a1, zero, 0x10 | a1 = 0x10;
0x0002d3e8 jalr t9 | t9 ();
0x0002d3ec lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d3f0 move a1, s0 | a1 = s0;
0x0002d3f4 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d3f8 move a0, v0 | a0 = v0;
0x0002d3fc jalr t9 | t9 ();
0x0002d400 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d404 move a1, s0 | a1 = s0;
0x0002d408 lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002d40c lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d410 lw a0, (v0) | a0 = *(v0);
0x0002d414 jalr t9 | t9 ();
0x0002d418 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d41c lw v0, 0x3c(s3) | v0 = *((s3 + 15));
| }
| if (v0 != 0) {
0x0002d420 beql v0, zero, 0x2d4d8 |
0x0002d424 lw v0, 0x28(s3) | v0 = *((s3 + 10));
0x0002d428 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 != 0) {
0x0002d42c beqz s2, 0x2d440 |
0x0002d430 move a1, s0 | a1 = s0;
0x0002d434 move a0, s2 | a0 = s2;
0x0002d438 jalr t9 | t9 ();
0x0002d43c lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d440 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d444 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d448 move a3, s0 | a3 = s0;
0x0002d44c addiu a2, zero, 9 | a2 = 9;
0x0002d450 addiu a1, zero, 1 | a1 = 1;
| /* str.lastused_ */
0x0002d454 addiu a0, a0, -0xc5c | a0 += -0xc5c;
0x0002d458 jalr t9 | t9 ();
0x0002d45c lw v0, 0x3c(s3) | v0 = *((s3 + 15));
0x0002d460 lhu v1, (v0) | v1 = *(v0);
0x0002d464 addiu v1, v1, -4 | v1 += -4;
0x0002d468 sltiu v1, v1, 8 | v1 = (v1 < 8) ? 1 : 0;
0x0002d46c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v1 != 0) {
0x0002d470 bnez v1, 0x2d71c | goto label_10;
| }
0x0002d474 addiu v0, v0, 4 | v0 += 4;
0x0002d478 lw t9, -0x7d34(gp) | t9 = *(gp);
0x0002d47c lwl a0, 3(v0) | __asm ("lwl a0, 3(v0)");
0x0002d480 lwl v1, 7(v0) | __asm ("lwl v1, 7(v0)");
| /* fcn.0002b238 */
0x0002d484 addiu t9, t9, -0x4dc8 | t9 += -0x4dc8;
0x0002d488 lwr a0, (v0) | __asm ("lwr a0, (v0)");
0x0002d48c lwr v1, 4(v0) | __asm ("lwr v1, 4(v0)");
0x0002d490 sw a0, 0x58(sp) | *(var_58h_3) = a0;
0x0002d494 sw v1, 0x5c(sp) | *(var_5ch_3) = v1;
0x0002d498 lw a0, 0x58(sp) | a0 = *(var_58h_3);
0x0002d49c lw a1, 0x5c(sp) | a1 = *(var_5ch_3);
0x0002d4a0 bal 0x2b238 | fcn_0002b238 ();
0x0002d4a4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d4a8 move a1, s0 | a1 = s0;
0x0002d4ac lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d4b0 move a0, v0 | a0 = v0;
0x0002d4b4 jalr t9 | t9 ();
0x0002d4b8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d4bc move a1, s0 | a1 = s0;
0x0002d4c0 lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002d4c4 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d4c8 lw a0, (v0) | a0 = *(v0);
0x0002d4cc jalr t9 | t9 ();
0x0002d4d0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d4d4 lw v0, 0x28(s3) | v0 = *((s3 + 10));
| }
| if (v0 != 0) {
0x0002d4d8 beql v0, zero, 0x2d578 |
0x0002d4dc lw v0, 0x5c(s3) | v0 = *((s3 + 23));
0x0002d4e0 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 != 0) {
0x0002d4e4 beqz s2, 0x2d4f8 |
0x0002d4e8 move a1, s0 | a1 = s0;
0x0002d4ec move a0, s2 | a0 = s2;
0x0002d4f0 jalr t9 | t9 ();
0x0002d4f4 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d4f8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d4fc lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d500 move a3, s0 | a3 = s0;
0x0002d504 addiu a2, zero, 0x15 | a2 = 0x15;
0x0002d508 addiu a1, zero, 1 | a1 = 1;
| /* str.anti_replay_context:_ */
0x0002d50c addiu a0, a0, -0xc50 | a0 += -0xc50;
0x0002d510 jalr t9 | t9 ();
0x0002d514 lw v1, 0x28(s3) | v1 = *((s3 + 10));
0x0002d518 lhu v0, (v1) | v0 = *(v1);
0x0002d51c addiu v0, v0, -4 | v0 += -4;
0x0002d520 sltiu v0, v0, 0xc | v0 = (v0 < 0xc) ? 1 : 0;
0x0002d524 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0002d528 bnez v0, 0x2d71c | goto label_10;
| }
0x0002d52c lw v0, 0xc(v1) | v0 = *((v1 + 3));
0x0002d530 lw a3, 8(v1) | a3 = *((v1 + 2));
0x0002d534 sw v0, 0x14(sp) | *(var_4ch) = v0;
0x0002d538 lw v0, 4(v1) | v0 = *((v1 + 1));
0x0002d53c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d540 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str.seq_0x_x__oseq_0x_x__bitmap_0x_08x */
0x0002d544 addiu a2, a2, -0xc38 | a2 += -0xc38;
0x0002d548 addiu a1, zero, 1 | a1 = 1;
0x0002d54c move a0, s0 | a0 = s0;
0x0002d550 sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d554 jalr t9 | t9 ();
0x0002d558 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d55c move a1, s0 | a1 = s0;
0x0002d560 lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002d564 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d568 lw a0, (v0) | a0 = *(v0);
0x0002d56c jalr t9 | t9 ();
0x0002d570 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d574 lw v0, 0x5c(s3) | v0 = *((s3 + 23));
| }
0x0002d578 lw v0, 0x44(sp) | v0 = *(var_44h);
| if (v0 == 0) {
0x0002d57c beqz v0, 0x2d9b4 | goto label_24;
| }
0x0002d580 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 == 0) {
0x0002d584 beqz s2, 0x2d830 | goto label_25;
| }
0x0002d588 move a1, s0 | a1 = s0;
0x0002d58c move a0, s2 | a0 = s2;
0x0002d590 jalr t9 | t9 ();
0x0002d594 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d598 move a3, s0 | a3 = s0;
0x0002d59c addiu a2, zero, 0x18 | a2 = 0x18;
0x0002d5a0 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d5a4 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d5a8 addiu a1, zero, 1 | a1 = 1;
| /* str.anti_replay_esn_context: */
0x0002d5ac addiu a0, a0, -0xc14 | a0 += -0xc14;
0x0002d5b0 jalr t9 | t9 ();
0x0002d5b4 lw v0, 0x5c(s3) | v0 = *((s3 + 23));
0x0002d5b8 lhu v0, (v0) | v0 = *(v0);
0x0002d5bc addiu v0, v0, -4 | v0 += -4;
0x0002d5c0 sltiu v0, v0, 0x18 | v0 = (v0 < 0x18) ? 1 : 0;
0x0002d5c4 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0002d5c8 bnez v0, 0x2d71c | goto label_10;
| }
0x0002d5cc lw s6, -0x7f94(gp) | s6 = *(gp);
0x0002d5d0 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d5d4 move a1, s0 | a1 = s0;
0x0002d5d8 lw a0, (s6) | a0 = *(s6);
0x0002d5dc jalr t9 | t9 ();
0x0002d5e0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d5e4 lw s3, 0x5c(s3) | s3 = *((s3 + 23));
0x0002d5e8 move a1, s0 | a1 = s0;
0x0002d5ec lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d5f0 move a0, s2 | a0 = s2;
0x0002d5f4 jalr t9 | t9 ();
0x0002d5f8 lw v0, 8(s3) | v0 = *((s3 + 2));
0x0002d5fc lw a3, 0x14(s3) | a3 = *((s3 + 5));
0x0002d600 sw v0, 0x18(sp) | *(var_50h_3) = v0;
0x0002d604 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d608 lw v0, 0x10(s3) | v0 = *((s3 + 4));
0x0002d60c addiu a1, zero, 1 | a1 = 1;
0x0002d610 sw v0, 0x14(sp) | *(var_4ch) = v0;
0x0002d614 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d618 lw v0, 0xc(s3) | v0 = *((s3 + 3));
0x0002d61c lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._seq_hi_0x_x__seq_0x_x__oseq_hi_0x_0x__oseq_0x_0x */
0x0002d620 addiu a2, a2, -0xbcc | a2 += -0xbcc;
0x0002d624 move a0, s0 | a0 = s0;
0x0002d628 sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d62c jalr t9 | t9 ();
0x0002d630 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d634 lw a0, (s6) | a0 = *(s6);
0x0002d638 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d63c move a1, s0 | a1 = s0;
0x0002d640 jalr t9 | t9 ();
0x0002d644 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d648 move a1, s0 | a1 = s0;
0x0002d64c lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d650 move a0, s2 | a0 = s2;
0x0002d654 jalr t9 | t9 ();
0x0002d658 lw gp, 0x28(sp) | gp = *(var_28h_2);
| label_11:
0x0002d65c lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d660 lw v0, 4(s3) | v0 = *((s3 + 1));
0x0002d664 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d668 lw a3, 0x18(s3) | a3 = *((s3 + 6));
| /* str._replay_window__u__bitmap_length__u */
0x0002d66c addiu a2, a2, -0xbf8 | a2 += -0xbf8;
0x0002d670 sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d674 addiu a1, zero, 1 | a1 = 1;
0x0002d678 move a0, s0 | a0 = s0;
0x0002d67c jalr t9 | t9 ();
0x0002d680 lw s4, 4(s3) | s4 = *((s3 + 1));
0x0002d684 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (s4 == 0) {
0x0002d688 beqz s4, 0x2d8d0 | goto label_26;
| }
0x0002d68c lw s5, -0x7fdc(gp) | s5 = *(gp);
0x0002d690 sll v0, s4, 2 | v0 = s4 << 2;
0x0002d694 addu s3, s3, v0 | s3 += v0;
| /* str._08x_ */
0x0002d698 addiu s5, s5, -0xbd4 | s5 += -0xbd4;
0x0002d69c move v0, zero | v0 = 0;
0x0002d6a0 b 0x2d6cc |
| while (v1 != 0) {
| label_3:
0x0002d6a4 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
0x0002d6a8 lw a3, 0x18(s3) | a3 = *((s3 + 6));
0x0002d6ac move a2, s5 | a2 = s5;
0x0002d6b0 addiu a1, zero, 1 | a1 = 1;
0x0002d6b4 move a0, s0 | a0 = s0;
0x0002d6b8 jalr t9 | t9 ();
0x0002d6bc addiu s3, s3, -4 | s3 += -4;
0x0002d6c0 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d6c4 move v0, s1 | v0 = s1;
| if (s4 == s1) {
0x0002d6c8 beq s4, s1, 0x2d8d0 | goto label_26;
| }
0x0002d6cc andi v1, v0, 7 | v1 = v0 & 7;
0x0002d6d0 addiu s1, v0, 1 | s1 = v0 + 1;
0x0002d6d4 bnez v1, 0x2d6a4 |
| }
0x0002d6d8 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d6dc lw a0, (s6) | a0 = *(s6);
0x0002d6e0 move a1, s0 | a1 = s0;
0x0002d6e4 jalr t9 | t9 ();
0x0002d6e8 lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (s2 != 0) {
0x0002d6ec beqz s2, 0x2d704 |
0x0002d6f0 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d6f4 move a1, s0 | a1 = s0;
0x0002d6f8 move a0, s2 | a0 = s2;
0x0002d6fc jalr t9 | t9 ();
0x0002d700 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d704 lw t9, -0x7b2c(gp) | t9 = sym.imp.fputc;
0x0002d708 move a1, s0 | a1 = s0;
0x0002d70c addiu a0, zero, 0x20 | a0 = 0x20;
0x0002d710 jalr t9 | t9 ();
0x0002d714 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d718 b 0x2d6a4 | goto label_3;
| label_10:
0x0002d71c lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d720 move a3, s0 | a3 = s0;
| label_16:
0x0002d724 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d728 addiu a2, zero, 0x11 | a2 = 0x11;
0x0002d72c addiu a1, zero, 1 | a1 = 1;
| /* str._ERROR_truncated_ */
0x0002d730 addiu a0, a0, -0xfa4 | a0 += -0xfa4;
0x0002d734 jalr t9 | t9 ();
0x0002d738 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0002d73c lw v1, 0x64(sp) | v1 = *(var_64h);
0x0002d740 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d744 lw v0, (v0) | v0 = *(v0);
0x0002d748 lw v0, -0x7f94(gp) | v0 = *(gp);
| if (v1 != v0) {
0x0002d74c bne v1, v0, 0x2d9f0 | goto label_27;
| }
0x0002d750 lw ra, 0x8c(sp) | ra = *(var_8ch);
0x0002d754 lw fp, 0x88(sp) | fp = *(var_88h);
0x0002d758 lw s7, 0x84(sp) | s7 = *(var_84h);
0x0002d75c lw s6, 0x80(sp) | s6 = *(var_80h);
0x0002d760 lw s5, 0x7c(sp) | s5 = *(var_7ch);
0x0002d764 lw s4, 0x78(sp) | s4 = *(var_78h);
0x0002d768 lw s3, 0x74(sp) | s3 = *(var_74h);
0x0002d76c lw s2, 0x70(sp) | s2 = *(var_70h);
0x0002d770 lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x0002d774 move a1, s0 | a1 = s0;
0x0002d778 lw a0, (v0) | a0 = *(v0);
0x0002d77c lw s0, 0x68(sp) | s0 = *(var_68h);
0x0002d780 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d784 addiu sp, sp, 0x90 |
0x0002d788 jr t9 | t9 ();
| label_23:
0x0002d78c lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d790 move a3, s0 | a3 = s0;
0x0002d794 addiu a2, zero, 0xa | a2 = 0xa;
0x0002d798 addiu a1, zero, 1 | a1 = 1;
| /* str.level_use_ */
0x0002d79c addiu a0, a0, -0xca0 | a0 += -0xca0;
0x0002d7a0 jalr t9 | t9 ();
0x0002d7a4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d7a8 b 0x2d150 | goto label_4;
| label_22:
0x0002d7ac lw v0, (s5) | v0 = *(s5);
0x0002d7b0 lw s6, -0x7f94(gp) | s6 = *(gp);
| if (v0 <= 0) {
0x0002d7b4 blez v0, 0x2d18c | goto label_5;
| }
0x0002d7b8 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d7bc lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d7c0 move a3, s0 | a3 = s0;
0x0002d7c4 addiu a2, zero, 0xf | a2 = 0xf;
0x0002d7c8 addiu a1, zero, 1 | a1 = 1;
| /* str.level_required_ */
0x0002d7cc addiu a0, a0, -0xcb0 | a0 += -0xcb0;
0x0002d7d0 jalr t9 | t9 ();
0x0002d7d4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d7d8 b 0x2d150 | goto label_4;
| label_21:
0x0002d7dc lbu v0, 0x16(s1) | v0 = *((s1 + 22));
0x0002d7e0 lw v0, 0x48(sp) | v0 = *(var_80h);
| if (v0 == 0) {
0x0002d7e4 beqz v0, 0x2d308 | goto label_6;
| }
0x0002d7e8 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d7ec b 0x2d0fc | goto label_7;
| label_15:
0x0002d7f0 lw t9, -0x7d34(gp) | t9 = *(gp);
0x0002d7f4 addiu v1, zero, 1 | v1 = 1;
0x0002d7f8 addiu a0, v0, 4 | a0 = v0 + 4;
0x0002d7fc sw v1, 0x14(sp) | *(var_4ch) = v1;
0x0002d800 sw s2, 0x10(sp) | *(var_1a8h) = s2;
0x0002d804 move a3, s0 | a3 = s0;
0x0002d808 addiu a2, a2, -4 | a2 += -4;
| /* fcn.0002b68c */
0x0002d80c addiu t9, t9, -0x4974 | t9 += -0x4974;
0x0002d810 addiu a1, zero, 1 | a1 = 1;
0x0002d814 bal 0x2b68c | fcn_0002b68c ();
0x0002d818 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d81c lw a0, 0x50(s3) | a0 = *((s3 + 20));
| if (a0 == 0) {
| label_14:
0x0002d820 beql a0, zero, 0x2ce54 | goto label_8;
| }
0x0002d824 lw a0, 0x48(s3) | a0 = *((s3 + 18));
0x0002d828 lhu a1, (a0) | a1 = *(a0);
0x0002d82c b 0x2ce30 | goto label_9;
| label_25:
0x0002d830 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d834 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d838 move a3, s0 | a3 = s0;
0x0002d83c addiu a2, zero, 0x18 | a2 = 0x18;
0x0002d840 addiu a1, zero, 1 | a1 = 1;
| /* str.anti_replay_esn_context: */
0x0002d844 addiu a0, a0, -0xc14 | a0 += -0xc14;
0x0002d848 jalr t9 | t9 ();
0x0002d84c lw v0, 0x5c(s3) | v0 = *((s3 + 23));
0x0002d850 lhu v0, (v0) | v0 = *(v0);
0x0002d854 addiu v0, v0, -4 | v0 += -4;
0x0002d858 sltiu v0, v0, 0x18 | v0 = (v0 < 0x18) ? 1 : 0;
0x0002d85c lw gp, 0x28(sp) | gp = *(var_28h_2);
| if (v0 != 0) {
0x0002d860 bnez v0, 0x2d71c | goto label_10;
| }
0x0002d864 lw s6, -0x7f94(gp) | s6 = *(gp);
0x0002d868 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d86c move a1, s0 | a1 = s0;
0x0002d870 lw a0, (s6) | a0 = *(s6);
0x0002d874 jalr t9 | t9 ();
0x0002d878 lw s3, 0x5c(s3) | s3 = *((s3 + 23));
0x0002d87c lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d880 addiu a1, zero, 1 | a1 = 1;
0x0002d884 lw v0, 8(s3) | v0 = *((s3 + 2));
0x0002d888 lw a3, 0x14(s3) | a3 = *((s3 + 5));
0x0002d88c sw v0, 0x18(sp) | *(var_50h_3) = v0;
0x0002d890 lw v0, 0x10(s3) | v0 = *((s3 + 4));
0x0002d894 lw a2, -0x7fdc(gp) | a2 = *(gp);
0x0002d898 sw v0, 0x14(sp) | *(var_4ch) = v0;
0x0002d89c lw v0, 0xc(s3) | v0 = *((s3 + 3));
0x0002d8a0 lw t9, -0x7b5c(gp) | t9 = sym.imp.__fprintf_chk;
| /* str._seq_hi_0x_x__seq_0x_x__oseq_hi_0x_0x__oseq_0x_0x */
0x0002d8a4 addiu a2, a2, -0xbcc | a2 += -0xbcc;
0x0002d8a8 move a0, s0 | a0 = s0;
0x0002d8ac sw v0, 0x10(sp) | *(var_1a8h) = v0;
0x0002d8b0 jalr t9 | t9 ();
0x0002d8b4 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d8b8 lw a0, (s6) | a0 = *(s6);
0x0002d8bc lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d8c0 move a1, s0 | a1 = s0;
0x0002d8c4 jalr t9 | t9 ();
0x0002d8c8 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d8cc b 0x2d65c | goto label_11;
| label_26:
0x0002d8d0 lw v0, 0x44(sp) | v0 = *(var_44h);
0x0002d8d4 lw v1, 0x64(sp) | v1 = *(var_64h);
0x0002d8d8 lw v0, (v0) | v0 = *(v0);
0x0002d8dc lw ra, 0x8c(sp) | ra = *(var_8ch);
| if (v1 == v0) {
0x0002d8e0 bne v1, v0, 0x2d9f0 |
0x0002d8e4 lw a0, (s6) | a0 = *(s6);
0x0002d8e8 lw fp, 0x88(sp) | fp = *(var_88h);
0x0002d8ec lw s7, 0x84(sp) | s7 = *(var_84h);
0x0002d8f0 lw s6, 0x80(sp) | s6 = *(var_80h);
0x0002d8f4 lw s5, 0x7c(sp) | s5 = *(var_7ch);
0x0002d8f8 lw s4, 0x78(sp) | s4 = *(var_78h);
0x0002d8fc lw s3, 0x74(sp) | s3 = *(var_74h);
0x0002d900 lw s2, 0x70(sp) | s2 = *(var_70h);
0x0002d904 lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x0002d908 move a1, s0 | a1 = s0;
0x0002d90c lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d910 lw s0, 0x68(sp) | s0 = *(var_68h);
0x0002d914 addiu sp, sp, 0x90 |
0x0002d918 jr t9 | t9 ();
| label_18:
0x0002d91c lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d920 move a3, s0 | a3 = s0;
0x0002d924 addiu a2, zero, 9 | a2 = 9;
0x0002d928 addiu a1, zero, 1 | a1 = 1;
| /* str.espinudp_ */
0x0002d92c addiu a0, a0, -0xce8 | a0 += -0xce8;
0x0002d930 jalr t9 | t9 ();
0x0002d934 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d938 b 0x2cf98 | goto label_12;
| label_17:
0x0002d93c lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d940 lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d944 move a3, s0 | a3 = s0;
0x0002d948 addiu a2, zero, 0x10 | a2 = 0x10;
0x0002d94c addiu a1, zero, 1 | a1 = 1;
| /* str.espinudp_nonike_ */
0x0002d950 addiu a0, a0, -0xcfc | a0 += -0xcfc;
0x0002d954 jalr t9 | t9 ();
0x0002d958 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d95c b 0x2cf98 | goto label_12;
| label_20:
0x0002d960 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
| if (s2 != 0) {
0x0002d964 beqz s2, 0x2d978 |
0x0002d968 move a1, s0 | a1 = s0;
0x0002d96c move a0, s2 | a0 = s2;
0x0002d970 jalr t9 | t9 ();
0x0002d974 lw gp, 0x28(sp) | gp = *(var_28h_2);
| }
0x0002d978 lw a0, -0x7fdc(gp) | a0 = *(gp);
0x0002d97c lw t9, -0x7a2c(gp) | t9 = sym.imp.fwrite;
0x0002d980 move a3, s0 | a3 = s0;
0x0002d984 addiu a2, zero, 0x18 | a2 = 0x18;
0x0002d988 addiu a1, zero, 1 | a1 = 1;
| /* str._ERROR__tmpl__truncated_ */
0x0002d98c addiu a0, a0, -0xcd4 | a0 += -0xcd4;
0x0002d990 jalr t9 | t9 ();
0x0002d994 lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d998 move a1, s0 | a1 = s0;
0x0002d99c lw v0, -0x7f94(gp) | v0 = *(gp);
0x0002d9a0 lw t9, -0x7b80(gp) | t9 = sym.imp.fputs;
0x0002d9a4 lw a0, (v0) | a0 = *(v0);
0x0002d9a8 jalr t9 | t9 ();
0x0002d9ac lw gp, 0x28(sp) | gp = *(var_28h_2);
0x0002d9b0 b 0x2d380 | goto label_13;
| label_24:
0x0002d9b4 lw v1, 0x64(sp) | v1 = *(var_64h);
0x0002d9b8 lw v0, (v0) | v0 = *(v0);
0x0002d9bc lw ra, 0x8c(sp) | ra = *(var_8ch);
| if (v1 != v0) {
0x0002d9c0 bne v1, v0, 0x2d9f0 | goto label_27;
| }
0x0002d9c4 lw fp, 0x88(sp) | fp = *(var_88h);
0x0002d9c8 lw s7, 0x84(sp) | s7 = *(var_84h);
0x0002d9cc lw s6, 0x80(sp) | s6 = *(var_80h);
0x0002d9d0 lw s5, 0x7c(sp) | s5 = *(var_7ch);
0x0002d9d4 lw s4, 0x78(sp) | s4 = *(var_78h);
0x0002d9d8 lw s3, 0x74(sp) | s3 = *(var_74h);
0x0002d9dc lw s2, 0x70(sp) | s2 = *(var_70h);
0x0002d9e0 lw s1, 0x6c(sp) | s1 = *(var_6ch);
0x0002d9e4 lw s0, 0x68(sp) | s0 = *(var_68h);
0x0002d9e8 addiu sp, sp, 0x90 |
0x0002d9ec jr ra | return v1;
| }
| label_27:
0x0002d9f0 lw t9, -0x79ec(gp) | t9 = sym.imp.__stack_chk_fail;
0x0002d9f4 jalr t9 | t9 ();
0x0002d9f8 nop |
| }
[*] Function sprintf used 15 times ip.iproute2