[*] Binary protection state of libresolv-2.27.so
Partial RELRO No Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function popen tear down of libresolv-2.27.so
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/libresolv-2.27.so @ 0xbd28 */
| #include <stdint.h>
|
; (fcn) fcn.0000bd28 () | void fcn_0000bd28 () {
0x0000bd28 lui gp, 2 |
0x0000bd2c addiu gp, gp, -0x1ce8 |
0x0000bd30 addu gp, gp, t9 | gp += t9;
0x0000bd34 addiu sp, sp, -0x28 |
0x0000bd38 lw v0, (a3) | v0 = *(a3);
0x0000bd3c sw gp, 0x10(sp) | *(var_10h) = gp;
0x0000bd40 sltu v0, a1, v0 | v0 = (a1 < v0) ? 1 : 0;
0x0000bd44 sw ra, 0x24(sp) | *(var_24h) = ra;
0x0000bd48 sw s2, 0x20(sp) | *(var_20h) = s2;
0x0000bd4c sw s1, 0x1c(sp) | *(var_1ch) = s1;
0x0000bd50 sw s0, 0x18(sp) | *(var_18h) = s0;
0x0000bd54 lw t9, -0x7e30(gp) | t9 = *((gp - 8076));
| if (v0 == 0) {
0x0000bd58 beqz v0, 0xbdc0 | goto label_0;
| }
0x0000bd5c move v0, a0 | v0 = a0;
0x0000bd60 move s2, a3 | s2 = a3;
0x0000bd64 lw a0, (a2) | a0 = *(a2);
0x0000bd68 move s0, a1 | s0 = a1;
0x0000bd6c move s1, a2 | s1 = a2;
0x0000bd70 move a2, a1 | a2 = a1;
0x0000bd74 move a1, v0 | a1 = v0;
0x0000bd78 jalr t9 | t9 ();
0x0000bd7c lw v0, (s2) | v0 = *(s2);
0x0000bd80 sltu v1, v0, s0 | v1 = (v0 < s0) ? 1 : 0;
0x0000bd84 lw gp, 0x10(sp) | gp = *(var_10h);
| if (v1 != 0) {
0x0000bd88 bnez v1, 0xbddc | goto label_1;
| }
0x0000bd8c lw a1, (s1) | a1 = *(s1);
0x0000bd90 subu v1, v0, s0 | __asm ("subu v1, v0, s0");
0x0000bd94 addu s0, a1, s0 | s0 = a1 + s0;
0x0000bd98 sw s0, (s1) | *(s1) = s0;
0x0000bd9c move v0, zero | v0 = 0;
0x0000bda0 sw v1, (s2) | *(s2) = v1;
0x0000bda4 sb zero, (s0) | *(s0) = 0;
| do {
0x0000bda8 lw ra, 0x24(sp) | ra = *(var_24h);
0x0000bdac lw s2, 0x20(sp) | s2 = *(var_20h);
0x0000bdb0 lw s1, 0x1c(sp) | s1 = *(var_1ch);
0x0000bdb4 lw s0, 0x18(sp) | s0 = *(var_18h);
0x0000bdb8 addiu sp, sp, 0x28 |
0x0000bdbc jr ra | return v0;
| label_0:
0x0000bdc0 lw v0, -0x7e04(gp) | v0 = *((gp - 8065));
0x0000bdc4 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0000bdc8 addu v0, v0, v1 | v0 += v1;
0x0000bdcc addiu v1, zero, 0x1c | v1 = 0x1c;
0x0000bdd0 sw v1, (v0) | *(v0) = v1;
0x0000bdd4 addiu v0, zero, -1 | v0 = -1;
0x0000bdd8 b 0xbda8 |
| } while (1);
| label_1:
0x0000bddc lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000bde0 addiu t9, t9, 0x24f0 | t9 += entry0;
0x0000bde4 bal 0x24f0 | entry0 ();
0x0000bde8 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/libresolv-2.27.so @ 0xbfc0 */
| #include <stdint.h>
|
; (fcn) fcn.0000bfc0 () | void fcn_0000bfc0 () {
0x0000bfc0 lui gp, 2 |
0x0000bfc4 addiu gp, gp, -0x1f80 |
0x0000bfc8 addu gp, gp, t9 | gp += t9;
0x0000bfcc addiu sp, sp, -0x40 |
0x0000bfd0 lw t9, -0x7fd0(gp) | t9 = *((gp - 8180));
0x0000bfd4 sw s1, 0x24(sp) | *(var_24h) = s1;
0x0000bfd8 sw s0, 0x20(sp) | *(var_20h) = s0;
0x0000bfdc lw s1, 0x54(sp) | s1 = *(arg_54h);
0x0000bfe0 lw s0, 0x50(sp) | s0 = *(arg_50h);
0x0000bfe4 sw s5, 0x34(sp) | *(var_34h) = s5;
0x0000bfe8 sw s4, 0x30(sp) | *(var_30h) = s4;
0x0000bfec lw s5, (s0) | s5 = *(s0);
0x0000bff0 lw s4, (s1) | s4 = *(s1);
0x0000bff4 sw s2, 0x28(sp) | *(var_28h) = s2;
0x0000bff8 move s2, a2 | s2 = a2;
0x0000bffc lw a2, (a2) | a2 = *(a2);
0x0000c000 sw gp, 0x18(sp) | *(var_18h) = gp;
0x0000c004 sw s6, 0x38(sp) | *(var_38h) = s6;
0x0000c008 sw ra, 0x3c(sp) | *(var_3ch) = ra;
0x0000c00c sw s3, 0x2c(sp) | *(var_2ch) = s3;
0x0000c010 move s6, a3 | s6 = a3;
0x0000c014 sw s4, 0x10(sp) | *(var_10h) = s4;
0x0000c018 move a3, s5 | a3 = s5;
0x0000c01c addu a1, a0, a1 | a1 = a0 + a1;
0x0000c020 bal 0x2674 | sym_dn_expand ();
0x0000c024 lw gp, 0x18(sp) | gp = *(var_18h);
| if (v0 < 0) {
0x0000c028 bltz v0, 0xc160 | goto label_4;
| }
0x0000c02c lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000c030 lw a0, (s0) | a0 = *(s0);
0x0000c034 move a1, s6 | a1 = s6;
0x0000c038 addiu t9, t9, -0x4400 | t9 += -0x4400;
0x0000c03c move s3, v0 | s3 = v0;
0x0000c040 bal 0xbc00 | fcn_0000bc00 ();
0x0000c044 lw a0, (s0) | a0 = *(s0);
0x0000c048 lb v1, (a0) | v1 = *(a0);
0x0000c04c lw gp, 0x18(sp) | gp = *(var_18h);
| if (v1 == 0) {
0x0000c050 beqz v1, 0xc0d4 | goto label_5;
| }
0x0000c054 lw v1, (s1) | v1 = *(s1);
| if (v0 != 0) {
0x0000c058 bnez v0, 0xc108 | goto label_6;
| }
0x0000c05c sltiu v1, v1, 2 | v1 = (v1 < 2) ? 1 : 0;
0x0000c060 lw v0, -0x7e04(gp) | v0 = *((gp - 8065));
| if (v1 != 0) {
0x0000c064 bnez v1, 0xc164 | goto label_7;
| }
0x0000c068 addiu v0, zero, 0x40 | v0 = 0x40;
0x0000c06c sb v0, (a0) | *(a0) = v0;
0x0000c070 lw v1, (s0) | v1 = *(s0);
0x0000c074 addiu v0, zero, 1 | v0 = 1;
0x0000c078 sb zero, 1(v1) | *((v1 + 1)) = 0;
0x0000c07c lw v1, (s1) | v1 = *(s1);
| do {
| label_0:
0x0000c080 lw a1, (s2) | a1 = *(s2);
| label_2:
0x0000c084 sltu a0, v1, v0 | a0 = (v1 < v0) ? 1 : 0;
0x0000c088 addu s3, a1, s3 | s3 = a1 + s3;
0x0000c08c sw s3, (s2) | *(s2) = s3;
| if (a0 != 0) {
0x0000c090 bnez a0, 0xc184 | goto label_8;
| }
0x0000c094 lw a0, (s0) | a0 = *(s0);
0x0000c098 subu v1, v1, v0 | __asm ("subu v1, v1, v0");
0x0000c09c addu a0, a0, v0 | a0 += v0;
0x0000c0a0 sw a0, (s0) | *(s0) = a0;
0x0000c0a4 sw v1, (s1) | *(s1) = v1;
0x0000c0a8 sb zero, (a0) | *(a0) = 0;
| label_3:
0x0000c0ac lw ra, 0x3c(sp) | ra = *(var_3ch);
0x0000c0b0 lw s6, 0x38(sp) | s6 = *(var_38h);
0x0000c0b4 lw s5, 0x34(sp) | s5 = *(var_34h);
0x0000c0b8 lw s4, 0x30(sp) | s4 = *(var_30h);
0x0000c0bc lw s3, 0x2c(sp) | s3 = *(var_2ch);
0x0000c0c0 lw s2, 0x28(sp) | s2 = *(var_28h);
0x0000c0c4 lw s1, 0x24(sp) | s1 = *(var_24h);
0x0000c0c8 lw s0, 0x20(sp) | s0 = *(var_20h);
0x0000c0cc addiu sp, sp, 0x40 |
0x0000c0d0 jr ra | return v0;
| label_5:
0x0000c0d4 lw v1, (s1) | v1 = *(s1);
| label_1:
0x0000c0d8 addiu a1, v0, 2 | a1 = v0 + 2;
0x0000c0dc sltu v1, v1, a1 | v1 = (v1 < a1) ? 1 : 0;
0x0000c0e0 addu a0, a0, v0 | a0 += v0;
| if (v1 != 0) {
0x0000c0e4 bnez v1, 0xc160 | goto label_4;
| }
0x0000c0e8 addiu v1, zero, 0x2e | v1 = 0x2e;
0x0000c0ec sb v1, (a0) | *(a0) = v1;
0x0000c0f0 lw v1, (s0) | v1 = *(s0);
0x0000c0f4 addiu v0, v0, 1 | v0++;
0x0000c0f8 addu v1, v1, v0 | v1 += v0;
0x0000c0fc sb zero, (v1) | *(v1) = 0;
0x0000c100 lw v1, (s1) | v1 = *(s1);
0x0000c104 b 0xc080 |
| } while (1);
| label_6:
0x0000c108 addu a1, a0, v0 | a1 = a0 + v0;
| if (s6 == 0) {
0x0000c10c beqz s6, 0xc148 | goto label_9;
| }
0x0000c110 lb a1, (s6) | a1 = *(s6);
0x0000c114 addiu a2, zero, 0x2e | a2 = 0x2e;
| if (a1 == 0) {
0x0000c118 beqz a1, 0xc144 | goto label_10;
| }
| if (a1 == a2) {
0x0000c11c beq a1, a2, 0xc080 | goto label_0;
| }
0x0000c120 nop |
0x0000c124 lb a1, 1(s6) | a1 = *((s6 + 1));
0x0000c128 addu a1, a0, v0 | a1 = a0 + v0;
| if (a1 == 0) {
0x0000c12c beqz a1, 0xc080 | goto label_0;
| }
0x0000c130 lb a2, (a1) | a2 = *(a1);
| if (a2 != 0) {
0x0000c134 bnez a2, 0xc080 | goto label_0;
| }
0x0000c138 nop |
0x0000c13c lb a2, -1(a1) | a2 = *((a1 - 1));
0x0000c140 b 0xc14c | goto label_11;
| label_10:
0x0000c144 addu a1, a0, v0 | a1 = a0 + v0;
| label_9:
0x0000c148 lb a2, -1(a1) | a2 = *((a1 - 1));
| label_11:
0x0000c14c addiu a1, zero, 0x2e | a1 = 0x2e;
| if (a2 != a1) {
0x0000c150 bne a2, a1, 0xc0d8 | goto label_1;
| }
0x0000c154 nop |
0x0000c158 lw a1, (s2) | a1 = *(s2);
0x0000c15c b 0xc084 | goto label_2;
| label_4:
0x0000c160 lw v0, -0x7e04(gp) | v0 = *((gp - 8065));
| label_7:
0x0000c164 rdhwr v1, 29 | __asm ("rdhwr v1, 29");
0x0000c168 addu v0, v0, v1 | v0 += v1;
0x0000c16c addiu v1, zero, 0x1c | v1 = 0x1c;
0x0000c170 sw v1, (v0) | *(v0) = v1;
0x0000c174 sw s5, (s0) | *(s0) = s5;
0x0000c178 addiu v0, zero, -1 | v0 = -1;
0x0000c17c sw s4, (s1) | *(s1) = s4;
0x0000c180 b 0xc0ac | goto label_3;
| label_8:
0x0000c184 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000c188 addiu t9, t9, 0x24f0 | t9 += entry0;
0x0000c18c bal 0x24f0 | entry0 ();
0x0000c190 nop |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/unblob_extracted/firmware_extract/1568982-13971496.squashfs_v4_le_extract/lib/libresolv-2.27.so @ 0xc2fc */
| #include <stdint.h>
|
; (fcn) sym.ns_sprintrrf () | void ns_sprintrrf () {
0x0000c2fc lui gp, 2 |
0x0000c300 addiu gp, gp, -0x22bc |
0x0000c304 addu gp, gp, t9 | gp += t9;
0x0000c308 addiu sp, sp, -0x20f0 |
0x0000c30c lw v1, 0x2118(sp) | v1 = *(arg_2118h);
0x0000c310 sw a0, 0x20f0(sp) | *(arg_20f0h) = a0;
0x0000c314 sw v1, 0x20c4(sp) | *(arg_20c4h) = v1;
0x0000c318 lw a0, 0x210c(sp) | a0 = *(arg_210ch);
0x0000c31c lw v1, 0x2108(sp) | v1 = *(arg_2108h);
0x0000c320 lw v0, 0x2110(sp) | v0 = *(arg_2110h);
0x0000c324 sw gp, 0x18(sp) | *(arg_18h) = gp;
0x0000c328 addu v1, v1, a0 | v1 += a0;
0x0000c32c sw s5, 0x20dc(sp) | *(arg_20dch) = s5;
0x0000c330 sw s3, 0x20d4(sp) | *(arg_20d4h) = s3;
0x0000c334 sw s0, 0x20c8(sp) | *(arg_20c8h) = s0;
0x0000c338 sw ra, 0x20ec(sp) | *(arg_20ech) = ra;
0x0000c33c sw fp, 0x20e8(sp) | *(arg_20e8h) = fp;
0x0000c340 sw s7, 0x20e4(sp) | *(arg_20e4h) = s7;
0x0000c344 sw s6, 0x20e0(sp) | *(arg_20e0h) = s6;
0x0000c348 sw s4, 0x20d8(sp) | *(arg_20d8h) = s4;
0x0000c34c sw s2, 0x20d0(sp) | *(arg_20d0h) = s2;
0x0000c350 sw s1, 0x20cc(sp) | *(arg_20cch) = s1;
0x0000c354 sw a1, 0x20f4(sp) | *(arg_20f4h) = a1;
0x0000c358 move s0, a2 | s0 = a2;
0x0000c35c move s3, a3 | s3 = a3;
0x0000c360 lw s5, 0x2100(sp) | s5 = *(arg_2100h);
0x0000c364 sw v1, 0x20b4(sp) | *(arg_20b4h) = v1;
| if (v0 != 0) {
0x0000c368 beqz v0, 0xc388 |
0x0000c36c lw t9, -0x7fd4(gp) | t9 = *((gp - 8181));
0x0000c370 move a1, a2 | a1 = a2;
0x0000c374 move a0, v0 | a0 = v0;
0x0000c378 bal 0xdf58 | sym_ns_samename ();
0x0000c37c addiu v1, zero, 1 | v1 = 1;
0x0000c380 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 == v1) {
0x0000c384 beq v0, v1, 0xc970 | goto label_14;
| }
| }
0x0000c388 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000c38c lw a1, 0x2114(sp) | a1 = *(arg_2114h);
0x0000c390 addiu t9, t9, -0x4400 | t9 += -0x4400;
0x0000c394 move a0, s0 | a0 = s0;
0x0000c398 bal 0xbc00 | fcn_0000bc00 ();
0x0000c39c lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000c3a0 lb v1, (s0) | v1 = *(s0);
0x0000c3a4 move s1, v0 | s1 = v0;
0x0000c3a8 move s2, v0 | s2 = v0;
0x0000c3ac lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000c3b0 addiu fp, sp, 0x211c | fp = sp + 0x211c;
0x0000c3b4 addiu s7, sp, 0x2118 | s7 = sp + 0x2118;
| if (v1 == 0) {
0x0000c3b8 beqz v1, 0xc610 | goto label_15;
| }
0x0000c3bc move a3, fp | a3 = fp;
0x0000c3c0 move a2, s7 | a2 = s7;
| if (s1 == 0) {
0x0000c3c4 bnez s1, 0xc4ec |
0x0000c3c8 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x0000c3cc addiu a1, zero, 4 | a1 = 4;
0x0000c3d0 addiu a0, a0, 0x1514 | a0 += 0x1514;
| label_6:
0x0000c3d4 addiu t9, v0, -0x42d8 | t9 = v0 + -0x42d8;
0x0000c3d8 sw t9, 0x20b0(sp) | *(arg_20b0h) = t9;
0x0000c3dc bal 0xbd28 | fcn_0000bd28 ();
0x0000c3e0 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c3e4 bltz v0, 0xc5dc | goto label_7;
| }
0x0000c3e8 move s2, zero | s2 = 0;
| label_0:
0x0000c3ec lw s6, -0x7fcc(gp) | s6 = *((gp - 8179));
0x0000c3f0 lw a2, 0x211c(sp) | a2 = *(arg_211ch);
0x0000c3f4 lw a1, 0x2118(sp) | a1 = *(arg_2118h);
0x0000c3f8 move t9, s6 | t9 = s6;
0x0000c3fc lw a0, 0x2104(sp) | a0 = *(arg_2104h);
0x0000c400 bal 0xb748 | sym_ns_format_ttl ();
0x0000c404 move s0, v0 | s0 = v0;
0x0000c408 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c40c bltz v0, 0xc5dc | goto label_7;
| }
0x0000c410 lw v0, 0x211c(sp) | v0 = *(arg_211ch);
0x0000c414 sltu v1, v0, s0 | v1 = (v0 < s0) ? 1 : 0;
0x0000c418 lw v1, 0x2118(sp) | v1 = *(arg_2118h);
| if (v1 != 0) {
0x0000c41c bnez v1, 0xdb30 | goto label_16;
| }
0x0000c420 lw t9, -0x7fc8(gp) | t9 = *((gp - 8178));
0x0000c424 addu v1, v1, s0 | v1 += s0;
0x0000c428 subu v0, v0, s0 | __asm ("subu v0, v0, s0");
0x0000c42c sw v1, 0x2118(sp) | *(arg_2118h) = v1;
0x0000c430 move a0, s3 | a0 = s3;
0x0000c434 sw v0, 0x211c(sp) | *(arg_211ch) = v0;
0x0000c438 bal 0x4328 | sym_p_class ();
0x0000c43c lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000c440 move a0, s5 | a0 = s5;
0x0000c444 move s1, v0 | s1 = v0;
0x0000c448 lw t9, -0x7fc4(gp) | t9 = *((gp - 8177));
0x0000c44c addiu s4, sp, 0x2020 | s4 = sp + aav.0x00002020;
0x0000c450 bal 0x42a0 | sym_p_type ();
0x0000c454 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000c458 move a2, s1 | a2 = s1;
0x0000c45c move a0, s4 | a0 = s4;
0x0000c460 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000c464 lw t9, -0x7ecc(gp) | t9 = *((gp - 8115));
0x0000c468 move a3, v0 | a3 = v0;
0x0000c46c addiu a1, a1, 0x151c | a1 += 0x151c;
0x0000c470 jalr t9 | t9 ();
0x0000c474 lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000c478 move a3, fp | a3 = fp;
0x0000c47c move a2, s7 | a2 = s7;
0x0000c480 move a1, v0 | a1 = v0;
0x0000c484 move a0, s4 | a0 = s4;
0x0000c488 move s1, v0 | s1 = v0;
0x0000c48c jalr t9 | t9 ();
0x0000c490 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c494 bltz v0, 0xc5dc | goto label_7;
| }
0x0000c498 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000c49c sw fp, 0x10(sp) | *(arg_10h) = fp;
0x0000c4a0 addiu t9, v0, -0x3e6c | t9 = v0 + -0x3e6c;
0x0000c4a4 move a3, s7 | a3 = s7;
0x0000c4a8 move a2, s2 | a2 = s2;
0x0000c4ac addiu a1, zero, 0x10 | a1 = 0x10;
0x0000c4b0 addu a0, s0, s1 | a0 = s0 + s1;
0x0000c4b4 sw t9, 0x20bc(sp) | *(arg_20bch) = t9;
0x0000c4b8 bal 0xc194 | fcn_0000c194 ();
0x0000c4bc lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c4c0 bltz v0, 0xc5dc | goto label_7;
| }
0x0000c4c4 sltiu v0, s5, 0xfb | v0 = (s5 < 0xfb) ? 1 : 0;
0x0000c4c8 sll v1, s5, 2 | v1 = s5 << 2;
| if (v0 == 0) {
0x0000c4cc beqz v0, 0xd460 | goto label_17;
| }
0x0000c4d0 lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000c4d4 addiu v0, v0, 0x1610 | v0 += 0x1610;
0x0000c4d8 addu v0, v0, v1 | v0 += v1;
0x0000c4dc lw v0, (v0) | v0 = *(v0);
0x0000c4e0 addu v0, v0, gp | v0 += gp;
0x0000c4e4 jr v0 | v0 ();
0x0000c4e8 nop |
| }
0x0000c4ec addiu t9, v0, -0x42d8 | t9 = v0 + -0x42d8;
0x0000c4f0 move a1, s1 | a1 = s1;
0x0000c4f4 move a0, s0 | a0 = s0;
0x0000c4f8 sw t9, 0x20b0(sp) | *(arg_20b0h) = t9;
0x0000c4fc bal 0xbd28 | fcn_0000bd28 ();
0x0000c500 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c504 bltz v0, 0xc5dc | goto label_7;
| }
0x0000c508 lw v0, 0x2114(sp) | v0 = *(arg_2114h);
| if (v0 != 0) {
0x0000c50c beqz v0, 0xc520 |
0x0000c510 nop |
0x0000c514 lb v0, (v0) | v0 = *(v0);
0x0000c518 addiu v1, zero, 0x2e | v1 = 0x2e;
| if (v0 != 0) {
0x0000c51c bnez v0, 0xc674 | goto label_18;
| }
| }
0x0000c520 addu s0, s0, s1 | s0 += s1;
0x0000c524 lb v1, -1(s0) | v1 = *((s0 - 1));
| label_5:
0x0000c528 addiu v0, zero, 0x2e | v0 = 0x2e;
0x0000c52c lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
| if (v1 != v0) {
0x0000c530 bne v1, v0, 0xc61c | goto label_19;
| }
0x0000c534 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
0x0000c538 b 0xc644 | goto label_3;
| do {
| label_7:
0x0000c5dc lw ra, 0x20ec(sp) | ra = *(arg_20ech);
| label_1:
0x0000c5e0 lw fp, 0x20e8(sp) | fp = *(arg_20e8h);
0x0000c5e4 lw s7, 0x20e4(sp) | s7 = *(arg_20e4h);
0x0000c5e8 lw s6, 0x20e0(sp) | s6 = *(arg_20e0h);
0x0000c5ec lw s5, 0x20dc(sp) | s5 = *(arg_20dch);
0x0000c5f0 lw s4, 0x20d8(sp) | s4 = *(arg_20d8h);
0x0000c5f4 lw s3, 0x20d4(sp) | s3 = *(arg_20d4h);
0x0000c5f8 lw s2, 0x20d0(sp) | s2 = *(arg_20d0h);
0x0000c5fc lw s1, 0x20cc(sp) | s1 = *(arg_20cch);
0x0000c600 lw s0, 0x20c8(sp) | s0 = *(arg_20c8h);
0x0000c604 addiu v0, zero, -1 | v0 = -1;
0x0000c608 addiu sp, sp, 0x20f0 |
0x0000c60c jr ra | return v0;
| label_15:
0x0000c610 addiu v0, v0, -0x42d8 | v0 += -0x42d8;
0x0000c614 sw v0, 0x20b0(sp) | *(arg_20b0h) = v0;
0x0000c618 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
| label_19:
0x0000c61c lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000c620 move a3, fp | a3 = fp;
0x0000c624 move a2, s7 | a2 = s7;
0x0000c628 addiu a1, zero, 1 | a1 = 1;
0x0000c62c addiu a0, a0, 0x6bc | a0 += 0x6bc;
0x0000c630 jalr t9 | t9 ();
0x0000c634 addiu s2, s1, 1 | s2 = s1 + 1;
0x0000c638 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000c63c bltz v0, 0xc5dc |
| } while (v0 < 0);
| label_2:
0x0000c640 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
| label_3:
0x0000c644 move a0, s2 | a0 = s2;
| label_4:
0x0000c648 sw fp, 0x10(sp) | *(arg_10h) = fp;
0x0000c64c move a3, s7 | a3 = s7;
0x0000c650 move a2, zero | a2 = 0;
0x0000c654 addiu t9, t9, -0x3e6c | t9 += -0x3e6c;
0x0000c658 addiu a1, zero, 0x18 | a1 = 0x18;
0x0000c65c bal 0xc194 | fcn_0000c194 ();
0x0000c660 move s2, v0 | s2 = v0;
0x0000c664 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 >= 0) {
0x0000c668 bgez v0, 0xc3ec | goto label_0;
| }
0x0000c66c lw ra, 0x20ec(sp) | ra = *(arg_20ech);
0x0000c670 b 0xc5e0 | goto label_1;
| label_18:
0x0000c674 lw v0, 0x2114(sp) | v0 = *(arg_2114h);
| if (v0 == v1) {
0x0000c678 beq v0, v1, 0xc640 | goto label_2;
| }
0x0000c67c lb v0, 1(v0) | v0 = *((v0 + 1));
0x0000c680 lw t9, -0x7fd8(gp) | t9 = *((gp - 8182));
| if (v0 == 0) {
0x0000c684 beqz v0, 0xc644 | goto label_3;
| }
0x0000c688 addu s0, s0, s1 | s0 += s1;
0x0000c68c lb v0, (s0) | v0 = *(s0);
0x0000c690 move a0, s2 | a0 = s2;
| if (v0 != 0) {
0x0000c694 bnez v0, 0xc648 | goto label_4;
| }
0x0000c698 lb v1, -1(s0) | v1 = *((s0 - 1));
0x0000c69c b 0xc528 | goto label_5;
| label_14:
0x0000c970 lw a0, -0x7fd8(gp) | a0 = *((gp - 8182));
0x0000c974 addiu fp, sp, 0x211c | fp = sp + 0x211c;
0x0000c978 addiu s7, sp, 0x2118 | s7 = sp + 0x2118;
0x0000c97c lw v0, -0x7fd8(gp) | v0 = *((gp - 8182));
0x0000c980 move a3, fp | a3 = fp;
0x0000c984 move a2, s7 | a2 = s7;
0x0000c988 addiu a1, zero, 3 | a1 = 3;
0x0000c98c addiu a0, a0, 0x1510 | a0 += 0x1510;
0x0000c990 b 0xc3d4 | goto label_6;
| label_11:
0x0000c9b4 lw v1, 0x210c(sp) | v1 = *(arg_210ch);
0x0000c9b8 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
| if (v1 == 0) {
0x0000c9bc beqz v1, 0xcdd8 | goto label_20;
| }
0x0000c9c0 lw a3, -0x7fd8(gp) | a3 = *((gp - 8182));
0x0000c9c4 addiu a3, a3, 0x150c | a3 += 0x150c;
| label_10:
0x0000c9c8 lw a1, -0x7fd8(gp) | a1 = *((gp - 8182));
0x0000c9cc lw t9, -0x7ecc(gp) | t9 = *((gp - 8115));
0x0000c9d0 move a0, s4 | a0 = s4;
0x0000c9d4 addiu a1, a1, 0x15f0 | a1 += 0x15f0;
0x0000c9d8 sw v0, 0x10(sp) | *(arg_10h) = v0;
0x0000c9dc jalr t9 | t9 ();
0x0000c9e0 lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000c9e4 move a1, v0 | a1 = v0;
0x0000c9e8 move a3, fp | a3 = fp;
0x0000c9ec move a2, s7 | a2 = s7;
0x0000c9f0 move a0, s4 | a0 = s4;
0x0000c9f4 jalr t9 | t9 ();
0x0000c9f8 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000c9fc bltz v0, 0xc5dc | goto label_7;
| }
0x0000ca00 lw v0, 0x2108(sp) | v0 = *(arg_2108h);
0x0000ca04 lw v1, 0x20b4(sp) | v1 = *(arg_20b4h);
0x0000ca08 sltu v1, v0, v1 | v1 = (v0 < v1) ? 1 : 0;
0x0000ca0c move s3, v0 | s3 = v0;
| if (v1 == 0) {
0x0000ca10 beqz v1, 0xcbd4 | goto label_21;
| }
0x0000ca14 addiu v1, sp, 0x2022 | v1 = sp + 0x2022;
0x0000ca18 sw v1, 0x20b8(sp) | *(arg_20b8h) = v1;
0x0000ca1c lw v1, -0x7fd8(gp) | v1 = *((gp - 8182));
0x0000ca20 lw s6, -0x7fd8(gp) | s6 = *((gp - 8182));
0x0000ca24 addiu v1, v1, 0xdc4 | v1 += 0xdc4;
0x0000ca28 addiu s6, s6, 0x1600 | s6 += 0x1600;
0x0000ca2c sw v1, 0x20c0(sp) | *(arg_20c0h) = v1;
| label_9:
0x0000ca30 lw v1, 0x20b4(sp) | v1 = *(arg_20b4h);
0x0000ca34 sb zero, 2(s4) | *((s4 + 2)) = 0;
0x0000ca38 subu s2, v1, s3 | __asm ("subu s2, v1, s3");
0x0000ca3c addiu v1, zero, 0x90a | v1 = 0x90a;
0x0000ca40 slti s3, s2, 0x11 | s3 = (s2 < 0x11) ? 1 : 0;
0x0000ca44 sh v1, (s4) | *(s4) = v1;
0x0000ca48 addiu v1, zero, 0x10 | v1 = 0x10;
| if (s3 == 0) {
0x0000ca4c movn v1, s2, s3 | v1 = s2;
| }
0x0000ca50 move s3, v1 | s3 = v1;
0x0000ca54 lw s1, 0x20b8(sp) | s1 = *(arg_20b8h);
| if (s2 <= 0) {
0x0000ca58 blez s2, 0xca94 | goto label_22;
| }
0x0000ca5c move s0, zero | s0 = 0;
0x0000ca60 b 0xca68 |
| while (v0 != 0) {
0x0000ca64 lw v0, 0x2108(sp) | v0 = *(arg_2108h);
0x0000ca68 addu v0, v0, s0 | v0 += s0;
0x0000ca6c lw t9, -0x7ecc(gp) | t9 = *((gp - 8115));
0x0000ca70 lbu a2, (v0) | a2 = *(v0);
0x0000ca74 move a0, s1 | a0 = s1;
0x0000ca78 move a1, s6 | a1 = s6;
0x0000ca7c addiu s0, s0, 1 | s0++;
0x0000ca80 jalr t9 | t9 ();
0x0000ca84 slt v0, s0, s3 | v0 = (s0 < s3) ? 1 : 0;
0x0000ca88 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000ca8c addiu s1, s1, 3 | s1 += 3;
0x0000ca90 bnez v0, 0xca64 |
| }
| label_22:
0x0000ca94 subu s1, s1, s4 | __asm ("subu s1, s1, s4");
0x0000ca98 lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000ca9c move a3, fp | a3 = fp;
0x0000caa0 move a2, s7 | a2 = s7;
0x0000caa4 move a1, s1 | a1 = s1;
0x0000caa8 move a0, s4 | a0 = s4;
0x0000caac jalr t9 | t9 ();
0x0000cab0 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000cab4 bltz v0, 0xc5dc | goto label_7;
| }
0x0000cab8 slti v0, s2, 0x10 | v0 = (s2 < 0x10) ? 1 : 0;
0x0000cabc addiu v0, zero, 0x203b | v0 = 0x203b;
| if (v0 == 0) {
0x0000cac0 beqz v0, 0xd498 | goto label_23;
| }
0x0000cac4 lw a0, 0x20c0(sp) | a0 = *(arg_20c0h);
0x0000cac8 lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000cacc move a3, fp | a3 = fp;
0x0000cad0 move a2, s7 | a2 = s7;
0x0000cad4 addiu a1, zero, 1 | a1 = 1;
0x0000cad8 jalr t9 | t9 ();
0x0000cadc lw t9, 0x20bc(sp) | t9 = *(arg_20bch);
| if (v0 < 0) {
0x0000cae0 bltz v0, 0xc5dc | goto label_7;
| }
0x0000cae4 sw fp, 0x10(sp) | *(arg_10h) = fp;
0x0000cae8 move a3, s7 | a3 = s7;
0x0000caec move a2, zero | a2 = 0;
0x0000caf0 addiu a1, zero, 0x30 | a1 = 0x30;
0x0000caf4 addiu a0, s1, 1 | a0 = s1 + 1;
0x0000caf8 jalr t9 | t9 ();
0x0000cafc lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000cb00 bltz v0, 0xc5dc | goto label_7;
| }
0x0000cb04 addiu v0, zero, 0x203b | v0 = 0x203b;
0x0000cb08 sh v0, (s4) | *(s4) = v0;
0x0000cb0c sb zero, 2(s4) | *((s4 + 2)) = 0;
| if (s2 <= 0) {
0x0000cb10 blez s2, 0xd4a4 | goto label_24;
| }
| label_12:
0x0000cb14 lw s2, 0x2108(sp) | s2 = *(arg_2108h);
0x0000cb18 lw s1, 0x20b8(sp) | s1 = *(arg_20b8h);
0x0000cb1c addiu s5, zero, -0x80 | s5 = -0x80;
0x0000cb20 b 0xcb68 |
| while (v0 == 0) {
0x0000cb24 jalr t9 | t9 ();
0x0000cb28 nop |
0x0000cb2c lw v0, (v0) | v0 = *(v0);
0x0000cb30 sll v1, s0, 1 | v1 = s0 << 1;
0x0000cb34 addu v0, v0, v1 | v0 += v1;
0x0000cb38 lhu v0, (v0) | v0 = *(v0);
0x0000cb3c andi v0, v0, 0x4000 | v0 &= 0x4000;
0x0000cb40 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 == 0) {
0x0000cb44 beqz v0, 0xcb78 | goto label_25;
| }
0x0000cb48 addiu s1, s1, 1 | s1++;
0x0000cb4c subu v0, s1, s4 | __asm ("subu v0, s1, s4");
0x0000cb50 addiu v0, v0, -2 | v0 += -2;
0x0000cb54 seb s0, s0 | __asm ("seb s0, s0");
0x0000cb58 slt v0, v0, s3 | v0 = (v0 < s3) ? 1 : 0;
0x0000cb5c sb s0, -1(s1) | *((s1 - 1)) = s0;
0x0000cb60 addiu s2, s2, 1 | s2++;
| if (v0 == 0) {
0x0000cb64 beqz v0, 0xcb98 | goto label_13;
| }
| label_8:
0x0000cb68 lbu s0, (s2) | s0 = *(s2);
0x0000cb6c and v0, s0, s5 | v0 = s0 & s5;
0x0000cb70 lw t9, -0x7ef4(gp) | t9 = *((gp - 8125));
0x0000cb74 beqz v0, 0xcb24 |
| }
| label_25:
0x0000cb78 addiu s1, s1, 1 | s1++;
0x0000cb7c subu v0, s1, s4 | __asm ("subu v0, s1, s4");
0x0000cb80 addiu v0, v0, -2 | v0 += -2;
0x0000cb84 addiu s0, zero, 0x2e | s0 = 0x2e;
0x0000cb88 slt v0, v0, s3 | v0 = (v0 < s3) ? 1 : 0;
0x0000cb8c sb s0, -1(s1) | *((s1 - 1)) = s0;
0x0000cb90 addiu s2, s2, 1 | s2++;
| if (v0 != 0) {
0x0000cb94 bnez v0, 0xcb68 | goto label_8;
| }
| label_13:
0x0000cb98 lw t9, 0x20b0(sp) | t9 = *(arg_20b0h);
0x0000cb9c move a3, fp | a3 = fp;
0x0000cba0 move a2, s7 | a2 = s7;
0x0000cba4 subu a1, s1, s4 | __asm ("subu a1, s1, s4");
0x0000cba8 move a0, s4 | a0 = s4;
0x0000cbac jalr t9 | t9 ();
0x0000cbb0 lw gp, 0x18(sp) | gp = *(arg_18h);
| if (v0 < 0) {
0x0000cbb4 bltz v0, 0xc5dc | goto label_7;
| }
0x0000cbb8 lw v0, 0x2108(sp) | v0 = *(arg_2108h);
0x0000cbbc addu s3, v0, s3 | s3 = v0 + s3;
0x0000cbc0 lw v0, 0x20b4(sp) | v0 = *(arg_20b4h);
0x0000cbc4 sw s3, 0x2108(sp) | *(arg_2108h) = s3;
0x0000cbc8 sltu v1, s3, v0 | v1 = (s3 < v0) ? 1 : 0;
0x0000cbcc move v0, s3 | v0 = s3;
| if (v1 != 0) {
0x0000cbd0 bnez v1, 0xca30 | goto label_9;
| }
| label_21:
0x0000cbd4 lw v0, 0x2118(sp) | v0 = *(arg_2118h);
0x0000cbd8 lw v1, 0x20c4(sp) | v1 = *(arg_20c4h);
0x0000cbdc lw ra, 0x20ec(sp) | ra = *(arg_20ech);
0x0000cbe0 lw fp, 0x20e8(sp) | fp = *(arg_20e8h);
0x0000cbe4 lw s7, 0x20e4(sp) | s7 = *(arg_20e4h);
0x0000cbe8 lw s6, 0x20e0(sp) | s6 = *(arg_20e0h);
0x0000cbec lw s5, 0x20dc(sp) | s5 = *(arg_20dch);
0x0000cbf0 lw s4, 0x20d8(sp) | s4 = *(arg_20d8h);
0x0000cbf4 lw s3, 0x20d4(sp) | s3 = *(arg_20d4h);
0x0000cbf8 lw s2, 0x20d0(sp) | s2 = *(arg_20d0h);
0x0000cbfc lw s1, 0x20cc(sp) | s1 = *(arg_20cch);
0x0000cc00 lw s0, 0x20c8(sp) | s0 = *(arg_20c8h);
0x0000cc04 subu v0, v0, v1 | __asm ("subu v0, v0, v1");
0x0000cc08 addiu sp, sp, 0x20f0 |
0x0000cc0c jr ra | return v0;
| label_20:
0x0000cdd8 addiu a3, a3, 0x1518 | a3 += 0x1518;
0x0000cddc b 0xc9c8 | goto label_10;
| label_17:
0x0000d460 lw a2, -0x7fd8(gp) | a2 = *((gp - 8182));
0x0000d464 lw t9, -0x7e9c(gp) | t9 = *((gp - 8103));
0x0000d468 addiu s0, sp, 0x20 | s0 = sp + 0x20;
0x0000d46c addiu a2, a2, 0x15dc | a2 += 0x15dc;
0x0000d470 move a3, s5 | a3 = s5;
0x0000d474 addiu a1, zero, 0x28 | a1 = 0x28;
0x0000d478 move a0, s0 | a0 = s0;
0x0000d47c jalr t9 | t9 ();
0x0000d480 lw a2, 0x2108(sp) | a2 = *(arg_2108h);
0x0000d484 lw v1, 0x20b4(sp) | v1 = *(arg_20b4h);
0x0000d488 lw gp, 0x18(sp) | gp = *(arg_18h);
0x0000d48c move v0, s0 | v0 = s0;
0x0000d490 subu a2, v1, a2 | __asm ("subu a2, v1, a2");
0x0000d494 b 0xc9b4 | goto label_11;
| label_23:
0x0000d498 sh v0, (s4) | *(s4) = v0;
0x0000d49c sb zero, 2(s4) | *((s4 + 2)) = 0;
0x0000d4a0 b 0xcb14 | goto label_12;
| label_24:
0x0000d4a4 lw s1, 0x20b8(sp) | s1 = *(arg_20b8h);
0x0000d4a8 b 0xcb98 | goto label_13;
| label_16:
0x0000db30 lw t9, -0x7fdc(gp) | t9 = *((gp - 8183));
0x0000db34 addiu t9, t9, 0x24f0 | t9 += entry0;
0x0000db38 bal 0x24f0 | entry0 ();
0x0000db3c nop |
| }
[*] Function popen used 1 times libresolv-2.27.so