[*] Binary protection state of dnsupdate

  
  	Full RELRO     Canary found      NX disabled  PIE enabled  No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of dnsupdate

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/dnsupdate @ 0x59c0 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.000059c0 ()                  | void fcn_000059c0 () {
    0x000059c0 lui gp, 2                     |     
    0x000059c4 addiu gp, gp, -0x5960         |     
    0x000059c8 addu gp, gp, t9               |     gp += t9;
    0x000059cc addiu sp, sp, -0x2a0          |     
    0x000059d0 lw t9, -0x7ed4(gp)            |     t9 = sym.imp.fgets;
    0x000059d4 sw s1, 0x27c(sp)              |     *(var_27ch) = s1;
    0x000059d8 lw s1, -0x7ecc(gp)            |     s1 = *((gp - 8115));
    0x000059dc sw s0, 0x278(sp)              |     *(var_278h) = s0;
    0x000059e0 lw s0, -0x7fd8(gp)            |     s0 = *((gp - 8182));
    0x000059e4 lw v0, (s1)                   |     v0 = *(s1);
    0x000059e8 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x000059ec lw a2, -0x7e18(s0)            |     a2 = *((s0 - 8070));
    0x000059f0 sw ra, 0x29c(sp)              |     *(var_29ch) = ra;
    0x000059f4 sw fp, 0x298(sp)              |     *(var_298h) = fp;
    0x000059f8 sw s7, 0x294(sp)              |     *(var_294h) = s7;
    0x000059fc sw s6, 0x290(sp)              |     *(var_290h) = s6;
    0x00005a00 sw s5, 0x28c(sp)              |     *(var_28ch) = s5;
    0x00005a04 sw s4, 0x288(sp)              |     *(var_288h) = s4;
    0x00005a08 sw s3, 0x284(sp)              |     *(var_284h) = s3;
    0x00005a0c sw s2, 0x280(sp)              |     *(var_280h) = s2;
    0x00005a10 addiu a1, zero, 0x200         |     a1 = 0x200;
    0x00005a14 addiu a0, sp, 0x74            |     a0 = sp + 0x74;
    0x00005a18 sw v0, 0x274(sp)              |     *(var_274h) = v0;
    0x00005a1c jalr t9                       |     t9 ();
    0x00005a20 nop                           |     
    0x00005a24 sw v0, 0x34(sp)               |     *(var_34h) = v0;
    0x00005a28 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005a2c beqz v0, 0x5c04               |         goto label_13;
                                             |     }
                                             | label_1:
    0x00005a30 lw t9, -0x7f04(gp)            |     t9 = sym.imp.strchr;
    0x00005a34 addiu a1, zero, 0xa           |     a1 = 0xa;
    0x00005a38 move a0, v0                   |     a0 = v0;
    0x00005a3c jalr t9                       |     t9 ();
    0x00005a40 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005a44 beqz v0, 0x5a4c               |         
    0x00005a48 sb zero, (v0)                 |         *(v0) = 0;
                                             |     }
    0x00005a4c lw s0, -0x7fdc(gp)            |     s0 = *((gp - 8183));
    0x00005a50 addiu s0, s0, 0x1574          |     s0 += fcn.00001574;
    0x00005a54 move t9, s0                   |     t9 = s0;
    0x00005a58 addiu a0, sp, 0x34            |     a0 = sp + 0x34;
    0x00005a5c bal 0x1574                    |     fcn_00001574 ();
    0x00005a60 move s2, v0                   |     s2 = v0;
    0x00005a64 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005a68 beqz v0, 0x5b30               |         
    0x00005a6c lb v0, (v0)                   |         v0 = *(v0);
    0x00005a70 addiu v1, zero, 0x3b          |         v1 = 0x3b;
                                             |         if (v0 == 0) {
    0x00005a74 beqz v0, 0x5e94               |             goto label_14;
                                             |         }
    0x00005a78 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
                                             |         if (v0 == v1) {
    0x00005a7c beq v0, v1, 0x5bfc            |             goto label_15;
                                             |         }
    0x00005a80 lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005a84 addiu a1, a1, 0x7534          |         a1 += str.quit;
    0x00005a88 move a0, s2                   |         a0 = s2;
    0x00005a8c jalr t9                       |         t9 ();
    0x00005a90 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005a94 beqz v0, 0x62f0               |             goto label_16;
                                             |         }
    0x00005a98 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00005a9c lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005aa0 addiu a1, a1, 0x753c          |         a1 += str.prereq;
    0x00005aa4 move a0, s2                   |         a0 = s2;
    0x00005aa8 jalr t9                       |         t9 ();
    0x00005aac move s3, v0                   |         s3 = v0;
    0x00005ab0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005ab4 beqz v0, 0x5c38               |             goto label_17;
                                             |         }
    0x00005ab8 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00005abc lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005ac0 addiu a1, a1, 0x757c          |         a1 += str.update;
    0x00005ac4 move a0, s2                   |         a0 = s2;
    0x00005ac8 jalr t9                       |         t9 ();
    0x00005acc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005ad0 beqz v0, 0x5b88               |             goto label_18;
                                             |         }
    0x00005ad4 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00005ad8 lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005adc addiu a1, a1, 0x7074          |         a1 += 0x7074;
    0x00005ae0 move a0, s2                   |         a0 = s2;
    0x00005ae4 jalr t9                       |         t9 ();
    0x00005ae8 move s3, v0                   |         s3 = v0;
    0x00005aec lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005af0 beqz v0, 0x5ce0               |             goto label_19;
                                             |         }
    0x00005af4 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00005af8 lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005afc addiu a1, a1, 0x75ec          |         a1 += str.zone;
    0x00005b00 move a0, s2                   |         a0 = s2;
    0x00005b04 jalr t9                       |         t9 ();
    0x00005b08 move s3, v0                   |         s3 = v0;
    0x00005b0c lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005b10 beqz v0, 0x5dd0               |             goto label_20;
                                             |         }
    0x00005b14 lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x00005b18 lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x00005b1c addiu a1, a1, 0x7614          |         a1 += str.send;
    0x00005b20 move a0, s2                   |         a0 = s2;
    0x00005b24 jalr t9                       |         t9 ();
    0x00005b28 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x00005b2c bnez v0, 0x62f8               |             goto label_21;
                                             |         }
                                             |     }
    0x00005b30 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005b34 addiu t9, t9, 0x50b4          |     t9 += fcn.000050b4;
    0x00005b38 bal 0x50b4                    |     fcn_000050b4 ();
    0x00005b3c nop                           |     
    0x00005b40 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005b44 move s3, v0                   |     s3 = v0;
                                             |     do {
                                             | label_0:
    0x00005b48 lw a0, 0x274(sp)              |         a0 = *(var_274h);
    0x00005b4c lw v1, (s1)                   |         v1 = *(s1);
    0x00005b50 move v0, s3                   |         v0 = s3;
                                             |         if (a0 != v1) {
    0x00005b54 bne a0, v1, 0x6528            |             goto label_22;
                                             |         }
    0x00005b58 lw ra, 0x29c(sp)              |         ra = *(var_29ch);
    0x00005b5c lw fp, 0x298(sp)              |         fp = *(var_298h);
    0x00005b60 lw s7, 0x294(sp)              |         s7 = *(var_294h);
    0x00005b64 lw s6, 0x290(sp)              |         s6 = *(var_290h);
    0x00005b68 lw s5, 0x28c(sp)              |         s5 = *(var_28ch);
    0x00005b6c lw s4, 0x288(sp)              |         s4 = *(var_288h);
    0x00005b70 lw s3, 0x284(sp)              |         s3 = *(var_284h);
    0x00005b74 lw s2, 0x280(sp)              |         s2 = *(var_280h);
    0x00005b78 lw s1, 0x27c(sp)              |         s1 = *(var_27ch);
    0x00005b7c lw s0, 0x278(sp)              |         s0 = *(var_278h);
    0x00005b80 addiu sp, sp, 0x2a0           |         
    0x00005b84 jr ra                         |         return v0;
                                             | label_18:
    0x00005b88 lw s2, -0x7fd8(gp)            |         s2 = *((gp - 8182));
    0x00005b8c lw fp, -0x7fd8(gp)            |         fp = *((gp - 8182));
    0x00005b90 lw v1, 0x34(sp)               |         v1 = *(var_34h);
    0x00005b94 lw v0, -0x7e0c(s2)            |         v0 = *((s2 - 8067));
    0x00005b98 sw v1, 0x38(sp)               |         *(var_38h) = v1;
    0x00005b9c sw zero, 0x3c(sp)             |         *(var_3ch) = 0;
    0x00005ba0 sw zero, -0x7e24(fp)          |         *((fp - 8073)) = 0;
                                             |         if (v0 == 0) {
    0x00005ba4 beqz v0, 0x6248               |             goto label_23;
                                             |         }
                                             | label_5:
    0x00005ba8 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x00005bac addiu a1, zero, 0x200         |         a1 = 0x200;
    0x00005bb0 addiu t9, t9, 0x1ef4          |         t9 += fcn.00001ef4;
    0x00005bb4 addiu a0, sp, 0x3c            |         a0 = sp + 0x3c;
    0x00005bb8 bal 0x1ef4                    |         fcn_00001ef4 ();
    0x00005bbc lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 == 0) {
    0x00005bc0 beqz v0, 0x6024               |             goto label_24;
                                             |         }
                                             | label_4:
    0x00005bc4 lw v0, -0x7e0c(s2)            |         v0 = *((s2 - 8067));
                                             | label_9:
    0x00005bc8 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
                                             |         if (v0 != 0) {
    0x00005bcc beqz v0, 0x5be0               |             
    0x00005bd0 addiu t9, t9, 0x2058          |             t9 += fcn.00002058;
    0x00005bd4 addiu a0, s2, -0x7e0c         |             a0 = s2 + -0x7e0c;
    0x00005bd8 bal 0x2058                    |             fcn_00002058 ();
    0x00005bdc lw gp, 0x10(sp)               |             gp = *(var_10h);
                                             |         }
    0x00005be0 lw a0, 0x3c(sp)               |         a0 = *(var_3ch);
    0x00005be4 lw t9, -0x7ec0(gp)            |         t9 = sym.imp.free;
                                             |         if (a0 == 0) {
    0x00005be8 beqz a0, 0x5e94               |             goto label_14;
                                             |         }
    0x00005bec addiu s3, zero, -1            |         s3 = -1;
    0x00005bf0 jalr t9                       |         t9 ();
    0x00005bf4 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x00005bf8 b 0x5b48                      |         
                                             |     } while (1);
                                             | label_15:
    0x00005bfc move s3, zero                 |     s3 = 0;
    0x00005c00 b 0x5b48                      |     goto label_0;
                                             | label_13:
    0x00005c04 lw s0, -0x7e18(s0)            |     s0 = *((s0 - 8070));
    0x00005c08 lw t9, -0x7efc(gp)            |     t9 = sym.imp.feof;
    0x00005c0c move a0, s0                   |     a0 = s0;
    0x00005c10 jalr t9                       |     t9 ();
    0x00005c14 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005c18 bnez v0, 0x62f0               |         goto label_16;
                                             |     }
    0x00005c1c lw t9, -0x7ed0(gp)            |     t9 = sym.imp.ferror;
    0x00005c20 move a0, s0                   |     a0 = s0;
    0x00005c24 jalr t9                       |     t9 ();
    0x00005c28 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005c2c bnez v0, 0x5e94               |         goto label_14;
                                             |     }
    0x00005c30 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00005c34 b 0x5a30                      |     goto label_1;
                                             | label_17:
    0x00005c38 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00005c3c addiu s4, sp, 0x3c            |     s4 = sp + 0x3c;
    0x00005c40 move a0, s4                   |     a0 = s4;
    0x00005c44 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00005c48 move t9, s0                   |     t9 = s0;
    0x00005c4c sw zero, 0x40(sp)             |     *(var_40h) = 0;
    0x00005c50 bal 0x1574                    |     fcn_00001574 ();
    0x00005c54 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00005c58 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005c5c beqz v0, 0x62e4               |         goto label_25;
                                             |     }
    0x00005c60 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x00005c64 lw t9, -0x7ea8(gp)            |     t9 = sym.imp.strcmp;
    0x00005c68 addiu a1, a1, 0x7558          |     a1 += str.nxrrset;
    0x00005c6c move a0, v0                   |     a0 = v0;
    0x00005c70 jalr t9                       |     t9 ();
    0x00005c74 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005c78 bnez v0, 0x62c0               |         goto label_26;
                                             |     }
    0x00005c7c lw s2, -0x7fd8(gp)            |     s2 = *((gp - 8182));
    0x00005c80 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00005c84 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
                                             |     if (v0 == 0) {
    0x00005c88 beqz v0, 0x6280               |         goto label_27;
                                             |     }
                                             | label_6:
    0x00005c8c lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005c90 addiu a1, zero, 0x200         |     a1 = 0x200;
    0x00005c94 addiu t9, t9, 0x1ef4          |     t9 += fcn.00001ef4;
    0x00005c98 addiu a0, sp, 0x40            |     a0 = sp + 0x40;
    0x00005c9c bal 0x1ef4                    |     fcn_00001ef4 ();
    0x00005ca0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005ca4 beqz v0, 0x5e9c               |         goto label_28;
                                             |     }
                                             | label_2:
    0x00005ca8 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
                                             | label_3:
    0x00005cac lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
                                             |     if (v0 != 0) {
    0x00005cb0 beqz v0, 0x5cc4               |         
    0x00005cb4 addiu t9, t9, 0x2058          |         t9 += fcn.00002058;
    0x00005cb8 addiu a0, s2, -0x7e0c         |         a0 = s2 + -0x7e0c;
    0x00005cbc bal 0x2058                    |         fcn_00002058 ();
    0x00005cc0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |     }
    0x00005cc4 lw a0, 0x40(sp)               |     a0 = *(var_40h);
    0x00005cc8 lw t9, -0x7ec0(gp)            |     t9 = sym.imp.free;
                                             |     if (a0 == 0) {
    0x00005ccc beqz a0, 0x5b48               |         goto label_0;
                                             |     }
    0x00005cd0 jalr t9                       |     t9 ();
    0x00005cd4 nop                           |     
    0x00005cd8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005cdc b 0x5b48                      |     goto label_0;
                                             | label_19:
    0x00005ce0 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00005ce4 addiu t3, sp, 0x3c            |     t3 = sp + 0x3c;
    0x00005ce8 move a0, t3                   |     a0 = t3;
    0x00005cec move t9, s0                   |     t9 = s0;
    0x00005cf0 sw v0, 0x3c(sp)               |     *(var_3ch) = v0;
    0x00005cf4 bal 0x1574                    |     fcn_00001574 ();
    0x00005cf8 move t2, v0                   |     t2 = v0;
    0x00005cfc lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005d00 beqz v0, 0x5e94               |         goto label_14;
                                             |     }
    0x00005d04 bal 0x1574                    |     fcn_00001574 ();
    0x00005d08 nop                           |     
    0x00005d0c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005d10 beqz v0, 0x62b4               |         goto label_29;
                                             |     }
                                             | label_7:
    0x00005d14 addiu a2, sp, 0x44            |     a2 = sp + 0x44;
    0x00005d18 lw t9, -0x7f38(gp)            |     t9 = sym.imp.getaddrinfo;
    0x00005d1c move a1, v0                   |     a1 = v0;
    0x00005d20 addiu v0, zero, 1             |     v0 = 1;
    0x00005d24 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00005d28 addiu a3, sp, 0x40            |     a3 = sp + 0x40;
    0x00005d2c sw zero, 4(a2)                |     *((a2 + 1)) = 0;
    0x00005d30 sw zero, 0xc(a2)              |     *((a2 + 3)) = 0;
    0x00005d34 sw zero, 0x10(a2)             |     *((a2 + 4)) = 0;
    0x00005d38 sw zero, 0x14(a2)             |     *((a2 + 5)) = 0;
    0x00005d3c sw zero, 0x18(a2)             |     *((a2 + 6)) = 0;
    0x00005d40 sw zero, 0x1c(a2)             |     *((a2 + 7)) = 0;
    0x00005d44 move a0, t2                   |     a0 = t2;
    0x00005d48 sw v0, 0x4c(sp)               |     *(var_4ch) = v0;
    0x00005d4c jalr t9                       |     t9 ();
    0x00005d50 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005d54 bnez v0, 0x5b48               |         goto label_0;
                                             |     }
    0x00005d58 lw t9, -0x7ee8(gp)            |     t9 = sym.imp.malloc;
    0x00005d5c addiu a0, zero, 0x94          |     a0 = 0x94;
    0x00005d60 jalr t9                       |     t9 ();
    0x00005d64 lw s0, 0x40(sp)               |     s0 = *(var_40h);
    0x00005d68 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005d6c addiu a3, zero, 0x80          |     a3 = 0x80;
    0x00005d70 lw v1, 0x10(s0)               |     v1 = *((s0 + 4));
    0x00005d74 lw t3, (s0)                   |     t3 = *(s0);
    0x00005d78 lw t2, 4(s0)                  |     t2 = *((s0 + 1));
    0x00005d7c lw t1, 8(s0)                  |     t1 = *((s0 + 2));
    0x00005d80 lw t0, 0xc(s0)                |     t0 = *((s0 + 3));
    0x00005d84 lw a1, 0x14(s0)               |     a1 = *((s0 + 5));
    0x00005d88 move a2, v1                   |     a2 = v1;
    0x00005d8c sw v1, 0x10(v0)               |     *((v0 + 4)) = v1;
    0x00005d90 lw v1, -0x7fd8(gp)            |     v1 = *((gp - 8182));
    0x00005d94 lw t9, -0x7ef0(gp)            |     t9 = sym.imp.__memcpy_chk;
    0x00005d98 addiu a0, v0, 0x14            |     a0 = v0 + 0x14;
    0x00005d9c sw t3, (v0)                   |     *(v0) = t3;
    0x00005da0 sw t2, 4(v0)                  |     *((v0 + 1)) = t2;
    0x00005da4 sw t1, 8(v0)                  |     *((v0 + 2)) = t1;
    0x00005da8 sw t0, 0xc(v0)                |     *((v0 + 3)) = t0;
    0x00005dac sw v0, -0x7e10(v1)            |     *((v1 - 8068)) = v0;
    0x00005db0 jalr t9                       |     t9 ();
    0x00005db4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005db8 move a0, s0                   |     a0 = s0;
    0x00005dbc lw t9, -0x7ec0(gp)            |     t9 = sym.imp.free;
    0x00005dc0 move s3, zero                 |     s3 = 0;
    0x00005dc4 jalr t9                       |     t9 ();
    0x00005dc8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005dcc b 0x5b48                      |     goto label_0;
                                             | label_20:
    0x00005dd0 lw v0, 0x34(sp)               |     v0 = *(var_34h);
    0x00005dd4 addiu a0, sp, 0x40            |     a0 = sp + 0x40;
    0x00005dd8 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00005ddc move t9, s0                   |     t9 = s0;
    0x00005de0 sw zero, 0x44(sp)             |     *(var_44h) = 0;
    0x00005de4 bal 0x1574                    |     fcn_00001574 ();
    0x00005de8 move s2, v0                   |     s2 = v0;
    0x00005dec lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005df0 beqz v0, 0x6018               |         goto label_30;
                                             |     }
    0x00005df4 lw t9, -0x7ee8(gp)            |     t9 = sym.imp.malloc;
    0x00005df8 addiu a0, zero, 0x90          |     a0 = 0x90;
    0x00005dfc jalr t9                       |     t9 ();
    0x00005e00 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005e04 move s0, v0                   |     s0 = v0;
    0x00005e08 move a0, v0                   |     a0 = v0;
    0x00005e0c lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00005e10 lw t9, -0x7fcc(gp)            |     t9 = sym.name_init;
    0x00005e14 sw s0, -0x7e14(v0)            |     *((v0 - 8069)) = s0;
    0x00005e18 bal 0x28e8                    |     sym_name_init ();
    0x00005e1c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005e20 addiu a1, zero, 0xff          |     a1 = 0xff;
    0x00005e24 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005e28 addiu t9, t9, 0x1ef4          |     t9 += fcn.00001ef4;
    0x00005e2c addiu a0, sp, 0x44            |     a0 = sp + 0x44;
    0x00005e30 bal 0x1ef4                    |     fcn_00001ef4 ();
    0x00005e34 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005e38 lw a3, 0x44(sp)               |     a3 = *(var_44h);
    0x00005e3c move a1, s2                   |     a1 = s2;
    0x00005e40 lw a2, -0x7f80(gp)            |     a2 = *((gp - 8160));
    0x00005e44 lw t9, -0x7f88(gp)            |     t9 = sym.name_from_text;
                                             |     /* section..data.rel.ro */
    0x00005e48 addiu a2, a2, 0x7f70          |     a2 += 0x7f70;
    0x00005e4c move a0, s0                   |     a0 = s0;
    0x00005e50 bal 0x2d80                    |     sym_name_from_text ();
    0x00005e54 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005e58 bnez v0, 0x5e94               |         goto label_14;
                                             |     }
    0x00005e5c lw t9, -0x7f84(gp)            |     t9 = sym.name_is_relative;
    0x00005e60 move a0, s0                   |     a0 = s0;
    0x00005e64 bal 0x2b9c                    |     sym_name_is_relative ();
    0x00005e68 move s3, v0                   |     s3 = v0;
    0x00005e6c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005e70 beqz v0, 0x5b48               |         goto label_0;
                                             |     }
    0x00005e74 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00005e78 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005e7c addiu t9, t9, 0x18a4          |     t9 += fcn.000018a4;
    0x00005e80 addiu a0, a0, 0x75f4          |     a0 += str.relative_name_not_implemented;
    0x00005e84 bal 0x18a4                    |     fcn_000018a4 ();
    0x00005e88 addiu s3, zero, -1            |     s3 = -1;
    0x00005e8c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005e90 b 0x5b48                      |     goto label_0;
                                             | label_14:
    0x00005e94 addiu s3, zero, -1            |     s3 = -1;
    0x00005e98 b 0x5b48                      |     goto label_0;
                                             | label_28:
    0x00005e9c lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00005ea0 lw s5, -0x7fdc(gp)            |     s5 = *((gp - 8183));
    0x00005ea4 addiu s5, s5, 0x1944          |     s5 += fcn.00001944;
    0x00005ea8 move t9, s5                   |     t9 = s5;
    0x00005eac lw a0, 0x40(v0)               |     a0 = *((v0 + 16));
    0x00005eb0 bal 0x1944                    |     fcn_00001944 ();
    0x00005eb4 move s7, v0                   |     s7 = v0;
    0x00005eb8 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005ebc beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005ec0 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00005ec4 move t9, s5                   |     t9 = s5;
    0x00005ec8 lw a0, 0x3c(v0)               |     a0 = *((v0 + 15));
    0x00005ecc bal 0x1944                    |     fcn_00001944 ();
    0x00005ed0 move s6, v0                   |     s6 = v0;
    0x00005ed4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005ed8 beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005edc lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00005ee0 move t9, s5                   |     t9 = s5;
    0x00005ee4 lw a0, 0x44(v0)               |     a0 = *((v0 + 17));
    0x00005ee8 bal 0x1944                    |     fcn_00001944 ();
    0x00005eec move s5, v0                   |     s5 = v0;
    0x00005ef0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005ef4 beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005ef8 move t9, s0                   |     t9 = s0;
    0x00005efc move a0, s4                   |     a0 = s4;
    0x00005f00 bal 0x1574                    |     fcn_00001574 ();
    0x00005f04 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00005f08 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005f0c beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005f10 lw t9, -0x7fcc(gp)            |     t9 = sym.name_init;
    0x00005f14 move a0, s6                   |     a0 = s6;
    0x00005f18 bal 0x28e8                    |     sym_name_init ();
    0x00005f1c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005f20 lw a3, 0x40(sp)               |     a3 = *(var_40h);
    0x00005f24 lw a1, 0x44(sp)               |     a1 = *(var_44h);
    0x00005f28 lw a2, -0x7f80(gp)            |     a2 = *((gp - 8160));
    0x00005f2c lw t9, -0x7f88(gp)            |     t9 = sym.name_from_text;
                                             |     /* section..data.rel.ro */
    0x00005f30 addiu a2, a2, 0x7f70          |     a2 += 0x7f70;
    0x00005f34 move a0, s6                   |     a0 = s6;
    0x00005f38 bal 0x2d80                    |     sym_name_from_text ();
    0x00005f3c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00005f40 bnez v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005f44 move t9, s0                   |     t9 = s0;
    0x00005f48 move a0, s4                   |     a0 = s4;
    0x00005f4c bal 0x1574                    |     fcn_00001574 ();
    0x00005f50 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00005f54 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005f58 beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005f5c lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005f60 addiu fp, sp, 0x44            |     fp = sp + 0x44;
    0x00005f64 addiu t9, t9, 0x1730          |     t9 += fcn.00001730;
    0x00005f68 move a0, fp                   |     a0 = fp;
    0x00005f6c bal 0x1730                    |     fcn_00001730 ();
    0x00005f70 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005f74 beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005f78 move t9, s0                   |     t9 = s0;
    0x00005f7c move a0, s4                   |     a0 = s4;
    0x00005f80 bal 0x1574                    |     fcn_00001574 ();
    0x00005f84 sw v0, 0x44(sp)               |     *(var_44h) = v0;
    0x00005f88 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00005f8c beqz v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00005f90 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005f94 addiu t9, t9, 0x17b8          |     t9 += fcn.000017b8;
    0x00005f98 move a0, fp                   |     a0 = fp;
    0x00005f9c bal 0x17b8                    |     fcn_000017b8 ();
    0x00005fa0 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005fa4 move a2, v0                   |     a2 = v0;
    0x00005fa8 addiu a1, zero, 0xfe          |     a1 = 0xfe;
    0x00005fac lw t9, -0x7fb8(gp)            |     t9 = sym.rdata_init;
    0x00005fb0 move a0, s7                   |     a0 = s7;
    0x00005fb4 move s0, v0                   |     s0 = v0;
    0x00005fb8 bal 0x38d0                    |     sym_rdata_init ();
    0x00005fbc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005fc0 move a2, s0                   |     a2 = s0;
    0x00005fc4 addiu a1, zero, 0xfe          |     a1 = 0xfe;
    0x00005fc8 lw t9, -0x7fb0(gp)            |     t9 = sym.rdataset_init;
    0x00005fcc move a0, s5                   |     a0 = s5;
    0x00005fd0 bal 0x43c0                    |     sym_rdataset_init ();
    0x00005fd4 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005fd8 move a1, s7                   |     a1 = s7;
    0x00005fdc lw t9, -0x7fac(gp)            |     t9 = sym.rdataset_add;
    0x00005fe0 move a0, s5                   |     a0 = s5;
    0x00005fe4 bal 0x4444                    |     sym_rdataset_add ();
    0x00005fe8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00005fec lw a0, -0x7e0c(s2)            |     a0 = *((s2 - 8067));
    0x00005ff0 move a3, s5                   |     a3 = s5;
    0x00005ff4 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00005ff8 move a2, s6                   |     a2 = s6;
    0x00005ffc addiu t9, t9, 0x15f0          |     t9 += fcn.000015f0;
    0x00006000 addiu a1, zero, 1             |     a1 = 1;
    0x00006004 bal 0x15f0                    |     fcn_000015f0 ();
    0x00006008 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000600c beqz v0, 0x5b48               |         goto label_0;
                                             |     }
    0x00006010 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00006014 b 0x5cac                      |     goto label_3;
                                             | label_30:
    0x00006018 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x0000601c sw zero, -0x7e14(v0)          |     *((v0 - 8069)) = 0;
    0x00006020 b 0x5b48                      |     goto label_0;
                                             | label_24:
    0x00006024 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00006028 lw s3, -0x7fdc(gp)            |     s3 = *((gp - 8183));
    0x0000602c addiu s3, s3, 0x1944          |     s3 += fcn.00001944;
    0x00006030 move t9, s3                   |     t9 = s3;
    0x00006034 lw a0, 0x40(v0)               |     a0 = *((v0 + 16));
    0x00006038 bal 0x1944                    |     fcn_00001944 ();
    0x0000603c move s5, v0                   |     s5 = v0;
    0x00006040 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00006044 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006048 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x0000604c move t9, s3                   |     t9 = s3;
    0x00006050 lw a0, 0x3c(v0)               |     a0 = *((v0 + 15));
    0x00006054 bal 0x1944                    |     fcn_00001944 ();
    0x00006058 move s4, v0                   |     s4 = v0;
    0x0000605c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00006060 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006064 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00006068 move t9, s3                   |     t9 = s3;
    0x0000606c lw a0, 0x44(v0)               |     a0 = *((v0 + 17));
    0x00006070 bal 0x1944                    |     fcn_00001944 ();
    0x00006074 move s6, v0                   |     s6 = v0;
    0x00006078 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x0000607c beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006080 addiu s3, sp, 0x38            |     s3 = sp + 0x38;
    0x00006084 move t9, s0                   |     t9 = s0;
    0x00006088 move a0, s3                   |     a0 = s3;
    0x0000608c bal 0x1574                    |     fcn_00001574 ();
    0x00006090 move s7, v0                   |     s7 = v0;
    0x00006094 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006098 sw v0, 0x40(sp)               |     *(var_40h) = v0;
                                             |     if (v0 == 0) {
    0x0000609c beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x000060a0 lw a1, -0x7fdc(gp)            |     a1 = *((gp - 8183));
    0x000060a4 lw t9, -0x7ea8(gp)            |     t9 = sym.imp.strcmp;
    0x000060a8 addiu a1, a1, 0x7584          |     a1 += 0x7584;
    0x000060ac move a0, v0                   |     a0 = v0;
    0x000060b0 jalr t9                       |     t9 ();
    0x000060b4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000060b8 beqz v0, 0x60e0               |         
    0x000060bc lw a1, -0x7fdc(gp)            |         a1 = *((gp - 8183));
    0x000060c0 lw t9, -0x7ea8(gp)            |         t9 = sym.imp.strcmp;
    0x000060c4 addiu a1, a1, 0x7588          |         a1 += str.delete;
    0x000060c8 move a0, s7                   |         a0 = s7;
    0x000060cc jalr t9                       |         t9 ();
    0x000060d0 lw gp, 0x10(sp)               |         gp = *(var_10h);
                                             |         if (v0 != 0) {
    0x000060d4 bnez v0, 0x6324               |             goto label_31;
                                             |         }
    0x000060d8 addiu v0, zero, 1             |         v0 = 1;
    0x000060dc sw v0, -0x7e24(fp)            |         *((fp - 8073)) = v0;
                                             |     }
    0x000060e0 move t9, s0                   |     t9 = s0;
    0x000060e4 move a0, s3                   |     a0 = s3;
    0x000060e8 bal 0x1574                    |     fcn_00001574 ();
    0x000060ec sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000060f0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000060f4 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x000060f8 lw t9, -0x7fcc(gp)            |     t9 = sym.name_init;
    0x000060fc move a0, s4                   |     a0 = s4;
    0x00006100 lw s7, -0x7f80(gp)            |     s7 = *((gp - 8160));
    0x00006104 sw t9, 0x20(sp)               |     *(var_20h_2) = t9;
    0x00006108 bal 0x28e8                    |     sym_name_init ();
    0x0000610c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006110 lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
    0x00006114 lw a1, 0x40(sp)               |     a1 = *(var_40h);
    0x00006118 lw t9, -0x7f88(gp)            |     t9 = sym.name_from_text;
                                             |     /* section..data.rel.ro */
    0x0000611c addiu a2, s7, 0x7f70          |     a2 = s7 + 0x7f70;
    0x00006120 sw t9, 0x1c(sp)               |     *(var_1ch_2) = t9;
    0x00006124 move a0, s4                   |     a0 = s4;
    0x00006128 bal 0x2d80                    |     sym_name_from_text ();
    0x0000612c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00006130 bnez v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006134 lw v0, -0x7fd8(gp)            |     v0 = *((gp - 8182));
    0x00006138 lw v1, -0x7e1c(v0)            |     v1 = *((v0 - 8071));
                                             |     if (v1 != 0) {
    0x0000613c beql v1, zero, 0x6144         |         
    0x00006140 sw s4, -0x7e1c(v0)            |         *((v0 - 8071)) = s4;
                                             |     }
    0x00006144 lw t9, -0x7f44(gp)            |     t9 = sym.imp.strtol;
    0x00006148 lw a0, 0x38(sp)               |     a0 = *(var_38h);
    0x0000614c addiu a2, zero, 0xa           |     a2 = 0xa;
    0x00006150 move a1, s3                   |     a1 = s3;
    0x00006154 jalr t9                       |     t9 ();
    0x00006158 lw fp, -0x7e24(fp)            |     fp = *(var_7e24h);
    0x0000615c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006160 sw v0, 0x24(sp)               |     *(var_24h_2) = v0;
                                             |     if (fp != 0) {
    0x00006164 beqz fp, 0x6170               |         
    0x00006168 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
                                             |         if (v0 == 0) {
    0x0000616c bnel v0, zero, 0x6444         |             goto label_32;
                                             |         }
                                             |     }
    0x00006170 move t9, s0                   |     t9 = s0;
    0x00006174 move a0, s3                   |     a0 = s3;
    0x00006178 bal 0x1574                    |     fcn_00001574 ();
    0x0000617c sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00006180 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00006184 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006188 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x0000618c addiu v1, sp, 0x40            |     v1 = sp + 0x40;
    0x00006190 move a0, v1                   |     a0 = v1;
    0x00006194 addiu t9, t9, 0x1730          |     t9 += fcn.00001730;
    0x00006198 sw v1, 0x2c(sp)               |     *(var_2ch_2) = v1;
    0x0000619c bal 0x1730                    |     fcn_00001730 ();
    0x000061a0 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x000061a4 move t9, s0                   |     t9 = s0;
    0x000061a8 move a0, s3                   |     a0 = s3;
    0x000061ac bal 0x1574                    |     fcn_00001574 ();
    0x000061b0 sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x000061b4 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x000061b8 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x000061bc lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x000061c0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
    0x000061c4 addiu t9, t9, 0x17b8          |     t9 += fcn.000017b8;
    0x000061c8 move a0, v1                   |     a0 = v1;
    0x000061cc bal 0x17b8                    |     fcn_000017b8 ();
    0x000061d0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (fp == 0) {
    0x000061d4 beqz fp, 0x6340               |         goto label_33;
                                             |     }
    0x000061d8 lw t9, -0x7fb8(gp)            |     t9 = sym.rdata_init;
    0x000061dc move a2, v0                   |     a2 = v0;
    0x000061e0 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x000061e4 addiu a1, zero, 0xff          |     a1 = 0xff;
    0x000061e8 move a0, s5                   |     a0 = s5;
    0x000061ec bal 0x38d0                    |     sym_rdata_init ();
    0x000061f0 move t9, s0                   |     t9 = s0;
    0x000061f4 move a0, s3                   |     a0 = s3;
    0x000061f8 bal 0x1574                    |     fcn_00001574 ();
    0x000061fc sw v0, 0x40(sp)               |     *(var_40h) = v0;
    0x00006200 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006204 lw v1, 0x28(sp)               |     v1 = *(var_28h_2);
                                             |     if (v0 == 0) {
    0x00006208 beqz v0, 0x651c               |         goto label_34;
                                             |     }
    0x0000620c addiu v0, zero, 0xc           |     v0 = 0xc;
    0x00006210 addiu v0, zero, 0x1c          |     v0 = 0x1c;
                                             |     if (v1 == v0) {
    0x00006214 beq v1, v0, 0x6478            |         goto label_35;
                                             |     }
    0x00006218 addiu v0, zero, 1             |     v0 = 1;
                                             |     if (v1 == v0) {
    0x0000621c beq v1, v0, 0x645c            |         goto label_11;
                                             |     }
    0x00006220 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     if (v1 == v0) {
    0x00006224 beq v1, v0, 0x6460            |         goto label_36;
                                             |     }
    0x00006228 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             | label_8:
    0x0000622c lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00006230 move a1, v1                   |     a1 = v1;
    0x00006234 addiu t9, t9, 0x18a4          |     t9 += fcn.000018a4;
    0x00006238 addiu a0, a0, 0x75d4          |     a0 += str.unknown_RDATA_type__d;
    0x0000623c bal 0x18a4                    |     fcn_000018a4 ();
    0x00006240 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006244 b 0x5bc4                      |     goto label_4;
                                             | label_23:
    0x00006248 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x0000624c move a1, zero                 |     a1 = 0;
    0x00006250 addiu t9, t9, 0x25b4          |     t9 += fcn.000025b4;
    0x00006254 addiu a0, s2, -0x7e0c         |     a0 = s2 + -0x7e0c;
    0x00006258 bal 0x25b4                    |     fcn_000025b4 ();
    0x0000625c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00006260 bnez v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x00006264 lw v1, -0x7e0c(s2)            |     v1 = *((s2 - 8067));
    0x00006268 addiu a0, zero, -0x7801       |     a0 = -0x7801;
    0x0000626c lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x00006270 and v0, v0, a0                |     v0 &= a0;
    0x00006274 ori v0, v0, 0x2800            |     v0 |= 0x2800;
    0x00006278 sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x0000627c b 0x5ba8                      |     goto label_5;
                                             | label_27:
    0x00006280 move a1, zero                 |     a1 = 0;
    0x00006284 addiu t9, t9, 0x25b4          |     t9 += fcn.000025b4;
    0x00006288 addiu a0, s2, -0x7e0c         |     a0 = s2 + -0x7e0c;
    0x0000628c bal 0x25b4                    |     fcn_000025b4 ();
    0x00006290 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x00006294 bnez v0, 0x5ca8               |         goto label_2;
                                             |     }
    0x00006298 lw v1, -0x7e0c(s2)            |     v1 = *((s2 - 8067));
    0x0000629c addiu a0, zero, -0x7801       |     a0 = -0x7801;
    0x000062a0 lw v0, 8(v1)                  |     v0 = *((v1 + 2));
    0x000062a4 and v0, v0, a0                |     v0 &= a0;
    0x000062a8 ori v0, v0, 0x2800            |     v0 |= 0x2800;
    0x000062ac sw v0, 8(v1)                  |     *((v1 + 2)) = v0;
    0x000062b0 b 0x5c8c                      |     goto label_6;
                                             | label_29:
    0x000062b4 lw v0, -0x7fdc(gp)            |     v0 = *((gp - 8183));
    0x000062b8 addiu v0, v0, 0x707c          |     v0 += 0x707c;
    0x000062bc b 0x5d14                      |     goto label_7;
                                             | label_26:
    0x000062c0 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x000062c4 addiu a0, a0, 0x7560          |     a0 += str.prerequisite_not_understood;
                                             |     do {
    0x000062c8 lw t9, -0x7fdc(gp)            |         t9 = *((gp - 8183));
    0x000062cc addiu t9, t9, 0x18a4          |         t9 += fcn.000018a4;
    0x000062d0 bal 0x18a4                    |         fcn_000018a4 ();
    0x000062d4 nop                           |         
    0x000062d8 lw gp, 0x10(sp)               |         gp = *(var_10h);
    0x000062dc lw s2, -0x7fd8(gp)            |         s2 = *((gp - 8182));
    0x000062e0 b 0x5ca8                      |         goto label_2;
                                             | label_25:
    0x000062e4 lw a0, -0x7fdc(gp)            |         a0 = *((gp - 8183));
    0x000062e8 addiu a0, a0, 0x7544          |         a0 += str.bad_prerequisite;
    0x000062ec b 0x62c8                      |         
                                             |     } while (1);
                                             | label_16:
    0x000062f0 addiu s3, zero, -2            |     s3 = -2;
    0x000062f4 b 0x5b48                      |     goto label_0;
                                             | label_21:
    0x000062f8 lw v0, -0x7ebc(gp)            |     v0 = *((gp - 8111));
    0x000062fc lw a2, -0x7fdc(gp)            |     a2 = *((gp - 8183));
    0x00006300 lw t9, -0x7f3c(gp)            |     t9 = sym.imp.__fprintf_chk
    0x00006304 lw a0, (v0)                   |     a0 = *(v0);
    0x00006308 move a3, s2                   |     a3 = s2;
    0x0000630c addiu a2, a2, 0x761c          |     a2 += str.incorrect_section_name:__s_n;
    0x00006310 addiu a1, zero, 1             |     a1 = 1;
    0x00006314 jalr t9                       |     t9 ();
    0x00006318 addiu s3, zero, -1            |     s3 = -1;
    0x0000631c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006320 b 0x5b48                      |     goto label_0;
                                             | label_31:
    0x00006324 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
    0x00006328 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x0000632c addiu t9, t9, 0x18a4          |     t9 += fcn.000018a4;
    0x00006330 addiu a0, a0, 0x7590          |     a0 += str.unknown_update_command;
    0x00006334 bal 0x18a4                    |     fcn_000018a4 ();
    0x00006338 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x0000633c b 0x5bc4                      |     goto label_4;
                                             | label_33:
    0x00006340 lw t9, -0x7fb8(gp)            |     t9 = sym.rdata_init;
    0x00006344 lw a1, 0x28(sp)               |     a1 = *(var_28h_2);
    0x00006348 move a2, v0                   |     a2 = v0;
    0x0000634c sw v0, 0x2c(sp)               |     *(var_2ch_2) = v0;
    0x00006350 move a0, s5                   |     a0 = s5;
    0x00006354 bal 0x38d0                    |     sym_rdata_init ();
    0x00006358 move t9, s0                   |     t9 = s0;
    0x0000635c move a0, s3                   |     a0 = s3;
    0x00006360 bal 0x1574                    |     fcn_00001574 ();
    0x00006364 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
    0x00006368 addiu a0, zero, 0xc           |     a0 = 0xc;
    0x0000636c lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006370 sw v0, 0x40(sp)               |     *(var_40h) = v0;
                                             |     if (v1 == a0) {
    0x00006374 beq v1, a0, 0x6480            |         goto label_37;
                                             |     }
    0x00006378 addiu a0, zero, 0x1c          |     a0 = 0x1c;
    0x0000637c addiu a0, zero, 1             |     a0 = 1;
                                             |     if (v1 == a0) {
    0x00006380 beq v1, a0, 0x64e8            |         goto label_38;
                                             |     }
    0x00006384 lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             |     if (v1 != a0) {
    0x00006388 bne v1, a0, 0x622c            |         goto label_8;
                                             |     }
    0x0000638c lw a0, 0x28(sp)               |     a0 = *(var_28h_2);
    0x00006390 lw t9, -0x7ec4(gp)            |     t9 = sym.imp.inet_pton;
                                             |     if (a0 != v1) {
    0x00006394 bne a0, v1, 0x645c            |         goto label_11;
                                             |     }
    0x00006398 addiu s0, sp, 0x44            |     s0 = sp + 0x44;
    0x0000639c sw v1, 0x1c(sp)               |     *(var_1ch_2) = v1;
    0x000063a0 move a2, s0                   |     a2 = s0;
    0x000063a4 move a1, v0                   |     a1 = v0;
    0x000063a8 addiu a0, zero, 2             |     a0 = 2;
    0x000063ac jalr t9                       |     t9 ();
    0x000063b0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 <= 0) {
    0x000063b4 blez v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x000063b8 lw v0, 0x44(sp)               |     v0 = *(var_44h);
    0x000063bc lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
                                             |     if (v0 == 0) {
    0x000063c0 beqz v0, 0x5bc8               |         goto label_9;
                                             |     }
                                             | label_12:
    0x000063c4 lw t9, -0x7f7c(gp)            |     t9 = sym.rdata_from_struct;
    0x000063c8 lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000063cc move a2, s0                   |     a2 = s0;
    0x000063d0 move a0, s5                   |     a0 = s5;
    0x000063d4 bal 0x3c3c                    |     sym_rdata_from_struct ();
    0x000063d8 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000063dc lw v1, 0x1c(sp)               |     v1 = *(var_1ch_2);
                                             | label_10:
    0x000063e0 lw v0, 0x24(sp)               |     v0 = *(var_24h_2);
    0x000063e4 lw t9, -0x7fb0(gp)            |     t9 = sym.rdataset_init;
    0x000063e8 lw a1, 0x28(sp)               |     a1 = *(var_28h_2);
    0x000063ec move a2, v1                   |     a2 = v1;
    0x000063f0 move a0, s6                   |     a0 = s6;
    0x000063f4 sw v0, 4(s5)                  |     *((s5 + 1)) = v0;
    0x000063f8 bal 0x43c0                    |     sym_rdataset_init ();
    0x000063fc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006400 move a1, s5                   |     a1 = s5;
    0x00006404 lw t9, -0x7fac(gp)            |     t9 = sym.rdataset_add;
    0x00006408 move a0, s6                   |     a0 = s6;
    0x0000640c bal 0x4444                    |     sym_rdataset_add ();
    0x00006410 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006414 lw a0, -0x7e0c(s2)            |     a0 = *((s2 - 8067));
    0x00006418 move a3, s6                   |     a3 = s6;
    0x0000641c lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00006420 move a2, s4                   |     a2 = s4;
    0x00006424 addiu t9, t9, 0x15f0          |     t9 += fcn.000015f0;
    0x00006428 addiu a1, zero, 2             |     a1 = 2;
    0x0000642c bal 0x15f0                    |     fcn_000015f0 ();
    0x00006430 move s3, v0                   |     s3 = v0;
    0x00006434 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00006438 beqz v0, 0x5b48               |         goto label_0;
                                             |     }
    0x0000643c lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00006440 b 0x5bc8                      |     goto label_9;
                                             | label_32:
    0x00006444 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00006448 addiu t9, t9, 0x18a4          |     t9 += fcn.000018a4;
    0x0000644c addiu a0, a0, 0x75a8          |     a0 += str.TTL_must_be_zero;
    0x00006450 bal 0x18a4                    |     fcn_000018a4 ();
    0x00006454 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006458 b 0x5bc4                      |     goto label_4;
                                             | label_11:
    0x0000645c lw a0, -0x7fdc(gp)            |     a0 = *((gp - 8183));
                                             | label_36:
    0x00006460 lw t9, -0x7fdc(gp)            |     t9 = *((gp - 8183));
    0x00006464 addiu t9, t9, 0x18a4          |     t9 += fcn.000018a4;
    0x00006468 addiu a0, a0, 0x75bc          |     a0 += str.only_class_IN_supported;
    0x0000646c bal 0x18a4                    |     fcn_000018a4 ();
    0x00006470 lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x00006474 b 0x5bc4                      |     goto label_4;
                                             | label_35:
    0x00006478 addiu v0, zero, 0xff          |     v0 = 0xff;
    0x0000647c sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
                                             | label_37:
    0x00006480 lw t9, -0x7ee8(gp)            |     t9 = sym.imp.malloc;
    0x00006484 sw v1, 0x2c(sp)               |     *(var_2ch_2) = v1;
    0x00006488 addiu a0, zero, 0x90          |     a0 = 0x90;
    0x0000648c jalr t9                       |     t9 ();
    0x00006490 move s0, v0                   |     s0 = v0;
    0x00006494 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 == 0) {
    0x00006498 beqz v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x0000649c lw t9, 0x20(sp)               |     t9 = *(var_20h_2);
    0x000064a0 move a0, v0                   |     a0 = v0;
    0x000064a4 jalr t9                       |     t9 ();
    0x000064a8 lw a3, 0x3c(sp)               |     a3 = *(var_3ch);
    0x000064ac lw a1, 0x40(sp)               |     a1 = *(var_40h);
    0x000064b0 lw t9, 0x1c(sp)               |     t9 = *(var_1ch_2);
                                             |     /* section..data.rel.ro */
    0x000064b4 addiu a2, s7, 0x7f70          |     a2 = s7 + 0x7f70;
    0x000064b8 move a0, s0                   |     a0 = s0;
    0x000064bc jalr t9                       |     t9 ();
    0x000064c0 lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 != 0) {
    0x000064c4 bnez v0, 0x5bc4               |         goto label_4;
                                             |     }
    0x000064c8 lw t9, -0x7f7c(gp)            |     t9 = sym.rdata_from_struct;
    0x000064cc lw a1, 0x3c(sp)               |     a1 = *(var_3ch);
    0x000064d0 move a2, s0                   |     a2 = s0;
    0x000064d4 move a0, s5                   |     a0 = s5;
    0x000064d8 bal 0x3c3c                    |     sym_rdata_from_struct ();
    0x000064dc lw gp, 0x10(sp)               |     gp = *(var_10h);
    0x000064e0 lw v1, 0x2c(sp)               |     v1 = *(var_2ch_2);
    0x000064e4 b 0x63e0                      |     goto label_10;
                                             | label_38:
    0x000064e8 lw a1, 0x28(sp)               |     a1 = *(var_28h_2);
    0x000064ec lw t9, -0x7ec4(gp)            |     t9 = sym.imp.inet_pton;
                                             |     if (a1 != a0) {
    0x000064f0 bne a1, a0, 0x645c            |         goto label_11;
                                             |     }
    0x000064f4 addiu s0, sp, 0x64            |     s0 = sp + 0x64;
    0x000064f8 sw v1, 0x1c(sp)               |     *(var_1ch_2) = v1;
    0x000064fc move a2, s0                   |     a2 = s0;
    0x00006500 move a1, v0                   |     a1 = v0;
    0x00006504 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00006508 jalr t9                       |     t9 ();
    0x0000650c lw gp, 0x10(sp)               |     gp = *(var_10h);
                                             |     if (v0 > 0) {
    0x00006510 bgtz v0, 0x63c4               |         goto label_12;
                                             |     }
    0x00006514 lw v0, -0x7e0c(s2)            |     v0 = *((s2 - 8067));
    0x00006518 b 0x5bc8                      |     goto label_9;
                                             | label_34:
    0x0000651c addiu v0, zero, 0xff          |     v0 = 0xff;
    0x00006520 sw v0, 0x28(sp)               |     *(var_28h_2) = v0;
    0x00006524 b 0x63e0                      |     goto label_10;
                                             | label_22:
    0x00006528 lw t9, -0x7ee0(gp)            |     t9 = sym.imp.__stack_chk_fail;
    0x0000652c jalr t9                       |     t9 ();
    0x00006530 nop                           |     
    0x00006534 nop                           |     
    0x00006538 nop                           |     
    0x0000653c nop                           |     
                                             | }

[*] Function fprintf used 2 times dnsupdate