[*] Binary protection state of seqiv.ko

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


[*] Function strcpy tear down of seqiv.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/crypto/seqiv.ko @ 0x8000114 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.seqiv_aead_create ()                                 | void seqiv_aead_create (uint32_t arg1) {
                                                                     |     r0 = arg1;
    0x08000114 push {r4, r5, r6, lr}                                 |     
    0x08000118 mov r5, r0                                            |     r5 = r0;
    0x0800011c stmdaeq r0, {r2, r5, r7, r8, sb, sl, fp}              |     __asm ("stmdaeq r0, {r2, r5, r7, r8, sb, sl, fp}");
    0x08000120 cmn r0, 0x1000                                        |     
    0x08000124 mov r4, r0                                            |     r4 = r0;
                                                                     |     if (r0 <= 0x1000) {
    0x08000128 movhi r5, r0                                          |         r5 = r0;
                                                                     |     }
                                                                     |     if (r0 > 0x1000) {
    0x0800012c bhi 0x800014c                                         |         goto label_0;
                                                                     |     }
    0x08000130 ldr r3, [r0, 0x58]                                    |     r3 = *((r0 + 0x58));
    0x08000134 cmp r3, 8                                             |     
                                                                     |     if (r3 == 8) {
    0x08000138 mvnne r5, 0x15                                        |         r5 = ~0x15;
                                                                     |     }
    0x0800013c beq 0x8000154                                         |     
                                                                     |     while (r5 != r0) {
    0x08000140 ldr r3, [r4]                                          |         r3 = *(r4);
    0x08000144 mov r0, r4                                            |         r0 = r4;
    0x08000148 blx r3                                                |         uint32_t (*r3)(uint32_t, uint32_t) (r0, r3);
                                                                     | label_0:
    0x0800014c mov r0, r5                                            |         r0 = r5;
    0x08000150 pop {r4, r5, r6, pc}                                  |         
    0x08000154 mov r1, r0                                            |         r1 = r0;
    0x08000158 stmdaeq r0, {r5, r7, r8}                              |         __asm ("stmdaeq r0, {r5, r7, r8}");
    0x0800015c stmdaeq r0, {r5, r7, r8}                              |         __asm ("stmdaeq r0, {r5, r7, r8}");
    0x08000160 mov r0, r5                                            |         r0 = r5;
    0x08000164 stmdaeq r0, {r4, r5, r6}                              |         __asm ("stmdaeq r0, {r4, r5, r6}");
    0x08000168 stmdaeq r0, {r4, r5, r6}                              |         __asm ("stmdaeq r0, {r4, r5, r6}");
    0x0800016c strd r2, r3, [r4, 0x48]                               |         __asm ("strd r2, r3, [r4, 0x48]");
    0x08000170 stmdaeq r0, {r3, r5, r7, r8, sb, sl, fp}              |         __asm ("stmdaeq r0, {r3, r5, r7, r8, sb, sl, fp}");
    0x08000174 stmdaeq r0, {r3, r5, r7, r8, sb, sl, fp}              |         __asm ("stmdaeq r0, {r3, r5, r7, r8, sb, sl, fp}");
    0x08000178 stmdaeq r0, {r2, r3, r5, r7, r8, sb, sl, fp}          |         __asm ("stmdaeq r0, {r2, r3, r5, r7, r8, sb, sl, fp}");
    0x0800017c stmdaeq r0, {r2, r3, r5, r7, r8, sb, sl, fp}          |         __asm ("stmdaeq r0, {r2, r3, r5, r7, r8, sb, sl, fp}");
    0x08000180 strd r2, r3, [r4, 0x50]                               |         __asm ("strd r2, r3, [r4, 0x50]");
    0x08000184 mov r3, 0x10                                          |         r3 = 0x10;
    0x08000188 str r3, [r4, 0x98]                                    |         *((r4 + 0x98)) = r3;
    0x0800018c stmdaeq r0, {r4, r5, r7, r8, sb, sl, fp}              |         __asm ("stmdaeq r0, {r4, r5, r7, r8, sb, sl, fp}");
    0x08000190 subs r5, r0, 0                                        |         r5 = r0 - 0;
    0x08000194 bne 0x8000140                                         |         
                                                                     |     }
    0x08000198 mov r0, r5                                            |     r0 = r5;
    0x0800019c pop {r4, r5, r6, pc}                                  |     
                                                                     | }

[*] Function strcpy used 1 times seqiv.ko