[*] Binary protection state of libxt_connbytes.so

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


[*] Function printf tear down of libxt_connbytes.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/libxt_connbytes.so @ 0xa98 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.00000a98 ()                          | void fcn_00000a98 (int32_t arg1, int32_t arg2) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
    0x00000a98 push {r4, r5, r6, r7, r8, lr}         |     
    0x00000a9c ldrd r2, r3, [r0]                     |     __asm ("ldrd r2, r3, [r0]");
    0x00000aa0 ldrd r4, r5, [r0, 8]                  |     __asm ("ldrd r4, r5, [r0, 8]");
    0x00000aa4 mov r7, r1                            |     r7 = r1;
    0x00000aa8 ldr r1, [pc, 0x74]                    |     r1 = *(0xb20);
    0x00000aac cmp r3, r5                            |     
    0x00000ab0 cmpeq r2, r4                          |     __asm ("cmpeq r2, r4");
    0x00000ab4 add r1, pc, r1                        |     r1 = pc + r1;
                                                     |     if (r3 >= r5) {
    0x00000ab8 bls 0xae0                             |         
    0x00000abc ldr r3, [pc, 0x64]                    |         r3 = *(0xb24);
    0x00000ac0 mov r6, r0                            |         r6 = r0;
    0x00000ac4 ldr r3, [r1, r3]                      |         r3 = *((r1 + r3));
    0x00000ac8 ldr r0, [pc, 0x5c]                    |         r0 = *(0xb28);
    0x00000acc ldr r1, [r3]                          |         r1 = *(0xb24);
    0x00000ad0 add r0, pc, r0                        |         r0 = pc + r0;
    0x00000ad4 bl 0x568                              |         fputs (r0, r1);
    0x00000ad8 ldrd r2, r3, [r6, 8]                  |         __asm ("ldrd r2, r3, [r6, 8]");
    0x00000adc ldrd r4, r5, [r6]                     |         __asm ("ldrd r4, r5, [r6]");
                                                     |     }
    0x00000ae0 ldr r0, [pc, 0x48]                    |     r0 = "ITM_deregisterTMCloneTable";
    0x00000ae4 mov r1, r7                            |     r1 = r7;
    0x00000ae8 add r0, pc, r0                        |     r0 = pc + r0;
    0x00000aec bl 0x508                              |     printf ("ITM_deregisterTMCloneTable", r1, r2, r3, r4)
    0x00000af0 subs r0, r4, 1                        |     r0 = r4 - 1;
    0x00000af4 sbc r1, r5, 0                         |     __asm ("sbc r1, r5, 0");
    0x00000af8 mvn r3, 0                             |     r3 = ~0;
    0x00000afc mvn r2, 2                             |     r2 = ~2;
    0x00000b00 cmp r1, r3                            |     
    0x00000b04 cmpeq r0, r2                          |     __asm ("cmpeq r0, r2");
                                                     |     if (r1 <= r3) {
    0x00000b08 pophi {r4, r5, r6, r7, r8, pc}        |         
                                                     |     }
    0x00000b0c ldr r0, [pc, 0x20]                    |     r0 = *(0xb30);
    0x00000b10 mov r2, r4                            |     r2 = r4;
    0x00000b14 mov r3, r5                            |     r3 = r5;
    0x00000b18 add r0, pc, r0                        |     r0 = pc + r0;
    0x00000b1c pop {r4, r5, r6, r7, r8, lr}          |     
    0x00000b20 b 0x508                               |     return void (*0x508)() ();
                                                     | }

[*] Function printf used 2 times libxt_connbytes.so