[*] Binary protection state of zeroconf-ip

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


[*] Function strcpy tear down of zeroconf-ip

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/sbin/zeroconf-ip @ 0xe50 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) main ()                      | int32_t main () {
                                         |     /* [13] -r-x section size 9872 named .text */
    0x00000e50 lui gp, 2                 |     
    0x00000e54 addiu gp, gp, -0x3e30     |     
    0x00000e58 addu gp, gp, t9           |     gp += t9;
    0x00000e5c lw v0, -0x7efc(gp)        |     v0 = *((gp - 8127));
    0x00000e60 addiu sp, sp, -0x20e8     |     
    0x00000e64 lw t9, -0x7f6c(gp)        |     t9 = sym.imp.memset;
    0x00000e68 sw fp, 0x20e0(sp)         |     *(arg_20e0h) = fp;
    0x00000e6c lw v0, (v0)               |     v0 = *(v0);
    0x00000e70 move fp, sp               |     fp = sp;
    0x00000e74 sw s0, 0x20c0(sp)         |     *(arg_20c0h) = s0;
    0x00000e78 addiu s0, fp, 0x60        |     s0 = fp + 0x60;
    0x00000e7c sw s2, 0x20c8(sp)         |     *(arg_20c8h) = s2;
    0x00000e80 sw s1, 0x20c4(sp)         |     *(arg_20c4h) = s1;
    0x00000e84 sw gp, 0x10(sp)           |     *(arg_10h) = gp;
    0x00000e88 sw ra, 0x20e4(sp)         |     *(arg_20e4h) = ra;
    0x00000e8c sw s7, 0x20dc(sp)         |     *(arg_20dch) = s7;
    0x00000e90 sw s6, 0x20d8(sp)         |     *(arg_20d8h) = s6;
    0x00000e94 sw s5, 0x20d4(sp)         |     *(arg_20d4h) = s5;
    0x00000e98 sw s4, 0x20d0(sp)         |     *(arg_20d0h) = s4;
    0x00000e9c sw s3, 0x20cc(sp)         |     *(arg_20cch) = s3;
    0x00000ea0 move s2, a0               |     s2 = a0;
    0x00000ea4 move s1, a1               |     s1 = a1;
    0x00000ea8 addiu a2, zero, 0x205c    |     a2 = 0x205c;
    0x00000eac move a1, zero             |     a1 = 0;
    0x00000eb0 move a0, s0               |     a0 = s0;
    0x00000eb4 sw v0, 0x20bc(fp)         |     *(arg_20bch) = v0;
    0x00000eb8 jalr t9                   |     t9 ();
    0x00000ebc nop                       |     
    0x00000ec0 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (s2 != 0) {
    0x00000ec4 beqz s2, 0x1088           |         
    0x00000ec8 addiu s1, s1, 4           |         s1 += 4;
    0x00000ecc sw s1, 0x38(fp)           |         *(arg_38h) = s1;
    0x00000ed0 lw s3, -0x7fdc(gp)        |         s3 = *((gp - 8183));
    0x00000ed4 lw s1, -0x7fdc(gp)        |         s1 = *((gp - 8183));
    0x00000ed8 lw s2, -0x7fdc(gp)        |         s2 = *((gp - 8183));
    0x00000edc lw s5, -0x7fd8(gp)        |         s5 = *((gp - 8182));
    0x00000ee0 lw s4, -0x7fd8(gp)        |         s4 = *((gp - 8182));
    0x00000ee4 addiu s3, s3, 0x4210      |         s3 += 0x4210;
    0x00000ee8 addiu s1, s1, 0x2180      |         s1 += fcn.00002180;
    0x00000eec addiu s2, s2, 0x20a4      |         s2 += fcn.000020a4;
    0x00000ef0 lw v0, 0x38(fp)           |         v0 = *(arg_38h);
    0x00000ef4 lw s6, (v0)               |         s6 = *(v0);
    0x00000ef8 addiu v0, zero, 0x2d      |         v0 = 0x2d;
                                         |         if (s6 == 0) {
    0x00000efc beqz s6, 0x1088           |             goto label_9;
                                         |         }
    0x00000f00 lb v1, (s6)               |         v1 = *(s6);
    0x00000f04 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
                                         |         if (v1 == v0) {
    0x00000f08 bne v1, v0, 0x107c        |             
    0x00000f0c lbu v0, 1(s6)             |             v0 = *((s6 + 1));
    0x00000f10 addiu v0, v0, -0x2d       |             v0 += -0x2d;
    0x00000f14 andi v0, v0, 0xff         |             v0 &= 0xff;
    0x00000f18 sltiu v1, v0, 0x48        |             v1 = (v0 < 0x48) ? 1 : 0;
    0x00000f1c sll v0, v0, 2             |             v0 <<= 2;
                                         |             if (v1 == 0) {
    0x00000f20 beqz v1, 0x107c           |                 goto label_10;
                                         |             }
    0x00000f24 lwx v0, v0(s3)            |             __asm ("lwx v0, v0(s3)");
    0x00000f28 addu v0, v0, gp           |             v0 += gp;
    0x00000f2c jr v0                     |             v0 ();
    0x00000f30 nop                       |             
                                         |         }
                                         | label_10:
    0x0000107c addiu t9, t9, 0x1de4      |         t9 += fcn.00001de4;
    0x00001080 move a0, s6               |         a0 = s6;
    0x00001084 bal 0x1de4                |         fcn_00001de4 ();
                                         |     }
                                         | label_9:
    0x00001088 lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x0000108c lw t9, -0x7f58(gp)        |     t9 = sym.imp.strlen;
    0x00001090 sw zero, 0x60(fp)         |     *(arg_60h) = 0;
    0x00001094 lw s2, 0x5014(v0)         |     s2 = *((v0 + 5125));
    0x00001098 move a0, s2               |     a0 = s2;
    0x0000109c jalr t9                   |     t9 ();
    0x000010a0 sltiu v0, v0, 0x10        |     v0 = (v0 < 0x10) ? 1 : 0;
    0x000010a4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 == 0) {
    0x000010a8 beqz v0, 0x1134           |         goto label_11;
                                         |     }
    0x000010ac lw s3, -0x7fd8(gp)        |     s3 = *((gp - 8182));
    0x000010b0 sw s2, 0x64(fp)           |     *(arg_64h) = s2;
    0x000010b4 lw a1, 0x5188(s3)         |     a1 = *((s3 + 5218));
    0x000010b8 lw t9, -0x7f58(gp)        |     t9 = sym.imp.strlen;
    0x000010bc beqz a1, 0x1168           |     
                                         |     while (a1 != 0) {
    0x000010c0 lw t9, -0x7ef4(gp)        |         t9 = sym.imp.inet_pton;
    0x000010c4 addiu a2, fp, 0x38        |         a2 = fp + 0x38;
    0x000010c8 addiu a0, zero, 2         |         a0 = 2;
    0x000010cc jalr t9                   |         t9 ();
    0x000010d0 addiu v1, zero, 1         |         v1 = 1;
    0x000010d4 lw gp, 0x10(fp)           |         gp = *(arg_10h);
                                         |         if (v0 == v1) {
    0x000010d8 bne v0, v1, 0x1104        |             
    0x000010dc lw v0, 0x38(fp)           |             v0 = *(arg_38h);
    0x000010e0 lui v1, 0x5601            |             v1 = 0x56010000;
    0x000010e4 wsbh v0, v0               |             __asm ("wsbh v0, v0");
    0x000010e8 ori v1, v1, 0xff00        |             v1 |= 0xff00;
    0x000010ec rotr v0, v0, 0x10         |             __asm ("rotr v0, v0, 0x10");
    0x000010f0 addu v0, v0, v1           |             v0 += v1;
    0x000010f4 ori v1, zero, 0xfe00      |             v1 = 0xfe00;
    0x000010f8 sltu v0, v0, v1           |             v0 = (v0 < v1) ? 1 : 0;
    0x000010fc lw v0, -0x7fdc(gp)        |             v0 = *((gp - 8183));
                                         |             if (v0 != 0) {
    0x00001100 bnez v0, 0x1280           |                 goto label_12;
                                         |             }
                                         |         }
    0x00001104 lw v0, -0x7eec(gp)        |         v0 = *((gp - 8123));
    0x00001108 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x0000110c lw t9, -0x7f2c(gp)        |         t9 = sym.imp.fwrite;
    0x00001110 lw a3, (v0)               |         a3 = *(v0);
    0x00001114 addiu a0, a0, 0x409c      |         a0 += str.zeroconf_ip:_invalid_address_n;
    0x00001118 addiu a2, zero, 0x1d      |         a2 = 0x1d;
                                         | label_7:
    0x0000111c addiu a1, zero, 1         |         a1 = 1;
    0x00001120 jalr t9                   |         t9 ();
    0x00001124 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001128 lw t9, -0x7f48(gp)        |         t9 = sym.imp.exit;
    0x0000112c addiu a0, zero, 1         |         a0 = 1;
    0x00001130 jalr t9                   |         t9 ();
                                         | label_11:
    0x00001134 lw v0, -0x7eec(gp)        |         v0 = *((gp - 8123));
    0x00001138 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x0000113c lw t9, -0x7f2c(gp)        |         t9 = sym.imp.fwrite;
    0x00001140 lw a3, (v0)               |         a3 = *(v0);
    0x00001144 addiu a0, a0, 0x403c      |         a0 += str.zeroconf_ip:_interface_name_too_long_n;
    0x00001148 addiu a2, zero, 0x25      |         a2 = 0x25;
    0x0000114c addiu a1, zero, 1         |         a1 = 1;
    0x00001150 jalr t9                   |         t9 ();
    0x00001154 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001158 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000115c addiu t9, t9, 0x1cc0      |         t9 += fcn.00001cc0;
    0x00001160 addiu a0, zero, 1         |         a0 = 1;
    0x00001164 bal 0x1cc0                |         fcn_00001cc0 ();
    0x00001168 move a0, s2               |         a0 = s2;
    0x0000116c jalr t9                   |         t9 ();
    0x00001170 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001174 addiu v1, v0, 0x21        |         v1 = v0 + 0x21;
    0x00001178 srl v1, v1, 3             |         v1 >>= 3;
    0x0000117c lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001180 sll v1, v1, 3             |         v1 <<= 3;
    0x00001184 addiu v0, a0, 0x4064      |         v0 = a0 + str._etc_zeroconf_ip_address.;
    0x00001188 move s4, sp               |         s4 = sp;
    0x0000118c lw a0, 0x4064(a0)         |         a0 = *(a0);
    0x00001190 subu sp, sp, v1           |         
    0x00001194 addiu s1, sp, 0x10        |         s1 = sp + 0x10;
    0x00001198 swl a0, 3(s1)             |         __asm ("swl a0, 3(s1)");
    0x0000119c lw v1, 4(v0)              |         v1 = *((v0 + 1));
    0x000011a0 swr a0, (s1)              |         __asm ("swr a0, (s1)");
    0x000011a4 swl v1, 7(s1)             |         __asm ("swl v1, 7(s1)");
    0x000011a8 lw a0, 8(v0)              |         a0 = *((v0 + 2));
    0x000011ac swr v1, 4(s1)             |         __asm ("swr v1, 4(s1)");
    0x000011b0 swl a0, 0xb(s1)           |         __asm ("swl a0, 0xb(s1)");
    0x000011b4 lw v1, 0xc(v0)            |         v1 = *((v0 + 3));
    0x000011b8 swr a0, 8(s1)             |         __asm ("swr a0, 8(s1)");
    0x000011bc swl v1, 0xf(s1)           |         __asm ("swl v1, 0xf(s1)");
    0x000011c0 lw a0, 0x10(v0)           |         a0 = *((v0 + 4));
    0x000011c4 swr v1, 0xc(s1)           |         __asm ("swr v1, 0xc(s1)");
    0x000011c8 lw v1, 0x14(v0)           |         v1 = *((v0 + 5));
    0x000011cc swl a0, 0x13(s1)          |         __asm ("swl a0, 0x13(s1)");
    0x000011d0 swr a0, 0x10(s1)          |         __asm ("swr a0, 0x10(s1)");
    0x000011d4 swl v1, 0x17(s1)          |         __asm ("swl v1, 0x17(s1)");
    0x000011d8 lbu v0, 0x18(v0)          |         v0 = *((v0 + 24));
    0x000011dc lw t9, -0x7f30(gp)        |         t9 = sym.imp.strcpy
    0x000011e0 swr v1, 0x14(s1)          |         __asm ("swr v1, 0x14(s1)");
    0x000011e4 move a1, s2               |         a1 = s2;
    0x000011e8 addiu a0, sp, 0x29        |         a0 = sp + 0x29;
    0x000011ec sb v0, 0x18(s1)           |         *((s1 + 24)) = v0;
    0x000011f0 jalr t9                   |         t9 ();
    0x000011f4 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x000011f8 move a1, zero             |         a1 = 0;
    0x000011fc lw t9, -0x7f4c(gp)        |         t9 = sym.imp.open;
    0x00001200 move a0, s1               |         a0 = s1;
    0x00001204 jalr t9                   |         t9 ();
    0x00001208 move s2, v0               |         s2 = v0;
    0x0000120c addiu v0, zero, -1        |         v0 = -1;
    0x00001210 lw gp, 0x10(fp)           |         gp = *(arg_10h);
                                         |         if (s2 != v0) {
    0x00001214 beq s2, v0, 0x1270        |             
    0x00001218 lw t9, -0x7f3c(gp)        |             t9 = sym.imp.malloc;
    0x0000121c addiu a0, zero, 0x10      |             a0 = 0x10;
    0x00001220 jalr t9                   |             t9 ();
    0x00001224 sw v0, 0x5188(s3)         |             *((s3 + 5218)) = v0;
    0x00001228 lw gp, 0x10(fp)           |             gp = *(arg_10h);
                                         |             if (v0 == 0) {
    0x0000122c beqz v0, 0x1a40           |                 goto label_13;
                                         |             }
    0x00001230 lw t9, -0x7ee0(gp)        |             t9 = sym.imp.read;
    0x00001234 addiu a2, zero, 0x10      |             a2 = 0x10;
    0x00001238 move a1, v0               |             a1 = v0;
    0x0000123c move a0, s2               |             a0 = s2;
    0x00001240 jalr t9                   |             t9 ();
    0x00001244 lw gp, 0x10(fp)           |             gp = *(arg_10h);
                                         |             if (v0 >= 0) {
    0x00001248 bgez v0, 0x1270           |                 goto label_14;
                                         |             }
    0x0000124c lw t9, -0x7f28(gp)        |             t9 = sym.imp.perror;
    0x00001250 move a0, s1               |             a0 = s1;
    0x00001254 jalr t9                   |             t9 ();
    0x00001258 lw gp, 0x10(fp)           |             gp = *(arg_10h);
    0x0000125c lw t9, -0x7ef0(gp)        |             t9 = sym.imp.free;
    0x00001260 lw a0, 0x5188(s3)         |             a0 = *((s3 + 5218));
    0x00001264 jalr t9                   |             t9 ();
    0x00001268 lw gp, 0x10(fp)           |             gp = *(arg_10h);
    0x0000126c sw zero, 0x5188(s3)       |             *((s3 + 5218)) = 0;
                                         |         }
                                         | label_14:
    0x00001270 lw a1, 0x5188(s3)         |         a1 = *((s3 + 5218));
    0x00001274 move sp, s4               |         
    0x00001278 bnez a1, 0x10c0           |         
                                         |     }
    0x0000127c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
                                         | label_12:
    0x00001280 addiu v1, fp, 0x207c      |     v1 = fp + 0x207c;
    0x00001284 addiu v0, v0, 0x4410      |     v0 += 0x4410;
    0x00001288 addiu a0, v0, 0x30        |     a0 = v0 + 0x30;
                                         |     do {
    0x0000128c lw t0, (v0)               |         t0 = *(v0);
    0x00001290 lw a3, 4(v0)              |         a3 = *((v0 + 1));
    0x00001294 lw a2, 8(v0)              |         a2 = *((v0 + 2));
    0x00001298 lw a1, 0xc(v0)            |         a1 = *((v0 + 3));
    0x0000129c addiu v0, v0, 0x10        |         v0 += 0x10;
    0x000012a0 sw t0, (v1)               |         *(v1) = t0;
    0x000012a4 sw a3, 4(v1)              |         *((v1 + 1)) = a3;
    0x000012a8 sw a2, 8(v1)              |         *((v1 + 2)) = a2;
    0x000012ac sw a1, 0xc(v1)            |         *((v1 + 3)) = a1;
    0x000012b0 addiu v1, v1, 0x10        |         v1 += 0x10;
    0x000012b4 bne v0, a0, 0x128c        |         
                                         |     } while (v0 != a0);
    0x000012b8 lw s2, -0x7fd8(gp)        |     s2 = *((gp - 8182));
    0x000012bc lw v0, 0x5174(s2)         |     v0 = *((s2 + 5213));
    0x000012c0 lui v0, 3                 |     v0 = 0x30000;
                                         |     if (v0 != 0) {
    0x000012c4 bnez v0, 0x153c           |         goto label_15;
                                         |     }
    0x000012c8 lui v0, 0x1e              |     v0 = 0x1e8480;
    0x000012cc ori v0, v0, 0x8480        |     
                                         | label_1:
    0x000012d0 lui v1, 0xf               |     v1 = 0xf4240;
    0x000012d4 addiu v1, v1, 0x4240      |     
    0x000012d8 divu zero, v0, v1         |     __asm ("divu zero, v0, v1");
    0x000012dc teq v1, zero, 7           |     __asm ("teq v1, zero, 7");
    0x000012e0 lw t9, -0x7f74(gp)        |     t9 = sym.imp.__errno_location;
    0x000012e4 mfhi v1                   |     __asm ("mfhi v1");
    0x000012e8 mflo v0                   |     __asm ("mflo v0");
    0x000012ec sw v1, 0x9c(fp)           |     *(arg_9ch) = v1;
    0x000012f0 sw v0, 0x98(fp)           |     *(arg_98h) = v0;
    0x000012f4 jalr t9                   |     t9 ();
    0x000012f8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000012fc sw v0, 0x18(fp)           |     *(arg_18h) = v0;
    0x00001300 sw zero, (v0)             |     *(v0) = 0;
    0x00001304 lw t9, -0x7f18(gp)        |     t9 = sym.imp.sysconf;
    0x00001308 addiu a0, zero, 4         |     a0 = 4;
    0x0000130c move s1, v0               |     s1 = v0;
    0x00001310 jalr t9                   |     t9 ();
    0x00001314 move s4, v0               |     s4 = v0;
    0x00001318 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x0000131c bltz v0, 0x151c           |         goto label_16;
                                         |     }
    0x00001320 lui v0, 1                 |     v0 = 0x10000;
    0x00001324 slt v0, s4, v0            |     v0 = (s4 < v0) ? 1 : 0;
    0x00001328 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x0000132c beqz v0, 0x152c           |         goto label_17;
                                         |     }
    0x00001330 slti v0, s4, 4            |     v0 = (s4 < 4) ? 1 : 0;
    0x00001334 addiu s1, zero, 3         |     s1 = 3;
    0x00001338 addiu s5, zero, 9         |     s5 = 9;
                                         |     if (v0 == 0) {
    0x0000133c beqz v0, 0x1354           |         goto label_18;
                                         |     }
    0x00001340 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.socket;
    0x00001344 b 0x1384                  |     goto label_19;
                                         |     do {
    0x00001348 addiu s1, s1, 1           |         s1++;
    0x0000134c lw t9, -0x7fa0(gp)        |         t9 = sym.imp.socket;
                                         |         if (s4 == s1) {
    0x00001350 beq s4, s1, 0x1384        |             goto label_19;
                                         |         }
                                         | label_18:
    0x00001354 lw t9, -0x7fb0(gp)        |         t9 = sym.imp.close;
                                         | label_0:
    0x00001358 move a0, s1               |         a0 = s1;
    0x0000135c jalr t9                   |         t9 ();
    0x00001360 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001364 bgez v0, 0x1348           |         
                                         |     } while (v0 >= 0);
    0x00001368 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x0000136c lw a0, (v0)               |     a0 = *(v0);
    0x00001370 addiu s1, s1, 1           |     s1++;
                                         |     if (a0 != s5) {
    0x00001374 bne a0, s5, 0x1a70        |         goto label_20;
                                         |     }
    0x00001378 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.close;
                                         |     if (s4 != s1) {
    0x0000137c bne s4, s1, 0x1358        |         goto label_0;
                                         |     }
    0x00001380 lw t9, -0x7fa0(gp)        |     t9 = sym.imp.socket;
                                         | label_19:
    0x00001384 addiu a2, zero, 0x608     |     a2 = 0x608;
    0x00001388 addiu a1, zero, 1         |     a1 = 1;
    0x0000138c addiu a0, zero, 0x11      |     a0 = 0x11;
    0x00001390 jalr t9                   |     t9 ();
    0x00001394 move s4, v0               |     s4 = v0;
    0x00001398 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x0000139c bltz v0, 0x1b00           |         goto label_21;
                                         |     }
    0x000013a0 lw a2, -0x7fdc(gp)        |     a2 = *((gp - 8183));
    0x000013a4 lw t9, -0x7f70(gp)        |     t9 = sym.imp.snprintf;
    0x000013a8 addiu s1, fp, 0x40        |     s1 = fp + 0x40;
    0x000013ac lw a3, 0x64(fp)           |     a3 = *(arg_64h);
    0x000013b0 addiu a2, a2, 0x3ef0      |     a2 += 0x3ef0;
    0x000013b4 addiu a1, zero, 0x10      |     a1 = 0x10;
    0x000013b8 move a0, s1               |     a0 = s1;
    0x000013bc jalr t9                   |     t9 ();
    0x000013c0 sltiu v0, v0, 0x10        |     v0 = (v0 < 0x10) ? 1 : 0;
    0x000013c4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 == 0) {
    0x000013c8 beqz v0, 0x1b2c           |         goto label_22;
                                         |     }
    0x000013cc lw t9, -0x7f24(gp)        |     t9 = sym.imp.ioctl;
    0x000013d0 move a2, s1               |     a2 = s1;
    0x000013d4 ori a1, zero, 0x8927      |     a1 = 0x8927;
    0x000013d8 move a0, s4               |     a0 = s4;
    0x000013dc jalr t9                   |     t9 ();
    0x000013e0 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x000013e4 bltz v0, 0x1ad4           |         goto label_23;
                                         |     }
    0x000013e8 lhu v0, 0x50(fp)          |     v0 = *(arg_50h);
    0x000013ec addiu v1, zero, 1         |     v1 = 1;
    0x000013f0 addiu v1, zero, 6         |     v1 = 6;
                                         |     if (v0 != v1) {
    0x000013f4 beq v0, v1, 0x1400        |         
    0x000013f8 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
                                         |         if (v0 != v1) {
    0x000013fc bne v0, v1, 0x1ac4        |             goto label_24;
                                         |         }
                                         |     }
    0x00001400 lwl v0, 0x55(fp)          |     __asm ("lwl v0, (arg_55h)");
    0x00001404 lw t9, -0x7f24(gp)        |     t9 = sym.imp.ioctl;
    0x00001408 move a2, s1               |     a2 = s1;
    0x0000140c lwr v0, 0x52(fp)          |     __asm ("lwr v0, (arg_52h)");
    0x00001410 ori a1, zero, 0x8933      |     a1 = 0x8933;
    0x00001414 sw v0, 0x74(fp)           |     *(arg_74h) = v0;
    0x00001418 lhu v0, 0x56(fp)          |     v0 = *(arg_56h);
    0x0000141c move a0, s4               |     a0 = s4;
    0x00001420 sh v0, 0x78(fp)           |     *(arg_78h) = v0;
    0x00001424 jalr t9                   |     t9 ();
    0x00001428 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x0000142c bltz v0, 0x1a98           |         goto label_25;
                                         |     }
    0x00001430 lw v0, 0x50(fp)           |     v0 = *(arg_50h);
    0x00001434 lw t9, -0x7fb0(gp)        |     t9 = sym.imp.close;
    0x00001438 move a0, s4               |     a0 = s4;
    0x0000143c sw v0, 0x68(fp)           |     *(arg_68h) = v0;
    0x00001440 jalr t9                   |     t9 ();
    0x00001444 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x00001448 bltz v0, 0x1a68           |         goto label_26;
                                         |     }
    0x0000144c lbu t0, 0x79(fp)          |     t0 = *(arg_79h);
    0x00001450 lbu v1, 0x74(fp)          |     v1 = *(arg_74h);
    0x00001454 lbu a3, 0x78(fp)          |     a3 = *(arg_78h);
    0x00001458 sll a0, t0, 0x18          |     a0 = t0 << 0x18;
    0x0000145c sll v1, v1, 0x10          |     v1 <<= 0x10;
    0x00001460 lbu a1, 0x76(fp)          |     a1 = *(arg_76h);
    0x00001464 or v1, v1, a0             |     v1 |= a0;
    0x00001468 sll a1, a1, 8             |     a1 <<= 8;
    0x0000146c lui a0, 0x7fff            |     a0 = 0x7fff0000;
    0x00001470 or v1, v1, a3             |     v1 |= a3;
    0x00001474 ori a0, a0, 0xffaa        |     a0 |= 0xffaa;
    0x00001478 or v1, v1, a1             |     v1 |= a1;
    0x0000147c divu zero, v1, a0         |     __asm ("divu zero, v1, a0");
    0x00001480 teq a0, zero, 7           |     __asm ("teq a0, zero, 7");
    0x00001484 lbu v0, 0x75(fp)          |     v0 = *(arg_75h);
    0x00001488 sll t1, a3, 0x18          |     t1 = a3 << 0x18;
    0x0000148c sll v0, v0, 0x10          |     v0 <<= 0x10;
    0x00001490 lbu a2, 0x77(fp)          |     a2 = *(arg_77h);
    0x00001494 or v0, v0, t1             |     v0 |= t1;
    0x00001498 sll a2, a2, 8             |     a2 <<= 8;
    0x0000149c or v0, v0, t0             |     v0 |= t0;
    0x000014a0 or v0, v0, a2             |     v0 |= a2;
    0x000014a4 addiu a2, a0, -0xa4       |     a2 = a0 + -0xa4;
    0x000014a8 lw a1, 0x5188(s3)         |     a1 = *((s3 + 5218));
    0x000014ac mfhi a0                   |     __asm ("mfhi a0");
    0x000014b0 divu zero, v0, a2         |     __asm ("divu zero, v0, a2");
    0x000014b4 teq a2, zero, 7           |     __asm ("teq a2, zero, 7");
    0x000014b8 addiu a0, a0, 1           |     a0++;
    0x000014bc sw a0, 0xb0(fp)           |     *(arg_b0h) = a0;
    0x000014c0 mfhi a2                   |     __asm ("mfhi a2");
    0x000014c4 addiu a2, a2, 1           |     a2++;
    0x000014c8 sw a2, 0xb4(fp)           |     *(arg_b4h) = a2;
                                         |     if (a1 == 0) {
    0x000014cc beqz a1, 0x1a5c           |         goto label_27;
                                         |     }
    0x000014d0 lw t9, -0x7ef4(gp)        |     t9 = sym.imp.inet_pton;
    0x000014d4 addiu s3, fp, 0x38        |     s3 = fp + 0x38;
    0x000014d8 move a2, s3               |     a2 = s3;
    0x000014dc addiu a0, zero, 2         |     a0 = 2;
    0x000014e0 jalr t9                   |     t9 ();
    0x000014e4 addiu v1, zero, 1         |     v1 = 1;
    0x000014e8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 != v1) {
    0x000014ec beq v0, v1, 0x1568        |         
    0x000014f0 lw v0, 0x18(fp)           |         v0 = *(arg_18h);
    0x000014f4 lw t9, -0x7f40(gp)        |         t9 = sym.imp.strerror;
    0x000014f8 lw a0, (v0)               |         a0 = *(v0);
    0x000014fc jalr t9                   |         t9 ();
    0x00001500 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001504 move a1, v0               |         a1 = v0;
    0x00001508 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x0000150c lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x00001510 addiu t9, t9, 0x22f0      |         t9 += fcn.000022f0;
    0x00001514 addiu a0, a0, 0x4168      |         a0 += str.inet_pton:__s;
    0x00001518 bal 0x22f0                |         fcn_000022f0 ();
                                         | label_16:
    0x0000151c lw a0, (s1)               |         a0 = *(s1);
    0x00001520 lw t9, -0x7f40(gp)        |         t9 = sym.imp.strerror;
                                         |         if (a0 == 0) {
    0x00001524 bnez a0, 0x1544           |             
    0x00001528 lw a0, -0x7fdc(gp)        |             a0 = *((gp - 8183));
                                         | label_17:
    0x0000152c lw t9, -0x7fdc(gp)        |             t9 = *((gp - 8183));
    0x00001530 addiu t9, t9, 0x22f0      |             t9 += fcn.000022f0;
    0x00001534 addiu a0, a0, 0x40c8      |             a0 += str.unable_to_close_file_descriptors;
    0x00001538 bal 0x22f0                |             fcn_000022f0 ();
                                         | label_15:
    0x0000153c addiu v0, v0, 0xd40       |             v0 += 0xd40;
    0x00001540 b 0x12d0                  |             goto label_1;
                                         |         }
    0x00001544 jalr t9                   |         t9 ();
    0x00001548 nop                       |         
    0x0000154c lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001550 move a1, v0               |         a1 = v0;
    0x00001554 lw a0, -0x7fdc(gp)        |         a0 = *((gp - 8183));
    0x00001558 lw t9, -0x7fdc(gp)        |         t9 = *((gp - 8183));
    0x0000155c addiu t9, t9, 0x22f0      |         t9 += fcn.000022f0;
    0x00001560 addiu a0, a0, 0x40bc      |         a0 += str.sysconf:__s;
    0x00001564 bal 0x22f0                |         fcn_000022f0 ();
                                         |     }
    0x00001568 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000156c move a1, s3               |     a1 = s3;
                                         | label_8:
    0x00001570 addiu t9, v0, 0x31e4      |     t9 = v0 + fcn.000031e4;
    0x00001574 move a0, s0               |     a0 = s0;
    0x00001578 sw t9, 0x24(fp)           |     *(arg_24h) = t9;
    0x0000157c bal 0x31e4                |     fcn_000031e4 ();
    0x00001580 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001584 move a0, s0               |     a0 = s0;
    0x00001588 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x0000158c addiu t9, v0, 0x23d4      |     t9 = v0 + fcn.000023d4;
    0x00001590 sw t9, 0x2c(fp)           |     *(arg_2ch) = t9;
    0x00001594 bal 0x23d4                |     fcn_000023d4 ();
    0x00001598 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x0000159c lw v0, -0x7fd8(gp)        |     v0 = *((gp - 8182));
    0x000015a0 lw v0, 0x5180(v0)         |     v0 = *((v0 + 5216));
    0x000015a4 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
                                         |     if (v0 == 0) {
    0x000015a8 beqz v0, 0x1a08           |         goto label_28;
                                         |     }
                                         | label_5:
    0x000015ac lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000015b0 addiu a1, fp, 0xb4        |     a1 = fp + 0xb4;
    0x000015b4 addiu t9, t9, 0x309c      |     t9 += fcn.0000309c;
    0x000015b8 addiu a0, fp, 0xb0        |     a0 = fp + 0xb0;
    0x000015bc bal 0x309c                |     fcn_0000309c ();
    0x000015c0 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000015c4 lw v1, -0x7fd8(gp)        |     v1 = *((gp - 8182));
    0x000015c8 lw v1, 0x5178(v1)         |     v1 = *((v1 + 5214));
    0x000015cc lw v1, 0x5174(s2)         |     v1 = *((s2 + 5213));
                                         |     if (v1 == 0) {
    0x000015d0 bnez v1, 0x162c           |         
    0x000015d4 lui v1, 0x1e              |         v1 = 0x1e0000;
                                         |         if (v1 == 0) {
    0x000015d8 beqz v1, 0x1a1c           |             goto label_29;
                                         |         }
    0x000015dc lui v1, 3                 |         v1 = 0x30d41;
    0x000015e0 addiu v1, v1, 0xd41       |         
    0x000015e4 div zero, v0, v1          |         __asm ("div zero, v0, v1");
    0x000015e8 teq v1, zero, 7           |         __asm ("teq v1, zero, 7");
    0x000015ec mfhi v0                   |         __asm ("mfhi v0");
                                         | label_6:
    0x000015f0 lui v1, 0xf               |         v1 = 0xf4240;
    0x000015f4 addiu v1, v1, 0x4240      |         
    0x000015f8 div zero, v0, v1          |         __asm ("div zero, v0, v1");
    0x000015fc teq v1, zero, 7           |         __asm ("teq v1, zero, 7");
    0x00001600 addiu a2, zero, 0x3e8     |         a2 = 0x3e8;
    0x00001604 lw t9, -0x7f9c(gp)        |         t9 = sym.imp.nanosleep;
    0x00001608 move a1, zero             |         a1 = 0;
    0x0000160c addiu a0, fp, 0x38        |         a0 = fp + 0x38;
    0x00001610 mfhi v1                   |         __asm ("mfhi v1");
    0x00001614 mflo v0                   |         __asm ("mflo v0");
    0x00001618 mul v1, v1, a2            |         __asm ("mul v1, v1, a2");
    0x0000161c sw v0, 0x38(fp)           |         *(arg_38h) = v0;
    0x00001620 sw v1, 0x3c(fp)           |         *(arg_3ch) = v1;
    0x00001624 jalr t9                   |         t9 ();
    0x00001628 lw gp, 0x10(fp)           |         gp = *(arg_10h);
                                         |     }
    0x0000162c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001630 lw s4, -0x7fdc(gp)        |     s4 = *((gp - 8183));
    0x00001634 addiu v0, v0, 0x27f8      |     v0 += 0x27f8;
    0x00001638 sw v0, 0x34(fp)           |     *(arg_34h) = v0;
    0x0000163c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001640 addiu s4, s4, 0x2cb8      |     s4 += fcn.00002cb8;
    0x00001644 addiu v0, v0, 0x1e30      |     v0 += 0x1e30;
    0x00001648 sw v0, 0x30(fp)           |     *(arg_30h) = v0;
    0x0000164c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001650 sw v0, 0x20(fp)           |     *(arg_20h) = v0;
    0x00001654 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001658 sw v0, 0x1c(fp)           |     *(arg_1ch) = v0;
                                         | label_2:
    0x0000165c lw t9, -0x7fa0(gp)        |     t9 = sym.imp.socket;
    0x00001660 addiu a2, zero, 0x608     |     a2 = 0x608;
    0x00001664 addiu a1, zero, 1         |     a1 = 1;
    0x00001668 addiu a0, zero, 0x11      |     a0 = 0x11;
    0x0000166c sw zero, 0xac(fp)         |     *(arg_ach) = 0;
    0x00001670 sw zero, 0x40(fp)         |     *(arg_40h) = 0;
    0x00001674 sw zero, 0x44(fp)         |     *(arg_44h) = 0;
    0x00001678 sw zero, 0x48(fp)         |     *(arg_48h) = 0;
    0x0000167c sw zero, 0x4c(fp)         |     *(arg_4ch) = 0;
    0x00001680 sw zero, 0x50(fp)         |     *(arg_50h) = 0;
    0x00001684 jalr t9                   |     t9 ();
    0x00001688 sw v0, 0x6c(fp)           |     *(arg_6ch) = v0;
    0x0000168c lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x00001690 bltz v0, 0x1b00           |         goto label_21;
                                         |     }
    0x00001694 lw t9, -0x7f64(gp)        |     t9 = sym.imp.fcntl;
    0x00001698 addiu a1, zero, 1         |     a1 = 1;
    0x0000169c move a0, v0               |     a0 = v0;
    0x000016a0 jalr t9                   |     t9 ();
    0x000016a4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x000016a8 bltz v0, 0x19f4           |         goto label_30;
                                         |     }
    0x000016ac lw t9, -0x7f64(gp)        |     t9 = sym.imp.fcntl;
    0x000016b0 lw a0, 0x6c(fp)           |     a0 = *(arg_6ch);
    0x000016b4 ori a2, v0, 1             |     a2 = v0 | 1;
    0x000016b8 addiu a1, zero, 2         |     a1 = 2;
    0x000016bc jalr t9                   |     t9 ();
    0x000016c0 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x000016c4 bltz v0, 0x19e0           |         goto label_31;
                                         |     }
    0x000016c8 lui v0, 0x608             |     v0 = 0x6080011;
    0x000016cc addiu v0, v0, 0x11        |     
    0x000016d0 sw v0, 0x40(fp)           |     *(arg_40h) = v0;
    0x000016d4 lw v0, 0x68(fp)           |     v0 = *(arg_68h);
    0x000016d8 lw t9, -0x7f68(gp)        |     t9 = sym.imp.bind;
    0x000016dc lw a0, 0x6c(fp)           |     a0 = *(arg_6ch);
    0x000016e0 addiu a2, zero, 0x14      |     a2 = 0x14;
    0x000016e4 move a1, s1               |     a1 = s1;
    0x000016e8 sw v0, 0x44(fp)           |     *(arg_44h) = v0;
    0x000016ec jalr t9                   |     t9 ();
    0x000016f0 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 < 0) {
    0x000016f4 bltz v0, 0x19b4           |         goto label_32;
                                         |     }
    0x000016f8 lw v0, 0x60(fp)           |     v0 = *(arg_60h);
    0x000016fc lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
                                         |     if (v0 != 0) {
    0x00001700 bnez v0, 0x1994           |         goto label_33;
                                         |     }
    0x00001704 lw t9, 0x34(fp)           |     t9 = *(arg_34h);
    0x00001708 move a0, s0               |     a0 = s0;
    0x0000170c jalr t9                   |     t9 ();
    0x00001710 lw v0, 0x20(fp)           |     v0 = *(arg_20h);
    0x00001714 lw a2, 0x70(fp)           |     a2 = *(arg_70h);
    0x00001718 lw t9, 0x30(fp)           |     t9 = *(arg_30h);
    0x0000171c move a3, s1               |     a3 = s1;
    0x00001720 move a1, zero             |     a1 = 0;
    0x00001724 move a0, s0               |     a0 = s0;
    0x00001728 addiu s5, zero, 4         |     s5 = 4;
    0x0000172c addiu s3, fp, 0x6c        |     s3 = fp + 0x6c;
    0x00001730 addiu s6, fp, 0x98        |     s6 = fp + 0x98;
    0x00001734 addiu s2, v0, 0x2970      |     s2 = v0 + fcn.00002970;
    0x00001738 jalr t9                   |     t9 ();
    0x0000173c lw a0, 0x68(fp)           |     a0 = *(arg_68h);
                                         |     do {
    0x00001740 move a2, s1               |         a2 = s1;
    0x00001744 move t9, s2               |         t9 = s2;
    0x00001748 move a1, s3               |         a1 = s3;
    0x0000174c bal 0x2970                |         fcn_00002970 ();
    0x00001750 move a1, s6               |         a1 = s6;
                                         |         if (v0 < 0) {
    0x00001754 bltz v0, 0x192c           |             goto label_34;
                                         |         }
    0x00001758 move t9, s4               |         t9 = s4;
    0x0000175c move a0, s0               |         a0 = s0;
    0x00001760 bal 0x2cb8                |         fcn_00002cb8 ();
    0x00001764 addiu s5, s5, -1          |         s5 += -1;
                                         |         if (v0 < 0) {
    0x00001768 bltz v0, 0x18fc           |             goto label_35;
                                         |         }
    0x0000176c lw a0, 0x68(fp)           |         a0 = *(arg_68h);
    0x00001770 bnel s5, zero, 0x1740     |         
                                         |     } while (s5 == 0);
    0x00001774 lw v0, 0x1c(fp)           |     v0 = *(arg_1ch);
    0x00001778 lw a0, 0x6c(fp)           |     a0 = *(arg_6ch);
    0x0000177c addiu s7, v0, 0x28e4      |     s7 = v0 + fcn.000028e4;
    0x00001780 addiu s5, zero, 1         |     s5 = 1;
    0x00001784 move t9, s7               |     t9 = s7;
    0x00001788 sw s5, 0x60(fp)           |     *(arg_60h) = s5;
    0x0000178c sw zero, 0xa0(fp)         |     *(arg_a0h) = 0;
    0x00001790 bal 0x28e4                |     fcn_000028e4 ();
    0x00001794 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001798 addiu s6, fp, 0x20ac      |     s6 = fp + 0x20ac;
    0x0000179c move a1, s6               |     a1 = s6;
    0x000017a0 lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x000017a4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000017a8 addiu t9, v0, 0x271c      |     t9 = v0 + fcn.0000271c;
    0x000017ac addiu a0, a0, 0x41b0      |     a0 += str.claimed__s;
    0x000017b0 sw t9, 0x28(fp)           |     *(arg_28h) = t9;
    0x000017b4 bal 0x271c                |     fcn_0000271c ();
    0x000017b8 lw t9, 0x2c(fp)           |     t9 = *(arg_2ch);
    0x000017bc move a0, s0               |     a0 = s0;
    0x000017c0 jalr t9                   |     t9 ();
    0x000017c4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000017c8 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000017cc addiu t9, t9, 0x2a34      |     t9 += fcn.00002a34;
    0x000017d0 bal 0x2a34                |     fcn_00002a34 ();
    0x000017d4 nop                       |     
    0x000017d8 lw v0, 0x60(fp)           |     v0 = *(arg_60h);
    0x000017dc lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     if (v0 != s5) {
    0x000017e0 bne v0, s5, 0x1970        |         goto label_36;
                                         |     }
    0x000017e4 addiu v0, zero, 2         |     v0 = 2;
    0x000017e8 lw t9, 0x34(fp)           |     t9 = *(arg_34h);
    0x000017ec sw v0, 0x38(fp)           |     *(arg_38h) = v0;
    0x000017f0 move a0, s0               |     a0 = s0;
    0x000017f4 sw zero, 0xa4(fp)         |     *(arg_a4h) = 0;
    0x000017f8 sw zero, 0xa8(fp)         |     *(arg_a8h) = 0;
    0x000017fc sw zero, 0x3c(fp)         |     *(arg_3ch) = 0;
    0x00001800 jalr t9                   |     t9 ();
    0x00001804 lw a2, 0x70(fp)           |     a2 = *(arg_70h);
    0x00001808 addiu s5, fp, 0x7a        |     s5 = fp + 0x7a;
    0x0000180c lw t9, 0x30(fp)           |     t9 = *(arg_30h);
    0x00001810 move a1, a2               |     a1 = a2;
    0x00001814 move a3, s5               |     a3 = s5;
    0x00001818 move a0, s0               |     a0 = s0;
    0x0000181c jalr t9                   |     t9 ();
    0x00001820 lw a0, 0x68(fp)           |     a0 = *(arg_68h);
    0x00001824 move a2, s5               |     a2 = s5;
    0x00001828 move t9, s2               |     t9 = s2;
    0x0000182c move a1, s3               |     a1 = s3;
    0x00001830 bal 0x2970                |     fcn_00002970 ();
    0x00001834 addiu a1, fp, 0x38        |     a1 = fp + 0x38;
                                         |     if (v0 < 0) {
    0x00001838 bltz v0, 0x1964           |         goto label_37;
                                         |     }
    0x0000183c move t9, s4               |     t9 = s4;
    0x00001840 move a0, s0               |     a0 = s0;
    0x00001844 bal 0x2cb8                |     fcn_00002cb8 ();
    0x00001848 move a2, s5               |     a2 = s5;
                                         |     if (v0 >= 0) {
    0x0000184c bltz v0, 0x1874           |         
    0x00001850 lw a0, 0x68(fp)           |         a0 = *(arg_68h);
    0x00001854 move t9, s2               |         t9 = s2;
    0x00001858 move a1, s3               |         a1 = s3;
    0x0000185c bal 0x2970                |         fcn_00002970 ();
    0x00001860 move a1, zero             |         a1 = 0;
                                         |         if (v0 < 0) {
    0x00001864 bltz v0, 0x1964           |             goto label_37;
                                         |         }
    0x00001868 move t9, s4               |         t9 = s4;
    0x0000186c move a0, s0               |         a0 = s0;
    0x00001870 bal 0x2cb8                |         fcn_00002cb8 ();
                                         |     }
                                         | label_4:
    0x00001874 lw a0, 0x6c(fp)           |     a0 = *(arg_6ch);
    0x00001878 move t9, s7               |     t9 = s7;
    0x0000187c sw zero, 0x60(fp)         |     *(arg_60h) = 0;
    0x00001880 bal 0x28e4                |     fcn_000028e4 ();
    0x00001884 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001888 lw t9, 0x28(fp)           |     t9 = *(arg_28h);
    0x0000188c move a1, s6               |     a1 = s6;
    0x00001890 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001894 addiu a0, a0, 0x41d8      |     a0 += str.lost__s;
    0x00001898 jalr t9                   |     t9 ();
    0x0000189c lw t9, 0x2c(fp)           |     t9 = *(arg_2ch);
    0x000018a0 move a0, s0               |     a0 = s0;
    0x000018a4 jalr t9                   |     t9 ();
    0x000018a8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
                                         |     do {
                                         | label_3:
    0x000018ac lw t9, -0x7fb0(gp)        |         t9 = sym.imp.close;
    0x000018b0 lw a0, 0x6c(fp)           |         a0 = *(arg_6ch);
    0x000018b4 jalr t9                   |         t9 ();
    0x000018b8 lw gp, 0x10(fp)           |         gp = *(arg_10h);
                                         |         if (v0 < 0) {
    0x000018bc bltz v0, 0x1a68           |             goto label_26;
                                         |         }
    0x000018c0 lw v0, 0xa0(fp)           |         v0 = *(arg_a0h);
    0x000018c4 slti v0, v0, 0xa          |         v0 = (v0 < 0xa) ? 1 : 0;
    0x000018c8 lw v0, 0xac(fp)           |         v0 = *(arg_ach);
                                         |         if (v0 != 0) {
    0x000018cc beqz v0, 0x18d8           |             
    0x000018d0 lw t9, 0x24(fp)           |             t9 = *(arg_24h);
                                         |             if (v0 == 0) {
    0x000018d4 beqz v0, 0x18e8           |                 goto label_38;
                                         |             }
                                         |         }
    0x000018d8 lw t9, -0x7f04(gp)        |         t9 = sym.imp.sleep;
    0x000018dc addiu a0, zero, 0x3c      |         a0 = 0x3c;
    0x000018e0 jalr t9                   |         t9 ();
    0x000018e4 lw t9, 0x24(fp)           |         t9 = *(arg_24h);
                                         | label_38:
    0x000018e8 move a1, zero             |         a1 = 0;
    0x000018ec move a0, s0               |         a0 = s0;
    0x000018f0 jalr t9                   |         t9 ();
    0x000018f4 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x000018f8 b 0x165c                  |         goto label_2;
                                         | label_35:
    0x000018fc lui v0, 0x7fff            |         v0 = 0x7fff0000;
    0x00001900 lw v1, 0xa0(fp)           |         v1 = *(arg_a0h);
    0x00001904 ori v0, v0, 0xffff        |         v0 |= 0xffff;
    0x00001908 lw a0, 0x6c(fp)           |         a0 = *(arg_6ch);
                                         |         if (v1 == v0) {
    0x0000190c beq v1, v0, 0x194c        |             goto label_39;
                                         |         }
    0x00001910 lw v0, 0x1c(fp)           |         v0 = *(arg_1ch);
    0x00001914 addiu v1, v1, 1           |         v1++;
    0x00001918 addiu t9, v0, 0x28e4      |         t9 = v0 + fcn.000028e4;
    0x0000191c sw v1, 0xa0(fp)           |         *(arg_a0h) = v1;
    0x00001920 bal 0x28e4                |         fcn_000028e4 ();
    0x00001924 lw gp, 0x10(fp)           |         gp = *(arg_10h);
    0x00001928 b 0x18ac                  |         
                                         |     } while (1);
                                         | label_34:
    0x0000192c lw v0, 0x1c(fp)           |     v0 = *(arg_1ch);
    0x00001930 lw a0, 0x6c(fp)           |     a0 = *(arg_6ch);
    0x00001934 addiu t9, v0, 0x28e4      |     t9 = v0 + fcn.000028e4;
    0x00001938 addiu v0, zero, 1         |     v0 = 1;
    0x0000193c sw v0, 0xac(fp)           |     *(arg_ach) = v0;
    0x00001940 bal 0x28e4                |     fcn_000028e4 ();
    0x00001944 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001948 b 0x18ac                  |     goto label_3;
                                         | label_39:
    0x0000194c lw v0, 0x1c(fp)           |     v0 = *(arg_1ch);
    0x00001950 addiu t9, v0, 0x28e4      |     t9 = v0 + fcn.000028e4;
    0x00001954 bal 0x28e4                |     fcn_000028e4 ();
    0x00001958 nop                       |     
    0x0000195c lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001960 b 0x18ac                  |     goto label_3;
                                         | label_37:
    0x00001964 addiu v0, zero, 1         |     v0 = 1;
    0x00001968 sw v0, 0xac(fp)           |     *(arg_ach) = v0;
    0x0000196c b 0x1874                  |     goto label_4;
                                         | label_36:
    0x00001970 lw a3, -0x7fdc(gp)        |     a3 = *((gp - 8183));
    0x00001974 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001978 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000197c lw t9, -0x7fb4(gp)        |     t9 = sym.imp.__assert_fail;
    0x00001980 addiu a3, a3, 0x434c      |     a3 += str.start_using_address;
    0x00001984 addiu a2, zero, 0x344     |     a2 = 0x344;
    0x00001988 addiu a1, a1, 0x3ce0      |     a1 += str.zeroconf_ip.c;
    0x0000198c addiu a0, a0, 0x41bc      |     a0 += str.this__state__CONFIGURED;
    0x00001990 jalr t9                   |     t9 ();
                                         | label_33:
    0x00001994 lw a1, -0x7fdc(gp)        |     a1 = *((gp - 8183));
    0x00001998 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x0000199c lw t9, -0x7fb4(gp)        |     t9 = sym.imp.__assert_fail;
    0x000019a0 addiu a3, a3, 0x4360      |     a3 += str.claim_address;
    0x000019a4 addiu a2, zero, 0x316     |     a2 = 0x316;
    0x000019a8 addiu a1, a1, 0x3ce0      |     a1 += str.zeroconf_ip.c;
    0x000019ac addiu a0, a0, 0x4194      |     a0 += str.this__state__DECONFIGURED;
    0x000019b0 jalr t9                   |     t9 ();
                                         | label_32:
    0x000019b4 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x000019b8 lw t9, -0x7f40(gp)        |     t9 = sym.imp.strerror;
    0x000019bc lw a0, (v0)               |     a0 = *(v0);
    0x000019c0 jalr t9                   |     t9 ();
    0x000019c4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x000019c8 move a1, v0               |     a1 = v0;
    0x000019cc lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000019d0 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000019d4 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x000019d8 addiu a0, a0, 0x4188      |     a0 += str.bind:__s;
    0x000019dc bal 0x22f0                |     fcn_000022f0 ();
                                         | label_31:
    0x000019e0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000019e4 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000019e8 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x000019ec addiu a0, a0, 0x4180      |     a0 += str.F_SETFD;
    0x000019f0 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_30:
    0x000019f4 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x000019f8 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x000019fc addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001a00 addiu a0, a0, 0x4178      |     a0 += str.F_GETFD;
    0x00001a04 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_28:
    0x00001a08 addiu t9, t9, 0x2a34      |     t9 += fcn.00002a34;
    0x00001a0c bal 0x2a34                |     fcn_00002a34 ();
    0x00001a10 nop                       |     
    0x00001a14 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001a18 b 0x15ac                  |     goto label_5;
                                         | label_29:
    0x00001a1c ori v1, v1, 0x8481        |     v1 |= 0x8481;
    0x00001a20 div zero, v0, v1          |     __asm ("div zero, v0, v1");
    0x00001a24 teq v1, zero, 7           |     __asm ("teq v1, zero, 7");
    0x00001a28 mfhi v0                   |     __asm ("mfhi v0");
    0x00001a2c b 0x15f0                  |     goto label_6;
                                         | label_13:
    0x00001a40 lw v0, -0x7eec(gp)        |     v0 = *((gp - 8123));
    0x00001a44 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001a48 lw t9, -0x7f2c(gp)        |     t9 = sym.imp.fwrite;
    0x00001a4c lw a3, (v0)               |     a3 = *(v0);
    0x00001a50 addiu a0, a0, 0x4080      |     a0 += str.zeroconf_ip:_out_of_memory_n;
    0x00001a54 addiu a2, zero, 0x1b      |     a2 = 0x1b;
    0x00001a58 b 0x111c                  |     goto label_7;
                                         | label_27:
    0x00001a5c lw v0, -0x7fdc(gp)        |     v0 = *((gp - 8183));
    0x00001a60 move a1, zero             |     a1 = 0;
    0x00001a64 b 0x1570                  |     goto label_8;
                                         | label_26:
    0x00001a68 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x00001a6c lw a0, (v0)               |     a0 = *(v0);
                                         | label_20:
    0x00001a70 lw t9, -0x7f40(gp)        |     t9 = sym.imp.strerror;
    0x00001a74 jalr t9                   |     t9 ();
    0x00001a78 nop                       |     
    0x00001a7c lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001a80 move a1, v0               |     a1 = v0;
    0x00001a84 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001a88 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001a8c addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001a90 addiu a0, a0, 0x40ec      |     a0 += str.close:__s;
    0x00001a94 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_25:
    0x00001a98 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x00001a9c lw t9, -0x7f40(gp)        |     t9 = sym.imp.strerror;
    0x00001aa0 lw a0, (v0)               |     a0 = *(v0);
    0x00001aa4 jalr t9                   |     t9 ();
    0x00001aa8 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001aac move a1, v0               |     a1 = v0;
    0x00001ab0 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001ab4 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001ab8 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001abc addiu a0, a0, 0x4154      |     a0 += str.SIOCGIFINDEX:__s;
    0x00001ac0 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_24:
    0x00001ac4 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001ac8 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001acc addiu a0, a0, 0x4138      |     a0 += str.unsupported_hardware_type;
    0x00001ad0 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_23:
    0x00001ad4 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x00001ad8 lw t9, -0x7f40(gp)        |     t9 = sym.imp.strerror;
    0x00001adc lw a0, (v0)               |     a0 = *(v0);
    0x00001ae0 jalr t9                   |     t9 ();
    0x00001ae4 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001ae8 move a1, v0               |     a1 = v0;
    0x00001aec lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001af0 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001af4 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001af8 addiu a0, a0, 0x4124      |     a0 += str.SIOCGIFHWADDR:__s;
    0x00001afc bal 0x22f0                |     fcn_000022f0 ();
                                         | label_21:
    0x00001b00 lw v0, 0x18(fp)           |     v0 = *(arg_18h);
    0x00001b04 lw t9, -0x7f40(gp)        |     t9 = sym.imp.strerror;
    0x00001b08 lw a0, (v0)               |     a0 = *(v0);
    0x00001b0c jalr t9                   |     t9 ();
    0x00001b10 lw gp, 0x10(fp)           |     gp = *(arg_10h);
    0x00001b14 move a1, v0               |     a1 = v0;
    0x00001b18 lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001b1c lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001b20 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001b24 addiu a0, a0, 0x40f8      |     a0 += str.socket:__s;
    0x00001b28 bal 0x22f0                |     fcn_000022f0 ();
                                         | label_22:
    0x00001b2c lw a0, -0x7fdc(gp)        |     a0 = *((gp - 8183));
    0x00001b30 lw t9, -0x7fdc(gp)        |     t9 = *((gp - 8183));
    0x00001b34 lw a1, 0x64(fp)           |     a1 = *(arg_64h);
    0x00001b38 addiu t9, t9, 0x22f0      |     t9 += fcn.000022f0;
    0x00001b3c addiu a0, a0, 0x4104      |     a0 += str.interface_name__s_too_long;
    0x00001b40 bal 0x22f0                |     fcn_000022f0 ();
    0x00001b44 nop                       |     
    0x00001b48 nop                       |     
    0x00001b4c nop                       |     
                                         | }

[*] Function strcpy used 2 times zeroconf-ip