[*] 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