[*] Binary protection state of libblkid.so.1.1.0

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


[*] Function printf tear down of libblkid.so.1.1.0

    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libblkid.so.1.1.0 @ 0x2868c */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0002868c ()                          | void fcn_0002868c (int16_t arg1, int16_t arg2, int16_t arg3) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_4h;
                                                     |     int16_t var_8h;
                                                     |     int16_t var_ch;
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
    0x0002868c mvnsmi lr, sp, lsr 18                 |     __asm ("mvnsmi lr, sp, lsr 18");
    0x00028690 mov r6, r2                            |     r6 = r2;
    0x00028692 ldr r2, [pc, 0x150]                   |     
    0x00028694 sub sp, 0x10                          |     
    0x00028696 ldr r3, [pc, 0x150]                   |     r3 = *(0x287ea);
    0x00028698 add r2, pc                            |     r2 = 0x50e82;
    0x0002869a ldr r7, [pc, 0x150]                   |     
    0x0002869c ldr r3, [r2, r3]                      |     
    0x0002869e add r7, pc                            |     r7 = 0x50e90;
    0x000286a0 ldr r3, [r3]                          |     r3 = *(0x50e82);
    0x000286a2 str r3, [sp, 0xc]                     |     var_ch = r3;
    0x000286a4 mov.w r3, 0                           |     r3 = 0;
                                                     |     if (r0 == 0) {
    0x000286a8 cbz r0, 0x286f6                       |         goto label_2;
                                                     |     }
    0x000286aa mov r5, r0                            |     r5 = r0;
    0x000286ac mov r8, r1                            |     r8 = r1;
    0x000286ae bl 0x27f64                            |     r0 = fcn_00027f64 (r0, r1, r2, r3, r4, r5, r6);
    0x000286b2 cmp r0, 0                             |     
    0x000286b4 mov r4, r0                            |     r4 = r0;
    0x000286b6 str r0, [sp, 8]                       |     var_8h = r0;
                                                     |     if (r0 < 0) {
    0x000286b8 blt 0x286da                           |         goto label_0;
                                                     |     }
    0x000286ba ldrsb.w r3, [r6]                      |     r3 = *(r6);
    0x000286be mov r2, r8                            |     r2 = r8;
    0x000286c0 cmp r3, 0x2f                          |     
    0x000286c2 it eq                                 |     
                                                     |     if (r3 != 0x2f) {
    0x000286c4 addeq r6, 1                           |         r6++;
                                                     |     }
    0x000286c6 mov r1, r6                            |     r1 = r6;
    0x000286c8 blx 0x4ff0                            |     r0 = vsnprintf_chk ()
    0x000286cc subs r4, r0, 0                        |     r4 = r0 - 0;
                                                     |     if (r4 < r0) {
    0x000286ce blt 0x28738                           |         goto label_3;
                                                     |     }
                                                     | label_1:
    0x000286d0 ldr r3, [pc, 0x11c]                   |     
    0x000286d2 add r3, pc                            |     
    0x000286d4 ldr r3, [r3]                          |     r3 = *(0x50ec6);
    0x000286d6 lsls r3, r3, 0x1d                     |     r3 <<= 0x1d;
                                                     |     if (r3 < r3) {
    0x000286d8 bmi 0x2879e                           |         goto label_4;
                                                     |     }
                                                     |     do {
                                                     | label_0:
    0x000286da ldr r2, [pc, 0x118]                   |         
    0x000286dc ldr r3, [pc, 0x108]                   |         r3 = *(0x287e8);
    0x000286de add r2, pc                            |         r2 = 0x50ed8;
    0x000286e0 ldr r3, [r2, r3]                      |         r3 = *(0x50ed8);
    0x000286e2 ldr r2, [r3]                          |         r2 = *(0x50ed8);
    0x000286e4 ldr r3, [sp, 0xc]                     |         r3 = var_ch;
    0x000286e6 eors r2, r3                           |         r2 ^= r3;
    0x000286e8 mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x000286ec bne 0x287d4                           |             goto label_5;
                                                     |         }
    0x000286ee mov r0, r4                            |         r0 = r4;
    0x000286f0 add sp, 0x10                          |         
    0x000286f2 pop.w {r4, r5, r6, r7, r8, pc}        |         
                                                     | label_2:
    0x000286f6 mov r0, r6                            |         r0 = r6;
    0x000286f8 blx 0x54a8                            |         fcn_000054a8 ();
    0x000286fc ldr r3, [pc, 0xf8]                    |         
    0x000286fe mov r4, r0                            |         r4 = r0;
    0x00028700 add r3, pc                            |         
    0x00028702 ldr r3, [r3]                          |         r3 = *(0x50efc);
    0x00028704 lsls r1, r3, 0x1d                     |         r1 = r3 << 0x1d;
    0x00028706 bpl 0x286da                           |         
                                                     |     } while (r1 >= r3);
    0x00028708 ldr r3, [pc, 0xf0]                    |     r3 = *(0x287fc);
    0x0002870a ldr r3, [r7, r3]                      |     r3 = *((r7 + r3));
    0x0002870c ldr r5, [r3]                          |     r5 = *(0x287fc);
    0x0002870e blx 0x53b4                            |     fcn_000053b4 ();
    0x00028712 ldr r2, [pc, 0xec]                    |     
    0x00028714 mov r3, r0                            |     r3 = r0;
    0x00028716 movs r1, 1                            |     r1 = 1;
    0x00028718 mov r0, r5                            |     r0 = r5;
    0x0002871a add r2, pc                            |     r2 = 0x50f20;
    0x0002871c str r2, [sp, 4]                       |     var_4h = r2;
    0x0002871e ldr r2, [pc, 0xe4]                    |     
    0x00028720 add r2, pc                            |     r2 = 0x50f2a;
    0x00028722 str r2, [sp]                          |     *(sp) = r2;
    0x00028724 ldr r2, [pc, 0xe0]                    |     
    0x00028726 add r2, pc                            |     r2 = 0x50f32;
    0x00028728 blx 0x5604                            |     fcn_00005604 ();
    0x0002872c ldr r0, [pc, 0xdc]                    |     
    0x0002872e mov r1, r6                            |     r1 = r6;
    0x00028730 add r0, pc                            |     r0 = 0x50f40;
    0x00028732 bl 0x27af8                            |     fcn_00027af8 ();
    0x00028736 b 0x286da                             |     goto label_0;
                                                     | label_3:
    0x00028738 blx 0x54c0                            |     r0 = fcn_000054c0 ();
    0x0002873c ldr r3, [r0]                          |     r3 = *(r0);
    0x0002873e cmp r3, 2                             |     
                                                     |     if (r3 != 2) {
    0x00028740 bne 0x286d0                           |         goto label_1;
                                                     |     }
    0x00028742 add.w r3, r5, 0x1000                  |     r3 = r5 + 0x1000;
    0x00028746 ldr r3, [r3, 0x18]                    |     r3 = *((r3 + 0x18));
    0x00028748 cmp r3, 0                             |     
                                                     |     if (r3 == 0) {
    0x0002874a beq 0x286d0                           |         goto label_1;
                                                     |     }
    0x0002874c add r2, sp, 8                         |     r2 += var_8h;
    0x0002874e mov r1, r6                            |     r1 = r6;
    0x00028750 mov r0, r5                            |     r0 = r5;
    0x00028752 blx r3                                |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t) (r0, r1, r2);
    0x00028754 cmp r0, 0                             |     
                                                     |     if (r0 != 0) {
    0x00028756 bne 0x286d0                           |         goto label_1;
                                                     |     }
    0x00028758 mov r2, r8                            |     r2 = r8;
    0x0002875a ldr r0, [sp, 8]                       |     r0 = var_8h;
    0x0002875c mov r1, r6                            |     r1 = r6;
    0x0002875e blx 0x4ff0                            |     vsnprintf_chk ()
    0x00028762 ldr r3, [pc, 0xac]                    |     
    0x00028764 mov r8, r0                            |     r8 = r0;
    0x00028766 add r3, pc                            |     
    0x00028768 ldr r3, [r3]                          |     r3 = *(0x50f7c);
    0x0002876a lsls r2, r3, 0x1d                     |     r2 = r3 << 0x1d;
                                                     |     if (r2 >= r3) {
    0x0002876c bpl 0x287de                           |         goto label_6;
                                                     |     }
    0x0002876e ldr r3, [pc, 0x8c]                    |     r3 = *(0x287fe);
    0x00028770 ldr r3, [r7, r3]                      |     r3 = *((r7 + r3));
    0x00028772 ldr r7, [r3]                          |     r7 = *(0x287fe);
    0x00028774 blx 0x53b4                            |     fcn_000053b4 ();
    0x00028778 ldr r2, [pc, 0x98]                    |     
    0x0002877a mov r3, r0                            |     r3 = r0;
    0x0002877c movs r1, 1                            |     r1 = 1;
    0x0002877e mov r0, r7                            |     r0 = r7;
    0x00028780 add r2, pc                            |     r2 = 0x50f98;
    0x00028782 str r2, [sp, 4]                       |     var_4h = r2;
    0x00028784 ldr r2, [pc, 0x90]                    |     
    0x00028786 add r2, pc                            |     r2 = 0x50fa2;
    0x00028788 str r2, [sp]                          |     *(sp) = r2;
    0x0002878a ldr r2, [pc, 0x90]                    |     
    0x0002878c add r2, pc                            |     r2 = 0x50fae;
    0x0002878e blx 0x5604                            |     fcn_00005604 ();
    0x00028792 cmp r4, r8                            |     
                                                     |     if (r4 == r8) {
    0x00028794 beq 0x287d8                           |         goto label_7;
                                                     |     }
    0x00028796 ldr r3, [pc, 0x88]                    |     
    0x00028798 mov r4, r8                            |     r4 = r8;
    0x0002879a add r3, pc                            |     r3 = 0x50fc0;
    0x0002879c b 0x287c6                             |     goto label_8;
                                                     | label_4:
    0x0002879e ldr r3, [pc, 0x5c]                    |     r3 = *(0x287fe);
    0x000287a0 ldr r3, [r7, r3]                      |     r3 = *((r7 + r3));
    0x000287a2 ldr r7, [r3]                          |     r7 = *(0x287fe);
    0x000287a4 blx 0x53b4                            |     fcn_000053b4 ();
    0x000287a8 ldr r2, [pc, 0x78]                    |     
    0x000287aa mov r3, r0                            |     r3 = r0;
    0x000287ac movs r1, 1                            |     r1 = 1;
    0x000287ae mov r0, r7                            |     r0 = r7;
    0x000287b0 add r2, pc                            |     r2 = 0x50fd8;
    0x000287b2 str r2, [sp, 4]                       |     var_4h = r2;
    0x000287b4 ldr r2, [pc, 0x70]                    |     
    0x000287b6 add r2, pc                            |     r2 = 0x50fe2;
    0x000287b8 str r2, [sp]                          |     *(sp) = r2;
    0x000287ba ldr r2, [pc, 0x70]                    |     
    0x000287bc add r2, pc                            |     r2 = 0x50fee;
    0x000287be blx 0x5604                            |     fcn_00005604 ();
    0x000287c2 ldr r3, [pc, 0x6c]                    |     
    0x000287c4 add r3, pc                            |     r3 = 0x50ffa;
                                                     |     do {
                                                     | label_8:
    0x000287c6 ldr r1, [pc, 0x6c]                    |         
    0x000287c8 mov r2, r6                            |         r2 = r6;
    0x000287ca mov r0, r5                            |         r0 = r5;
    0x000287cc add r1, pc                            |         r1 = 0x51006;
    0x000287ce bl 0x27a64                            |         fcn_00027a64 (r0);
    0x000287d2 b 0x286da                             |         goto label_0;
                                                     | label_5:
    0x000287d4 blx 0x50e0                            |         unlink (r0);
                                                     | label_7:
    0x000287d8 ldr r3, [pc, 0x5c]                    |         
    0x000287da add r3, pc                            |         r3 = 0x51016;
    0x000287dc b 0x287c6                             |         
                                                     |     } while (1);
                                                     | label_6:
    0x000287de mov r4, r0                            |     r4 = r0;
    0x000287e0 b 0x286da                             |     goto label_0;
                                                     | }

[*] Function printf used 3 times libblkid.so.1.1.0