[*] Binary protection state of ip_set.ko

  
  	No RELRO       No Canary found   NX disabled  REL          No RPATH     No RUNPATH   Symbols


[*] Function popen tear down of ip_set.ko

    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis8/kernel/net/netfilter/ipset/ip_set.ko @ 0x8000db4 */
                                                                     | #include <stdint.h>
                                                                     |  
                                                                     | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                     |  
    ; (fcn) sym.ip_set_flush_set ()                                  | void ip_set_flush_set (int32_t arg1) {
                                                                     |     int32_t var_0h;
                                                                     |     r0 = arg1;
    0x08000db4 push {r4, lr}                                         |     
    0x08000db8 mov r4, r0                                            |     r4 = r0;
    0x08000dbc ldr r3, [r0, 0x2c]                                    |     r3 = *((r0 + 0x2c));
    0x08000dc0 ldrb r2, [r3, 0x34]                                   |     r2 = *((r3 + 0x34));
    0x08000dc4 cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x08000dc8 bne 0x8000dec                                         |         
    0x08000dcc mov r3, sp                                            |         r3 = sp;
    0x08000dd0 bic r2, r3, 0x1fc0                                    |         r2 = BIT_MASK (r3, 0x1fc0);
    0x08000dd4 bic r2, r2, 0x3f                                      |         r2 = BIT_MASK (r2, 0x3f);
    0x08000dd8 ldr r3, [r2, 4]                                       |         r3 = *((r2 + 4));
    0x08000ddc add r3, r3, 0x200                                     |         r3 += 0x200;
    0x08000de0 add r3, r3, 1                                         |         r3++;
    0x08000de4 str r3, [r2, 4]                                       |         *((r2 + 4)) = r3;
    0x08000de8 ldr r3, [r0, 0x2c]                                    |         r3 = *((r0 + 0x2c));
                                                                     |     }
    0x08000dec ldr r3, [r3, 0x1c]                                    |     r3 = *((r3 + 0x1c));
    0x08000df0 mov r0, r4                                            |     r0 = r4;
    0x08000df4 blx r3                                                |     uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
    0x08000df8 ldr r3, [r4, 0x2c]                                    |     r3 = *((r4 + 0x2c));
    0x08000dfc ldrb r3, [r3, 0x34]                                   |     r3 = *((r3 + 0x34));
    0x08000e00 cmp r3, 0                                             |     
    0x08000e04 popne {r4, pc}                                        |     
    0x08000e08 pop {r4, lr}                                          |     
    0x08000e0c movw r1, 0x201                                        |     r1 = 0x201;
    0x08000e10 ldr r0, [pc]                                          |     r0 = *(0x8000e10);
    0x08000e14 stmdaeq r0, {r0, r2, r5, r8, sl, fp, ip, pc}          |     __asm ("stmdaeq r0, {r0, r2, r5, r8, sl, fp, ip, pc}");
    0x08000e18 stmdaeq r0, {r4, r5, r6}                              |     __asm ("stmdaeq r0, {r4, r5, r6}");
                                                                     | }

[*] Function popen used 1 times ip_set.ko