[*] Binary protection state of ipv6_network_helper

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


[*] Function printf tear down of ipv6_network_helper

    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ipv6_network_helper @ 0x401150 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) sym.open_icmpv6_socket__ ()      | void open_icmpv6_socket_ () {
                                             |     /* open_icmpv6_socket() */
    0x00401150 lui gp, 2                     |     
    0x00401154 addiu gp, gp, -0x5130         |     
    0x00401158 addu gp, gp, t9               |     gp += t9;
    0x0040115c addiu sp, sp, -0x60           |     
    0x00401160 sw ra, 0x5c(sp)               |     *(var_5ch) = ra;
    0x00401164 sw fp, 0x58(sp)               |     *(var_58h) = fp;
    0x00401168 sw s0, 0x54(sp)               |     *(var_54h) = s0;
    0x0040116c move fp, sp                   |     fp = sp;
    0x00401170 sw gp, 0x18(sp)               |     *(var_18h) = gp;
    0x00401174 lw t8, -0x7f18(gp)            |     t8 = *((gp - 8134));
    0x00401178 lw t8, (t8)                   |     t8 = *(t8);
    0x0040117c sw t8, 0x4c(fp)               |     *(arg_4ch) = t8;
    0x00401180 addiu t8, zero, -1            |     t8 = -1;
    0x00401184 sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x00401188 sw zero, 0x28(fp)             |     *(arg_28h) = 0;
    0x0040118c addiu t8, zero, 1             |     t8 = 1;
    0x00401190 sw t8, 0x20(fp)               |     *(arg_20h) = t8;
    0x00401194 addiu a0, zero, 0xa           |     a0 = 0xa;
    0x00401198 addiu a1, zero, 3             |     a1 = 3;
    0x0040119c addiu a2, zero, 0x3a          |     a2 = 0x3a;
    0x004011a0 lw t8, -0x7f94(gp)            |     t8 = sym.imp.socket;
    0x004011a4 move t9, t8                   |     t9 = t8;
    0x004011a8 jalr t9                       |     t9 ();
    0x004011ac nop                           |     
    0x004011b0 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x004011b4 sw v0, 0x24(fp)               |     *(arg_24h) = v0;
    0x004011b8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
                                             |     if (t8 < 0) {
    0x004011bc bgez t8, 0x401234             |         
    0x004011c0 nop                           |         
    0x004011c4 lw t8, -0x7f64(gp)            |         t8 = *((gp - 8153));
    0x004011c8 lw s0, (t8)                   |         s0 = *(t8);
    0x004011cc lw t8, -0x7f14(gp)            |         t8 = sym.imp.__errno_location;
    0x004011d0 move t9, t8                   |         t9 = t8;
    0x004011d4 jalr t9                       |         t9 ();
    0x004011d8 nop                           |         
    0x004011dc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004011e0 move t8, v0                   |         t8 = v0;
    0x004011e4 lw t8, (t8)                   |         t8 = *(t8);
    0x004011e8 move a0, t8                   |         a0 = t8;
    0x004011ec lw t8, -0x7fa4(gp)            |         t8 = sym.imp.strerror;
    0x004011f0 move t9, t8                   |         t9 = t8;
    0x004011f4 jalr t9                       |         t9 ();
    0x004011f8 nop                           |         
    0x004011fc lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00401200 move t8, v0                   |         t8 = v0;
    0x00401204 move a0, s0                   |         a0 = s0;
    0x00401208 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         /* str.socket__:__s_n */
    0x0040120c addiu a1, v0, 0x30a0          |         a1 = v0 + 0x30a0;
    0x00401210 move a2, t8                   |         a2 = t8;
    0x00401214 lw t8, -0x7f88(gp)            |         t8 = sym.imp.fprintf
    0x00401218 move t9, t8                   |         t9 = t8;
    0x0040121c jalr t9                       |         t9 ();
    0x00401220 nop                           |         
    0x00401224 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00401228 addiu t8, zero, -1            |         t8 = -1;
    0x0040122c b 0x4013fc                    |         goto label_0;
    0x00401230 nop                           |         
                                             |     }
    0x00401234 addiu t8, fp, 0x20            |     t8 = fp + 0x20;
    0x00401238 addiu v0, zero, 4             |     v0 = 4;
    0x0040123c sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x00401240 lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00401244 addiu a1, zero, 0x29          |     a1 = 0x29;
    0x00401248 addiu a2, zero, 0x31          |     a2 = 0x31;
    0x0040124c move a3, t8                   |     a3 = t8;
    0x00401250 lw t8, -0x7f5c(gp)            |     t8 = sym.imp.setsockopt;
    0x00401254 move t9, t8                   |     t9 = t8;
    0x00401258 jalr t9                       |     t9 ();
    0x0040125c nop                           |     
    0x00401260 lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00401264 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x00401268 lw t8, 0x28(fp)               |     t8 = *(arg_28h);
                                             |     if (t8 < 0) {
    0x0040126c bgez t8, 0x4012fc             |         
    0x00401270 nop                           |         
    0x00401274 lw t8, -0x7f64(gp)            |         t8 = *((gp - 8153));
    0x00401278 lw s0, (t8)                   |         s0 = *(t8);
    0x0040127c lw t8, -0x7f14(gp)            |         t8 = sym.imp.__errno_location;
    0x00401280 move t9, t8                   |         t9 = t8;
    0x00401284 jalr t9                       |         t9 ();
    0x00401288 nop                           |         
    0x0040128c lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x00401290 move t8, v0                   |         t8 = v0;
    0x00401294 lw t8, (t8)                   |         t8 = *(t8);
    0x00401298 move a0, t8                   |         a0 = t8;
    0x0040129c lw t8, -0x7fa4(gp)            |         t8 = sym.imp.strerror;
    0x004012a0 move t9, t8                   |         t9 = t8;
    0x004012a4 jalr t9                       |         t9 ();
    0x004012a8 nop                           |         
    0x004012ac lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004012b0 move t8, v0                   |         t8 = v0;
    0x004012b4 move a0, s0                   |         a0 = s0;
    0x004012b8 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         /* str.setsockopt_IPV6_RECVPKTINFO_:__s_n */
    0x004012bc addiu a1, v0, 0x30b0          |         a1 = v0 + 0x30b0;
    0x004012c0 move a2, t8                   |         a2 = t8;
    0x004012c4 lw t8, -0x7f88(gp)            |         t8 = sym.imp.fprintf
    0x004012c8 move t9, t8                   |         t9 = t8;
    0x004012cc jalr t9                       |         t9 ();
    0x004012d0 nop                           |         
    0x004012d4 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004012d8 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x004012dc lw t8, -0x7f78(gp)            |         t8 = sym.imp.close;
    0x004012e0 move t9, t8                   |         t9 = t8;
    0x004012e4 jalr t9                       |         t9 ();
    0x004012e8 nop                           |         
    0x004012ec lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004012f0 addiu t8, zero, -1            |         t8 = -1;
    0x004012f4 b 0x4013fc                    |         goto label_0;
    0x004012f8 nop                           |         
                                             |     }
    0x004012fc addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x00401300 move a0, t8                   |     a0 = t8;
    0x00401304 addiu a1, zero, 0xff          |     a1 = 0xff;
    0x00401308 addiu a2, zero, 0x20          |     a2 = 0x20;
    0x0040130c lw t8, -0x7f7c(gp)            |     t8 = sym.imp.memset;
    0x00401310 move t9, t8                   |     t9 = t8;
    0x00401314 jalr t9                       |     t9 ();
    0x00401318 nop                           |     
    0x0040131c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00401320 lw v0, 0x3c(fp)               |     v0 = *(arg_3ch);
    0x00401324 addiu t8, zero, -0x41         |     t8 = -0x41;
    0x00401328 and t8, v0, t8                |     t8 = v0 & t8;
    0x0040132c sw t8, 0x3c(fp)               |     *(arg_3ch) = t8;
    0x00401330 addiu t8, fp, 0x2c            |     t8 = fp + 0x2c;
    0x00401334 addiu v0, zero, 0x20          |     v0 = 0x20;
    0x00401338 sw v0, 0x10(sp)               |     *(var_10h) = v0;
    0x0040133c lw a0, 0x24(fp)               |     a0 = *(arg_24h);
    0x00401340 addiu a1, zero, 0x3a          |     a1 = 0x3a;
    0x00401344 addiu a2, zero, 1             |     a2 = 1;
    0x00401348 move a3, t8                   |     a3 = t8;
    0x0040134c lw t8, -0x7f5c(gp)            |     t8 = sym.imp.setsockopt;
    0x00401350 move t9, t8                   |     t9 = t8;
    0x00401354 jalr t9                       |     t9 ();
    0x00401358 nop                           |     
    0x0040135c lw gp, 0x18(fp)               |     gp = *(arg_18h);
    0x00401360 sw v0, 0x28(fp)               |     *(arg_28h) = v0;
    0x00401364 lw t8, 0x28(fp)               |     t8 = *(arg_28h);
                                             |     if (t8 < 0) {
    0x00401368 bgez t8, 0x4013f8             |         
    0x0040136c nop                           |         
    0x00401370 lw t8, -0x7f64(gp)            |         t8 = *((gp - 8153));
    0x00401374 lw s0, (t8)                   |         s0 = *(t8);
    0x00401378 lw t8, -0x7f14(gp)            |         t8 = sym.imp.__errno_location;
    0x0040137c move t9, t8                   |         t9 = t8;
    0x00401380 jalr t9                       |         t9 ();
    0x00401384 nop                           |         
    0x00401388 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x0040138c move t8, v0                   |         t8 = v0;
    0x00401390 lw t8, (t8)                   |         t8 = *(t8);
    0x00401394 move a0, t8                   |         a0 = t8;
    0x00401398 lw t8, -0x7fa4(gp)            |         t8 = sym.imp.strerror;
    0x0040139c move t9, t8                   |         t9 = t8;
    0x004013a0 jalr t9                       |         t9 ();
    0x004013a4 nop                           |         
    0x004013a8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004013ac move t8, v0                   |         t8 = v0;
    0x004013b0 move a0, s0                   |         a0 = s0;
    0x004013b4 lw v0, -0x7fdc(gp)            |         v0 = *(gp);
                                             |         /* str.setsockopt_ICMPV6_FILTER_:__s_n */
    0x004013b8 addiu a1, v0, 0x30d4          |         a1 = v0 + 0x30d4;
    0x004013bc move a2, t8                   |         a2 = t8;
    0x004013c0 lw t8, -0x7f88(gp)            |         t8 = sym.imp.fprintf
    0x004013c4 move t9, t8                   |         t9 = t8;
    0x004013c8 jalr t9                       |         t9 ();
    0x004013cc nop                           |         
    0x004013d0 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004013d4 lw a0, 0x24(fp)               |         a0 = *(arg_24h);
    0x004013d8 lw t8, -0x7f78(gp)            |         t8 = sym.imp.close;
    0x004013dc move t9, t8                   |         t9 = t8;
    0x004013e0 jalr t9                       |         t9 ();
    0x004013e4 nop                           |         
    0x004013e8 lw gp, 0x18(fp)               |         gp = *(arg_18h);
    0x004013ec addiu t8, zero, -1            |         t8 = -1;
    0x004013f0 b 0x4013fc                    |         goto label_0;
    0x004013f4 nop                           |         
                                             |     }
    0x004013f8 lw t8, 0x24(fp)               |     t8 = *(arg_24h);
                                             | label_0:
    0x004013fc move v0, t8                   |     v0 = t8;
    0x00401400 lw t8, -0x7f18(gp)            |     t8 = *((gp - 8134));
    0x00401404 lw v1, 0x4c(fp)               |     v1 = *(arg_4ch);
    0x00401408 lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x0040140c beq v1, t8, 0x401424          |         
    0x00401410 nop                           |         
    0x00401414 lw t8, -0x7f60(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00401418 move t9, t8                   |         t9 = t8;
    0x0040141c jalr t9                       |         t9 ();
    0x00401420 nop                           |         
                                             |     }
    0x00401424 move sp, fp                   |     
    0x00401428 lw ra, 0x5c(sp)               |     ra = *(var_5ch);
    0x0040142c lw fp, 0x58(sp)               |     fp = *(var_58h);
    0x00401430 lw s0, 0x54(sp)               |     s0 = *(var_54h);
    0x00401434 addiu sp, sp, 0x60            |     
    0x00401438 jr ra                         |     return v1;
    0x0040143c nop                           |     
                                             | }
    ; assembly                                                                                           | /* r2dec pseudo code output */
                                                                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ipv6_network_helper @ 0x401440 */
                                                                                                         | #include <stdint.h>
                                                                                                         |  
    ; (fcn) sym.recv_rs_ra_int__unsigned_char__sockaddr_in6__in6_pktinfo__int__unsigned_char_ ()         | void recv_rs_ra_int_unsigned_char_sockaddr_in6_in6_pktinfo_int_unsigned_char_ () {
                                                                                                         |     /* recv_rs_ra(int, unsigned char*, sockaddr_in6*, in6_pktinfo**, int*, unsigned char*) */
    0x00401440 lui gp, 2                                                                                 |     
    0x00401444 addiu gp, gp, -0x5420                                                                     |     
    0x00401448 addu gp, gp, t9                                                                           |     gp += t9;
    0x0040144c addiu sp, sp, -0x88                                                                       |     
    0x00401450 sw ra, 0x84(sp)                                                                           |     *(var_84h) = ra;
    0x00401454 sw fp, 0x80(sp)                                                                           |     *(var_80h) = fp;
    0x00401458 sw s0, 0x7c(sp)                                                                           |     *(var_7ch) = s0;
    0x0040145c move fp, sp                                                                               |     fp = sp;
    0x00401460 sw gp, 0x10(sp)                                                                           |     *(var_10h) = gp;
    0x00401464 sw a0, 0x2c(fp)                                                                           |     *(arg_2ch) = a0;
    0x00401468 sw a1, 0x28(fp)                                                                           |     *(arg_28h) = a1;
    0x0040146c sw a2, 0x24(fp)                                                                           |     *(arg_24h) = a2;
    0x00401470 sw a3, 0x20(fp)                                                                           |     *(arg_20h) = a3;
    0x00401474 lw t8, 0x98(fp)                                                                           |     t8 = *(arg_98h);
    0x00401478 sw t8, 0x1c(fp)                                                                           |     *(arg_1ch) = t8;
    0x0040147c lw t8, 0x9c(fp)                                                                           |     t8 = *(arg_9ch);
    0x00401480 sw t8, 0x18(fp)                                                                           |     *(arg_18h) = t8;
    0x00401484 lw t8, -0x7f18(gp)                                                                        |     t8 = *((gp - 8134));
    0x00401488 lw t8, (t8)                                                                               |     t8 = *(t8);
    0x0040148c sw t8, 0x74(fp)                                                                           |     *(arg_74h) = t8;
    0x00401490 addiu t8, zero, 0x5dc                                                                     |     t8 = 0x5dc;
    0x00401494 sw t8, 0x44(fp)                                                                           |     *(arg_44h) = t8;
    0x00401498 lw t8, 0x28(fp)                                                                           |     t8 = *(arg_28h);
    0x0040149c sw t8, 0x40(fp)                                                                           |     *(arg_40h) = t8;
    0x004014a0 addiu t8, fp, 0x48                                                                        |     t8 = fp + 0x48;
    0x004014a4 move a0, t8                                                                               |     a0 = t8;
    0x004014a8 move a1, zero                                                                             |     a1 = 0;
    0x004014ac addiu a2, zero, 0x1c                                                                      |     a2 = 0x1c;
    0x004014b0 lw t8, -0x7f7c(gp)                                                                        |     t8 = sym.imp.memset;
    0x004014b4 move t9, t8                                                                               |     t9 = t8;
    0x004014b8 jalr t9                                                                                   |     t9 ();
    0x004014bc nop                                                                                       |     
    0x004014c0 lw gp, 0x10(fp)                                                                           |     gp = *(arg_10h);
    0x004014c4 lw t8, 0x24(fp)                                                                           |     t8 = *(arg_24h);
    0x004014c8 sw t8, 0x48(fp)                                                                           |     *(arg_48h) = t8;
    0x004014cc addiu t8, zero, 0x1c                                                                      |     t8 = 0x1c;
    0x004014d0 sw t8, 0x4c(fp)                                                                           |     *(arg_4ch) = t8;
    0x004014d4 addiu t8, fp, 0x40                                                                        |     t8 = fp + 0x40;
    0x004014d8 sw t8, 0x50(fp)                                                                           |     *(arg_50h) = t8;
    0x004014dc addiu t8, zero, 1                                                                         |     t8 = 1;
    0x004014e0 sw t8, 0x54(fp)                                                                           |     *(arg_54h) = t8;
    0x004014e4 lw t8, 0x18(fp)                                                                           |     t8 = *(arg_18h);
    0x004014e8 sw t8, 0x58(fp)                                                                           |     *(arg_58h) = t8;
    0x004014ec addiu t8, zero, 0x18                                                                      |     t8 = 0x18;
    0x004014f0 addiu v0, t8, -1                                                                          |     v0 = t8 + -1;
    0x004014f4 addiu t8, zero, -4                                                                        |     t8 = -4;
    0x004014f8 and v0, v0, t8                                                                            |     v0 &= t8;
    0x004014fc addiu t8, zero, 0x10                                                                      |     t8 = 0x10;
    0x00401500 addiu v1, t8, -1                                                                          |     v1 = t8 + -1;
    0x00401504 addiu t8, zero, -4                                                                        |     t8 = -4;
    0x00401508 and t8, v1, t8                                                                            |     t8 = v1 & t8;
    0x0040150c addu v0, v0, t8                                                                           |     v0 += t8;
    0x00401510 addiu t8, zero, 8                                                                         |     t8 = 8;
    0x00401514 addiu v1, t8, -1                                                                          |     v1 = t8 + -1;
    0x00401518 addiu t8, zero, -4                                                                        |     t8 = -4;
    0x0040151c and v1, v1, t8                                                                            |     v1 &= t8;
    0x00401520 addiu t8, zero, 0x10                                                                      |     t8 = 0x10;
    0x00401524 addiu a0, t8, -1                                                                          |     a0 = t8 + -1;
    0x00401528 addiu t8, zero, -4                                                                        |     t8 = -4;
    0x0040152c and t8, a0, t8                                                                            |     t8 = a0 & t8;
    0x00401530 addu t8, v1, t8                                                                           |     t8 = v1 + t8;
    0x00401534 addu t8, v0, t8                                                                           |     t8 = v0 + t8;
    0x00401538 sw t8, 0x5c(fp)                                                                           |     *(arg_5ch) = t8;
    0x0040153c addiu t8, fp, 0x48                                                                        |     t8 = fp + 0x48;
    0x00401540 lw a0, 0x2c(fp)                                                                           |     a0 = *(arg_2ch);
    0x00401544 move a1, t8                                                                               |     a1 = t8;
    0x00401548 move a2, zero                                                                             |     a2 = 0;
    0x0040154c lw t8, -0x7f90(gp)                                                                        |     t8 = sym.imp.recvmsg;
    0x00401550 move t9, t8                                                                               |     t9 = t8;
    0x00401554 jalr t9                                                                                   |     t9 ();
    0x00401558 nop                                                                                       |     
    0x0040155c lw gp, 0x10(fp)                                                                           |     gp = *(arg_10h);
    0x00401560 move t8, v0                                                                               |     t8 = v0;
    0x00401564 sw t8, 0x38(fp)                                                                           |     *(arg_38h) = t8;
    0x00401568 lw t8, 0x38(fp)                                                                           |     t8 = *(arg_38h);
                                                                                                         |     if (t8 < 0) {
    0x0040156c bgez t8, 0x40160c                                                                         |         
    0x00401570 nop                                                                                       |         
    0x00401574 lw t8, -0x7f14(gp)                                                                        |         t8 = sym.imp.__errno_location;
    0x00401578 move t9, t8                                                                               |         t9 = t8;
    0x0040157c jalr t9                                                                                   |         t9 ();
    0x00401580 nop                                                                                       |         
    0x00401584 lw gp, 0x10(fp)                                                                           |         gp = *(arg_10h);
    0x00401588 move t8, v0                                                                               |         t8 = v0;
    0x0040158c lw v0, (t8)                                                                               |         v0 = *(t8);
    0x00401590 addiu t8, zero, 4                                                                         |         t8 = 4;
                                                                                                         |         if (v0 != t8) {
    0x00401594 beq v0, t8, 0x401600                                                                      |             
    0x00401598 nop                                                                                       |             
    0x0040159c lw t8, -0x7f64(gp)                                                                        |             t8 = *((gp - 8153));
    0x004015a0 lw s0, (t8)                                                                               |             s0 = *(t8);
    0x004015a4 lw t8, -0x7f14(gp)                                                                        |             t8 = sym.imp.__errno_location;
    0x004015a8 move t9, t8                                                                               |             t9 = t8;
    0x004015ac jalr t9                                                                                   |             t9 ();
    0x004015b0 nop                                                                                       |             
    0x004015b4 lw gp, 0x10(fp)                                                                           |             gp = *(arg_10h);
    0x004015b8 move t8, v0                                                                               |             t8 = v0;
    0x004015bc lw t8, (t8)                                                                               |             t8 = *(t8);
    0x004015c0 move a0, t8                                                                               |             a0 = t8;
    0x004015c4 lw t8, -0x7fa4(gp)                                                                        |             t8 = sym.imp.strerror;
    0x004015c8 move t9, t8                                                                               |             t9 = t8;
    0x004015cc jalr t9                                                                                   |             t9 ();
    0x004015d0 nop                                                                                       |             
    0x004015d4 lw gp, 0x10(fp)                                                                           |             gp = *(arg_10h);
    0x004015d8 move t8, v0                                                                               |             t8 = v0;
    0x004015dc move a0, s0                                                                               |             a0 = s0;
    0x004015e0 lw v0, -0x7fdc(gp)                                                                        |             v0 = *(gp);
                                                                                                         |             /* str.recvmsg__:__s_n */
    0x004015e4 addiu a1, v0, 0x30f4                                                                      |             a1 = v0 + 0x30f4;
    0x004015e8 move a2, t8                                                                               |             a2 = t8;
    0x004015ec lw t8, -0x7f88(gp)                                                                        |             t8 = sym.imp.fprintf
    0x004015f0 move t9, t8                                                                               |             t9 = t8;
    0x004015f4 jalr t9                                                                                   |             t9 ();
    0x004015f8 nop                                                                                       |             
    0x004015fc lw gp, 0x10(fp)                                                                           |             gp = *(arg_10h);
                                                                                                         |         }
    0x00401600 lw t8, 0x38(fp)                                                                           |         t8 = *(arg_38h);
    0x00401604 b 0x401878                                                                                |         goto label_0;
    0x00401608 nop                                                                                       |         
                                                                                                         |     }
    0x0040160c lw t8, 0x1c(fp)                                                                           |     t8 = *(arg_1ch);
    0x00401610 addiu v0, zero, 0xff                                                                      |     v0 = 0xff;
    0x00401614 sw v0, (t8)                                                                               |     *(t8) = v0;
    0x00401618 lw t8, 0x5c(fp)                                                                           |     t8 = *(arg_5ch);
    0x0040161c sltiu t8, t8, 0xc                                                                         |     t8 = (t8 < 0xc) ? 1 : 0;
                                                                                                         |     if (t8 == 0) {
    0x00401620 bnez t8, 0x401634                                                                         |         
    0x00401624 nop                                                                                       |         
    0x00401628 lw t8, 0x58(fp)                                                                           |         t8 = *(arg_58h);
    0x0040162c b 0x401638                                                                                |         goto label_1;
    0x00401630 nop                                                                                       |         
                                                                                                         |     }
    0x00401634 move t8, zero                                                                             |     t8 = 0;
                                                                                                         | label_1:
    0x00401638 sw t8, 0x34(fp)                                                                           |     *(arg_34h) = t8;
    0x0040163c b 0x401808                                                                                |     goto label_2;
    0x00401640 nop                                                                                       |     
                                                                                                         |     do {
    0x00401644 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x00401648 lw v0, 4(t8)                                                                              |         v0 = *((t8 + 1));
    0x0040164c addiu t8, zero, 0x29                                                                      |         t8 = 0x29;
                                                                                                         |         if (v0 != t8) {
    0x00401650 beq v0, t8, 0x401660                                                                      |             
    0x00401654 nop                                                                                       |             
    0x00401658 b 0x4017e4                                                                                |             goto label_3;
    0x0040165c nop                                                                                       |             
                                                                                                         |         }
    0x00401660 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x00401664 lw t8, 8(t8)                                                                              |         t8 = *((t8 + 2));
    0x00401668 addiu v0, zero, 0x32                                                                      |         v0 = 0x32;
                                                                                                         |         if (t8 != v0) {
    0x0040166c beq t8, v0, 0x401740                                                                      |             
    0x00401670 nop                                                                                       |             
    0x00401674 addiu v0, zero, 0x34                                                                      |             v0 = 0x34;
                                                                                                         |             if (t8 != v0) {
    0x00401678 bne t8, v0, 0x4017e4                                                                      |                 goto label_3;
                                                                                                         |             }
    0x0040167c nop                                                                                       |             
    0x00401680 lw t8, 0x34(fp)                                                                           |             t8 = *(arg_34h);
    0x00401684 lw v0, (t8)                                                                               |             v0 = *(t8);
    0x00401688 addiu t8, zero, 0x10                                                                      |             t8 = 0x10;
    0x0040168c addiu v1, t8, -1                                                                          |             v1 = t8 + -1;
    0x00401690 addiu t8, zero, -4                                                                        |             t8 = -4;
    0x00401694 and t8, v1, t8                                                                            |             t8 = v1 & t8;
    0x00401698 addiu t8, t8, 4                                                                           |             t8 += 4;
                                                                                                         |             if (v0 == t8) {
    0x0040169c bne v0, t8, 0x4016ec                                                                      |                 
    0x004016a0 nop                                                                                       |                 
    0x004016a4 lw t8, 0x34(fp)                                                                           |                 t8 = *(arg_34h);
    0x004016a8 addiu t8, t8, 0xc                                                                         |                 t8 += 0xc;
    0x004016ac lw t8, (t8)                                                                               |                 t8 = *(t8);
                                                                                                         |                 if (t8 < 0) {
    0x004016b0 bltz t8, 0x4016ec                                                                         |                     goto label_4;
                                                                                                         |                 }
    0x004016b4 nop                                                                                       |                 
    0x004016b8 lw t8, 0x34(fp)                                                                           |                 t8 = *(arg_34h);
    0x004016bc addiu t8, t8, 0xc                                                                         |                 t8 += 0xc;
    0x004016c0 lw t8, (t8)                                                                               |                 t8 = *(t8);
    0x004016c4 slti t8, t8, 0x100                                                                        |                 t8 = (t8 < 0x100) ? 1 : 0;
                                                                                                         |                 if (t8 == 0) {
    0x004016c8 beqz t8, 0x4016ec                                                                         |                     goto label_4;
                                                                                                         |                 }
    0x004016cc nop                                                                                       |                 
    0x004016d0 lw t8, 0x34(fp)                                                                           |                 t8 = *(arg_34h);
    0x004016d4 addiu t8, t8, 0xc                                                                         |                 t8 += 0xc;
    0x004016d8 lw v0, (t8)                                                                               |                 v0 = *(t8);
    0x004016dc lw t8, 0x1c(fp)                                                                           |                 t8 = *(arg_1ch);
    0x004016e0 sw v0, (t8)                                                                               |                 *(t8) = v0;
    0x004016e4 b 0x4017e4                                                                                |                 goto label_3;
    0x004016e8 nop                                                                                       |                 
                                                                                                         |             }
                                                                                                         | label_4:
    0x004016ec lw t8, -0x7f64(gp)                                                                        |             t8 = *((gp - 8153));
    0x004016f0 lw v1, (t8)                                                                               |             v1 = *(t8);
    0x004016f4 lw t8, 0x34(fp)                                                                           |             t8 = *(arg_34h);
    0x004016f8 lw t8, (t8)                                                                               |             t8 = *(t8);
    0x004016fc move v0, t8                                                                               |             v0 = t8;
    0x00401700 lw t8, 0x34(fp)                                                                           |             t8 = *(arg_34h);
    0x00401704 addiu t8, t8, 0xc                                                                         |             t8 += 0xc;
    0x00401708 lw t8, (t8)                                                                               |             t8 = *(t8);
    0x0040170c move a0, v1                                                                               |             a0 = v1;
    0x00401710 lw v1, -0x7fdc(gp)                                                                        |             v1 = *(gp);
                                                                                                         |             /* str.received_a_bogus_IPV6_HOPLIMIT_from_the_kernel__len_d__data_d_n */
    0x00401714 addiu a1, v1, 0x3104                                                                      |             a1 = v1 + 0x3104;
    0x00401718 move a2, v0                                                                               |             a2 = v0;
    0x0040171c move a3, t8                                                                               |             a3 = t8;
    0x00401720 lw t8, -0x7f88(gp)                                                                        |             t8 = sym.imp.fprintf
    0x00401724 move t9, t8                                                                               |             t9 = t8;
    0x00401728 jalr t9                                                                                   |             t9 ();
    0x0040172c nop                                                                                       |             
    0x00401730 lw gp, 0x10(fp)                                                                           |             gp = *(arg_10h);
    0x00401734 addiu t8, zero, -1                                                                        |             t8 = -1;
    0x00401738 b 0x401878                                                                                |             goto label_0;
    0x0040173c nop                                                                                       |             
                                                                                                         |         }
    0x00401740 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x00401744 lw v0, (t8)                                                                               |         v0 = *(t8);
    0x00401748 addiu t8, zero, 0x10                                                                      |         t8 = 0x10;
    0x0040174c addiu v1, t8, -1                                                                          |         v1 = t8 + -1;
    0x00401750 addiu t8, zero, -4                                                                        |         t8 = -4;
    0x00401754 and t8, v1, t8                                                                            |         t8 = v1 & t8;
    0x00401758 addiu t8, t8, 0x14                                                                        |         t8 += 0x14;
                                                                                                         |         if (v0 == t8) {
    0x0040175c bne v0, t8, 0x401790                                                                      |             
    0x00401760 nop                                                                                       |             
    0x00401764 lw t8, 0x34(fp)                                                                           |             t8 = *(arg_34h);
    0x00401768 addiu t8, t8, 0xc                                                                         |             t8 += 0xc;
    0x0040176c lw t8, 0x10(t8)                                                                           |             t8 = *((t8 + 4));
                                                                                                         |             if (t8 == 0) {
    0x00401770 beqz t8, 0x401790                                                                         |                 goto label_5;
                                                                                                         |             }
    0x00401774 nop                                                                                       |             
    0x00401778 lw t8, 0x34(fp)                                                                           |             t8 = *(arg_34h);
    0x0040177c addiu v0, t8, 0xc                                                                         |             v0 = t8 + 0xc;
    0x00401780 lw t8, 0x20(fp)                                                                           |             t8 = *(arg_20h);
    0x00401784 sw v0, (t8)                                                                               |             *(t8) = v0;
    0x00401788 b 0x4017e4                                                                                |             goto label_3;
    0x0040178c nop                                                                                       |             
                                                                                                         |         }
                                                                                                         | label_5:
    0x00401790 lw t8, -0x7f64(gp)                                                                        |         t8 = *((gp - 8153));
    0x00401794 lw v1, (t8)                                                                               |         v1 = *(t8);
    0x00401798 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x0040179c lw t8, (t8)                                                                               |         t8 = *(t8);
    0x004017a0 move v0, t8                                                                               |         v0 = t8;
    0x004017a4 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x004017a8 addiu t8, t8, 0xc                                                                         |         t8 += 0xc;
    0x004017ac lw t8, 0x10(t8)                                                                           |         t8 = *((t8 + 4));
    0x004017b0 move a0, v1                                                                               |         a0 = v1;
    0x004017b4 lw v1, -0x7fdc(gp)                                                                        |         v1 = *(gp);
                                                                                                         |         /* str.received_a_bogus_IPV6_PKTINFO_from_the_kernel__len_d__index_d_n */
    0x004017b8 addiu a1, v1, 0x3148                                                                      |         a1 = v1 + 0x3148;
    0x004017bc move a2, v0                                                                               |         a2 = v0;
    0x004017c0 move a3, t8                                                                               |         a3 = t8;
    0x004017c4 lw t8, -0x7f88(gp)                                                                        |         t8 = sym.imp.fprintf
    0x004017c8 move t9, t8                                                                               |         t9 = t8;
    0x004017cc jalr t9                                                                                   |         t9 ();
    0x004017d0 nop                                                                                       |         
    0x004017d4 lw gp, 0x10(fp)                                                                           |         gp = *(arg_10h);
    0x004017d8 addiu t8, zero, -1                                                                        |         t8 = -1;
    0x004017dc b 0x401878                                                                                |         goto label_0;
    0x004017e0 nop                                                                                       |         
                                                                                                         | label_3:
    0x004017e4 addiu t8, fp, 0x48                                                                        |         t8 = fp + 0x48;
    0x004017e8 move a0, t8                                                                               |         a0 = t8;
    0x004017ec lw a1, 0x34(fp)                                                                           |         a1 = *(arg_34h);
    0x004017f0 lw t8, -0x7f30(gp)                                                                        |         t8 = sym.imp.__cmsg_nxthdr;
    0x004017f4 move t9, t8                                                                               |         t9 = t8;
    0x004017f8 jalr t9                                                                                   |         t9 ();
    0x004017fc nop                                                                                       |         
    0x00401800 lw gp, 0x10(fp)                                                                           |         gp = *(arg_10h);
    0x00401804 sw v0, 0x34(fp)                                                                           |         *(arg_34h) = v0;
                                                                                                         | label_2:
    0x00401808 lw t8, 0x34(fp)                                                                           |         t8 = *(arg_34h);
    0x0040180c bnez t8, 0x401644                                                                         |         
                                                                                                         |     } while (t8 != 0);
    0x00401810 nop                                                                                       |     
    0x00401814 sw zero, 0x64(fp)                                                                         |     *(arg_64h) = 0;
    0x00401818 sw zero, 0x68(fp)                                                                         |     *(arg_68h) = 0;
    0x0040181c sw zero, 0x6c(fp)                                                                         |     *(arg_6ch) = 0;
    0x00401820 sw zero, 0x70(fp)                                                                         |     *(arg_70h) = 0;
    0x00401824 sw zero, 0x3c(fp)                                                                         |     *(arg_3ch) = 0;
    0x00401828 lw t8, 0x20(fp)                                                                           |     t8 = *(arg_20h);
                                                                                                         |     if (t8 != 0) {
    0x0040182c beqz t8, 0x401874                                                                         |         
    0x00401830 nop                                                                                       |         
    0x00401834 lw t8, 0x20(fp)                                                                           |         t8 = *(arg_20h);
    0x00401838 lw t8, (t8)                                                                               |         t8 = *(t8);
                                                                                                         |         if (t8 == 0) {
    0x0040183c beqz t8, 0x401874                                                                         |             goto label_6;
                                                                                                         |         }
    0x00401840 nop                                                                                       |         
    0x00401844 lw t8, 0x20(fp)                                                                           |         t8 = *(arg_20h);
    0x00401848 lw t8, (t8)                                                                               |         t8 = *(t8);
    0x0040184c lw v0, 0x10(t8)                                                                           |         v0 = *((t8 + 4));
    0x00401850 addiu t8, fp, 0x64                                                                        |         t8 = fp + 0x64;
    0x00401854 move a0, v0                                                                               |         a0 = v0;
    0x00401858 move a1, t8                                                                               |         a1 = t8;
    0x0040185c lw t8, -0x7f44(gp)                                                                        |         t8 = sym.imp.if_indextoname;
    0x00401860 move t9, t8                                                                               |         t9 = t8;
    0x00401864 jalr t9                                                                                   |         t9 ();
    0x00401868 nop                                                                                       |         
    0x0040186c lw gp, 0x10(fp)                                                                           |         gp = *(arg_10h);
    0x00401870 sw v0, 0x3c(fp)                                                                           |         *(arg_3ch) = v0;
                                                                                                         |     }
                                                                                                         | label_6:
    0x00401874 lw t8, 0x38(fp)                                                                           |     t8 = *(arg_38h);
                                                                                                         | label_0:
    0x00401878 move v0, t8                                                                               |     v0 = t8;
    0x0040187c lw t8, -0x7f18(gp)                                                                        |     t8 = *((gp - 8134));
    0x00401880 lw v1, 0x74(fp)                                                                           |     v1 = *(arg_74h);
    0x00401884 lw t8, (t8)                                                                               |     t8 = *(t8);
                                                                                                         |     if (v1 != t8) {
    0x00401888 beq v1, t8, 0x4018a0                                                                      |         
    0x0040188c nop                                                                                       |         
    0x00401890 lw t8, -0x7f60(gp)                                                                        |         t8 = sym.imp.__stack_chk_fail;
    0x00401894 move t9, t8                                                                               |         t9 = t8;
    0x00401898 jalr t9                                                                                   |         t9 ();
    0x0040189c nop                                                                                       |         
                                                                                                         |     }
    0x004018a0 move sp, fp                                                                               |     
    0x004018a4 lw ra, 0x84(sp)                                                                           |     ra = *(var_84h);
    0x004018a8 lw fp, 0x80(sp)                                                                           |     fp = *(var_80h);
    0x004018ac lw s0, 0x7c(sp)                                                                           |     s0 = *(var_7ch);
    0x004018b0 addiu sp, sp, 0x88                                                                        |     
    0x004018b4 jr ra                                                                                     |     return v1;
    0x004018b8 nop                                                                                       |     
                                                                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ipv6_network_helper @ 0x401cdc */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.send_ipv6_router_solicitation__ ()       | void send_ipv6_router_solicitation_ () {
                                                         |     /* send_ipv6_router_solicitation() */
    0x00401cdc lui gp, 2                                 |     
    0x00401ce0 addiu gp, gp, -0x5cbc                     |     
    0x00401ce4 addu gp, gp, t9                           |     gp += t9;
    0x00401ce8 addiu sp, sp, -0xf0                       |     
    0x00401cec sw ra, 0xec(sp)                           |     *(var_ech) = ra;
    0x00401cf0 sw fp, 0xe8(sp)                           |     *(var_e8h) = fp;
    0x00401cf4 sw s0, 0xe4(sp)                           |     *(var_e4h) = s0;
    0x00401cf8 move fp, sp                               |     fp = sp;
    0x00401cfc sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00401d00 lw t8, -0x7f18(gp)                        |     t8 = *((gp - 8134));
    0x00401d04 lw t8, (t8)                               |     t8 = *(t8);
    0x00401d08 sw t8, 0xdc(fp)                           |     *(arg_dch) = t8;
    0x00401d0c addiu t8, zero, -1                        |     t8 = -1;
    0x00401d10 sw t8, 0x20(fp)                           |     *(arg_20h) = t8;
    0x00401d14 addiu t8, zero, -1                        |     t8 = -1;
    0x00401d18 sw t8, 0x24(fp)                           |     *(arg_24h) = t8;
    0x00401d1c sw zero, 0x28(fp)                         |     *(arg_28h) = 0;
    0x00401d20 sw zero, 0x2c(fp)                         |     *(arg_2ch) = 0;
    0x00401d24 sw zero, 0x30(fp)                         |     *(arg_30h) = 0;
    0x00401d28 sw zero, 0x34(fp)                         |     *(arg_34h) = 0;
    0x00401d2c sw zero, 0x38(fp)                         |     *(arg_38h) = 0;
    0x00401d30 sw zero, 0x3c(fp)                         |     *(arg_3ch) = 0;
    0x00401d34 sw zero, 0x40(fp)                         |     *(arg_40h) = 0;
    0x00401d38 lw t8, -0x7fc8(gp)                        |     t8 = sym.get_active_interface_name__;
    0x00401d3c move t9, t8                               |     t9 = t8;
    0x00401d40 jalr t9                                   |     t9 ();
    0x00401d44 nop                                       |     
    0x00401d48 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401d4c addiu t8, zero, 0x20                      |     t8 = 0x20;
    0x00401d50 addiu a0, zero, 1                         |     a0 = 1;
    0x00401d54 move a1, t8                               |     a1 = t8;
    0x00401d58 lw t8, -0x7f10(gp)                        |     t8 = sym.imp.calloc;
    0x00401d5c move t9, t8                               |     t9 = t8;
    0x00401d60 jalr t9                                   |     t9 ();
    0x00401d64 nop                                       |     
    0x00401d68 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401d6c move t8, v0                               |     t8 = v0;
    0x00401d70 sw t8, 0x34(fp)                           |     *(arg_34h) = t8;
    0x00401d74 addiu t8, fp, 0x80                        |     t8 = fp + 0x80;
    0x00401d78 move a0, t8                               |     a0 = t8;
    0x00401d7c move a1, zero                             |     a1 = 0;
    0x00401d80 addiu a2, zero, 0x1c                      |     a2 = 0x1c;
    0x00401d84 lw t8, -0x7f7c(gp)                        |     t8 = sym.imp.memset;
    0x00401d88 move t9, t8                               |     t9 = t8;
    0x00401d8c jalr t9                                   |     t9 ();
    0x00401d90 nop                                       |     
    0x00401d94 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401d98 addiu t8, zero, 0xa                       |     t8 = 0xa;
    0x00401d9c sh t8, 0x80(fp)                           |     *(arg_80h) = t8;
    0x00401da0 addiu t8, fp, 0x80                        |     t8 = fp + 0x80;
    0x00401da4 addiu t8, t8, 8                           |     t8 += 8;
    0x00401da8 addiu a0, zero, 0xa                       |     a0 = 0xa;
    0x00401dac lw v0, -0x7fdc(gp)                        |     v0 = *(gp);
                                                         |     /* str.ff02::2 */
    0x00401db0 addiu a1, v0, 0x3194                      |     a1 = v0 + 0x3194;
    0x00401db4 move a2, t8                               |     a2 = t8;
    0x00401db8 lw t8, -0x7f3c(gp)                        |     t8 = sym.imp.inet_pton;
    0x00401dbc move t9, t8                               |     t9 = t8;
    0x00401dc0 jalr t9                                   |     t9 ();
    0x00401dc4 nop                                       |     
    0x00401dc8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401dcc lw t8, -0x7fcc(gp)                        |     t8 = *((gp - 8179));
    0x00401dd0 addiu a0, t8, 0x4144                      |     a0 = t8 + 0x4144;
    0x00401dd4 lw t8, -0x7f80(gp)                        |     t8 = sym.imp.if_nametoindex;
    0x00401dd8 move t9, t8                               |     t9 = t8;
    0x00401ddc jalr t9                                   |     t9 ();
    0x00401de0 nop                                       |     
    0x00401de4 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401de8 move t8, v0                               |     t8 = v0;
    0x00401dec sw t8, 0x20(fp)                           |     *(arg_20h) = t8;
    0x00401df0 lw t8, 0x20(fp)                           |     t8 = *(arg_20h);
    0x00401df4 sltiu t8, t8, 1                           |     t8 = (t8 < 1) ? 1 : 0;
    0x00401df8 andi t8, t8, 0xff                         |     t8 &= 0xff;
                                                         |     if (t8 != 0) {
    0x00401dfc beqz t8, 0x401e8c                         |         
    0x00401e00 nop                                       |         
    0x00401e04 lw t8, -0x7f64(gp)                        |         t8 = *((gp - 8153));
    0x00401e08 lw s0, (t8)                               |         s0 = *(t8);
    0x00401e0c lw t8, -0x7f14(gp)                        |         t8 = sym.imp.__errno_location;
    0x00401e10 move t9, t8                               |         t9 = t8;
    0x00401e14 jalr t9                                   |         t9 ();
    0x00401e18 nop                                       |         
    0x00401e1c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401e20 move t8, v0                               |         t8 = v0;
    0x00401e24 lw t8, (t8)                               |         t8 = *(t8);
    0x00401e28 move a0, t8                               |         a0 = t8;
    0x00401e2c lw t8, -0x7fa4(gp)                        |         t8 = sym.imp.strerror;
    0x00401e30 move t9, t8                               |         t9 = t8;
    0x00401e34 jalr t9                                   |         t9 ();
    0x00401e38 nop                                       |         
    0x00401e3c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401e40 move t8, v0                               |         t8 = v0;
    0x00401e44 move a0, s0                               |         a0 = s0;
    0x00401e48 lw v0, -0x7fdc(gp)                        |         v0 = *(gp);
                                                         |         /* str.if_nametoindex__:__s_n */
    0x00401e4c addiu a1, v0, 0x319c                      |         a1 = v0 + 0x319c;
    0x00401e50 move a2, t8                               |         a2 = t8;
    0x00401e54 lw t8, -0x7f88(gp)                        |         t8 = sym.imp.fprintf
    0x00401e58 move t9, t8                               |         t9 = t8;
    0x00401e5c jalr t9                                   |         t9 ();
    0x00401e60 nop                                       |         
    0x00401e64 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401e68 lw a0, 0x34(fp)                           |         a0 = *(arg_34h);
    0x00401e6c lw t8, -0x7f9c(gp)                        |         t8 = sym.imp.free;
    0x00401e70 move t9, t8                               |         t9 = t8;
    0x00401e74 jalr t9                                   |         t9 ();
    0x00401e78 nop                                       |         
    0x00401e7c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401e80 addiu t8, zero, -1                        |         t8 = -1;
    0x00401e84 b 0x4023c8                                |         goto label_0;
    0x00401e88 nop                                       |         
                                                         |     }
    0x00401e8c addiu a0, zero, 0xa                       |     a0 = 0xa;
    0x00401e90 addiu a1, zero, 3                         |     a1 = 3;
    0x00401e94 addiu a2, zero, 0x3a                      |     a2 = 0x3a;
    0x00401e98 lw t8, -0x7f94(gp)                        |     t8 = sym.imp.socket;
    0x00401e9c move t9, t8                               |     t9 = t8;
    0x00401ea0 jalr t9                                   |     t9 ();
    0x00401ea4 nop                                       |     
    0x00401ea8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401eac sw v0, 0x24(fp)                           |     *(arg_24h) = v0;
    0x00401eb0 lw t8, 0x24(fp)                           |     t8 = *(arg_24h);
    0x00401eb4 srl t8, t8, 0x1f                          |     t8 >>= 0x1f;
    0x00401eb8 andi t8, t8, 0xff                         |     t8 &= 0xff;
                                                         |     if (t8 != 0) {
    0x00401ebc beqz t8, 0x401f4c                         |         
    0x00401ec0 nop                                       |         
    0x00401ec4 lw t8, -0x7f64(gp)                        |         t8 = *((gp - 8153));
    0x00401ec8 lw s0, (t8)                               |         s0 = *(t8);
    0x00401ecc lw t8, -0x7f14(gp)                        |         t8 = sym.imp.__errno_location;
    0x00401ed0 move t9, t8                               |         t9 = t8;
    0x00401ed4 jalr t9                                   |         t9 ();
    0x00401ed8 nop                                       |         
    0x00401edc lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401ee0 move t8, v0                               |         t8 = v0;
    0x00401ee4 lw t8, (t8)                               |         t8 = *(t8);
    0x00401ee8 move a0, t8                               |         a0 = t8;
    0x00401eec lw t8, -0x7fa4(gp)                        |         t8 = sym.imp.strerror;
    0x00401ef0 move t9, t8                               |         t9 = t8;
    0x00401ef4 jalr t9                                   |         t9 ();
    0x00401ef8 nop                                       |         
    0x00401efc lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401f00 move t8, v0                               |         t8 = v0;
    0x00401f04 move a0, s0                               |         a0 = s0;
    0x00401f08 lw v0, -0x7fdc(gp)                        |         v0 = *(gp);
                                                         |         /* str.socket__:__s_n */
    0x00401f0c addiu a1, v0, 0x30a0                      |         a1 = v0 + 0x30a0;
    0x00401f10 move a2, t8                               |         a2 = t8;
    0x00401f14 lw t8, -0x7f88(gp)                        |         t8 = sym.imp.fprintf
    0x00401f18 move t9, t8                               |         t9 = t8;
    0x00401f1c jalr t9                                   |         t9 ();
    0x00401f20 nop                                       |         
    0x00401f24 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401f28 lw a0, 0x34(fp)                           |         a0 = *(arg_34h);
    0x00401f2c lw t8, -0x7f9c(gp)                        |         t8 = sym.imp.free;
    0x00401f30 move t9, t8                               |         t9 = t8;
    0x00401f34 jalr t9                                   |         t9 ();
    0x00401f38 nop                                       |         
    0x00401f3c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00401f40 addiu t8, zero, -1                        |         t8 = -1;
    0x00401f44 b 0x4023c8                                |         goto label_0;
    0x00401f48 nop                                       |         
                                                         |     }
    0x00401f4c lw t8, 0x34(fp)                           |     t8 = *(arg_34h);
    0x00401f50 sw t8, 0x30(fp)                           |     *(arg_30h) = t8;
    0x00401f54 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
    0x00401f58 addiu v0, zero, -0x7b                     |     v0 = -0x7b;
    0x00401f5c sb v0, (t8)                               |     *(t8) = v0;
    0x00401f60 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
    0x00401f64 sb zero, 1(t8)                            |     *((t8 + 1)) = 0;
    0x00401f68 move a0, zero                             |     a0 = 0;
    0x00401f6c lw t8, -0x7f0c(gp)                        |     t8 = sym.imp.htons;
    0x00401f70 move t9, t8                               |     t9 = t8;
    0x00401f74 jalr t9                                   |     t9 ();
    0x00401f78 nop                                       |     
    0x00401f7c lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401f80 move t8, v0                               |     t8 = v0;
    0x00401f84 move v0, t8                               |     v0 = t8;
    0x00401f88 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
    0x00401f8c sh v0, 2(t8)                              |     *((t8 + 2)) = v0;
    0x00401f90 move a0, zero                             |     a0 = 0;
    0x00401f94 lw t8, -0x7f4c(gp)                        |     t8 = sym.imp.htonl;
    0x00401f98 move t9, t8                               |     t9 = t8;
    0x00401f9c jalr t9                                   |     t9 ();
    0x00401fa0 nop                                       |     
    0x00401fa4 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401fa8 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
    0x00401fac sw v0, 4(t8)                              |     *((t8 + 4)) = v0;
    0x00401fb0 addiu t8, zero, 8                         |     t8 = 8;
    0x00401fb4 move a0, zero                             |     a0 = 0;
    0x00401fb8 move a1, t8                               |     a1 = t8;
    0x00401fbc lw t8, -0x7f10(gp)                        |     t8 = sym.imp.calloc;
    0x00401fc0 move t9, t8                               |     t9 = t8;
    0x00401fc4 jalr t9                                   |     t9 ();
    0x00401fc8 nop                                       |     
    0x00401fcc lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00401fd0 move t8, v0                               |     t8 = v0;
    0x00401fd4 sw t8, 0x38(fp)                           |     *(arg_38h) = t8;
    0x00401fd8 lw t8, 0x38(fp)                           |     t8 = *(arg_38h);
    0x00401fdc addiu v0, zero, 1                         |     v0 = 1;
    0x00401fe0 sb v0, (t8)                               |     *(t8) = v0;
    0x00401fe4 lw t8, 0x38(fp)                           |     t8 = *(arg_38h);
    0x00401fe8 addiu t8, t8, 1                           |     t8++;
    0x00401fec addiu v0, zero, 1                         |     v0 = 1;
    0x00401ff0 sb v0, (t8)                               |     *(t8) = v0;
    0x00401ff4 sw zero, 0x1c(fp)                         |     *(arg_1ch) = 0;
    0x00401ff8 addiu t8, fp, 0x68                        |     t8 = fp + 0x68;
    0x00401ffc lw v0, -0x7fcc(gp)                        |     v0 = *((gp - 8179));
    0x00402000 addiu a0, v0, 0x4144                      |     a0 = v0 + 0x4144;
    0x00402004 move a1, t8                               |     a1 = t8;
    0x00402008 lw t8, -0x7f34(gp)                        |     t8 = sym.imp.get_active_interface_char_const__IF_INFO_;
    0x0040200c move t9, t8                               |     t9 = t8;
    0x00402010 jalr t9                                   |     t9 ();
    0x00402014 nop                                       |     
    0x00402018 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040201c move t8, v0                               |     t8 = v0;
                                                         |     if (t8 != 0) {
    0x00402020 beqz t8, 0x402040                         |         
    0x00402024 nop                                       |         
    0x00402028 lw t8, 0x70(fp)                           |         t8 = *(arg_70h);
                                                         |         if (t8 == 0) {
    0x0040202c beqz t8, 0x402040                         |             goto label_1;
                                                         |         }
    0x00402030 nop                                       |         
    0x00402034 addiu t8, zero, 1                         |         t8 = 1;
    0x00402038 b 0x402044                                |         goto label_2;
    0x0040203c nop                                       |         
                                                         |     }
                                                         | label_1:
    0x00402040 move t8, zero                             |     t8 = 0;
                                                         |     if (t8 == 0) {
                                                         | label_2:
    0x00402044 beqz t8, 0x402098                         |         goto label_3;
                                                         |     }
    0x00402048 nop                                       |     
    0x0040204c sw zero, 0x1c(fp)                         |     *(arg_1ch) = 0;
    0x00402050 b 0x402088                                |     goto label_4;
    0x00402054 nop                                       |     
                                                         |     do {
    0x00402058 lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040205c addiu t8, t8, 2                           |         t8 += 2;
    0x00402060 lw v0, 0x38(fp)                           |         v0 = *(arg_38h);
    0x00402064 addu t8, v0, t8                           |         t8 = v0 + t8;
    0x00402068 lw v0, 0x1c(fp)                           |         v0 = *(arg_1ch);
    0x0040206c addiu v1, fp, 0xe0                        |         v1 = fp + 0xe0;
    0x00402070 addu v0, v1, v0                           |         v0 = v1 + v0;
    0x00402074 lbu v0, -0x78(v0)                         |         v0 = *((v0 - 120));
    0x00402078 sb v0, (t8)                               |         *(t8) = v0;
    0x0040207c lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x00402080 addiu t8, t8, 1                           |         t8++;
    0x00402084 sw t8, 0x1c(fp)                           |         *(arg_1ch) = t8;
                                                         | label_4:
    0x00402088 lw t8, 0x1c(fp)                           |         t8 = *(arg_1ch);
    0x0040208c slti t8, t8, 6                            |         t8 = (t8 < 6) ? 1 : 0;
    0x00402090 bnez t8, 0x402058                         |         
                                                         |     } while (t8 != 0);
    0x00402094 nop                                       |     
                                                         | label_3:
    0x00402098 lw t8, 0x34(fp)                           |     t8 = *(arg_34h);
    0x0040209c addiu v0, t8, 8                           |     v0 = t8 + 8;
    0x004020a0 addiu t8, zero, 8                         |     t8 = 8;
    0x004020a4 move a0, v0                               |     a0 = v0;
    0x004020a8 lw a1, 0x38(fp)                           |     a1 = *(arg_38h);
    0x004020ac move a2, t8                               |     a2 = t8;
    0x004020b0 lw t8, -0x7f24(gp)                        |     t8 = sym.imp.memcpy;
    0x004020b4 move t9, t8                               |     t9 = t8;
    0x004020b8 jalr t9                                   |     t9 ();
    0x004020bc nop                                       |     
    0x004020c0 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004020c4 addiu t8, fp, 0x44                        |     t8 = fp + 0x44;
    0x004020c8 move a0, t8                               |     a0 = t8;
    0x004020cc move a1, zero                             |     a1 = 0;
    0x004020d0 addiu a2, zero, 0x1c                      |     a2 = 0x1c;
    0x004020d4 lw t8, -0x7f7c(gp)                        |     t8 = sym.imp.memset;
    0x004020d8 move t9, t8                               |     t9 = t8;
    0x004020dc jalr t9                                   |     t9 ();
    0x004020e0 nop                                       |     
    0x004020e4 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004020e8 addiu t8, fp, 0x80                        |     t8 = fp + 0x80;
    0x004020ec sw t8, 0x44(fp)                           |     *(arg_44h) = t8;
    0x004020f0 addiu t8, zero, 0x1c                      |     t8 = 0x1c;
    0x004020f4 sw t8, 0x48(fp)                           |     *(arg_48h) = t8;
    0x004020f8 addiu t8, fp, 0x60                        |     t8 = fp + 0x60;
    0x004020fc move a0, t8                               |     a0 = t8;
    0x00402100 move a1, zero                             |     a1 = 0;
    0x00402104 addiu a2, zero, 8                         |     a2 = 8;
    0x00402108 lw t8, -0x7f7c(gp)                        |     t8 = sym.imp.memset;
    0x0040210c move t9, t8                               |     t9 = t8;
    0x00402110 jalr t9                                   |     t9 ();
    0x00402114 nop                                       |     
    0x00402118 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040211c lw t8, 0x34(fp)                           |     t8 = *(arg_34h);
    0x00402120 sw t8, 0x60(fp)                           |     *(arg_60h) = t8;
    0x00402124 addiu t8, zero, 0x10                      |     t8 = 0x10;
    0x00402128 sw t8, 0x64(fp)                           |     *(arg_64h) = t8;
    0x0040212c addiu t8, fp, 0x60                        |     t8 = fp + 0x60;
    0x00402130 sw t8, 0x4c(fp)                           |     *(arg_4ch) = t8;
    0x00402134 addiu t8, zero, 1                         |     t8 = 1;
    0x00402138 sw t8, 0x50(fp)                           |     *(arg_50h) = t8;
    0x0040213c addiu v0, fp, 0x9c                        |     v0 = fp + 0x9c;
    0x00402140 addiu t8, zero, 0x40                      |     t8 = 0x40;
    0x00402144 move a0, v0                               |     a0 = v0;
    0x00402148 move a1, zero                             |     a1 = 0;
    0x0040214c move a2, t8                               |     a2 = t8;
    0x00402150 lw t8, -0x7f7c(gp)                        |     t8 = sym.imp.memset;
    0x00402154 move t9, t8                               |     t9 = t8;
    0x00402158 jalr t9                                   |     t9 ();
    0x0040215c nop                                       |     
    0x00402160 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402164 addiu t8, zero, 8                         |     t8 = 8;
    0x00402168 addiu v0, t8, -1                          |     v0 = t8 + -1;
    0x0040216c addiu t8, zero, -4                        |     t8 = -4;
    0x00402170 and v0, v0, t8                            |     v0 &= t8;
    0x00402174 addiu t8, zero, 0x10                      |     t8 = 0x10;
    0x00402178 addiu v1, t8, -1                          |     v1 = t8 + -1;
    0x0040217c addiu t8, zero, -4                        |     t8 = -4;
    0x00402180 and t8, v1, t8                            |     t8 = v1 & t8;
    0x00402184 addu v0, v0, t8                           |     v0 += t8;
    0x00402188 addiu t8, zero, 0x18                      |     t8 = 0x18;
    0x0040218c addiu v1, t8, -1                          |     v1 = t8 + -1;
    0x00402190 addiu t8, zero, -4                        |     t8 = -4;
    0x00402194 and v1, v1, t8                            |     v1 &= t8;
    0x00402198 addiu t8, zero, 0x10                      |     t8 = 0x10;
    0x0040219c addiu a0, t8, -1                          |     a0 = t8 + -1;
    0x004021a0 addiu t8, zero, -4                        |     t8 = -4;
    0x004021a4 and t8, a0, t8                            |     t8 = a0 & t8;
    0x004021a8 addu t8, v1, t8                           |     t8 = v1 + t8;
    0x004021ac addu t8, v0, t8                           |     t8 = v0 + t8;
    0x004021b0 sw t8, 0x28(fp)                           |     *(arg_28h) = t8;
    0x004021b4 addiu t8, fp, 0x9c                        |     t8 = fp + 0x9c;
    0x004021b8 sw t8, 0x54(fp)                           |     *(arg_54h) = t8;
    0x004021bc lw t8, 0x28(fp)                           |     t8 = *(arg_28h);
    0x004021c0 sw t8, 0x58(fp)                           |     *(arg_58h) = t8;
    0x004021c4 addiu t8, zero, 0xff                      |     t8 = 0xff;
    0x004021c8 sw t8, 0x2c(fp)                           |     *(arg_2ch) = t8;
    0x004021cc lw t8, 0x58(fp)                           |     t8 = *(arg_58h);
    0x004021d0 sltiu t8, t8, 0xc                         |     t8 = (t8 < 0xc) ? 1 : 0;
                                                         |     if (t8 == 0) {
    0x004021d4 bnez t8, 0x4021e8                         |         
    0x004021d8 nop                                       |         
    0x004021dc lw t8, 0x54(fp)                           |         t8 = *(arg_54h);
    0x004021e0 b 0x4021ec                                |         goto label_5;
    0x004021e4 nop                                       |         
                                                         |     }
    0x004021e8 move t8, zero                             |     t8 = 0;
                                                         | label_5:
    0x004021ec sw t8, 0x40(fp)                           |     *(arg_40h) = t8;
    0x004021f0 lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x004021f4 addiu v0, zero, 0x29                      |     v0 = 0x29;
    0x004021f8 sw v0, 4(t8)                              |     *((t8 + 4)) = v0;
    0x004021fc lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402200 addiu v0, zero, 0x34                      |     v0 = 0x34;
    0x00402204 sw v0, 8(t8)                              |     *((t8 + 8)) = v0;
    0x00402208 addiu t8, zero, 0x10                      |     t8 = 0x10;
    0x0040220c addiu v0, t8, -1                          |     v0 = t8 + -1;
    0x00402210 addiu t8, zero, -4                        |     t8 = -4;
    0x00402214 and t8, v0, t8                            |     t8 = v0 & t8;
    0x00402218 addiu v0, t8, 4                           |     v0 = t8 + 4;
    0x0040221c lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402220 sw v0, (t8)                               |     *(t8) = v0;
    0x00402224 lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402228 addiu t8, t8, 0xc                         |     t8 += 0xc;
    0x0040222c lw v0, 0x2c(fp)                           |     v0 = *(arg_2ch);
    0x00402230 sw v0, (t8)                               |     *(t8) = v0;
    0x00402234 addiu t8, fp, 0x44                        |     t8 = fp + 0x44;
    0x00402238 move a0, t8                               |     a0 = t8;
    0x0040223c lw a1, 0x40(fp)                           |     a1 = *(arg_40h);
    0x00402240 lw t8, -0x7f30(gp)                        |     t8 = sym.imp.__cmsg_nxthdr;
    0x00402244 move t9, t8                               |     t9 = t8;
    0x00402248 jalr t9                                   |     t9 ();
    0x0040224c nop                                       |     
    0x00402250 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402254 sw v0, 0x40(fp)                           |     *(arg_40h) = v0;
    0x00402258 lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x0040225c addiu v0, zero, 0x29                      |     v0 = 0x29;
    0x00402260 sw v0, 4(t8)                              |     *((t8 + 4)) = v0;
    0x00402264 lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402268 addiu v0, zero, 0x32                      |     v0 = 0x32;
    0x0040226c sw v0, 8(t8)                              |     *((t8 + 8)) = v0;
    0x00402270 addiu t8, zero, 0x10                      |     t8 = 0x10;
    0x00402274 addiu v0, t8, -1                          |     v0 = t8 + -1;
    0x00402278 addiu t8, zero, -4                        |     t8 = -4;
    0x0040227c and t8, v0, t8                            |     t8 = v0 & t8;
    0x00402280 addiu v0, t8, 0x14                        |     v0 = t8 + 0x14;
    0x00402284 lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402288 sw v0, (t8)                               |     *(t8) = v0;
    0x0040228c lw t8, 0x40(fp)                           |     t8 = *(arg_40h);
    0x00402290 addiu t8, t8, 0xc                         |     t8 += 0xc;
    0x00402294 sw t8, 0x3c(fp)                           |     *(arg_3ch) = t8;
    0x00402298 lw v0, 0x20(fp)                           |     v0 = *(arg_20h);
    0x0040229c lw t8, 0x3c(fp)                           |     t8 = *(arg_3ch);
    0x004022a0 sw v0, 0x10(t8)                           |     *((t8 + 16)) = v0;
    0x004022a4 addiu t8, fp, 0x44                        |     t8 = fp + 0x44;
    0x004022a8 lw a0, 0x24(fp)                           |     a0 = *(arg_24h);
    0x004022ac move a1, t8                               |     a1 = t8;
    0x004022b0 move a2, zero                             |     a2 = 0;
    0x004022b4 lw t8, -0x7f48(gp)                        |     t8 = sym.imp.sendmsg;
    0x004022b8 move t9, t8                               |     t9 = t8;
    0x004022bc jalr t9                                   |     t9 ();
    0x004022c0 nop                                       |     
    0x004022c4 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004022c8 move t8, v0                               |     t8 = v0;
    0x004022cc srl t8, t8, 0x1f                          |     t8 >>= 0x1f;
    0x004022d0 andi t8, t8, 0xff                         |     t8 &= 0xff;
                                                         |     if (t8 != 0) {
    0x004022d4 beqz t8, 0x40237c                         |         
    0x004022d8 nop                                       |         
    0x004022dc lw t8, -0x7f64(gp)                        |         t8 = *((gp - 8153));
    0x004022e0 lw s0, (t8)                               |         s0 = *(t8);
    0x004022e4 lw t8, -0x7f14(gp)                        |         t8 = sym.imp.__errno_location;
    0x004022e8 move t9, t8                               |         t9 = t8;
    0x004022ec jalr t9                                   |         t9 ();
    0x004022f0 nop                                       |         
    0x004022f4 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x004022f8 move t8, v0                               |         t8 = v0;
    0x004022fc lw t8, (t8)                               |         t8 = *(t8);
    0x00402300 move a0, t8                               |         a0 = t8;
    0x00402304 lw t8, -0x7fa4(gp)                        |         t8 = sym.imp.strerror;
    0x00402308 move t9, t8                               |         t9 = t8;
    0x0040230c jalr t9                                   |         t9 ();
    0x00402310 nop                                       |         
    0x00402314 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402318 move t8, v0                               |         t8 = v0;
    0x0040231c move a0, s0                               |         a0 = s0;
    0x00402320 lw v0, -0x7fdc(gp)                        |         v0 = *(gp);
                                                         |         /* str.sendmsg__:__s_n */
    0x00402324 addiu a1, v0, 0x31b4                      |         a1 = v0 + 0x31b4;
    0x00402328 move a2, t8                               |         a2 = t8;
    0x0040232c lw t8, -0x7f88(gp)                        |         t8 = sym.imp.fprintf
    0x00402330 move t9, t8                               |         t9 = t8;
    0x00402334 jalr t9                                   |         t9 ();
    0x00402338 nop                                       |         
    0x0040233c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402340 lw a0, 0x34(fp)                           |         a0 = *(arg_34h);
    0x00402344 lw t8, -0x7f9c(gp)                        |         t8 = sym.imp.free;
    0x00402348 move t9, t8                               |         t9 = t8;
    0x0040234c jalr t9                                   |         t9 ();
    0x00402350 nop                                       |         
    0x00402354 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402358 lw a0, 0x24(fp)                           |         a0 = *(arg_24h);
    0x0040235c lw t8, -0x7f78(gp)                        |         t8 = sym.imp.close;
    0x00402360 move t9, t8                               |         t9 = t8;
    0x00402364 jalr t9                                   |         t9 ();
    0x00402368 nop                                       |         
    0x0040236c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402370 addiu t8, zero, -1                        |         t8 = -1;
    0x00402374 b 0x4023c8                                |         goto label_0;
    0x00402378 nop                                       |         
                                                         |     }
    0x0040237c lw a0, 0x24(fp)                           |     a0 = *(arg_24h);
    0x00402380 lw t8, -0x7f78(gp)                        |     t8 = sym.imp.close;
    0x00402384 move t9, t8                               |     t9 = t8;
    0x00402388 jalr t9                                   |     t9 ();
    0x0040238c nop                                       |     
    0x00402390 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402394 lw a0, 0x34(fp)                           |     a0 = *(arg_34h);
    0x00402398 lw t8, -0x7f9c(gp)                        |     t8 = sym.imp.free;
    0x0040239c move t9, t8                               |     t9 = t8;
    0x004023a0 jalr t9                                   |     t9 ();
    0x004023a4 nop                                       |     
    0x004023a8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004023ac lw a0, 0x38(fp)                           |     a0 = *(arg_38h);
    0x004023b0 lw t8, -0x7f9c(gp)                        |     t8 = sym.imp.free;
    0x004023b4 move t9, t8                               |     t9 = t8;
    0x004023b8 jalr t9                                   |     t9 ();
    0x004023bc nop                                       |     
    0x004023c0 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004023c4 move t8, zero                             |     t8 = 0;
                                                         | label_0:
    0x004023c8 move v0, t8                               |     v0 = t8;
    0x004023cc lw t8, -0x7f18(gp)                        |     t8 = *((gp - 8134));
    0x004023d0 lw v1, 0xdc(fp)                           |     v1 = *(arg_dch);
    0x004023d4 lw t8, (t8)                               |     t8 = *(t8);
                                                         |     if (v1 != t8) {
    0x004023d8 beq v1, t8, 0x4023f0                      |         
    0x004023dc nop                                       |         
    0x004023e0 lw t8, -0x7f60(gp)                        |         t8 = sym.imp.__stack_chk_fail;
    0x004023e4 move t9, t8                               |         t9 = t8;
    0x004023e8 jalr t9                                   |         t9 ();
    0x004023ec nop                                       |         
                                                         |     }
    0x004023f0 move sp, fp                               |     
    0x004023f4 lw ra, 0xec(sp)                           |     ra = *(var_ech);
    0x004023f8 lw fp, 0xe8(sp)                           |     fp = *(var_e8h);
    0x004023fc lw s0, 0xe4(sp)                           |     s0 = *(var_e4h);
    0x00402400 addiu sp, sp, 0xf0                        |     
    0x00402404 jr ra                                     |     return v1;
    0x00402408 nop                                       |     
                                                         | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/DUMP/mtdblock8_unblob_extracted/mtdblock8_extract/0-9650176.squashfs_v4_le_extract/sbin/ipv6_network_helper @ 0x40240c */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.update_configuration_file_int_ ()        | void update_configuration_file_int_ () {
                                                         |     /* update_configuration_file(int) */
    0x0040240c lui gp, 2                                 |     
    0x00402410 addiu gp, gp, -0x63ec                     |     
    0x00402414 addu gp, gp, t9                           |     gp += t9;
    0x00402418 addiu sp, sp, -0x1060                     |     
    0x0040241c sw ra, 0x105c(sp)                         |     *(var_105ch) = ra;
    0x00402420 sw fp, 0x1058(sp)                         |     *(var_1058h) = fp;
    0x00402424 sw s0, 0x1054(sp)                         |     *(var_1054h) = s0;
    0x00402428 move fp, sp                               |     fp = sp;
    0x0040242c sw gp, 0x10(sp)                           |     *(var_10h) = gp;
    0x00402430 sw a0, 0x1c(fp)                           |     *(arg_1ch) = a0;
    0x00402434 lw t8, -0x7f18(gp)                        |     t8 = *((gp - 8134));
    0x00402438 lw t8, (t8)                               |     t8 = *(t8);
    0x0040243c sw t8, 0x104c(fp)                         |     *(arg_104ch) = t8;
    0x00402440 addiu t8, fp, 0x34                        |     t8 = fp + 0x34;
    0x00402444 move a0, t8                               |     a0 = t8;
    0x00402448 lw t8, -0x7fc4(gp)                        |     t8 = *(gp);
    0x0040244c move t9, t8                               |     t9 = t8;
    0x00402450 jalr t9                                   |     t9 ();
    0x00402454 nop                                       |     
    0x00402458 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040245c addiu t8, fp, 0x24                        |     t8 = fp + 0x24;
    0x00402460 move a0, t8                               |     a0 = t8;
    0x00402464 lw t8, -0x7f08(gp)                        |     t8 = *(gp);
    0x00402468 move t9, t8                               |     t9 = t8;
    0x0040246c jalr t9                                   |     t9 ();
    0x00402470 nop                                       |     
    0x00402474 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402478 sw zero, 0x30(fp)                         |     *(arg_30h) = 0;
    0x0040247c lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     /* str._tmp_client.conf */
    0x00402480 addiu a0, t8, 0x31c4                      |     a0 = t8 + 0x31c4;
    0x00402484 lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     /* esilref: 'w+' */
    0x00402488 addiu a1, t8, 0x31d8                      |     a1 = t8 + 0x31d8;
    0x0040248c lw t8, -0x7f40(gp)                        |     t8 = sym.imp.fopen64;
    0x00402490 move t9, t8                               |     t9 = t8;
    0x00402494 jalr t9                                   |     t9 ();
    0x00402498 nop                                       |     
    0x0040249c lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004024a0 move t8, v0                               |     t8 = v0;
    0x004024a4 sw t8, 0x30(fp)                           |     *(arg_30h) = t8;
    0x004024a8 addiu t8, fp, 0x34                        |     t8 = fp + 0x34;
    0x004024ac move a0, t8                               |     a0 = t8;
    0x004024b0 lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     /* str.System */
    0x004024b4 addiu a1, t8, 0x31dc                      |     a1 = t8 + 0x31dc;
    0x004024b8 move a2, zero                             |     a2 = 0;
    0x004024bc lw t8, -0x7f98(gp)                        |     t8 = *(gp);
    0x004024c0 move t9, t8                               |     t9 = t8;
    0x004024c4 jalr t9                                   |     t9 ();
    0x004024c8 nop                                       |     
    0x004024cc lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004024d0 addiu t8, fp, 0x20                        |     t8 = fp + 0x20;
    0x004024d4 move a0, t8                               |     a0 = t8;
    0x004024d8 lw t8, -0x7fa0(gp)                        |     t8 = *(gp);
    0x004024dc move t9, t8                               |     t9 = t8;
    0x004024e0 jalr t9                                   |     t9 ();
    0x004024e4 nop                                       |     
    0x004024e8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004024ec addiu v0, fp, 0x28                        |     v0 = fp + 0x28;
    0x004024f0 addiu t8, fp, 0x20                        |     t8 = fp + 0x20;
    0x004024f4 move a0, v0                               |     a0 = v0;
    0x004024f8 lw v0, -0x7fdc(gp)                        |     v0 = *(gp);
                                                         |     /* str.Model */
    0x004024fc addiu a1, v0, 0x31e4                      |     a1 = v0 + 0x31e4;
    0x00402500 move a2, t8                               |     a2 = t8;
    0x00402504 lw t8, -0x7f70(gp)                        |     t8 = *(gp);
    0x00402508 move t9, t8                               |     t9 = t8;
    0x0040250c jalr t9                                   |     t9 ();
    0x00402510 nop                                       |     
    0x00402514 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402518 addiu v1, fp, 0x2c                        |     v1 = fp + 0x2c;
    0x0040251c addiu v0, fp, 0x34                        |     v0 = fp + 0x34;
    0x00402520 addiu t8, fp, 0x28                        |     t8 = fp + 0x28;
    0x00402524 move a0, v1                               |     a0 = v1;
    0x00402528 move a1, v0                               |     a1 = v0;
    0x0040252c move a2, t8                               |     a2 = t8;
    0x00402530 lw t8, -0x7f6c(gp)                        |     t8 = *(gp);
    0x00402534 move t9, t8                               |     t9 = t8;
    0x00402538 jalr t9                                   |     t9 ();
    0x0040253c nop                                       |     
    0x00402540 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402544 addiu v0, fp, 0x24                        |     v0 = fp + 0x24;
    0x00402548 addiu t8, fp, 0x2c                        |     t8 = fp + 0x2c;
    0x0040254c move a0, v0                               |     a0 = v0;
    0x00402550 move a1, t8                               |     a1 = t8;
    0x00402554 lw t8, -0x7fa8(gp)                        |     t8 = *(gp);
    0x00402558 move t9, t8                               |     t9 = t8;
    0x0040255c jalr t9                                   |     t9 ();
    0x00402560 nop                                       |     
    0x00402564 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402568 addiu t8, fp, 0x2c                        |     t8 = fp + 0x2c;
    0x0040256c move a0, t8                               |     a0 = t8;
    0x00402570 lw t8, -0x7f50(gp)                        |     t8 = *(gp);
    0x00402574 move t9, t8                               |     t9 = t8;
    0x00402578 jalr t9                                   |     t9 ();
    0x0040257c nop                                       |     
    0x00402580 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402584 addiu t8, fp, 0x28                        |     t8 = fp + 0x28;
    0x00402588 move a0, t8                               |     a0 = t8;
    0x0040258c lw t8, -0x7f50(gp)                        |     t8 = *(gp);
    0x00402590 move t9, t8                               |     t9 = t8;
    0x00402594 jalr t9                                   |     t9 ();
    0x00402598 nop                                       |     
    0x0040259c lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004025a0 addiu t8, fp, 0x20                        |     t8 = fp + 0x20;
    0x004025a4 move a0, t8                               |     a0 = t8;
    0x004025a8 lw t8, -0x7f8c(gp)                        |     t8 = *(gp);
    0x004025ac move t9, t8                               |     t9 = t8;
    0x004025b0 jalr t9                                   |     t9 ();
    0x004025b4 nop                                       |     
    0x004025b8 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004025bc addiu t8, fp, 0x34                        |     t8 = fp + 0x34;
    0x004025c0 move a0, t8                               |     a0 = t8;
    0x004025c4 lw t8, -0x7f04(gp)                        |     t8 = *(gp);
    0x004025c8 move t9, t8                               |     t9 = t8;
    0x004025cc jalr t9                                   |     t9 ();
    0x004025d0 nop                                       |     
    0x004025d4 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004025d8 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
                                                         |     if (t8 != 0) {
    0x004025dc beqz t8, 0x40289c                         |         
    0x004025e0 nop                                       |         
    0x004025e4 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str.log_mode_short_n */
    0x004025e8 addiu a0, t8, 0x31ec                      |         a0 = t8 + 0x31ec;
    0x004025ec addiu a1, zero, 1                         |         a1 = 1;
    0x004025f0 addiu a2, zero, 0xf                       |         a2 = 0xf;
    0x004025f4 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x004025f8 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x004025fc move t9, t8                               |         t9 = t8;
    0x00402600 jalr t9                                   |         t9 ();
    0x00402604 nop                                       |         
    0x00402608 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040260c lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str.log_level_7_n */
    0x00402610 addiu a0, t8, 0x31fc                      |         a0 = t8 + 0x31fc;
    0x00402614 addiu a1, zero, 1                         |         a1 = 1;
    0x00402618 addiu a2, zero, 0xc                       |         a2 = 0xc;
    0x0040261c lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x00402620 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x00402624 move t9, t8                               |         t9 = t8;
    0x00402628 jalr t9                                   |         t9 ();
    0x0040262c nop                                       |         
    0x00402630 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402634 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str.duid_type_duid_llt_n */
    0x00402638 addiu a0, t8, 0x320c                      |         a0 = t8 + 0x320c;
    0x0040263c addiu a1, zero, 1                         |         a1 = 1;
    0x00402640 addiu a2, zero, 0x13                      |         a2 = 0x13;
    0x00402644 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x00402648 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x0040264c move t9, t8                               |         t9 = t8;
    0x00402650 jalr t9                                   |         t9 ();
    0x00402654 nop                                       |         
    0x00402658 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x0040265c lw v0, 0x1c(fp)                           |         v0 = *(arg_1ch);
    0x00402660 addiu t8, zero, 1                         |         t8 = 1;
                                                         |         if (v0 == t8) {
    0x00402664 bne v0, t8, 0x402694                      |             
    0x00402668 nop                                       |             
    0x0040266c lw t8, -0x7fdc(gp)                        |             t8 = *(gp);
                                                         |             /* str.option_fqdn_s_1_n */
    0x00402670 addiu a0, t8, 0x3220                      |             a0 = t8 + 0x3220;
    0x00402674 addiu a1, zero, 1                         |             a1 = 1;
    0x00402678 addiu a2, zero, 0x10                      |             a2 = 0x10;
    0x0040267c lw a3, 0x30(fp)                           |             a3 = *(arg_30h);
    0x00402680 lw t8, -0x7f1c(gp)                        |             t8 = sym.imp.fwrite;
    0x00402684 move t9, t8                               |             t9 = t8;
    0x00402688 jalr t9                                   |             t9 ();
    0x0040268c nop                                       |             
    0x00402690 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
                                                         |         }
    0x00402694 lw a0, 0x30(fp)                           |         a0 = *(arg_30h);
    0x00402698 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str.iface__s_n */
    0x0040269c addiu a1, t8, 0x3234                      |         a1 = t8 + 0x3234;
    0x004026a0 lw t8, -0x7fcc(gp)                        |         t8 = *((gp - 8179));
    0x004026a4 addiu a2, t8, 0x4144                      |         a2 = t8 + 0x4144;
    0x004026a8 lw t8, -0x7f88(gp)                        |         t8 = sym.imp.fprintf
    0x004026ac move t9, t8                               |         t9 = t8;
    0x004026b0 jalr t9                                   |         t9 ();
    0x004026b4 nop                                       |         
    0x004026b8 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x004026bc lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* esilref: '{
' */
    0x004026c0 addiu a0, t8, 0x3240                      |         a0 = t8 + 0x3240;
    0x004026c4 addiu a1, zero, 1                         |         a1 = 1;
    0x004026c8 addiu a2, zero, 2                         |         a2 = 2;
    0x004026cc lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x004026d0 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x004026d4 move t9, t8                               |         t9 = t8;
    0x004026d8 jalr t9                                   |         t9 ();
    0x004026dc nop                                       |         
    0x004026e0 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x004026e4 lw v0, 0x1c(fp)                           |         v0 = *(arg_1ch);
    0x004026e8 addiu t8, zero, 1                         |         t8 = 1;
                                                         |         if (v0 == t8) {
    0x004026ec bne v0, t8, 0x4027e0                      |             
    0x004026f0 nop                                       |             
    0x004026f4 lw t8, -0x7fdc(gp)                        |             t8 = *(gp);
                                                         |             /* str._tia_n */
    0x004026f8 addiu a0, t8, 0x3244                      |             a0 = t8 + 0x3244;
    0x004026fc addiu a1, zero, 1                         |             a1 = 1;
    0x00402700 addiu a2, zero, 4                         |             a2 = 4;
    0x00402704 lw a3, 0x30(fp)                           |             a3 = *(arg_30h);
    0x00402708 lw t8, -0x7f1c(gp)                        |             t8 = sym.imp.fwrite;
    0x0040270c move t9, t8                               |             t9 = t8;
    0x00402710 jalr t9                                   |             t9 ();
    0x00402714 nop                                       |             
    0x00402718 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x0040271c lw t8, -0x7fdc(gp)                        |             t8 = *(gp);
                                                         |             /* str._tta_n */
    0x00402720 addiu a0, t8, 0x324c                      |             a0 = t8 + 0x324c;
    0x00402724 addiu a1, zero, 1                         |             a1 = 1;
    0x00402728 addiu a2, zero, 4                         |             a2 = 4;
    0x0040272c lw a3, 0x30(fp)                           |             a3 = *(arg_30h);
    0x00402730 lw t8, -0x7f1c(gp)                        |             t8 = sym.imp.fwrite;
    0x00402734 move t9, t8                               |             t9 = t8;
    0x00402738 jalr t9                                   |             t9 ();
    0x0040273c nop                                       |             
    0x00402740 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x00402744 lw t8, -0x7fdc(gp)                        |             t8 = *(gp);
                                                         |             /* str._toption_ntp_server_n */
    0x00402748 addiu a0, t8, 0x3254                      |             a0 = t8 + 0x3254;
    0x0040274c addiu a1, zero, 1                         |             a1 = 1;
    0x00402750 addiu a2, zero, 0x13                      |             a2 = 0x13;
    0x00402754 lw a3, 0x30(fp)                           |             a3 = *(arg_30h);
    0x00402758 lw t8, -0x7f1c(gp)                        |             t8 = sym.imp.fwrite;
    0x0040275c move t9, t8                               |             t9 = t8;
    0x00402760 jalr t9                                   |             t9 ();
    0x00402764 nop                                       |             
    0x00402768 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x0040276c addiu t8, fp, 0x24                        |             t8 = fp + 0x24;
    0x00402770 move a0, t8                               |             a0 = t8;
    0x00402774 lw t8, -0x7f28(gp)                        |             t8 = *(gp);
    0x00402778 move t9, t8                               |             t9 = t8;
    0x0040277c jalr t9                                   |             t9 ();
    0x00402780 nop                                       |             
    0x00402784 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x00402788 move t8, v0                               |             t8 = v0;
    0x0040278c lw a0, 0x30(fp)                           |             a0 = *(arg_30h);
    0x00402790 lw v0, -0x7fdc(gp)                        |             v0 = *(gp);
                                                         |             /* str._toption_fqdn__s_n */
    0x00402794 addiu a1, v0, 0x3268                      |             a1 = v0 + 0x3268;
    0x00402798 move a2, t8                               |             a2 = t8;
    0x0040279c lw t8, -0x7f88(gp)                        |             t8 = sym.imp.fprintf
    0x004027a0 move t9, t8                               |             t9 = t8;
    0x004027a4 jalr t9                                   |             t9 ();
    0x004027a8 nop                                       |             
    0x004027ac lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x004027b0 lw t8, -0x7fdc(gp)                        |             t8 = *(gp);
                                                         |             /* str._toption_16_hex_00:00:00:ab:00:09:44:44:48:43:50:43:31:30:30_n */
    0x004027b4 addiu a0, t8, 0x327c                      |             a0 = t8 + 0x327c;
    0x004027b8 addiu a1, zero, 1                         |             a1 = 1;
    0x004027bc addiu a2, zero, 0x3c                      |             a2 = 0x3c;
    0x004027c0 lw a3, 0x30(fp)                           |             a3 = *(arg_30h);
    0x004027c4 lw t8, -0x7f1c(gp)                        |             t8 = sym.imp.fwrite;
    0x004027c8 move t9, t8                               |             t9 = t8;
    0x004027cc jalr t9                                   |             t9 ();
    0x004027d0 nop                                       |             
    0x004027d4 lw gp, 0x10(fp)                           |             gp = *(arg_10h);
    0x004027d8 b 0x402808                                |             goto label_0;
    0x004027dc nop                                       |             
                                                         |         }
    0x004027e0 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str._tstateless_n */
    0x004027e4 addiu a0, t8, 0x32bc                      |         a0 = t8 + 0x32bc;
    0x004027e8 addiu a1, zero, 1                         |         a1 = 1;
    0x004027ec addiu a2, zero, 0xb                       |         a2 = 0xb;
    0x004027f0 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x004027f4 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x004027f8 move t9, t8                               |         t9 = t8;
    0x004027fc jalr t9                                   |         t9 ();
    0x00402800 nop                                       |         
    0x00402804 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
                                                         | label_0:
    0x00402808 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str._toption_dns_server_n */
    0x0040280c addiu a0, t8, 0x32c8                      |         a0 = t8 + 0x32c8;
    0x00402810 addiu a1, zero, 1                         |         a1 = 1;
    0x00402814 addiu a2, zero, 0x13                      |         a2 = 0x13;
    0x00402818 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x0040281c lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x00402820 move t9, t8                               |         t9 = t8;
    0x00402824 jalr t9                                   |         t9 ();
    0x00402828 nop                                       |         
    0x0040282c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402830 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* str._toption_domain_n */
    0x00402834 addiu a0, t8, 0x32dc                      |         a0 = t8 + 0x32dc;
    0x00402838 addiu a1, zero, 1                         |         a1 = 1;
    0x0040283c addiu a2, zero, 0xf                       |         a2 = 0xf;
    0x00402840 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x00402844 lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x00402848 move t9, t8                               |         t9 = t8;
    0x0040284c jalr t9                                   |         t9 ();
    0x00402850 nop                                       |         
    0x00402854 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402858 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* esilref: '}
' */
    0x0040285c addiu a0, t8, 0x32ec                      |         a0 = t8 + 0x32ec;
    0x00402860 addiu a1, zero, 1                         |         a1 = 1;
    0x00402864 addiu a2, zero, 2                         |         a2 = 2;
    0x00402868 lw a3, 0x30(fp)                           |         a3 = *(arg_30h);
    0x0040286c lw t8, -0x7f1c(gp)                        |         t8 = sym.imp.fwrite;
    0x00402870 move t9, t8                               |         t9 = t8;
    0x00402874 jalr t9                                   |         t9 ();
    0x00402878 nop                                       |         
    0x0040287c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402880 lw a0, 0x30(fp)                           |         a0 = *(arg_30h);
    0x00402884 lw t8, -0x7f58(gp)                        |         t8 = sym.imp.fclose;
    0x00402888 move t9, t8                               |         t9 = t8;
    0x0040288c jalr t9                                   |         t9 ();
    0x00402890 nop                                       |         
    0x00402894 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402898 sw zero, 0x30(fp)                         |         *(arg_30h) = 0;
                                                         |     }
    0x0040289c lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     /* str._tmp_ipv6_ap_flag */
    0x004028a0 addiu a0, t8, 0x32f0                      |     a0 = t8 + 0x32f0;
    0x004028a4 lw t8, -0x7fdc(gp)                        |     t8 = *(gp);
                                                         |     /* esilref: 'w+' */
    0x004028a8 addiu a1, t8, 0x31d8                      |     a1 = t8 + 0x31d8;
    0x004028ac lw t8, -0x7f40(gp)                        |     t8 = sym.imp.fopen64;
    0x004028b0 move t9, t8                               |     t9 = t8;
    0x004028b4 jalr t9                                   |     t9 ();
    0x004028b8 nop                                       |     
    0x004028bc lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x004028c0 move t8, v0                               |     t8 = v0;
    0x004028c4 sw t8, 0x30(fp)                           |     *(arg_30h) = t8;
    0x004028c8 lw t8, 0x30(fp)                           |     t8 = *(arg_30h);
                                                         |     if (t8 != 0) {
    0x004028cc beqz t8, 0x402914                         |         
    0x004028d0 nop                                       |         
    0x004028d4 lw a0, 0x30(fp)                           |         a0 = *(arg_30h);
    0x004028d8 lw t8, -0x7fdc(gp)                        |         t8 = *(gp);
                                                         |         /* esilref: '&d' */
    0x004028dc addiu a1, t8, 0x3304                      |         a1 = t8 + 0x3304;
    0x004028e0 lw a2, 0x1c(fp)                           |         a2 = *(arg_1ch);
    0x004028e4 lw t8, -0x7f88(gp)                        |         t8 = sym.imp.fprintf
    0x004028e8 move t9, t8                               |         t9 = t8;
    0x004028ec jalr t9                                   |         t9 ();
    0x004028f0 nop                                       |         
    0x004028f4 lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x004028f8 lw a0, 0x30(fp)                           |         a0 = *(arg_30h);
    0x004028fc lw t8, -0x7f58(gp)                        |         t8 = sym.imp.fclose;
    0x00402900 move t9, t8                               |         t9 = t8;
    0x00402904 jalr t9                                   |         t9 ();
    0x00402908 nop                                       |         
    0x0040290c lw gp, 0x10(fp)                           |         gp = *(arg_10h);
    0x00402910 sw zero, 0x30(fp)                         |         *(arg_30h) = 0;
                                                         |     }
    0x00402914 addiu t8, fp, 0x24                        |     t8 = fp + 0x24;
    0x00402918 move a0, t8                               |     a0 = t8;
    0x0040291c lw t8, -0x7f50(gp)                        |     t8 = *(gp);
    0x00402920 move t9, t8                               |     t9 = t8;
    0x00402924 jalr t9                                   |     t9 ();
    0x00402928 nop                                       |     
    0x0040292c lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x00402930 addiu t8, fp, 0x34                        |     t8 = fp + 0x34;
    0x00402934 move a0, t8                               |     a0 = t8;
    0x00402938 lw t8, -0x7f84(gp)                        |     t8 = sym.imp.TinyDB::TinyDB__;
    0x0040293c move t9, t8                               |     t9 = t8;
    0x00402940 jalr t9                                   |     t9 ();
    0x00402944 nop                                       |     
    0x00402948 lw gp, 0x10(fp)                           |     gp = *(arg_10h);
    0x0040294c lw t8, -0x7f18(gp)                        |     t8 = *((gp - 8134));
    0x00402950 lw v0, 0x104c(fp)                         |     v0 = *(arg_104ch);
    0x00402954 lw t8, (t8)                               |     t8 = *(t8);
                                                         |     if (v0 != t8) {
    0x00402958 beq v0, t8, 0x402a64                      |         
    0x0040295c nop                                       |         
    0x00402960 b 0x402a54                                |         goto label_1;
    0x00402964 nop                                       |         
                                                         | label_1:
    0x00402a54 lw t8, -0x7f60(gp)                        |         t8 = sym.imp.__stack_chk_fail;
    0x00402a58 move t9, t8                               |         t9 = t8;
    0x00402a5c jalr t9                                   |         t9 ();
    0x00402a60 nop                                       |         
                                                         |     }
    0x00402a64 move sp, fp                               |     
    0x00402a68 lw ra, 0x105c(sp)                         |     ra = *(var_105ch);
    0x00402a6c lw fp, 0x1058(sp)                         |     fp = *(var_1058h);
    0x00402a70 lw s0, 0x1054(sp)                         |     s0 = *(var_1054h);
    0x00402a74 addiu sp, sp, 0x1060                      |     
    0x00402a78 jr ra                                     |     return v0;
    0x00402a7c nop                                       |     
                                                         | }

[*] Function printf used 13 times ipv6_network_helper