[*] 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