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