[*] Binary protection state of libasound.so.2.0.0

  
  	Full RELRO     Canary found      NX enabled   DSO          No RPATH     No RUNPATH   No Symbols


[*] Function fprintf tear down of libasound.so.2.0.0

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libasound.so.2.0.0 @ 0x6362c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0006362c ()                                      | void fcn_0006362c (int16_t arg1, uint32_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_1h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0006362c svcmi 0xf0e92d                                    |     __asm ("svcmi aav.0x000000ff");
    0x00063630 sub sp, 0x14                                      |     
    0x00063632 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00063634 beq 0x6370a                                       |         goto label_1;
                                                                 |     }
    0x00063636 mov r8, r1                                        |     r8 = r1;
    0x00063638 mov sb, r0                                        |     sb = r0;
    0x0006363a movs r1, 1                                        |     r1 = 1;
    0x0006363c mov r0, r8                                        |     r0 = r8;
    0x0006363e mov r5, r2                                        |     r5 = r2;
    0x00063640 mov r7, r3                                        |     r7 = r3;
    0x00063642 blx 0x1df48                                       |     r0 = vfprintf_chk ()
    0x00063646 mov r6, r0                                        |     r6 = r0;
    0x00063648 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0006364a beq 0x636f6                                       |         goto label_2;
                                                                 |     }
    0x0006364c ldr r1, [pc, 0xd8]                                |     
    0x0006364e add r1, pc                                        |     r1 = 0xc6d7a;
    0x00063650 blx 0x1ec74                                       |     r0 = fcn_0001ec74 ();
    0x00063654 mov fp, r0                                        |     
    0x00063656 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00063658 beq 0x636f0                                       |         goto label_3;
                                                                 |     }
    0x0006365a mov.w sl, 0                                       |     sl = 0;
    0x0006365e str r6, [sp, 8]                                   |     var_8h = r6;
                                                                 |     do {
    0x00063660 mov r0, sl                                        |         r0 = sl;
    0x00063662 blx fp                                            |         r0 = fp (r0);
    0x00063664 mov r6, r0                                        |         r6 = r0;
    0x00063666 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00063668 beq 0x636ee                                       |             goto label_4;
                                                                 |         }
                                                                 |         if (r5 != 0) {
    0x0006366a cbz r5, 0x636be                                   |             
    0x0006366c blx 0x1de10                                       |             fcn_0001de10 ();
    0x00063670 str r0, [sp, 0xc]                                 |             var_ch = r0;
    0x00063672 mov r0, r5                                        |             r0 = r5;
    0x00063674 blx 0x1dbfc                                       |             r0 = fcn_0001dbfc ();
    0x00063678 adds r2, r0, 1                                    |             r2 = r0 + 1;
    0x0006367a mov r0, r2                                        |             r0 = r2;
    0x0006367c str r2, [sp, 4]                                   |             var_4h = r2;
    0x0006367e blx 0x1e4f8                                       |             fcn_0001e4f8 ();
    0x00063682 ldr r2, [sp, 4]                                   |             r2 = var_4h;
    0x00063684 mov r4, r0                                        |             r4 = r0;
    0x00063686 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x00063688 beq 0x636fc                                       |                 goto label_5;
                                                                 |             }
    0x0006368a mov r1, r5                                        |             r1 = r5;
    0x0006368c blx 0x1dd08                                       |             fcn_0001dd08 ();
    0x00063690 movs r1, 0x2e                                     |             r1 = 0x2e;
    0x00063692 mov r0, r4                                        |             r0 = r4;
    0x00063694 blx 0x1d4a8                                       |             r0 = fcn_0001d4a8 ();
                                                                 |             if (r0 != 0) {
    0x00063698 cbz r0, 0x636a2                                   |                 
    0x0006369a ldr r3, [sp, 0xc]                                 |                 r3 = var_ch;
    0x0006369c ldr r2, [r3]                                      |                 r2 = *(r3);
    0x0006369e ldrb r2, [r2]                                     |                 r2 = *(r2);
    0x000636a0 strb r2, [r0]                                     |                 *(r0) = r2;
                                                                 |             }
    0x000636a2 ldr r1, [r6, 4]                                   |             r1 = *((r6 + 4));
    0x000636a4 mov r0, r5                                        |             r0 = r5;
    0x000636a6 str r1, [sp, 4]                                   |             var_4h = r1;
    0x000636a8 blx 0x1ef94                                       |             r0 = fcn_0001ef94 ();
                                                                 |             if (r0 != 0) {
    0x000636ac cbz r0, 0x636b8                                   |                 
    0x000636ae ldr r1, [sp, 4]                                   |                 r1 = var_4h;
    0x000636b0 mov r0, r4                                        |                 r0 = r4;
    0x000636b2 blx 0x1ef94                                       |                 r0 = fcn_0001ef94 ();
                                                                 |                 if (r0 != 0) {
    0x000636b6 cbnz r0, 0x636e2                                  |                     goto label_6;
                                                                 |                 }
                                                                 |             }
    0x000636b8 mov r0, r4                                        |             r0 = r4;
    0x000636ba blx 0x1d854                                       |             fcn_0001d854 ();
                                                                 |         }
                                                                 |         if (r7 != 0) {
    0x000636be cbz r7, 0x636c6                                   |             
    0x000636c0 ldr r2, [r6]                                      |             r2 = *(r6);
    0x000636c2 cmp r2, r7                                        |             
                                                                 |             if (r2 != r7) {
    0x000636c4 bne 0x636e8                                       |                 goto label_7;
                                                                 |             }
                                                                 |         }
    0x000636c6 mov r0, r8                                        |         r0 = r8;
    0x000636c8 mov r4, r6                                        |         r4 = r6;
    0x000636ca ldr r6, [sp, 8]                                   |         r6 = var_8h;
    0x000636cc blx 0x1e4ec                                       |         fcn_0001e4ec ();
    0x000636d0 str.w r0, [sb, 0xc]                               |         __asm ("str.w r0, [sb, 0xc]");
                                                                 |         if (r0 == 0) {
    0x000636d4 cbz r0, 0x63720                                   |             goto label_8;
                                                                 |         }
    0x000636d6 movs r0, 1                                        |         r0 = 1;
    0x000636d8 strd r6, r4, [sb, 0x10]                           |         __asm ("strd r6, r4, [sb, 0x10]");
                                                                 | label_0:
    0x000636dc add sp, 0x14                                      |         
    0x000636de pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_6:
    0x000636e2 mov r0, r4                                        |         r0 = r4;
    0x000636e4 blx 0x1d854                                       |         fcn_0001d854 ();
                                                                 | label_7:
    0x000636e8 add.w sl, sl, 1                                   |         sl++;
    0x000636ec b 0x63660                                         |         
                                                                 |     } while (1);
                                                                 | label_4:
    0x000636ee ldr r6, [sp, 8]                                   |     r6 = var_8h;
                                                                 | label_3:
    0x000636f0 mov r0, r6                                        |     r0 = r6;
    0x000636f2 blx 0x1f0f8                                       |     fcn_0001f0f8 ();
                                                                 | label_2:
    0x000636f6 mvn r0, 1                                         |     r0 = ~1;
    0x000636fa b 0x636dc                                         |     goto label_0;
                                                                 | label_5:
    0x000636fc ldr r6, [sp, 8]                                   |     r6 = var_8h;
    0x000636fe mov r0, r6                                        |     r0 = r6;
    0x00063700 blx 0x1f0f8                                       |     fcn_0001f0f8 ();
                                                                 |     do {
    0x00063704 mvn r0, 0xb                                       |         r0 = ~0xb;
    0x00063708 b 0x636dc                                         |         goto label_0;
                                                                 | label_1:
    0x0006370a ldr r3, [pc, 0x20]                                |         
    0x0006370c movw r2, 0x446                                    |         r2 = 0x446;
    0x00063710 ldr r1, [pc, 0x1c]                                |         
    0x00063712 ldr r0, [pc, 0x20]                                |         
    0x00063714 add r3, pc                                        |         r3 = 0xc6e46;
    0x00063716 add r1, pc                                        |         r1 = 0xc6e4a;
    0x00063718 adds r3, 0x20                                     |         r3 += 0x20;
    0x0006371a add r0, pc                                        |         r0 = 0xc6e54;
    0x0006371c blx 0x1d5b4                                       |         fcn_0001d5b4 ();
                                                                 | label_8:
    0x00063720 mov r0, r6                                        |         r0 = r6;
    0x00063722 blx 0x1f0f8                                       |         fcn_0001f0f8 ();
    0x00063726 b 0x63704                                         |         
                                                                 |     } while (1);
                                                                 | }

[*] Function fprintf used 2 times libasound.so.2.0.0