[*] Binary protection state of libxt_RATEEST.so

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


[*] Function printf tear down of libxt_RATEEST.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_RATEEST.so @ 0x9c8 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.000009c8 ()              | void fcn_000009c8 (int32_t arg1) {
                                         |     r0 = arg1;
    0x000009c8 push {r4, r5, r6, lr}     |     
    0x000009cc mov r6, r0                |     r6 = r0;
    0x000009d0 bl 0xea4                  |     fcn_00000ea4 (r0);
    0x000009d4 mov r2, 0                 |     r2 = 0;
    0x000009d8 ldr r3, [pc, 0x90]        |     r3 = *(0xa6c);
    0x000009dc mov r4, r0                |     r4 = r0;
    0x000009e0 mov r5, r1                |     r5 = r1;
    0x000009e4 bl 0x1520                 |     fcn_00001520 (r0, r1);
    0x000009e8 mov r2, 0                 |     r2 = 0;
    0x000009ec cmp r0, 0                 |     
                                         |     if (r0 == 0) {
    0x000009f0 beq 0xa1c                 |         goto label_0;
                                         |     }
    0x000009f4 ldr r3, [pc, 0x74]        |     r3 = *(0xa6c);
    0x000009f8 mov r0, r4                |     r0 = r4;
    0x000009fc mov r1, r5                |     r1 = r5;
    0x00000a00 bl 0x1218                 |     r0 = fcn_00001218 (r0);
    0x00000a04 mov r2, r0                |     r2 = r0;
    0x00000a08 ldr r0, [pc, 0x64]        |     r0 = *(0xa70);
    0x00000a0c mov r3, r1                |     r3 = r1;
    0x00000a10 add r0, pc, r0            |     r0 = pc + r0;
                                         |     do {
    0x00000a14 pop {r4, r5, r6, lr}      |         
    0x00000a18 b 0x4bc                   |         void (*0x4bc)() ();
                                         | label_0:
    0x00000a1c ldr r3, [pc, 0x54]        |         r3 = *(0xa74);
    0x00000a20 mov r0, r4                |         r0 = r4;
    0x00000a24 mov r1, r5                |         r1 = r5;
    0x00000a28 bl 0x1520                 |         r0 = fcn_00001520 (r0, r1);
    0x00000a2c cmp r0, 0                 |         
                                         |         if (r0 == 0) {
    0x00000a30 beq 0xa5c                 |             goto label_1;
                                         |         }
    0x00000a34 mov r2, 0                 |         r2 = 0;
    0x00000a38 ldr r3, [pc, 0x38]        |         r3 = *(0xa74);
    0x00000a3c mov r0, r4                |         r0 = r4;
    0x00000a40 mov r1, r5                |         r1 = r5;
    0x00000a44 bl 0x1218                 |         r0 = fcn_00001218 (r0);
    0x00000a48 mov r2, r0                |         r2 = r0;
    0x00000a4c ldr r0, [pc, 0x28]        |         r0 = *(0xa78);
    0x00000a50 mov r3, r1                |         r3 = r1;
    0x00000a54 add r0, pc, r0            |         r0 = pc + r0;
    0x00000a58 b 0xa14                   |         
                                         |     } while (1);
                                         | label_1:
    0x00000a5c ldr r0, [pc, 0x1c]        |     r0 = *(0xa7c);
    0x00000a60 mov r1, r6                |     r1 = r6;
    0x00000a64 add r0, pc, r0            |     r0 = pc + r0;
    0x00000a68 pop {r4, r5, r6, lr}      |     
    0x00000a6c b 0x4bc                   |     return void (*0x4bc)() ();
                                         | }

[*] Function printf used 1 times libxt_RATEEST.so