[*] Binary protection state of essiv.ko

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


[*] Function strcat tear down of essiv.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/essiv.ko @ 0x800019c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.essiv_skcipher_decrypt ()                        | void essiv_skcipher_decrypt (int32_t arg1) {
                                                                 |     r0 = arg1;
    0x0800019c push {r4, r5, r6, lr}                             |     
    0x080001a0 mov r4, r0                                        |     r4 = r0;
    0x080001a4 ldr r5, [r0, 0x20]                                |     r5 = *((r0 + 0x20));
    0x080001a8 ldr r2, [r0, 4]                                   |     r2 = *((r0 + 4));
    0x080001ac ldr r0, [r5, 0x44]                                |     r0 = *((r5 + 0x44));
    0x080001b0 mov r1, r2                                        |     r1 = r2;
    0x080001b4 stmdaeq r0, {r0, r1, r5, r8, sl, sp}              |     __asm ("stmdaeq r0, {r0, r1, r5, r8, sl, sp}");
    0x080001b8 ldr r3, [r5, 0x40]                                |     r3 = *((r5 + 0x40));
    0x080001bc ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x080001c0 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x080001c4 add r3, r3, 0x40                                  |     r3 += 0x40;
    0x080001c8 str r2, [r4, 0x4c]                                |     *((r4 + 0x4c)) = r2;
    0x080001cc str r0, [r4, 0x48]                                |     *((r4 + 0x48)) = r0;
    0x080001d0 ldm r4, {r1, r2}                                  |     r1 = *(r4);
                                                                 |     r2 = *((r4 + 4));
    0x080001d4 str r3, [r4, 0x60]                                |     *((r4 + 0x60)) = r3;
    0x080001d8 ldr r0, [r4, 0x24]                                |     r0 = *((r4 + 0x24));
    0x080001dc stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080001e0 stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x080001e4 str r0, [r4, 0x64]                                |     *((r4 + 0x64)) = r0;
    0x080001e8 str r1, [r4, 0x40]                                |     *((r4 + 0x40)) = r1;
    0x080001ec add r0, r4, 0x40                                  |     r0 = r4 + 0x40;
    0x080001f0 str r2, [r4, 0x44]                                |     *((r4 + 0x44)) = r2;
    0x080001f4 str r3, [r4, 0x58]                                |     *((r4 + 0x58)) = r3;
    0x080001f8 str r4, [r4, 0x5c]                                |     *((r4 + 0x5c)) = r4;
    0x080001fc pop {r4, r5, r6, lr}                              |     
    0x08000200 stmdaeq r0, {r0, r1, r2, r5, r8, sl, sp}          |     __asm ("stmdaeq r0, {r0, r1, r2, r5, r8, sl, sp}");
                                                                 | }
    ; 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/essiv.ko @ 0x8000438 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.essiv_skcipher_encrypt ()                        | void essiv_skcipher_encrypt (int32_t arg1) {
                                                                 |     r0 = arg1;
    0x08000438 push {r4, r5, r6, lr}                             |     
    0x0800043c mov r4, r0                                        |     r4 = r0;
    0x08000440 ldr r5, [r0, 0x20]                                |     r5 = *((r0 + 0x20));
    0x08000444 ldr r2, [r0, 4]                                   |     r2 = *((r0 + 4));
    0x08000448 ldr r0, [r5, 0x44]                                |     r0 = *((r5 + 0x44));
    0x0800044c mov r1, r2                                        |     r1 = r2;
    0x08000450 stmdaeq r0, {r0, r1, r5, r8, sl, sp}              |     __asm ("stmdaeq r0, {r0, r1, r5, r8, sl, sp}");
    0x08000454 ldr r3, [r5, 0x40]                                |     r3 = *((r5 + 0x40));
    0x08000458 ldr r2, [r4, 0xc]                                 |     r2 = *((r4 + 0xc));
    0x0800045c ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x08000460 add r3, r3, 0x40                                  |     r3 += 0x40;
    0x08000464 str r2, [r4, 0x4c]                                |     *((r4 + 0x4c)) = r2;
    0x08000468 str r0, [r4, 0x48]                                |     *((r4 + 0x48)) = r0;
    0x0800046c ldm r4, {r1, r2}                                  |     r1 = *(r4);
                                                                 |     r2 = *((r4 + 4));
    0x08000470 str r3, [r4, 0x60]                                |     *((r4 + 0x60)) = r3;
    0x08000474 ldr r0, [r4, 0x24]                                |     r0 = *((r4 + 0x24));
    0x08000478 stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x0800047c stmdaeq r0, {r4, r5, r6}                          |     __asm ("stmdaeq r0, {r4, r5, r6}");
    0x08000480 str r0, [r4, 0x64]                                |     *((r4 + 0x64)) = r0;
    0x08000484 str r1, [r4, 0x40]                                |     *((r4 + 0x40)) = r1;
    0x08000488 add r0, r4, 0x40                                  |     r0 = r4 + 0x40;
    0x0800048c str r2, [r4, 0x44]                                |     *((r4 + 0x44)) = r2;
    0x08000490 str r3, [r4, 0x58]                                |     *((r4 + 0x58)) = r3;
    0x08000494 str r4, [r4, 0x5c]                                |     *((r4 + 0x5c)) = r4;
    0x08000498 pop {r4, r5, r6, lr}                              |     
    0x0800049c stmdaeq r0, {r0, r1, r3, r6, r8, sl, sp}          |     __asm ("stmdaeq r0, {r0, r1, r3, r6, r8, sl, sp}");
                                                                 | }

[*] Function strcat used 1 times essiv.ko