[*] Binary protection state of cifs.ko

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


[*] Function system tear down of cifs.ko

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis9/kernel/fs/cifs/cifs.ko @ 0x80319dc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) sym.smb2_duplicate_extents ()                        | void smb2_duplicate_extents (int32_t arg_80h, int32_t arg_88h, int32_t arg_8ch, int32_t arg_90h, int32_t arg_94h, int32_t arg1, int32_t arg2) {
                                                                 |     int32_t var_0h;
                                                                 |     int32_t var_0h_2;
                                                                 |     int32_t var_8h;
                                                                 |     int32_t var_ch;
                                                                 |     int32_t var_10h;
                                                                 |     int32_t var_14h;
                                                                 |     int32_t var_18h;
                                                                 |     int32_t var_18h_2;
                                                                 |     int32_t var_20h;
                                                                 |     int32_t var_2ch;
                                                                 |     int32_t var_30h;
                                                                 |     int32_t var_30h_2;
                                                                 |     int32_t var_38h;
                                                                 |     int32_t var_38h_2;
                                                                 |     int32_t var_40h;
                                                                 |     int32_t var_40h_2;
                                                                 |     int32_t var_48h;
                                                                 |     int32_t var_4ch;
                                                                 |     int32_t var_50h;
                                                                 |     int32_t var_54h;
                                                                 |     int32_t var_5ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x080319dc push {r4, r5, r6, r7, r8, sb, sl, fp, lr}         |     
    0x080319e0 ldr ip, [r2, 0x74]                                |     ip = *((r2 + 0x74));
    0x080319e4 sub sp, sp, 0x5c                                  |     
    0x080319e8 ldr sb, [ip, 0x1c]                                |     sb = *((ip + 0x1c));
    0x080319ec ldr r3, [sp, 0x88]                                |     r3 = *(arg_88h);
    0x080319f0 ldr r8, [sp, 0x8c]                                |     r8 = *(arg_8ch);
    0x080319f4 ldr lr, [sb, 0x5f8]                               |     
    0x080319f8 ldr r4, [sp, 0x90]                                |     r4 = *(arg_90h);
    0x080319fc ldr ip, [sp, 0x94]                                |     ip = *(arg_94h);
    0x08031a00 tst lr, 0x8000000                                 |     
                                                                 |     if ((lr & loc.imp.posix_test_lock) == 0) {
    0x08031a04 beq 0x8031ae8                                     |         goto label_0;
                                                                 |     }
    0x08031a08 str r4, [sp, 0x48]                                |     var_48h = r4;
    0x08031a0c adds r4, r3, r4                                   |     r4 = r3 + r4;
    0x08031a10 str r3, [sp, 0x50]                                |     var_50h = r3;
    0x08031a14 mov r5, r2                                        |     r5 = r2;
    0x08031a18 ldr r3, [r2, 0x70]                                |     r3 = *((r2 + 0x70));
    0x08031a1c mov r6, r0                                        |     r6 = r0;
    0x08031a20 str r8, [sp, 0x54]                                |     var_54h = r8;
    0x08031a24 adc r8, r8, ip                                    |     __asm ("adc r8, r8, ip");
    0x08031a28 ldrd sl, fp, [sp, 0x80]                           |     __asm ("ldrd sl, fp, [arg_80h]");
    0x08031a2c strd sl, fp, [sp, 0x40]                           |     __asm ("strd sl, fp, [var_0hx40]");
    0x08031a30 ldr r7, [r3, 0x28]                                |     r7 = *((r3 + 0x28));
    0x08031a34 ldrd sl, fp, [r1, 0x30]                           |     __asm ("ldrd sl, fp, [r1, 0x30]");
    0x08031a38 strd sl, fp, [sp, 0x38]                           |     __asm ("strd sl, fp, [var_0hx38]");
    0x08031a3c ldr r3, [r7, 0x38]                                |     r3 = *((r7 + 0x38));
    0x08031a40 ldrd sl, fp, [r1, 0x28]                           |     __asm ("ldrd sl, fp, [r1, 0x28]");
    0x08031a44 cmp r3, r4                                        |     
    0x08031a48 ldr r3, [r7, 0x3c]                                |     r3 = *((r7 + 0x3c));
    0x08031a4c str ip, [sp, 0x4c]                                |     var_4ch = ip;
    0x08031a50 sbcs r3, r3, r8                                   |     __asm ("sbcs r3, r3, r8");
    0x08031a54 strd sl, fp, [sp, 0x30]                           |     __asm ("strd sl, fp, [var_0hx30]");
                                                                 |     if (r3 < r4) {
    0x08031a58 bhs 0x8031a88                                     |         
    0x08031a5c mov r3, 0                                         |         r3 = 0;
    0x08031a60 mov r1, sb                                        |         r1 = sb;
    0x08031a64 stm sp, {r4, r8}                                  |         *(sp) = r4;
                                                                 |         *((sp + 4)) = r8;
    0x08031a68 str r3, [sp, 8]                                   |         var_8h = r3;
    0x08031a6c bl 0x80314ec                                      |         r0 = smb2_set_file_size ();
    0x08031a70 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x08031a74 bne 0x8031ae0                                     |             goto label_1;
                                                                 |         }
    0x08031a78 mov r2, r4                                        |         r2 = r4;
    0x08031a7c mov r3, r8                                        |         r3 = r8;
    0x08031a80 mov r0, r7                                        |         r0 = r7;
    0x08031a84 stmdaeq r2, {r3, r4, r8, sb, sl, fp}              |         __asm ("stmdaeq r2, {r3, r4, r8, sb, sl, fp}");
                                                                 |     }
    0x08031a88 stmdaeq r6, {r7, sb, sl, fp, ip, pc}              |     __asm ("stmdaeq r6, {r7, sb, sl, fp, ip, pc}");
    0x08031a8c stmdaeq r6, {r7, sb, sl, fp, ip, pc}              |     __asm ("stmdaeq r6, {r7, sb, sl, fp, ip, pc}");
    0x08031a90 add r2, sp, 0x2c                                  |     r2 += var_2ch;
    0x08031a94 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x08031a98 mov r1, sb                                        |     r1 = sb;
    0x08031a9c mov r0, r6                                        |     r0 = r6;
    0x08031aa0 ldr r2, [r3]                                      |     r2 = *(r3);
    0x08031aa4 mov r3, 0                                         |     r3 = 0;
    0x08031aa8 strd r2, r3, [sp, 0x18]                           |     __asm ("strd r2, r3, [var_18h]");
    0x08031aac add r3, sp, 0x30                                  |     r3 += var_30h;
    0x08031ab0 mov r2, 0x28                                      |     r2 = 0x28;
    0x08031ab4 str r3, [sp, 0x10]                                |     var_10h = r3;
    0x08031ab8 str r2, [sp, 0x14]                                |     var_14h = r2;
    0x08031abc movw r3, 0x8344                                   |     
    0x08031ac0 movt r3, 9                                        |     r3 = 0x98344;
    0x08031ac4 mov r2, 1                                         |     r2 = 1;
    0x08031ac8 str r3, [sp, 8]                                   |     var_8h = r3;
    0x08031acc str r2, [sp, 0xc]                                 |     var_ch = r2;
    0x08031ad0 ldrd r2, r3, [r5, 0x30]                           |     __asm ("ldrd r2, r3, [r5, 0x30]");
    0x08031ad4 strd r2, r3, [sp]                                 |     __asm ("strd r2, r3, [sp]");
    0x08031ad8 ldrd r2, r3, [r5, 0x28]                           |     __asm ("ldrd r2, r3, [r5, 0x28]");
    0x08031adc stmdaeq r3, {r4, r6, r7, sl, sp, lr, pc}          |     __asm ("stmdaeq r3, {r4, r6, r7, sl, sp, lr, pc}");
                                                                 |     do {
                                                                 | label_1:
    0x08031ae0 add sp, sp, 0x5c                                  |         
    0x08031ae4 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}          |         
                                                                 | label_0:
    0x08031ae8 mvn r0, 0x5e                                      |         r0 = ~0x5e;
    0x08031aec b 0x8031ae0                                       |         
                                                                 |     } while (1);
                                                                 | }

[*] Function system used 1 times cifs.ko