[*] Binary protection state of ipv6_network_helper

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


[*] Function system 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 @ 0x402b54 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) main ()                          | int32_t main () {
    0x00402b54 lui gp, 2                     |     
    0x00402b58 addiu gp, gp, -0x6b34         |     
    0x00402b5c addu gp, gp, t9               |     gp += t9;
    0x00402b60 addiu sp, sp, -0x38           |     
    0x00402b64 sw ra, 0x34(sp)               |     *(var_34h) = ra;
    0x00402b68 sw fp, 0x30(sp)               |     *(var_30h) = fp;
    0x00402b6c move fp, sp                   |     fp = sp;
    0x00402b70 sw gp, 0x10(sp)               |     *(var_10h) = gp;
    0x00402b74 sw a0, 0x1c(fp)               |     *(arg_1ch) = a0;
    0x00402b78 sw a1, 0x18(fp)               |     *(envp) = a1;
    0x00402b7c lw t8, -0x7f18(gp)            |     t8 = *((gp - 8134));
    0x00402b80 lw t8, (t8)                   |     t8 = *(t8);
    0x00402b84 sw t8, 0x2c(fp)               |     *(arg_2ch) = t8;
    0x00402b88 addiu t8, zero, -1            |     t8 = -1;
    0x00402b8c sw t8, 0x24(fp)               |     *(arg_24h) = t8;
    0x00402b90 addiu t8, zero, 1             |     t8 = 1;
    0x00402b94 sw t8, 0x28(fp)               |     *(arg_28h) = t8;
    0x00402b98 addiu t8, fp, 0x24            |     t8 = fp + 0x24;
    0x00402b9c move a0, t8                   |     a0 = t8;
    0x00402ba0 move a1, zero                 |     a1 = 0;
    0x00402ba4 lw a2, -0x7fb8(gp)            |     a2 = sym.dibbler_prev_check_void_;
    0x00402ba8 move a3, zero                 |     a3 = 0;
    0x00402bac lw t8, -0x7f68(gp)            |     t8 = sym.imp.pthread_create;
    0x00402bb0 move t9, t8                   |     t9 = t8;
    0x00402bb4 jalr t9                       |     t9 ();
    0x00402bb8 nop                           |     
    0x00402bbc lw gp, 0x10(fp)               |     gp = *(argv);
                                             |     do {
    0x00402bc0 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x00402bc4 slti t8, t8, 4                |         t8 = (t8 < 4) ? 1 : 0;
                                             |         if (t8 == 0) {
    0x00402bc8 bnez t8, 0x402bd8             |             
    0x00402bcc nop                           |             
    0x00402bd0 b 0x402c34                    |             goto label_0;
    0x00402bd4 nop                           |             
                                             |         }
    0x00402bd8 lw t8, -0x7fb4(gp)            |         t8 = sym.send_ipv6_router_solicitation__;
    0x00402bdc move t9, t8                   |         t9 = t8;
    0x00402be0 jalr t9                       |         t9 ();
    0x00402be4 nop                           |         
    0x00402be8 lw gp, 0x10(fp)               |         gp = *(argv);
    0x00402bec lw t8, -0x7fcc(gp)            |         t8 = *((gp - 8179));
    0x00402bf0 lw v0, 0x4140(t8)             |         v0 = *((t8 + 4176));
    0x00402bf4 addiu t8, zero, 1             |         t8 = 1;
                                             |         if (v0 == t8) {
    0x00402bf8 bne v0, t8, 0x402c08          |             
    0x00402bfc nop                           |             
    0x00402c00 b 0x402c34                    |             goto label_0;
    0x00402c04 nop                           |             
                                             |         }
    0x00402c08 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x00402c0c addiu t8, t8, 1               |         t8++;
    0x00402c10 sw t8, 0x28(fp)               |         *(arg_28h) = t8;
    0x00402c14 addiu a0, zero, 4             |         a0 = 4;
    0x00402c18 lw t8, -0x7f2c(gp)            |         t8 = sym.imp.sleep;
    0x00402c1c move t9, t8                   |         t9 = t8;
    0x00402c20 jalr t9                       |         t9 ();
    0x00402c24 nop                           |         
    0x00402c28 lw gp, 0x10(fp)               |         gp = *(argv);
    0x00402c2c b 0x402bc0                    |         
                                             |     } while (1);
    0x00402c30 nop                           |     
                                             | label_0:
    0x00402c34 lw t8, -0x7fcc(gp)            |     t8 = *((gp - 8179));
    0x00402c38 lw t8, 0x4140(t8)             |     t8 = *((t8 + 4176));
                                             |     if (t8 == 0) {
    0x00402c3c bnez t8, 0x402ca0             |         
    0x00402c40 nop                           |         
    0x00402c44 lw t8, 0x28(fp)               |         t8 = *(arg_28h);
    0x00402c48 slti t8, t8, 3                |         t8 = (t8 < 3) ? 1 : 0;
                                             |         if (t8 != 0) {
    0x00402c4c bnez t8, 0x402ca0             |             goto label_1;
                                             |         }
    0x00402c50 nop                           |         
    0x00402c54 addiu a0, zero, 1             |         a0 = 1;
    0x00402c58 lw t8, -0x7f2c(gp)            |         t8 = sym.imp.sleep;
    0x00402c5c move t9, t8                   |         t9 = t8;
    0x00402c60 jalr t9                       |         t9 ();
    0x00402c64 nop                           |         
    0x00402c68 lw gp, 0x10(fp)               |         gp = *(argv);
    0x00402c6c move a0, zero                 |         a0 = 0;
    0x00402c70 lw t8, -0x7fbc(gp)            |         t8 = sym.update_configuration_file_int_;
    0x00402c74 move t9, t8                   |         t9 = t8;
    0x00402c78 jalr t9                       |         t9 ();
    0x00402c7c nop                           |         
    0x00402c80 lw gp, 0x10(fp)               |         gp = *(argv);
    0x00402c84 lw t8, -0x7fdc(gp)            |         t8 = *(gp);
                                             |         /* str._etc_rc.d_init.d_rdnssd.sh_stop */
    0x00402c88 addiu a0, t8, 0x3308          |         a0 = t8 + 0x3308;
    0x00402c8c lw t8, -0x7f20(gp)            |         t8 = sym.imp.system
    0x00402c90 move t9, t8                   |         t9 = t8;
    0x00402c94 jalr t9                       |         t9 ();
    0x00402c98 nop                           |         
    0x00402c9c lw gp, 0x10(fp)               |         gp = *(argv);
                                             |     }
                                             | label_1:
    0x00402ca0 lw t8, -0x7fdc(gp)            |     t8 = *(gp);
                                             |     /* str._etc_rc.d_init.d_dibbler.sh_restart */
    0x00402ca4 addiu a0, t8, 0x3328          |     a0 = t8 + 0x3328;
    0x00402ca8 lw t8, -0x7f20(gp)            |     t8 = sym.imp.system
    0x00402cac move t9, t8                   |     t9 = t8;
    0x00402cb0 jalr t9                       |     t9 ();
    0x00402cb4 nop                           |     
    0x00402cb8 lw gp, 0x10(fp)               |     gp = *(argv);
    0x00402cbc move t8, zero                 |     t8 = 0;
    0x00402cc0 move v0, t8                   |     v0 = t8;
    0x00402cc4 lw t8, -0x7f18(gp)            |     t8 = *((gp - 8134));
    0x00402cc8 lw v1, 0x2c(fp)               |     v1 = *(arg_2ch);
    0x00402ccc lw t8, (t8)                   |     t8 = *(t8);
                                             |     if (v1 != t8) {
    0x00402cd0 beq v1, t8, 0x402ce8          |         
    0x00402cd4 nop                           |         
    0x00402cd8 lw t8, -0x7f60(gp)            |         t8 = sym.imp.__stack_chk_fail;
    0x00402cdc move t9, t8                   |         t9 = t8;
    0x00402ce0 jalr t9                       |         t9 ();
    0x00402ce4 nop                           |         
                                             |     }
    0x00402ce8 move sp, fp                   |     
    0x00402cec lw ra, 0x34(sp)               |     ra = *(var_34h);
    0x00402cf0 lw fp, 0x30(sp)               |     fp = *(var_30h);
    0x00402cf4 addiu sp, sp, 0x38            |     
    0x00402cf8 jr ra                         |     return v1;
    0x00402cfc nop                           |     
                                             | }

[*] Function system used 3 times ipv6_network_helper