[*] 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-50593792.squashfs_v4_le_extract/usr/lib/modules/5.10.52-axis8/kernel/fs/cifs/cifs.ko @ 0x80321b8 */
                                                                         | #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;
    0x080321b8 push {r4, r5, r6, r7, r8, sb, sl, fp, lr}                 |     
    0x080321bc ldr ip, [r2, 0x74]                                        |     ip = *((r2 + 0x74));
    0x080321c0 sub sp, sp, 0x5c                                          |     
    0x080321c4 ldr sb, [ip, 0x1c]                                        |     sb = *((ip + 0x1c));
    0x080321c8 ldr r3, [sp, 0x88]                                        |     r3 = *(arg_88h);
    0x080321cc ldr r8, [sp, 0x8c]                                        |     r8 = *(arg_8ch);
    0x080321d0 ldr lr, [sb, 0x5f8]                                       |     
    0x080321d4 ldr r4, [sp, 0x90]                                        |     r4 = *(arg_90h);
    0x080321d8 ldr ip, [sp, 0x94]                                        |     ip = *(arg_94h);
    0x080321dc tst lr, 0x8000000                                         |     
                                                                         |     if ((lr & loc.imp.posix_test_lock) == 0) {
    0x080321e0 beq 0x80322c4                                             |         goto label_0;
                                                                         |     }
    0x080321e4 str r4, [sp, 0x48]                                        |     var_48h = r4;
    0x080321e8 adds r4, r3, r4                                           |     r4 = r3 + r4;
    0x080321ec str r3, [sp, 0x50]                                        |     var_50h = r3;
    0x080321f0 mov r5, r2                                                |     r5 = r2;
    0x080321f4 ldr r3, [r2, 0x70]                                        |     r3 = *((r2 + 0x70));
    0x080321f8 mov r6, r0                                                |     r6 = r0;
    0x080321fc str r8, [sp, 0x54]                                        |     var_54h = r8;
    0x08032200 adc r8, r8, ip                                            |     __asm ("adc r8, r8, ip");
    0x08032204 ldrd sl, fp, [sp, 0x80]                                   |     __asm ("ldrd sl, fp, [arg_80h]");
    0x08032208 strd sl, fp, [sp, 0x40]                                   |     __asm ("strd sl, fp, [var_0hx40]");
    0x0803220c ldr r7, [r3, 0x28]                                        |     r7 = *((r3 + 0x28));
    0x08032210 ldrd sl, fp, [r1, 0x30]                                   |     __asm ("ldrd sl, fp, [r1, 0x30]");
    0x08032214 strd sl, fp, [sp, 0x38]                                   |     __asm ("strd sl, fp, [var_0hx38]");
    0x08032218 ldr r3, [r7, 0x30]                                        |     r3 = *((r7 + 0x30));
    0x0803221c ldrd sl, fp, [r1, 0x28]                                   |     __asm ("ldrd sl, fp, [r1, 0x28]");
    0x08032220 cmp r3, r4                                                |     
    0x08032224 ldr r3, [r7, 0x34]                                        |     r3 = *((r7 + 0x34));
    0x08032228 str ip, [sp, 0x4c]                                        |     var_4ch = ip;
    0x0803222c sbcs r3, r3, r8                                           |     __asm ("sbcs r3, r3, r8");
    0x08032230 strd sl, fp, [sp, 0x30]                                   |     __asm ("strd sl, fp, [var_0hx30]");
                                                                         |     if (r3 < r4) {
    0x08032234 bhs 0x8032264                                             |         
    0x08032238 mov r3, 0                                                 |         r3 = 0;
    0x0803223c mov r1, sb                                                |         r1 = sb;
    0x08032240 stm sp, {r4, r8}                                          |         *(sp) = r4;
                                                                         |         *((sp + 4)) = r8;
    0x08032244 str r3, [sp, 8]                                           |         var_8h = r3;
    0x08032248 bl 0x8031cd0                                              |         r0 = smb2_set_file_size ();
    0x0803224c cmp r0, 0                                                 |         
                                                                         |         if (r0 != 0) {
    0x08032250 bne 0x80322bc                                             |             goto label_1;
                                                                         |         }
    0x08032254 mov r2, r4                                                |         r2 = r4;
    0x08032258 mov r3, r8                                                |         r3 = r8;
    0x0803225c mov r0, r7                                                |         r0 = r7;
    0x08032260 stmdaeq r2, {r3, r6, r7, r8, sb, sl, fp}                  |         __asm ("stmdaeq r2, {r3, r6, r7, r8, sb, sl, fp}");
                                                                         |     }
    0x08032264 stmdaeq r6, {r2, r3, r4, r5, r6, sb, sl, sp, pc}          |     __asm ("stmdaeq r6, {r2, r3, r4, r5, r6, sb, sl, sp, pc}");
    0x08032268 stmdaeq r6, {r2, r3, r4, r5, r6, sb, sl, sp, pc}          |     __asm ("stmdaeq r6, {r2, r3, r4, r5, r6, sb, sl, sp, pc}");
    0x0803226c add r2, sp, 0x2c                                          |     r2 += var_2ch;
    0x08032270 str r2, [sp, 0x20]                                        |     var_20h = r2;
    0x08032274 mov r1, sb                                                |     r1 = sb;
    0x08032278 mov r0, r6                                                |     r0 = r6;
    0x0803227c ldr r2, [r3]                                              |     r2 = *(r3);
    0x08032280 mov r3, 0                                                 |     r3 = 0;
    0x08032284 strd r2, r3, [sp, 0x18]                                   |     __asm ("strd r2, r3, [var_18h]");
    0x08032288 add r3, sp, 0x30                                          |     r3 += var_30h;
    0x0803228c mov r2, 0x28                                              |     r2 = 0x28;
    0x08032290 str r3, [sp, 0x10]                                        |     var_10h = r3;
    0x08032294 str r2, [sp, 0x14]                                        |     var_14h = r2;
    0x08032298 movw r3, 0x8344                                           |     
    0x0803229c movt r3, 9                                                |     r3 = 0x98344;
    0x080322a0 mov r2, 1                                                 |     r2 = 1;
    0x080322a4 str r3, [sp, 8]                                           |     var_8h = r3;
    0x080322a8 str r2, [sp, 0xc]                                         |     var_ch = r2;
    0x080322ac ldrd r2, r3, [r5, 0x30]                                   |     __asm ("ldrd r2, r3, [r5, 0x30]");
    0x080322b0 strd r2, r3, [sp]                                         |     __asm ("strd r2, r3, [sp]");
    0x080322b4 ldrd r2, r3, [r5, 0x28]                                   |     __asm ("ldrd r2, r3, [r5, 0x28]");
    0x080322b8 stmdaeq r3, {r2, r3, r4, r7, sb, fp, sp, lr, pc}          |     __asm ("stmdaeq r3, {r2, r3, r4, r7, sb, fp, sp, lr, pc}");
                                                                         |     do {
                                                                         | label_1:
    0x080322bc add sp, sp, 0x5c                                          |         
    0x080322c0 pop {r4, r5, r6, r7, r8, sb, sl, fp, pc}                  |         
                                                                         | label_0:
    0x080322c4 mvn r0, 0x5e                                              |         r0 = ~0x5e;
    0x080322c8 b 0x80322bc                                               |         
                                                                         |     } while (1);
                                                                         | }

[*] Function system used 1 times cifs.ko