[*] Binary protection state of seqiv.ko
No RELRO No Canary found NX disabled REL No RPATH No RUNPATH Symbols
[*] Function popen 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 popen used 1 times seqiv.ko