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