[*] Binary protection state of libimpl_wsd_tev.so

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


[*] Function printf tear down of libimpl_wsd_tev.so

    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libimpl_wsd_tev.so @ 0x48d8 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.000048d8 ()                              | void fcn_000048d8 (int16_t arg_28h, int16_t arg_2ch, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                         |     int16_t var_0h;
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
                                                         |     r3 = arg4;
    0x000048d8 push.w {r4, r5, r6, r7, r8, sb, lr}       |     
    0x000048dc add.w sb, r0, 8                           |     sb = r0 + 8;
    0x000048e0 sub sp, 0xc                               |     
    0x000048e2 mov r4, r0                                |     r4 = r0;
    0x000048e4 mov r0, sb                                |     r0 = sb;
    0x000048e6 mov r7, r1                                |     r7 = r1;
    0x000048e8 mov r6, r2                                |     r6 = r2;
    0x000048ea mov r8, r3                                |     r8 = r3;
    0x000048ec blx 0x2a54                                |     fcn_00002a54 ();
    0x000048f0 bl 0x2d80                                 |     r0 = fcn_00002d80 ();
    0x000048f4 mov r5, r0                                |     r5 = r0;
    0x000048f6 ldr r0, [r4, 4]                           |     r0 = *((r4 + 4));
    0x000048f8 blx 0x2744                                |     r0 = fcn_00002744 ();
    0x000048fc cmp r0, r5                                |     
    0x000048fe it hs                                     |     
                                                         |     if (r0 < r5) {
    0x00004900 movhs r4, 0                               |         r4 = 0;
                                                         |     }
                                                         |     if (r0 > r5) {
    0x00004902 blo 0x4912                                |         
    0x00004904 mov r0, sb                                |         r0 = sb;
    0x00004906 blx 0x2784                                |         fcn_00002784 ();
    0x0000490a mov r0, r4                                |         r0 = r4;
    0x0000490c add sp, 0xc                               |         
    0x0000490e pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
                                                         |     }
    0x00004912 movs r0, 0                                |     r0 = 0;
    0x00004914 blx 0x2968                                |     g_key_file_load_from_file ();
    0x00004916 invalid                                   |     
    0x0000491a adds r1, r0, r6                           |     r1 = r0 + r6;
    0x0000491c mov r2, r7                                |     r2 = r7;
    0x0000491e mov r0, r4                                |     r0 = r4;
    0x00004920 bl 0x4304                                 |     fcn_00004304 (r0, r1, r2, r3);
    0x00004924 ldr r3, [pc, 0x70]                        |     
    0x00004926 mov r5, r0                                |     r5 = r0;
    0x00004928 ldr r2, [pc, 0x70]                        |     
    0x0000492a mov r1, r7                                |     r1 = r7;
    0x0000492c str r0, [sp]                              |     *(sp) = r0;
    0x0000492e add r3, pc                                |     r3 = 0x92ca;
    0x00004930 ldr r0, [r4]                              |     r0 = *(r4);
    0x00004932 add r2, pc                                |     r2 = 0x92d2;
    0x00004934 blx 0x2920                                |     r0 = loc_imp_soap_delete ();
    0x00004938 mov r1, r0                                |     r1 = r0;
    0x0000493a mov r0, r5                                |     r0 = r5;
    0x0000493c bl 0x43bc                                 |     fcn_000043bc (r0, r1);
    0x00004940 ldr r4, [r4, 4]                           |     r4 = *((r4 + 4));
    0x00004942 mov r0, r5                                |     r0 = r5;
    0x00004944 bl 0x43c8                                 |     fcn_000043c8 (r0);
    0x00004948 mov r2, r5                                |     r2 = r5;
    0x0000494a mov r1, r0                                |     r1 = r0;
    0x0000494c mov r0, r4                                |     r0 = r4;
    0x0000494e blx 0x25c0                                |     g_list_free ();
    0x00004952 ldr r1, [pc, 0x4c]                        |     
    0x00004954 mov r2, r5                                |     r2 = r5;
    0x00004956 mov r0, r6                                |     r0 = r6;
    0x00004958 add r1, pc                                |     r1 = 0x92fe;
    0x0000495a blx 0x26d4                                |     r0 = g_strdup_printf ()
    0x0000495e mov r1, r0                                |     r1 = r0;
    0x00004960 mov r0, r5                                |     r0 = r5;
    0x00004962 bl 0x4464                                 |     fcn_00004464 (r0, r1);
    0x00004966 ldr r3, [sp, 0x2c]                        |     r3 = *(arg_2ch);
    0x00004968 cbnz r3, 0x4990                           |     
                                                         |     while (1) {
    0x0000496a cmp.w r8, 0                               |         
                                                         |         if (r8 != 0) {
    0x0000496e beq 0x497a                                |             
    0x00004970 mov r0, r5                                |             r0 = r5;
    0x00004972 bl 0x43c8                                 |             fcn_000043c8 (r0);
    0x00004976 str.w r0, [r8]                            |             __asm ("str.w r0, [r8]");
                                                         |         }
    0x0000497a ldr r3, [sp, 0x28]                        |         r3 = *(arg_28h);
                                                         |         if (r3 != 0) {
    0x0000497c cbz r3, 0x4980                            |             
    0x0000497e str r5, [r3]                              |             *(r3) = r5;
                                                         |         }
    0x00004980 mov r0, sb                                |         r0 = sb;
    0x00004982 movs r4, 1                                |         r4 = 1;
    0x00004984 blx 0x2784                                |         fcn_00002784 ();
    0x00004988 mov r0, r4                                |         r0 = r4;
    0x0000498a add sp, 0xc                               |         
    0x0000498c pop.w {r4, r5, r6, r7, r8, sb, pc}        |         
    0x00004990 mov r0, r5                                |         r0 = r5;
    0x00004992 bl 0x43e8                                 |         fcn_000043e8 (r0);
    0x00004996 b 0x496a                                  |         
                                                         |     }
                                                         | }

[*] Function printf used 2 times libimpl_wsd_tev.so