[*] Binary protection state of systemd-socket-activate
Full RELRO Canary found NX enabled PIE enabled RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of systemd-socket-activate
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemd-socket-activate @ 0x1eb4 */
| #include <stdint.h>
|
; (fcn) fcn.00001eb4 () | void fcn_00001eb4 (int16_t arg_60h, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_1ch;
| int16_t var_20h;
| int16_t var_24h;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_30h;
| int16_t var_34h;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
| label_8:
0x00001000 bx pc | return void (*pc)() ();
0x00001eb4 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00001eb8 mov sb, r2 | sb = r2;
0x00001eba sub sp, 0x3c |
0x00001ebc ldr.w r2, [pc, 0x4a8] | r2 = *(0x00002368);
0x00001ec0 str r3, [sp, 0x14] | var_14h = r3;
0x00001ec2 ldr.w r3, [pc, 0x4a8] |
0x00001ec6 add r2, pc | r2 += pc;
0x00001ec8 strd r1, r0, [sp, 0x18] | __asm ("strd r1, r0, [var_18h]");
0x00001ecc ldr.w fp, [sp, 0x60] | fp = *(arg_60h);
0x00001ed0 ldr r3, [r2, r3] | r3 = *((r2 + r3));
0x00001ed2 ldr r3, [r3] | r3 = *(0x236e);
0x00001ed4 str r3, [sp, 0x34] | var_34h = r3;
0x00001ed6 mov.w r3, 0 | r3 = 0;
0x00001eda ldr.w r3, [pc, 0x494] | r3 = *(0x00002370);
0x00001ede add r3, pc | r3 += pc;
0x00001ee0 ldrb r5, [r3] | r5 = *(r3);
0x00001ee2 cmp.w fp, 1 |
0x00001ee6 ite eq |
| if (fp != 1) {
0x00001ee8 moveq r5, 0 | r5 = 0;
| }
| if (fp == 1) {
0x00001eea andne r5, r5, 1 | r5 &= 1;
| }
0x00001eee cmp r5, 0 |
| if (r5 != 0) {
0x00001ef0 bne.w 0x2152 | goto label_9;
| }
0x00001ef4 ldr.w r3, [pc, 0x47c] | r3 = *(0x00002374);
0x00001ef8 add r3, pc | r3 += pc;
0x00001efa ldr r6, [r3] | r6 = *(r3);
0x00001efc mov r0, r6 | r0 = r6;
0x00001efe blx 0xf40 | fcn_00000f40 ();
0x00001f02 adds r0, 8 | r0 += 8;
0x00001f04 movs r1, 4 | r1 = 4;
0x00001f06 cmp r0, 1 |
0x00001f08 it lo |
| if (r0 >= 1) {
0x00001f0a movlo r0, 1 | r0 = 1;
| }
0x00001f0c blx 0xe4c | r0 = calloc (r0, r1);
0x00001f10 mov r8, r0 | r8 = r0;
0x00001f12 cmp r0, 0 |
| if (r0 == 0) {
0x00001f14 beq.w 0x233c | goto label_10;
| }
0x00001f16 strh r2, [r2, 0x10] | *((r2 + 0x10)) = r2;
0x00001f18 cmp r6, 0 |
| if (r6 == 0) {
0x00001f1a beq.w 0x22de | goto label_11;
| }
0x00001f1e ldr.w sl, [pc, 0x458] |
0x00001f22 subs r6, 4 | r6 -= 4;
0x00001f24 add sl, pc | sl = 0x42a2;
| label_0:
0x00001f26 ldr r7, [r6, 4]! | r7 = *((r6 += 4));
| if (r7 == 0) {
0x00001f2a cbz r7, 0x1f58 | goto label_6;
| }
| do {
0x00001f2c movs r1, 0x3d | r1 = 0x3d;
0x00001f2e mov r0, r7 | r0 = r7;
0x00001f30 blx 0xe40 | r0 = strchr (r0, r1);
0x00001f34 mov r4, r0 | r4 = r0;
0x00001f36 mov r0, r7 | r0 = r7;
0x00001f38 cmp r4, 0 |
| if (r4 == 0) {
0x00001f3a beq.w 0x20dc | goto label_12;
| }
0x00001f3e blx 0xf58 | r0 = fcn_00000f58 ();
0x00001f42 mov r4, r0 | r4 = r0;
0x00001f44 cmp r0, 0 |
| if (r0 == 0) {
0x00001f46 beq.w 0x22fa | goto label_13;
| }
0x00001f4a str.w r0, [r8, r5, lsl 2] | __asm ("str.w r0, [r8, r5, lsl 2]");
0x00001f4e adds r5, 1 | r5++;
0x00001f50 ldr r7, [r6, 4]! | r7 = *((r6 += 4));
0x00001f54 cmp r7, 0 |
0x00001f56 bne 0x1f2c |
| } while (r7 != 0);
| label_6:
0x00001f58 ldr.w r3, [pc, 0x420] |
0x00001f5c add r6, sp, 0x20 | r6 += var_20h;
0x00001f5e ldr.w r4, [pc, 0x420] |
0x00001f62 add r3, pc | r3 = 0x42e2;
0x00001f64 str r3, [sp, 0x24] | var_24h = r3;
0x00001f66 add r4, pc | r4 = 0x42ec;
0x00001f68 ldr.w r3, [pc, 0x418] |
0x00001f6c mov r1, r4 | r1 = r4;
0x00001f6e str r4, [sp, 0x20] | var_20h = r4;
0x00001f70 add r3, pc | r3 = 0x42f8;
0x00001f72 str r3, [sp, 0x28] | var_28h = r3;
0x00001f74 ldr.w r3, [pc, 0x410] |
0x00001f78 add r3, pc | r3 = 0x4304;
0x00001f7a str r3, [sp, 0x2c] | var_2ch = r3;
0x00001f7c movs r3, 0 | r3 = 0;
0x00001f7e str r3, [sp, 0x30] | var_30h = r3;
| do {
0x00001f80 mov r0, sb | r0 = sb;
0x00001f82 blx 0xdd4 | r0 = strv_find_prefix ();
| if (r0 != 0) {
0x00001f86 cbz r0, 0x1f98 |
0x00001f88 blx 0xf58 | fcn_00000f58 ();
0x00001f8c str.w r0, [r8, r5, lsl 2] | __asm ("str.w r0, [r8, r5, lsl 2]");
0x00001f90 cmp r0, 0 |
| if (r0 == 0) {
0x00001f92 beq.w 0x230e | goto label_14;
| }
0x00001f96 adds r5, 1 | r5++;
| }
0x00001f98 ldr r1, [r6, 4]! | r1 = *((r6 += 4));
0x00001f9c cmp r1, 0 |
0x00001f9e bne 0x1f80 |
| } while (r1 != 0);
0x00001fa0 ldr r3, [pc, 0x3e8] |
0x00001fa2 mov r4, r1 | r4 = r1;
0x00001fa4 add r3, pc | r3 = 0x4334;
0x00001fa6 ldrb r3, [r3] | r3 = *(r3);
0x00001fa8 cmp r3, 0 |
| if (r3 != 0) {
0x00001faa bne.w 0x2116 | goto label_15;
| }
0x00001fae ldr r3, [sp, 0x14] | r3 = var_14h;
0x00001fb0 cmp r3, 3 |
| if (r3 != 3) {
0x00001fb2 beq 0x1fd0 |
0x00001fb4 cmp.w fp, 1 |
| if (fp != 1) {
0x00001fb8 bne.w 0x22b6 | goto label_16;
| }
0x00001fbc ldr r0, [sp, 0x14] | r0 = var_14h;
0x00001fbe movs r1, 3 | r1 = 3;
0x00001fc0 blx 0xfa0 | r0 = fcn_00000fa0 ();
0x00001fc4 cmp r0, 0 |
| if (r0 < 0) {
0x00001fc6 blt.w 0x2176 | goto label_17;
| }
0x00001fca ldr r0, [sp, 0x14] | r0 = var_14h;
0x00001fcc blx 0xe7c | safe_close ();
| }
0x00001fd0 ldr r2, [pc, 0x3bc] |
0x00001fd2 lsls r5, r5, 2 | r5 <<= 2;
0x00001fd4 mov r3, fp | r3 = fp;
0x00001fd6 add.w r6, r8, r5 | r6 = r8 + r5;
0x00001fda movs r1, 1 | r1 = 1;
0x00001fdc add r2, pc | r2 = 0x4370;
0x00001fde mov r0, r6 | r0 = r6;
0x00001fe0 blx 0xec4 | r0 = asprintf_chk ()
0x00001fe4 cmp r0, 0 |
| if (r0 < 0) {
0x00001fe6 blt.w 0x2244 | goto label_18;
| }
0x00001fea blx 0xe58 | getpid_cached ();
0x00001fee ldr r2, [pc, 0x3a4] |
0x00001ff0 adds r5, 4 | r5 += 4;
0x00001ff2 add r5, r8 | r5 += r8;
0x00001ff4 mov r3, r0 | r3 = r0;
0x00001ff6 movs r1, 1 | r1 = 1;
0x00001ff8 mov r0, r5 | r0 = r5;
0x00001ffa add r2, pc | r2 = 0x4394;
0x00001ffc blx 0xec4 | r0 = asprintf_chk ()
0x00002000 cmp r0, 0 |
| if (r0 < 0) {
0x00002002 blt.w 0x22ca | goto label_19;
| }
0x00002006 ldr r7, [pc, 0x390] |
0x00002008 add r7, pc | r7 = 0x43a6;
0x0000200a ldr.w sb, [r7] | sb = *(0x43a6);
0x0000200e cmp.w sb, 0 |
| if (sb == 0) {
0x00002012 beq 0x2082 | goto label_20;
| }
0x00002014 mov r0, sb | r0 = sb;
0x00002016 blx 0xf40 | r0 = fcn_00000f40 ();
0x0000201a cmp r0, 1 |
0x0000201c mov r5, r0 | r5 = r0;
| if (r0 == 1) {
0x0000201e beq.w 0x2280 | goto label_21;
| }
0x00002022 cmp fp, r0 |
| if (fp != r0) {
0x00002024 beq 0x2052 |
0x00002026 blx 0xe10 | r0 = log_get_max_level ();
0x0000202a cmp r0, 3 |
| if (r0 <= 3) {
0x0000202c ble 0x2052 | goto label_4;
| }
0x0000202e ldr r3, [pc, 0x36c] |
0x00002030 movs r1, 0 | r1 = 0;
0x00002032 ldr r2, [pc, 0x36c] |
0x00002034 movs r0, 4 | r0 = 4;
0x00002036 strd r5, fp, [sp, 8] | __asm ("strd r5, fp, [sp, 8]");
0x0000203a add r3, pc | r3 = 0x43dc;
0x0000203c str r3, [sp, 4] | var_4h = r3;
0x0000203e add r2, pc | r2 = 0x43e4;
0x00002040 ldr r3, [pc, 0x360] |
0x00002042 adds r2, 7 | r2 += 7;
0x00002044 add r3, pc | r3 = 0x43ec;
0x00002046 str r3, [sp] | *(sp) = r3;
0x00002048 movs r3, 0xdf | r3 = 0xdf;
0x0000204a blx 0xf88 | fcn_00000f88 ();
0x0000204e ldr.w sb, [r7] | sb = *(r7);
| }
| label_4:
0x00002052 ldr r1, [pc, 0x354] |
0x00002054 movs r3, 0 | r3 = 0;
0x00002056 mov r0, sb | r0 = sb;
0x00002058 mov r2, r3 | r2 = r3;
0x0000205a add r1, pc | r1 = 0x4408;
0x0000205c blx 0xd98 | r0 = strv_join_full ();
0x00002060 mov r5, r0 | r5 = r0;
0x00002062 cmp r0, 0 |
| if (r0 == 0) {
0x00002064 beq.w 0x22e6 | goto label_22;
| }
0x00002068 ldr r0, [pc, 0x340] |
0x0000206a movs r2, 0 | r2 = 0;
0x0000206c mov r1, r5 | r1 = r5;
0x0000206e add r0, pc | r0 = 0x441e;
0x00002070 blx 0xe70 | r0 = strjoin_real ();
0x00002074 cmp r0, 0 |
| if (r0 == 0) {
0x00002076 beq.w 0x222a | goto label_23;
| }
0x0000207a str r0, [r6, 8] | *((r6 + 8)) = r0;
0x0000207c mov r0, r5 | r0 = r5;
0x0000207e blx 0xeac | free (r0);
| do {
| label_20:
0x00002082 ldr r1, [pc, 0x32c] |
0x00002084 movs r3, 0 | r3 = 0;
0x00002086 ldr r0, [sp, 0x18] | r0 = var_18h;
0x00002088 mov r2, r3 | r2 = r3;
0x0000208a add r1, pc | r1 = 0x4440;
0x0000208c blx 0xd98 | r0 = strv_join_full ();
0x00002090 mov r4, r0 | r4 = r0;
0x00002092 cmp r0, 0 |
| if (r0 == 0) {
0x00002094 beq.w 0x226c | goto label_24;
| }
0x00002098 blx 0xe10 | r0 = log_get_max_level ();
0x0000209c cmp r0, 5 |
| if (r0 > 5) {
0x0000209e bgt.w 0x21ca | goto label_25;
| }
| label_2:
0x000020a2 ldrd r1, r0, [sp, 0x18] | __asm ("ldrd r1, r0, [var_18h]");
0x000020a6 mov r2, r8 | r2 = r8;
0x000020a8 blx 0xe64 | execvpe ();
0x000020ac blx 0xe10 | r0 = log_get_max_level ();
0x000020b0 cmp r0, 2 |
| if (r0 > 2) {
0x000020b2 bgt 0x21a2 | goto label_26;
| }
| label_1:
0x000020b4 mov r0, r4 | r0 = r4;
0x000020b6 blx 0xeac | free (r0);
0x000020ba ldr r2, [pc, 0x2f8] |
0x000020bc ldr r3, [pc, 0x2ac] | r3 = *(0x236c);
0x000020be add r2, pc | r2 = 0x4478;
0x000020c0 ldr r3, [r2, r3] | r3 = *(0x4478);
0x000020c2 ldr r2, [r3] | r2 = *(0x4478);
0x000020c4 ldr r3, [sp, 0x34] | r3 = var_34h;
0x000020c6 eors r2, r3 | r2 ^= r3;
0x000020c8 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x000020cc bne.w 0x2338 | goto label_27;
| }
0x000020d0 mov r0, r8 | r0 = r8;
0x000020d2 add sp, 0x3c |
0x000020d4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x000020d8 b.w 0xef4 | void (*0xef4)() ();
| label_12:
0x000020dc mov r2, r4 | r2 = r4;
0x000020de mov r1, sl | r1 = sl;
0x000020e0 blx 0xe70 | r0 = strjoin_real ();
0x000020e4 mov r7, r0 | r7 = r0;
0x000020e6 cmp r0, 0 |
| if (r0 == 0) {
0x000020e8 beq.w 0x2210 | goto label_28;
| }
0x000020ec mov r1, r0 | r1 = r0;
0x000020ee mov r0, sb | r0 = sb;
0x000020f0 blx 0xdd4 | r0 = strv_find_prefix ();
| if (r0 != 0) {
0x000020f4 cbz r0, 0x210e |
0x000020f6 blx 0xf58 | fcn_00000f58 ();
0x000020fa str.w r0, [r8, r5, lsl 2] | __asm ("str.w r0, [r8, r5, lsl 2]");
0x000020fe cmp r0, 0 |
| if (r0 == 0) {
0x00002100 beq.w 0x2324 | goto label_29;
| }
0x00002104 mov r0, r7 | r0 = r7;
0x00002106 adds r5, 1 | r5++;
0x00002108 blx 0xeac | free (r0);
0x0000210c b 0x1f26 | goto label_0;
| }
0x0000210e mov r0, r7 | r0 = r7;
0x00002110 blx 0xeac | free (r0);
0x00002114 b 0x1f26 | goto label_0;
| label_15:
0x00002116 cmp.w fp, 1 |
| if (fp != 1) {
0x0000211a bne.w 0x2258 | goto label_30;
| }
0x0000211e ldr r1, [sp, 0x14] | r1 = var_14h;
0x00002120 movs r2, 2 | r2 = 2;
0x00002122 mov r0, r1 | r0 = r1;
0x00002124 blx 0xd80 | r0 = rearrange_stdio ();
0x00002128 subs r5, r0, 0 | r5 = r0 - 0;
0x0000212a bge 0x2082 |
| } while (r5 >= r0);
0x0000212c blx 0xe10 | r0 = log_get_max_level ();
0x00002130 cmp r0, 2 |
| if (r0 <= 2) {
0x00002132 ble 0x20b4 | goto label_1;
| }
0x00002134 ldr r3, [pc, 0x280] |
0x00002136 mov r1, r5 | r1 = r5;
0x00002138 ldr r2, [pc, 0x280] |
0x0000213a movs r0, 3 | r0 = 3;
0x0000213c add r3, pc | r3 = 0x44f8;
0x0000213e str r3, [sp, 4] | var_4h = r3;
0x00002140 add r2, pc | r2 = 0x4500;
0x00002142 ldr r3, [pc, 0x27c] |
0x00002144 adds r2, 7 | r2 += 7;
0x00002146 add r3, pc | r3 = 0x450c;
0x00002148 str r3, [sp] | *(sp) = r3;
0x0000214a movs r3, 0xc0 | r3 = 0xc0;
0x0000214c blx 0xf88 | fcn_00000f88 ();
0x00002150 b 0x20b4 | goto label_1;
| label_9:
0x00002152 blx 0xe10 | r0 = log_get_max_level ();
0x00002156 cmp r0, 2 |
| if (r0 > 2) {
0x00002158 bgt 0x21ee | goto label_31;
| }
| label_3:
0x0000215a ldr r2, [pc, 0x268] |
0x0000215c ldr r3, [pc, 0x20c] | r3 = *(0x236c);
0x0000215e add r2, pc | r2 = 0x4528;
0x00002160 ldr r3, [r2, r3] | r3 = *(0x4528);
0x00002162 ldr r2, [r3] | r2 = *(0x4528);
0x00002164 ldr r3, [sp, 0x34] | r3 = var_34h;
0x00002166 eors r2, r3 | r2 ^= r3;
0x00002168 mov.w r3, 0 | r3 = 0;
| if (r2 != r3) {
0x0000216c bne.w 0x2338 | goto label_27;
| }
0x00002170 add sp, 0x3c |
0x00002172 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
| label_17:
0x00002176 blx 0xff4 | r0 = fcn_00000ff4 ();
0x0000217a ldr r5, [r0] | r5 = *(r0);
0x0000217c blx 0xe10 | r0 = log_get_max_level ();
0x00002180 cmp r0, 2 |
| if (r0 <= 2) {
0x00002182 ble 0x20b4 | goto label_1;
| }
0x00002184 ldr r3, [pc, 0x240] |
0x00002186 mov r1, r5 | r1 = r5;
0x00002188 ldr r2, [pc, 0x240] |
0x0000218a movs r0, 3 | r0 = 3;
0x0000218c add r3, pc | r3 = 0x4558;
0x0000218e str r3, [sp, 4] | var_4h = r3;
0x00002190 add r2, pc | r2 = 0x4560;
0x00002192 ldr r3, [pc, 0x23c] |
0x00002194 adds r2, 7 | r2 += 7;
0x00002196 add r3, pc | r3 = 0x456c;
0x00002198 str r3, [sp] | *(sp) = r3;
0x0000219a movs r3, 0xc7 | r3 = 0xc7;
0x0000219c blx 0xf88 | fcn_00000f88 ();
0x000021a0 b 0x20b4 | goto label_1;
| label_26:
0x000021a2 blx 0xff4 | fcn_00000ff4 ();
0x000021a6 ldr r3, [sp, 0x1c] | r3 = var_1ch;
0x000021a8 ldr r1, [r0] | r1 = *(r0);
0x000021aa movs r0, 3 | r0 = 3;
0x000021ac ldr r2, [pc, 0x224] |
0x000021ae str r3, [sp, 8] | var_8h = r3;
0x000021b0 ldr r3, [pc, 0x224] |
0x000021b2 add r2, pc | r2 = 0x458a;
0x000021b4 str r4, [sp, 0xc] | var_ch = r4;
0x000021b6 adds r2, 7 | r2 += 7;
0x000021b8 add r3, pc | r3 = 0x4594;
0x000021ba str r3, [sp, 4] | var_4h = r3;
0x000021bc ldr r3, [pc, 0x21c] |
0x000021be add r3, pc | r3 = 0x459e;
0x000021c0 str r3, [sp] | *(sp) = r3;
0x000021c2 movs r3, 0xf4 | r3 = 0xf4;
0x000021c4 blx 0xf88 | fcn_00000f88 ();
0x000021c8 b 0x20b4 | goto label_1;
| label_25:
0x000021ca ldr r3, [sp, 0x1c] | r3 = var_1ch;
0x000021cc movs r1, 0 | r1 = 0;
0x000021ce ldr r2, [pc, 0x210] |
0x000021d0 movs r0, 6 | r0 = 6;
0x000021d2 str r4, [sp, 0xc] | var_ch = r4;
0x000021d4 str r3, [sp, 8] | var_8h = r3;
0x000021d6 ldr r3, [pc, 0x20c] |
0x000021d8 add r2, pc | r2 = 0x45be;
0x000021da adds r2, 7 | r2 += 7;
0x000021dc add r3, pc | r3 = 0x45c6;
0x000021de str r3, [sp, 4] | var_4h = r3;
0x000021e0 ldr r3, [pc, 0x204] |
0x000021e2 add r3, pc | r3 = 0x45ce;
0x000021e4 str r3, [sp] | *(sp) = r3;
0x000021e6 movs r3, 0xf1 | r3 = 0xf1;
0x000021e8 blx 0xf88 | fcn_00000f88 ();
0x000021ec b 0x20a2 | goto label_2;
| label_31:
0x000021ee ldr r2, [pc, 0x1fc] |
0x000021f0 movs r1, 0x16 | r1 = 0x16;
0x000021f2 ldr r4, [pc, 0x1fc] |
0x000021f4 movs r3, 0x85 | r3 = 0x85;
0x000021f6 ldr r0, [pc, 0x1fc] |
0x000021f8 movt r1, 0x4000 | r1 = (r1 & 0xFFFF) | 0x40000000;
0x000021fc add r2, pc | r2 = 0x45ee;
0x000021fe add r4, pc | r4 = 0x45f4;
0x00002200 adds r2, 7 | r2 += 7;
0x00002202 add r0, pc | r0 = 0x45fc;
0x00002204 strd r0, r4, [sp] | __asm ("strd r0, r4, [sp]");
0x00002208 movs r0, 3 | r0 = 3;
0x0000220a blx 0xf88 | fcn_00000f88 ();
0x0000220e b 0x215a | goto label_3;
| label_28:
0x00002210 ldr r1, [pc, 0x1e4] |
0x00002212 movs r2, 0x9f | r2 = 0x9f;
0x00002214 ldr r3, [pc, 0x1e4] |
0x00002216 movs r0, 3 | r0 = 3;
0x00002218 add r1, pc | r1 = 0x4614;
0x0000221a add r3, pc | r3 = 0x461a;
0x0000221c adds r1, 7 | r1 += 7;
0x0000221e blx 0x1004 | fcn_00001004 ();
| label_7:
0x00002222 mov r0, r7 | r0 = r7;
0x00002224 blx 0xeac | free (r0);
0x00002228 b 0x20b4 | goto label_1;
| label_23:
0x0000222a ldr r1, [pc, 0x1d4] |
0x0000222c movs r2, 0xe7 | r2 = 0xe7;
0x0000222e ldr r3, [pc, 0x1d4] |
0x00002230 movs r0, 3 | r0 = 3;
0x00002232 add r1, pc | r1 = 0x4638;
0x00002234 add r3, pc | r3 = 0x463e;
0x00002236 adds r1, 7 | r1 += 7;
0x00002238 blx 0x1004 | fcn_00001004 ();
| label_5:
0x0000223c mov r0, r5 | r0 = r5;
0x0000223e blx 0xeac | free (r0);
0x00002242 b 0x20b4 | goto label_1;
| label_18:
0x00002244 ldr r1, [pc, 0x1c0] |
0x00002246 movs r2, 0xcd | r2 = 0xcd;
0x00002248 ldr r3, [pc, 0x1c0] |
0x0000224a movs r0, 3 | r0 = 3;
0x0000224c add r1, pc | r1 = 0x4658;
0x0000224e add r3, pc | r3 = 0x465e;
0x00002250 adds r1, 7 | r1 += 7;
0x00002252 blx 0x1004 | fcn_00001004 ();
0x00002256 b 0x20b4 | goto label_1;
| label_30:
0x00002258 ldr r1, [pc, 0x1b4] |
0x0000225a movs r2, 0xbc | r2 = 0xbc;
0x0000225c ldr r3, [pc, 0x1b4] |
0x0000225e ldr r0, [pc, 0x1b8] |
0x00002260 add r1, pc | r1 = 0x4674;
0x00002262 add r3, pc | r3 = 0x467a;
0x00002264 adds r1, 7 | r1 += 7;
0x00002266 add r0, pc | r0 = 0x4684;
0x00002268 blx 0xf04 | fcn_00000f04 ();
| label_24:
0x0000226c ldr r1, [pc, 0x1ac] |
0x0000226e movs r2, 0xef | r2 = 0xef;
0x00002270 ldr r3, [pc, 0x1ac] |
0x00002272 movs r0, 3 | r0 = 3;
0x00002274 add r1, pc | r1 = 0x4694;
0x00002276 add r3, pc | r3 = 0x469a;
0x00002278 adds r1, 7 | r1 += 7;
0x0000227a blx 0x1004 | fcn_00001004 ();
0x0000227e b 0x20b4 | goto label_1;
| label_21:
0x00002280 cmp.w fp, 1 |
| if (fp == 1) {
0x00002284 beq.w 0x2052 | goto label_4;
| }
0x00002288 mov r3, sb | r3 = sb;
0x0000228a b 0x2294 |
| while (r0 >= 0) {
0x0000228c adds r5, 1 | r5++;
0x0000228e ldr r3, [r7] | r3 = *(r7);
0x00002290 cmp fp, r5 |
| if (fp == r5) {
0x00002292 beq 0x22e2 | goto label_32;
| }
0x00002294 ldr r1, [r3] | r1 = *(r3);
0x00002296 mov r0, r7 | r0 = r7;
0x00002298 blx 0xf10 | r0 = fcn_00000f10 ();
0x0000229c cmp r0, 0 |
0x0000229e bge 0x228c |
| }
0x000022a0 ldr r1, [pc, 0x180] |
0x000022a2 movs r2, 0xdc | r2 = 0xdc;
0x000022a4 ldr r3, [pc, 0x180] |
0x000022a6 movs r0, 3 | r0 = 3;
0x000022a8 movs r5, 0 | r5 = 0;
0x000022aa add r1, pc | r1 = 0x46d2;
0x000022ac add r3, pc | r3 = 0x46d8;
0x000022ae adds r1, 7 | r1 += 7;
0x000022b0 blx 0x1004 | fcn_00001004 ();
0x000022b4 b 0x223c | goto label_5;
| label_16:
0x000022b6 ldr r1, [pc, 0x174] |
0x000022b8 movs r2, 0xc4 | r2 = 0xc4;
0x000022ba ldr r3, [pc, 0x174] |
0x000022bc ldr r0, [pc, 0x174] |
0x000022be add r1, pc | r1 = 0x46f0;
0x000022c0 add r3, pc | r3 = 0x46f6;
0x000022c2 adds r1, 7 | r1 += 7;
0x000022c4 add r0, pc | r0 = 0x46fc;
0x000022c6 blx 0xf04 | fcn_00000f04 ();
| label_19:
0x000022ca ldr r1, [pc, 0x16c] |
0x000022cc movs r2, 0xd0 | r2 = 0xd0;
0x000022ce ldr r3, [pc, 0x16c] |
0x000022d0 movs r0, 3 | r0 = 3;
0x000022d2 add r1, pc | r1 = 0x4710;
0x000022d4 add r3, pc | r3 = 0x4716;
0x000022d6 adds r1, 7 | r1 += 7;
0x000022d8 blx 0x1004 | fcn_00001004 ();
0x000022dc b 0x20b4 | goto label_1;
| label_11:
0x000022de mov r5, r6 | r5 = r6;
0x000022e0 b 0x1f58 | goto label_6;
| label_32:
0x000022e2 mov sb, r3 | sb = r3;
0x000022e4 b 0x2052 | goto label_4;
| label_22:
0x000022e6 ldr r1, [pc, 0x158] |
0x000022e8 movs r2, 0xe3 | r2 = 0xe3;
0x000022ea ldr r3, [pc, 0x158] |
0x000022ec movs r0, 3 | r0 = 3;
0x000022ee add r1, pc | r1 = 0x4734;
0x000022f0 add r3, pc | r3 = 0x473a;
0x000022f2 adds r1, 7 | r1 += 7;
0x000022f4 blx 0x1004 | fcn_00001004 ();
0x000022f8 b 0x223c | goto label_5;
| label_13:
0x000022fa ldr r1, [pc, 0x14c] |
0x000022fc movs r2, 0x96 | r2 = 0x96;
0x000022fe ldr r3, [pc, 0x14c] |
0x00002300 movs r0, 3 | r0 = 3;
0x00002302 add r1, pc | r1 = 0x4750;
0x00002304 add r3, pc | r3 = 0x4756;
0x00002306 adds r1, 7 | r1 += 7;
0x00002308 blx 0x1004 | fcn_00001004 ();
0x0000230c b 0x20b4 | goto label_1;
| label_14:
0x0000230e ldr r1, [pc, 0x140] |
0x00002310 mov r4, r0 | r4 = r0;
0x00002312 ldr r3, [pc, 0x140] |
0x00002314 movs r2, 0xb6 | r2 = 0xb6;
0x00002316 movs r0, 3 | r0 = 3;
0x00002318 add r1, pc | r1 = 0x476e;
0x0000231a add r3, pc | r3 = 0x4774;
0x0000231c adds r1, 7 | r1 += 7;
0x0000231e blx 0x1004 | fcn_00001004 ();
0x00002322 b 0x20b4 | goto label_1;
| label_29:
0x00002324 ldr r1, [pc, 0x130] |
0x00002326 movs r2, 0xa7 | r2 = 0xa7;
0x00002328 ldr r3, [pc, 0x130] |
0x0000232a movs r0, 3 | r0 = 3;
0x0000232c add r1, pc | r1 = 0x4788;
0x0000232e add r3, pc | r3 = 0x478e;
0x00002330 adds r1, 7 | r1 += 7;
0x00002332 blx 0x1004 | fcn_00001004 ();
0x00002336 b 0x2222 | goto label_7;
| do {
| label_27:
0x00002338 blx 0xf70 | fcn_00000f70 ();
| label_10:
0x0000233c ldr r2, [pc, 0x120] |
0x0000233e ldr r3, [pc, 0x2c] | r3 = *(0x236e);
0x00002340 add r2, pc | r2 = 0x47a4;
0x00002342 ldr r3, [r2, r3] | r3 = *(0x47a4);
0x00002344 ldr r2, [r3] | r2 = *(0x47a4);
0x00002346 ldr r3, [sp, 0x34] | r3 = var_34h;
0x00002348 eors r2, r3 | r2 ^= r3;
0x0000234a mov.w r3, 0 | r3 = 0;
0x0000234e bne 0x2338 |
| } while (r2 != r3);
0x00002350 ldr r1, [pc, 0x110] |
0x00002352 movs r2, 0x8d | r2 = 0x8d;
0x00002354 ldr r3, [pc, 0x110] |
0x00002356 movs r0, 3 | r0 = 3;
0x00002358 add r1, pc | r1 = 0x47c0;
0x0000235a add r3, pc | r3 = 0x47c6;
0x0000235c adds r1, 7 | r1 += 7;
0x0000235e add sp, 0x3c |
0x00002360 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, lr} |
0x00002364 b.w 0x1000 | goto label_8;
| }
[*] Function sprintf used 3 times systemd-socket-activate