[*] Binary protection state of libpinchart-api.so.0.0.1

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


[*] Function printf tear down of libpinchart-api.so.0.0.1

    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libpinchart-api.so.0.0.1 @ 0x1a50 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) sym.collection_pinchart_new ()                           | uint32_t collection_pinchart_new (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;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_14h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     r2 = arg3;
    0x00001a50 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x00001a54 mov r7, r2                                            |     r7 = r2;
    0x00001a56 ldr r2, [pc, 0xf4]                                    |     
    0x00001a58 sub sp, 0x1c                                          |     
    0x00001a5a add.w sb, sp, 8                                       |     sb += var_8h;
    0x00001a5e movs r4, 0                                            |     r4 = 0;
    0x00001a60 ldr r3, [pc, 0xec]                                    |     r3 = *(0x1b50);
    0x00001a62 mov r6, r0                                            |     r6 = r0;
    0x00001a64 add r2, pc                                            |     r2 = 0x35b6;
    0x00001a66 ldr.w sl, [pc, 0xec]                                  |     
    0x00001a6a mov r8, r1                                            |     r8 = r1;
    0x00001a6c ldr r3, [r2, r3]                                      |     
    0x00001a6e add sl, pc                                            |     sl = 0x35c8;
    0x00001a70 mov r2, sl                                            |     r2 = sl;
    0x00001a72 ldr r3, [r3]                                          |     r3 = *(0x35b6);
    0x00001a74 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x00001a76 mov.w r3, 0                                           |     r3 = 0;
    0x00001a7a mov r3, sb                                            |     r3 = sb;
    0x00001a7c str r4, [sp, 8]                                       |     var_8h = r4;
    0x00001a7e blx 0x17ac                                            |     fcn_000017ac ();
    0x00001a82 ldr r5, [sp, 8]                                       |     r5 = var_8h;
    0x00001a84 cmp r5, 0                                             |     
                                                                     |     if (r5 != 0) {
    0x00001a86 bne 0x1b28                                            |         goto label_2;
                                                                     |     }
    0x00001a88 mov fp, r0                                            |     
    0x00001a8a blx 0x157c                                            |     fcn_0000157c ();
    0x00001a8e ldr r1, [pc, 0xc8]                                    |     
    0x00001a90 mov r3, r5                                            |     r3 = r5;
    0x00001a92 mov r2, fp                                            |     r2 = fp;
    0x00001a94 add r1, pc                                            |     r1 = 0x35f2;
    0x00001a96 blx 0x15d4                                            |     r0 = interface_definition_create ();
    0x00001a9a mov r4, r0                                            |     r4 = r0;
    0x00001a9c blx 0x1770                                            |     r0 = fcn_00001770 ();
    0x00001aa0 mov r1, r0                                            |     r1 = r0;
    0x00001aa2 mov r0, r4                                            |     r0 = r4;
    0x00001aa4 blx 0x170c                                            |     stack_chk_fail ();
    0x00001aa8 mov r1, r5                                            |     r1 = r5;
    0x00001aaa mov sl, r0                                            |     sl = r0;
    0x00001aac mov r0, r6                                            |     r0 = r6;
    0x00001aae str r5, [sp, 0xc]                                     |     var_ch = r5;
    0x00001ab0 blx 0x1724                                            |     r0 = resource_instance_get_type ();
    0x00001ab4 mov r5, r0                                            |     r5 = r0;
    0x00001ab6 blx 0x1658                                            |     g_snprintf ()
    0x00001aba mov r1, r5                                            |     r1 = r5;
    0x00001abc blx 0x17a0                                            |     r0 = fcn_000017a0 ();
                                                                     |     if (r0 == 0) {
    0x00001ac0 cbz r0, 0x1afc                                        |         goto label_3;
                                                                     |     }
    0x00001ac2 ldr r1, [sp, 0xc]                                     |     r1 = var_ch;
    0x00001ac4 cbz r1, 0x1acc                                        |     
                                                                     |     while (r1 != 0) {
    0x00001ac6 mov r0, sb                                            |         r0 = sb;
    0x00001ac8 blx 0x1640                                            |         resource_get_passive_conf_view ();
                                                                     | label_0:
    0x00001acc ldr r1, [sp, 8]                                       |         r1 = var_8h;
                                                                     |         if (r1 != 0) {
    0x00001ace cbz r1, 0x1ad6                                        |             
    0x00001ad0 mov r0, r7                                            |             r0 = r7;
    0x00001ad2 blx 0x1640                                            |             resource_get_passive_conf_view ();
                                                                     |         }
    0x00001ad6 blx 0x1770                                            |         r0 = fcn_00001770 ();
    0x00001ada mov r1, r0                                            |         r1 = r0;
    0x00001adc mov r0, r4                                            |         r0 = r4;
    0x00001ade blx 0x170c                                            |         stack_chk_fail ();
                                                                     | label_1:
    0x00001ae2 ldr r2, [pc, 0x78]                                    |         
    0x00001ae4 ldr r3, [pc, 0x68]                                    |         r3 = *(0x1b50);
    0x00001ae6 add r2, pc                                            |         r2 = 0x3648;
    0x00001ae8 ldr r3, [r2, r3]                                      |         r3 = *(0x3648);
    0x00001aea ldr r2, [r3]                                          |         r2 = *(0x3648);
    0x00001aec ldr r3, [sp, 0x14]                                    |         r3 = var_14h;
    0x00001aee eors r2, r3                                           |         r2 ^= r3;
    0x00001af0 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x00001af4 bne 0x1b48                                            |             goto label_4;
                                                                     |         }
    0x00001af6 add sp, 0x1c                                          |         
    0x00001af8 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     | label_3:
    0x00001afc blx 0x1588                                            |         fcn_00001588 ();
    0x00001b00 add r1, sp, 0xc                                       |         r1 += var_ch;
    0x00001b02 mov r2, r0                                            |         r2 = r0;
    0x00001b04 str r1, [sp, 4]                                       |         var_4h = r1;
    0x00001b06 mov r3, r8                                            |         r3 = r8;
    0x00001b08 mov r0, sl                                            |         r0 = sl;
    0x00001b0a movs r1, 1                                            |         r1 = 1;
    0x00001b0c str r6, [sp]                                          |         *(sp) = r6;
    0x00001b0e str r2, [sp, 0x10]                                    |         var_10h = r2;
    0x00001b10 blx 0x16b8                                            |         r0 = g_list_append ();
                                                                     |         if (r0 != 0) {
    0x00001b14 cbz r0, 0x1b1a                                        |             
    0x00001b16 blx 0x14f4                                            |             fcn_000014f4 ();
                                                                     |         }
    0x00001b1a add r0, sp, 0x10                                      |         r0 += var_10h;
    0x00001b1c blx 0x1694                                            |         resource_declare_interface_implementation ();
    0x00001b20 ldr r1, [sp, 0xc]                                     |         r1 = var_ch;
    0x00001b22 cmp r1, 0                                             |         
    0x00001b24 bne 0x1ac6                                            |         
                                                                     |     }
    0x00001b26 b 0x1acc                                              |     goto label_0;
                                                                     | label_2:
    0x00001b28 mov r1, r5                                            |     r1 = r5;
    0x00001b2a mov r0, r7                                            |     r0 = r7;
    0x00001b2c blx 0x1640                                            |     resource_get_passive_conf_view ();
    0x00001b30 ldr r3, [pc, 0x2c]                                    |     
    0x00001b32 mov r0, r4                                            |     r0 = r4;
    0x00001b34 ldr r2, [pc, 0x2c]                                    |     
    0x00001b36 movs r1, 0x10                                         |     r1 = 0x10;
    0x00001b38 str.w sl, [sp]                                        |     __asm ("str.w sl, [sp]");
    0x00001b3c add r3, pc                                            |     r3 = 0x36a0;
    0x00001b3e add r2, pc                                            |     r2 = 0x36a6;
    0x00001b40 blx 0x1828                                            |     fcn_00001828 ();
    0x00001b44 mov r0, r4                                            |     r0 = r4;
    0x00001b46 b 0x1ae2                                              |     goto label_1;
                                                                     | label_4:
    0x00001b48 blx 0x1718                                            |     get_domain_context_from_system_registry ();
    0x00001b4c add r4, r3                                            |     r4 += r3;
    0x00001b4e movs r0, r0                                           |     
    0x00001b50 lsls r4, r6, 5                                        |     r4 = r6 << 5;
    0x00001b52 movs r0, r0                                           |     
    0x00001b54 movs r2, 0xbe                                         |     r2 = 0xbe;
    0x00001b56 movs r0, r0                                           |     
    0x00001b58 movs r2, 0xdc                                         |     r2 = 0xdc;
    0x00001b5a movs r0, r0                                           |     
    0x00001b5c bics r2, r3                                           |     __asm ("bics r2, r3");
    0x00001b5e movs r0, r0                                           |     
    0x00001b60 movs r5, 0x4c                                         |     r5 = 0x4c;
    0x00001b62 movs r0, r0                                           |     
    0x00001b64 movs r1, 0xfa                                         |     r1 = 0xfa;
    0x00001b66 movs r0, r0                                           |     
    0x00001b68 bx lr                                                 |     return r0;
                                                                     | }

[*] Function printf used 2 times libpinchart-api.so.0.0.1