[*] Binary protection state of libgstaudio-1.0.so.0.2202.0

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


[*] Function printf tear down of libgstaudio-1.0.so.0.2202.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/libgstaudio-1.0.so.0.2202.0 @ 0x1f400 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.0001f400 ()                          | void fcn_0001f400 (int16_t arg1, uint32_t arg2, uint32_t arg3) {
                                                     |     r0 = arg1;
                                                     |     r1 = arg2;
                                                     |     r2 = arg3;
    0x0001f400 mvnsmi lr, sp, lsr 18                 |     __asm ("mvnsmi lr, sp, lsr 18");
    0x0001f404 mov r4, r0                            |     r4 = r0;
    0x0001f406 vldr d16, [r0, 0xd8]                  |     __asm ("vldr d16, [r0, 0xd8]");
    0x0001f40a mov r7, r1                            |     r7 = r1;
    0x0001f40c mov r5, r2                            |     r5 = r2;
    0x0001f40e vcmpe.f64 d16, 0                      |     __asm ("vcmpe.f64 d16, 0");
    0x0001f412 vmrs apsr_nzcv, fpscr                 |     __asm ("vmrs apsr_nzcv, fpscr");
                                                     |     if (? > ?) {
    0x0001f416 ble 0x1f420                           |         
    0x0001f418 ldr.w r3, [r0, 0xd0]                  |         r3 = *((r0 + 0xd0));
    0x0001f41c lsls r3, r3, 0x17                     |         r3 <<= 0x17;
                                                     |         if (r3 < r3) {
    0x0001f41e bmi 0x1f472                           |             goto label_1;
                                                     |         }
                                                     |     }
                                                     |     if (r5 == 0) {
    0x0001f420 cbz r5, 0x1f464                       |         goto label_2;
                                                     |     }
                                                     | label_0:
    0x0001f422 mov r0, r5                            |     r0 = r5;
    0x0001f424 add.w r8, r4, 0xc                     |     r8 = r4 + 0xc;
    0x0001f428 blx 0xa7ac                            |     fcn_0000a7ac ();
    0x0001f42c ldr.w r3, [r4, 0x1a0]                 |     r3 = *((r4 + 0x1a0));
    0x0001f430 mov r6, r0                            |     r6 = r0;
    0x0001f432 mov r1, r5                            |     r1 = r5;
    0x0001f434 add.w r0, r3, 0x30                    |     r0 = r3 + 0x30;
    0x0001f438 blx 0xa228                            |     fcn_0000a228 ();
    0x0001f43c ldr.w r3, [r4, 0x1a0]                 |     r3 = *((r4 + 0x1a0));
    0x0001f440 mov r0, r8                            |     r0 = r8;
    0x0001f442 ldr r2, [r3, 0x38]                    |     r2 = *((r3 + 0x38));
    0x0001f444 str.w r2, [r3, 0x1f4]                 |     __asm ("str.w r2, aav.0x000000ff");
    0x0001f448 blx 0xb120                            |     gst_query_new_allocation ();
    0x0001f44c ldr.w r2, [r4, 0x1a0]                 |     r2 = *((r4 + 0x1a0));
    0x0001f450 mov r0, r8                            |     r0 = r8;
    0x0001f452 ldr r3, [r2, 0x70]                    |     r3 = *((r2 + 0x70));
    0x0001f454 adds r3, r3, r6                       |     r3 += r6;
    0x0001f456 str r3, [r2, 0x70]                    |     *((r2 + 0x70)) = r3;
    0x0001f458 ldr r3, [r2, 0x74]                    |     r3 = *((r2 + 0x74));
    0x0001f45a adc r3, r3, 0                         |     __asm ("adc r3, r3, 0");
    0x0001f45e str r3, [r2, 0x74]                    |     *((r2 + 0x74)) = r3;
    0x0001f460 blx 0xaa00                            |     gst_pad_query_position ();
                                                     |     do {
                                                     | label_2:
    0x0001f464 ldr.w r3, [r7, 0x108]                 |         r3 = *((r7 + 0x108));
    0x0001f468 mov r1, r5                            |         r1 = r5;
    0x0001f46a mov r0, r4                            |         r0 = r4;
    0x0001f46c pop.w {r4, r5, r6, r7, r8, lr}        |         
    0x0001f470 bx r3                                 |         return uint32_t (*r3)() ();
                                                     | label_1:
    0x0001f472 cmp r2, 0                             |         
    0x0001f474 beq 0x1f464                           |         
                                                     |     } while (r2 == 0);
    0x0001f476 ldrd r0, r1, [r2, 0x28]               |     __asm ("ldrd r0, r1, [r2, 0x28]");
    0x0001f47a cmp.w r1, -1                          |     
    0x0001f47e it eq                                 |     
                                                     |     if (r1 != -1) {
    0x0001f480 cmpeq r0, -1                          |         __asm ("cmpeq r0, -1");
                                                     |         goto label_3;
                                                     |     }
                                                     |     if (r1 == -1) {
                                                     | label_3:
    0x0001f484 beq 0x1f422                           |         goto label_0;
                                                     |     }
    0x0001f486 ldrd r2, r3, [r2, 0x38]               |     __asm ("ldrd r2, r3, [r2, 0x38]");
    0x0001f48a blx 0xa898                            |     r0 = g_strdup_printf ()
    0x0001f48e mov r6, r0                            |     r6 = r0;
    0x0001f490 mov r0, r5                            |     r0 = r5;
    0x0001f492 blx 0xaa8c                            |     fcn_0000aa8c ();
    0x0001f496 mov r1, r6                            |     r1 = r6;
    0x0001f498 mov r0, r4                            |     r0 = r4;
    0x0001f49a bl 0x1f288                            |     fcn_0001f288 (r0, r1);
    0x0001f49e movs r0, 0                            |     r0 = 0;
    0x0001f4a0 pop.w {r4, r5, r6, r7, r8, pc}        |     
                                                     | }

[*] Function printf used 2 times libgstaudio-1.0.so.0.2202.0