[*] Binary protection state of libgstpbutils-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 libgstpbutils-1.0.so.0.2202.0

beq.w 0xe7ec
ldr.w r0, [0x0000efc0]
movw r1, 0x1d5
add r0, pc
bl 0xe324
mov r2, r0
cmp r0, 0
beq.w 0xe7ec
ldr.w r0, [0x0000efc4]
add r0, pc
mov r1, r4
add sp, 8
pop.w {r4, r5, r6, lr}
b.w 0x9f58
ldr.w r1, [0x0000efc8]
mov r0, r5
add r1, pc
blx sym.imp.gst_audio_channel_get_fallback_mask
cmp r0, 0
beq.w 0xe8a4
blx sym.imp.g_string_append_printf
cmp r0, 0
beq.w 0xe7f0
--
movs r0, r0
push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}
mov r6, r0
sub sp, 0x44
mov r7, r1
movs r1, 1
blx 0x9eac
movs r1, 2
mov sb, r0
mov r0, r6
blx 0x9eac
movs r1, 0
mov r8, r0
mov r0, r6
blx 0x9eac
mov r4, r0
blx sym.imp.g_intern_static_string
mov r3, r0
mov r0, r4
mov r4, r3
blx sym.imp._gst_element_error_printf
sub.w r3, r4, 0x61
cmp r3, 0x15
--
movs r4, r5
movs r4, r5
movs r4, r5
movs r4, r5
movs r4, r5
movs r4, r5
lsls r3, r7, 5
movs r4, r5
movs r4, r5
movs r4, r5
movs r4, r5
lsls r2, r0, 6
movs r4, r5
movs r4, r5
lsls r6, r3, 6
mov r0, r5
blx sym.imp.g_param_spec_uint64
cmp r0, 4
bhi.w 0x1798e
mov r0, r5
blx sym.imp._gst_element_error_printf
bl sym.gst_discoverer_container_info_get_type
mov r1, r0
cmp r4, 0
bne.w 0x1779e
ldr r0, [r7, 0x18]
mov r1, r4
blx 0xa464
str r0, [r7, 0x18]
bl sym.gst_discoverer_container_info_get_type
movs r4, 0
mov r0, sb
blx sym.imp._gst_element_error_printf
mov r0, r8
blx sym.imp._gst_element_error_printf
mov r0, r6
blx sym.imp._gst_element_error_printf
mov r0, r4
add sp, 0x44
pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}
bl sym.gst_discoverer_audio_info_get_type
movs r1, 0
blx 0x9ec4
movs r1, 0
mov r4, r0
mov r0, r8
blx 0x9eac
movs r1, 0
mov r5, r0
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x38]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 1
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x3c]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 2
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x44]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 3
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x48]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 4
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x40]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 5
mov r0, r5
blx 0x9eac
mov fp, r0
blx 0xa300
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
cmp.w sl, 0
beq 0x17674
movs r1, 0
mov r0, sl
blx sym.imp.g_strcanon
mov fp, r0
mov r0, sl
blx sym.imp._gst_element_error_printf
cmp.w fp, 0
beq 0x17674
mov r0, fp
blx 0x9af8
str r0, [r4, 0x4c]
movs r1, 6
mov r0, r5
blx 0x9eac
mov sl, r0
blx 0xa12c
strd r0, r1, [r4, 0x30]
mov r0, sl
blx sym.imp._gst_element_error_printf
mov r0, r5
blx sym.imp._gst_element_error_printf
movs r1, 0
mov r0, sb
blx 0x9eac
movs r1, 0
mov r5, r0
blx 0x9eac
mov fp, r0
blx 0xa300
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
cmp.w sl, 0
beq 0x176d4
movs r1, 0
mov r0, sl
blx sym.imp.g_strcanon
mov fp, r0
mov r0, sl
blx sym.imp._gst_element_error_printf
cmp.w fp, 0
beq 0x176d4
mov r0, fp
blx 0x9af8
str r0, [r4, 0x20]
movs r1, 1
mov r0, r5
blx 0x9eac
mov fp, r0
blx 0xa300
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
cmp.w sl, 0
beq 0x1770e
movs r1, 0
mov r0, sl
blx sym.imp.g_strcanon
mov fp, r0
mov r0, sl
blx sym.imp._gst_element_error_printf
cmp.w fp, 0
beq 0x1770e
mov r0, fp
blx sym.imp.g_usleep
str r0, [r4, 0x14]
movs r1, 2
mov r0, r5
blx 0x9eac
mov fp, r0
blx 0xa300
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
cmp.w sl, 0
beq 0x17748
movs r1, 0
mov r0, sl
blx sym.imp.g_strcanon
mov fp, r0
mov r0, sl
blx sym.imp._gst_element_error_printf
cmp.w fp, 0
beq 0x17748
mov r0, fp
blx sym.imp.gst_tag_exists
str r0, [r4, 0x18]
movs r1, 3
mov r0, r5
blx 0x9eac
mov fp, r0
blx 0xa300
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
cmp.w sl, 0
beq.w 0x17570
movs r1, 0
mov r0, sl
blx sym.imp.g_strcanon
mov fp, r0
mov r0, sl
blx sym.imp._gst_element_error_printf
cmp.w fp, 0
beq.w 0x17570
mov r0, fp
blx 0x9c34
str r0, [r4, 0x24]
mov r0, r5
blx sym.imp.g_param_spec_uint64
cmp r0, 4
bhi.w 0x1798e
mov r0, r5
blx sym.imp._gst_element_error_printf
bl sym.gst_discoverer_container_info_get_type
mov r1, r0
--
mov r0, sl
blx 0xa318
ldr r3, [r4, 0x18]
mov r0, sl
str r3, [r4, 0x30]
blx sym.imp.gst_query_parse_nth_allocation_pool
mov r5, r0
cmp r0, 0
beq.w 0x1759e
blx 0x9c94
mov r1, r7
bl 0x17504
cbz r0, 0x17818
ldr.w fp, [r4, 0x2c]
blx 0x9ef8
mov r1, r0
mov r0, fp
blx 0xa464
str r0, [r4, 0x2c]
mov r0, r5
blx sym.imp._gst_element_error_printf
mov r0, sl
blx sym.imp.gst_query_parse_nth_allocation_pool
--
movs r1, 0
blx 0x9ec4
mov r4, r0
b 0x17692
bl sym.gst_discoverer_subtitle_info_get_type
movs r1, 0
blx 0x9ec4
movs r1, 0
mov r4, r0
mov r0, r8
blx 0x9eac
mov sl, r0
blx 0xa300
mov r5, r0
cbz r0, 0x17878
movs r1, 0
blx sym.imp.g_strcanon
blx 0x9af8
str r0, [r4, 0x2c]
mov r0, r5
blx sym.imp._gst_element_error_printf
mov r0, sl
blx sym.imp._gst_element_error_printf
b 0x17692
bl sym.gst_discoverer_video_info_get_type
movs r1, 0
blx 0x9ec4
movs r1, 0
mov r4, r0
mov r0, r8
blx 0x9eac
movs r1, 0
mov r5, r0
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x2c]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 1
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x30]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 2
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x34]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 3
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x38]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 4
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x3c]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 5
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x40]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 6
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x44]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 7
mov r0, r5
blx 0x9eac
mov sl, r0
blx 0xa60c
str r0, [r4, 0x48]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 8
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x4c]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 9
mov r0, r5
blx 0x9eac
mov sl, r0
blx sym.imp.g_value_set_enum
str r0, [r4, 0x50]
mov r0, sl
blx sym.imp._gst_element_error_printf
movs r1, 0xa
mov r0, r5
blx 0x9eac
mov sl, r0
blx 0xa60c
str r0, [r4, 0x54]
mov r0, sl
blx sym.imp._gst_element_error_printf
mov r0, r5
blx sym.imp._gst_element_error_printf
b 0x17692
movs r1, 4
mov r0, r5
blx 0x9eac
mov fp, r0
blx 0x9c94
mov sl, r0
mov r0, fp
blx sym.imp._gst_element_error_printf
mov r0, sl
blx sym.imp.g_param_spec_uint64
cbnz r0, 0x179b8
mov r0, sl
blx sym.imp._gst_element_error_printf
b 0x1757c
str r4, [r7, 0x14]
b 0x177c2
mov r1, r7
mov r0, sl
bl 0x17504
str r0, [r4, 0x10]
mov r0, sl
blx sym.imp._gst_element_error_printf
mov r0, r5
blx sym.imp._gst_element_error_printf
bl sym.gst_discoverer_container_info_get_type
mov r1, r0
--
ldr r0, [sp, 0x14]
ldr r3, [sp, 0x20]
ldr r1, [0x00017edc]
mov r2, r6
strd r0, r3, [r5, 0x38]
mov r3, sl
mov r0, r8
add r1, pc
blx sym.imp.gst_pad_new_from_template
movs r3, 1
mov r2, r3
cbz r0, 0x17bac
ldr r2, [sp, 0x14]
ldr r3, [sp, 0x20]
ldr r1, [0x00017ee0]
mov r0, r8
strd r2, r3, [r5, 0x40]
add r1, pc
blx sym.imp.gst_audio_channel_get_fallback_mask
cbz r0, 0x17bd0
blx sym.imp.g_string_append_printf
blx 0xa510
cbz r0, 0x17bd0
--
mov r0, r5
blx 0xa440
ldr r0, [r4, 0xc]
b 0x1871a
movs r1, 7
bl sym.gst_discoverer_info_to_variant
ldr r3, [r4, 0xc]
mov r6, r0
ldr r3, [r3, 0x28]
ldr.w r8, [r3, 0x44]
blx 0x9e94
mov r7, r0
mov r0, r6
blx 0x9c64
mov r3, r5
mov r2, r0
mov r1, r7
mov r0, r8
blx sym.imp.g_key_file_set_integer
mov r0, r6
blx sym.imp._gst_element_error_printf
ldr r3, [r4, 0xc]
b 0x18790
--
ldr r1, [r1, 0x28]
strd r2, r3, [r1, 0x20]
b 0x187fe
ldr r0, [r1, 0x14]
movs r0, r0
push.w {r3, r4, r5, r6, r7, r8, sb, lr}
mov r5, r0
bl sym.gst_discoverer_info_get_type
movs r1, 0
blx 0x9ec4
mov r4, r0
mov r0, r5
blx 0x9c94
movs r1, 0
mov r7, r0
blx 0x9eac
mov r6, r0
blx 0x9c94
mov r5, r0
mov r0, r6
blx sym.imp._gst_element_error_printf
movs r1, 1
mov r0, r7
blx 0x9eac
mov r6, r0
blx 0x9c94
mov r8, r0
mov r0, r6
blx sym.imp._gst_element_error_printf
movs r1, 0
mov r0, r5
blx 0x9eac
mov sb, r0
blx 0xa300
mov r6, r0
mov r0, sb
blx sym.imp._gst_element_error_printf
cbz r6, 0x18902
movs r1, 0
mov r0, r6
blx sym.imp.g_strcanon
mov sb, r0
mov r0, r6
blx sym.imp._gst_element_error_printf
cmp.w sb, 0
beq 0x18902
mov r0, sb
blx 0x9af8
str r0, [r4, 0xc]
movs r1, 1
mov r0, r5
blx 0x9eac
mov r6, r0
blx 0xa12c
strd r0, r1, [r4, 0x20]
mov r0, r6
blx sym.imp._gst_element_error_printf
movs r1, 2
mov r0, r5
blx 0x9eac
mov r6, r0
blx 0xa60c
str r0, [r4, 0x38]
mov r0, r6
blx sym.imp._gst_element_error_printf
movs r1, 3
mov r0, r5
blx 0x9eac
mov sb, r0
blx 0xa300
mov r6, r0
mov r0, sb
blx sym.imp._gst_element_error_printf
cbz r6, 0x18966
movs r1, 0
mov r0, r6
blx sym.imp.g_strcanon
mov sb, r0
mov r0, r6
blx sym.imp._gst_element_error_printf
cmp.w sb, 0
beq 0x18966
mov r0, sb
blx sym.imp.gst_tag_exists
str r0, [r4, 0x2c]
movs r1, 4
mov r0, r5
blx 0x9eac
mov r6, r0
blx 0xa60c
str r0, [r4, 0x34]
mov r0, r6
blx sym.imp._gst_element_error_printf
mov r1, r4
mov r0, r8
bl 0x17504
mov r0, r5
blx sym.imp._gst_element_error_printf
mov r0, r7
blx sym.imp._gst_element_error_printf
mov r0, r4
pop.w {r3, r4, r5, r6, r7, r8, sb, pc}
--
blx 0x97f8
mov r0, r6
blx 0x97f8
movs r0, 0
blx 0x97f8
ldr r0, [sp, 0x10]
blx 0x97f8
movs r7, 0
b 0x18aa8
ldr r0, [0x00018bbc]
add r0, pc
blx 0x9fe4
ldrd r1, r2, [sp, 0x1c]
movs r3, 1
strd r5, r5, [sp]
blx 0x9c28
mov r8, r0
bl sym.gst_discoverer_info_from_variant
mov r5, r0
mov r0, r8
blx sym.imp._gst_element_error_printf
cbz r5, 0x18b88
movs r3, 1

[*] Function printf used 57 times libgstpbutils-1.0.so.0.2202.0