[*] Binary protection state of e2initrd_helper
Full RELRO Canary found NX enabled PIE enabled No RPATH No RUNPATH No Symbols
[*] Function system tear down of e2initrd_helper
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/e2initrd_helper @ 0x4 */
| #include <stdint.h>
|
; (fcn) fcn.00000004 () | void fcn_00000004 (int32_t arg2) {
| r1 = arg2;
0x00000004 lsls r1, r0, 4 | r1 = r0 << 4;
| if (r1 != r0) {
0x00000008 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x0000000c andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x00000010 eoreq r0, r8, r3 | r0 = r8 ^ r3;
| }
| if (r1 != r0) {
0x00000014 andeq r0, r0, r1 | r0 &= r1;
| }
| if (r1 != r0) {
0x00000018 andeq r1, r0, r1 | r1 = r0 & r1;
| }
| if (r1 != r0) {
0x0000001c andeq r0, r0, r4, lsr r0 | r0 &= (r4 >> r0);
| }
| if (r1 != r0) {
0x00000020 andeq r2, r0, r0, ror 2 | r2 = r0 & (r0 >>> 2);
| }
| if (r1 != r0) {
0x00000024 streq r0, [r0, -0x400] | *((r0 - 0x400)) = r0;
| }
| if (r1 != r0) {
0x00000028 eoreq r0, r0, r4, lsr r0 | r0 ^= (r4 >> r0);
| }
| if (r1 != r0) {
0x0000002c eoreq r0, r8, sb | r0 = r8 ^ sb;
| }
0x00000030 andseq r0, fp, ip, lsl r0 | __asm ("andseq r0, fp, ip, lsl r0");
0x00000034 andvc r0, r0, r1 | __asm ("andvc r0, r0, r1");
| if (r1 != r0) {
0x00000038 andeq r1, r0, r4, lsr 8 | r1 = r0 & (r4 >> 8);
| }
| if (r1 != r0) {
0x0000003c andeq r1, r0, r4, lsr 8 | r1 = r0 & (r4 >> 8);
| }
| if (r1 != r0) {
0x00000040 andeq r1, r0, r4, lsr 8 | r1 = r0 & (r4 >> 8);
| }
| if (r1 != r0) {
0x00000044 andeq r0, r0, r8, asr 32 | r0 &= (r8 >> 32);
| }
| if (r1 != r0) {
0x00000048 andeq r0, r0, r8, asr 32 | r0 &= (r8 >> 32);
| }
| if (r1 != r0) {
0x0000004c andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000050 andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000054 andeq r0, r0, r6 | r0 &= r6;
| }
| if (r1 != r0) {
0x00000058 andeq r0, r0, r4, lsr r0 | r0 &= (r4 >> r0);
| }
| if (r1 != r0) {
0x0000005c andeq r0, r0, r4, lsr r0 | r0 &= (r4 >> r0);
| }
| if (r1 != r0) {
0x00000060 andeq r0, r0, r4, lsr r0 | r0 &= (r4 >> r0);
| }
| if (r1 != r0) {
0x00000064 andeq r0, r0, r0, lsr 2 | r0 &= (r0 >> 2);
| }
| if (r1 != r0) {
0x00000068 andeq r0, r0, r0, lsr 2 | r0 &= (r0 >> 2);
| }
| if (r1 != r0) {
0x0000006c andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000070 andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000074 andeq r0, r0, r3 | r0 &= r3;
| }
| if (r1 != r0) {
0x00000078 andeq r0, r0, r4, asr r1 | r0 &= (r4 >> r1);
| }
| if (r1 != r0) {
0x0000007c andeq r0, r0, r4, asr r1 | r0 &= (r4 >> r1);
| }
| if (r1 != r0) {
0x00000080 andeq r0, r0, r4, asr r1 | r0 &= (r4 >> r1);
| }
| if (r1 != r0) {
0x00000084 andeq r0, r0, sp, lsl r0 | r0 &= (sp << r0);
| }
| if (r1 != r0) {
0x00000088 andeq r0, r0, sp, lsl r0 | r0 &= (sp << r0);
| }
| if (r1 != r0) {
0x0000008c andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000090 andeq r0, r0, r1 | r0 &= r1;
| }
| if (r1 != r0) {
0x00000094 andeq r0, r0, r1 | r0 &= r1;
| }
| if (r1 != r0) {
0x00000098 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x0000009c andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x000000a0 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x000000a4 andeq r1, r0, r0, ror r4 | r1 = r0 & (r0 >>> r4);
| }
| if (r1 != r0) {
0x000000a8 andeq r1, r0, r0, ror r4 | r1 = r0 & (r0 >>> r4);
| }
| if (r1 != r0) {
0x000000ac andeq r0, r0, r5 | r0 &= r5;
| }
| if (r1 != r0) {
0x000000b0 andeq r1, r0, r0 | r1 = r0 & r0;
| }
| if (r1 != r0) {
0x000000b4 andeq r0, r0, r1 | r0 &= r1;
| }
| if (r1 != r0) {
0x000000b8 andeq r1, r0, ip, lsl lr | r1 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x000000bc andeq r2, r0, ip, lsl lr | r2 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x000000c0 andeq r2, r0, ip, lsl lr | r2 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x000000c4 andeq r0, r0, ip, ror 3 | r0 &= (ip >>> 3);
| }
0x000000c8 strdeq r0, r1, [r0], -ip | __asm ("strdeq r0, r1, [r0], -ip");
| if (r1 != r0) {
0x000000cc andeq r0, r0, r6 | r0 &= r6;
| }
| if (r1 != r0) {
0x000000d0 andeq r1, r0, r0 | r1 = r0 & r0;
| }
| if (r1 != r0) {
0x000000d4 andeq r0, r0, r2 | r0 &= r2;
| }
| if (r1 != r0) {
0x000000d8 andeq r1, r0, r4, lsr 28 | r1 = r0 & (r4 >> 28);
| }
| if (r1 != r0) {
0x000000dc andeq r2, r0, r4, lsr 28 | r2 = r0 & (r4 >> 28);
| }
| if (r1 != r0) {
0x000000e0 andeq r2, r0, r4, lsr 28 | r2 = r0 & (r4 >> 28);
| }
| if (r1 != r0) {
0x000000e4 andeq r0, r0, r0, lsr 2 | r0 &= (r0 >> 2);
| }
| if (r1 != r0) {
0x000000e8 andeq r0, r0, r0, lsr 2 | r0 &= (r0 >> 2);
| }
| if (r1 != r0) {
0x000000ec andeq r0, r0, r6 | r0 &= r6;
| }
| if (r1 != r0) {
0x000000f0 andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x000000f4 andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x000000f8 andeq r0, r0, r4, ror r1 | r0 &= (r4 >>> r1);
| }
| if (r1 != r0) {
0x000000fc andeq r0, r0, r4, ror r1 | r0 &= (r4 >>> r1);
| }
| if (r1 != r0) {
0x00000100 andeq r0, r0, r4, ror r1 | r0 &= (r4 >>> r1);
| }
| if (r1 != r0) {
0x00000104 andeq r0, r0, r4, asr 32 | r0 &= (r4 >> 32);
| }
| if (r1 != r0) {
0x00000108 andeq r0, r0, r4, asr 32 | r0 &= (r4 >> 32);
| }
| if (r1 != r0) {
0x0000010c andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000110 andeq r0, r0, r4 | r0 &= r4;
| }
0x00000114 ldrbtvs lr, [r4], -0x551 | __asm ("ldrbtvs lr, [r4], -0x551");
| if (r1 != r0) {
0x00000118 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x0000011c andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x00000120 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x00000124 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x00000128 andeq r0, r0, r0 | r0 &= r0;
| }
| if (r1 != r0) {
0x0000012c andeq r0, r0, r6 | r0 &= r6;
| }
| if (r1 != r0) {
0x00000130 andeq r0, r0, r0, lsl r0 | r0 &= (r0 << r0);
| }
0x00000134 ldrbtvs lr, [r4], -0x552 | __asm ("ldrbtvs lr, [r4], -0x552");
| if (r1 != r0) {
0x00000138 andeq r1, r0, ip, lsl lr | r1 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x0000013c andeq r2, r0, ip, lsl lr | r2 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x00000140 andeq r2, r0, ip, lsl lr | r2 = r0 & (ip << lr);
| }
| if (r1 != r0) {
0x00000144 andeq r0, r0, r4, ror 3 | r0 &= (r4 >>> 3);
| }
| if (r1 != r0) {
0x00000148 andeq r0, r0, r4, ror 3 | r0 &= (r4 >>> 3);
| }
| if (r1 != r0) {
0x0000014c andeq r0, r0, r4 | r0 &= r4;
| }
| if (r1 != r0) {
0x00000150 andeq r0, r0, r1 | r0 &= r1;
| }
| /* [01] -r-- section size 29 named .interp */
0x00000154 rsbsvc r7, r3, 0xbc00000 | __asm ("rsbsvc r7, r3, 0xbc00000");
0x00000158 rsbvs r6, sb, 0x2f00 | __asm ("rsbvs r6, sb, 0x2f00");
0x0000015c stclhs p12, c6, [r4, -0xbc]! | __asm ("stclhs p12, c6, [r4, -0xbc]!");
0x00000160 strbvc r6, [lr, -0x96c]! | __asm ("strbvc r6, [lr, -0x96c]!");
0x00000164 rsbvc r2, r1, 120, 26 | __asm ("rsbvc r2, r1, 120, 26");
0x00000168 cdphs p8, 6, c6, c6, c13, 3 | __asm ("cdphs p8, 6, c6, c6, c13, 3");
0x0000016c invalid |
| }
[*] Function system used 1 times e2initrd_helper