[*] Binary protection state of p8022.ko

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


[*] Function strcpy tear down of p8022.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/802/p8022.ko @ 0x8000088 */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) sym.register_8022_client ()                      | void register_8022_client (int32_t arg1, int32_t arg2) {
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
    0x08000088 stmdaeq r0, {r1, r2, r3, r5, sb, fp}          |     __asm ("stmdaeq r0, {r1, r2, r3, r5, sb, fp}");
    0x0800008c stmdaeq r0, {r1, r2, r3, r5, sb, fp}          |     __asm ("stmdaeq r0, {r1, r2, r3, r5, sb, fp}");
    0x08000090 push {r4, r5, r6, lr}                         |     
    0x08000094 mov r6, r1                                    |     r6 = r1;
    0x08000098 mov r5, r0                                    |     r5 = r0;
    0x0800009c mov r1, 0xa20                                 |     r1 = 0xa20;
    0x080000a0 ldr r0, [r3, 0x18]                            |     r0 = *((r3 + 0x18));
    0x080000a4 stmdaeq r0, {r1, r4, r5, sb, fp}              |     __asm ("stmdaeq r0, {r1, r4, r5, sb, fp}");
    0x080000a8 subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 == r0) {
    0x080000ac beq 0x80000e4                                 |         goto label_0;
                                                             |     }
    0x080000b0 mov r2, 3                                     |     r2 = 3;
    0x080000b4 mov r1, r6                                    |     r1 = r6;
    0x080000b8 mov r0, r5                                    |     r0 = r5;
    0x080000bc strb r5, [r4]                                 |     *(r4) = r5;
    0x080000c0 stmdaeq r0, {r4, r5, r6}                      |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080000c4 stmdaeq r0, {r4, r5, r6}                      |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080000c8 strh r2, [r4, 0xc]                            |     *((r4 + 0xc)) = r2;
    0x080000cc str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x080000d0 stmdaeq r0, {r1, r2, r4, r5, sb, fp}          |     __asm ("stmdaeq r0, {r1, r2, r4, r5, sb, fp}");
    0x080000d4 mov r3, r0                                    |     r3 = r0;
    0x080000d8 cmp r0, 0                                     |     
    0x080000dc str r0, [r4, 8]                               |     *((r4 + 8)) = r0;
    0x080000e0 beq 0x80000ec                                 |     
                                                             |     while (1) {
                                                             | label_0:
    0x080000e4 mov r0, r4                                    |         r0 = r4;
    0x080000e8 pop {r4, r5, r6, pc}                          |         
    0x080000ec mov r0, r4                                    |         r0 = r4;
    0x080000f0 mov r4, r3                                    |         r4 = r3;
    0x080000f4 stmdaeq r0, {r1, r3, r4, r5, sb, fp}          |         __asm ("stmdaeq r0, {r1, r3, r4, r5, sb, fp}");
    0x080000f8 b 0x80000e4                                   |         
                                                             |     }
                                                             | }

[*] Function strcpy used 1 times p8022.ko