[*] Binary protection state of libwsmedia.so

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


[*] Function printf tear down of libwsmedia.so

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/libwsmedia.so @ 0xead4 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) sym.delete_profile ()                        | void delete_profile (int16_t arg1, int16_t arg2) {
                                                         |     int16_t var_0h;
                                                         |     int16_t var_4h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
    0x0000ead4 blmi 0xb21388                             |     __asm ("blmi 0xb21388");
    0x0000ead8 push.w {r4, r5, r6, r7, r8, lr}           |     
    0x0000eadc mov r7, r0                                |     r7 = r0;
    0x0000eade add r2, pc                                |     r2 += pc;
    0x0000eae0 ldr r0, [pc, 0xa8]                        |     
    0x0000eae2 sub sp, 8                                 |     
    0x0000eae4 mov.w r8, 0                               |     r8 = 0;
    0x0000eae8 ldr r3, [r2, r3]                          |     r3 = *((r2 + r3));
    0x0000eaea mov r6, r1                                |     r6 = r1;
    0x0000eaec add r0, pc                                |     r0 = 0x1d67c;
    0x0000eaee ldr r3, [r3]                              |     r3 = *(r3);
    0x0000eaf0 str r3, [sp, 4]                           |     var_4h = r3;
    0x0000eaf2 mov.w r3, 0                               |     r3 = 0;
    0x0000eaf6 str.w r8, [sp]                            |     __asm ("str.w r8, [sp]");
    0x0000eafa blx 0x6460                                |     fcn_00006460 ();
    0x0000eafe ldr r1, [pc, 0x90]                        |     
    0x0000eb00 mov r2, r6                                |     r2 = r6;
    0x0000eb02 mov r5, r0                                |     r5 = r0;
    0x0000eb04 add r1, pc                                |     r1 = 0x1d69a;
    0x0000eb06 blx 0x61a0                                |     r0 = g_variant_unref ();
    0x0000eb0a mov r4, r0                                |     r4 = r0;
                                                         |     if (r0 == 0) {
    0x0000eb0c cbz r0, 0xeb56                            |         goto label_1;
                                                         |     }
    0x0000eb0e ldr r2, [pc, 0x84]                        |     
    0x0000eb10 mov r1, r0                                |     r1 = r0;
    0x0000eb12 mov r3, sp                                |     r3 = sp;
    0x0000eb14 mov r0, r5                                |     r0 = r5;
    0x0000eb16 add r2, pc                                |     r2 = 0x1d6b0;
    0x0000eb18 blx 0x6210                                |     r0 = fcn_00006210 ();
                                                         |     if (r0 != 0) {
    0x0000eb1c cbz r0, 0xeb22                            |         
    0x0000eb1e ldr r3, [sp]                              |         r3 = *(sp);
                                                         |         if (r3 != 0) {
    0x0000eb20 cbnz r3, 0xeb72                           |             goto label_2;
                                                         |         }
                                                         |     }
    0x0000eb22 mov r0, r6                                |     r0 = r6;
    0x0000eb24 blx 0x601c                                |     fcn_0000601c ();
    0x0000eb28 mov r0, r5                                |     r0 = r5;
    0x0000eb2a mov r1, r4                                |     r1 = r4;
    0x0000eb2c blx 0x5c9c                                |     r0 = g_strdup_printf ()
    0x0000eb30 mov r5, r0                                |     r5 = r0;
                                                         |     if (r0 != 0) {
    0x0000eb32 cbnz r0, 0xeb64                           |         goto label_3;
                                                         |     }
                                                         |     do {
                                                         | label_0:
    0x0000eb34 mov r0, r4                                |         r0 = r4;
    0x0000eb36 blx 0x5700                                |         fcn_00005700 ();
    0x0000eb3a ldr r2, [pc, 0x5c]                        |         
    0x0000eb3c ldr r3, [pc, 0x48]                        |         r3 = *(0xeb88);
    0x0000eb3e add r2, pc                                |         r2 = 0x1d6dc;
    0x0000eb40 ldr r3, [r2, r3]                          |         r3 = *(0x1d6dc);
    0x0000eb42 ldr r2, [r3]                              |         r2 = *(0x1d6dc);
    0x0000eb44 ldr r3, [sp, 4]                           |         r3 = var_4h;
    0x0000eb46 eors r2, r3                               |         r2 ^= r3;
    0x0000eb48 mov.w r3, 0                               |         r3 = 0;
                                                         |         if (r2 != r3) {
    0x0000eb4c bne 0xeb80                                |             goto label_4;
                                                         |         }
    0x0000eb4e mov r0, r5                                |         r0 = r5;
    0x0000eb50 add sp, 8                                 |         
    0x0000eb52 pop.w {r4, r5, r6, r7, r8, pc}            |         
                                                         | label_1:
    0x0000eb56 mov r2, r0                                |         r2 = r0;
    0x0000eb58 movs r1, 9                                |         r1 = 9;
    0x0000eb5a mov r0, r7                                |         r0 = r7;
    0x0000eb5c movs r5, 0xc                              |         r5 = 0xc;
    0x0000eb5e blx 0x6620                                |         g_variant_lookup_value ();
    0x0000eb62 b 0xeb34                                  |         
                                                         |     } while (1);
                                                         | label_3:
    0x0000eb64 movs r2, 0                                |     r2 = 0;
    0x0000eb66 movs r1, 0xf                              |     r1 = 0xf;
    0x0000eb68 mov r0, r7                                |     r0 = r7;
    0x0000eb6a movs r5, 0xc                              |     r5 = 0xc;
    0x0000eb6c blx 0x5958                                |     fcn_00005958 ();
    0x0000eb70 b 0xeb34                                  |     goto label_0;
                                                         | label_2:
    0x0000eb72 mov r2, r8                                |     r2 = r8;
    0x0000eb74 movs r1, 0xa                              |     r1 = 0xa;
    0x0000eb76 mov r0, r7                                |     r0 = r7;
    0x0000eb78 movs r5, 0xc                              |     r5 = 0xc;
    0x0000eb7a blx 0x6620                                |     g_variant_lookup_value ();
    0x0000eb7e b 0xeb34                                  |     goto label_0;
                                                         | label_4:
    0x0000eb80 blx 0x614c                                |     fcn_0000614c ();
    0x0000eb84 ldr r7, [pc, 0x338]                       |     r7 = *(0xeec0);
    0x0000eb86 movs r1, r0                               |     r1 = r0;
    0x0000eb88 lsls r4, r7, 0x14                         |     r4 = r7 << 0x14;
    0x0000eb8a movs r0, r0                               |     
    0x0000eb8c movs r0, 0xe4                             |     r0 = 0xe4;
    0x0000eb8e movs r0, r0                               |     
    0x0000eb90 movs r1, 0x70                             |     r1 = 0x70;
    0x0000eb92 movs r0, r0                               |     
    0x0000eb94 cmp r2, 0xae                              |     
    0x0000eb96 movs r0, r0                               |     
    0x0000eb98 ldr r7, [pc, 0x1b8]                       |     r7 = *(0xed54);
    0x0000eb9a movs r1, r0                               |     r1 = r0;
                                                         | }

[*] Function printf used 2 times libwsmedia.so