[*] Binary protection state of libgstonvifxmlmetadatastreamdoc.so
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function mmap tear down of libgstonvifxmlmetadatastreamdoc.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/gstreamer-1.0/libgstonvifxmlmetadatastreamdoc.so @ 0x3fac */
| #include <stdint.h>
|
; (fcn) fcn.00003fac () | void fcn_00003fac (int16_t arg1) {
| int16_t var_0h;
| r0 = arg1;
| if (? >= ?) {
0x00003fac ldrlt r6, [r0, -0x981]! | r6 = *((r0 -= 0x981));
| }
0x00003fb0 mov r4, r0 | r4 = r0;
0x00003fb2 sub sp, 0xc |
| if (r1 == 0) {
0x00003fb4 cbz r1, 0x3fcc | goto label_0;
| }
| do {
0x00003fb6 ldr r5, [r1] | r5 = *(r1);
0x00003fb8 mov r0, r1 | r0 = r1;
0x00003fba blx 0x231c | fcn_0000231c ();
0x00003fbe str r0, [r4, 0x18] | *((r4 + 0x18)) = r0;
0x00003fc0 mov r0, r5 | r0 = r5;
0x00003fc2 blx 0x217c | memcpy (r0, r1, r2);
0x00003fc6 ldr r1, [r4, 0x18] | r1 = *((r4 + 0x18));
0x00003fc8 cmp r1, 0 |
0x00003fca bne 0x3fb6 |
| } while (r1 != 0);
| label_0:
0x00003fcc ldr r5, [r4, 0x10] | r5 = *((r4 + 0x10));
0x00003fce movs r0, 0 | r0 = 0;
0x00003fd0 strd r0, r0, [r4, 4] | __asm ("strd r0, r0, [r4, 4]");
0x00003fd4 str r0, [r4, 0xc] | *((r4 + 0xc)) = r0;
| if (r5 != 0) {
0x00003fd6 cbz r5, 0x3fee |
0x00003fd8 ldr r4, [pc, 0x34] |
0x00003fda movw r2, 0x46b | r2 = 0x46b;
0x00003fde ldr r3, [pc, 0x34] |
0x00003fe0 ldr r1, [pc, 0x34] |
0x00003fe2 add r4, pc | r4 = 0x7ff6;
0x00003fe4 add r3, pc | r3 = 0x7ffe;
0x00003fe6 str r4, [sp] | *(sp) = r4;
0x00003fe8 add r1, pc | r1 = 0x8004;
0x00003fea blx 0x20ac | fcn_000020ac ();
| }
0x00003fee ldr r3, [r4, 0x14] | r3 = *((r4 + 0x14));
| if (r3 == 0) {
0x00003ff0 cbnz r3, 0x3ff6 |
0x00003ff2 add sp, 0xc |
0x00003ff4 pop {r4, r5, pc} |
| }
0x00003ff6 ldr r4, [pc, 0x24] |
0x00003ff8 movw r2, 0x46c | r2 = 0x46c;
0x00003ffc ldr r3, [pc, 0x20] |
0x00003ffe mov r0, r5 | r0 = r5;
0x00004000 ldr r1, [pc, 0x20] |
0x00004002 add r4, pc | r4 = 0x8024;
0x00004004 add r3, pc | r3 = 0x8028;
0x00004006 str r4, [sp] | *(sp) = r4;
0x00004008 add r1, pc | r1 = 0x8030;
0x0000400a blx 0x20ac | fcn_000020ac ();
0x0000400e nop |
0x00004010 adds r6, r1, 3 | r6 = r1 + 3;
0x00004012 movs r0, r0 |
0x00004014 subs r4, r0, 6 | r4 = r0 - 6;
0x00004016 movs r0, r0 |
0x00004018 adds r0, r4, 2 | r0 = r4 + 2;
0x0000401a movs r0, r0 |
0x0000401c adds r2, r0, 3 | r2 = r0 + 3;
0x0000401e movs r0, r0 |
0x00004020 subs r4, r4, 5 | r4 -= 5;
0x00004022 movs r0, r0 |
0x00004024 adds r0, r0, 2 | r0 += 2;
0x00004026 movs r0, r0 |
| }
[*] Function mmap used 1 times libgstonvifxmlmetadatastreamdoc.so