[*] Binary protection state of systemd
Full RELRO Canary found NX enabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function printf tear down of systemd
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x7e828 */
| #include <stdint.h>
|
; (fcn) fcn.0007e828 () | void fcn_0007e828 (int16_t arg1, int16_t arg2, int16_t arg3) {
| int32_t var_0h;
| int32_t var_0h_2;
| int16_t var_ch;
| int32_t var_4h;
| int32_t var_8h;
| int8_t var_ch_2;
| int32_t var_10h;
| int8_t var_18h;
| int32_t var_1ch;
| int32_t var_20h;
| int8_t var_24h;
| int32_t var_28h;
| int8_t var_30h;
| int32_t var_34h;
| int8_t var_3ch;
| int32_t var_40h;
| int8_t var_48h;
| int32_t var_4ch;
| int8_t var_54h;
| int32_t var_58h;
| int8_t var_60h;
| int32_t var_64h;
| int8_t var_6ch;
| int32_t var_70h;
| int8_t var_78h;
| int32_t var_7ch;
| int8_t var_84h;
| int32_t var_88h;
| int8_t var_90h;
| int32_t var_94h;
| int8_t var_9ch;
| int32_t var_a0h;
| int8_t var_a8h;
| int32_t var_ach;
| int8_t var_b4h;
| int32_t var_b8h;
| int8_t var_c0h;
| int32_t var_c4h;
| int8_t var_cch;
| int32_t var_d0h;
| int8_t var_d8h;
| int32_t var_dch;
| int8_t var_e4h;
| int32_t var_e8h;
| int8_t var_f0h;
| int32_t var_f4h;
| int16_t var_114h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
0x0007e828 push.w {r4, r5, r6, r7, r8, lr} |
0x0007e82c mov r6, r0 | r6 = r0;
0x0007e82e ldr r0, [pc, 0x194] |
0x0007e830 sub sp, 0x118 |
0x0007e832 add r4, sp, 0xc | r4 += var_ch;
0x0007e834 mov r7, r1 | r7 = r1;
0x0007e836 ldr r3, [pc, 0x190] | r3 = *(0x7e9ca);
0x0007e838 mov r8, r2 | r8 = r2;
0x0007e83a add r0, pc | r0 = 0xfd204;
0x0007e83c mov.w r2, 0x108 | r2 = 0x108;
0x0007e840 ldr r5, [pc, 0x188] |
0x0007e842 movs r1, 0 | r1 = 0;
0x0007e844 ldr r3, [r0, r3] |
0x0007e846 mov r0, r4 | r0 = r4;
0x0007e848 add r5, pc | r5 = 0xfd218;
0x0007e84a ldr r3, [r3] | r3 = *(0xfd204);
0x0007e84c str r3, [sp, 0x114] | var_114h = r3;
0x0007e84e mov.w r3, 0 | r3 = 0;
0x0007e852 blx 0x19190 | notify_access_from_string ();
0x0007e856 ldr r3, [pc, 0x178] | r3 = *(0x7e9d2);
0x0007e858 movs r2, 0x69 | r2 = 0x69;
0x0007e85a strb r2, [r4] | *(r4) = r2;
0x0007e85c movs r2, 0x6a | r2 = 0x6a;
0x0007e85e ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e860 strb r2, [r4, 0xc] | var_ch_2 = r2;
0x0007e862 movs r2, 0x6e | r2 = 0x6e;
0x0007e864 strb r2, [r4, 0x18] | var_18h = r2;
0x0007e866 movs r2, 0x4e | r2 = 0x4e;
0x0007e868 str r3, [r4, 4] | var_4h = r3;
0x0007e86a str r3, [r4, 0x1c] | var_1ch = r3;
0x0007e86c ldr r3, [r6, 0x14] | r3 = *((r6 + 0x14));
0x0007e86e strb.w r2, [r4, 0x24] | var_24h = r2;
0x0007e872 movs r2, 0x70 | r2 = 0x70;
0x0007e874 strb.w r2, [r4, 0x30] | var_30h = r2;
0x0007e878 movs r2, 0x61 | r2 = 0x61;
0x0007e87a str r3, [r4, 8] | var_8h = r3;
0x0007e87c ldr r3, [r6, 0x10] | r3 = *((r6 + 0x10));
0x0007e87e strb.w r2, [r4, 0x3c] | var_3ch = r2;
0x0007e882 movs r2, 0x41 | r2 = 0x41;
0x0007e884 str r3, [r4, 0x20] | var_20h = r3;
0x0007e886 ldr r3, [pc, 0x14c] |
0x0007e888 add r3, pc | r3 = 0xfd262;
0x0007e88a str r3, [r4, 0x10] | var_10h = r3;
0x0007e88c ldr r3, [pc, 0x148] |
0x0007e88e add r3, pc | r3 = 0xfd26a;
0x0007e890 str r3, [r4, 0x28] | var_28h = r3;
0x0007e892 ldr r3, [pc, 0x148] |
0x0007e894 add r3, pc | r3 = 0xfd276;
0x0007e896 str r3, [r4, 0x34] | var_34h = r3;
0x0007e898 ldr r3, [pc, 0x144] | r3 = *(0x7e9e0);
0x0007e89a ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e89c strb.w r2, [r4, 0x48] | var_48h = r2;
0x0007e89e movs r0, 0x48 | r0 = 0x48;
0x0007e8a0 movs r2, 0x62 | r2 = 0x62;
0x0007e8a2 str r3, [r4, 0x40] | var_40h = r3;
0x0007e8a4 ldr r3, [pc, 0x13c] | r3 = *(0x7e9e4);
0x0007e8a6 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8a8 strb.w r2, [r4, 0x54] | var_54h = r2;
0x0007e8ac movs r2, 0x42 | r2 = 0x42;
0x0007e8ae str r3, [r4, 0x4c] | var_4ch = r3;
0x0007e8b0 ldr r3, [pc, 0x134] | r3 = *(0x7e9e8);
0x0007e8b2 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8b4 strb.w r2, [r4, 0x60] | var_60h = r2;
0x0007e8b8 movs r2, 0x48 | r2 = 0x48;
0x0007e8ba str r3, [r4, 0x58] | var_58h = r3;
0x0007e8bc ldr r3, [pc, 0x12c] | r3 = *(0x7e9ec);
0x0007e8be ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8c0 strb.w r2, [r4, 0x6c] | var_6ch = r2;
0x0007e8c2 movs r0, 0x6c | r0 = 0x6c;
0x0007e8c4 movs r2, 0x6c | r2 = 0x6c;
0x0007e8c6 str r3, [r4, 0x64] | var_64h = r3;
0x0007e8c8 ldr r3, [pc, 0x124] | r3 = *(0x7e9f0);
0x0007e8ca ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8cc strb.w r2, [r4, 0x78] | var_78h = r2;
0x0007e8d0 movs r2, 0x6d | r2 = 0x6d;
0x0007e8d2 str r3, [r4, 0x70] | var_70h = r3;
0x0007e8d4 ldr r3, [pc, 0x11c] | r3 = *(0x7e9f4);
0x0007e8d6 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8d8 str r3, [r4, 0x7c] | var_7ch = r3;
0x0007e8da ldr r3, [pc, 0x11c] | r3 = *(0x7e9fa);
0x0007e8dc strb.w r2, [r4, 0x84] | var_84h = r2;
0x0007e8e0 movs r2, 0x4d | r2 = 0x4d;
0x0007e8e2 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8e4 strb.w r2, [r4, 0x90] | var_90h = r2;
0x0007e8e8 movs r2, 0x6f | r2 = 0x6f;
0x0007e8ea str.w r3, [r4, 0x88] | __asm ("str.w r3, [var_88h]");
0x0007e8ee ldr r3, [pc, 0x10c] | r3 = *(0x7e9fe);
0x0007e8f0 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e8f2 strb.w r2, [r4, 0x9c] | var_9ch = r2;
0x0007e8f6 movs r2, 0x76 | r2 = 0x76;
0x0007e8f8 str.w r3, [r4, 0x94] | __asm ("str.w r3, [var_94h]");
0x0007e8fc ldr r3, [pc, 0x100] | r3 = *(0x7ea00);
0x0007e8fe ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e900 strb.w r2, [r4, 0xa8] | var_a8h = r2;
0x0007e904 movs r2, 0x77 | r2 = 0x77;
0x0007e906 str.w r3, [r4, 0xa0] | __asm ("str.w r3, [var_a0h]");
0x0007e908 adds r0, 0xa0 | r0 += 0xa0;
0x0007e90a ldr r3, [pc, 0xf8] | r3 = *(0x7ea06);
0x0007e90c ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e90e strb.w r2, [r4, 0xb4] | var_b4h = r2;
0x0007e912 movs r2, 0x57 | r2 = 0x57;
0x0007e914 str.w r3, [r4, 0xac] | __asm ("str.w r3, [var_ach]");
0x0007e918 ldr r3, [pc, 0xec] | r3 = *(0x7ea08);
0x0007e91a ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e91c strb.w r2, [r4, 0xc0] | var_c0h = r2;
0x0007e91e movs r0, 0xc0 | r0 = 0xc0;
0x0007e920 movs r2, 0x67 | r2 = 0x67;
0x0007e922 str.w r3, [r4, 0xb8] | __asm ("str.w r3, [var_b8h]");
0x0007e926 ldr r3, [pc, 0xe4] | r3 = *(0x7ea0e);
0x0007e928 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e92a strb.w r2, [r4, 0xcc] | var_cch = r2;
0x0007e92e movs r2, 0x47 | r2 = 0x47;
0x0007e930 str.w r3, [r4, 0xc4] | __asm ("str.w r3, [var_c4h]");
0x0007e934 ldr r3, [pc, 0xd8] | r3 = *(0x7ea10);
0x0007e936 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e938 strb.w r2, [r4, 0xd8] | var_d8h = r2;
0x0007e93c movs r2, 0x75 | r2 = 0x75;
0x0007e93e str.w r3, [r4, 0xd0] | __asm ("str.w r3, [var_d0h]");
0x0007e942 ldr r3, [pc, 0xd0] | r3 = *(0x7ea16);
0x0007e944 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e946 strb.w r2, [r4, 0xe4] | var_e4h = r2;
0x0007e94a movs r2, 0x55 | r2 = 0x55;
0x0007e94c str.w r3, [r4, 0xdc] | __asm ("str.w r3, [var_dch]");
0x0007e950 ldr r3, [pc, 0xc4] | r3 = *(0x7ea18);
0x0007e952 ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e954 strb.w r2, [r4, 0xf0] | var_f0h = r2;
0x0007e958 str.w r3, [r4, 0xe8] | __asm ("str.w r3, [var_e8h]");
0x0007e95c ldr r3, [pc, 0xbc] | r3 = *(0x7ea1c);
0x0007e95e ldr r3, [r5, r3] | r3 = *(0xfd218);
0x0007e960 str.w r3, [r4, 0xf4] | __asm ("str.w r3, [var_f4h]");
| if (r7 != 0) {
0x0007e964 cbz r7, 0x7e998 |
0x0007e966 cmp.w r8, 0 |
| if (r8 == 0) {
0x0007e96a beq 0x7e9ac | goto label_0;
| }
0x0007e96c movs r3, 0 | r3 = 0;
0x0007e96e mov r2, r4 | r2 = r4;
0x0007e970 mov r0, r7 | r0 = r7;
0x0007e972 mov.w r1, 0x100 | r1 = 0x100;
0x0007e976 strd r6, r8, [sp] | __asm ("strd r6, r8, [sp]");
0x0007e97a blx 0x18518 | specifier_printf ()
0x0007e97e ldr r2, [pc, 0xa0] |
0x0007e980 ldr r3, [pc, 0x44] | r3 = *(0x7e9c8);
0x0007e982 add r2, pc | r2 = 0xfd3a8;
0x0007e984 ldr r3, [r2, r3] | r3 = *(0xfd3a8);
0x0007e986 ldr r2, [r3] | r2 = *(0xfd3a8);
0x0007e988 ldr r3, [sp, 0x114] | r3 = var_114h;
0x0007e98a eors r2, r3 | r2 ^= r3;
0x0007e98c mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0007e990 bne 0x7e9c0 | goto label_1;
| }
0x0007e992 add sp, 0x118 |
0x0007e994 pop.w {r4, r5, r6, r7, r8, pc} |
| }
0x0007e998 ldr r1, [pc, 0x88] |
0x0007e99a movs r2, 0xc6 | r2 = 0xc6;
0x0007e99c ldr r3, [pc, 0x88] |
0x0007e99e ldr r0, [pc, 0x8c] |
0x0007e9a0 add r1, pc | r1 = 0xfd3c8;
0x0007e9a2 add r3, pc | r3 = 0xfd3ce;
0x0007e9a4 adds r1, 7 | r1 += 7;
0x0007e9a6 add r0, pc | r0 = 0xfd3d8;
0x0007e9a8 blx 0x19e60 | fcn_00019e60 ();
| label_0:
0x0007e9ac ldr r1, [pc, 0x80] |
0x0007e9ae movs r2, 0xc7 | r2 = 0xc7;
0x0007e9b0 ldr r3, [pc, 0x80] |
0x0007e9b2 ldr r0, [pc, 0x84] |
0x0007e9b4 add r1, pc | r1 = 0xfd3e8;
0x0007e9b6 add r3, pc | r3 = 0xfd3ee;
0x0007e9b8 adds r1, 7 | r1 += 7;
0x0007e9ba add r0, pc | r0 = 0xfd3f8;
0x0007e9bc blx 0x19e60 | fcn_00019e60 ();
0x0007e9be invalid |
| label_1:
0x0007e9c0 blx 0x1a700 | fcn_0001a700 ();
0x0007e9c4 asrs r2, r6, 0x11 | r2 = r6 >> 0x11;
0x0007e9c6 movs r3, r1 | r3 = r1;
0x0007e9c8 asrs r0, r6, 9 | r0 = r6 >> 9;
0x0007e9ca movs r0, r0 |
0x0007e9cc asrs r4, r4, 0x11 | r4 >>= 0x11;
0x0007e9ce movs r3, r1 | r3 = r1;
0x0007e9d0 asrs r4, r7, 8 | r4 = r7 >> 8;
0x0007e9d2 movs r0, r0 |
0x0007e9d4 invalid |
| }
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/lib/systemd/systemd @ 0x7ea3c */
| #include <stdint.h>
|
; (fcn) fcn.0007ea3c () | void fcn_0007ea3c (uint32_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_ch;
| int32_t var_4h_2;
| int32_t var_8h;
| int8_t var_ch_2;
| int32_t var_10h;
| int8_t var_18h;
| int32_t var_1ch;
| int8_t var_24h;
| int32_t var_28h;
| int8_t var_30h;
| int32_t var_34h;
| int32_t var_38h;
| int8_t var_3ch;
| int32_t var_40h;
| int8_t var_48h;
| int32_t var_4ch;
| int8_t var_54h;
| int32_t var_58h;
| int8_t var_60h;
| int32_t var_64h;
| int8_t var_6ch;
| int32_t var_70h;
| int8_t var_78h;
| int32_t var_7ch;
| int8_t var_84h;
| int32_t var_88h;
| int8_t var_90h;
| int32_t var_94h;
| int32_t var_98h;
| int8_t var_9ch;
| int32_t var_a0h;
| int32_t var_a4h;
| int8_t var_a8h;
| int32_t var_ach;
| int32_t var_b0h;
| int8_t var_b4h;
| int32_t var_b8h;
| int32_t var_bch;
| int8_t var_c0h;
| int32_t var_c4h;
| int8_t var_cch;
| int32_t var_d0h;
| int8_t var_d8h;
| int32_t var_dch;
| int8_t var_e4h;
| int32_t var_e8h;
| int8_t var_f0h;
| int32_t var_f4h;
| int8_t var_fch;
| int32_t var_100h;
| int8_t var_108h;
| int32_t var_10ch;
| int8_t var_114h;
| int32_t var_118h;
| int8_t var_120h;
| int32_t var_124h;
| int8_t var_12ch;
| int32_t var_130h;
| int8_t var_138h;
| int32_t var_13ch;
| int8_t var_144h;
| int32_t var_148h;
| int8_t var_150h;
| int32_t var_154h;
| int8_t var_15ch;
| int32_t var_160h;
| int8_t var_168h;
| int32_t var_16ch;
| int8_t var_174h;
| int32_t var_178h;
| int8_t var_180h;
| int32_t var_184h;
| int8_t var_18ch;
| int32_t var_190h;
| int8_t var_198h;
| int32_t var_19ch;
| int8_t var_1a4h;
| int32_t var_1a8h;
| int8_t var_1b0h;
| int32_t var_1b4h;
| int16_t var_1d4h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x0007ea3c mvnsmi lr, 0xb4000 | __asm ("mvnsmi lr, 0xb4000");
0x0007ea40 mov sb, r2 | sb = r2;
0x0007ea42 ldr r2, [pc, 0x2a0] |
0x0007ea44 mov r8, r3 | r8 = r3;
0x0007ea46 sub sp, 0x1dc |
0x0007ea48 ldr r3, [pc, 0x29c] | r3 = *(0x7ece8);
0x0007ea4a add r2, pc | r2 = 0xfd734;
0x0007ea4c ldr r5, [pc, 0x29c] |
0x0007ea4e ldr r3, [r2, r3] |
0x0007ea50 add r5, pc | r5 = 0xfd740;
0x0007ea52 ldr r3, [r3] | r3 = *(0xfd734);
0x0007ea54 str r3, [sp, 0x1d4] | var_1d4h = r3;
0x0007ea56 mov.w r3, 0 | r3 = 0;
0x0007ea5a cmp r0, 0 |
| if (r0 != 0) {
0x0007ea5c beq.w 0x7eca2 |
0x0007ea60 mov r7, r1 | r7 = r1;
0x0007ea62 cmp r1, 0 |
| if (r1 == 0) {
0x0007ea64 beq.w 0x7ecb6 | goto label_0;
| }
0x0007ea66 strh r7, [r4, 8] | *((r4 + 8)) = r7;
0x0007ea68 cmp.w r8, 0 |
| if (r8 == 0) {
0x0007ea6c beq.w 0x7ecca | goto label_1;
| }
0x0007ea70 add r4, sp, 0xc | r4 += var_ch;
0x0007ea72 mov r6, r0 | r6 = r0;
0x0007ea74 mov.w r2, 0x1c8 | r2 = 0x1c8;
0x0007ea78 movs r1, 0 | r1 = 0;
0x0007ea7a mov r0, r4 | r0 = r4;
0x0007ea7c blx 0x19190 | notify_access_from_string ();
0x0007ea80 ldr r3, [pc, 0x26c] | r3 = *(0x7ecf0);
0x0007ea82 movs r2, 0x69 | r2 = 0x69;
0x0007ea84 strb r2, [r4] | *(r4) = r2;
0x0007ea86 mov r0, r7 | r0 = r7;
0x0007ea88 movs r7, 0x49 | r7 = 0x49;
0x0007ea8a ldr r2, [pc, 0x268] |
0x0007ea8c ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ea8e mov r1, sb | r1 = sb;
0x0007ea90 strb r7, [r4, 0xc] | var_ch_2 = r7;
0x0007ea92 movs r7, 0x6a | r7 = 0x6a;
0x0007ea94 strb r7, [r4, 0x18] | var_18h = r7;
0x0007ea96 movs r7, 0x4a | r7 = 0x4a;
0x0007ea98 str r3, [r4, 4] | var_4h_2 = r3;
0x0007ea9a add r2, pc | r2 = 0xfd794;
0x0007ea9c str r3, [r4, 0x34] | var_34h = r3;
0x0007ea9e ldr r3, [r6, 0x14] | r3 = *((r6 + 0x14));
0x0007eaa0 strb.w r7, [r4, 0x24] | var_24h = r7;
0x0007eaa4 movs r7, 0x6e | r7 = 0x6e;
0x0007eaa6 strb.w r7, [r4, 0x30] | var_30h = r7;
0x0007eaaa movs r7, 0x4e | r7 = 0x4e;
0x0007eaac str r3, [r4, 8] | var_8h = r3;
0x0007eaae ldr r3, [r6, 0x10] | r3 = *((r6 + 0x10));
0x0007eab0 strb.w r7, [r4, 0x3c] | var_3ch = r7;
0x0007eab4 movs r7, 0x70 | r7 = 0x70;
0x0007eab6 strb.w r7, [r4, 0x48] | var_48h = r7;
0x0007eaba movs r7, 0x50 | r7 = 0x50;
0x0007eabc str r3, [r4, 0x38] | var_38h = r3;
0x0007eabe ldr r3, [pc, 0x238] |
0x0007eac0 strb.w r7, [r4, 0x54] | var_54h = r7;
0x0007eac4 movs r7, 0x66 | r7 = 0x66;
0x0007eac6 strb.w r7, [r4, 0x60] | var_60h = r7;
0x0007eaca movs r7, 0x63 | r7 = 0x63;
0x0007eacc add r3, pc | r3 = 0xfd7ca;
0x0007eace strb.w r7, [r4, 0x6c] | var_6ch = r7;
0x0007ead2 str r3, [r4, 0x10] | var_10h = r3;
0x0007ead4 movs r7, 0x72 | r7 = 0x72;
0x0007ead6 ldr r3, [pc, 0x224] |
0x0007ead8 strb.w r7, [r4, 0x78] | var_78h = r7;
0x0007eadc movs r7, 0x52 | r7 = 0x52;
0x0007eade strb.w r7, [r4, 0x84] | var_84h = r7;
0x0007eae2 movs r7, 0x43 | r7 = 0x43;
0x0007eae4 add r3, pc | r3 = 0xfd7e6;
0x0007eae6 strb.w r7, [r4, 0x90] | var_90h = r7;
0x0007eaea str r3, [r4, 0x1c] | var_1ch = r3;
0x0007eaec movs r7, 2 | r7 = 2;
0x0007eaee ldr r3, [pc, 0x210] |
0x0007eaf0 str.w r7, [r4, 0x98] | __asm ("str.w r7, [var_98h]");
0x0007eaf4 movs r7, 0x45 | r7 = 0x45;
0x0007eaf6 str.w r2, [r4, 0x94] | __asm ("str.w r2, [var_94h]");
0x0007eafa add r3, pc | r3 = 0xfd800;
0x0007eafc str r3, [r4, 0x28] | var_28h = r3;
0x0007eafe ldr r3, [pc, 0x204] |
0x0007eb00 add r3, pc | r3 = 0xfd80a;
0x0007eb02 str r3, [r4, 0x40] | var_40h = r3;
0x0007eb04 ldr r3, [pc, 0x200] |
0x0007eb06 add r3, pc | r3 = 0xfd812;
0x0007eb08 str r3, [r4, 0x4c] | var_4ch = r3;
0x0007eb0a ldr r3, [pc, 0x200] |
0x0007eb0c add r3, pc | r3 = 0xfd81e;
0x0007eb0e str r3, [r4, 0x58] | var_58h = r3;
0x0007eb10 ldr r3, [pc, 0x1fc] |
0x0007eb12 add r3, pc | r3 = 0xfd826;
0x0007eb14 str r3, [r4, 0x64] | var_64h = r3;
0x0007eb16 ldr r3, [pc, 0x1fc] |
0x0007eb18 add r3, pc | r3 = 0xfd832;
0x0007eb1a str r3, [r4, 0x70] | var_70h = r3;
0x0007eb1c ldr r3, [pc, 0x1f8] |
0x0007eb1e add r3, pc | r3 = 0xfd83a;
0x0007eb20 str r3, [r4, 0x7c] | var_7ch = r3;
0x0007eb22 ldr r3, [pc, 0x1f8] |
0x0007eb24 add r3, pc | r3 = 0xfd846;
0x0007eb26 str.w r3, [r4, 0x88] | __asm ("str.w r3, [var_88h]");
0x0007eb2a strb.w r7, [r4, 0x9c] | var_9ch = r7;
0x0007eb2e str.w r2, [r4, 0xa0] | __asm ("str.w r2, [var_a0h]");
0x0007eb32 str.w r2, [r4, 0xac] | __asm ("str.w r2, [var_ach]");
0x0007eb36 str.w r2, [r4, 0xb8] | __asm ("str.w r2, [var_b8h]");
0x0007eb38 movs r0, 0xb8 | r0 = 0xb8;
0x0007eb3a str.w r2, [r4, 0xc4] | __asm ("str.w r2, [var_c4h]");
0x0007eb3e movs r2, 4 | r2 = 4;
0x0007eb40 str.w r2, [r4, 0xa4] | __asm ("str.w r2, [var_a4h]");
0x0007eb44 movs r2, 0x4c | r2 = 0x4c;
0x0007eb46 strb.w r2, [r4, 0xa8] | var_a8h = r2;
0x0007eb4a movs r2, 3 | r2 = 3;
0x0007eb4c str.w r2, [r4, 0xb0] | __asm ("str.w r2, [var_b0h]");
0x0007eb50 movs r2, 0x53 | r2 = 0x53;
0x0007eb52 strb.w r2, [r4, 0xb4] | var_b4h = r2;
0x0007eb54 movs r0, 0xb4 | r0 = 0xb4;
0x0007eb56 movs r2, 1 | r2 = 1;
0x0007eb58 ldr r3, [pc, 0x1c4] | r3 = *(0x7ed20);
0x0007eb5a str.w r2, [r4, 0xbc] | __asm ("str.w r2, [var_bch]");
0x0007eb5e movs r2, 0x74 | r2 = 0x74;
0x0007eb60 strb.w r2, [r4, 0xc0] | var_c0h = r2;
0x0007eb64 movs r2, 0x68 | r2 = 0x68;
0x0007eb66 strb.w r2, [r4, 0xcc] | var_cch = r2;
0x0007eb6a movs r2, 0x73 | r2 = 0x73;
0x0007eb6c ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007eb6e strb.w r2, [r4, 0xd8] | var_d8h = r2;
0x0007eb72 movs r2, 0x61 | r2 = 0x61;
0x0007eb74 str.w r3, [r4, 0xd0] | __asm ("str.w r3, [var_d0h]");
0x0007eb78 ldr r3, [pc, 0x1a8] | r3 = *(0x7ed24);
0x0007eb7a ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007eb7c strb.w r2, [r4, 0xe4] | var_e4h = r2;
0x0007eb80 movs r2, 0x41 | r2 = 0x41;
0x0007eb82 str.w r3, [r4, 0xdc] | __asm ("str.w r3, [var_dch]");
0x0007eb86 ldr r3, [pc, 0x1a0] | r3 = *(0x7ed2a);
0x0007eb88 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007eb8a strb.w r2, [r4, 0xf0] | var_f0h = r2;
0x0007eb8e movs r2, 0x62 | r2 = 0x62;
0x0007eb90 str.w r3, [r4, 0xe8] | __asm ("str.w r3, [var_e8h]");
0x0007eb94 ldr r3, [pc, 0x194] | r3 = *(0x7ed2c);
0x0007eb96 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007eb98 strb.w r2, [r4, 0xfc] | var_fch = r2;
0x0007eb9c movs r2, 0x42 | r2 = 0x42;
0x0007eb9e str.w r3, [r4, 0xf4] | __asm ("str.w r3, [var_f4h]");
0x0007eba2 ldr r3, [pc, 0x18c] | r3 = *(0x7ed32);
0x0007eba4 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007eba6 strb.w r2, [r4, 0x108] | var_108h = r2;
0x0007ebaa movs r2, 0x48 | r2 = 0x48;
0x0007ebac str.w r3, [r4, 0x100] | __asm ("str.w r3, [var_100h]");
0x0007ebb0 ldr r3, [pc, 0x180] | r3 = *(0x7ed34);
0x0007ebb2 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebb4 strb.w r2, [r4, 0x114] | var_114h = r2;
0x0007ebb8 movs r2, 0x6c | r2 = 0x6c;
0x0007ebba str.w r3, [r4, 0x10c] | __asm ("str.w r3, [var_10ch]");
0x0007ebbe ldr r3, [pc, 0x178] | r3 = *(0x7ed3a);
0x0007ebc0 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebc2 strb.w r2, [r4, 0x120] | var_120h = r2;
0x0007ebc6 movs r2, 0x6d | r2 = 0x6d;
0x0007ebc8 str.w r3, [r4, 0x118] | __asm ("str.w r3, [var_118h]");
0x0007ebcc ldr r3, [pc, 0x16c] | r3 = *(0x7ed3c);
0x0007ebce ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebd0 strb.w r2, [r4, 0x12c] | var_12ch = r2;
0x0007ebd4 movs r2, 0x4d | r2 = 0x4d;
0x0007ebd6 str.w r3, [r4, 0x124] | __asm ("str.w r3, [var_124h]");
0x0007ebda ldr r3, [pc, 0x164] | r3 = *(0x7ed42);
0x0007ebdc ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebde strb.w r2, [r4, 0x138] | var_138h = r2;
0x0007ebe2 movs r2, 0x6f | r2 = 0x6f;
0x0007ebe4 str.w r3, [r4, 0x130] | __asm ("str.w r3, [var_130h]");
0x0007ebe8 ldr r3, [pc, 0x158] | r3 = *(0x7ed44);
0x0007ebea ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebec strb.w r2, [r4, 0x144] | var_144h = r2;
0x0007ebf0 movs r2, 0x76 | r2 = 0x76;
0x0007ebf2 str.w r3, [r4, 0x13c] | __asm ("str.w r3, [var_13ch]");
0x0007ebf6 ldr r3, [pc, 0x150] | r3 = *(0x7ed4a);
0x0007ebf8 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ebfa strb.w r2, [r4, 0x150] | var_150h = r2;
0x0007ebfe movs r2, 0x77 | r2 = 0x77;
0x0007ec00 str.w r3, [r4, 0x148] | __asm ("str.w r3, [var_148h]");
0x0007ec04 ldr r3, [pc, 0x144] | r3 = *(0x7ed4c);
0x0007ec06 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec08 strb.w r2, [r4, 0x15c] | var_15ch = r2;
0x0007ec0c movs r2, 0x57 | r2 = 0x57;
0x0007ec0e str.w r3, [r4, 0x154] | __asm ("str.w r3, [var_154h]");
0x0007ec12 ldr r3, [pc, 0x13c] | r3 = *(0x7ed52);
0x0007ec14 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec16 strb.w r2, [r4, 0x168] | var_168h = r2;
0x0007ec1a movs r2, 0x67 | r2 = 0x67;
0x0007ec1c str.w r3, [r4, 0x160] | __asm ("str.w r3, [var_160h]");
0x0007ec20 ldr r3, [pc, 0x130] | r3 = *(0x7ed54);
0x0007ec22 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec24 strb.w r2, [r4, 0x174] | var_174h = r2;
0x0007ec28 movs r2, 0x47 | r2 = 0x47;
0x0007ec2a str.w r3, [r4, 0x16c] | __asm ("str.w r3, [var_16ch]");
0x0007ec2e ldr r3, [pc, 0x128] | r3 = *(0x7ed5a);
0x0007ec30 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec32 strb.w r2, [r4, 0x180] | var_180h = r2;
0x0007ec36 movs r2, 0x75 | r2 = 0x75;
0x0007ec38 str.w r3, [r4, 0x178] | __asm ("str.w r3, [var_178h]");
0x0007ec3c ldr r3, [pc, 0x11c] | r3 = *(0x7ed5c);
0x0007ec3e ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec40 strb.w r2, [r4, 0x18c] | var_18ch = r2;
0x0007ec44 movs r2, 0x55 | r2 = 0x55;
0x0007ec46 str.w r3, [r4, 0x184] | __asm ("str.w r3, [var_184h]");
0x0007ec4a ldr r3, [pc, 0x114] | r3 = *(0x7ed62);
0x0007ec4c ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec4e strb.w r2, [r4, 0x198] | var_198h = r2;
0x0007ec52 movs r2, 0x54 | r2 = 0x54;
0x0007ec54 str.w r3, [r4, 0x190] | __asm ("str.w r3, [var_190h]");
0x0007ec58 ldr r3, [pc, 0x108] | r3 = *(0x7ed64);
0x0007ec5a ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec5c str.w r3, [r4, 0x19c] | __asm ("str.w r3, [var_19ch]");
0x0007ec5e adds r1, 0x9c | r1 += 0x9c;
0x0007ec60 ldr r3, [pc, 0x104] | r3 = *(0x7ed68);
0x0007ec62 strb.w r2, [r4, 0x1a4] | var_1a4h = r2;
0x0007ec66 movs r2, 0x56 | r2 = 0x56;
0x0007ec68 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec6a strb.w r2, [r4, 0x1b0] | var_1b0h = r2;
0x0007ec6e mov r2, r4 | r2 = r4;
0x0007ec70 str.w r3, [r4, 0x1a8] | __asm ("str.w r3, [var_1a8h]");
0x0007ec74 ldr r3, [pc, 0xf4] | r3 = *(0x7ed6c);
0x0007ec76 ldr r3, [r5, r3] | r3 = *((r5 + r3));
0x0007ec78 str.w r8, [sp, 4] | __asm ("str.w r8, [var_4h]");
0x0007ec7c str.w r3, [r4, 0x1b4] | __asm ("str.w r3, [var_1b4h]");
0x0007ec80 movs r3, 0 | r3 = 0;
0x0007ec82 str r6, [sp] | *(sp) = r6;
0x0007ec84 blx 0x18518 | specifier_printf ()
0x0007ec86 vmov s19, s20, r4, r8 | __asm ("vmov s19, s20, r4, r8");
0x0007ec8a ldr r3, [pc, 0x5c] | r3 = *(0x7ecea);
0x0007ec8c add r2, pc | r2 += pc;
0x0007ec8e ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x0007ec90 ldr r2, [r3] | r2 = *(0x7ecea);
0x0007ec92 ldr r3, [sp, 0x1d4] | r3 = var_1d4h;
0x0007ec94 eors r2, r3 | r2 ^= r3;
0x0007ec96 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0007ec9a bne 0x7ecde | goto label_2;
| }
0x0007ec9c add sp, 0x1dc |
0x0007ec9e pop.w {r4, r5, r6, r7, r8, sb, pc} |
| }
0x0007eca2 ldr r1, [pc, 0xd0] |
0x0007eca4 movs r2, 0xe4 | r2 = 0xe4;
0x0007eca6 ldr r3, [pc, 0xd0] |
0x0007eca8 ldr r0, [pc, 0xd0] |
0x0007ecaa add r1, pc | r1 = 0xfda24;
0x0007ecac add r3, pc | r3 = 0xfda2a;
0x0007ecae adds r1, 7 | r1 += 7;
0x0007ecb0 add r0, pc | r0 = 0xfda30;
0x0007ecb2 blx 0x19e60 | fcn_00019e60 ();
| label_0:
0x0007ecb6 ldr r1, [pc, 0xc8] |
0x0007ecb8 movs r2, 0xe5 | r2 = 0xe5;
0x0007ecba ldr r3, [pc, 0xc8] |
0x0007ecbc ldr r0, [pc, 0xc8] |
0x0007ecbe add r1, pc | r1 = 0xfda44;
0x0007ecc0 add r3, pc | r3 = 0xfda4a;
0x0007ecc2 adds r1, 7 | r1 += 7;
0x0007ecc4 add r0, pc | r0 = 0xfda50;
0x0007ecc6 blx 0x19e60 | fcn_00019e60 ();
0x0007ecc8 invalid |
| label_1:
0x0007ecca ldr r1, [pc, 0xc0] |
0x0007eccc movs r2, 0xe6 | r2 = 0xe6;
0x0007ecce ldr r3, [pc, 0xc0] |
0x0007ecd0 ldr r0, [pc, 0xc0] |
0x0007ecd2 add r1, pc | r1 = 0xfda64;
0x0007ecd4 add r3, pc | r3 = 0xfda6a;
0x0007ecd6 adds r1, 7 | r1 += 7;
0x0007ecd8 add r0, pc | r0 = 0xfda70;
0x0007ecda blx 0x19e60 | fcn_00019e60 ();
| label_2:
0x0007ecde blx 0x1a700 | fcn_0001a700 ();
0x0007ece2 nop |
0x0007ece4 asrs r2, r4, 9 | r2 = r4 >> 9;
0x0007ece6 movs r3, r1 | r3 = r1;
0x0007ece8 asrs r0, r6, 9 | r0 = r6 >> 9;
0x0007ecea movs r0, r0 |
0x0007ecec asrs r4, r3, 9 | r4 = r3 >> 9;
0x0007ecee movs r3, r1 | r3 = r1;
0x0007ecf0 asrs r4, r7, 8 | r4 = r7 >> 8;
0x0007ecf2 movs r0, r0 |
0x0007ecf4 invalid |
| }
[*] Function printf used 3 times systemd