[*] Binary protection state of net_failover.ko

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


[*] Function printf tear down of net_failover.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/drivers/net/net_failover.ko @ 0x8000a60 */
                                                                         | #include <stdint.h>
                                                                         |  
                                                                         | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                         |  
    ; (fcn) sym.net_failover_get_stats ()                                | void net_failover_get_stats (int32_t arg1, int32_t arg2) {
                                                                         |     int32_t var_0h;
                                                                         |     int32_t var_c4h;
                                                                         |     r0 = arg1;
                                                                         |     r1 = arg2;
    0x08000a60 push {r4, r5, r6, r7, r8, sb, lr}                         |     
    0x08000a64 mov r5, r0                                                |     r5 = r0;
    0x08000a68 mov r4, r1                                                |     r4 = r1;
    0x08000a6c sub sp, sp, 0xc4                                          |     
    0x08000a70 mov r3, sp                                                |     r3 = sp;
    0x08000a74 bic r3, r3, 0x1fc0                                        |     r3 = BIT_MASK (r3, 0x1fc0);
    0x08000a78 bic r3, r3, 0x3f                                          |     r3 = BIT_MASK (r3, 0x3f);
    0x08000a7c ldr r2, [r3, 4]                                           |     r2 = *((r3 + 4));
    0x08000a80 add r2, r2, 1                                             |     r2++;
    0x08000a84 str r2, [r3, 4]                                           |     *((r3 + 4)) = r2;
    0x08000a88 add r6, r0, 0x540                                         |     r6 = r0 + 0x540;
    0x08000a8c mov r2, 0xc0                                              |     r2 = 0xc0;
    0x08000a90 add r7, r6, 0x188                                         |     r7 = r6 + 0x188;
    0x08000a94 mov r0, r1                                                |     r0 = r1;
    0x08000a98 mov r1, r7                                                |     r1 = r7;
    0x08000a9c stmdaeq r0, {r5, r7, r8, ip, sp}                          |     __asm ("stmdaeq r0, {r5, r7, r8, ip, sp}");
    0x08000aa0 stmdaeq r0, {r2, r3, r4, r5, r6, r7, r8, ip, sp}          |     __asm ("stmdaeq r0, {r2, r3, r4, r5, r6, r7, r8, ip, sp}");
    0x08000aa4 ldr r0, [r5, 0x540]                                       |     r0 = *((r5 + 0x540));
    0x08000aa8 cmp r0, 0                                                 |     
                                                                         |     if (r0 != 0) {
    0x08000aac beq 0x8000ae0                                             |         
    0x08000ab0 mov r1, sp                                                |         r1 = sp;
    0x08000ab4 add sb, r6, 8                                             |         sb = r6 + 8;
    0x08000ab8 stmdaeq r0, {r2, r4, r6, r7, r8, ip, sp}                  |         __asm ("stmdaeq r0, {r2, r4, r6, r7, r8, ip, sp}");
    0x08000abc mov r2, sb                                                |         r2 = sb;
    0x08000ac0 mov r1, r0                                                |         r1 = r0;
    0x08000ac4 mov r8, r0                                                |         r8 = r0;
    0x08000ac8 mov r0, r4                                                |         r0 = r4;
    0x08000acc bl 0x8000070                                              |         net_failover_fold_stats ();
    0x08000ad0 mov r1, r8                                                |         r1 = r8;
    0x08000ad4 mov r0, sb                                                |         r0 = sb;
    0x08000ad8 mov r2, 0xc0                                              |         r2 = 0xc0;
    0x08000adc stmdaeq r0, {r5, r7, r8, ip, sp}                          |         __asm ("stmdaeq r0, {r5, r7, r8, ip, sp}");
                                                                         |     }
    0x08000ae0 ldr r0, [r5, 0x544]                                       |     r0 = *((r5 + 0x544));
    0x08000ae4 cmp r0, 0                                                 |     
                                                                         |     if (r0 != 0) {
    0x08000ae8 beq 0x8000b1c                                             |         
    0x08000aec mov r1, sp                                                |         r1 = sp;
    0x08000af0 add r6, r6, 0xc8                                          |         r6 += 0xc8;
    0x08000af4 stmdaeq r0, {r2, r4, r6, r7, r8, ip, sp}                  |         __asm ("stmdaeq r0, {r2, r4, r6, r7, r8, ip, sp}");
    0x08000af8 mov r2, r6                                                |         r2 = r6;
    0x08000afc mov r1, r0                                                |         r1 = r0;
    0x08000b00 mov r5, r0                                                |         r5 = r0;
    0x08000b04 mov r0, r4                                                |         r0 = r4;
    0x08000b08 bl 0x8000070                                              |         net_failover_fold_stats ();
    0x08000b0c mov r1, r5                                                |         r1 = r5;
    0x08000b10 mov r0, r6                                                |         r0 = r6;
    0x08000b14 mov r2, 0xc0                                              |         r2 = 0xc0;
    0x08000b18 stmdaeq r0, {r5, r7, r8, ip, sp}                          |         __asm ("stmdaeq r0, {r5, r7, r8, ip, sp}");
                                                                         |     }
    0x08000b1c stmdaeq r0, {r3, sb, ip, sp}                              |     __asm ("stmdaeq r0, {r3, sb, ip, sp}");
    0x08000b20 mov r1, r4                                                |     r1 = r4;
    0x08000b24 mov r0, r7                                                |     r0 = r7;
    0x08000b28 mov r2, 0xc0                                              |     r2 = 0xc0;
    0x08000b2c stmdaeq r0, {r5, r7, r8, ip, sp}                          |     __asm ("stmdaeq r0, {r5, r7, r8, ip, sp}");
    0x08000b30 mov r3, sp                                                |     r3 = sp;
    0x08000b34 bic r3, r3, 0x1fc0                                        |     r3 = BIT_MASK (r3, 0x1fc0);
    0x08000b38 bic r3, r3, 0x3f                                          |     r3 = BIT_MASK (r3, 0x3f);
    0x08000b3c ldr r2, [r3, 4]                                           |     r2 = *((r3 + 4));
    0x08000b40 sub r2, r2, 1                                             |     r2--;
    0x08000b44 str r2, [r3, 4]                                           |     *((r3 + 4)) = r2;
    0x08000b48 cmp r2, 0                                                 |     
    0x08000b4c beq 0x8000b58                                             |     
                                                                         |     while ((r3 & 2) == 0) {
    0x08000b50 add sp, sp, 0xc4                                          |         
    0x08000b54 pop {r4, r5, r6, r7, r8, sb, pc}                          |         
    0x08000b58 ldr r3, [r3]                                              |         r3 = *(r3);
    0x08000b5c tst r3, 2                                                 |         
    0x08000b60 beq 0x8000b50                                             |         
                                                                         |     }
    0x08000b64 stmdaeq r0, {r2, r4, sb, ip, sp}                          |     __asm ("stmdaeq r0, {r2, r4, sb, ip, sp}");
    0x08000b68 add sp, sp, 0xc4                                          |     
    0x08000b6c pop {r4, r5, r6, r7, r8, sb, pc}                          |     
                                                                         | }

[*] Function printf used 1 times net_failover.ko