[*] Binary protection state of libip6t_hbh.so

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


[*] Function printf tear down of libip6t_hbh.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_hbh.so @ 0xb04 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00000b04 ()                          | void fcn_00000b04 (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00000b04 push {r4, r5, r6, r7, r8, lr}         |     
    0x00000b08 ldr r7, [pc, 0x58]                    |     r7 = *(0xb64);
    0x00000b0c ldr r8, [pc, 0x58]                    |     r8 = *(0xb68);
    0x00000b10 mov r6, r0                            |     r6 = r0;
    0x00000b14 sub r5, r1, 2                         |     r5 = r1 - 2;
    0x00000b18 mov r4, 0                             |     r4 = 0;
    0x00000b1c add r7, pc, r7                        |     r7 = pc + r7;
    0x00000b20 add r8, pc, r8                        |     r8 = pc + r8;
                                                     |     do {
    0x00000b24 cmp r4, r6                            |         
    0x00000b28 popeq {r4, r5, r6, r7, r8, pc}        |         
    0x00000b2c cmp r4, 0                             |         
                                                     |         if (r4 != 0) {
    0x00000b30 moveq r0, 0x20                        |             r0 = 0x20;
                                                     |         }
                                                     |         if (r4 == 0) {
    0x00000b34 movne r0, 0x2c                        |             r0 = 0x2c;
                                                     |         }
    0x00000b38 bl 0x554                              |         putchar (r0);
    0x00000b3c ldrh r1, [r5, 2]!                     |         r1 = *((r5 += 2));
    0x00000b40 mov r0, r7                            |         r0 = r7;
    0x00000b44 lsr r1, r1, 8                         |         r1 >>= 8;
    0x00000b48 bl 0x560                              |         printf (r0, r1)
    0x00000b4c ldrb r1, [r5]                         |         r1 = *(r5);
    0x00000b50 cmp r1, 0xff                          |         
                                                     |         if (r1 != 0xff) {
    0x00000b54 beq 0xb60                             |             
    0x00000b58 mov r0, r8                            |             r0 = r8;
    0x00000b5c bl 0x560                              |             printf (r0)
                                                     |         }
    0x00000b60 add r4, r4, 1                         |         r4++;
    0x00000b64 b 0xb24                               |         
                                                     |     } while (1);
                                                     | }

[*] Function printf used 3 times libip6t_hbh.so