[*] Binary protection state of libip6t_mh.so

  
  	Partial RELRO  No Canary found   NX disabled  DSO          No RPATH     No RUNPATH   No Symbols


[*] Function printf tear down of libip6t_mh.so

    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/unblob_extracted/firmware_extract/56048-12514271.gzip_extract/gzip.uncompressed_extract/5243916-15068666.gzip_extract/gzip.uncompressed_extract/usr/lib/xtables/libip6t_mh.so @ 0x99c */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.0000099c ()              | void fcn_0000099c (int32_t arg1, uint32_t arg2) {
                                         |     r0 = arg1;
                                         |     r1 = arg2;
    0x0000099c cmp r1, 0                 |     
                                         |     if (r1 != 0) {
    0x000009a0 bne 0x9c8                 |         goto label_0;
                                         |     }
    0x000009a4 ldr r3, [pc, 0x48]        |     r3 = *(0x9f0);
    0x000009a8 add r3, pc, r3            |     r3 = pc + r3;
                                         |     do {
    0x000009ac add r2, r3, r1, lsl 3     |         r2 = r3 + (r1 << 3);
    0x000009b0 ldrb r2, [r2, 4]          |         r2 = *((r2 + 4));
    0x000009b4 cmp r2, r0                |         
                                         |         if (r2 == r0) {
    0x000009b8 bne 0x9d8                 |             
    0x000009bc ldr r1, [r3, r1, lsl 3]   |             offset_0 = r1 << 3;
                                         |             r1 = *((r3 + offset_0));
    0x000009c0 cmp r1, 0                 |             
                                         |             if (r1 != 0) {
    0x000009c4 bne 0x9e8                 |                 goto label_2;
                                         |             }
                                         | label_0:
    0x000009c8 mov r1, r0                |             r1 = r0;
    0x000009cc ldr r0, [pc, 0x24]        |             r0 = *(0x9f4);
    0x000009d0 add r0, pc, r0            |             r0 = pc + r0;
                                         | label_1:
    0x000009d4 b 0x628                   |             void (*0x628)() ();
                                         |         }
    0x000009d8 add r1, r1, 1             |         r1++;
    0x000009dc cmp r1, 0x10              |         
    0x000009e0 bne 0x9ac                 |         
                                         |     } while (r1 != 0x10);
    0x000009e4 b 0x9c8                   |     goto label_0;
                                         | label_2:
    0x000009e8 ldr r0, [pc, 0xc]         |     r0 = *(0x9f8);
    0x000009ec add r0, pc, r0            |     r0 = pc + r0;
    0x000009f0 b 0x9d4                   |     goto label_1;
                                         | }

[*] Function printf used 1 times libip6t_mh.so