[*] Binary protection state of libip6t_dst.so

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


[*] Function printf tear down of libip6t_dst.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_dst.so @ 0xa64 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.00000a64 ()                                  | void fcn_00000a64 (int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x00000a64 push {r4, r5, r6, r7, r8, sb, sl, lr}         |     
    0x00000a68 ldr r7, [pc, 0x68]                            |     r7 = *(0xad4);
    0x00000a6c mov r6, r0                                    |     r6 = r0;
    0x00000a70 mov r0, 0x20                                  |     r0 = 0x20;
    0x00000a74 mov r4, r1                                    |     r4 = r1;
    0x00000a78 bl 0x524                                      |     putchar (r0);
    0x00000a7c ldr r8, [pc, 0x58]                            |     r8 = "CloneTable";
    0x00000a80 sub r4, r4, 2                                 |     r4 -= 2;
    0x00000a84 mov r5, 0                                     |     r5 = 0;
    0x00000a88 add r7, pc, r7                                |     r7 = pc + r7;
    0x00000a8c add r8, pc, r8                                |     r8 = pc + r8;
    0x00000a90 sub sb, r6, 1                                 |     sb = r6 - 1;
                                                             |     do {
    0x00000a94 cmp r5, r6                                    |         
    0x00000a98 popeq {r4, r5, r6, r7, r8, sb, sl, pc}        |         
    0x00000a9c ldrh r1, [r4, 2]!                             |         r1 = *((r4 += 2));
    0x00000aa0 mov r0, r7                                    |         r0 = r7;
    0x00000aa4 lsr r1, r1, 8                                 |         r1 >>= 8;
    0x00000aa8 bl 0x530                                      |         printf (r0, r1, r2, r3, r4, r5)
    0x00000aac ldrb r1, [r4]                                 |         r1 = *(r4);
    0x00000ab0 cmp r1, 0xff                                  |         
                                                             |         if (r1 != 0xff) {
    0x00000ab4 beq 0xac0                                     |             
    0x00000ab8 mov r0, r8                                    |             r0 = r8;
    0x00000abc bl 0x530                                      |             printf (r0)
                                                             |         }
    0x00000ac0 cmp sb, r5                                    |         
                                                             |         if (sb == r5) {
    0x00000ac4 movne r0, 0x2c                                |             r0 = 0x2c;
                                                             |         }
                                                             |         if (sb != r5) {
    0x00000ac8 moveq r0, 0x20                                |             r0 = 0x20;
                                                             |         }
    0x00000acc bl 0x524                                      |         putchar (r0);
    0x00000ad0 add r5, r5, 1                                 |         r5++;
    0x00000ad4 b 0xa94                                       |         
                                                             |     } while (1);
                                                             | }

[*] Function printf used 3 times libip6t_dst.so