[*] Binary protection state of systemctl

  
  	Full RELRO     Canary found      NX enabled   PIE enabled  RPATH        No RUNPATH   No Symbols


[*] Function strcpy tear down of systemctl

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x8f20 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00008f20 ()                                      | void fcn_00008f20 (int16_t arg_0h, int16_t arg_4h, int16_t arg1, uint32_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_sp_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     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;
                                                                 |     int16_t var_38h_2;
                                                                 |     int16_t var_3ch_2;
                                                                 |     int16_t var_40h_2;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_53h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_64h;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_70h;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_78h;
                                                                 |     int16_t var_7ch;
                                                                 |     int16_t var_80h;
                                                                 |     int16_t var_84h_2;
                                                                 |     char * path;
                                                                 |     int16_t var_ech;
                                                                 |     int16_t var_0h_3;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h_2;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_1ch_2;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_24h_2;
                                                                 |     int16_t var_28h_2;
                                                                 |     int16_t var_2ch_2;
                                                                 |     int16_t var_30h_2;
                                                                 |     int16_t var_34h_2;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h_2;
                                                                 |     int16_t var_48h_2;
                                                                 |     int16_t var_4ch_2;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_84h;
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_8h_3;
                                                                 |     int32_t var_ch_3;
                                                                 |     int16_t var_0h_4;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x00008f20 svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x00008f24 mov sl, r2                                        |     sl = r2;
    0x00008f26 ldr r2, [pc, 0x118]                               |     
    0x00008f28 mov r6, r3                                        |     r6 = r3;
    0x00008f2a sub sp, 0x14                                      |     
    0x00008f2c ldr r3, [pc, 0x114]                               |     r3 = *(0x9044);
    0x00008f2e add r7, sp, 0                                     |     r7 += var_0h;
    0x00008f30 add r2, pc                                        |     r2 = 0x11f76;
    0x00008f32 ldrd r8, sb, [r7, 0x38]                           |     __asm ("ldrd r8, sb, [r7, 0x38]");
    0x00008f36 ldr r3, [r2, r3]                                  |     
    0x00008f38 ldr r3, [r3]                                      |     r3 = *(0x11f76);
    0x00008f3a str r3, [r7, 0xc]                                 |     var_ch_3 = r3;
    0x00008f3c mov.w r3, 0                                       |     r3 = 0;
    0x00008f40 movs r3, 0                                        |     r3 = 0;
    0x00008f42 strd r3, r3, [r7, 4]                              |     __asm ("strd r3, r3, [r7, 4]");
    0x00008f46 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x00008f48 beq 0x8ff2                                        |         
    0x00008f4a mov r5, r0                                        |         r5 = r0;
    0x00008f4c mov r0, r1                                        |         r0 = r1;
    0x00008f4e mov fp, r1                                        |         
    0x00008f50 blx 0x5d5c                                        |         r0 = unlink (r0);
    0x00008f54 adds r4, r0, 1                                    |         r4 = r0 + 1;
    0x00008f56 cmp.w sl, 0                                       |         
                                                                 |         if (sl == 0) {
    0x00008f5a beq 0x901c                                        |             goto label_40;
                                                                 |         }
    0x00008f5c mov r0, sl                                        |         r0 = sl;
    0x00008f5e blx 0x5d5c                                        |         unlink (r0);
    0x00008f60 vmov.f64 d30, -6.250000e-01                       |         __asm ("vmov.f64 d30, -6");
    0x00008f64 lsrs r0, r0, 0x10                                 |         r0 >>= 0x10;
    0x00008f66 cmp.w ip, 0x400000                                |         
                                                                 |         if (ip > 0x400000) {
    0x00008f6a bhi 0x9006                                        |             goto label_41;
                                                                 |         }
    0x00008f6c add.w ip, ip, 7                                   |         
    0x00008f70 mov r1, fp                                        |         r1 = fp;
    0x00008f72 bic ip, ip, 7                                     |         ip = BIT_MASK (ip, 7);
    0x00008f74 lsrs r7, r0, 0x10                                 |         r7 = r0 >> 0x10;
    0x00008f76 sub.w sp, sp, ip                                  |         
    0x00008f7a mov r4, sp                                        |         r4 = sp;
    0x00008f7c mov r0, r4                                        |         r0 = r4;
    0x00008f7e blx 0x5a4c                                        |         fcn_00005a4c ();
    0x00008f82 mov r1, sl                                        |         r1 = sl;
    0x00008f84 blx 0x5a4c                                        |         r0 = fcn_00005a4c ();
    0x00008f88 mov r3, r0                                        |         r3 = r0;
                                                                 | label_0:
    0x00008f8a mov r0, r5                                        |         r0 = r5;
    0x00008f8c movs r5, 0                                        |         r5 = 0;
    0x00008f8e mov r1, r4                                        |         r1 = r4;
    0x00008f90 adds r2, r7, 4                                    |         r2 = r7 + 4;
    0x00008f92 strb r5, [r3]                                     |         *(r3) = r5;
    0x00008f94 bl 0x860c                                         |         fcn_0000860c (r0, r1, r2);
    0x00008f96 smlawb lr, sl, r4, r1                             |         __asm ("smlawb lr, sl, r4, r1");
    0x00008f9a ldr.w sl, [r7, 4]                                 |         sl = *((r7 + 4));
    0x00008f9e it lt                                             |         
                                                                 |         if (r2 >= r7) {
    0x00008fa0 movlt r0, r5                                      |             r0 = r5;
                                                                 |         }
                                                                 |         if (r2 >= r7) {
    0x00008fa2 blt 0x8fca                                        |             
    0x00008fa4 add.w r3, r7, 8                                   |             r3 += var_8h_3;
    0x00008fa8 mov r0, sl                                        |             r0 = sl;
    0x00008faa mov r2, r6                                        |             r2 = r6;
    0x00008fac mov r1, r5                                        |             r1 = r5;
    0x00008fae bl 0x8a1c                                         |             r0 = fcn_00008a1c (r0, r1, r2, r3);
    0x00008fb2 subs r4, r0, 0                                    |             r4 = r0 - 0;
    0x00008fb4 iteee lt                                          |             
                                                                 |             if (r4 >= r0) {
    0x00008fb6 ldrlt r0, [r7, 8]                                 |                 r0 = *((r7 + 8));
                                                                 |             }
                                                                 |             if (r4 < r0) {
    0x00008fb8 strge sl, [r8]                                    |                 *(r8) = sl;
                                                                 |             }
                                                                 |             if (r4 < r0) {
    0x00008fbc movge sl, r5                                      |                 sl = r5;
                                                                 |             }
                                                                 |             if (r4 >= r0) {
    0x00008fbe ldr r3, [r7, 8]                                   |                 r3 = var_8h_3;
                                                                 |             }
    0x00008fc0 ittt ge                                           |             
                                                                 |             if (r4 < r0) {
    0x00008fc2 movge r0, sl                                      |                 r0 = sl;
                                                                 |             }
                                                                 |             if (r4 < r0) {
    0x00008fc4 movge r4, sl                                      |                 r4 = sl;
                                                                 |             }
                                                                 |             if (r4 >= r0) {
    0x00008fc6 strge r3, [sb]                                    |                 *(sb) = r3;
                                                                 |                 goto label_42;
                                                                 |             }
                                                                 |         }
                                                                 | label_42:
    0x00008fca blx 0x5be4                                        |         fcn_00005be4 ();
    0x00008fce mov r0, sl                                        |         r0 = sl;
    0x00008fd0 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00008fd4 ldr r2, [pc, 0x70]                                |         
    0x00008fd6 ldr r3, [pc, 0x6c]                                |         r3 = *(0x9046);
    0x00008fd8 add r2, pc                                        |         r2 = 0x12024;
    0x00008fda ldr r3, [r2, r3]                                  |         r3 = *(0x12024);
    0x00008fdc ldr r2, [r3]                                      |         r2 = *(0x12024);
    0x00008fde ldr r3, [r7, 0xc]                                 |         r3 = var_ch_3;
    0x00008fe0 eors r2, r3                                       |         r2 ^= r3;
    0x00008fe2 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00008fe6 bne 0x903a                                        |             goto label_43;
                                                                 |         }
    0x00008fe8 mov r0, r4                                        |         r0 = r4;
    0x00008fea adds r7, 0x14                                     |         r7 += 0x14;
    0x00008fec mov sp, r7                                        |         
    0x00008fee pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 |     }
    0x00008ff2 ldr r1, [pc, 0x58]                                |     
    0x00008ff4 movs r2, 0xfe                                     |     r2 = 0xfe;
    0x00008ff6 ldr r3, [pc, 0x58]                                |     
    0x00008ff8 ldr r0, [pc, 0x58]                                |     
    0x00008ffa add r1, pc                                        |     r1 = 0x1204c;
    0x00008ffc add r3, pc                                        |     r3 = 0x12052;
    0x00008ffe adds r1, 7                                        |     r1 += 7;
    0x00009000 add r0, pc                                        |     r0 = 0x12058;
    0x00009002 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 |     do {
                                                                 | label_41:
    0x00009006 ldr r1, [pc, 0x50]                                |         
    0x00009008 mov.w r2, 0x102                                   |         r2 = 0x102;
    0x0000900a strb r1, [r0, 0xa]                                |         *((r0 + 0xa)) = r1;
    0x0000900c ldr r3, [pc, 0x4c]                                |         
    0x0000900e ldr r0, [pc, 0x50]                                |         
    0x00009010 add r1, pc                                        |         r1 = 0x1206e;
    0x00009012 add r3, pc                                        |         r3 = 0x12072;
    0x00009014 adds r1, 7                                        |         r1 += 7;
    0x00009016 add r0, pc                                        |         r0 = 0x1207c;
    0x00009018 blx 0x5e40                                        |         unit_file_get_default ();
                                                                 | label_40:
    0x0000901c cmp.w r4, 0x400000                                |         
    0x00009020 bhi 0x9006                                        |         
                                                                 |     } while (r4 > 0x400000);
    0x00009022 adds r0, 8                                        |     r0 += 8;
    0x00009024 mov r1, fp                                        |     r1 = fp;
    0x00009026 bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x0000902a sub.w sp, sp, r0                                  |     
    0x0000902e mov r4, sp                                        |     r4 = sp;
    0x00009030 mov r0, r4                                        |     r0 = r4;
    0x00009032 blx 0x5a4c                                        |     r0 = fcn_00005a4c ();
    0x00009036 mov r3, r0                                        |     r3 = r0;
    0x00009038 b 0x8f8a                                          |     goto label_0;
                                                                 | label_43:
    0x0000903a blx 0x6114                                        |     fcn_00006114 ();
    0x0000903e nop                                               |     
    0x00009040 subs r4, r7, r0                                   |     r4 = r7 - r0;
    0x00009042 movs r3, r0                                       |     r3 = r0;
    0x00009044 lsls r0, r2, 0x18                                 |     r0 = r2 << 0x18;
    0x00009046 movs r0, r0                                       |     
    0x00009048 adds r4, r2, r6                                   |     r4 = r2 + r6;
    0x0000904a movs r3, r0                                       |     r3 = r0;
    0x0000904c str r6, [r2, 0x3c]                                |     *((r2 + 0x3c)) = r6;
    0x0000904e movs r1, r0                                       |     r1 = r0;
    0x00009050 ldr r0, [r1, 0x44]                                |     r0 = *((r1 + 0x44));
    0x00009052 movs r1, r0                                       |     r1 = r0;
    0x00009054 str r0, [r1, 0x74]                                |     *((r1 + 0x74)) = r0;
    0x00009056 movs r1, r0                                       |     r1 = r0;
    0x00009058 str r0, [r0, 0x3c]                                |     *((r0 + 0x3c)) = r0;
    0x0000905a movs r1, r0                                       |     r1 = r0;
    0x0000905c ldr r2, [r6, 0x40]                                |     r2 = *((r6 + 0x40));
    0x0000905e movs r1, r0                                       |     r1 = r0;
    0x00009060 str r6, [r7, 0x70]                                |     *((r7 + 0x70)) = r6;
    0x00009062 movs r1, r0                                       |     r1 = r0;
    0x00009064 ldr r0, [pc, 0x3ac]                               |     
    0x00009066 movs r2, 0x34                                     |     r2 = 0x34;
    0x00009068 ldr r3, [pc, 0x3ac]                               |     r3 = *(0x9418);
    0x0000906a push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0000906e sub sp, 0x8c                                      |     
    0x00009070 add r0, pc                                        |     r0 = 0x12488;
    0x00009072 movs r6, 0                                        |     r6 = 0;
    0x00009074 add r5, sp, 0x50                                  |     r5 += var_50h;
    0x00009076 mov r7, r1                                        |     r7 = r1;
    0x00009078 ldr r3, [r0, r3]                                  |     
    0x0000907a mov r1, r6                                        |     r1 = r6;
    0x0000907c ldr r4, [pc, 0x39c]                               |     
    0x0000907e mov r0, r5                                        |     r0 = r5;
    0x00009080 ldr r3, [r3]                                      |     r3 = *(0x12488);
    0x00009082 str r3, [sp, 0x84]                                |     var_84h = r3;
    0x00009084 mov.w r3, 0                                       |     r3 = 0;
    0x00009088 strd r6, r6, [sp, 0x38]                           |     __asm ("strd r6, r6, [sp, 0x38]");
    0x0000908c blx 0x5a68                                        |     unit_load_state ();
    0x00009090 ldr r3, [pc, 0x38c]                               |     r3 = *(0x9420);
    0x00009092 add r4, pc                                        |     r4 = 0x124b2;
    0x00009094 str r6, [sp, 0x40]                                |     var_40h = r6;
    0x00009096 ldr r3, [r4, r3]                                  |     
    0x00009098 ldr r3, [r3]                                      |     r3 = *(0x124b2);
                                                                 |     if (r3 == 0) {
    0x0000909a cbz r3, 0x90f6                                    |         goto label_44;
                                                                 |     }
    0x0000909c ldr r3, [r3]                                      |     r3 = *(r3);
                                                                 |     if (r3 == 0) {
    0x0000909e cbz r3, 0x90f6                                    |         goto label_44;
                                                                 |     }
    0x000090a0 ldr r3, [pc, 0x380]                               |     r3 = *(0x9424);
    0x000090a2 ldr r3, [r4, r3]                                  |     r3 = *((r4 + r3));
    0x000090a4 ldr r6, [r3]                                      |     r6 = *(0x9424);
                                                                 |     if (r6 == 0) {
    0x000090a6 cbz r6, 0x9108                                    |         goto label_45;
                                                                 |     }
                                                                 |     do {
    0x000090a8 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x000090ac cmp r0, 2                                         |         
    0x000090ae it le                                             |         
                                                                 |         if (r0 > 2) {
    0x000090b0 mvnle r8, 0x15                                    |             r8 = ~0x15;
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x000090b4 bgt.w 0x9240                                      |             goto label_46;
                                                                 |         }
                                                                 | label_1:
    0x000090b8 mov r0, r5                                        |         r0 = r5;
    0x000090ba blx 0x5820                                        |         fcn_00005820 ();
    0x000090be ldr r0, [sp, 0x3c]                                |         r0 = var_3ch;
                                                                 |         if (r0 != 0) {
    0x000090c0 cbz r0, 0x90cc                                    |             
    0x000090c2 movs r2, 0                                        |             r2 = 0;
    0x000090c4 mov r1, r2                                        |             r1 = r2;
    0x000090c6 blx 0x648c                                        |             fcn_0000648c ();
    0x000090ca str r0, [sp, 0x3c]                                |             var_3ch = r0;
                                                                 |         }
    0x000090cc ldr r0, [sp, 0x38]                                |         r0 = var_38h;
                                                                 |         if (r0 != 0) {
    0x000090ce cbz r0, 0x90d8                                    |             
    0x000090d0 movs r2, 0                                        |             r2 = 0;
    0x000090d2 mov r1, r2                                        |             r1 = r2;
    0x000090d4 blx 0x648c                                        |             fcn_0000648c ();
                                                                 |         }
    0x000090d8 ldr r2, [pc, 0x34c]                               |         
    0x000090da ldr r3, [pc, 0x33c]                               |         r3 = *(0x941a);
    0x000090dc add r2, pc                                        |         r2 = 0x12508;
    0x000090de ldr r3, [r2, r3]                                  |         r3 = *(0x12508);
    0x000090e0 ldr r2, [r3]                                      |         r2 = *(0x12508);
    0x000090e2 ldr r3, [sp, 0x84]                                |         r3 = var_84h;
    0x000090e4 eors r2, r3                                       |         r2 ^= r3;
    0x000090e6 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000090ea bne.w 0x9410                                      |             goto label_47;
                                                                 |         }
    0x000090ee mov r0, r8                                        |         r0 = r8;
    0x000090f0 add sp, 0x8c                                      |         
    0x000090f2 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_44:
    0x000090f6 ldr r3, [pc, 0x334]                               |         r3 = *(0x942e);
    0x000090f8 movs r2, 1                                        |         r2 = 1;
    0x000090fa ldr r3, [r4, r3]                                  |         r3 = *((r4 + r3));
    0x000090fc strb r2, [r3]                                     |         *(r3) = r2;
    0x000090fe ldr r3, [pc, 0x324]                               |         r3 = *(0x9426);
    0x00009100 ldr r3, [r4, r3]                                  |         r3 = *((r4 + r3));
    0x00009102 ldr r6, [r3]                                      |         r6 = *(0x9426);
    0x00009104 cmp r6, 0                                         |         
    0x00009106 bne 0x90a8                                        |         
                                                                 |     } while (r6 != 0);
                                                                 | label_45:
    0x00009108 ldr r2, [pc, 0x324]                               |     r2 = *(0x9430);
    0x0000910a mov r0, r5                                        |     r0 = r5;
    0x0000910c ldr r3, [pc, 0x324]                               |     
    0x0000910e ldr r2, [r4, r2]                                  |     r2 = *((r4 + r2));
    0x00009110 ldr r3, [r4, r3]                                  |     r3 = *((r4 + r3));
    0x00009112 mov r1, r2                                        |     r1 = r2;
    0x00009114 str r2, [sp, 0x1c]                                |     var_1ch_2 = r2;
    0x00009116 ldr r3, [r3]                                      |     r3 = *(0x9434);
    0x00009118 mov r2, r6                                        |     r2 = r6;
    0x0000911a ldr r1, [r1]                                      |     r1 = *(r1);
    0x0000911c blx 0x606c                                        |     r0 = fcn_0000606c ();
    0x00009120 subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x00009124 blt 0x921e                                        |         goto label_48;
                                                                 |     }
    0x00009126 add r1, sp, 0x44                                  |     r1 += var_44h_2;
    0x00009128 movs r0, 1                                        |     r0 = 1;
    0x0000912a bl 0x1a334                                        |     r0 = fcn_0001a334 (r0, r1);
    0x0000912e subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x00009132 blt 0x920e                                        |         goto label_2;
                                                                 |     }
    0x00009134 mov r0, r7                                        |     r0 = r7;
    0x00009136 ldr r7, [sp, 0x44]                                |     r7 = var_44h_2;
    0x00009138 movs r1, 1                                        |     r1 = 1;
    0x0000913a add.w r8, sp, 0x40                                |     r8 += var_40h;
    0x0000913e blx 0x5ad4                                        |     sd_bus_message_get_bus ();
    0x00009142 mov r3, r8                                        |     r3 = r8;
    0x00009144 mov r1, r0                                        |     r1 = r0;
    0x00009146 mov r2, r6                                        |     r2 = r6;
    0x00009148 mov r0, r7                                        |     r0 = r7;
    0x0000914a str r6, [sp]                                      |     *(sp) = r6;
    0x0000914c bl 0x1ba10                                        |     r0 = fcn_0001ba10 (r0, r1, r2, r3, r4, r5, r6);
    0x00009150 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x00009152 blt.w 0x9328                                      |         goto label_49;
                                                                 |     }
    0x00009156 mov r1, r8                                        |     r1 = r8;
    0x00009158 ldr r0, [sp, 0x44]                                |     r0 = var_44h_2;
    0x0000915a bl 0x1b334                                        |     r0 = fcn_0001b334 (r0, r1);
    0x0000915e subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x00009162 blt 0x920e                                        |         goto label_2;
                                                                 |     }
    0x00009164 ldr r3, [pc, 0x2d0]                               |     r3 = *(0x9438);
    0x00009166 ldr r3, [r4, r3]                                  |     r3 = *((r4 + r3));
    0x00009168 ldr r0, [r3]                                      |     r0 = *(0x9438);
    0x0000916a blx 0x5e70                                        |     get_color_mode ();
    0x0000916e ldr r3, [sp, 0x40]                                |     r3 = var_40h;
    0x00009170 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009172 beq.w 0x940c                                      |         goto label_50;
                                                                 |     }
    0x00009176 sub.w fp, r3, 4                                   |     
    0x0000917a ldr r3, [pc, 0x2c0]                               |     
    0x0000917c movs r7, 1                                        |     r7 = 1;
    0x0000917e add r3, pc                                        |     r3 = 0x125c0;
    0x00009180 str r3, [sp, 0x2c]                                |     var_2ch_2 = r3;
    0x00009182 ldr r3, [pc, 0x2bc]                               |     
    0x00009184 add r3, pc                                        |     r3 = 0x125ca;
    0x00009186 str r3, [sp, 0x30]                                |     var_30h_2 = r3;
    0x00009188 ldr r3, [pc, 0x2b8]                               |     
    0x0000918a add r3, pc                                        |     r3 = 0x125d2;
    0x0000918c str r3, [sp, 0x34]                                |     var_34h_2 = r3;
                                                                 | label_4:
    0x0000918e ldr r3, [fp, 4]!                                  |     r3 = *(arg_4h);
    0x00009192 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009194 beq 0x920c                                        |         goto label_51;
                                                                 |     }
                                                                 |     do {
    0x00009196 movs r3, 0                                        |         r3 = 0;
    0x00009198 add r2, sp, 0x4c                                  |         r2 += var_4ch_2;
    0x0000919a strd r3, r3, [sp, 0x48]                           |         __asm ("strd r3, r3, [sp, 0x48]");
    0x0000919e ldr.w r1, [fp]                                    |         r1 = *(fp);
    0x000091a2 str r2, [sp, 0xc]                                 |         var_ch_2 = r2;
    0x000091a4 add r2, sp, 0x48                                  |         r2 += var_48h_2;
    0x000091a6 str r2, [sp, 8]                                   |         var_8h_2 = r2;
    0x000091a8 add r2, sp, 0x3c                                  |         r2 += var_3ch;
    0x000091aa str r2, [sp, 4]                                   |         *((sp + 4)) = r2;
    0x000091ac add r2, sp, 0x38                                  |         r2 += var_38h;
    0x000091ae str r2, [sp]                                      |         *(sp) = r2;
    0x000091b0 mov r2, r5                                        |         r2 = r5;
    0x000091b2 ldr r0, [sp, 0x44]                                |         r0 = var_44h_2;
    0x000091b4 bl 0x1bd00                                        |         r0 = fcn_0001bd00 (r0, r1, r2, r3, r4, r5, r6);
    0x000091b8 cmn.w r0, 0x84                                    |         
                                                                 |         if (r0 == 0x84) {
    0x000091bc beq.w 0x9360                                      |             goto label_52;
                                                                 |         }
    0x000091c0 cmn.w r0, 0x81                                    |         
                                                                 |         if (r0 == 0x81) {
    0x000091c4 beq.w 0x93b2                                      |             goto label_53;
                                                                 |         }
    0x000091c8 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x000091ca blt.w 0x93fa                                      |             goto label_54;
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x000091ce beq 0x9288                                        |             goto label_55;
                                                                 |         }
    0x000091d0 cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x000091d2 beq.w 0x931e                                      |             goto label_56;
                                                                 |         }
                                                                 | label_6:
    0x000091d6 ldr.w r1, [fp]                                    |         r1 = *(fp);
    0x000091da ldr r0, [sp, 0x44]                                |         r0 = var_44h_2;
    0x000091dc bl 0x1aa48                                        |         r0 = fcn_0001aa48 (r0, r1, r2);
    0x000091e0 cmp r0, 0                                         |         
                                                                 |         if (r0 > 0) {
    0x000091e2 bgt 0x929c                                        |             goto label_57;
                                                                 |         }
                                                                 | label_5:
    0x000091e4 ldrd r0, r1, [sp, 0x48]                           |         __asm ("ldrd r0, r1, [var_48h_2]");
    0x000091e8 movs r2, 0                                        |         r2 = 0;
    0x000091ea blx 0x665c                                        |         r0 = fcn_0000665c ();
    0x000091ee cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x000091f0 blt.w 0x93fa                                      |             goto label_54;
                                                                 |         }
    0x000091f4 ldr r0, [sp, 0x4c]                                |         r0 = var_4ch_2;
                                                                 |         if (r0 != 0) {
    0x000091f6 cbz r0, 0x91fc                                    |             
    0x000091f8 blx 0x5dec                                        |             unit_file_state_to_string ();
                                                                 |         }
    0x000091fc ldr r0, [sp, 0x48]                                |         r0 = var_48h_2;
    0x000091fe movs r7, 0                                        |         r7 = 0;
    0x00009200 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00009204 ldr r3, [fp, 4]!                                  |         r3 = *(arg_4h);
    0x00009208 cmp r3, 0                                         |         
    0x0000920a bne 0x9196                                        |         
                                                                 |     } while (r3 != 0);
                                                                 | label_51:
    0x0000920c mov r8, r6                                        |     r8 = r6;
                                                                 | label_2:
    0x0000920e ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00009210 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009212 beq.w 0x90b8                                      |         goto label_1;
                                                                 |     }
    0x00009216 blx 0x5dec                                        |     unit_file_state_to_string ();
    0x0000921a str r0, [sp, 0x40]                                |     var_40h = r0;
    0x0000921c b 0x90b8                                          |     goto label_1;
                                                                 | label_48:
    0x0000921e blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009222 cmp r0, 2                                         |     
    0x00009224 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00009226 rsble r8, r8, 0                                   |         __asm ("rsble r8, r8, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000922a uxtble r8, r8                                     |         __asm ("uxtble r8, r8");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000922e rsb.w r8, r8, 0                                   |         r8 -= ;
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00009232 bgt 0x9268                                        |         goto label_58;
                                                                 |     }
                                                                 | label_3:
    0x00009234 cmp.w r8, 0                                       |     
                                                                 |     if (r8 < 0) {
    0x00009238 blt 0x920e                                        |         goto label_2;
                                                                 |     }
                                                                 |     do {
    0x0000923a mvn r8, 0x55                                      |         r8 = ~0x55;
    0x0000923e b 0x920e                                          |         goto label_2;
                                                                 | label_46:
    0x00009240 ldr r2, [pc, 0x204]                               |         
    0x00009242 movs r1, 0x16                                     |         r1 = 0x16;
    0x00009244 ldr r4, [pc, 0x204]                               |         
    0x00009246 movs r3, 0x27                                     |         r3 = 0x27;
    0x00009248 ldr r0, [pc, 0x204]                               |         
    0x0000924a movt r1, 0x4000                                   |         r1 = (r1 & 0xFFFF) | 0x40000000;
    0x0000924e add r2, pc                                        |         r2 = 0x1269a;
    0x00009250 add r4, pc                                        |         r4 = 0x126a0;
    0x00009252 adds r2, 7                                        |         r2 += 7;
    0x00009254 add r0, pc                                        |         r0 = 0x126a8;
    0x00009256 strd r0, r4, [sp]                                 |         __asm ("strd r0, r4, [sp]");
    0x0000925a movs r0, 3                                        |         r0 = 3;
    0x0000925c blx 0x61a4                                        |         r0 = fcn_000061a4 ();
    0x00009260 subs.w r8, r0, 0                                  |         r8 = r0 - 0;
    0x00009264 bge 0x923a                                        |         
                                                                 |     } while (r8 >= r0);
    0x00009266 b 0x920e                                          |     goto label_2;
                                                                 | label_58:
    0x00009268 ldr r2, [pc, 0x1e8]                               |     
    0x0000926a mov r1, r8                                        |     r1 = r8;
    0x0000926c ldr r0, [pc, 0x1e8]                               |     
    0x0000926e ldr r3, [pc, 0x1ec]                               |     
    0x00009270 add r2, pc                                        |     r2 = 0x126c8;
    0x00009272 add r0, pc                                        |     r0 = 0x126ce;
    0x00009274 adds r2, 7                                        |     r2 += 7;
    0x00009276 add r3, pc                                        |     r3 = 0x126d8;
    0x00009278 strd r3, r0, [sp]                                 |     __asm ("strd r3, r0, [sp]");
    0x0000927c movs r3, 0x2b                                     |     r3 = 0x2b;
    0x0000927e movs r0, 3                                        |     r0 = 3;
    0x00009280 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00009284 mov r8, r0                                        |     r8 = r0;
    0x00009286 b 0x9234                                          |     goto label_3;
                                                                 | label_55:
    0x00009288 mvn r6, 1                                         |     r6 = ~1;
                                                                 | label_7:
    0x0000928c ldr r0, [sp, 0x4c]                                |     r0 = var_4ch_2;
                                                                 |     if (r0 != 0) {
    0x0000928e cbz r0, 0x9294                                    |         
    0x00009290 blx 0x5dec                                        |         unit_file_state_to_string ();
                                                                 |     }
    0x00009294 ldr r0, [sp, 0x48]                                |     r0 = var_48h_2;
    0x00009296 blx 0x5be4                                        |     fcn_00005be4 ();
    0x0000929a b 0x918e                                          |     goto label_4;
                                                                 | label_57:
    0x0000929c ldr r3, [pc, 0x1c0]                               |     r3 = *(0x9460);
    0x0000929e ldr r3, [r4, r3]                                  |     r3 = *((r4 + r3));
    0x000092a0 ldr.w sl, [r3]                                    |     sl = *(0x9460);
    0x000092a4 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000092a8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000092aa bne 0x93ac                                        |         goto label_59;
                                                                 |     }
    0x000092ac ldr r7, [pc, 0x1b4]                               |     
    0x000092ae add r7, pc                                        |     r7 = 0x12716;
                                                                 | label_12:
    0x000092b0 ldr.w r3, [fp]                                    |     r3 = *(fp);
    0x000092b4 str r3, [sp, 0x20]                                |     var_20h_2 = r3;
    0x000092b6 blx 0x5e88                                        |     strcpy (r0, r1)
    0x000092b8 stcl p8, c2, [r8, 0]!                             |     __asm ("stcl p8, c2, [r8, 0]!");
                                                                 |     if (r0 != 0) {
    0x000092bc bne 0x93a4                                        |         goto label_60;
                                                                 |     }
    0x000092be ldr.w r8, [pc, 0x1a8]                             |     
    0x000092c2 add r8, pc                                        |     r8 = 0x12730;
                                                                 | label_11:
    0x000092c4 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000092c8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000092ca bne 0x939c                                        |         goto label_61;
                                                                 |     }
    0x000092cc ldr.w sb, [pc, 0x19c]                             |     
    0x000092d0 add sb, pc                                        |     sb = 0x12740;
                                                                 | label_10:
    0x000092d2 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000092d6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000092d8 bne 0x9396                                        |         goto label_62;
                                                                 |     }
    0x000092da ldr r3, [pc, 0x194]                               |     
    0x000092dc add r3, pc                                        |     r3 = 0x12752;
                                                                 | label_9:
    0x000092de ldr r2, [sp, 0x1c]                                |     r2 = var_1ch_2;
    0x000092e0 ldr r2, [r2]                                      |     r2 = *(r2);
    0x000092e2 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x000092e4 beq 0x9390                                        |         goto label_63;
                                                                 |     }
    0x000092e6 ldr r2, [pc, 0x18c]                               |     
    0x000092e8 add r2, pc                                        |     r2 = 0x12762;
                                                                 | label_8:
    0x000092ea strd r2, r3, [sp, 0x24]                           |     __asm ("strd r2, r3, [sp, 0x24]");
    0x000092ee blx 0x5e88                                        |     strcpy (r0, r1)
    0x000092f2 ldr r2, [sp, 0x24]                                |     r2 = var_24h_2;
    0x000092f4 cmp r0, 0                                         |     
    0x000092f6 ldr r3, [sp, 0x28]                                |     r3 = var_28h_2;
    0x000092f8 mov r0, sl                                        |     r0 = sl;
    0x000092fa str.w r8, [sp, 4]                                 |     __asm ("str.w r8, [sp, 4]");
    0x000092fe str r2, [sp, 0x10]                                |     var_10h_2 = r2;
    0x00009300 ldrd r2, r1, [sp, 0x30]                           |     __asm ("ldrd r2, r1, [var_30h_2]");
    0x00009304 strd sb, r3, [sp, 8]                              |     __asm ("strd sb, r3, [sp, 8]");
    0x00009308 ldr r3, [sp, 0x20]                                |     r3 = var_20h_2;
    0x0000930a it eq                                             |     
                                                                 |     if (r0 != 0) {
    0x0000930c moveq r2, r1                                      |         r2 = r1;
                                                                 |     }
    0x0000930e movs r1, 1                                        |     r1 = 1;
    0x00009310 str r2, [sp, 0x14]                                |     var_14h = r2;
    0x00009312 str r3, [sp]                                      |     *(sp) = r3;
    0x00009314 mov r3, r7                                        |     r3 = r7;
    0x00009316 ldr r2, [sp, 0x2c]                                |     r2 = var_2ch_2;
    0x00009318 blx 0x6144                                        |     fcn_00006144 ();
    0x0000931c b 0x91e4                                          |     goto label_5;
                                                                 | label_56:
    0x0000931e ldr r0, [pc, 0x158]                               |     
    0x00009320 add r0, pc                                        |     r0 = 0x1279e;
    0x00009322 blx 0x62a0                                        |     fcn_000062a0 ();
    0x00009326 b 0x91d6                                          |     goto label_6;
                                                                 | label_49:
    0x00009328 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x0000932c cmp r0, 2                                         |     
    0x0000932e ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00009330 rsble r8, r7, 0                                   |         __asm ("rsble r8, r7, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00009334 uxtble r8, r8                                     |         __asm ("uxtble r8, r8");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00009338 rsb.w r8, r8, 0                                   |         r8 -= ;
                                                                 |         goto label_64;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_64:
    0x0000933c ble.w 0x9234                                      |         goto label_3;
                                                                 |     }
    0x00009340 ldr r2, [pc, 0x138]                               |     
    0x00009342 mov r1, r7                                        |     r1 = r7;
    0x00009344 ldr r0, [pc, 0x138]                               |     
    0x00009346 ldr r3, [pc, 0x13c]                               |     
    0x00009348 add r2, pc                                        |     r2 = 0x127c8;
    0x0000934a add r0, pc                                        |     r0 = 0x127ce;
    0x0000934c adds r2, 7                                        |     r2 += 7;
    0x0000934e add r3, pc                                        |     r3 = 0x127d8;
    0x00009350 strd r3, r0, [sp]                                 |     __asm ("strd r3, r0, [sp]");
    0x00009354 movs r3, 0x33                                     |     r3 = 0x33;
    0x00009356 movs r0, 3                                        |     r0 = 3;
    0x00009358 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x0000935c mov r8, r0                                        |     r8 = r0;
    0x0000935e b 0x9234                                          |     goto label_3;
                                                                 | label_52:
    0x00009360 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00009364 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00009366 bne 0x93de                                        |         goto label_65;
                                                                 |     }
    0x00009368 ldr.w sb, [pc, 0x11c]                             |     
    0x0000936c add sb, pc                                        |     sb = 0x127f8;
                                                                 |     do {
    0x0000936e ldr.w r8, [fp]                                    |         r8 = *(fp);
    0x00009372 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
    0x00009376 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00009378 bne 0x93ee                                        |             goto label_66;
                                                                 |         }
    0x0000937a ldr r3, [pc, 0x110]                               |         
    0x0000937c add r3, pc                                        |         r3 = 0x1280e;
                                                                 | label_14:
    0x0000937e ldr r1, [pc, 0x110]                               |         
    0x00009380 mov r2, sb                                        |         r2 = sb;
    0x00009382 str r3, [sp]                                      |         *(sp) = r3;
    0x00009384 movs r0, 1                                        |         r0 = 1;
    0x00009386 mov r3, r8                                        |         r3 = r8;
    0x00009388 add r1, pc                                        |         r1 = 0x1281e;
    0x0000938a blx 0x59a0                                        |         fcn_000059a0 ();
    0x0000938e b 0x928c                                          |         goto label_7;
                                                                 | label_63:
    0x00009390 ldr r2, [pc, 0x100]                               |         
    0x00009392 add r2, pc                                        |         r2 = 0x1282a;
    0x00009394 b 0x92ea                                          |         goto label_8;
                                                                 | label_62:
    0x00009396 ldr r3, [pc, 0x100]                               |         
    0x00009398 add r3, pc                                        |         r3 = 0x12836;
    0x0000939a b 0x92de                                          |         goto label_9;
                                                                 | label_61:
    0x0000939c ldr.w sb, [pc, 0xfc]                              |         
    0x000093a0 add sb, pc                                        |         sb = 0x12840;
    0x000093a2 b 0x92d2                                          |         goto label_10;
                                                                 | label_60:
    0x000093a4 ldr.w r8, [pc, 0xf8]                              |         
    0x000093a8 add r8, pc                                        |         r8 = 0x1284c;
    0x000093aa b 0x92c4                                          |         goto label_11;
                                                                 | label_59:
    0x000093ac ldr r7, [pc, 0xf4]                                |         
    0x000093ae add r7, pc                                        |         r7 = 0x12856;
    0x000093b0 b 0x92b0                                          |         goto label_12;
                                                                 | label_53:
    0x000093b2 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
                                                                 |         if (r0 != 0) {
    0x000093b6 cbnz r0, 0x93e6                                   |             goto label_67;
                                                                 |         }
    0x000093b8 ldr.w r8, [pc, 0xec]                              |         
    0x000093bc add r8, pc                                        |         r8 = 0x12868;
                                                                 | label_13:
    0x000093be ldr.w sb, [fp]                                    |         sb = *(fp);
    0x000093c2 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
                                                                 |         if (r0 != 0) {
    0x000093c6 cbnz r0, 0x93f4                                   |             goto label_68;
                                                                 |         }
    0x000093c8 ldr r3, [pc, 0xe0]                                |         
    0x000093ca add r3, pc                                        |         r3 = 0x1287a;
                                                                 | label_15:
    0x000093cc ldr r1, [pc, 0xe0]                                |         
    0x000093ce mov r2, r8                                        |         r2 = r8;
    0x000093d0 str r3, [sp]                                      |         *(sp) = r3;
    0x000093d2 movs r0, 1                                        |         r0 = 1;
    0x000093d4 mov r3, sb                                        |         r3 = sb;
    0x000093d6 add r1, pc                                        |         r1 = 0x1288a;
    0x000093d8 blx 0x59a0                                        |         fcn_000059a0 ();
    0x000093dc b 0x928c                                          |         goto label_7;
                                                                 | label_65:
    0x000093de ldr.w sb, [pc, 0xd4]                              |         
    0x000093e2 add sb, pc                                        |         sb = 0x1289c;
    0x000093e4 b 0x936e                                          |         
                                                                 |     } while (1);
                                                                 | label_67:
    0x000093e6 ldr.w r8, [pc, 0xd0]                              |     
    0x000093ea add r8, pc                                        |     r8 = 0x128a8;
    0x000093ec b 0x93be                                          |     goto label_13;
                                                                 | label_66:
    0x000093ee ldr r3, [pc, 0xcc]                                |     
    0x000093f0 add r3, pc                                        |     r3 = 0x128b2;
    0x000093f2 b 0x937e                                          |     goto label_14;
                                                                 | label_68:
    0x000093f4 ldr r3, [pc, 0xc8]                                |     
    0x000093f6 add r3, pc                                        |     r3 = 0x128ba;
    0x000093f8 b 0x93cc                                          |     goto label_15;
                                                                 | label_54:
    0x000093fa mov r8, r0                                        |     r8 = r0;
    0x000093fc ldr r0, [sp, 0x4c]                                |     r0 = var_4ch_2;
                                                                 |     if (r0 != 0) {
    0x000093fe cbz r0, 0x9404                                    |         
    0x00009400 blx 0x5dec                                        |         unit_file_state_to_string ();
                                                                 |     }
    0x00009404 ldr r0, [sp, 0x48]                                |     r0 = var_48h_2;
    0x00009406 blx 0x5be4                                        |     fcn_00005be4 ();
    0x0000940a b 0x920e                                          |     goto label_2;
                                                                 | label_50:
    0x0000940c mov r8, r3                                        |     r8 = r3;
    0x0000940e b 0x90b8                                          |     goto label_1;
                                                                 | label_47:
    0x00009410 blx 0x6114                                        |     fcn_00006114 ();
    0x00009414 adds r4, r7, r3                                   |     r4 = r7 + r3;
    0x00009416 movs r3, r0                                       |     r3 = r0;
    0x00009418 lsls r0, r2, 0x18                                 |     r0 = r2 << 0x18;
    0x0000941a movs r0, r0                                       |     
    0x0000941c adds r2, r3, r3                                   |     r2 = r3 + r3;
    0x0000941e movs r3, r0                                       |     r3 = r0;
    0x00009420 lsls r4, r3, 0x17                                 |     r4 = r3 << 0x17;
    0x00009422 movs r0, r0                                       |     
    0x00009424 lsls r4, r7, 0x17                                 |     r4 = r7 << 0x17;
    0x00009426 movs r0, r0                                       |     
    0x00009428 adds r0, r2, r2                                   |     r0 = r2 + r2;
    0x0000942a movs r3, r0                                       |     r3 = r0;
    0x0000942c lsls r0, r5, 0x17                                 |     r0 = r5 << 0x17;
    0x0000942e movs r0, r0                                       |     
    0x00009430 lsls r0, r6, 0x18                                 |     r0 = r6 << 0x18;
    0x00009432 movs r0, r0                                       |     
    0x00009434 lsls r0, r4, 0x18                                 |     r0 = r4 << 0x18;
    0x00009436 movs r0, r0                                       |     
    0x00009438 lsls r4, r7, 0x15                                 |     r4 = r7 << 0x15;
    0x0000943a movs r0, r0                                       |     
    0x0000943c str r6, [r2, 0x68]                                |     *((r2 + 0x68)) = r6;
    0x0000943e movs r1, r0                                       |     r1 = r0;
    0x00009440 ldrsb r4, [r4, r2]                                |     r4 = *((r4 + r2));
    0x00009442 movs r1, r0                                       |     r1 = r0;
    0x00009444 ldrb r6, [r5, 4]                                  |     r6 = *((r5 + 4));
    0x00009446 movs r1, r0                                       |     r1 = r0;
    0x00009448 str r2, [r0, 0x18]                                |     *((r0 + 0x18)) = r2;
    0x0000944a movs r1, r0                                       |     r1 = r0;
    0x0000944c str r4, [r0, 0x54]                                |     *((r0 + 0x54)) = r4;
    0x0000944e movs r1, r0                                       |     r1 = r0;
    0x00009450 ldr r0, [r1, 0x28]                                |     r0 = *((r1 + 0x28));
    0x00009452 movs r1, r0                                       |     r1 = r0;
    0x00009454 str r0, [r4, 0x14]                                |     *((r4 + 0x14)) = r0;
    0x00009456 movs r1, r0                                       |     r1 = r0;
    0x00009458 str r6, [r7, 0x50]                                |     *((r7 + 0x50)) = r6;
    0x0000945a movs r1, r0                                       |     r1 = r0;
    0x0000945c ldr r6, [r4, 0x24]                                |     r6 = *((r4 + 0x24));
    0x0000945e movs r1, r0                                       |     r1 = r0;
    0x00009460 lsls r4, r5, 0x19                                 |     r4 = r5 << 0x19;
    0x00009462 movs r0, r0                                       |     
    0x00009464 ldrb r2, [r1]                                     |     r2 = *(r1);
    0x00009466 movs r1, r0                                       |     r1 = r0;
    0x00009468 strb r6, [r6, 0x1f]                               |     *((r6 + 0x1f)) = r6;
    0x0000946a movs r1, r0                                       |     r1 = r0;
    0x0000946c strb r0, [r5, 0x1f]                               |     *((r5 + 0x1f)) = r0;
    0x0000946e movs r1, r0                                       |     r1 = r0;
    0x00009470 strb r4, [r3, 0x1f]                               |     *((r3 + 0x1f)) = r4;
    0x00009472 movs r1, r0                                       |     r1 = r0;
    0x00009474 str r4, [r4, 0x48]                                |     *((r4 + 0x48)) = r4;
    0x00009476 movs r1, r0                                       |     r1 = r0;
    0x00009478 strb r0, [r3, 0x1e]                               |     *((r3 + 0x1e)) = r0;
    0x0000947a movs r1, r0                                       |     r1 = r0;
    0x0000947c str r0, [r1, 8]                                   |     *((r1 + 8)) = r0;
    0x0000947e movs r1, r0                                       |     r1 = r0;
    0x00009480 strh r2, [r1, r6]                                 |     *((r1 + r6)) = r2;
    0x00009482 movs r1, r0                                       |     r1 = r0;
    0x00009484 ldr r6, [r1, 0x18]                                |     r6 = *((r1 + 0x18));
    0x00009486 movs r1, r0                                       |     r1 = r0;
    0x00009488 strb r4, [r1, 0x1d]                               |     *((r1 + 0x1d)) = r4;
    0x0000948a movs r1, r0                                       |     r1 = r0;
    0x0000948c strb r4, [r7, 0x1c]                               |     *((r7 + 0x1c)) = r4;
    0x0000948e movs r1, r0                                       |     r1 = r0;
    0x00009490 str r4, [r1, 0x44]                                |     *((r1 + 0x44)) = r4;
    0x00009492 movs r1, r0                                       |     r1 = r0;
    0x00009494 strb r6, [r4, 0x1c]                               |     *((r4 + 0x1c)) = r6;
    0x00009496 movs r1, r0                                       |     r1 = r0;
    0x00009498 str r0, [r5, 0x3c]                                |     *((r5 + 0x3c)) = r0;
    0x0000949a movs r1, r0                                       |     r1 = r0;
    0x0000949c str r0, [r4, 0x3c]                                |     *((r4 + 0x3c)) = r0;
    0x0000949e movs r1, r0                                       |     r1 = r0;
    0x000094a0 str r0, [r3, 0x3c]                                |     *((r3 + 0x3c)) = r0;
    0x000094a2 movs r1, r0                                       |     r1 = r0;
    0x000094a4 str r2, [r2, 0x3c]                                |     *((r2 + 0x3c)) = r2;
    0x000094a6 movs r1, r0                                       |     r1 = r0;
    0x000094a8 strb r4, [r7, 0x1b]                               |     *((r7 + 0x1b)) = r4;
    0x000094aa movs r1, r0                                       |     r1 = r0;
    0x000094ac strb r6, [r5, 0x1b]                               |     *((r5 + 0x1b)) = r6;
    0x000094ae movs r1, r0                                       |     r1 = r0;
    0x000094b0 str r2, [r3, 0x40]                                |     *((r3 + 0x40)) = r2;
    0x000094b2 movs r1, r0                                       |     r1 = r0;
    0x000094b4 str r2, [r2, 0x38]                                |     *((r2 + 0x38)) = r2;
    0x000094b6 movs r1, r0                                       |     r1 = r0;
    0x000094b8 str r2, [r1, 0x38]                                |     *((r1 + 0x38)) = r2;
    0x000094ba movs r1, r0                                       |     r1 = r0;
    0x000094bc strb r0, [r7, r0]                                 |     *((r7 + r0)) = r0;
    0x000094be movs r1, r0                                       |     r1 = r0;
    0x000094c0 strb r2, [r6, r0]                                 |     *((r6 + r0)) = r2;
    0x000094c2 movs r1, r0                                       |     r1 = r0;
    0x000094c4 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x000094c8 mov r7, r0                                        |     r7 = r0;
    0x000094ca ldr.w r0, [pc, 0xa58]                             |     r0 = *(0x00009f24);
    0x000094ce sub sp, 0xf4                                      |     
    0x000094d0 add r5, sp, 0x84                                  |     r5 += var_84h_2;
    0x000094d2 mov r8, r1                                        |     r8 = r1;
    0x000094d4 ldr.w r3, [pc, 0xa50]                             |     
    0x000094d8 mov sb, r2                                        |     sb = r2;
    0x000094da add r0, pc                                        |     r0 += pc;
    0x000094dc ldr.w r6, [pc, 0xa4c]                             |     r6 = *(0x00009f2c);
    0x000094e0 movs r1, 0                                        |     r1 = 0;
    0x000094e2 movs r2, 0x34                                     |     r2 = 0x34;
    0x000094e4 ldr r3, [r0, r3]                                  |     r3 = *((r0 + r3));
    0x000094e6 mov r0, r5                                        |     r0 = r5;
    0x000094e8 add r6, pc                                        |     r6 += pc;
    0x000094ea ldr r3, [r3]                                      |     r3 = *(0x9f28);
    0x000094ec str r3, [sp, 0xec]                                |     var_ech = r3;
    0x000094ee mov.w r3, 0                                       |     r3 = 0;
    0x000094f2 blx 0x5a68                                        |     unit_load_state ();
    0x000094f6 movs r3, 0                                        |     r3 = 0;
    0x000094f8 strd r3, r3, [sp, 0x54]                           |     __asm ("strd r3, r3, [sp, 0x54]");
    0x000094fc blx 0x612c                                        |     r0 = fcn_0000612c ();
    0x00009500 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009502 beq.w 0x97c2                                      |         goto label_69;
                                                                 |     }
    0x00009506 ldr.w r3, [pc, 0xa28]                             |     r3 = *(0x9f32);
    0x0000950a ldr r3, [r6, r3]                                  |     r3 = *((r6 + r3));
    0x0000950c ldr.w sl, [r3]                                    |     sl = *(0x9f32);
    0x00009510 cmp.w sl, 0                                       |     
                                                                 |     if (sl != 0) {
    0x00009514 beq 0x9560                                        |         
    0x00009516 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x0000951a cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x0000951c bgt.w 0x9816                                      |             goto label_70;
                                                                 |         }
                                                                 | label_17:
    0x00009520 ldr r0, [sp, 0x58]                                |         r0 = var_58h;
    0x00009522 mvn r4, 0x15                                      |         r4 = ~0x15;
                                                                 |         if (r0 != 0) {
                                                                 | label_18:
    0x00009526 cbz r0, 0x952e                                    |             
                                                                 | label_33:
    0x00009528 blx 0x5dec                                        |             unit_file_state_to_string ();
    0x0000952c str r0, [sp, 0x58]                                |             var_58h = r0;
                                                                 |         }
                                                                 | label_26:
    0x0000952e ldr r0, [sp, 0x54]                                |         r0 = var_54h;
                                                                 |         if (r0 != 0) {
    0x00009530 cbz r0, 0x9538                                    |             
    0x00009532 blx 0x5dec                                        |             unit_file_state_to_string ();
    0x00009536 str r0, [sp, 0x54]                                |             var_54h = r0;
                                                                 |         }
    0x00009538 mov r0, r5                                        |         r0 = r5;
    0x0000953a blx 0x5820                                        |         fcn_00005820 ();
    0x0000953e ldr.w r2, [pc, 0x9f4]                             |         r2 = *(0x00009f34);
    0x00009542 ldr.w r3, [pc, 0x9e4]                             |         r3 = *(0x9f2a);
    0x00009546 add r2, pc                                        |         r2 += pc;
    0x00009548 ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x0000954a ldr r2, [r3]                                      |         r2 = *(0x9f2a);
    0x0000954c ldr r3, [sp, 0xec]                                |         r3 = var_ech;
    0x0000954e eors r2, r3                                       |         r2 ^= r3;
    0x00009550 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00009554 bne.w 0x9e42                                      |             goto label_71;
                                                                 |         }
    0x00009558 mov r0, r4                                        |         r0 = r4;
    0x0000955a add sp, 0xf4                                      |         
    0x0000955c pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 |     }
    0x00009560 ldr.w r3, [pc, 0x9d4]                             |     r3 = *(0x9f38);
    0x00009564 mov r0, r5                                        |     r0 = r5;
    0x00009566 ldr r2, [r6, r3]                                  |     r2 = *((r6 + r3));
    0x00009568 ldr.w r3, [pc, 0x9d0]                             |     r3 = *(0x9f3c);
    0x0000956c str r2, [sp, 0x1c]                                |     var_1ch = r2;
    0x0000956e ldr r1, [r6, r3]                                  |     r1 = *((r6 + r3));
    0x00009570 ldr r3, [r2]                                      |     r3 = *(r2);
    0x00009572 mov r2, sl                                        |     r2 = sl;
    0x00009574 str r1, [sp, 0x18]                                |     var_18h = r1;
    0x00009576 ldr r1, [r1]                                      |     r1 = *(r1);
    0x00009578 blx 0x606c                                        |     r0 = fcn_0000606c ();
    0x0000957c subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000957e blt.w 0x97fc                                      |         goto label_72;
                                                                 |     }
    0x00009582 blx 0x57a8                                        |     r0 = fcn_000057a8 ();
    0x00009586 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00009588 blt.w 0x97f8                                      |         goto label_27;
                                                                 |     }
    0x0000958c add r1, sp, 0x5c                                  |     r1 += var_5ch;
    0x0000958e movs r0, 1                                        |     r0 = 1;
    0x00009590 bl 0x1a334                                        |     r0 = fcn_0001a334 (r0, r1);
    0x00009594 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00009596 blt.w 0x97f8                                      |         goto label_27;
                                                                 |     }
    0x0000959a ldr r4, [sp, 0x5c]                                |     r4 = var_5ch;
    0x0000959c movs r1, 1                                        |     r1 = 1;
    0x0000959e mov r0, r8                                        |     r0 = r8;
    0x000095a0 blx 0x5ad4                                        |     sd_bus_message_get_bus ();
    0x000095a4 mov r2, sl                                        |     r2 = sl;
    0x000095a6 mov r1, r0                                        |     r1 = r0;
    0x000095a8 add r3, sp, 0x54                                  |     r3 += var_54h;
    0x000095aa mov r0, r4                                        |     r0 = r4;
    0x000095ac str.w sl, [sp]                                    |     __asm ("str.w sl, [sp]");
    0x000095b0 bl 0x1ba10                                        |     r0 = fcn_0001ba10 (r0, r1, r2, r3, r4, r5, r6);
    0x000095b4 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x000095b6 blt.w 0x9830                                      |         goto label_73;
                                                                 |     }
    0x000095ba ldr.w fp, [sp, 0x54]                              |     fp = var_54h;
    0x000095be cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x000095c2 beq.w 0x9888                                      |         goto label_74;
                                                                 |     }
    0x000095c6 ldr.w sl, [fp]                                    |     sl = *(fp);
    0x000095ca mov r2, sl                                        |     r2 = sl;
    0x000095cc cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x000095d0 beq.w 0x9888                                      |         goto label_74;
                                                                 |     }
                                                                 |     do {
    0x000095d4 ldr r0, [sp, 0x5c]                                |         r0 = var_5ch;
    0x000095d6 mov r1, r5                                        |         r1 = r5;
    0x000095d8 bl 0x1ada0                                        |         r0 = fcn_0001ada0 (r0, r1, r2);
    0x000095dc cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x000095de blt.w 0x9b30                                      |             goto label_75;
                                                                 |         }
                                                                 |         if (r0 != 0) {
    0x000095e2 bne.w 0x9b34                                      |             goto label_76;
                                                                 |         }
    0x000095e6 ldr r2, [fp, 4]!                                  |         r2 = *(arg_4h);
    0x000095ea cmp r2, 0                                         |         
    0x000095ec bne 0x95d4                                        |         
                                                                 |     } while (r2 != 0);
    0x000095ee ldr r3, [sp, 0x54]                                |     r3 = var_54h;
    0x000095f0 mov sl, r2                                        |     sl = r2;
    0x000095f2 strd r2, r2, [sp, 0x60]                           |     __asm ("strd r2, r2, [sp, 0x60]");
    0x000095f6 add r2, sp, 0xb8                                  |     r2 += path;
    0x000095f8 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x000095fa mov r4, r0                                        |     r4 = r0;
    0x000095fc str r3, [sp, 0x24]                                |     var_24h = r3;
    0x000095fe mov r0, r2                                        |     r0 = r2;
    0x00009600 ldr r3, [sp, 0x5c]                                |     r3 = var_5ch;
    0x00009602 movs r2, 0x34                                     |     r2 = 0x34;
    0x00009604 mov r1, sl                                        |     r1 = sl;
    0x00009606 mov fp, r3                                        |     
    0x00009608 blx 0x5a68                                        |     unit_load_state ();
    0x0000960c ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x0000960e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009610 beq.w 0x9c82                                      |         goto label_77;
                                                                 |     }
    0x00009614 ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x00009616 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x00009618 ldr r0, [sp, 0x20]                                |     r0 = var_20h;
    0x0000961a ldr r1, [r2]                                      |     r1 = *(r2);
    0x0000961c mov r2, sl                                        |     r2 = sl;
    0x0000961e ldr r3, [r3]                                      |     r3 = *(r3);
    0x00009620 blx 0x606c                                        |     r0 = fcn_0000606c ();
    0x00009624 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x00009626 blt.w 0x9944                                      |         goto label_37;
                                                                 |     }
    0x0000962a ldr r2, [sp, 0x24]                                |     r2 = var_24h;
    0x0000962c ldr r1, [r2]                                      |     r1 = *(r2);
    0x0000962e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00009630 beq.w 0x9d48                                      |         goto label_78;
                                                                 |     }
    0x00009634 ldr.w r3, [pc, 0x908]                             |     
    0x00009638 add r0, sp, 0x68                                  |     r0 += var_68h;
    0x0000963a str r0, [sp, 0x28]                                |     var_28h = r0;
    0x0000963c add r0, sp, 0x64                                  |     r0 += var_64h;
    0x0000963e str r0, [sp, 0x24]                                |     var_24h = r0;
    0x00009640 add r0, sp, 0x60                                  |     r0 += var_60h;
    0x00009642 add r3, pc                                        |     r3 = 0x13586;
    0x00009644 strd r8, sb, [sp, 0x38]                           |     __asm ("strd r8, sb, [sp, 0x38]");
    0x00009648 adds r3, 7                                        |     r3 += 7;
    0x0000964a mov sb, r6                                        |     sb = r6;
    0x0000964c str r3, [sp, 0x48]                                |     var_48h = r3;
    0x0000964e ldr.w r3, [pc, 0x8f4]                             |     
    0x00009652 str.w sl, [sp, 0x44]                              |     __asm ("str.w sl, [var_44h]");
    0x00009656 mov sl, fp                                        |     sl = fp;
    0x00009658 str r5, [sp, 0x40]                                |     var_40h_2 = r5;
    0x0000965a mov r5, r2                                        |     r5 = r2;
    0x0000965c add r3, pc                                        |     r3 = 0x135a6;
    0x0000965e ldr.w r8, [sp, 0x20]                              |     r8 = var_20h;
    0x00009662 str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x00009664 add r3, sp, 0x78                                  |     r3 += var_78h;
    0x00009666 mov r6, r3                                        |     r6 = r3;
    0x00009668 str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x0000966a strd r4, r7, [sp, 0x30]                           |     __asm ("strd r4, r7, [sp, 0x30]");
    0x0000966e b 0x972a                                          |     
                                                                 |     while (r4 != 0) {
    0x00009670 mov r0, r4                                        |         r0 = r4;
    0x00009672 blx 0x6608                                        |         cxa_finalize ();
    0x00009676 ldr r4, [r5]                                      |         r4 = *(r5);
    0x00009678 mov r7, r0                                        |         r7 = r0;
    0x0000967a movs r1, 4                                        |         r1 = 4;
    0x0000967c mov r0, r4                                        |         r0 = r4;
    0x0000967e blx 0x6620                                        |         r0 = special_glyph ();
                                                                 |         if (r0 != 0) {
    0x00009682 cbz r0, 0x9692                                    |             
    0x00009684 movs r1, 2                                        |             r1 = 2;
    0x00009686 mov r0, r7                                        |             r0 = r7;
    0x00009688 blx 0x6620                                        |             r0 = special_glyph ();
    0x0000968c cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000968e bne.w 0x9c48                                      |                 goto label_79;
                                                                 |             }
                                                                 |         }
    0x00009692 ldr.w r3, [pc, 0x8b4]                             |         r3 = *(0x9f4a);
    0x00009696 ldr.w fp, [sp, 0x68]                              |         fp = var_68h;
    0x0000969a ldr.w r3, [sb, r3]                                |         r3 = *((sb + r3));
    0x0000969e ldrb r4, [r3]                                     |         r4 = *(r3);
    0x000096a0 cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x000096a2 beq.w 0x98c6                                      |             goto label_80;
                                                                 |         }
    0x000096a6 movs r3, 0                                        |         r3 = 0;
    0x000096a8 strd r3, r3, [sp, 0x7c]                           |         __asm ("strd r3, r3, [sp, 0x7c]");
    0x000096ac cmp.w fp, 0                                       |         
                                                                 |         if (fp == 0) {
    0x000096b0 beq.w 0x9cb8                                      |             goto label_81;
                                                                 |         }
    0x000096b4 cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x000096b6 beq.w 0x9d24                                      |             goto label_82;
                                                                 |         }
    0x000096ba mov r1, r7                                        |         r1 = r7;
    0x000096bc add r2, sp, 0x7c                                  |         r2 += var_7ch;
    0x000096be mov r0, r8                                        |         r0 = r8;
    0x000096c0 bl 0x860c                                         |         r0 = fcn_0000860c (r0, r1, r2);
    0x000096c4 subs r1, r0, 0                                    |         r1 = r0 - 0;
                                                                 |         if (r1 < r0) {
    0x000096c6 blt.w 0x98f0                                      |             goto label_83;
                                                                 |         }
    0x000096ca ldr r4, [sp, 0x7c]                                |         r4 = var_7ch;
    0x000096cc mov r0, fp                                        |         r0 = fp;
    0x000096ce mov r1, r4                                        |         r1 = r4;
    0x000096d0 blx 0x633c                                        |         fcn_0000633c ();
    0x000096d2 mrc p1, 1, fp, c4, c0, 1                          |         __asm ("mrc p1, 1, fp, c4, c0, 1");
    0x000096d6 movs r1, 0                                        |         r1 = 0;
    0x000096d8 mov r0, r4                                        |         r0 = r4;
    0x000096da blx 0x5c2c                                        |         r0 = fcn_00005c2c ();
    0x000096de cmp r0, 0                                         |         
                                                                 |         if (r0 >= 0) {
    0x000096e0 bge.w 0x9cce                                      |             goto label_84;
                                                                 |         }
                                                                 | label_35:
    0x000096e4 mov r1, fp                                        |         r1 = fp;
    0x000096e6 add r3, sp, 0x80                                  |         r3 += var_80h;
    0x000096e8 movs r2, 0                                        |         r2 = 0;
    0x000096ea mov r0, r4                                        |         r0 = r4;
    0x000096ec bl 0x8a1c                                         |         r0 = fcn_00008a1c (r0, r1, r2, r3);
    0x000096f0 subs r1, r0, 0                                    |         r1 = r0 - 0;
                                                                 |         if (r1 < r0) {
    0x000096f2 blt.w 0x9c9e                                      |             goto label_85;
                                                                 |         }
    0x000096f6 ldr r7, [sp, 0x80]                                |         r7 = var_80h;
    0x000096f8 str r4, [sp, 0x6c]                                |         var_6ch = r4;
    0x000096fa str r7, [sp, 0x70]                                |         var_70h = r7;
                                                                 | label_16:
    0x000096fc mov r2, r7                                        |         r2 = r7;
    0x000096fe mov r1, r4                                        |         r1 = r4;
    0x00009700 add r0, sp, 0x58                                  |         r0 += var_58h;
    0x00009702 blx 0x6078                                        |         r0 = fcn_00006078 ();
    0x00009706 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00009708 blt.w 0x9db8                                      |             goto label_86;
                                                                 |         }
    0x0000970c ldr r0, [sp, 0x78]                                |         r0 = var_78h;
                                                                 |         if (r0 != 0) {
    0x0000970e cbz r0, 0x9714                                    |             
    0x00009710 blx 0x5dec                                        |             unit_file_state_to_string ();
                                                                 |         }
    0x00009714 ldr r0, [sp, 0x74]                                |         r0 = var_74h;
    0x00009716 blx 0x5be4                                        |         fcn_00005be4 ();
    0x0000971a ldr r0, [sp, 0x68]                                |         r0 = var_68h;
    0x0000971c blx 0x5be4                                        |         fcn_00005be4 ();
    0x00009720 ldr r1, [r5, 4]!                                  |         r1 = *((r5 += 4));
    0x00009724 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x00009726 beq.w 0x9d3a                                      |             goto label_87;
                                                                 |         }
    0x0000972a ldr r3, [sp, 0x28]                                |         r3 = var_28h;
    0x0000972c mov r2, r8                                        |         r2 = r8;
    0x0000972e mov r0, sl                                        |         r0 = sl;
    0x00009730 str r6, [sp, 0xc]                                 |         var_ch = r6;
    0x00009732 str r3, [sp, 8]                                   |         var_8h = r3;
    0x00009734 ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00009736 str r3, [sp, 4]                                   |         var_sp_4h = r3;
    0x00009738 ldr r3, [sp, 0x1c]                                |         r3 = var_1ch;
    0x0000973a str r3, [sp]                                      |         *(sp) = r3;
    0x0000973c movs r3, 0                                        |         r3 = 0;
    0x0000973e strd r3, r3, [sp, 0x68]                           |         __asm ("strd r3, r3, [sp, 0x68]");
    0x00009742 strd r3, r3, [sp, 0x70]                           |         __asm ("strd r3, r3, [sp, 0x70]");
    0x00009746 str r3, [sp, 0x78]                                |         var_78h = r3;
    0x00009748 bl 0x1bd00                                        |         r0 = fcn_0001bd00 (r0, r1, r2, r3, r4, r5, r6);
    0x0000974c cmn.w r0, 0x81                                    |         
    0x0000974e lsrs r1, r0, 0x1e                                 |         r1 = r0 >> 0x1e;
    0x00009750 mov r1, r0                                        |         r1 = r0;
                                                                 |         if (r1 == r0) {
    0x00009752 beq.w 0x989a                                      |             goto label_88;
                                                                 |         }
                                                                 | label_22:
    0x00009756 cmn.w r1, 0x84                                    |         
                                                                 |         if (r1 == 0x84) {
    0x0000975a beq.w 0x9d66                                      |             goto label_89;
                                                                 |         }
    0x0000975e cmp r1, 0                                         |         
                                                                 |         if (r1 < 0) {
    0x00009760 blt.w 0x9d4c                                      |             goto label_90;
                                                                 |         }
    0x00009764 ldr r4, [sp, 0x68]                                |         r4 = var_68h;
    0x00009766 cmp r4, 0                                         |         
    0x00009768 bne 0x9670                                        |         
                                                                 |     }
    0x0000976a ldr.w r3, [pc, 0x7e0]                             |     
    0x0000976e ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x00009772 ldr r3, [r3]                                      |     r3 = *(0x9f4e);
    0x00009774 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009776 beq.w 0x9de4                                      |         goto label_91;
                                                                 |     }
    0x0000977a ldr.w r3, [pc, 0x7cc]                             |     r3 = *(0x9f4a);
    0x0000977e ldr r1, [r5]                                      |     r1 = *(r5);
    0x00009780 ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x00009784 ldrb r3, [r3]                                     |     r3 = *(r3);
                                                                 |     if (r3 == 0) {
    0x00009786 cbnz r3, 0x978e                                   |         
    0x00009788 ldr.w r4, [pc, 0x7c4]                             |         
    0x0000978c add r4, pc                                        |         r4 = 0x136e0;
                                                                 |     }
    0x0000978e add r3, sp, 0x70                                  |     r3 += var_70h;
    0x00009790 mov r2, r4                                        |     r2 = r4;
    0x00009792 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009794 add r3, sp, 0x6c                                  |     r3 += var_6ch;
    0x00009796 str r3, [sp]                                      |     *(sp) = r3;
    0x00009798 mov r0, r8                                        |     r0 = r8;
    0x0000979a movs r3, 0                                        |     r3 = 0;
    0x0000979c bl 0x8f20                                         |     r0 = fcn_00008f20 (r0, r1, r2, r3, r4, r5);
    0x000097a0 mov r1, r0                                        |     r1 = r0;
                                                                 | label_23:
    0x000097a2 cmp r1, 0                                         |     
    0x000097a4 ldrd r4, r7, [sp, 0x6c]                           |     __asm ("ldrd r4, r7, [var_6ch]");
                                                                 |     if (r1 >= 0) {
    0x000097a8 bge 0x96fc                                        |         goto label_16;
                                                                 |     }
    0x000097aa mov r2, r7                                        |     r2 = r7;
    0x000097ac mov fp, r4                                        |     
    0x000097ae mov r6, sb                                        |     r6 = sb;
    0x000097b0 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x000097b4 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x000097b8 mov r3, r1                                        |     r3 = r1;
    0x000097ba ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x000097be mov sl, r2                                        |     sl = r2;
    0x000097c0 b 0x991c                                          |     goto label_36;
                                                                 | label_69:
    0x000097c2 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000097c6 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000097c8 ble.w 0x9520                                      |         goto label_17;
                                                                 |     }
    0x000097cc ldr.w r2, [pc, 0x784]                             |     
    0x000097d0 movs r1, 0x16                                     |     r1 = 0x16;
    0x000097d2 ldr.w r4, [pc, 0x784]                             |     
    0x000097d4 invalid                                           |     
    0x000097d8 asrs r5, r7, 0xf                                  |     r5 = r7 >> 0xf;
    0x000097da ldr.w r0, [pc, 0x780]                             |     
    0x000097de add r2, pc                                        |     r2 = 0x13736;
    0x000097e0 add r4, pc                                        |     r4 = 0x1373e;
    0x000097e2 add r0, pc                                        |     r0 = 0x13744;
                                                                 | label_19:
    0x000097e4 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x000097e8 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x000097ec adds r2, 7                                        |     r2 += 7;
    0x000097ee movs r0, 3                                        |     r0 = 3;
    0x000097f0 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000097f4 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x000097f6 bge 0x980e                                        |         goto label_29;
                                                                 |     }
                                                                 |     do {
                                                                 | label_27:
    0x000097f8 ldr r0, [sp, 0x58]                                |         r0 = var_58h;
    0x000097fa b 0x9526                                          |         goto label_18;
                                                                 | label_72:
    0x000097fc blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00009800 cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x00009802 bgt 0x9860                                        |             goto label_92;
                                                                 |         }
                                                                 | label_20:
    0x00009804 rsbs r4, r4, 0                                    |         r4 -= ;
    0x00009806 uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x00009808 rsbs r4, r4, 0                                    |         r4 -= ;
                                                                 | label_21:
    0x0000980a cmp r4, 0                                         |         
    0x0000980c blt 0x97f8                                        |         
                                                                 |     } while (r4 < 0);
                                                                 | label_29:
    0x0000980e ldr r0, [sp, 0x58]                                |     r0 = var_58h;
    0x00009810 mvn r4, 0x55                                      |     r4 = ~0x55;
    0x00009814 b 0x9526                                          |     goto label_18;
                                                                 | label_70:
    0x00009816 ldr.w r2, [pc, 0x748]                             |     
    0x0000981a movs r1, 0x16                                     |     r1 = 0x16;
    0x0000981c ldr.w r4, [pc, 0x744]                             |     
    0x00009820 mov.w r3, 0x200                                   |     r3 = 0x200;
    0x00009824 ldr.w r0, [pc, 0x740]                             |     
    0x00009828 add r2, pc                                        |     r2 = 0x1378e;
    0x0000982a add r4, pc                                        |     r4 = 0x13792;
    0x0000982c add r0, pc                                        |     r0 = 0x13798;
    0x0000982e b 0x97e4                                          |     goto label_19;
                                                                 | label_73:
    0x00009830 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009834 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00009836 ble 0x9804                                        |         goto label_20;
                                                                 |     }
    0x00009838 ldr.w r2, [pc, 0x730]                             |     
    0x0000983c mov r1, r4                                        |     r1 = r4;
    0x0000983e ldr.w r0, [pc, 0x730]                             |     
    0x00009842 ldr.w r3, [pc, 0x730]                             |     
    0x00009846 add r2, pc                                        |     r2 = 0x137b6;
    0x00009848 add r0, pc                                        |     r0 = 0x137be;
    0x0000984a adds r2, 7                                        |     r2 += 7;
    0x0000984c add r3, pc                                        |     r3 = 0x137c6;
    0x0000984e strd r3, r0, [sp]                                 |     __asm ("strd r3, r0, [sp]");
    0x00009852 mov.w r3, 0x210                                   |     r3 = 0x210;
    0x00009856 movs r0, 3                                        |     r0 = 3;
    0x00009858 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x0000985c mov r4, r0                                        |     r4 = r0;
    0x0000985e b 0x980a                                          |     goto label_21;
                                                                 | label_92:
    0x00009860 ldr.w r2, [pc, 0x714]                             |     
    0x00009864 mov r1, r4                                        |     r1 = r4;
    0x00009866 ldr.w r0, [pc, 0x714]                             |     
    0x0000986a ldr.w r3, [pc, 0x714]                             |     
    0x0000986e add r2, pc                                        |     r2 = 0x137ea;
    0x00009870 add r0, pc                                        |     r0 = 0x137f2;
    0x00009872 adds r2, 7                                        |     r2 += 7;
    0x00009874 add r3, pc                                        |     r3 = 0x137fa;
    0x00009876 strd r3, r0, [sp]                                 |     __asm ("strd r3, r0, [sp]");
    0x0000987a mov.w r3, 0x204                                   |     r3 = 0x204;
    0x0000987e movs r0, 3                                        |     r0 = 3;
    0x00009880 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00009884 mov r4, r0                                        |     r4 = r0;
    0x00009886 b 0x980a                                          |     goto label_21;
                                                                 | label_74:
    0x00009888 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x0000988c cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x0000988e bgt.w 0x9b74                                      |         goto label_93;
                                                                 |     }
    0x00009892 ldr r0, [sp, 0x58]                                |     r0 = var_58h;
    0x00009894 mvn r4, 1                                         |     r4 = ~1;
    0x00009898 b 0x9526                                          |     goto label_18;
                                                                 | label_88:
    0x0000989a str r0, [sp, 0x2c]                                |     var_2ch = r0;
    0x0000989c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000098a0 cmp r0, 6                                         |     
    0x000098a2 ldr r1, [sp, 0x2c]                                |     r1 = var_2ch;
                                                                 |     if (r0 > 6) {
    0x000098a4 bgt.w 0x9bb4                                      |         goto label_94;
                                                                 |     }
                                                                 | label_30:
    0x000098a8 ldr r3, [sp, 0x28]                                |     r3 = var_28h;
    0x000098aa mov r2, r8                                        |     r2 = r8;
    0x000098ac ldr r1, [r5]                                      |     r1 = *(r5);
    0x000098ae mov r0, sl                                        |     r0 = sl;
    0x000098b0 str r6, [sp, 0xc]                                 |     var_ch = r6;
    0x000098b2 str r3, [sp, 8]                                   |     var_8h = r3;
    0x000098b4 ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x000098b6 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x000098b8 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x000098ba str r3, [sp]                                      |     *(sp) = r3;
    0x000098bc movs r3, 1                                        |     r3 = 1;
    0x000098be bl 0x1bd00                                        |     r0 = fcn_0001bd00 (r0, r1, r2, r3, r4, r5, r6);
    0x000098c2 mov r1, r0                                        |     r1 = r0;
    0x000098c4 b 0x9756                                          |     goto label_22;
                                                                 | label_80:
    0x000098c6 mov r1, fp                                        |     r1 = fp;
    0x000098c8 mov r0, r6                                        |     r0 = r6;
    0x000098ca blx 0x6108                                        |     r0 = fcn_00006108 ();
    0x000098ce cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x000098d0 blt.w 0x9e60                                      |         goto label_95;
                                                                 |     }
    0x000098d4 ldr.w r2, [pc, 0x6ac]                             |     
    0x000098d8 add r3, sp, 0x70                                  |     r3 += var_70h;
    0x000098da str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x000098dc add r3, sp, 0x6c                                  |     r3 += var_6ch;
    0x000098de mov r1, r7                                        |     r1 = r7;
    0x000098e0 str r3, [sp]                                      |     *(sp) = r3;
    0x000098e2 add r2, pc                                        |     r2 = 0x1386a;
    0x000098e4 ldr r3, [sp, 0x78]                                |     r3 = var_78h;
    0x000098e6 mov r0, r8                                        |     r0 = r8;
    0x000098e8 bl 0x8f20                                         |     r0 = fcn_00008f20 (r0, r1, r2, r3, r4, r5);
    0x000098ec mov r1, r0                                        |     r1 = r0;
    0x000098ee b 0x97a2                                          |     goto label_23;
                                                                 | label_83:
    0x000098f0 mov r6, sb                                        |     r6 = sb;
    0x000098f2 ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x000098f4 adr r0, 0x110                                     |     r0 = 0x110;
    0x000098f6 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x000098f8 bx r1                                             |     return uint32_t (*r1)() ();
    0x000098fa mov r3, r1                                        |     r3 = r1;
    0x000098fc ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009900 movs r0, 0                                        |     r0 = 0;
    0x00009902 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009906 ldr.w fp, [sp, 0x7c]                              |     fp = var_7ch;
                                                                 | label_34:
    0x0000990a str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0000990c blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009910 mov r0, fp                                        |     r0 = fp;
    0x00009912 mov.w fp, 0                                       |     
    0x00009916 blx 0x5be4                                        |     fcn_00005be4 ();
    0x0000991a ldr r3, [sp, 0x18]                                |     r3 = var_18h;
                                                                 | label_36:
    0x0000991c ldr r0, [sp, 0x78]                                |     r0 = var_78h;
                                                                 |     if (r0 != 0) {
    0x0000991e cbz r0, 0x9928                                    |         
    0x00009920 str r3, [sp, 0x18]                                |         var_18h = r3;
    0x00009922 blx 0x5dec                                        |         unit_file_state_to_string ();
    0x00009926 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
                                                                 |     }
    0x00009928 ldr r0, [sp, 0x74]                                |     r0 = var_74h;
    0x0000992a str r3, [sp, 0x18]                                |     var_18h = r3;
    0x0000992c blx 0x5be4                                        |     fcn_00005be4 ();
    0x0000992e ldrd r4, r6, [sl, -0x140]                         |     __asm ("ldrd r4, r6, [sl, -0x140]");
    0x00009932 blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009936 mov r0, fp                                        |     r0 = fp;
    0x00009938 blx 0x5be4                                        |     fcn_00005be4 ();
    0x0000993c ldr r0, [sp, 0x68]                                |     r0 = var_68h;
    0x0000993e blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009942 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
                                                                 | label_37:
    0x00009944 ldr r0, [sp, 0x20]                                |     r0 = var_20h;
    0x00009946 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x00009948 blx 0x5820                                        |     fcn_00005820 ();
    0x0000994c ldr r0, [sp, 0x64]                                |     r0 = var_64h;
    0x0000994e ldr r3, [sp, 0x18]                                |     r3 = var_18h;
                                                                 |     if (r0 != 0) {
    0x00009950 cbz r0, 0x995e                                    |         
    0x00009952 movs r2, 0                                        |         r2 = 0;
    0x00009954 mov r1, r2                                        |         r1 = r2;
    0x00009956 blx 0x648c                                        |         fcn_0000648c ();
    0x0000995a ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x0000995c str r0, [sp, 0x64]                                |         var_64h = r0;
                                                                 |     }
    0x0000995e ldr r0, [sp, 0x60]                                |     r0 = var_60h;
                                                                 |     if (r0 != 0) {
    0x00009960 cbz r0, 0x996e                                    |         
    0x00009962 movs r2, 0                                        |         r2 = 0;
    0x00009964 str r3, [sp, 0x18]                                |         var_18h = r3;
    0x00009966 mov r1, r2                                        |         r1 = r2;
    0x00009968 blx 0x648c                                        |         fcn_0000648c ();
    0x0000996c ldr r3, [sp, 0x18]                                |         r3 = var_18h;
                                                                 |     }
    0x0000996e cmp r3, 0                                         |     
    0x00009970 ldr r0, [sp, 0x58]                                |     r0 = var_58h;
                                                                 |     if (r3 < 0) {
    0x00009972 blt.w 0x9c74                                      |         goto label_96;
                                                                 |     }
    0x00009976 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009978 beq.w 0x9c78                                      |         goto label_97;
                                                                 |     }
    0x0000997c ldr r3, [r0]                                      |     r3 = *(r0);
    0x0000997e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009980 beq.w 0x9c98                                      |         goto label_98;
                                                                 |     }
    0x00009984 bl 0x873c                                         |     r0 = fcn_0000873c (r0);
    0x00009988 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0000998a blt.w 0x9c7e                                      |         goto label_99;
                                                                 |     }
    0x0000998e ldr r3, [sp, 0x58]                                |     r3 = var_58h;
    0x00009990 mov sl, r3                                        |     sl = r3;
    0x00009992 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009994 beq.w 0x9c02                                      |         goto label_100;
                                                                 |     }
    0x00009998 ldr.w r3, [pc, 0x5ec]                             |     
    0x0000999c add.w fp, sl, 4                                   |     
    0x000099a0 ldr.w r2, [pc, 0x5e8]                             |     
    0x000099a4 ldr.w r1, [pc, 0x5e8]                             |     
    0x000099a8 add r3, pc                                        |     r3 = 0x13934;
    0x000099aa str r4, [sp, 0x28]                                |     var_28h = r4;
    0x000099ac adds r3, 7                                        |     r3 += 7;
    0x000099ae add r2, pc                                        |     r2 = 0x1393e;
    0x000099b0 str r3, [sp, 0x18]                                |     var_18h = r3;
    0x000099b2 add r1, pc                                        |     r1 = 0x13946;
    0x000099b4 ldr.w r3, [pc, 0x5dc]                             |     
    0x000099b8 mov r4, sl                                        |     r4 = sl;
    0x000099ba strd r7, r8, [sp, 0x2c]                           |     __asm ("strd r7, r8, [sp, 0x2c]");
    0x000099be mov r8, r2                                        |     r8 = r2;
    0x000099c0 str.w sb, [sp, 0x34]                              |     __asm ("str.w sb, [var_34h]");
    0x000099c4 mov sb, r1                                        |     sb = r1;
    0x000099c6 add r3, pc                                        |     r3 = 0x1395e;
    0x000099c8 str r6, [sp, 0x1c]                                |     var_1ch = r6;
    0x000099ca adds r3, 7                                        |     r3 += 7;
    0x000099cc str r5, [sp, 0x24]                                |     var_24h = r5;
    0x000099ce str r3, [sp, 0x38]                                |     var_38h_2 = r3;
    0x000099d0 b 0x9a04                                          |     
                                                                 |     while (r7 != r0) {
    0x000099d2 mov r1, r5                                        |         r1 = r5;
    0x000099d4 movs r3, 0                                        |         r3 = 0;
    0x000099d6 movs r2, 0xb                                      |         r2 = 0xb;
    0x000099d8 mov r0, r6                                        |         r0 = r6;
    0x000099da blx 0x58f8                                        |         r0 = fcn_000058f8 ();
    0x000099de subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 < r0) {
    0x000099e0 blt.w 0x9bd0                                      |             goto label_101;
                                                                 |         }
    0x000099e4 ldr r0, [sp, 0xb8]                                |         r0 = path;
    0x000099e6 blx 0x5be4                                        |         fcn_00005be4 ();
                                                                 | label_24:
    0x000099ea ldr r0, [r4, 4]                                   |         r0 = *((r4 + 4));
    0x000099ec blx 0x65fc                                        |         r0 = unit_name_is_valid ();
    0x000099f0 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000099f2 beq 0x9a88                                        |             goto label_102;
                                                                 |         }
    0x000099f4 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x000099f8 cmp r0, 3                                         |         
                                                                 |         if (r0 > 3) {
    0x000099fa bgt.w 0x9b8e                                      |             goto label_103;
                                                                 |         }
                                                                 | label_25:
    0x000099fe adds r4, 8                                        |         r4 += 8;
    0x00009a00 add.w fp, fp, 8                                   |         
    0x00009a04 ldr r3, [fp, -0x4]                                |         r3 = *((fp - 0x4));
    0x00009a08 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00009a0a beq.w 0x9bf6                                      |             goto label_104;
                                                                 |         }
    0x00009a0e ldr r6, [r4, 4]                                   |         r6 = *((r4 + 4));
    0x00009a10 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x00009a12 beq.w 0x9bf6                                      |             goto label_104;
                                                                 |         }
    0x00009a16 ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x00009a18 mov r1, r6                                        |         r1 = r6;
    0x00009a1a mvn r0, 0x63                                      |         r0 = ~0x63;
    0x00009a1e mov.w r2, -1                                      |         r2 = -1;
    0x00009a22 str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x00009a24 movs r3, 0                                        |         r3 = 0;
    0x00009a26 str r3, [sp, 0x10]                                |         var_10h = r3;
    0x00009a28 strd r3, r3, [sp, 4]                              |         __asm ("strd r3, r3, [sp, 4]");
    0x00009a2c str r3, [sp, 0xb8]                                |         path = r3;
    0x00009a2e mov.w r3, -1                                      |         r3 = -1;
    0x00009a32 str r3, [sp]                                      |         *(sp) = r3;
    0x00009a34 mov.w r3, -1                                      |         r3 = -1;
    0x00009a38 blx 0x5bd4                                        |         r0 = fcn_00005bd4 ();
    0x00009a3c subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 < r0) {
    0x00009a3e blt 0x9b06                                        |             goto label_105;
                                                                 |         }
    0x00009a40 ldr r5, [sp, 0xb8]                                |         r5 = path;
    0x00009a42 mov r0, r5                                        |         r0 = r5;
    0x00009a44 blx 0x5d5c                                        |         unlink (r0);
    0x00009a48 mov r1, r8                                        |         r1 = r8;
    0x00009a4a mov r7, r0                                        |         r7 = r0;
    0x00009a4c mov r0, r5                                        |         r0 = r5;
    0x00009a4e blx 0x5fc4                                        |         r0 = fcn_00005fc4 ();
                                                                 |         if (r0 != 0) {
    0x00009a52 cbz r0, 0x9a58                                    |             
    0x00009a54 add.w r5, r0, 0x58                                |             r5 = r0 + 0x58;
                                                                 |         }
    0x00009a58 mov r1, sb                                        |         r1 = sb;
    0x00009a5a mov r0, r5                                        |         r0 = r5;
    0x00009a5c blx 0x5fc4                                        |         fcn_00005fc4 ();
    0x00009a5e invalid                                           |         
    0x00009a62 subs r1, r0, r5                                   |         r1 = r0 - r5;
    0x00009a64 mov r0, r5                                        |         r0 = r5;
    0x00009a66 blx 0x61e0                                        |         fcn_000061e0 ();
    0x00009a68 invalid                                           |         
    0x00009a6a mov r0, r5                                        |         r0 = r5;
    0x00009a6c blx 0x63e4                                        |         fcn_000063e4 ();
    0x00009a6e ldc p8, c15, [sl], 0x374                          |         __asm ("ldc p8, c15, [sl], 0x374");
    0x00009a72 adr r0, 0x2e0                                     |         r0 = 0x2e0;
    0x00009a74 mov r5, r0                                        |         r5 = r0;
    0x00009a76 mov r0, sl                                        |         r0 = sl;
    0x00009a78 blx 0x5d5c                                        |         r0 = unlink (r0);
    0x00009a7c cmp r7, r0                                        |         
    0x00009a7e bne 0x99d2                                        |         
                                                                 |     }
    0x00009a80 mov r0, sl                                        |     r0 = sl;
    0x00009a82 blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009a86 b 0x99ea                                          |     goto label_24;
                                                                 | label_102:
    0x00009a88 ldr r1, [fp, -0x4]                                |     r1 = *((fp - 0x4));
    0x00009a8c ldr r0, [r4, 4]                                   |     r0 = *((r4 + 4));
    0x00009a8e blx 0x5970                                        |     r0 = fcn_00005970 ();
    0x00009a92 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x00009a94 bge 0x99fe                                        |         goto label_25;
                                                                 |     }
    0x00009a96 blx 0x65bc                                        |     fcn_000065bc ();
    0x00009a9a mov sl, r4                                        |     sl = r4;
    0x00009a9c ldr r4, [r0]                                      |     r4 = *(r0);
    0x00009a9e blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009aa2 cmp r0, 2                                         |     
    0x00009aa4 ldr r6, [sp, 0x1c]                                |     r6 = var_1ch;
    0x00009aa6 ldr r5, [sp, 0x24]                                |     r5 = var_24h;
                                                                 |     if (r0 > 2) {
    0x00009aa8 bgt.w 0x9ec6                                      |         goto label_106;
                                                                 |     }
    0x00009aaa strh r5, [r1, 0x10]                               |     *((r1 + 0x10)) = r5;
    0x00009aac cmp r4, 0                                         |     
    0x00009aae it lt                                             |     
                                                                 |     if (r4 < 0) {
    0x00009ab0 rsblt r4, r4, 0                                   |         __asm ("rsblt r4, r4, 0");
                                                                 |     }
    0x00009ab2 uxtb r4, r4                                       |     r4 = (int8_t) r4;
    0x00009ab4 rsbs r4, r4, 0                                    |     r4 -= ;
                                                                 | label_38:
    0x00009ab6 cmp r4, 0                                         |     
    0x00009ab8 it ge                                             |     
                                                                 |     if (r4 < 0) {
    0x00009aba mvnge r4, 0x55                                    |         r4 = ~0x55;
                                                                 |     }
                                                                 | label_32:
    0x00009abe ldr r0, [sp, 0x58]                                |     r0 = var_58h;
    0x00009ac0 add.w r7, r0, 8                                   |     r7 = r0 + 8;
                                                                 |     if (r0 == 0) {
    0x00009ac4 cbnz r0, 0x9aca                                   |         
    0x00009ac6 b 0x952e                                          |         goto label_26;
                                                                 | label_28:
    0x00009ac8 adds r7, 8                                        |         r7 += 8;
                                                                 |     }
    0x00009aca ldr r3, [r7, -0x8]                                |     r3 = *((r7 - 0x8));
    0x00009ace cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00009ad0 beq.w 0x97f8                                      |         goto label_27;
                                                                 |     }
    0x00009ad4 ldr r0, [r7, -0x4]                                |     r0 = *((r7 - 0x4));
    0x00009ad8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009ada beq.w 0x97f8                                      |         goto label_27;
                                                                 |     }
    0x00009ade blx 0x5d74                                        |     touch ();
    0x00009ae2 ldr.w r3, [pc, 0x464]                             |     r3 = *(0x9f4a);
    0x00009ae6 ldr r3, [r6, r3]                                  |     r3 = *((r6 + r3));
    0x00009ae8 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00009aea cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00009aec bne 0x9ac8                                        |         goto label_28;
                                                                 |     }
    0x00009aee ldr r0, [r7, -0x8]                                |     r0 = *((r7 - 0x8));
    0x00009af2 blx 0x5b58                                        |     r0 = bus_message_print_all_properties ();
    0x00009af6 mov r8, r0                                        |     r8 = r0;
                                                                 |     if (r0 != 0) {
    0x00009af8 cbz r0, 0x9b18                                    |         
    0x00009afa blx 0x61f8                                        |         fcn_000061f8 ();
    0x00009afe mov r0, r8                                        |         r0 = r8;
    0x00009b00 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00009b04 b 0x9ac8                                          |         goto label_28;
                                                                 | label_105:
    0x00009b06 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00009b0a cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x00009b0c bgt.w 0x9c26                                      |             goto label_107;
                                                                 |         }
                                                                 | label_31:
    0x00009b10 ldr r0, [sp, 0xb8]                                |         r0 = path;
    0x00009b12 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00009b14 strd lr, r7, [r8], -0x1c8                         |         __asm ("strd lr, r7, [r8], -0x1c8");
    0x00009b16 b 0x99fe                                          |         goto label_25;
                                                                 |     }
    0x00009b18 ldr.w r1, [pc, 0x47c]                             |     
    0x00009b1c movw r2, 0x249                                    |     r2 = 0x249;
    0x00009b20 ldr.w r3, [pc, 0x478]                             |     
    0x00009b24 movs r0, 3                                        |     r0 = 3;
    0x00009b26 add r1, pc                                        |     r1 = 0x13ac2;
    0x00009b28 add r3, pc                                        |     r3 = 0x13ac8;
    0x00009b2a adds r1, 7                                        |     r1 += 7;
    0x00009b2c blx 0x65cc                                        |     r0 = fflush_and_check ();
                                                                 | label_75:
    0x00009b30 mov r4, r0                                        |     r4 = r0;
    0x00009b32 b 0x97f8                                          |     goto label_27;
                                                                 | label_76:
    0x00009b34 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009b38 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00009b3a ble.w 0x9520                                      |         goto label_17;
                                                                 |     }
    0x00009b3e ldr.w r3, [pc, 0x460]                             |     
    0x00009b42 ldr.w r1, [fp]                                    |     r1 = *(fp);
    0x00009b46 ldr.w r2, [pc, 0x45c]                             |     
    0x00009b48 movs r4, 0x5c                                     |     r4 = 0x5c;
    0x00009b4a ldr.w r0, [pc, 0x45c]                             |     
    0x00009b4e add r3, pc                                        |     r3 = 0x13af4;
    0x00009b50 strd r3, r1, [sp, 4]                              |     __asm ("strd r3, r1, [sp, 4]");
    0x00009b54 movs r1, 0x16                                     |     r1 = 0x16;
    0x00009b56 add r2, pc                                        |     r2 = 0x13b00;
    0x00009b58 movw r3, 0x219                                    |     r3 = 0x219;
    0x00009b5a movs r3, 0x19                                     |     r3 = 0x19;
    0x00009b5c add r0, pc                                        |     r0 = 0x13b0a;
    0x00009b5e adds r2, 7                                        |     r2 += 7;
    0x00009b60 str r0, [sp]                                      |     *(sp) = r0;
    0x00009b62 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x00009b64 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00009b66 movs r0, 3                                        |     r0 = 3;
    0x00009b68 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00009b6c subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x00009b6e bge.w 0x980e                                      |         goto label_29;
                                                                 |     }
    0x00009b72 b 0x97f8                                          |     goto label_27;
                                                                 | label_93:
    0x00009b74 ldr.w r2, [pc, 0x434]                             |     
    0x00009b78 movs r1, 2                                        |     r1 = 2;
    0x00009b7a ldr.w r4, [pc, 0x434]                             |     
    0x00009b7c add r4, r6                                        |     r4 += r6;
    0x00009b7e movw r3, 0x212                                    |     r3 = 0x212;
    0x00009b82 ldr.w r0, [pc, 0x430]                             |     
    0x00009b86 add r2, pc                                        |     r2 = 0x13b36;
    0x00009b88 add r4, pc                                        |     r4 = 0x13b3e;
    0x00009b8a add r0, pc                                        |     r0 = 0x13b44;
    0x00009b8c b 0x97e4                                          |     goto label_19;
                                                                 | label_103:
    0x00009b8e ldr r3, [fp, -0x4]                                |     r3 = *((fp - 0x4));
    0x00009b92 movs r1, 0                                        |     r1 = 0;
    0x00009b94 ldr r2, [sp, 0x18]                                |     r2 = var_18h;
    0x00009b96 movs r0, 4                                        |     r0 = 4;
    0x00009b98 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00009b9a ldr.w r3, [pc, 0x41c]                             |     
    0x00009b9c adds r4, 0x1c                                     |     r4 += 0x1c;
    0x00009b9e add r3, pc                                        |     r3 = 0x13b5c;
    0x00009ba0 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009ba2 ldr.w r3, [pc, 0x418]                             |     
    0x00009ba6 add r3, pc                                        |     r3 = 0x13b68;
    0x00009ba8 str r3, [sp]                                      |     *(sp) = r3;
    0x00009baa movw r3, 0x22f                                    |     r3 = 0x22f;
    0x00009bae blx 0x61a4                                        |     fcn_000061a4 ();
    0x00009bb2 b 0x99fe                                          |     goto label_25;
                                                                 | label_94:
    0x00009bb4 ldr r3, [r5]                                      |     r3 = *(r5);
    0x00009bb6 movs r0, 7                                        |     r0 = 7;
    0x00009bb8 ldr r2, [sp, 0x48]                                |     r2 = var_48h;
    0x00009bba str r3, [sp, 8]                                   |     var_8h = r3;
    0x00009bbc ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
    0x00009bbe str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009bc0 ldr r3, [pc, 0x3fc]                               |     
    0x00009bc2 add r3, pc                                        |     r3 = 0x13b86;
    0x00009bc4 str r3, [sp]                                      |     *(sp) = r3;
    0x00009bc6 movw r3, 0x191                                    |     r3 = 0x191;
    0x00009bca blx 0x61a4                                        |     fcn_000061a4 ();
    0x00009bce b 0x98a8                                          |     goto label_30;
                                                                 | label_101:
    0x00009bd0 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009bd4 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00009bd6 ble 0x9b10                                        |         goto label_31;
                                                                 |     }
    0x00009bd8 ldr r3, [pc, 0x3e8]                               |     
    0x00009bda mov r1, r7                                        |     r1 = r7;
    0x00009bdc ldr r2, [sp, 0x38]                                |     r2 = var_38h_2;
    0x00009bde movs r0, 3                                        |     r0 = 3;
    0x00009be0 str r6, [sp, 8]                                   |     var_8h = r6;
    0x00009be2 add r3, pc                                        |     r3 = 0x13baa;
    0x00009be4 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009be6 ldr r3, [pc, 0x3e0]                               |     
    0x00009be8 add r3, pc                                        |     r3 = 0x13bb6;
    0x00009bea str r3, [sp]                                      |     *(sp) = r3;
    0x00009bec mov.w r3, 0x1ee                                   |     r3 = 0x1ee;
    0x00009bf0 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00009bf4 b 0x9b10                                          |     goto label_31;
                                                                 | label_104:
    0x00009bf6 ldrd r4, r7, [sp, 0x28]                           |     __asm ("ldrd r4, r7, [var_28h]");
    0x00009bfa ldrd r8, sb, [sp, 0x30]                           |     __asm ("ldrd r8, sb, [var_30h]");
    0x00009bfe ldr r6, [sp, 0x1c]                                |     r6 = var_1ch;
    0x00009c00 ldr r5, [sp, 0x24]                                |     r5 = var_24h;
                                                                 | label_100:
    0x00009c02 ldr r3, [pc, 0x3c8]                               |     r3 = *(0x9fce);
    0x00009c04 ldr r3, [r6, r3]                                  |     r3 = *((r6 + r3));
    0x00009c06 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00009c08 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00009c0a bne.w 0x9abe                                      |         goto label_32;
                                                                 |     }
    0x00009c0e bl 0x1bcac                                        |     r0 = fcn_0001bcac ();
    0x00009c12 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00009c14 bne.w 0x9abe                                      |         goto label_32;
                                                                 |     }
    0x00009c16 add r7, sp, 0x14c                                 |     r7 = sp + 0x14c;
    0x00009c18 mov r2, sb                                        |     r2 = sb;
    0x00009c1a mov r1, r8                                        |     r1 = r8;
    0x00009c1c mov r0, r7                                        |     r0 = r7;
    0x00009c1e bl 0x8428                                         |     r0 = fcn_00008428 (r0);
    0x00009c22 mov r4, r0                                        |     r4 = r0;
    0x00009c24 b 0x9abe                                          |     goto label_32;
                                                                 | label_107:
    0x00009c26 ldr r3, [pc, 0x3a8]                               |     
    0x00009c28 mov r1, r7                                        |     r1 = r7;
    0x00009c2a ldr r2, [pc, 0x3a8]                               |     
    0x00009c2c movs r0, 3                                        |     r0 = 3;
    0x00009c2e str r6, [sp, 8]                                   |     var_8h = r6;
    0x00009c30 add r3, pc                                        |     r3 = 0x13c06;
    0x00009c32 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009c34 add r2, pc                                        |     r2 = 0x13c0e;
    0x00009c36 ldr r3, [pc, 0x3a0]                               |     
    0x00009c38 adds r2, 7                                        |     r2 += 7;
    0x00009c3a add r3, pc                                        |     r3 = 0x13c18;
    0x00009c3c str r3, [sp]                                      |     *(sp) = r3;
    0x00009c3e mov.w r3, 0x1da                                   |     r3 = 0x1da;
    0x00009c42 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00009c46 b 0x9b10                                          |     goto label_31;
                                                                 | label_79:
    0x00009c48 movs r3, 0                                        |     r3 = 0;
    0x00009c4a add r1, sp, 0x80                                  |     r1 += var_80h;
    0x00009c4c mov r0, r4                                        |     r0 = r4;
    0x00009c4e str r3, [sp, 0x80]                                |     var_80h = r3;
    0x00009c50 blx 0x5988                                        |     r0 = fcn_00005988 ();
    0x00009c54 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x00009c56 blt.w 0x9ef4                                      |         goto label_108;
                                                                 |     }
    0x00009c5a ldr r1, [sp, 0x80]                                |     r1 = var_80h;
    0x00009c5c mov r0, r7                                        |     r0 = r7;
    0x00009c5e add r2, sp, 0x74                                  |     r2 += var_74h;
    0x00009c60 blx 0x6378                                        |     r0 = fcn_00006378 ();
    0x00009c64 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x00009c66 blt.w 0x9ef4                                      |         goto label_108;
                                                                 |     }
    0x00009c6a ldr r0, [sp, 0x80]                                |     r0 = var_80h;
    0x00009c6c ldr r7, [sp, 0x74]                                |     r7 = var_74h;
    0x00009c6e blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009c70 vext.8 d14, d10, d14, 5                           |     __asm ("vext.8 d14, d10, d14, 5");
                                                                 | label_96:
    0x00009c74 mov r4, r3                                        |     r4 = r3;
    0x00009c76 b 0x9526                                          |     goto label_18;
                                                                 | label_97:
    0x00009c78 mvn r4, 1                                         |     r4 = ~1;
    0x00009c7c b 0x952e                                          |     goto label_26;
                                                                 | label_99:
    0x00009c7e mov r4, r0                                        |     r4 = r0;
    0x00009c80 b 0x9abe                                          |     goto label_32;
                                                                 | label_77:
    0x00009c82 ldr r1, [pc, 0x358]                               |     
    0x00009c84 movw r2, 0x181                                    |     r2 = 0x181;
    0x00009c88 ldr r3, [pc, 0x354]                               |     
    0x00009c8a ldr r0, [pc, 0x358]                               |     
    0x00009c8c add r1, pc                                        |     r1 = 0x13c6e;
    0x00009c8e add r3, pc                                        |     r3 = 0x13c72;
    0x00009c90 adds r1, 7                                        |     r1 += 7;
    0x00009c92 add r0, pc                                        |     r0 = 0x13c7c;
    0x00009c94 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_98:
    0x00009c98 mvn r4, 1                                         |     r4 = ~1;
    0x00009c9c b 0x9528                                          |     goto label_33;
                                                                 | label_85:
    0x00009c9e mov fp, r4                                        |     
    0x00009ca0 mov r6, sb                                        |     r6 = sb;
    0x00009ca2 ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x00009ca6 mov r3, r1                                        |     r3 = r1;
    0x00009ca8 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009cac ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009cb0 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009cb4 ldr r0, [sp, 0x80]                                |     r0 = var_80h;
    0x00009cb6 b 0x990a                                          |     goto label_34;
                                                                 | label_81:
    0x00009cb8 ldr r1, [pc, 0x32c]                               |     
    0x00009cba movw r2, 0x11b                                    |     r2 = 0x11b;
    0x00009cbe ldr r3, [pc, 0x32c]                               |     
    0x00009cc0 ldr r0, [pc, 0x32c]                               |     
    0x00009cc2 add r1, pc                                        |     r1 = 0x13cae;
    0x00009cc4 add r3, pc                                        |     r3 = 0x13cb6;
    0x00009cc6 adds r1, 7                                        |     r1 += 7;
    0x00009cc8 add r0, pc                                        |     r0 = 0x13cbc;
    0x00009cca blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_84:
    0x00009cce ldr r2, [pc, 0x324]                               |     
    0x00009cd0 mov r3, r4                                        |     r3 = r4;
    0x00009cd2 ldr r1, [pc, 0x324]                               |     
    0x00009cd4 add.w r0, sp, 0x53                                |     r0 += var_53h;
    0x00009cd8 str.w fp, [sp]                                    |     __asm ("str.w fp, [sp]");
    0x00009cdc add r2, pc                                        |     r2 = 0x13cd6;
    0x00009cde add r1, pc                                        |     r1 = 0x13cdc;
    0x00009ce0 blx 0x6138                                        |     r0 = fcn_00006138 ();
    0x00009ce4 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x00009ce6 blt.w 0x9e46                                      |         goto label_109;
                                                                 |     }
    0x00009ce8 strh r6, [r5, 4]                                  |     *((r5 + 4)) = r6;
    0x00009cea ldrb.w r3, [sp, 0x53]                             |     r3 = var_53h;
    0x00009cee cmp r3, 0x79                                      |     
                                                                 |     if (r3 == 0x79) {
    0x00009cf0 beq.w 0x96e4                                      |         goto label_35;
                                                                 |     }
    0x00009cf4 str r7, [sp, 0x18]                                |     var_18h = r7;
    0x00009cf6 mov fp, r4                                        |     
    0x00009cf8 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009cfc cmp r0, 3                                         |     
    0x00009cfe mov r6, sb                                        |     r6 = sb;
    0x00009d00 ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x00009d04 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009d08 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009d0a strh r0, [r7]                                     |     *(r7) = r0;
    0x00009d0c ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
                                                                 |     if (r0 > 3) {
    0x00009d10 bgt.w 0x9e8c                                      |         goto label_110;
                                                                 |     }
    0x00009d12 strh r4, [r7, 4]                                  |     *((r7 + 4)) = r4;
    0x00009d14 mov r0, fp                                        |     r0 = fp;
    0x00009d16 mov.w fp, 0                                       |     
    0x00009d1a blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009d1e mvn r3, 0x80                                      |     r3 = ~0x80;
    0x00009d22 b 0x991c                                          |     goto label_36;
                                                                 | label_82:
    0x00009d24 ldr r1, [pc, 0x2d4]                               |     
    0x00009d26 mov.w r2, 0x11c                                   |     r2 = 0x11c;
    0x00009d2a ldr r3, [pc, 0x2d4]                               |     
    0x00009d2c ldr r0, [pc, 0x2d4]                               |     
    0x00009d2e add r1, pc                                        |     r1 = 0x13d2e;
    0x00009d30 add r3, pc                                        |     r3 = 0x13d36;
    0x00009d32 adds r1, 7                                        |     r1 += 7;
    0x00009d34 add r0, pc                                        |     r0 = 0x13d3c;
    0x00009d36 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_87:
    0x00009d3a mov r6, sb                                        |     r6 = sb;
    0x00009d3c ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009d40 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009d44 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
                                                                 | label_78:
    0x00009d48 mov r3, r4                                        |     r3 = r4;
    0x00009d4a b 0x9944                                          |     goto label_37;
                                                                 | label_90:
    0x00009d4c mov r6, sb                                        |     r6 = sb;
    0x00009d4e ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x00009d52 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009d56 mov r3, r1                                        |     r3 = r1;
    0x00009d58 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009d5c ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009d5e str r5, [sp, 0x3c]                                |     *((sp + 0x3c)) = r5;
                                                                 |     do {
    0x00009d60 mov.w fp, 0                                       |         
    0x00009d64 b 0x991c                                          |         goto label_36;
                                                                 | label_89:
    0x00009d66 str r5, [sp, 0x24]                                |         var_24h = r5;
    0x00009d68 mov r6, sb                                        |         r6 = sb;
    0x00009d6a str r1, [sp, 0x18]                                |         var_18h = r1;
    0x00009d6c blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00009d70 cmp r0, 2                                         |         
    0x00009d72 ldr.w sl, [sp, 0x44]                              |         sl = var_44h;
    0x00009d76 ldrd r4, r7, [sp, 0x30]                           |         __asm ("ldrd r4, r7, [var_30h]");
    0x00009d7a ldr.w r8, [sp, 0x38]                              |         r8 = var_38h_2;
    0x00009d7e ldrd sb, r5, [sp, 0x3c]                           |         __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009d82 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x00009d84 ble 0x9d60                                        |         
                                                                 |     } while (r0 <= 2);
    0x00009d86 ldr r2, [sp, 0x24]                                |     r2 = var_24h;
    0x00009d88 mov r1, r3                                        |     r1 = r3;
    0x00009d8a ldr r3, [pc, 0x27c]                               |     
    0x00009d8c movs r0, 3                                        |     r0 = 3;
    0x00009d8e mov.w fp, 0                                       |     
    0x00009d92 ldr r2, [r2]                                      |     r2 = *(r2);
    0x00009d94 add r3, pc                                        |     r3 = 0x13da2;
    0x00009d96 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009d98 str r2, [sp, 8]                                   |     var_8h = r2;
    0x00009d9a ldr r3, [pc, 0x270]                               |     
    0x00009d9c ldr r2, [pc, 0x270]                               |     
    0x00009d9e add r3, pc                                        |     r3 = 0x13db0;
    0x00009da0 add r2, pc                                        |     r2 = 0x13db4;
    0x00009da2 str r3, [sp]                                      |     *(sp) = r3;
    0x00009da4 adds r2, 7                                        |     r2 += 7;
    0x00009da6 movw r3, 0x195                                    |     r3 = 0x195;
    0x00009daa blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00009dae subs r3, r0, 0                                    |     r3 = r0 - 0;
    0x00009db0 it ge                                             |     
                                                                 |     if (r3 < r0) {
    0x00009db2 mvnge r3, 0x55                                    |         r3 = ~0x55;
                                                                 |     }
    0x00009db6 b 0x991c                                          |     goto label_36;
                                                                 | label_86:
    0x00009db8 ldr r1, [pc, 0x258]                               |     
    0x00009dba mov r2, r7                                        |     r2 = r7;
    0x00009dbc ldr r3, [pc, 0x258]                               |     
    0x00009dbe mov sl, r2                                        |     sl = r2;
    0x00009dc0 movs r0, 3                                        |     r0 = 3;
    0x00009dc2 mov.w r2, 0x1c8                                   |     r2 = 0x1c8;
    0x00009dc6 add r1, pc                                        |     r1 = 0x13dde;
    0x00009dc8 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009dcc add r3, pc                                        |     r3 = 0x13de8;
    0x00009dce adds r1, 7                                        |     r1 += 7;
    0x00009dd0 mov fp, r4                                        |     
    0x00009dd2 mov r6, sb                                        |     r6 = sb;
    0x00009dd4 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009dd8 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009ddc blx 0x65cc                                        |     r0 = fflush_and_check ();
    0x00009de0 mov r3, r0                                        |     r3 = r0;
    0x00009de2 b 0x991c                                          |     goto label_36;
                                                                 | label_91:
    0x00009de4 str r5, [sp, 0x24]                                |     var_24h = r5;
    0x00009de6 mov fp, r4                                        |     
    0x00009de8 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00009dec cmp r0, 5                                         |     
    0x00009dee mov r6, sb                                        |     r6 = sb;
    0x00009df0 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009df2 bx r1                                             |     return uint32_t (*r1)() ();
    0x00009df4 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009df8 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
                                                                 |     if (r0 > 5) {
    0x00009dfc ble 0x9e38                                        |         
    0x00009dfe ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x00009e00 ldr r3, [r3]                                      |         r3 = *(r3);
    0x00009e02 cmp r3, 1                                         |         
                                                                 |         if (r3 == 1) {
    0x00009e04 beq.w 0x9f16                                      |             goto label_111;
                                                                 |         }
    0x00009e08 cmp r3, 2                                         |         
                                                                 |         if (r3 == 2) {
    0x00009e0a beq.w 0x9f1c                                      |             goto label_112;
                                                                 |         }
    0x00009e0e ldr r3, [pc, 0x20c]                               |         
    0x00009e10 add r3, pc                                        |         r3 = 0x13e32;
                                                                 | label_39:
    0x00009e12 ldr r2, [sp, 0x24]                                |         r2 = var_24h;
    0x00009e14 movs r1, 0                                        |         r1 = 0;
    0x00009e16 movs r0, 6                                        |         r0 = 6;
    0x00009e18 ldr r2, [r2]                                      |         r2 = *(r2);
    0x00009e1a strd r3, r2, [sp, 8]                              |         __asm ("strd r3, r2, [sp, 8]");
    0x00009e1e ldr r3, [pc, 0x200]                               |         
    0x00009e20 ldr r2, [pc, 0x200]                               |         
    0x00009e22 add r3, pc                                        |         r3 = 0x13e48;
    0x00009e24 str r3, [sp, 4]                                   |         var_sp_4h = r3;
    0x00009e26 add r2, pc                                        |         r2 = 0x13e4e;
    0x00009e28 ldr r3, [pc, 0x1fc]                               |         
    0x00009e2a adds r2, 7                                        |         r2 += 7;
    0x00009e2c add r3, pc                                        |         r3 = 0x13e58;
    0x00009e2e str r3, [sp]                                      |         *(sp) = r3;
    0x00009e30 movw r3, 0x19b                                    |         r3 = 0x19b;
    0x00009e34 blx 0x61a4                                        |         fcn_000061a4 ();
    0x00009e36 invalid                                           |         
                                                                 |     }
    0x00009e38 mov.w sl, 0                                       |     sl = 0;
    0x00009e3c mvn r3, 1                                         |     r3 = ~1;
    0x00009e3e lsls r1, r0, 0xc                                  |     r1 = r0 << 0xc;
    0x00009e40 b 0x991c                                          |     goto label_36;
                                                                 | label_71:
    0x00009e42 blx 0x6114                                        |     fcn_00006114 ();
                                                                 | label_109:
    0x00009e46 mov fp, r4                                        |     
    0x00009e48 mov r6, sb                                        |     r6 = sb;
    0x00009e4a ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x00009e4e mov r3, r1                                        |     r3 = r1;
    0x00009e50 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009e54 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009e58 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009e5a str r5, [sp, 0x3c]                                |     *((sp + 0x3c)) = r5;
                                                                 |     do {
    0x00009e5c movs r0, 0                                        |         r0 = 0;
    0x00009e5e b 0x990a                                          |         goto label_34;
                                                                 | label_95:
    0x00009e60 ldr r1, [pc, 0x1c8]                               |         
    0x00009e62 mov.w r2, 0x1be                                   |         r2 = 0x1be;
    0x00009e66 ldr r3, [pc, 0x1c8]                               |         
    0x00009e68 movs r0, 3                                        |         r0 = 3;
    0x00009e6a ldr.w sl, [sp, 0x44]                              |         sl = var_44h;
    0x00009e6e mov r6, sb                                        |         r6 = sb;
    0x00009e70 add r1, pc                                        |         r1 = 0x13ea0;
    0x00009e72 ldrd r7, r8, [sp, 0x34]                           |         __asm ("ldrd r7, r8, [var_34h]");
    0x00009e76 add r3, pc                                        |         r3 = 0x13eac;
    0x00009e78 adds r1, 7                                        |         r1 += 7;
    0x00009e7a ldr.w sb, [sp, 0x3c]                              |         sb = var_3ch_2;
    0x00009e7e mov fp, r4                                        |         
    0x00009e80 ldr r5, [sp, 0x40]                                |         r5 = var_40h_2;
    0x00009e82 ldr r4, [sp, 0x30]                                |         r4 = var_30h;
    0x00009e84 blx 0x65cc                                        |         fflush_and_check ();
    0x00009e86 sub.w r6, r2, r3, lsl 16                          |         r6 = r2 - (r3 << 16);
    0x00009e8a b 0x991c                                          |         goto label_36;
                                                                 | label_110:
    0x00009e8c ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x00009e8e movs r1, 0x81                                     |         r1 = 0x81;
    0x00009e90 ldr r2, [pc, 0x1a0]                               |         
    0x00009e92 movt r1, 0x4000                                   |         r1 = (r1 & 0xFFFF) | 0x40000000;
    0x00009e96 movs r0, 4                                        |         r0 = 4;
    0x00009e98 str r3, [sp, 8]                                   |         var_8h = r3;
    0x00009e9a ldr r3, [pc, 0x19c]                               |         
    0x00009e9c add r2, pc                                        |         r2 = 0x13ed4;
    0x00009e9e adds r2, 7                                        |         r2 += 7;
    0x00009ea0 add r3, pc                                        |         r3 = 0x13ede;
    0x00009ea2 str r3, [sp, 4]                                   |         var_sp_4h = r3;
    0x00009ea4 ldr r3, [pc, 0x194]                               |         
    0x00009ea6 add r3, pc                                        |         r3 = 0x13ee6;
    0x00009ea8 str r3, [sp]                                      |         *(sp) = r3;
    0x00009eaa movw r3, 0x12b                                    |         r3 = 0x12b;
    0x00009eae blx 0x61a4                                        |         r0 = fcn_000061a4 ();
    0x00009eb2 subs r3, r0, 0                                    |         r3 = r0 - 0;
    0x00009eb4 blt 0x9e5c                                        |         
                                                                 |     } while (r3 < r0);
    0x00009eb6 mov r0, fp                                        |     r0 = fp;
    0x00009eb8 mov.w fp, 0                                       |     
    0x00009ebc blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009ec0 mvn r3, 0x55                                      |     r3 = ~0x55;
    0x00009ec4 b 0x991c                                          |     goto label_36;
                                                                 | label_106:
    0x00009ec6 ldr.w r3, [sl]                                    |     r3 = *(sl);
    0x00009eca mov r1, r4                                        |     r1 = r4;
    0x00009ecc movs r0, 3                                        |     r0 = 3;
    0x00009ece str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00009ed0 ldr r3, [pc, 0x16c]                               |     
    0x00009ed2 ldr.w r2, [fp]                                    |     r2 = *(fp);
    0x00009ed6 add r3, pc                                        |     r3 = 0x13f1a;
    0x00009ed8 str r3, [sp, 4]                                   |     var_sp_4h = r3;
    0x00009eda str r2, [sp, 8]                                   |     var_8h = r2;
    0x00009edc ldr r3, [pc, 0x164]                               |     
    0x00009ede ldr r2, [pc, 0x168]                               |     
    0x00009ee0 add r3, pc                                        |     r3 = 0x13f28;
    0x00009ee2 add r2, pc                                        |     r2 = 0x13f30;
    0x00009ee4 str r3, [sp]                                      |     *(sp) = r3;
    0x00009ee6 adds r2, 7                                        |     r2 += 7;
    0x00009ee8 movw r3, 0x235                                    |     r3 = 0x235;
    0x00009eec blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00009ef0 mov r4, r0                                        |     r4 = r0;
    0x00009ef2 b 0x9ab6                                          |     goto label_38;
                                                                 | label_108:
    0x00009ef4 ldr r0, [sp, 0x80]                                |     r0 = var_80h;
    0x00009ef6 mov r6, sb                                        |     r6 = sb;
    0x00009ef8 ldr.w sl, [sp, 0x44]                              |     sl = var_44h;
    0x00009efc mov.w fp, 0                                       |     
    0x00009f00 ldrd r4, r7, [sp, 0x30]                           |     __asm ("ldrd r4, r7, [var_30h]");
    0x00009f04 ldr.w r8, [sp, 0x38]                              |     r8 = var_38h_2;
    0x00009f08 ldrd sb, r5, [sp, 0x3c]                           |     __asm ("ldrd sb, r5, [var_3ch_2]");
    0x00009f0c str r1, [sp, 0x18]                                |     var_18h = r1;
    0x00009f0e blx 0x5be4                                        |     fcn_00005be4 ();
    0x00009f12 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x00009f14 b 0x991c                                          |     goto label_36;
                                                                 | label_111:
    0x00009f16 ldr r3, [pc, 0x134]                               |     
    0x00009f18 add r3, pc                                        |     r3 = 0x13f6a;
    0x00009f1a b 0x9e12                                          |     goto label_39;
                                                                 | label_112:
    0x00009f1c ldr r3, [pc, 0x130]                               |     
    0x00009f1e add r3, pc                                        |     r3 = 0x13f72;
    0x00009f20 b 0x9e12                                          |     goto label_39;
                                                                 | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0xba4c */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000ba4c ()                                          | void fcn_0000ba4c (int16_t arg_58h, uint32_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                     |     int16_t var_0h_2;
                                                                     |     int32_t var_0h_3;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h_2;
                                                                     |     int16_t var_14h_2;
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_ch_2;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int16_t var_1ch;
                                                                     |     int16_t var_24h;
                                                                     |     int16_t var_28h;
                                                                     |     int16_t var_2ch;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     r2 = arg3;
                                                                     |     r3 = arg4;
    0x0000ba4c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000ba50 mov r8, r2                                            |     r8 = r2;
    0x0000ba52 ldr r2, [pc, 0x26c]                                   |     
    0x0000ba54 mov r5, r3                                            |     r5 = r3;
    0x0000ba56 sub sp, 0x34                                          |     
    0x0000ba58 ldr r3, [pc, 0x268]                                   |     r3 = *(0xbcc4);
    0x0000ba5a add r2, pc                                            |     r2 = 0x17720;
    0x0000ba5c ldr.w sb, [pc, 0x268]                                 |     sb = *(0x0000bcc8);
    0x0000ba60 ldr r3, [r2, r3]                                      |     
    0x0000ba62 add sb, pc                                            |     sb += pc;
    0x0000ba64 ldr r3, [r3]                                          |     r3 = *(0x17720);
    0x0000ba66 str r3, [sp, 0x2c]                                    |     var_2ch = r3;
    0x0000ba68 mov.w r3, 0                                           |     r3 = 0;
    0x0000ba6c movs r3, 0                                            |     r3 = 0;
    0x0000ba6e str r3, [sp, 0x24]                                    |     var_24h = r3;
    0x0000ba70 cmp r0, 0                                             |     
                                                                     |     if (arg_58h == ) {
    0x0000ba72 beq.w 0xbc60                                          |         goto label_12;
                                                                     |     }
    0x0000ba76 mov r7, r1                                            |     r7 = r1;
    0x0000ba78 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0000ba7a beq.w 0xbc74                                          |         goto label_13;
                                                                     |     }
    0x0000ba7c strh r3, [r7, 6]                                      |     *((r7 + 6)) = r3;
    0x0000ba7e mov r6, r0                                            |     r6 = r0;
    0x0000ba80 mov r0, r5                                            |     r0 = r5;
    0x0000ba82 blx 0x5e4c                                            |     r0 = bus_wait_for_jobs_new ();
    0x0000ba86 cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000ba88 blt.w 0xbc42                                          |         goto label_14;
                                                                     |     }
    0x0000ba8c add r2, sp, 0x24                                      |     r2 += var_24h;
    0x0000ba8e mov r1, r7                                            |     r1 = r7;
    0x0000ba90 mov r0, r6                                            |     r0 = r6;
    0x0000ba92 bl 0x1b038                                            |     r0 = fcn_0001b038 (r0, r1, r2, r3, r4, r5, r6);
    0x0000ba96 subs.w sl, r0, 0                                      |     sl = r0 - 0;
                                                                     |     if (sl < r0) {
    0x0000ba9a blt 0xbb40                                            |         goto label_2;
                                                                     |     }
    0x0000ba9c ldr r4, [sp, 0x24]                                    |     r4 = var_24h;
    0x0000ba9e mov r0, r4                                            |     r0 = r4;
    0x0000baa0 blx 0x600c                                            |     r0 = fcn_0000600c ();
    0x0000baa4 cmp r0, 1                                             |     
    0x0000baa6 mov r1, r0                                            |     r1 = r0;
                                                                     |     if (r0 >= 1) {
    0x0000baa8 bls 0xbabe                                            |         
    0x0000baaa cmp r4, 0                                             |         
                                                                     |         if (r4 == 0) {
    0x0000baac beq.w 0xbc9c                                          |             goto label_15;
                                                                     |         }
    0x0000bab0 ldr r3, [pc, 0x218]                                   |         
    0x0000bab2 mov r0, r4                                            |         r0 = r4;
    0x0000bab4 movs r2, 4                                            |         r2 = 4;
    0x0000bab6 add r3, pc                                            |         r3 = 0x17786;
    0x0000bab8 blx 0x5684                                            |         qsort ();
    0x0000babc ldr r4, [sp, 0x24]                                    |         r4 = var_24h;
                                                                     |     }
    0x0000babe ldr r3, [pc, 0x210]                                   |     r3 = *(0xbcd2);
    0x0000bac0 ldr.w r3, [sb, r3]                                    |     r3 = *((sb + r3));
    0x0000bac4 ldrb.w sl, [r3]                                       |     sl = *(r3);
    0x0000bac8 str r3, [sp, 0xc]                                     |     var_ch_2 = r3;
    0x0000baca cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0000bacc beq.w 0xbcb0                                          |         goto label_16;
                                                                     |     }
    0x0000bad0 ldr r3, [pc, 0x200]                                   |     
    0x0000bad2 add r3, pc                                            |     r3 = 0x177aa;
    0x0000bad4 str r3, [sp, 0x10]                                    |     var_10h = r3;
    0x0000bad6 ldr r3, [pc, 0x200]                                   |     
    0x0000bad8 add r3, pc                                            |     r3 = 0x177b6;
    0x0000bada str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000badc ldr r3, [pc, 0x1fc]                                   |     
    0x0000bade add r3, pc                                            |     r3 = 0x177be;
    0x0000bae0 str r3, [sp, 0x18]                                    |     var_18h = r3;
    0x0000bae2 ldr r3, [sp, 0x58]                                    |     r3 = *(arg_58h);
    0x0000bae4 lsl.w fp, r3, 1                                       |     
                                                                     |     do {
    0x0000bae8 ldr r1, [r4], 4                                       |         r1 = *(r4);
                                                                     |         r4 += 4;
                                                                     |         if (r1 == 0) {
    0x0000baec cbz r1, 0xbb36                                        |             goto label_17;
                                                                     |         }
                                                                     | label_0:
    0x0000baee ldr r0, [r5]                                          |         r0 = *(r5);
    0x0000baf0 blx 0x6060                                            |         r0 = fcn_00006060 ();
    0x0000baf4 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000baf6 beq 0xbb66                                            |             goto label_18;
                                                                     |         }
    0x0000baf8 cmp.w sl, 0                                           |         
    0x0000bafc bne 0xbae8                                            |         
                                                                     |     } while (sl != 0);
    0x0000bafe ldr r1, [pc, 0x1e0]                                   |     
    0x0000bb00 movs r0, 1                                            |     r0 = 1;
    0x0000bb02 add r1, pc                                            |     r1 = 0x177e8;
    0x0000bb04 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000bb08 ldr r3, [r4]                                          |     r3 = *(r4);
    0x0000bb0a ldr r0, [pc, 0x1d8]                                   |     
    0x0000bb0c cmp r3, 0                                             |     
    0x0000bb0e ite eq                                                |     
                                                                     |     if (r3 != 0) {
    0x0000bb10 moveq r2, fp                                          |         r2 = fp;
                                                                     |     }
                                                                     |     if (r3 == 0) {
    0x0000bb12 orrne r2, fp, 1                                       |         r2 = fp | 1;
                                                                     |     }
    0x0000bb16 movs r3, 1                                            |     r3 = 1;
    0x0000bb18 add r0, pc                                            |     r0 = 0x17802;
    0x0000bb1a add.w r1, r8, r3                                      |     r1 = r8 + r3;
    0x0000bb1e bl 0xb8bc                                             |     r0 = fcn_0000b8bc (r0, r1, r2, r3);
    0x0000bb22 subs.w sl, r0, 0                                      |     sl = r0 - 0;
                                                                     |     if (sl < r0) {
    0x0000bb26 blt 0xbb40                                            |         goto label_2;
                                                                     |     }
                                                                     | label_1:
    0x0000bb28 ldr r1, [r4], 4                                       |     r1 = *(r4);
                                                                     |     r4 += 4;
    0x0000bb2c ldr r3, [sp, 0xc]                                     |     r3 = var_ch_2;
    0x0000bb2e ldrb.w sl, [r3]                                       |     sl = *(r3);
    0x0000bb32 cmp r1, 0                                             |     
                                                                     |     if (r1 != 0) {
    0x0000bb34 bne 0xbaee                                            |         goto label_0;
                                                                     |     }
                                                                     | label_17:
    0x0000bb36 cmp.w sl, 0                                           |     
                                                                     |     if (sl == 0) {
    0x0000bb3a beq.w 0xbc8e                                          |         goto label_19;
                                                                     |     }
    0x0000bb3e mov sl, r1                                            |     sl = r1;
                                                                     |     do {
                                                                     | label_2:
    0x0000bb40 ldr r0, [sp, 0x24]                                    |         r0 = var_24h;
                                                                     |         if (r0 != 0) {
    0x0000bb42 cbz r0, 0xbb48                                        |             
                                                                     | label_6:
    0x0000bb44 blx 0x5dec                                            |             unit_file_state_to_string ();
                                                                     |         }
                                                                     | label_7:
    0x0000bb48 ldr r2, [pc, 0x19c]                                   |         
    0x0000bb4a ldr r3, [pc, 0x178]                                   |         r3 = *(0xbcc6);
    0x0000bb4c add r2, pc                                            |         r2 = 0x17838;
    0x0000bb4e ldr r3, [r2, r3]                                      |         r3 = *(0x17838);
    0x0000bb50 ldr r2, [r3]                                          |         r2 = *(0x17838);
    0x0000bb52 ldr r3, [sp, 0x2c]                                    |         r3 = var_2ch;
    0x0000bb54 eors r2, r3                                           |         r2 ^= r3;
    0x0000bb56 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x0000bb5a bne.w 0xbcba                                          |             goto label_20;
                                                                     |         }
    0x0000bb5e mov r0, sl                                            |         r0 = sl;
    0x0000bb60 add sp, 0x34                                          |         
    0x0000bb62 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     | label_18:
    0x0000bb66 cmp.w sl, 0                                           |         
                                                                     |         if (sl == 0) {
    0x0000bb6a beq 0xbbcc                                            |             goto label_21;
                                                                     |         }
    0x0000bb6c ldr r1, [pc, 0x17c]                                   |         
    0x0000bb6e movs r0, 1                                            |         r0 = 1;
    0x0000bb70 add r1, pc                                            |         r1 = 0x17860;
    0x0000bb72 blx 0x59a0                                            |         fcn_000059a0 ();
                                                                     | label_3:
    0x0000bb76 ldr r3, [r4]                                          |         r3 = *(r4);
    0x0000bb78 mov r1, r8                                            |         r1 = r8;
    0x0000bb7a ldr r0, [r4, -0x4]                                    |         r0 = *((r4 - 0x4));
    0x0000bb7e ldr r2, [sp, 0x58]                                    |         r2 = *(arg_58h);
    0x0000bb80 clz r3, r3                                            |         r3 &= r3;
    0x0000bb84 lsrs r3, r3, 5                                        |         r3 >>= 5;
    0x0000bb86 bl 0xb8bc                                             |         r0 = fcn_0000b8bc (r0, r1, r2, r3);
    0x0000bb8a subs.w sl, r0, 0                                      |         sl = r0 - 0;
    0x0000bb8e blt 0xbb40                                            |         
                                                                     |     } while (sl < r0);
    0x0000bb90 ldr r3, [pc, 0x15c]                                   |     r3 = *(0xbcf0);
    0x0000bb92 ldr sl, [r4, -0x4]                                    |     sl = *((r4 - 0x4));
    0x0000bb96 ldr.w r3, [sb, r3]                                    |     r3 = *((sb + r3));
    0x0000bb98 adds r0, 3                                            |     r0 += 3;
    0x0000bb9a ldrb r3, [r3]                                         |     r3 = *(r3);
                                                                     |     if (r3 != 0) {
    0x0000bb9c cbnz r3, 0xbba8                                       |         goto label_22;
                                                                     |     }
    0x0000bb9e mov r0, sl                                            |     r0 = sl;
    0x0000bba0 blx 0x6204                                            |     r0 = fcn_00006204 ();
    0x0000bba4 cmp r0, 4                                             |     
                                                                     |     if (r0 != 4) {
    0x0000bba6 bne 0xbb28                                            |         goto label_1;
                                                                     |     }
                                                                     | label_22:
    0x0000bba8 ldr r2, [r4]                                          |     r2 = *(r4);
    0x0000bbaa mov r1, sl                                            |     r1 = sl;
    0x0000bbac mov r0, r6                                            |     r0 = r6;
    0x0000bbae cmp r2, 0                                             |     
    0x0000bbb0 ite eq                                                |     
                                                                     |     if (r2 != 0) {
    0x0000bbb2 moveq r3, fp                                          |         r3 = fp;
                                                                     |     }
                                                                     |     if (r2 == 0) {
    0x0000bbb4 orrne r3, fp, 1                                       |         r3 = fp | 1;
                                                                     |     }
    0x0000bbb8 add.w r2, r8, 1                                       |     r2 = r8 + 1;
    0x0000bbbc str r3, [sp]                                          |     *(sp) = r3;
    0x0000bbbe mov r3, r5                                            |     r3 = r5;
    0x0000bbc0 bl 0xba4c                                             |     r0 = fcn_0000ba4c (r0, r1, r2, r3, r4);
    0x0000bbc4 subs.w sl, r0, 0                                      |     sl = r0 - 0;
                                                                     |     if (sl >= r0) {
    0x0000bbc8 bge 0xbb28                                            |         goto label_1;
                                                                     |     }
    0x0000bbca b 0xbb40                                              |     goto label_2;
                                                                     | label_21:
    0x0000bbcc mvn r3, 0x15                                          |     r3 = ~0x15;
    0x0000bbd0 add r2, sp, 0x28                                      |     r2 += var_28h;
    0x0000bbd2 str r3, [sp, 0x28]                                    |     var_28h = r3;
    0x0000bbd4 mov r0, r6                                            |     r0 = r6;
    0x0000bbd6 ldr r1, [r4, -0x4]                                    |     r1 = *((r4 - 0x4));
    0x0000bbda bl 0x1a604                                            |     fcn_0001a604 (r0, r1, r2, r3, r4, r5);
    0x0000bbde ldr r3, [sp, 0x28]                                    |     r3 = var_28h;
    0x0000bbe0 cmp r3, 5                                             |     
                                                                     |     if (r3 > 5) {
    0x0000bbe2 bhi 0xbc34                                            |         goto label_23;
                                                                     |     }
                                                                     |     /* switch table (6 cases) at 0xbbe8 */
    0x0000bbe4 tbb [pc, r3]                                          |     __asm ("tbb [0x0000bbec]");
    0x0000bbee blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000bbf2 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000bbf4 bne 0xbc88                                            |         goto label_24;
                                                                     |     }
                                                                     |     do {
                                                                     | label_5:
    0x0000bbf6 ldr r2, [pc, 0xfc]                                    |         
    0x0000bbf8 add r2, pc                                            |         r2 = 0x178f2;
                                                                     | label_4:
    0x0000bbfa ldr r0, [sp, 0x28]                                    |         r0 = var_28h;
    0x0000bbfc str r2, [sp, 0x1c]                                    |         var_1ch = r2;
    0x0000bbfe blx 0x5edc                                            |         running_in_chroot ();
    0x0000bc02 blx 0x6644                                            |         r0 = sd_bus_message_close_container ();
    0x0000bc06 mov sl, r0                                            |         sl = r0;
    0x0000bc08 blx 0x5e88                                            |         r0 = strcpy (r0, r1)
    0x0000bc0c cmp r0, 0                                             |         
    0x0000bc0e ldrd r1, r0, [sp, 0x14]                               |         __asm ("ldrd r1, r0, [var_14h]");
    0x0000bc12 ldr r2, [sp, 0x1c]                                    |         r2 = var_1ch;
    0x0000bc14 mov r3, sl                                            |         r3 = sl;
    0x0000bc16 it eq                                                 |         
                                                                     |         if (r0 != 0) {
    0x0000bc18 moveq r1, r0                                          |             r1 = r0;
                                                                     |         }
    0x0000bc1a movs r0, 1                                            |         r0 = 1;
    0x0000bc1c str r1, [sp]                                          |         *(sp) = r1;
    0x0000bc1e ldr r1, [sp, 0x10]                                    |         r1 = var_10h;
    0x0000bc20 blx 0x59a0                                            |         fcn_000059a0 ();
    0x0000bc24 b 0xbb76                                              |         goto label_3;
    0x0000bc26 blx 0x5e88                                            |         r0 = strcpy (r0, r1)
    0x0000bc2a cmp r0, 0                                             |         
    0x0000bc2c beq 0xbbf6                                            |         
                                                                     |     } while (r0 == 0);
    0x0000bc2e ldr r2, [pc, 0xc8]                                    |     
    0x0000bc30 add r2, pc                                            |     r2 = 0x1792e;
    0x0000bc32 b 0xbbfa                                              |     goto label_4;
                                                                     | label_23:
    0x0000bc34 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000bc38 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000bc3a beq 0xbbf6                                            |         goto label_5;
                                                                     |     }
    0x0000bc3c ldr r2, [pc, 0xbc]                                    |     
    0x0000bc3e add r2, pc                                            |     r2 = 0x1793e;
    0x0000bc40 b 0xbbfa                                              |     goto label_4;
                                                                     | label_14:
    0x0000bc42 ldr r1, [pc, 0xbc]                                    |     
    0x0000bc44 movs r2, 0x4b                                         |     r2 = 0x4b;
    0x0000bc46 ldr r3, [pc, 0xbc]                                    |     
    0x0000bc48 movs r0, 3                                            |     r0 = 3;
    0x0000bc4a add r1, pc                                            |     r1 = 0x17950;
    0x0000bc4c add r3, pc                                            |     r3 = 0x17956;
    0x0000bc4e adds r1, 7                                            |     r1 += 7;
    0x0000bc50 blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000bc54 mov sl, r0                                            |     sl = r0;
    0x0000bc56 ldr r0, [sp, 0x24]                                    |     r0 = var_24h;
    0x0000bc58 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000bc5a bne.w 0xbb44                                          |         goto label_6;
                                                                     |     }
    0x0000bc5e b 0xbb48                                              |     goto label_7;
                                                                     | label_12:
    0x0000bc60 ldr r1, [pc, 0xa4]                                    |     
    0x0000bc62 movs r2, 0x45                                         |     r2 = 0x45;
    0x0000bc64 ldr r3, [pc, 0xa4]                                    |     
    0x0000bc66 ldr r0, [pc, 0xa8]                                    |     
    0x0000bc68 add r1, pc                                            |     r1 = 0x17974;
    0x0000bc6a add r3, pc                                            |     r3 = 0x1797a;
    0x0000bc6c adds r1, 7                                            |     r1 += 7;
    0x0000bc6e add r0, pc                                            |     r0 = 0x17984;
    0x0000bc70 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_13:
    0x0000bc74 ldr r1, [pc, 0x9c]                                    |     
    0x0000bc76 movs r2, 0x46                                         |     r2 = 0x46;
    0x0000bc78 ldr r3, [pc, 0x9c]                                    |     
    0x0000bc7a ldr r0, [pc, 0xa0]                                    |     
    0x0000bc7c add r1, pc                                            |     r1 = 0x17994;
    0x0000bc7e add r3, pc                                            |     r3 = 0x1799a;
    0x0000bc80 adds r1, 7                                            |     r1 += 7;
    0x0000bc82 add r0, pc                                            |     r0 = 0x179a4;
    0x0000bc84 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_24:
    0x0000bc88 ldr r2, [pc, 0x94]                                    |     
    0x0000bc8a add r2, pc                                            |     r2 = 0x179ae;
    0x0000bc8c b 0xbbfa                                              |     goto label_4;
                                                                     |     do {
                                                                     | label_19:
    0x0000bc8e ldr r0, [r5]                                          |         r0 = *(r5);
    0x0000bc90 mov r1, r7                                            |         r1 = r7;
    0x0000bc92 mov.w sl, 0                                           |         sl = 0;
    0x0000bc96 blx 0x5ca4                                            |         fcn_00005ca4 ();
    0x0000bc9a b 0xbb40                                              |         goto label_2;
                                                                     | label_15:
    0x0000bc9c ldr r1, [pc, 0x84]                                    |         
    0x0000bc9e movs r2, 0x2e                                         |         r2 = 0x2e;
    0x0000bca0 ldr r3, [pc, 0x84]                                    |         
    0x0000bca2 ldr r0, [pc, 0x88]                                    |         
    0x0000bca4 add r1, pc                                            |         r1 = 0x179cc;
    0x0000bca6 add r3, pc                                            |         r3 = 0x179d2;
    0x0000bca8 adds r1, 7                                            |         r1 += 7;
    0x0000bcaa add r0, pc                                            |         r0 = 0x179dc;
    0x0000bcac blx 0x5e40                                            |         unit_file_get_default ();
    0x0000bcae invalid                                               |         
                                                                     | label_16:
    0x0000bcb0 cmp.w sl, 0                                           |         
    0x0000bcb4 beq 0xbc8e                                            |         
                                                                     |     } while (sl == 0);
    0x0000bcb6 mov sl, r4                                            |     sl = r4;
    0x0000bcb8 b 0xbb48                                              |     goto label_7;
                                                                     | label_20:
    0x0000bcba blx 0x6114                                            |     fcn_00006114 ();
    0x0000bcbe nop                                                   |     
    0x0000bcc0 vhadd.s16 d0, d2, d2                                  |     __asm ("vhadd.s16 d0, d2, d2");
    0x0000bcc4 lsls r0, r2, 0x18                                     |     r0 = r2 << 0x18;
    0x0000bcc6 movs r0, r0                                           |     
    0x0000bcc8 vhadd.s8 d0, d10, d2                                  |     __asm ("vhadd.s8 d0, d10, d2");
    0x0000bccc stc2l p15, c15, [fp, 0x3fc]                           |     __asm ("stc2l p15, c15, [fp, 0x3fc]");
    0x0000bcd0 lsls r4, r6, 0x16                                     |     r4 = r6 << 0x16;
    0x0000bcd2 movs r0, r0                                           |     
    0x0000bcd4 ldr r3, [pc, 0x3d8]                                   |     r3 = *(0xc0b0);
    0x0000bcd6 movs r1, r0                                           |     r1 = r0;
    0x0000bcd8 cmp r5, 0x50                                          |     
    0x0000bcda movs r1, r0                                           |     r1 = r0;
    0x0000bcdc ldr r7, [pc, 0x368]                                   |     r7 = *(0xc048);
    0x0000bcde movs r1, r0                                           |     r1 = r0;
    0x0000bce0 ldr r3, [pc, 0x2f8]                                   |     r3 = *(0xbfdc);
    0x0000bce2 movs r1, r0                                           |     r1 = r0;
    0x0000bce4 ldr r3, [pc, 0x2b0]                                   |     r3 = *(0xbf98);
    0x0000bce6 movs r1, r0                                           |     r1 = r0;
    0x0000bce8 cdp p0, 2, c0, c0, c2, 0                              |     __asm ("cdp p0, 2, c0, c0, c2, 0");
    0x0000bcec ldr r3, [pc, 0x140]                                   |     r3 = *(0xbe30);
    0x0000bcee movs r1, r0                                           |     r1 = r0;
    0x0000bcf0 lsls r0, r5, 0x17                                     |     r0 = r5 << 0x17;
    0x0000bcf2 movs r0, r0                                           |     
    0x0000bcf4 ldr r6, [pc, 0x300]                                   |     r6 = *(0xbff8);
    0x0000bcf6 movs r1, r0                                           |     r1 = r0;
    0x0000bcf8 cmp r3, 0xf8                                          |     
    0x0000bcfa movs r1, r0                                           |     r1 = r0;
    0x0000bcfc subs r3, 0x42                                         |     r3 -= 0x42;
    0x0000bcfe movs r1, r0                                           |     r1 = r0;
    0x0000bd00 ldr r2, [pc, 0x28]                                    |     r2 = *(0xbd2c);
    0x0000bd02 movs r1, r0                                           |     r1 = r0;
    0x0000bd04 ldr r2, [pc, 0x340]                                   |     r2 = *(0xc048);
    0x0000bd06 movs r1, r0                                           |     r1 = r0;
    0x0000bd08 ldr r1, [pc, 0x3b0]                                   |     r1 = *(0xc0bc);
    0x0000bd0a movs r1, r0                                           |     r1 = r0;
    0x0000bd0c ldr r2, [pc, 0x208]                                   |     r2 = *(0xbf18);
    0x0000bd0e movs r1, r0                                           |     r1 = r0;
    0x0000bd10 ldr r2, [pc, 0x98]                                    |     r2 = *(0xbdac);
    0x0000bd12 movs r1, r0                                           |     r1 = r0;
    0x0000bd14 ldr r1, [pc, 0x360]                                   |     r1 = *(0xc078);
    0x0000bd16 movs r1, r0                                           |     r1 = r0;
    0x0000bd18 ldr r2, [pc, 0x1b8]                                   |     r2 = *(0xbed4);
    0x0000bd1a movs r1, r0                                           |     r1 = r0;
    0x0000bd1c adds r7, 0x76                                         |     r7 += 0x76;
    0x0000bd1e movs r1, r0                                           |     r1 = r0;
    0x0000bd20 ldr r1, [pc, 0x3f8]                                   |     r1 = *(0xc11c);
    0x0000bd22 movs r1, r0                                           |     r1 = r0;
    0x0000bd24 ldr r1, [pc, 0x3d0]                                   |     r1 = *(0xc0f8);
    0x0000bd26 movs r1, r0                                           |     r1 = r0;
    0x0000bd28 ldr r2, [pc, 0xe8]                                    |     r2 = *(0xbe14);
    0x0000bd2a movs r1, r0                                           |     r1 = r0;
    0x0000bd2c ldr r2, [pc, 0x38]                                    |     r2 = *(0xbd68);
    0x0000bd2e movs r1, r0                                           |     r1 = r0;
    0x0000bd30 ldr r2, [pc, 0x138]                                   |     
    0x0000bd32 movs r0, 1                                            |     r0 = 1;
    0x0000bd34 ldr r3, [pc, 0x138]                                   |     r3 = *(0xbe70);
    0x0000bd36 push.w {r4, r5, r6, r7, r8, lr}                       |     
    0x0000bd3a sub sp, 0x18                                          |     
    0x0000bd3c add r2, pc                                            |     r2 = 0x17bac;
    0x0000bd3e ldr r7, [pc, 0x134]                                   |     
    0x0000bd40 mov r5, r1                                            |     r5 = r1;
    0x0000bd42 movs r6, 0                                            |     r6 = 0;
    0x0000bd44 ldr r3, [r2, r3]                                      |     
    0x0000bd46 add r1, sp, 0x10                                      |     r1 += var_10h_2;
    0x0000bd48 add r7, pc                                            |     r7 = 0x17bc2;
    0x0000bd4a ldr r3, [r3]                                          |     r3 = *(0x17bac);
    0x0000bd4c str r3, [sp, 0x14]                                    |     var_14h_2 = r3;
    0x0000bd4e mov.w r3, 0                                           |     r3 = 0;
    0x0000bd52 strd r6, r6, [sp, 8]                                  |     __asm ("strd r6, r6, [var_ch]");
    0x0000bd56 bl 0x1a334                                            |     r0 = fcn_0001a334 (r0, r1);
    0x0000bd5a subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000bd5c blt 0xbdce                                            |         goto label_9;
                                                                     |     }
    0x0000bd5e movs r1, 1                                            |     r1 = 1;
    0x0000bd60 mov r0, r5                                            |     r0 = r5;
    0x0000bd62 blx 0x5ad4                                            |     r0 = sd_bus_message_get_bus ();
    0x0000bd66 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000bd68 beq 0xbdfc                                            |         goto label_25;
                                                                     |     }
    0x0000bd6a ldr r3, [r0]                                          |     r3 = *(r0);
    0x0000bd6c cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000bd6e beq 0xbdfc                                            |         goto label_25;
                                                                     |     }
    0x0000bd70 mov r1, r0                                            |     r1 = r0;
    0x0000bd72 add r3, sp, 8                                         |     r3 += var_8h;
    0x0000bd74 ldr r0, [sp, 0x10]                                    |     r0 = var_10h_2;
    0x0000bd76 mov r2, r6                                            |     r2 = r6;
    0x0000bd78 str r6, [sp]                                          |     *(sp) = r6;
    0x0000bd7a bl 0x1ba10                                            |     r0 = fcn_0001ba10 (r0, r1, r2, r3, r4, r5, r6);
    0x0000bd7e subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000bd80 blt 0xbe22                                            |         goto label_26;
                                                                     |     }
                                                                     | label_8:
    0x0000bd82 ldr r3, [pc, 0xf4]                                    |     r3 = *(0xbe7a);
    0x0000bd84 ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0000bd86 ldr r0, [r3]                                          |     r0 = *(0xbe7a);
    0x0000bd88 blx 0x5e70                                            |     get_color_mode ();
    0x0000bd8c ldr r5, [sp, 8]                                       |     r5 = var_8h;
    0x0000bd8e cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000bd90 beq 0xbe5c                                            |         goto label_27;
                                                                     |     }
    0x0000bd92 ldr r7, [pc, 0xe8]                                    |     
    0x0000bd94 subs r5, 4                                            |     r5 -= 4;
    0x0000bd96 add.w r8, sp, 0xc                                     |     r8 += var_ch;
    0x0000bd98 lsrs r4, r1, 0x20                                     |     r4 = r1 >> 0x20;
    0x0000bd9a movs r6, 0                                            |     r6 = 0;
    0x0000bd9c add r7, pc                                            |     r7 = 0x17c1e;
    0x0000bd9e b 0xbdc4                                              |     
                                                                     |     while (r0 != 0) {
    0x0000bda0 ldr r3, [sp, 8]                                       |         r3 = var_8h;
    0x0000bda2 cmp r3, r5                                            |         
                                                                     |         if (r3 != r5) {
    0x0000bda4 beq 0xbdae                                            |             
    0x0000bda6 mov r0, r7                                            |             r0 = r7;
    0x0000bda8 blx 0x62a0                                            |             fcn_000062a0 ();
    0x0000bdac ldr r0, [r5]                                          |             r0 = *(r5);
                                                                     |         }
    0x0000bdae blx 0x62a0                                            |         fcn_000062a0 ();
    0x0000bdb2 ldr r1, [r5]                                          |         r1 = *(r5);
    0x0000bdb4 mov r3, r8                                            |         r3 = r8;
    0x0000bdb6 ldr r0, [sp, 0x10]                                    |         r0 = var_10h_2;
    0x0000bdb8 movs r2, 0                                            |         r2 = 0;
    0x0000bdba str r6, [sp]                                          |         *(sp) = r6;
    0x0000bdbc bl 0xba4c                                             |         r0 = fcn_0000ba4c (r0, r1, r2, r3, r4);
    0x0000bdc0 subs r4, r0, 0                                        |         r4 = r0 - 0;
                                                                     |         if (r4 < r0) {
    0x0000bdc2 blt 0xbdce                                            |             goto label_9;
                                                                     |         }
    0x0000bdc4 ldr r0, [r5, 4]!                                      |         r0 = *((r5 += 4));
    0x0000bdc8 cmp r0, 0                                             |         
    0x0000bdca bne 0xbda0                                            |         
                                                                     |     }
    0x0000bdcc mov r4, r0                                            |     r4 = r0;
                                                                     | label_9:
    0x0000bdce ldr r0, [sp, 0xc]                                     |     r0 = var_ch;
                                                                     |     if (r0 != 0) {
    0x0000bdd0 cbz r0, 0xbdd8                                        |         
                                                                     | label_10:
    0x0000bdd2 blx 0x5dec                                            |         unit_file_state_to_string ();
    0x0000bdd6 str r0, [sp, 0xc]                                     |         var_ch = r0;
                                                                     |     }
    0x0000bdd8 ldr r0, [sp, 8]                                       |     r0 = var_8h;
                                                                     |     if (r0 != 0) {
    0x0000bdda cbz r0, 0xbde0                                        |         
    0x0000bddc blx 0x5dec                                            |         unit_file_state_to_string ();
                                                                     |     }
                                                                     | label_11:
    0x0000bde0 ldr r2, [pc, 0x9c]                                    |     
    0x0000bde2 ldr r3, [pc, 0x8c]                                    |     r3 = *(0xbe72);
    0x0000bde4 add r2, pc                                            |     r2 = 0x17c68;
    0x0000bde6 ldr r3, [r2, r3]                                      |     r3 = *(0x17c68);
    0x0000bde8 ldr r2, [r3]                                          |     r2 = *(0x17c68);
    0x0000bdea ldr r3, [sp, 0x14]                                    |     r3 = var_14h_2;
    0x0000bdec eors r2, r3                                           |     r2 ^= r3;
    0x0000bdee mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000bdf2 bne 0xbe68                                            |         goto label_28;
                                                                     |     }
    0x0000bdf4 mov r0, r4                                            |     r0 = r4;
    0x0000bdf6 add sp, 0x18                                          |     
    0x0000bdf8 pop.w {r4, r5, r6, r7, r8, pc}                        |     
                                                                     | label_25:
    0x0000bdfc ldr r0, [pc, 0x84]                                    |     
    0x0000bdfe movs r1, 0                                            |     r1 = 0;
    0x0000be00 add r0, pc                                            |     r0 = 0x17c88;
    0x0000be02 blx 0x5cb0                                            |     fcn_00005cb0 ();
    0x0000be06 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000be08 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000be0a bne 0xbd82                                            |         goto label_8;
                                                                     |     }
    0x0000be0c ldr r1, [pc, 0x78]                                    |     
    0x0000be0e movs r2, 0x99                                         |     r2 = 0x99;
    0x0000be10 ldr r3, [pc, 0x78]                                    |     
    0x0000be12 movs r0, 3                                            |     r0 = 3;
    0x0000be14 add r1, pc                                            |     r1 = 0x17ca0;
    0x0000be16 add r3, pc                                            |     r3 = 0x17ca6;
    0x0000be18 adds r1, 7                                            |     r1 += 7;
    0x0000be1a blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000be1e mov r4, r0                                            |     r4 = r0;
    0x0000be20 b 0xbdce                                              |     goto label_9;
                                                                     | label_26:
    0x0000be22 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000be26 cmp r0, 2                                             |     
    0x0000be28 ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000be2a rsble r0, r4, 0                                       |         __asm ("rsble r0, r4, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000be2c uxtble r0, r0                                         |         __asm ("uxtble r0, r0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000be2e rsble r4, r0, 0                                       |         __asm ("rsble r4, r0, 0");
                                                                     |     }
    0x0000be30 bgt 0xbe3c                                            |     
                                                                     |     while (1) {
    0x0000be32 cmp r4, 0                                             |         
    0x0000be34 it ge                                                 |         
                                                                     |         if (r4 < 0) {
    0x0000be36 mvnge r4, 0x55                                        |             r4 = ~0x55;
                                                                     |         }
    0x0000be3a b 0xbdce                                              |         goto label_9;
    0x0000be3c ldr r2, [pc, 0x50]                                    |         
    0x0000be3e mov r1, r4                                            |         r1 = r4;
    0x0000be40 ldr r5, [pc, 0x50]                                    |         
    0x0000be42 movs r3, 0x9d                                         |         r3 = 0x9d;
    0x0000be44 ldr r0, [pc, 0x50]                                    |         
    0x0000be46 add r2, pc                                            |         r2 = 0x17cda;
    0x0000be48 add r5, pc                                            |         r5 = 0x17ce0;
    0x0000be4a adds r2, 7                                            |         r2 += 7;
    0x0000be4c add r0, pc                                            |         r0 = 0x17ce8;
    0x0000be4e strd r0, r5, [sp]                                     |         __asm ("strd r0, r5, [sp]");
    0x0000be52 movs r0, 3                                            |         r0 = 3;
    0x0000be54 blx 0x61a4                                            |         r0 = fcn_000061a4 ();
    0x0000be58 mov r4, r0                                            |         r4 = r0;
    0x0000be5a b 0xbe32                                              |         
                                                                     |     }
                                                                     | label_27:
    0x0000be5c ldr r0, [sp, 0xc]                                     |     r0 = var_ch;
    0x0000be5e mov r4, r5                                            |     r4 = r5;
    0x0000be60 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000be62 bne 0xbdd2                                            |         goto label_10;
                                                                     |     }
    0x0000be64 mov r4, r0                                            |     r4 = r0;
    0x0000be66 b 0xbde0                                              |     goto label_11;
                                                                     | label_28:
    0x0000be68 blx 0x6114                                            |     r0 = fcn_00006114 ();
    0x0000be6c ldc p0, c0, [r0], -8                                  |     __asm ("ldc p0, c0, [r0], -8");
    0x0000be6e movs r2, r0                                           |     r2 = r0;
    0x0000be70 lsls r0, r2, 0x18                                     |     r0 = r2 << 0x18;
    0x0000be72 movs r0, r0                                           |     
    0x0000be74 stc p0, c0, [r4], -8                                  |     __asm ("stc p0, c0, [r4], -8");
    0x0000be78 lsls r4, r7, 0x15                                     |     r4 = r7 << 0x15;
    0x0000be7a movs r0, r0                                           |     
    0x0000be7c ldr r5, [pc, 0x70]                                    |     r5 = *(0xbef0);
    0x0000be7e movs r1, r0                                           |     r1 = r0;
    0x0000be80 invalid                                               |     
                                                                     | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0xc7d0 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000c7d0 ()                                          | void fcn_0000c7d0 (int16_t arg_1h, int16_t arg1) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int32_t var_1ch;
                                                                     |     int32_t var_1ch_2;
                                                                     |     int16_t var_24h;
                                                                     |     int16_t var_28h;
                                                                     |     int16_t var_2ch;
                                                                     |     int16_t var_30h;
                                                                     |     int16_t var_34h;
                                                                     |     int16_t var_38h;
                                                                     |     int16_t var_3ch;
                                                                     |     void * base;
                                                                     |     int16_t var_44h;
                                                                     |     int16_t var_48h;
                                                                     |     int16_t var_4ch;
                                                                     |     int16_t var_50h;
                                                                     |     int16_t var_54h;
                                                                     |     int16_t var_58h;
                                                                     |     int16_t var_5ch;
                                                                     |     int16_t var_64h;
                                                                     |     int16_t var_68h;
                                                                     |     int16_t var_6ch;
                                                                     |     int16_t var_70h;
                                                                     |     int16_t var_74h;
                                                                     |     r0 = arg1;
                                                                     |     do {
    0x00005a64 invalid                                               |         void (*0x5a68)() ();
    0x0000c7d0 push {r4, lr}                                         |         
                                                                     |         if (r0 == 0) {
    0x0000c7d2 cbz r0, 0xc7f6                                        |             goto label_29;
                                                                     |         }
    0x0000c7d4 mov r4, r0                                            |         r4 = r0;
    0x0000c7d6 ldr r0, [r0, 4]                                       |         r0 = *((r0 + 4));
    0x0000c7d8 blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000c7dc ldr r0, [r4, 8]                                       |         r0 = *((r4 + 8));
    0x0000c7de blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000c7e2 ldr r0, [r4, 0xc]                                     |         r0 = *((r4 + 0xc));
    0x0000c7e4 blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000c7e8 mov r0, r4                                            |         r0 = r4;
    0x0000c7ea movs r2, 0x20                                         |         r2 = 0x20;
    0x0000c7ec pop.w {r4, lr}                                        |         
    0x0000c7f0 movs r1, 0                                            |         r1 = 0;
    0x0000c7f2 b.w 0x5a64                                            |         
                                                                     |     } while (1);
                                                                     | label_29:
    0x0000c7f6 ldr r1, [pc, 0x14]                                    |     
    0x0000c7f8 movs r2, 0x1b                                         |     r2 = 0x1b;
    0x0000c7fa ldr r3, [pc, 0x14]                                    |     
    0x0000c7fc ldr r0, [pc, 0x14]                                    |     
    0x0000c7fe add r1, pc                                            |     r1 = 0x19010;
    0x0000c800 add r3, pc                                            |     r3 = 0x19016;
    0x0000c802 adds r1, 7                                            |     r1 += 7;
    0x0000c804 add r0, pc                                            |     r0 = 0x1901c;
    0x0000c806 blx 0x5e40                                            |     unit_file_get_default ();
    0x0000c80a nop                                                   |     
    0x0000c80c adcs r2, r0                                           |     __asm ("adcs r2, r0");
    0x0000c80e movs r1, r0                                           |     r1 = r0;
    0x0000c810 muls r4, r1, r4                                       |     r4 = r1 * r4;
    0x0000c812 movs r1, r0                                           |     r1 = r0;
    0x0000c814 sbcs r0, r5                                           |     __asm ("sbcs r0, r5");
    0x0000c816 movs r1, r0                                           |     r1 = r0;
    0x0000c818 ldr.w r2, [pc, 0x6e8]                                 |     r2 = *(0x0000cf04);
    0x0000c81c movs r0, 1                                            |     r0 = 1;
    0x0000c81e ldr.w r3, [pc, 0x6e8]                                 |     
    0x0000c822 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000c826 sub sp, 0x7c                                          |     
    0x0000c828 add r2, pc                                            |     r2 += pc;
    0x0000c82a ldr.w r7, [pc, 0x6e0]                                 |     r7 = *(0x0000cf0c);
    0x0000c82e mov r4, r1                                            |     r4 = r1;
    0x0000c830 add r1, sp, 0x64                                      |     r1 += var_64h;
    0x0000c832 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000c834 add r7, pc                                            |     r7 += pc;
    0x0000c836 ldr r3, [r3]                                          |     r3 = *(0xcf0a);
    0x0000c838 str r3, [sp, 0x74]                                    |     var_74h = r3;
    0x0000c83a mov.w r3, 0                                           |     r3 = 0;
    0x0000c83e bl 0x1a334                                            |     r0 = fcn_0001a334 (r0, r1);
    0x0000c842 subs.w fp, r0, 0                                      |     
                                                                     |     if (fp < r0) {
    0x0000c846 blt.w 0xc958                                          |         goto label_1;
                                                                     |     }
    0x0000c84a movs r1, 1                                            |     r1 = 1;
    0x0000c84c mov r0, r4                                            |     r0 = r4;
    0x0000c84e movs r4, 0                                            |     r4 = 0;
    0x0000c850 ldr.w r8, [sp, 0x64]                                  |     r8 = var_64h;
    0x0000c854 blx 0x5ad4                                            |     sd_bus_message_get_bus ();
    0x0000c858 strd r4, r4, [sp, 0x68]                               |     __asm ("strd r4, r4, [var_6ch]");
    0x0000c85c mov r5, r0                                            |     r5 = r0;
    0x0000c85e blx 0x6420                                            |     r0 = fcn_00006420 ();
    0x0000c862 mov r6, r0                                            |     r6 = r0;
    0x0000c864 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000c866 beq.w 0xca46                                          |         goto label_30;
                                                                     |     }
    0x0000c86a cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000c86c beq.w 0xc97a                                          |         goto label_31;
                                                                     |     }
    0x0000c870 ldr r3, [r5]                                          |     r3 = *(r5);
    0x0000c872 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000c874 beq.w 0xc97a                                          |         goto label_31;
                                                                     |     }
    0x0000c878 mov r1, r0                                            |     r1 = r0;
    0x0000c87a mov r3, r4                                            |     r3 = r4;
    0x0000c87c movs r2, 2                                            |     r2 = 2;
    0x0000c87e mov r0, r5                                            |     r0 = r5;
    0x0000c880 blx 0x58a4                                            |     r0 = fcn_000058a4 ();
    0x0000c884 mov fp, r0                                            |     
    0x0000c886 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000c888 bne 0xc97a                                            |         goto label_31;
                                                                     |     }
    0x0000c88a add r0, sp, 0x6c                                      |     r0 += var_6ch;
    0x0000c88c blx 0x62b8                                            |     fcn_000062b8 ();
    0x0000c890 subs r4, r0, 0                                        |     r4 -= var_6ch;
                                                                     |     if (r4 < var_6ch) {
    0x0000c892 blt.w 0xc9aa                                          |         goto label_32;
                                                                     |     }
                                                                     | label_0:
    0x0000c896 ldr r4, [sp, 0x6c]                                    |     r4 = var_6ch;
                                                                     |     if (r4 == 0) {
    0x0000c898 cbz r4, 0xc8ec                                        |         goto label_33;
                                                                     |     }
    0x0000c89a ldr.w r3, [pc, 0x674]                                 |     
    0x0000c89e subs r4, 4                                            |     r4 -= 4;
    0x0000c8a0 mov.w r8, 0                                           |     r8 = 0;
    0x0000c8a4 add.w sl, sp, 0x70                                    |     sl += var_70h;
    0x0000c8a8 add r3, pc                                            |     r3 = 0x197be;
    0x0000c8aa str r3, [sp, 0x44]                                    |     var_44h = r3;
                                                                     | label_3:
    0x0000c8ac ldr r3, [r4, 4]!                                      |     r3 = *((r4 += 4));
                                                                     |     if (r3 == 0) {
    0x0000c8b0 cbz r3, 0xc8ec                                        |         goto label_33;
                                                                     |     }
                                                                     |     do {
    0x0000c8b2 str.w r8, [sp, 0x70]                                  |         __asm ("str.w r8, [var_70h]");
    0x0000c8b6 ldr r0, [r4]                                          |         r0 = *(r4);
    0x0000c8b8 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000c8ba beq.w 0xccc4                                          |             goto label_34;
                                                                     |         }
    0x0000c8be cmp r5, 0                                             |         
                                                                     |         if (r5 == 0) {
    0x0000c8c0 beq.w 0xc9d8                                          |             goto label_35;
                                                                     |         }
    0x0000c8c4 ldr r3, [r5]                                          |         r3 = *(r5);
    0x0000c8c6 cmp r3, 0                                             |         
                                                                     |         if (r3 == 0) {
    0x0000c8c8 beq.w 0xc9d8                                          |             goto label_35;
                                                                     |         }
    0x0000c8cc mov r1, r0                                            |         r1 = r0;
    0x0000c8ce movs r3, 0                                            |         r3 = 0;
    0x0000c8d0 movs r2, 2                                            |         r2 = 2;
    0x0000c8d2 mov r0, r5                                            |         r0 = r5;
    0x0000c8d4 blx 0x58a4                                            |         r0 = fcn_000058a4 ();
    0x0000c8d8 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000c8da bne 0xc9d6                                            |             goto label_36;
                                                                     |         }
    0x0000c8dc ldr r2, [sp, 0x70]                                    |         r2 = var_70h;
                                                                     | label_2:
    0x0000c8de mov r0, r2                                            |         r0 = r2;
    0x0000c8e0 blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000c8e4 ldr r3, [r4, 4]!                                      |         r3 = *((r4 += 4));
    0x0000c8e8 cmp r3, 0                                             |         
    0x0000c8ea bne 0xc8b2                                            |         
                                                                     |     } while (r3 != 0);
                                                                     | label_33:
    0x0000c8ec ldr r3, [sp, 0x68]                                    |     r3 = var_68h;
    0x0000c8ee mov r0, r6                                            |     r0 = r6;
    0x0000c8f0 str r3, [sp, 0x40]                                    |     base = r3;
    0x0000c8f2 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000c8f6 ldr r0, [sp, 0x6c]                                    |     r0 = var_6ch;
    0x0000c8f8 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000c8fa bne.w 0xca70                                          |         goto label_37;
                                                                     |     }
    0x0000c8fe b 0xca7c                                              |     goto label_38;
                                                                     | label_4:
    0x0000c900 mov r5, r0                                            |     r5 = r0;
    0x0000c902 ldr r6, [sp, 0x38]                                    |     r6 = var_38h;
    0x0000c904 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000c908 cmp r0, 2                                             |     
    0x0000c90a ldr.w fp, [sp, 0x50]                                  |     fp = var_50h;
    0x0000c90e ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000c910 rsble r4, r5, 0                                       |         __asm ("rsble r4, r5, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000c912 uxtble r4, r4                                         |         __asm ("uxtble r4, r4");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000c914 rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000c916 bgt.w 0xcd6c                                          |         goto label_39;
                                                                     |     }
                                                                     | label_17:
    0x0000c91a cmp r4, 0                                             |     
    0x0000c91c mov r0, r6                                            |     r0 = r6;
    0x0000c91e it ge                                                 |     
                                                                     |     if (r4 < 0) {
    0x0000c920 mvnge r4, 0x55                                        |         r4 = ~0x55;
                                                                     |     }
    0x0000c924 blx 0x5be4                                            |     fcn_00005be4 ();
                                                                     | label_14:
    0x0000c928 mov r0, sb                                            |     r0 = sb;
    0x0000c92a blx 0x5b04                                            |     sd_bus_message_read ();
                                                                     | label_24:
    0x0000c92e ldr r3, [sp, 0x40]                                    |     r3 = base;
    0x0000c930 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000c932 beq.w 0xce32                                          |         goto label_40;
                                                                     |     }
    0x0000c936 ldr r6, [sp, 0x40]                                    |     r6 = base;
    0x0000c938 movs r5, 0                                            |     r5 = 0;
    0x0000c93a cmp.w fp, 0                                           |     
                                                                     |     if (fp == 0) {
    0x0000c93e beq 0xc950                                            |         goto label_41;
                                                                     |     }
                                                                     |     do {
    0x0000c940 mov r0, r6                                            |         r0 = r6;
    0x0000c942 adds r5, 1                                            |         r5++;
    0x0000c944 bl 0xc7d0                                             |         fcn_0000c7d0 (r0, r1);
    0x0000c948 cmp r5, fp                                            |         
    0x0000c94a add.w r6, r6, 0x20                                    |         r6 += 0x20;
    0x0000c94e bne 0xc940                                            |         
                                                                     |     } while (r5 != fp);
                                                                     | label_41:
    0x0000c950 ldr r0, [sp, 0x40]                                    |     r0 = base;
    0x0000c952 mov fp, r4                                            |     
    0x0000c954 blx 0x5be4                                            |     fcn_00005be4 ();
                                                                     | label_1:
    0x0000c958 ldr.w r2, [pc, 0x5b8]                                 |     r2 = *(0x0000cf14);
    0x0000c95c ldr.w r3, [pc, 0x5a8]                                 |     r3 = *(0xcf08);
    0x0000c95e adds r5, 0xa8                                         |     r5 += 0xa8;
    0x0000c960 add r2, pc                                            |     r2 += pc;
    0x0000c962 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000c964 ldr r2, [r3]                                          |     r2 = *(0xcf08);
    0x0000c966 ldr r3, [sp, 0x74]                                    |     r3 = var_74h;
    0x0000c968 eors r2, r3                                           |     r2 ^= r3;
    0x0000c96a mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000c96e bne.w 0xcec4                                          |         goto label_42;
                                                                     |     }
    0x0000c972 mov r0, fp                                            |     r0 = fp;
    0x0000c974 add sp, 0x7c                                          |     
    0x0000c976 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_31:
    0x0000c97a movs r2, 0x20                                         |     r2 = 0x20;
    0x0000c97c movs r1, 1                                            |     r1 = 1;
    0x0000c97e add r0, sp, 0x68                                      |     r0 += var_68h;
    0x0000c980 blx 0x5808                                            |     r0 = fcn_00005808 ();
    0x0000c984 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000c986 beq.w 0xcde6                                          |         goto label_43;
                                                                     |     }
    0x0000c98a ldr r2, [sp, 0x68]                                    |     r2 = var_68h;
    0x0000c98c movs r3, 1                                            |     r3 = 1;
    0x0000c98e mov r0, r8                                            |     r0 = r8;
    0x0000c990 mov fp, r3                                            |     
    0x0000c992 strb r3, [r2]                                         |     *(r2) = r3;
    0x0000c994 ldr r1, [sp, 0x68]                                    |     r1 = var_68h;
    0x0000c996 str r6, [r1, 4]                                       |     *((r1 + 4)) = r6;
    0x0000c998 movs r6, 0                                            |     r6 = 0;
    0x0000c99a bl 0xc728                                             |     fcn_0000c728 (r0);
    0x0000c99e add r0, sp, 0x6c                                      |     r0 += var_6ch;
    0x0000c9a0 blx 0x62b8                                            |     fcn_000062b8 ();
    0x0000c9a4 subs r4, r0, 0                                        |     r4 -= var_6ch;
                                                                     |     if (r4 >= var_6ch) {
    0x0000c9a6 bge.w 0xc896                                          |         goto label_0;
                                                                     |     }
                                                                     | label_32:
    0x0000c9aa blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000c9ae cmp r0, 2                                             |     
    0x0000c9b0 ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000c9b2 rsble r0, r4, 0                                       |         __asm ("rsble r0, r4, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000c9b4 uxtble r0, r0                                         |         __asm ("uxtble r0, r0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000c9b6 rsble fp, r0, 0                                       |         __asm ("rsble fp, r0, 0");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000c9ba bgt.w 0xcdfc                                          |         goto label_44;
                                                                     |     }
                                                                     | label_23:
    0x0000c9be cmp.w fp, 0                                           |     
    0x0000c9c2 mov r0, r6                                            |     r0 = r6;
    0x0000c9c4 it ge                                                 |     
                                                                     |     if (fp < 0) {
    0x0000c9c6 mvnge fp, 0x55                                        |         
                                                                     |     }
    0x0000c9ca blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000c9ce ldr r0, [sp, 0x6c]                                    |     r0 = var_6ch;
    0x0000c9d0 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000c9d2 bne 0xca6c                                            |         goto label_45;
                                                                     |     }
    0x0000c9d4 b 0xc958                                              |     goto label_1;
                                                                     | label_36:
    0x0000c9d6 ldr r0, [r4]                                          |     r0 = *(r4);
                                                                     | label_35:
    0x0000c9d8 mov r1, sl                                            |     r1 = sl;
    0x0000c9da blx 0x5754                                            |     fcn_00005754 ();
    0x0000c9de ldr r2, [sp, 0x70]                                    |     r2 = var_70h;
    0x0000c9e0 cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x0000c9e2 beq.w 0xc8de                                          |         goto label_2;
                                                                     |     }
    0x0000c9e6 mov r0, r2                                            |     r0 = r2;
    0x0000c9e8 ldr r1, [sp, 0x44]                                    |     r1 = var_44h;
    0x0000c9ea str r2, [sp, 0x38]                                    |     var_38h = r2;
    0x0000c9ec blx 0x655c                                            |     fcn_0000655c ();
    0x0000c9f0 ldr r2, [sp, 0x38]                                    |     r2 = var_38h;
    0x0000c9f2 mov sb, r0                                            |     sb = r0;
    0x0000c9f4 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000c9f6 bne.w 0xc8de                                          |         goto label_2;
                                                                     |     }
    0x0000c9fa add.w r3, fp, 1                                       |     r3 += arg_1h;
    0x0000c9fe movs r2, 0x20                                         |     r2 = 0x20;
    0x0000ca00 mov r1, r3                                            |     r1 = r3;
    0x0000ca02 add r0, sp, 0x68                                      |     r0 += var_68h;
    0x0000ca04 str r3, [sp, 0x38]                                    |     var_38h = r3;
    0x0000ca06 blx 0x5808                                            |     r0 = fcn_00005808 ();
    0x0000ca0a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ca0c beq.w 0xce4a                                          |         goto label_46;
                                                                     |     }
    0x0000ca10 ldr r2, [sp, 0x68]                                    |     r2 = var_68h;
    0x0000ca12 lsl.w r1, fp, 5                                       |     r1 = fp << 5;
    0x0000ca16 strb.w sb, [r2, r1]                                   |     *((r2 + r1)) = sb;
    0x0000ca1a ldr r2, [sp, 0x68]                                    |     r2 = var_68h;
    0x0000ca1c ldr r0, [r4]                                          |     r0 = *(r4);
    0x0000ca1e add r1, r2                                            |     r1 += r2;
    0x0000ca20 strd r1, r2, [sp, 0x3c]                               |     __asm ("strd r1, r2, [base]");
    0x0000ca24 blx 0x60f0                                            |     fcn_000060f0 ();
    0x0000ca28 ldr r1, [sp, 0x3c]                                    |     r1 = var_3ch;
    0x0000ca2a ldr r2, [sp, 0x40]                                    |     r2 = base;
    0x0000ca2c str r0, [r1, 4]                                       |     *((r1 + 4)) = r0;
    0x0000ca2e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ca30 beq.w 0xcec8                                          |         goto label_47;
                                                                     |     }
    0x0000ca34 mov r0, sb                                            |     r0 = sb;
    0x0000ca36 bl 0xc728                                             |     fcn_0000c728 (r0);
    0x0000ca3a ldr r0, [sp, 0x70]                                    |     r0 = var_70h;
    0x0000ca3c ldr.w fp, [sp, 0x38]                                  |     fp = var_38h;
    0x0000ca40 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000ca44 b 0xc8ac                                              |     goto label_3;
                                                                     | label_30:
    0x0000ca46 ldr.w r1, [pc, 0x4d0]                                 |     
    0x0000ca4a movs r2, 0x65                                         |     r2 = 0x65;
    0x0000ca4c ldr.w r3, [pc, 0x4cc]                                 |     
    0x0000ca50 movs r0, 3                                            |     r0 = 3;
    0x0000ca52 add r1, pc                                            |     r1 = 0x19970;
    0x0000ca54 add r3, pc                                            |     r3 = 0x19974;
    0x0000ca56 adds r1, 7                                            |     r1 += 7;
    0x0000ca58 blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000ca5c mov fp, r0                                            |     
                                                                     | label_22:
    0x0000ca5e mov r0, r6                                            |     r0 = r6;
    0x0000ca60 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000ca64 ldr r0, [sp, 0x6c]                                    |     r0 = var_6ch;
    0x0000ca66 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ca68 beq.w 0xccea                                          |         goto label_48;
                                                                     |     }
                                                                     | label_45:
    0x0000ca6c movs r3, 0                                            |     r3 = 0;
    0x0000ca6e str r3, [sp, 0x40]                                    |     base = r3;
                                                                     | label_37:
    0x0000ca70 blx 0x5dec                                            |     unit_file_state_to_string ();
                                                                     | label_13:
    0x0000ca74 cmp.w fp, 0                                           |     
                                                                     |     if (fp < 0) {
    0x0000ca78 blt.w 0xc958                                          |         goto label_1;
                                                                     |     }
                                                                     | label_38:
    0x0000ca7c ldr.w r3, [pc, 0x4a0]                                 |     r3 = *(0xcf20);
    0x0000ca80 ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0000ca82 ldr r0, [r3]                                          |     r0 = *(0xcf20);
    0x0000ca84 blx 0x5e70                                            |     get_color_mode ();
    0x0000ca88 cmp.w fp, 1                                           |     
    0x0000ca8c ldr r3, [sp, 0x40]                                    |     r3 = base;
                                                                     |     if (fp <= 1) {
    0x0000ca8e ble.w 0xcd42                                          |         goto label_49;
                                                                     |     }
    0x0000ca92 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000ca94 beq.w 0xce36                                          |         goto label_50;
                                                                     |     }
    0x0000ca98 ldr.w r3, [pc, 0x488]                                 |     r3 = *(0x0000cf24);
    0x0000ca9c movs r2, 0x20                                         |     r2 = 0x20;
    0x0000ca9e ldr r0, [sp, 0x40]                                    |     r0 = base;
    0x0000caa0 mov r1, fp                                            |     r1 = fp;
    0x0000caa2 add r3, pc                                            |     r3 += pc;
    0x0000caa4 blx 0x5684                                            |     qsort ();
                                                                     | label_16:
    0x0000caa8 ldr.w r3, [pc, 0x47c]                                 |     
    0x0000caac movs r4, 0                                            |     r4 = 0;
    0x0000caae ldr.w r2, [pc, 0x47c]                                 |     
    0x0000cab2 ldr.w r1, [pc, 0x47c]                                 |     
    0x0000cab6 add r3, pc                                            |     r3 = 0x199e2;
    0x0000cab8 ldr.w r0, [pc, 0x478]                                 |     
    0x0000cabc strd r3, r4, [sp]                                     |     __asm ("strd r3, r4, [sp]");
    0x0000cac0 add r2, pc                                            |     r2 = 0x199f2;
    0x0000cac2 ldr.w r3, [pc, 0x474]                                 |     
    0x0000cac6 add r1, pc                                            |     r1 = 0x199fc;
    0x0000cac8 add r0, pc                                            |     r0 = 0x19a00;
    0x0000caca add r3, pc                                            |     r3 = 0x19a08;
    0x0000cacc blx 0x61d4                                            |     r0 = fcn_000061d4 ();
    0x0000cad0 mov sb, r0                                            |     sb = r0;
    0x0000cad2 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cad4 beq.w 0xce1c                                          |         goto label_51;
                                                                     |     }
    0x0000cad8 ldr.w r3, [pc, 0x460]                                 |     r3 = *(0xcf3c);
    0x0000cadc ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0000cade ldr r1, [r3]                                          |     r1 = *(0xcf3c);
    0x0000cae0 str r3, [sp, 0x54]                                    |     var_54h = r3;
    0x0000cae2 subs r1, 0                                            |     
    0x0000cae4 it ne                                                 |     
                                                                     |     if (r1 == 0) {
    0x0000cae6 movne r1, 1                                           |         r1 = 1;
                                                                     |     }
    0x0000cae8 blx 0x6330                                            |     fcn_00006330 ();
    0x0000caec ldr.w r3, [pc, 0x450]                                 |     r3 = *(0xcf40);
    0x0000caf0 ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0000caf2 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000caf4 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000caf6 bne.w 0xcdb4                                          |         goto label_52;
                                                                     |     }
                                                                     | label_20:
    0x0000cafa ldr.w r3, [pc, 0x448]                                 |     r3 = *(0xcf46);
    0x0000cafe ldr r3, [r7, r3]                                      |     r3 = *((r7 + r3));
    0x0000cb00 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000cb02 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000cb04 bne.w 0xcddc                                          |         goto label_53;
                                                                     |     }
                                                                     | label_21:
    0x0000cb08 ldr r4, [sp, 0x40]                                    |     r4 = base;
    0x0000cb0a mov r0, sb                                            |     r0 = sb;
    0x0000cb0c ldr.w r1, [pc, 0x438]                                 |     
    0x0000cb10 add.w r2, r4, fp, lsl 5                               |     r2 = r4 + (fp << 5);
    0x0000cb14 add r1, pc                                            |     r1 = 0x19a60;
    0x0000cb16 mov r5, r2                                            |     r5 = r2;
    0x0000cb18 str r2, [sp, 0x44]                                    |     var_44h = r2;
    0x0000cb1a blx 0x57b4                                            |     fcn_000057b4 ();
    0x0000cb1e cmp r5, r4                                            |     
                                                                     |     if (r5 < r4) {
    0x0000cb20 bls.w 0xce8a                                          |         goto label_54;
                                                                     |     }
    0x0000cb24 ldr.w r2, [pc, 0x424]                                 |     
    0x0000cb28 adds r4, 0x20                                         |     r4 += 0x20;
    0x0000cb2a mov.w sl, 0                                           |     sl = 0;
    0x0000cb2e str.w fp, [sp, 0x50]                                  |     __asm ("str.w fp, [var_50h]");
    0x0000cb32 add r2, pc                                            |     r2 = 0x19a82;
    0x0000cb34 str r2, [sp, 0x3c]                                    |     var_3ch = r2;
    0x0000cb36 ldr.w r2, [pc, 0x418]                                 |     
    0x0000cb3a add r2, pc                                            |     r2 = 0x19a90;
    0x0000cb3c str r2, [sp, 0x4c]                                    |     var_4ch = r2;
    0x0000cb3e ldr.w r2, [pc, 0x414]                                 |     
    0x0000cb42 add r2, pc                                            |     r2 = 0x19a9c;
    0x0000cb44 str r2, [sp, 0x5c]                                    |     var_5ch = r2;
    0x0000cb46 ldr.w r2, [pc, 0x410]                                 |     
    0x0000cb4a add r2, pc                                            |     r2 = 0x19aa8;
    0x0000cb4c str r2, [sp, 0x58]                                    |     var_58h = r2;
    0x0000cb4e b 0xcbe2                                              |     goto label_55;
                                                                     | label_5:
    0x0000cb50 ldr r0, [r4, -0x1c]                                   |     r0 = *((r4 - 0x1c));
    0x0000cb54 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cb56 beq.w 0xccd8                                          |         goto label_56;
                                                                     |     }
                                                                     | label_12:
    0x0000cb5a ldr.w r1, [pc, 0x400]                                 |     
    0x0000cb5e movs r2, 0                                            |     r2 = 0;
    0x0000cb60 add r1, pc                                            |     r1 = 0x19ac2;
    0x0000cb62 blx 0x5ab0                                            |     r0 = execvp ();
    0x0000cb66 mov r5, r0                                            |     r5 = r0;
    0x0000cb68 cmp r6, 0                                             |     
                                                                     |     if (r6 == 0) {
    0x0000cb6a beq.w 0xcc88                                          |         goto label_18;
                                                                     |     }
    0x0000cb6e ldrb r1, [r4, -0x20]                                  |     r1 = *((r4 - 0x20));
    0x0000cb72 ldr r2, [r4, -0x18]                                   |     r2 = *((r4 - 0x18));
                                                                     | label_6:
    0x0000cb76 movs r0, 5                                            |     r0 = 5;
    0x0000cb78 str r2, [sp, 0x48]                                    |     var_48h = r2;
    0x0000cb7a str r1, [sp, 0x38]                                    |     var_38h = r1;
    0x0000cb7c blx 0x6644                                            |     sd_bus_message_close_container ();
    0x0000cb80 ldr r2, [sp, 0x48]                                    |     r2 = var_48h;
    0x0000cb82 mov ip, r0                                            |     
    0x0000cb84 ldr r1, [sp, 0x38]                                    |     r1 = var_38h;
                                                                     | label_9:
    0x0000cb86 str r5, [sp, 0x38]                                    |     var_38h = r5;
    0x0000cb88 cmp r1, 0                                             |     
                                                                     |     if (r1 == 0) {
    0x0000cb8a beq 0xcc2e                                            |         goto label_57;
                                                                     |     }
                                                                     | label_7:
    0x0000cb8c ldr r3, [sp, 0x3c]                                    |     r3 = var_3ch;
    0x0000cb8e cmp r2, 0                                             |     
    0x0000cb90 ite ne                                                |     
                                                                     |     if (r2 == 0) {
    0x0000cb92 movne r0, r2                                          |         r0 = r2;
                                                                     |     }
                                                                     |     if (r2 != 0) {
    0x0000cb94 moveq r0, r3                                          |         r0 = r3;
                                                                     |     }
                                                                     | label_15:
    0x0000cb96 movs r1, 0x21                                         |     r1 = 0x21;
    0x0000cb98 movs r3, 0x27                                         |     r3 = 0x27;
    0x0000cb9a str r1, [sp, 0x34]                                    |     var_34h = r1;
    0x0000cb9c mov r2, ip                                            |     r2 = ip;
    0x0000cb9e ldr r1, [r4, -0xc]                                    |     r1 = *((r4 - 0xc));
    0x0000cba2 str.w fp, [sp, 0x28]                                  |     __asm ("str.w fp, [var_28h]");
    0x0000cba6 str r3, [sp, 0x24]                                    |     var_24h = r3;
    0x0000cba8 str r1, [sp, 0x30]                                    |     var_30h = r1;
    0x0000cbaa movs r1, 0x15                                         |     r1 = 0x15;
    0x0000cbac str r1, [sp, 0x2c]                                    |     var_2ch = r1;
    0x0000cbae ldr r6, [r4, -0x10]                                   |     r6 = *((r4 - 0x10));
    0x0000cbb2 str r0, [sp, 0x10]                                    |     var_10h = r0;
    0x0000cbb4 mov r0, sb                                            |     r0 = sb;
    0x0000cbb6 str r5, [sp, 8]                                       |     var_8h = r5;
    0x0000cbb8 strd r1, r6, [sp, 0x1c]                               |     __asm ("strd r1, r6, [var_1ch]");
    0x0000cbbc movs r1, 1                                            |     r1 = 1;
    0x0000cbbe str r7, [sp, 0x18]                                    |     var_18h = r7;
    0x0000cbc0 str r7, [sp]                                          |     *(sp) = r7;
    0x0000cbc2 str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000cbc4 str r1, [sp, 0xc]                                     |     var_ch = r1;
    0x0000cbc6 str r1, [sp, 4]                                       |     var_4h = r1;
    0x0000cbc8 blx 0x5f30                                            |     r0 = boot_entries_load_config_auto ();
    0x0000cbcc cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000cbce blt.w 0xc900                                          |         goto label_4;
                                                                     |     }
    0x0000cbd2 ldr r0, [sp, 0x38]                                    |     r0 = var_38h;
    0x0000cbd4 adds r4, 0x20                                         |     r4 += 0x20;
    0x0000cbd6 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000cbda ldr r3, [sp, 0x44]                                    |     r3 = var_44h;
    0x0000cbdc cmp r8, r3                                            |     
                                                                     |     if (r8 >= r3) {
    0x0000cbde bhs.w 0xccee                                          |         goto label_58;
                                                                     |     }
                                                                     | label_55:
    0x0000cbe2 ldr r2, [r4, -0x18]                                   |     r2 = *((r4 - 0x18));
    0x0000cbe6 mov r8, r4                                            |     r8 = r4;
                                                                     |     if (r2 != 0) {
    0x0000cbe8 cbnz r2, 0xcc3a                                       |         goto label_59;
                                                                     |     }
                                                                     | label_8:
    0x0000cbea blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000cbee cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cbf0 beq 0xcce4                                            |         goto label_60;
                                                                     |     }
    0x0000cbf2 cmp r0, 0x10                                          |     
                                                                     |     if (r0 != 0x10) {
    0x0000cbf4 bne 0xccde                                            |         goto label_61;
                                                                     |     }
    0x0000cbf6 ldr r7, [pc, 0x368]                                   |     
    0x0000cbf8 add r7, pc                                            |     r7 = 0x19b5e;
                                                                     | label_11:
    0x0000cbfa ldr r3, [r4, -0x10]                                   |     r3 = *((r4 - 0x10));
    0x0000cbfe movs r6, 1                                            |     r6 = 1;
    0x0000cc00 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000cc02 bne 0xcc9c                                            |         goto label_62;
                                                                     |     }
    0x0000cc04 ldr.w fp, [pc, 0x35c]                                 |     
    0x0000cc08 movs r6, 1                                            |     r6 = 1;
    0x0000cc0a add fp, pc                                            |     fp = 0x19b72;
                                                                     | label_10:
    0x0000cc0c ldr r2, [r4, -0x18]                                   |     r2 = *((r4 - 0x18));
    0x0000cc10 ldrb r1, [r4, -0x20]                                  |     r1 = *((r4 - 0x20));
    0x0000cc12 adds r0, r4, 0                                        |     r0 = r4 + 0;
    0x0000cc14 cmp r2, 0                                             |     
    0x0000cc16 it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0000cc18 moveq sl, 1                                           |         sl = 1;
                                                                     |     }
    0x0000cc1c cmp r1, 0                                             |     
                                                                     |     if (r1 != 0) {
    0x0000cc1e bne 0xcb50                                            |         goto label_5;
                                                                     |     }
    0x0000cc20 mov r5, r1                                            |     r5 = r1;
    0x0000cc22 cmp r6, 0                                             |     
                                                                     |     if (r6 != 0) {
    0x0000cc24 bne 0xcb76                                            |         goto label_6;
                                                                     |     }
    0x0000cc26 ldr.w ip, [pc, 0x340]                                 |     
    0x0000cc2a str r6, [sp, 0x38]                                    |     var_38h = r6;
    0x0000cc2c add ip, pc                                            |     ip = 0x19b9a;
                                                                     | label_57:
    0x0000cc2e ldr r5, [r4, -0x1c]                                   |     r5 = *((r4 - 0x1c));
    0x0000cc32 cmp r5, 0                                             |     
                                                                     |     if (r5 != 0) {
    0x0000cc34 bne 0xcb8c                                            |         goto label_7;
                                                                     |     }
                                                                     | label_19:
    0x0000cc36 ldr r5, [sp, 0x4c]                                    |     r5 = var_4ch;
    0x0000cc38 b 0xcb8c                                              |     goto label_7;
                                                                     | label_59:
    0x0000cc3a ldr r1, [pc, 0x330]                                   |     
    0x0000cc3c mov r0, r2                                            |     r0 = r2;
    0x0000cc3e str r2, [sp, 0x38]                                    |     var_38h = r2;
    0x0000cc40 add r1, pc                                            |     r1 = 0x19bb2;
    0x0000cc42 blx 0x655c                                            |     fcn_0000655c ();
    0x0000cc46 ldr r2, [sp, 0x38]                                    |     r2 = var_38h;
                                                                     |     if (r0 == 0) {
    0x0000cc48 cbz r0, 0xccaa                                        |         goto label_63;
                                                                     |     }
    0x0000cc4a ldr r1, [pc, 0x324]                                   |     
    0x0000cc4c mov r0, r2                                            |     r0 = r2;
    0x0000cc4e str r2, [sp, 0x38]                                    |     var_38h = r2;
    0x0000cc50 add r1, pc                                            |     r1 = 0x19bc6;
    0x0000cc52 blx 0x655c                                            |     fcn_0000655c ();
    0x0000cc56 ldr r2, [sp, 0x38]                                    |     r2 = var_38h;
    0x0000cc58 mov r6, r0                                            |     r6 = r0;
    0x0000cc5a cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000cc5c bne 0xcbea                                            |         goto label_8;
                                                                     |     }
    0x0000cc5e ldr r3, [r4, -0x10]                                   |     r3 = *((r4 - 0x10));
                                                                     |     if (r3 == 0) {
    0x0000cc62 cbnz r3, 0xcc98                                       |         
    0x0000cc64 ldrb r6, [r4, -0x20]                                  |         r6 = *((r4 - 0x20));
    0x0000cc68 cmp r6, 0                                             |         
                                                                     |         if (r6 == 0) {
    0x0000cc6a beq 0xcd26                                            |             goto label_64;
                                                                     |         }
    0x0000cc6c ldr r0, [r4, -0x1c]                                   |         r0 = *((r4 - 0x1c));
    0x0000cc70 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000cc72 beq.w 0xcd8c                                          |             goto label_65;
                                                                     |         }
    0x0000cc76 ldr r1, [pc, 0x2fc]                                   |         
    0x0000cc78 mov r2, r3                                            |         r2 = r3;
    0x0000cc7a add r1, pc                                            |         r1 = 0x19bf4;
    0x0000cc7c blx 0x5ab0                                            |         execvp ();
    0x0000cc80 ldr.w fp, [sp, 0x58]                                  |         fp = var_58h;
    0x0000cc84 mov r5, r0                                            |         r5 = r0;
    0x0000cc86 mov r7, fp                                            |         r7 = fp;
                                                                     | label_18:
    0x0000cc88 ldr.w ip, [pc, 0x2ec]                                 |         
    0x0000cc8c ldrb r1, [r4, -0x20]                                  |         r1 = *((r4 - 0x20));
    0x0000cc90 ldr r2, [r4, -0x18]                                   |         r2 = *((r4 - 0x18));
    0x0000cc94 add ip, pc                                            |         ip = 0x19c10;
    0x0000cc96 b 0xcb86                                              |         goto label_9;
                                                                     |     }
    0x0000cc98 ldr r7, [pc, 0x2e0]                                   |     
    0x0000cc9a add r7, pc                                            |     r7 = 0x19c1a;
                                                                     | label_62:
    0x0000cc9c blx 0x5e88                                            |     r0 = strcpy (r0, r1)
                                                                     |     if (r0 == 0) {
    0x0000cca0 cbnz r0, 0xccb6                                       |         
    0x0000cca2 ldr.w fp, [pc, 0x2dc]                                 |         
    0x0000cca6 add fp, pc                                            |         fp = 0x19c2c;
    0x0000cca8 b 0xcc0c                                              |         goto label_10;
                                                                     | label_63:
    0x0000ccaa blx 0x5e88                                            |         r0 = strcpy (r0, r1)
                                                                     |         if (r0 != 0) {
    0x0000ccae cbnz r0, 0xccbe                                       |             goto label_66;
                                                                     |         }
    0x0000ccb0 ldr r7, [pc, 0x2d0]                                   |         
    0x0000ccb2 add r7, pc                                            |         r7 = 0x19c3a;
    0x0000ccb4 b 0xcbfa                                              |         goto label_11;
                                                                     |     }
    0x0000ccb6 ldr.w fp, [pc, 0x2d0]                                 |     
    0x0000ccba add fp, pc                                            |     fp = 0x19c48;
    0x0000ccbc b 0xcc0c                                              |     goto label_10;
                                                                     | label_66:
    0x0000ccbe ldr r7, [pc, 0x2cc]                                   |     
    0x0000ccc0 add r7, pc                                            |     r7 = 0x19c52;
    0x0000ccc2 b 0xcbfa                                              |     goto label_11;
                                                                     | label_34:
    0x0000ccc4 ldr r1, [pc, 0x2c8]                                   |     
    0x0000ccc6 movs r2, 0xdc                                         |     r2 = 0xdc;
    0x0000ccc8 ldr r3, [pc, 0x2c8]                                   |     
    0x0000ccca ldr r0, [pc, 0x2cc]                                   |     
    0x0000cccc add r1, pc                                            |     r1 = 0x19c60;
    0x0000ccce add r3, pc                                            |     r3 = 0x19c66;
    0x0000ccd0 adds r1, 7                                            |     r1 += 7;
    0x0000ccd2 add r0, pc                                            |     r0 = 0x19c70;
    0x0000ccd4 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_56:
    0x0000ccd8 ldr r0, [pc, 0x2c0]                                   |     
    0x0000ccda add r0, pc                                            |     r0 = 0x19c7a;
    0x0000ccdc b 0xcb5a                                              |     goto label_12;
                                                                     | label_61:
    0x0000ccde ldr r7, [pc, 0x2c0]                                   |     
    0x0000cce0 add r7, pc                                            |     r7 = 0x19c86;
    0x0000cce2 b 0xcbfa                                              |     goto label_11;
                                                                     | label_60:
    0x0000cce4 ldr r7, [pc, 0x2bc]                                   |     
    0x0000cce6 add r7, pc                                            |     r7 = 0x19c8e;
    0x0000cce8 b 0xcbfa                                              |     goto label_11;
                                                                     | label_48:
    0x0000ccea str r0, [sp, 0x40]                                    |     base = r0;
    0x0000ccec b 0xca74                                              |     goto label_13;
                                                                     | label_58:
    0x0000ccee ldr.w fp, [sp, 0x50]                                  |     fp = var_50h;
                                                                     | label_25:
    0x0000ccf2 mov r0, sb                                            |     r0 = sb;
    0x0000ccf4 bl 0x1c208                                            |     r0 = fcn_0001c208 (r0);
    0x0000ccf8 subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000ccfa blt.w 0xc928                                          |         goto label_14;
                                                                     |     }
    0x0000ccfe ldr r3, [sp, 0x54]                                    |     r3 = var_54h;
    0x0000cd00 ldr r4, [r3]                                          |     r4 = *(r3);
    0x0000cd02 cmp r4, 0                                             |     
                                                                     |     if (r4 == 0) {
    0x0000cd04 beq.w 0xc928                                          |         goto label_14;
                                                                     |     }
    0x0000cd08 movs r0, 0xa                                          |     r0 = 0xa;
    0x0000cd0a blx 0x59b8                                            |     fcn_000059b8 ();
    0x0000cd0e cmp.w sl, 0                                           |     
                                                                     |     if (sl != 0) {
    0x0000cd12 bne.w 0xce90                                          |         goto label_67;
                                                                     |     }
                                                                     | label_26:
    0x0000cd16 ldr r1, [pc, 0x290]                                   |     
    0x0000cd18 mov r2, fp                                            |     r2 = fp;
    0x0000cd1a movs r0, 1                                            |     r0 = 1;
    0x0000cd1c movs r4, 0                                            |     r4 = 0;
    0x0000cd1e add r1, pc                                            |     r1 = 0x19ccc;
    0x0000cd20 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000cd24 b 0xc928                                              |     goto label_14;
                                                                     | label_64:
    0x0000cd26 ldr r5, [r4, -0x1c]                                   |     r5 = *((r4 - 0x1c));
    0x0000cd2a cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000cd2c beq 0xcda4                                            |         goto label_68;
                                                                     |     }
    0x0000cd2e ldr.w fp, [pc, 0x27c]                                 |     
    0x0000cd32 mov r0, r2                                            |     r0 = r2;
    0x0000cd34 ldr.w ip, [pc, 0x278]                                 |     
    0x0000cd38 str r6, [sp, 0x38]                                    |     var_38h = r6;
    0x0000cd3a add fp, pc                                            |     fp = 0x19cec;
    0x0000cd3c add ip, pc                                            |     ip = 0x19cf0;
    0x0000cd3e mov r7, fp                                            |     r7 = fp;
    0x0000cd40 b 0xcb96                                              |     goto label_15;
                                                                     | label_49:
    0x0000cd42 clz r3, r3                                            |     r3 &= r3;
    0x0000cd46 cmp.w fp, 0                                           |     
    0x0000cd4a lsr.w r3, r3, 5                                       |     r3 >>= 5;
    0x0000cd4e it eq                                                 |     
                                                                     |     if (fp != 0) {
    0x0000cd50 moveq r3, 0                                           |         r3 = 0;
                                                                     |     }
    0x0000cd52 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000cd54 beq.w 0xcaa8                                          |         goto label_16;
                                                                     |     }
    0x0000cd58 ldr r1, [pc, 0x258]                                   |     
    0x0000cd5a movs r2, 0x99                                         |     r2 = 0x99;
    0x0000cd5c ldr r3, [pc, 0x258]                                   |     
    0x0000cd5e ldr r0, [pc, 0x25c]                                   |     
    0x0000cd60 add r1, pc                                            |     r1 = 0x19d18;
    0x0000cd62 add r3, pc                                            |     r3 = 0x19d1e;
    0x0000cd64 adds r1, 7                                            |     r1 += 7;
    0x0000cd66 add r0, pc                                            |     r0 = 0x19d28;
    0x0000cd68 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_39:
    0x0000cd6c ldr r3, [pc, 0x250]                                   |     
    0x0000cd6e mov r1, r5                                            |     r1 = r5;
    0x0000cd70 ldr r2, [pc, 0x250]                                   |     
    0x0000cd72 movs r0, 3                                            |     r0 = 3;
    0x0000cd74 add r3, pc                                            |     r3 = 0x19d38;
    0x0000cd76 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000cd78 add r2, pc                                            |     r2 = 0x19d40;
    0x0000cd7a ldr r3, [pc, 0x24c]                                   |     
    0x0000cd7c adds r2, 7                                            |     r2 += 7;
    0x0000cd7e add r3, pc                                            |     r3 = 0x19d4c;
    0x0000cd80 str r3, [sp]                                          |     *(sp) = r3;
    0x0000cd82 movs r3, 0xcd                                         |     r3 = 0xcd;
    0x0000cd84 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000cd88 mov r4, r0                                            |     r4 = r0;
    0x0000cd8a b 0xc91a                                              |     goto label_17;
                                                                     | label_65:
    0x0000cd8c mov r2, r0                                            |     r2 = r0;
    0x0000cd8e ldr r1, [pc, 0x23c]                                   |     
    0x0000cd90 ldr r0, [pc, 0x23c]                                   |     
    0x0000cd92 add r1, pc                                            |     r1 = 0x19d64;
    0x0000cd94 add r0, pc                                            |     r0 = 0x19d68;
    0x0000cd96 blx 0x5ab0                                            |     execvp ();
    0x0000cd9a ldr.w fp, [sp, 0x5c]                                  |     fp = var_5ch;
    0x0000cd9e mov r5, r0                                            |     r5 = r0;
    0x0000cda0 mov r7, fp                                            |     r7 = fp;
    0x0000cda2 b 0xcc88                                              |     goto label_18;
                                                                     | label_68:
    0x0000cda4 ldr r7, [pc, 0x22c]                                   |     
    0x0000cda6 ldr.w ip, [pc, 0x230]                                 |     
    0x0000cdaa str r5, [sp, 0x38]                                    |     var_38h = r5;
    0x0000cdac add r7, pc                                            |     r7 = 0x19d84;
    0x0000cdae add ip, pc                                            |     ip = 0x19d8c;
    0x0000cdb0 mov fp, r7                                            |     
    0x0000cdb2 b 0xcc36                                              |     goto label_19;
                                                                     | label_52:
    0x0000cdb4 mov r1, r4                                            |     r1 = r4;
    0x0000cdb6 mov r0, sb                                            |     r0 = sb;
    0x0000cdb8 blx 0x63a8                                            |     fcn_000063a8 ();
    0x0000cdba invalid                                               |     
                                                                     |     if (r3 >= 0xcd) {
    0x0000cdbe bge.w 0xcafa                                          |         goto label_20;
                                                                     |     }
    0x0000cdc2 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000cdc6 cmp r0, 2                                             |     
    0x0000cdc8 ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000cdca rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000cdcc uxtble r4, r4                                         |         __asm ("uxtble r4, r4");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000cdce rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000cdd0 bgt 0xcea4                                            |         goto label_69;
                                                                     |     }
                                                                     | label_27:
    0x0000cdd2 cmp r4, 0                                             |     
    0x0000cdd4 it ge                                                 |     
                                                                     |     if (r4 < 0) {
    0x0000cdd6 mvnge r4, 0x55                                        |         r4 = ~0x55;
                                                                     |     }
    0x0000cdda b 0xc928                                              |     goto label_14;
                                                                     | label_53:
    0x0000cddc movs r1, 0                                            |     r1 = 0;
    0x0000cdde mov r0, sb                                            |     r0 = sb;
    0x0000cde0 blx 0x58d4                                            |     fcn_000058d4 ();
    0x0000cde4 b 0xcb08                                              |     goto label_21;
                                                                     | label_43:
    0x0000cde6 ldr r1, [pc, 0x1f4]                                   |     
    0x0000cde8 movs r2, 0x69                                         |     r2 = 0x69;
    0x0000cdea ldr r3, [pc, 0x1f4]                                   |     
    0x0000cdec movs r0, 3                                            |     r0 = 3;
    0x0000cdee add r1, pc                                            |     r1 = 0x19dd0;
    0x0000cdf0 add r3, pc                                            |     r3 = 0x19dd6;
    0x0000cdf2 adds r1, 7                                            |     r1 += 7;
    0x0000cdf4 blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000cdf8 mov fp, r0                                            |     
    0x0000cdfa b 0xca5e                                              |     goto label_22;
                                                                     | label_44:
    0x0000cdfc ldr r3, [pc, 0x1e4]                                   |     
    0x0000cdfe mov r1, r4                                            |     r1 = r4;
    0x0000ce00 ldr r2, [pc, 0x1e4]                                   |     
    0x0000ce02 movs r0, 3                                            |     r0 = 3;
    0x0000ce04 add r3, pc                                            |     r3 = 0x19dec;
    0x0000ce06 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000ce08 add r2, pc                                            |     r2 = 0x19df4;
    0x0000ce0a ldr r3, [pc, 0x1e0]                                   |     
    0x0000ce0c adds r2, 7                                            |     r2 += 7;
    0x0000ce0e add r3, pc                                            |     r3 = 0x19e00;
    0x0000ce10 str r3, [sp]                                          |     *(sp) = r3;
    0x0000ce12 movs r3, 0x74                                         |     r3 = 0x74;
    0x0000ce14 blx 0x61a4                                            |     fcn_000061a4 ();
    0x0000ce16 strd r4, r6, [r6, 0x20c]                              |     __asm ("strd r4, r6, [r6, 0x20c]");
    0x0000ce1a b 0xc9be                                              |     goto label_23;
                                                                     | label_51:
    0x0000ce1c ldr r1, [pc, 0x1d0]                                   |     
    0x0000ce1e movs r2, 0x9d                                         |     r2 = 0x9d;
    0x0000ce20 ldr r3, [pc, 0x1d0]                                   |     
    0x0000ce22 movs r0, 3                                            |     r0 = 3;
    0x0000ce24 add r1, pc                                            |     r1 = 0x19e18;
    0x0000ce26 add r3, pc                                            |     r3 = 0x19e1e;
    0x0000ce28 adds r1, 7                                            |     r1 += 7;
    0x0000ce2a blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000ce2e mov r4, r0                                            |     r4 = r0;
    0x0000ce30 b 0xc92e                                              |     goto label_24;
                                                                     | label_40:
    0x0000ce32 mov fp, r4                                            |     
    0x0000ce34 b 0xc958                                              |     goto label_1;
                                                                     | label_50:
    0x0000ce36 ldr r1, [pc, 0x1c0]                                   |     
    0x0000ce38 movs r2, 0x2e                                         |     r2 = 0x2e;
    0x0000ce3a ldr r3, [pc, 0x1c0]                                   |     
    0x0000ce3c ldr r0, [pc, 0x1c0]                                   |     
    0x0000ce3e add r1, pc                                            |     r1 = 0x19e3c;
    0x0000ce40 add r3, pc                                            |     r3 = 0x19e42;
    0x0000ce42 adds r1, 7                                            |     r1 += 7;
    0x0000ce44 add r0, pc                                            |     r0 = 0x19e48;
    0x0000ce46 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_46:
    0x0000ce4a ldr r5, [sp, 0x68]                                    |     r5 = var_68h;
                                                                     |     if (r5 == 0) {
    0x0000ce4c cbz r5, 0xce6e                                        |         goto label_70;
                                                                     |     }
    0x0000ce4e mov r4, r5                                            |     r4 = r5;
    0x0000ce50 cmp.w fp, 0                                           |     
                                                                     |     if (fp == 0) {
    0x0000ce54 beq 0xce68                                            |         goto label_71;
                                                                     |     }
                                                                     |     do {
    0x0000ce56 mov r0, r4                                            |         r0 = r4;
    0x0000ce58 add.w sb, sb, 1                                       |         sb++;
    0x0000ce5c bl 0xc7d0                                             |         fcn_0000c7d0 (r0, r1);
    0x0000ce60 cmp sb, fp                                            |         
    0x0000ce62 add.w r4, r4, 0x20                                    |         r4 += 0x20;
    0x0000ce66 bne 0xce56                                            |         
                                                                     |     } while (sb != fp);
                                                                     | label_71:
    0x0000ce68 mov r0, r5                                            |     r0 = r5;
    0x0000ce6a blx 0x5be4                                            |     fcn_00005be4 ();
                                                                     | label_70:
    0x0000ce6e ldr r1, [pc, 0x194]                                   |     
    0x0000ce70 movs r2, 0x82                                         |     r2 = 0x82;
    0x0000ce72 ldr r3, [pc, 0x194]                                   |     
    0x0000ce74 movs r0, 3                                            |     r0 = 3;
    0x0000ce76 add r1, pc                                            |     r1 = 0x19e80;
    0x0000ce78 add r3, pc                                            |     r3 = 0x19e86;
    0x0000ce7a adds r1, 7                                            |     r1 += 7;
    0x0000ce7c blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000ce80 mov fp, r0                                            |     
                                                                     | label_28:
    0x0000ce82 ldr r0, [sp, 0x70]                                    |     r0 = var_70h;
    0x0000ce84 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000ce88 b 0xca5e                                              |     goto label_22;
                                                                     | label_54:
    0x0000ce8a mov.w sl, 0                                           |     sl = 0;
    0x0000ce8e b 0xccf2                                              |     goto label_25;
                                                                     | label_67:
    0x0000ce90 blx 0x5730                                            |     r0 = fcn_00005730 ();
    0x0000ce94 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ce96 beq.w 0xcd16                                          |         goto label_26;
                                                                     |     }
    0x0000ce98 add r7, sp, 0xf8                                      |     r7 = sp + 0xf8;
    0x0000ce9a ldr r0, [pc, 0x170]                                   |     
    0x0000ce9c add r0, pc                                            |     r0 = 0x19eae;
    0x0000ce9e blx 0x62a0                                            |     fcn_000062a0 ();
    0x0000cea2 b 0xcd16                                              |     goto label_26;
                                                                     | label_69:
    0x0000cea4 ldr r3, [pc, 0x168]                                   |     
    0x0000cea6 mov r1, r4                                            |     r1 = r4;
    0x0000cea8 ldr r2, [pc, 0x168]                                   |     
    0x0000ceaa movs r0, 3                                            |     r0 = 3;
    0x0000ceac add r3, pc                                            |     r3 = 0x19ec0;
    0x0000ceae str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000ceb0 add r2, pc                                            |     r2 = 0x19ec8;
    0x0000ceb2 ldr r3, [pc, 0x164]                                   |     
    0x0000ceb4 adds r2, 7                                            |     r2 += 7;
    0x0000ceb6 add r3, pc                                            |     r3 = 0x19ed4;
    0x0000ceb8 str r3, [sp]                                          |     *(sp) = r3;
    0x0000ceba movs r3, 0xa4                                         |     r3 = 0xa4;
    0x0000cebc blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000cec0 mov r4, r0                                            |     r4 = r0;
    0x0000cec2 b 0xcdd2                                              |     goto label_27;
                                                                     | label_42:
    0x0000cec4 blx 0x6114                                            |     fcn_00006114 ();
                                                                     |     if (r2 == 0) {
                                                                     | label_47:
    0x0000cec8 cbz r2, 0xceee                                        |         goto label_72;
                                                                     |     }
    0x0000ceca cmp.w fp, 0                                           |     
                                                                     |     if (fp == 0) {
    0x0000cece beq 0xcee8                                            |         goto label_73;
                                                                     |     }
    0x0000ced0 mov r4, r2                                            |     r4 = r2;
    0x0000ced2 mov r5, r2                                            |     r5 = r2;
                                                                     |     do {
    0x0000ced4 mov r0, r4                                            |         r0 = r4;
    0x0000ced6 add.w sb, sb, 1                                       |         sb++;
    0x0000ceda bl 0xc7d0                                             |         fcn_0000c7d0 (r0, r1);
    0x0000cede cmp sb, fp                                            |         
    0x0000cee0 add.w r4, r4, 0x20                                    |         r4 += 0x20;
    0x0000cee4 bne 0xced4                                            |         
                                                                     |     } while (sb != fp);
    0x0000cee6 mov r2, r5                                            |     r2 = r5;
                                                                     | label_73:
    0x0000cee8 mov r0, r2                                            |     r0 = r2;
    0x0000ceea blx 0x5be4                                            |     fcn_00005be4 ();
                                                                     | label_72:
    0x0000ceee ldr r1, [pc, 0x12c]                                   |     
    0x0000cef0 movs r2, 0x89                                         |     r2 = 0x89;
    0x0000cef2 ldr r3, [pc, 0x12c]                                   |     
    0x0000cef4 movs r0, 3                                            |     r0 = 3;
    0x0000cef6 add r1, pc                                            |     r1 = 0x19f18;
    0x0000cef8 add r3, pc                                            |     r3 = 0x19f1e;
    0x0000cefa adds r1, 7                                            |     r1 += 7;
    0x0000cefc blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000cf00 mov fp, r0                                            |     
    0x0000cf02 b 0xce82                                              |     goto label_28;
                                                                     | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0xd06c */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000d06c ()                                          | void fcn_0000d06c (int16_t arg_1h, uint32_t arg1, int16_t arg2, int16_t arg3) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h;
                                                                     |     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;
                                                                     |     int16_t var_38h;
                                                                     |     int16_t var_3ch;
                                                                     |     int16_t var_40h;
                                                                     |     int16_t var_44h;
                                                                     |     int16_t var_48h;
                                                                     |     int32_t var_48h_2;
                                                                     |     int16_t var_50h;
                                                                     |     int16_t var_54h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
                                                                     |     r2 = arg3;
    0x0000d06c push {r3, r4, r5, r6, r7, lr}                         |     
    0x0000d06e ldr r6, [pc, 0x98]                                    |     
    0x0000d070 add r6, pc                                            |     r6 = 0x1a17e;
    0x0000d072 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000d074 beq 0xd0de                                            |         
    0x0000d076 mov r4, r0                                            |         r4 = r0;
    0x0000d078 ldr r0, [r0]                                          |         r0 = *(r0);
    0x0000d07a mov r7, r1                                            |         r7 = r1;
    0x0000d07c mov r5, r2                                            |         r5 = r2;
    0x0000d07e blx 0x6608                                            |         r0 = cxa_finalize ();
    0x0000d082 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000d084 beq 0xd0f2                                            |             goto label_36;
                                                                     |         }
                                                                     |         if (r5 != 0) {
    0x0000d086 cbz r5, 0xd09a                                        |             
    0x0000d088 ldr r3, [r5]                                          |             r3 = *(r5);
                                                                     |             if (r3 == 0) {
    0x0000d08a cbz r3, 0xd09a                                        |                 goto label_37;
                                                                     |             }
    0x0000d08c mov r1, r0                                            |             r1 = r0;
    0x0000d08e movs r3, 0                                            |             r3 = 0;
    0x0000d090 mov r0, r5                                            |             r0 = r5;
    0x0000d092 movs r2, 2                                            |             r2 = 2;
    0x0000d094 blx 0x58a4                                            |             r0 = fcn_000058a4 ();
                                                                     |             if (r0 == 0) {
    0x0000d098 cbz r0, 0xd0d6                                        |                 goto label_38;
                                                                     |             }
                                                                     |         }
                                                                     | label_37:
    0x0000d09a ldr r3, [pc, 0x70]                                    |         r3 = *(0xd10e);
    0x0000d09c ldr r3, [r6, r3]                                      |         r3 = *((r6 + r3));
    0x0000d09e ldr r5, [r3]                                          |         r5 = *(0xd10e);
                                                                     |         if (r5 != 0) {
    0x0000d0a0 cbz r5, 0xd0ba                                        |             
    0x0000d0a2 ldr r3, [r5]                                          |             r3 = *(r5);
                                                                     |             if (r3 == 0) {
    0x0000d0a4 cbz r3, 0xd0ba                                        |                 goto label_39;
                                                                     |             }
    0x0000d0a6 ldr r0, [r4]                                          |             r0 = *(r4);
    0x0000d0a8 movs r1, 0x2e                                         |             r1 = 0x2e;
    0x0000d0aa blx 0x5a98                                            |             r0 = strv_env_clean_with_callback ();
                                                                     |             if (r0 == 0) {
    0x0000d0ae cbz r0, 0xd0d6                                        |                 goto label_38;
                                                                     |             }
    0x0000d0b0 adds r1, r0, 1                                        |             r1 = r0 + 1;
    0x0000d0b2 mov r0, r5                                            |             r0 = r5;
    0x0000d0b4 blx 0x6060                                            |             r0 = fcn_00006060 ();
                                                                     |             if (r0 == 0) {
    0x0000d0b8 cbz r0, 0xd0d6                                        |                 goto label_38;
                                                                     |             }
                                                                     |         }
                                                                     |         if (r7 != 0) {
                                                                     | label_39:
    0x0000d0ba cbz r7, 0xd0da                                        |             
    0x0000d0bc ldr r3, [r7]                                          |             r3 = *(r7);
                                                                     |             if (r3 == 0) {
    0x0000d0be cbz r3, 0xd0da                                        |                 goto label_40;
                                                                     |             }
    0x0000d0c0 ldr r0, [r4, 4]                                       |             r0 = *((r4 + 4));
    0x0000d0c2 blx 0x5e04                                            |             r0 = strextend_with_separator_internal ();
    0x0000d0c6 mov r1, r0                                            |             r1 = r0;
    0x0000d0c8 mov r0, r7                                            |             r0 = r7;
    0x0000d0ca blx 0x6060                                            |             fcn_00006060 ();
    0x0000d0ce subs r0, 0                                            |             
    0x0000d0d0 it ne                                                 |             
                                                                     |             if (r0 == 0) {
    0x0000d0d2 movne r0, 1                                           |                 r0 = 1;
                                                                     |             }
    0x0000d0d4 pop {r3, r4, r5, r6, r7, pc}                          |             
                                                                     | label_38:
    0x0000d0d6 movs r0, 0                                            |             r0 = 0;
    0x0000d0d8 pop {r3, r4, r5, r6, r7, pc}                          |             
                                                                     |         }
                                                                     | label_40:
    0x0000d0da movs r0, 1                                            |         r0 = 1;
    0x0000d0dc pop {r3, r4, r5, r6, r7, pc}                          |         
                                                                     |     }
    0x0000d0de ldr r1, [pc, 0x30]                                    |     
    0x0000d0e0 movs r2, 0x1d                                         |     r2 = 0x1d;
    0x0000d0e2 ldr r3, [pc, 0x30]                                    |     
    0x0000d0e4 ldr r0, [pc, 0x30]                                    |     
    0x0000d0e6 add r1, pc                                            |     r1 = 0x1a1fc;
    0x0000d0e8 add r3, pc                                            |     r3 = 0x1a202;
    0x0000d0ea adds r1, 7                                            |     r1 += 7;
    0x0000d0ec add r0, pc                                            |     r0 = 0x1a208;
    0x0000d0ee blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_36:
    0x0000d0f2 ldr r1, [pc, 0x28]                                    |     
    0x0000d0f4 movs r2, 0xdc                                         |     r2 = 0xdc;
    0x0000d0f6 ldr r3, [pc, 0x28]                                    |     
    0x0000d0f8 ldr r0, [pc, 0x28]                                    |     
    0x0000d0fa add r1, pc                                            |     r1 = 0x1a21c;
    0x0000d0fc add r3, pc                                            |     r3 = 0x1a222;
    0x0000d0fe adds r1, 7                                            |     r1 += 7;
    0x0000d100 add r0, pc                                            |     r0 = 0x1a228;
    0x0000d102 invalid                                               |     
                                                                     |     do {
    0x0000d104 cdp p15, 9, c11, c14, c0, 0                           |         __asm ("cdp p15, 9, c11, c14, c0, 0");
    0x0000d108 bhi 0xd104                                            |         
                                                                     |     } while (r1 > 7);
    0x0000d10a movs r2, r0                                           |     r2 = r0;
    0x0000d10c lsls r4, r6, 0x17                                     |     r4 = r6 << 0x17;
    0x0000d10e movs r0, r0                                           |     
    0x0000d110 subs r2, 0xa6                                         |     r2 -= 0xa6;
    0x0000d112 movs r1, r0                                           |     r1 = r0;
    0x0000d114 subs r4, 0xbc                                         |     r4 -= 0xbc;
    0x0000d116 movs r1, r0                                           |     r1 = r0;
    0x0000d118 adds r6, 0xac                                         |     r6 += 0xac;
    0x0000d11a movs r1, r0                                           |     r1 = r0;
    0x0000d11c adds r7, 0xe                                          |     r7 += 0xe;
    0x0000d11e movs r1, r0                                           |     r1 = r0;
    0x0000d120 subs r4, 0x90                                         |     r4 -= 0x90;
    0x0000d122 movs r1, r0                                           |     r1 = r0;
    0x0000d124 movs r6, 0x40                                         |     r6 = 0x40;
    0x0000d126 movs r1, r0                                           |     r1 = r0;
    0x0000d128 ldr.w r2, [pc, 0xb68]                                 |     r2 = *(0x0000dc94);
    0x0000d12c ldr.w r3, [pc, 0xb68]                                 |     
    0x0000d130 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000d132 ldr r7, [pc, 0x3c0]                                   |     r7 = *(0xd4f6);
    0x0000d134 movs r7, 0                                            |     r7 = 0;
    0x0000d136 add r2, pc                                            |     r2 += pc;
    0x0000d138 ldr.w r6, [pc, 0xb60]                                 |     r6 = *(0x0000dc9c);
    0x0000d13c sub sp, 0x5c                                          |     
    0x0000d13e mov r5, r1                                            |     r5 = r1;
    0x0000d140 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000d142 add r6, pc                                            |     r6 += pc;
    0x0000d144 ldr r3, [r3]                                          |     r3 = *(0xdc98);
    0x0000d146 str r3, [sp, 0x54]                                    |     var_54h = r3;
    0x0000d148 mov.w r3, 0                                           |     r3 = 0;
    0x0000d14c strd r7, r7, [sp, 0x30]                               |     __asm ("strd r7, r7, [var_34h]");
    0x0000d150 bl 0x1bcac                                            |     r0 = fcn_0001bcac ();
    0x0000d154 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d156 beq.w 0xd380                                          |         goto label_41;
                                                                     |     }
    0x0000d15a ldr.w r3, [pc, 0xb44]                                 |     r3 = *(0xdca2);
    0x0000d15e ldr r0, [r6, r3]                                      |     r0 = *((r6 + r3));
    0x0000d160 blx 0x6168                                            |     r0 = fcn_00006168 ();
    0x0000d164 mov r4, r0                                            |     r4 = r0;
    0x0000d166 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d168 beq.w 0xd7da                                          |         goto label_42;
                                                                     |     }
    0x0000d16c ldr.w r3, [pc, 0xb34]                                 |     r3 = *(0xdca4);
    0x0000d170 mov r0, r5                                            |     r0 = r5;
    0x0000d172 movs r1, 1                                            |     r1 = 1;
    0x0000d174 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d176 ldr r5, [r3]                                          |     r5 = *(0xdca4);
    0x0000d178 ldr.w r3, [pc, 0xb2c]                                 |     r3 = *(0xdca8);
    0x0000d17c ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d17e ldr.w sb, [r3]                                        |     sb = *(0xdca8);
    0x0000d182 ldr.w r3, [pc, 0xb28]                                 |     r3 = *(0xdcae);
    0x0000d186 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d188 ldr.w r8, [r3]                                        |     r8 = *(0xdcae);
    0x0000d18c blx 0x5ad4                                            |     sd_bus_message_get_bus ();
    0x0000d18e stc p6, c4, [r2], 0x124                               |     __asm ("stc p6, c4, [r2], 0x124");
    0x0000d192 str r0, [sp]                                          |     *(sp) = r0;
    0x0000d194 mov r3, r8                                            |     r3 = r8;
    0x0000d196 mov r0, r5                                            |     r0 = r5;
    0x0000d198 mov r2, r4                                            |     r2 = r4;
    0x0000d19a blx 0x6264                                            |     r0 = fcn_00006264 ();
    0x0000d19e subs.w r8, r0, 0                                      |     r8 = r0 - 0;
    0x0000d1a2 mov r0, r4                                            |     r0 = r4;
                                                                     |     if (r8 < r0) {
    0x0000d1a4 blt.w 0xd8be                                          |         goto label_43;
                                                                     |     }
    0x0000d1a8 blx 0x5880                                            |     r0 = fcn_00005880 ();
    0x0000d1ac cmp r0, 1                                             |     
    0x0000d1ae mov r5, r0                                            |     r5 = r0;
    0x0000d1b0 it lo                                                 |     
                                                                     |     if (r0 >= 1) {
    0x0000d1b2 movlo r0, 1                                           |         r0 = 1;
                                                                     |     }
    0x0000d1b4 lsrs r3, r0, 0x1d                                     |     r3 = r0 >> 0x1d;
    0x0000d1b6 ite ne                                                |     
                                                                     |     if (r3 == r0) {
    0x0000d1b8 movne fp, 1                                           |         
                                                                     |     }
                                                                     |     if (r3 == r0) {
    0x0000d1bc mov.w fp, 0                                           |         
                                                                     |     }
                                                                     |     if (r3 != r0) {
    0x0000d1c0 bne.w 0xd8e6                                          |         goto label_44;
                                                                     |     }
    0x0000d1c4 lsls r0, r0, 3                                        |     r0 <<= 3;
    0x0000d1c6 cmp r0, 1                                             |     
    0x0000d1c8 it lo                                                 |     
                                                                     |     if (r0 >= 1) {
    0x0000d1ca movlo r0, 1                                           |         r0 = 1;
                                                                     |     }
    0x0000d1cc blx 0x60fc                                            |     fcn_000060fc ();
    0x0000d1d0 str r0, [sp, 0x34]                                    |     var_34h = r0;
    0x0000d1d2 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d1d4 beq.w 0xd8e8                                          |         goto label_45;
                                                                     |     }
    0x0000d1d8 add r7, sp, 0x44                                      |     r7 += var_44h;
    0x0000d1da add.w sl, sp, 0x48                                    |     sl += var_48h;
    0x0000d1de mvn r3, 1                                             |     r3 = ~1;
    0x0000d1e2 strd r3, fp, [sp, 0x48]                               |     __asm ("strd r3, fp, [var_48h]");
    0x0000d1e4 subs r3, 0x12                                         |     r3 -= 0x12;
                                                                     |     do {
    0x0000d1e6 movs r3, 0                                            |         r3 = 0;
    0x0000d1e8 mov r2, r7                                            |         r2 = r7;
    0x0000d1ea mov r1, sl                                            |         r1 = sl;
    0x0000d1ec mov r0, r4                                            |         r0 = r4;
    0x0000d1ee blx 0x6450                                            |         fcn_00006450 ();
    0x0000d1f0 ldmdb r0!, {r3, r4, r6, r7, r8, ip, sp, pc}           |         __asm ("ldmdb r0!, {r3, r4, r6, r7, r8, ip, sp, pc}");
                                                                     | label_0:
    0x0000d1f4 movs r2, 0                                            |         r2 = 0;
    0x0000d1f6 ldr r0, [sp, 0x44]                                    |         r0 = var_44h;
    0x0000d1f8 mov r1, r2                                            |         r1 = r2;
    0x0000d1fa bl 0xd06c                                             |         r0 = fcn_0000d06c (r0, r1, r2, r3);
    0x0000d1fe cmp r0, 0                                             |         
    0x0000d200 beq 0xd1e6                                            |         
                                                                     |     } while (r0 == 0);
    0x0000d202 ldr r2, [sp, 0x44]                                    |     r2 = var_44h;
    0x0000d204 ldr r3, [sp, 0x34]                                    |     r3 = var_34h;
    0x0000d206 ldm.w r2, {r0, r1}                                    |     r0 = *(r2);
                                                                     |     r1 = *((r2 + 4));
    0x0000d20a add.w r3, r3, fp, lsl 3                               |     r3 += (fp << 3);
    0x0000d20e add.w fp, fp, 1                                       |     
    0x0000d212 stm.w r3, {r0, r1}                                    |     *(r3) = r0;
                                                                     |     *((r3 + 4)) = r1;
    0x0000d216 ldr r0, [sp, 0x44]                                    |     r0 = var_44h;
    0x0000d218 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000d21c movs r3, 0                                            |     r3 = 0;
    0x0000d21e mov r2, r7                                            |     r2 = r7;
    0x0000d220 mov r1, sl                                            |     r1 = sl;
    0x0000d222 mov r0, r4                                            |     r0 = r4;
    0x0000d224 blx 0x6450                                            |     r0 = fcn_00006450 ();
    0x0000d228 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000d22a bne 0xd1f4                                            |         goto label_0;
                                                                     |     }
    0x0000d22c cmp r5, fp                                            |     
    0x0000d22e mov r2, r0                                            |     r2 = r0;
                                                                     |     if (r5 <= fp) {
    0x0000d230 blo.w 0xdb10                                          |         goto label_46;
                                                                     |     }
    0x0000d234 mov r0, r4                                            |     r0 = r4;
    0x0000d236 mov r1, r2                                            |     r1 = r2;
    0x0000d238 blx 0x648c                                            |     fcn_0000648c ();
                                                                     | label_32:
    0x0000d23c ldr.w r3, [pc, 0xa70]                                 |     r3 = *(0xdcb0);
    0x0000d240 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d242 ldr r0, [r3]                                          |     r0 = *(0xdcb0);
    0x0000d244 blx 0x5e70                                            |     get_color_mode ();
    0x0000d248 cmp.w fp, 1                                           |     
    0x0000d24c ldr r4, [sp, 0x34]                                    |     r4 = var_34h;
                                                                     |     if (fp >= 1) {
    0x0000d24e bls 0xd268                                            |         
    0x0000d250 cmp r4, 0                                             |         
                                                                     |         if (r4 == 0) {
    0x0000d252 beq.w 0xd9f0                                          |             goto label_47;
                                                                     |         }
    0x0000d256 ldr.w r3, [pc, 0xa5c]                                 |         r3 = *(0x0000dcb4);
    0x0000d25a mov r0, r4                                            |         r0 = r4;
    0x0000d25c movs r2, 8                                            |         r2 = 8;
    0x0000d25e mov r1, fp                                            |         r1 = fp;
    0x0000d260 add r3, pc                                            |         r3 += pc;
    0x0000d262 blx 0x5684                                            |         qsort ();
    0x0000d266 ldr r4, [sp, 0x34]                                    |         r4 = var_34h;
                                                                     |     }
    0x0000d268 ldr.w r2, [pc, 0xa4c]                                 |     
    0x0000d26c movs r5, 0                                            |     r5 = 0;
    0x0000d26e ldr.w r1, [pc, 0xa4c]                                 |     
    0x0000d272 mov r3, r5                                            |     r3 = r5;
    0x0000d274 ldr.w r0, [pc, 0xa48]                                 |     
    0x0000d278 str r5, [sp, 0x48]                                    |     var_48h = r5;
    0x0000d27a add r2, pc                                            |     r2 = 0x1af36;
    0x0000d27c add r1, pc                                            |     r1 = 0x1af3e;
    0x0000d27e strd r5, r5, [sl, 4]                                  |     __asm ("strd r5, r5, [sl, 4]");
    0x0000d282 add r0, pc                                            |     r0 = 0x1af46;
    0x0000d284 blx 0x61d4                                            |     r0 = fcn_000061d4 ();
    0x0000d288 mov r7, r0                                            |     r7 = r0;
    0x0000d28a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d28c beq.w 0xd838                                          |         goto label_48;
                                                                     |     }
    0x0000d290 ldr.w r3, [pc, 0xa30]                                 |     r3 = *(0xdcc4);
    0x0000d294 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d296 ldr r1, [r3]                                          |     r1 = *(0xdcc4);
    0x0000d298 str r3, [sp, 0x28]                                    |     var_28h = r3;
    0x0000d29a subs r1, 0                                            |     
    0x0000d29c it ne                                                 |     
                                                                     |     if (r1 == 0) {
    0x0000d29e movne r1, 1                                           |         r1 = 1;
                                                                     |     }
    0x0000d2a0 blx 0x6330                                            |     fcn_00006330 ();
    0x0000d2a4 ldr.w r3, [pc, 0xa20]                                 |     r3 = *(0xdcc8);
    0x0000d2a8 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d2aa ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000d2ac cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000d2ae bne.w 0xd81e                                          |         goto label_49;
                                                                     |     }
    0x0000d2b0 strh r6, [r6, 0x14]                                   |     *((r6 + 0x14)) = r6;
    0x0000d2b2 ldr.w r1, [pc, 0xa18]                                 |     
    0x0000d2b6 mov r0, r7                                            |     r0 = r7;
    0x0000d2b8 add.w sb, r4, fp, lsl 3                               |     sb = r4 + (fp << 3);
    0x0000d2bc add r1, pc                                            |     r1 = 0x1af8e;
    0x0000d2be blx 0x57b4                                            |     fcn_000057b4 ();
    0x0000d2c0 orns r8, sl, pc, lsr 31                               |     __asm ("orns r8, sl, pc, lsr 31");
    0x0000d2c4 subs r2, 0xc                                          |     r2 -= 0xc;
    0x0000d2c6 strd sl, r6, [sp, 0x18]                               |     __asm ("strd sl, r6, [var_18h]");
    0x0000d2ca mov sl, r7                                            |     sl = r7;
    0x0000d2cc str.w fp, [sp, 0x24]                                  |     __asm ("str.w fp, [var_24h]");
    0x0000d2d0 add r3, pc                                            |     r3 += pc;
    0x0000d2d2 str r3, [sp, 0x2c]                                    |     var_2ch = r3;
    0x0000d2d4 ldr.w r3, [pc, 0x9fc]                                 |     
    0x0000d2d6 subs r1, 0xfc                                         |     r1 -= 0xfc;
    0x0000d2d8 add r3, pc                                            |     r3 = 0x1afb0;
    0x0000d2da str r3, [sp, 0x20]                                    |     var_20h = r3;
                                                                     | label_4:
    0x0000d2dc cmp r4, sb                                            |     
                                                                     |     if (r4 >= sb) {
    0x0000d2de bhs.w 0xd914                                          |         goto label_50;
                                                                     |     }
    0x0000d2e2 adds r4, 8                                            |     r4 += 8;
    0x0000d2e4 cmp r4, sb                                            |     
                                                                     |     if (r4 <= sb) {
    0x0000d2e6 blo.w 0xd576                                          |         goto label_51;
                                                                     |     }
                                                                     | label_2:
    0x0000d2ea ldr r2, [r4, -0x4]                                    |     r2 = *((r4 - 0x4));
    0x0000d2ee cmp r2, 0xc                                           |     
                                                                     |     if (r2 > 0xc) {
    0x0000d2f0 bhi.w 0xd688                                          |         goto label_52;
                                                                     |     }
    0x0000d2f4 mov.w r3, 0x1160                                      |     r3 = 0x1160;
    0x0000d2f8 lsrs r3, r2                                           |     r3 >>= r2;
    0x0000d2fa lsls r3, r3, 0x1f                                     |     r3 <<= 0x1f;
                                                                     |     if (r3 >= r3) {
    0x0000d2fc bpl.w 0xd688                                          |         goto label_52;
                                                                     |     }
    0x0000d300 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d304 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d306 beq.w 0xd6f8                                          |         goto label_53;
                                                                     |     }
    0x0000d30a ldr.w r8, [pc, 0x9cc]                                 |     
    0x0000d30e ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d312 blx 0x6608                                            |     cxa_finalize ();
    0x0000d316 add r8, pc                                            |     r8 = 0x1aff4;
    0x0000d318 mov r5, r0                                            |     r5 = r0;
                                                                     | label_9:
    0x0000d31a ldr r0, [r4, -0x4]                                    |     r0 = *((r4 - 0x4));
    0x0000d31e movs r7, 0                                            |     r7 = 0;
    0x0000d320 blx 0x5e04                                            |     strextend_with_separator_internal ();
    0x0000d324 ldr r6, [sp, 0x20]                                    |     r6 = var_20h;
    0x0000d326 mov fp, r7                                            |     
                                                                     | label_3:
    0x0000d328 movs r3, 0x29                                         |     r3 = 0x29;
    0x0000d32a movs r1, 1                                            |     r1 = 1;
    0x0000d32c movs r2, 0x21                                         |     r2 = 0x21;
    0x0000d32e str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000d330 str r2, [sp, 0x14]                                    |     var_14h = r2;
    0x0000d332 mov r0, sl                                            |     r0 = sl;
    0x0000d334 mov r2, r5                                            |     r2 = r5;
    0x0000d336 str.w r8, [sp, 0x10]                                  |     __asm ("str.w r8, [var_10h]");
    0x0000d33a str r6, [sp]                                          |     *(sp) = r6;
    0x0000d33c str r3, [sp, 0xc]                                     |     var_ch = r3;
    0x0000d33e str r1, [sp, 4]                                       |     var_4h = r1;
    0x0000d340 blx 0x5f30                                            |     r0 = boot_entries_load_config_auto ();
    0x0000d344 cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000d346 blt.w 0xd942                                          |         goto label_54;
                                                                     |     }
    0x0000d34a ldr r0, [r4, -0x4]                                    |     r0 = *((r4 - 0x4));
    0x0000d34e bl 0x1c2c8                                            |     fcn_0001c2c8 (r0);
    0x0000d350 vtbl.8 d2, {d11}, d0                                  |     __asm ("vtbl.8 d2, {d11}, d0");
                                                                     |     if (r0 != 0) {
    0x0000d354 bne.w 0xd636                                          |         goto label_55;
                                                                     |     }
    0x0000d358 cmp r7, 0                                             |     
                                                                     |     if (r7 == 0) {
    0x0000d35a beq.w 0xd5d8                                          |         goto label_56;
                                                                     |     }
    0x0000d35e blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d362 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d364 beq.w 0xd6cc                                          |         goto label_57;
                                                                     |     }
    0x0000d368 cmp r0, 0x10                                          |     
                                                                     |     if (r0 != 0x10) {
    0x0000d36a bne.w 0xd764                                          |         goto label_58;
                                                                     |     }
    0x0000d36e blx 0x5f18                                            |     r0 = table_add_many_internal ();
    0x0000d372 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d374 beq.w 0xd7d2                                          |         goto label_59;
                                                                     |     }
    0x0000d378 ldr.w r3, [pc, 0x960]                                 |     
    0x0000d37c add r3, pc                                            |     r3 = 0x1b05c;
    0x0000d37e b 0xd5ea                                              |     goto label_8;
                                                                     | label_41:
    0x0000d380 mov r4, r0                                            |     r4 = r0;
    0x0000d382 add r1, sp, 0x40                                      |     r1 += var_40h;
    0x0000d384 movs r0, 1                                            |     r0 = 1;
    0x0000d386 str r4, [sp, 0x3c]                                    |     var_3ch = r4;
    0x0000d388 strd r4, r4, [sp, 0x48]                               |     __asm ("strd r4, r4, [var_48h]");
    0x0000d38c str r4, [sp, 0x50]                                    |     var_50h = r4;
    0x0000d38e bl 0x1a334                                            |     r0 = fcn_0001a334 (r0, r1);
    0x0000d392 subs.w r8, r0, 0                                      |     r8 = r0 - 0;
    0x0000d394 lsrs r0, r0, 0x20                                     |     r0 >>= 0x20;
                                                                     |     if (r0 < r0) {
    0x0000d396 blt.w 0xd530                                          |         goto label_60;
                                                                     |     }
    0x0000d39a ldr.w r3, [pc, 0x944]                                 |     r3 = *(0xdce2);
    0x0000d39e add r7, sp, 0x3c                                      |     r7 += var_3ch;
    0x0000d3a0 ldr r0, [sp, 0x40]                                    |     r0 = var_40h;
    0x0000d3a2 mov r1, r7                                            |     r1 = r7;
    0x0000d3a4 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d3a6 ldr.w r8, [r3]                                        |     r8 = *(0xdce2);
    0x0000d3aa ldr.w r3, [pc, 0x938]                                 |     
    0x0000d3ae mov r2, r8                                            |     r2 = r8;
    0x0000d3b0 add r3, pc                                            |     r3 = 0x1b09a;
    0x0000d3b2 blx 0x65d8                                            |     r0 = null_or_empty_path ();
    0x0000d3b6 subs.w sb, r0, 0                                      |     sb = r0 - 0;
                                                                     |     if (sb < r0) {
    0x0000d3ba blt.w 0xd790                                          |         goto label_61;
                                                                     |     }
    0x0000d3be ldr.w r3, [pc, 0x8ec]                                 |     r3 = *(0xdcae);
    0x0000d3c2 ldr r0, [sp, 0x3c]                                    |     r0 = var_3ch;
    0x0000d3c4 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d3c6 ldr r1, [r3]                                          |     r1 = *(0xdcae);
    0x0000d3c8 str r3, [sp, 0x18]                                    |     var_18h = r3;
    0x0000d3ca blx 0x6324                                            |     r0 = fcn_00006324 ();
    0x0000d3ce subs.w sb, r0, 0                                      |     sb = r0 - 0;
                                                                     |     if (sb < r0) {
    0x0000d3d2 blt.w 0xdaa6                                          |         goto label_62;
                                                                     |     }
    0x0000d3d6 ldr.w r3, [pc, 0x910]                                 |     r3 = *(0xdcea);
    0x0000d3da ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000d3dc ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000d3de cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000d3e0 beq.w 0xd4f2                                          |         goto label_63;
                                                                     |     }
    0x0000d3e4 ldr.w sb, [sp, 0x40]                                  |     sb = var_40h;
    0x0000d3e8 movs r1, 1                                            |     r1 = 1;
    0x0000d3ea mov r0, r5                                            |     r0 = r5;
    0x0000d3ec str r4, [sp, 0x44]                                    |     var_44h = r4;
    0x0000d3ee blx 0x5ad4                                            |     sd_bus_message_get_bus ();
    0x0000d3f2 add r2, sp, 0x44                                      |     r2 += var_44h;
    0x0000d3f4 mov r1, r0                                            |     r1 = r0;
    0x0000d3f6 mov r0, sb                                            |     r0 = sb;
    0x0000d3f8 bl 0x1b1f4                                            |     r0 = fcn_0001b1f4 (r0, r1, r2);
    0x0000d3fc subs.w sb, r0, 0                                      |     sb = r0 - 0;
    0x0000d3fe lsrs r0, r0, 4                                        |     r0 >>= 4;
                                                                     |     if (r0 < r0) {
    0x0000d400 blt.w 0xd99e                                          |         goto label_64;
                                                                     |     }
    0x0000d404 ldr r1, [sp, 0x44]                                    |     r1 = var_44h;
    0x0000d406 ldr r0, [sp, 0x3c]                                    |     r0 = var_3ch;
    0x0000d408 blx 0x6324                                            |     r0 = fcn_00006324 ();
    0x0000d40c subs.w sb, r0, 0                                      |     sb = r0 - 0;
                                                                     |     if (sb < r0) {
    0x0000d410 blt.w 0xdb24                                          |         goto label_65;
                                                                     |     }
    0x0000d414 ldr r0, [sp, 0x44]                                    |     r0 = var_44h;
                                                                     |     if (r0 != 0) {
    0x0000d416 cbz r0, 0xd41c                                        |         
    0x0000d418 blx 0x5dec                                            |         unit_file_state_to_string ();
                                                                     |     }
                                                                     | label_1:
    0x0000d41c add.w sb, sp, 0x30                                    |     sb += var_30h;
    0x0000d420 add.w sl, sp, 0x48                                    |     sl += var_48h;
    0x0000d424 ldrd r1, r0, [sp, 0x3c]                               |     __asm ("ldrd r1, r0, [var_40h]");
    0x0000d428 movs r2, 0                                            |     r2 = 0;
    0x0000d42a movs r3, 0                                            |     r3 = 0;
    0x0000d42c str.w sb, [sp, 4]                                     |     __asm ("str.w sb, [var_4h]");
    0x0000d430 str.w sl, [sp]                                        |     __asm ("str.w sl, [sp]");
    0x0000d434 blx 0x6030                                            |     r0 = fcn_00006030 ();
    0x0000d438 subs.w fp, r0, 0                                      |     
                                                                     |     if (fp < r0) {
    0x0000d43c blt.w 0xda12                                          |         goto label_66;
                                                                     |     }
                                                                     | label_35:
    0x0000d440 ldr.w r3, [pc, 0x8a8]                                 |     
    0x0000d444 movs r1, 0x61                                         |     r1 = 0x61;
    0x0000d446 ldr r0, [sp, 0x30]                                    |     r0 = var_30h;
    0x0000d448 add r3, pc                                            |     r3 = 0x1b138;
    0x0000d44a mov r2, r3                                            |     r2 = r3;
    0x0000d44c mov sb, r3                                            |     sb = r3;
    0x0000d44e blx 0x5838                                            |     r0 = fcn_00005838 ();
    0x0000d452 subs.w r8, r0, 0                                      |     r8 = r0 - 0;
                                                                     |     if (r8 < r0) {
    0x0000d456 blt.w 0xdb68                                          |         goto label_67;
                                                                     |     }
    0x0000d45a add r3, sp, 0x38                                      |     r3 += var_38h;
    0x0000d45c strd sl, r6, [sp, 0x24]                               |     __asm ("strd sl, r6, [var_24h]");
    0x0000d460 mov.w fp, 0                                           |     
    0x0000d464 add r7, sp, 0x44                                      |     r7 += var_44h;
    0x0000d466 mov sl, r3                                            |     sl = r3;
    0x0000d468 str r5, [sp, 0x20]                                    |     var_20h = r5;
    0x0000d46a b 0xd4c0                                              |     
                                                                     |     while (r0 > 0) {
    0x0000d46c add.w r8, fp, 1                                       |         r8 += arg_1h;
    0x0000d470 movs r2, 8                                            |         r2 = 8;
    0x0000d472 mov r1, r8                                            |         r1 = r8;
    0x0000d474 add r0, sp, 0x34                                      |         r0 += var_34h;
    0x0000d476 blx 0x5c98                                            |         r0 = fcn_00005c98 ();
    0x0000d47a cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000d47c beq.w 0xdb4e                                          |             goto label_68;
                                                                     |         }
    0x0000d480 ldr r6, [sp, 0x34]                                    |         r6 = var_34h;
    0x0000d482 ldr r5, [sp, 0x44]                                    |         r5 = var_44h;
    0x0000d484 ldr r0, [sp, 0x38]                                    |         r0 = var_38h;
    0x0000d486 blx 0x591c                                            |         fcn_0000591c ();
    0x0000d48a lsl.w r3, fp, 3                                       |         r3 = fp << 3;
    0x0000d48e str.w r5, [r6, fp, lsl 3]                             |         __asm ("str.w r5, [r6, fp, lsl 3]");
    0x0000d492 mov r2, r4                                            |         r2 = r4;
    0x0000d494 add r6, r3                                            |         r6 += r3;
    0x0000d496 str r0, [r6, 4]                                       |         *((r6 + 4)) = r0;
    0x0000d498 ldr r6, [sp, 0x34]                                    |         r6 = var_34h;
    0x0000d49a add r6, r3                                            |         r6 += r3;
    0x0000d49c mov r3, r4                                            |         r3 = r4;
                                                                     |         if (r4 != 0) {
    0x0000d49e cbz r4, 0xd4b2                                        |             
    0x0000d4a0 ldr r3, [sp, 0x18]                                    |             r3 = var_18h;
    0x0000d4a2 movs r1, 1                                            |             r1 = 1;
    0x0000d4a4 ldr r0, [sp, 0x20]                                    |             r0 = var_20h;
    0x0000d4a6 ldr r3, [r3]                                          |             r3 = *(r3);
    0x0000d4a8 str r3, [sp, 0x1c]                                    |             var_1ch = r3;
    0x0000d4aa blx 0x5ad4                                            |             sd_bus_message_get_bus ();
    0x0000d4ae ldr r3, [sp, 0x1c]                                    |             r3 = var_1ch;
    0x0000d4b0 mov r2, r0                                            |             r2 = r0;
                                                                     |         }
    0x0000d4b2 mov r1, r3                                            |         r1 = r3;
    0x0000d4b4 mov r0, r6                                            |         r0 = r6;
    0x0000d4b6 bl 0xd06c                                             |         r0 = fcn_0000d06c (r0, r1, r2, r3);
    0x0000d4ba cmp r0, 0                                             |         
    0x0000d4bc it ne                                                 |         
                                                                     |         if (r0 == 0) {
    0x0000d4be movne fp, r8                                          |             
                                                                     |         }
    0x0000d4c0 ldr r0, [sp, 0x30]                                    |         r0 = var_30h;
    0x0000d4c2 mov r3, sl                                            |         r3 = sl;
    0x0000d4c4 mov r2, r7                                            |         r2 = r7;
    0x0000d4c6 mov r1, sb                                            |         r1 = sb;
    0x0000d4c8 blx 0x5b10                                            |         r0 = runlevel_to_target ();
    0x0000d4cc cmp r0, 0                                             |         
    0x0000d4ce bgt 0xd46c                                            |         
                                                                     |     }
    0x0000d4d0 ldrd sl, r6, [sp, 0x24]                               |     __asm ("ldrd sl, r6, [var_24h]");
    0x0000d4d4 mov r8, r0                                            |     r8 = r0;
                                                                     |     if (r0 == 0) {
    0x0000d4d6 beq.w 0xdba6                                          |         goto label_69;
                                                                     |     }
    0x0000d4da blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d4de cmp r0, 2                                             |     
                                                                     |     if (r0 > 2) {
    0x0000d4e0 bgt.w 0xdc62                                          |         goto label_70;
                                                                     |     }
                                                                     | label_29:
    0x0000d4e4 rsb.w r8, r8, 0                                       |     r8 -= ;
    0x0000d4e8 uxtb.w r8, r8                                         |     r8 = (int8_t) r8;
    0x0000d4ec rsb.w r8, r8, 0                                       |     r8 -= ;
    0x0000d4f0 b 0xd7ac                                              |     goto label_22;
                                                                     | label_63:
    0x0000d4f2 ldr.w sb, [sp, 0x3c]                                  |     sb = var_3ch;
    0x0000d4f6 movs r1, 1                                            |     r1 = 1;
    0x0000d4f8 mov r0, r5                                            |     r0 = r5;
    0x0000d4fa blx 0x5ad4                                            |     r0 = sd_bus_message_get_bus ();
    0x0000d4fe mov r1, r0                                            |     r1 = r0;
    0x0000d500 mov r0, sb                                            |     r0 = sb;
    0x0000d502 blx 0x6324                                            |     r0 = fcn_00006324 ();
    0x0000d506 subs.w sb, r0, 0                                      |     sb = r0 - 0;
                                                                     |     if (sb >= r0) {
    0x0000d50a bge 0xd41c                                            |         goto label_1;
                                                                     |     }
    0x0000d50c blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d510 cmp r0, 2                                             |     
                                                                     |     if (r0 > 2) {
    0x0000d512 bgt.w 0xdbc8                                          |         goto label_71;
                                                                     |     }
                                                                     | label_23:
    0x0000d516 rsb.w r8, sb, 0                                       |     r8 = sb - ;
    0x0000d51a uxtb.w r8, r8                                         |     r8 = (int8_t) r8;
    0x0000d51e rsb.w r8, r8, 0                                       |     r8 -= ;
    0x0000d520 lsrs r0, r0, 0x20                                     |     r0 >>= 0x20;
                                                                     | label_24:
    0x0000d522 cmp.w r8, 0                                           |     
    0x0000d526 it ge                                                 |     
                                                                     |     if (r8 < 0) {
    0x0000d528 addge sl, sp, 0x48                                    |         sl += var_48h;
                                                                     |     }
                                                                     |     if (r8 >= 0) {
    0x0000d52c bge.w 0xd7b4                                          |         goto label_72;
                                                                     |     }
                                                                     | label_60:
    0x0000d530 add.w sl, sp, 0x48                                    |     sl += var_48h;
                                                                     | label_12:
    0x0000d534 mov r0, sl                                            |     r0 = sl;
    0x0000d536 blx 0x6024                                            |     fcn_00006024 ();
    0x0000d53a ldr r0, [sp, 0x3c]                                    |     r0 = var_3ch;
                                                                     |     if (r0 != 0) {
    0x0000d53c cbz r0, 0xd542                                        |         
    0x0000d53e blx 0x582c                                            |         fcn_0000582c ();
                                                                     |     }
                                                                     | label_5:
    0x0000d542 ldr r0, [sp, 0x34]                                    |     r0 = var_34h;
                                                                     | label_17:
    0x0000d544 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000d548 ldr r0, [sp, 0x30]                                    |     r0 = var_30h;
    0x0000d54a movs r3, 0                                            |     r3 = 0;
    0x0000d54c str r3, [sp, 0x34]                                    |     var_34h = r3;
                                                                     |     if (r0 != 0) {
    0x0000d54e cbz r0, 0xd554                                        |         
    0x0000d550 blx 0x582c                                            |         fcn_0000582c ();
                                                                     |     }
    0x0000d554 ldr.w r2, [pc, 0x798]                                 |     r2 = *(0x0000dcf0);
    0x0000d558 ldr.w r3, [pc, 0x73c]                                 |     r3 = *(0xdc98);
    0x0000d55c add r2, pc                                            |     r2 += pc;
    0x0000d55e ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000d560 ldr r2, [r3]                                          |     r2 = *(0xdc98);
    0x0000d562 ldr r3, [sp, 0x54]                                    |     r3 = var_54h;
    0x0000d564 eors r2, r3                                           |     r2 ^= r3;
    0x0000d566 mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000d56a bne.w 0xdc82                                          |         goto label_73;
                                                                     |     }
    0x0000d56e mov r0, r8                                            |     r0 = r8;
    0x0000d570 add sp, 0x5c                                          |     
    0x0000d572 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_51:
    0x0000d576 ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d57a bl 0x1b444                                            |     r0 = fcn_0001b444 ();
    0x0000d57e mov r5, r0                                            |     r5 = r0;
    0x0000d580 ldr r0, [r4]                                          |     r0 = *(r4);
    0x0000d582 bl 0x1b444                                            |     r0 = fcn_0001b444 ();
    0x0000d586 mov r1, r0                                            |     r1 = r0;
    0x0000d588 mov r0, r5                                            |     r0 = r5;
    0x0000d58a blx 0x655c                                            |     r0 = fcn_0000655c ();
    0x0000d58e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d590 beq.w 0xd2ea                                          |         goto label_2;
                                                                     |     }
    0x0000d594 blx 0x5f18                                            |     r0 = table_add_many_internal ();
    0x0000d598 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d59a beq.w 0xd756                                          |         goto label_74;
                                                                     |     }
    0x0000d59c strh r4, [r3, 6]                                      |     *((r3 + 6)) = r4;
    0x0000d59e ldr.w r6, [pc, 0x754]                                 |     
    0x0000d5a2 add r6, pc                                            |     r6 = 0x1b29c;
                                                                     | label_10:
    0x0000d5a4 ldr r3, [r4, -0x4]                                    |     r3 = *((r4 - 0x4));
    0x0000d5a8 cmp r3, 0xc                                           |     
                                                                     |     if (r3 <= 0xc) {
    0x0000d5aa bhi 0xd5b6                                            |         
    0x0000d5ac mov.w r2, 0x1160                                      |         r2 = 0x1160;
    0x0000d5b0 lsrs r2, r3                                           |         r2 >>= r3;
    0x0000d5b2 lsls r2, r2, 0x1f                                     |         r2 <<= 0x1f;
                                                                     |         if (r2 < r2) {
    0x0000d5b4 bmi 0xd6ac                                            |             goto label_75;
                                                                     |         }
                                                                     |     }
    0x0000d5b6 bics r3, r3, 4                                        |     __asm ("bics r3, r3, 4");
                                                                     |     if (r2 == r2) {
    0x0000d5ba beq.w 0xd730                                          |         goto label_76;
                                                                     |     }
    0x0000d5be ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d5c2 mov fp, r6                                            |     
    0x0000d5c4 blx 0x6608                                            |     cxa_finalize ();
    0x0000d5c8 mov r8, r6                                            |     r8 = r6;
    0x0000d5ca mov r5, r0                                            |     r5 = r0;
    0x0000d5cc movs r7, 1                                            |     r7 = 1;
                                                                     | label_7:
    0x0000d5ce ldr r0, [r4, -0x4]                                    |     r0 = *((r4 - 0x4));
    0x0000d5d2 blx 0x5e04                                            |     strextend_with_separator_internal ();
    0x0000d5d6 b 0xd328                                              |     goto label_3;
                                                                     | label_56:
    0x0000d5d8 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d5dc cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d5de beq 0xd6cc                                            |         goto label_57;
                                                                     |     }
    0x0000d5e0 cmp r0, 0x10                                          |     
                                                                     |     if (r0 != 0x10) {
    0x0000d5e2 bne 0xd6d4                                            |         goto label_77;
                                                                     |     }
    0x0000d5e4 ldr.w r3, [pc, 0x710]                                 |     
    0x0000d5e8 add r3, pc                                            |     r3 = 0x1b2e4;
                                                                     | label_8:
    0x0000d5ea movs r2, 0x21                                         |     r2 = 0x21;
    0x0000d5ec movs r1, 0                                            |     r1 = 0;
    0x0000d5ee str r2, [sp]                                          |     *(sp) = r2;
    0x0000d5f0 mov r0, sl                                            |     r0 = sl;
    0x0000d5f2 movs r2, 0x29                                         |     r2 = 0x29;
    0x0000d5f4 blx 0x5f30                                            |     r0 = boot_entries_load_config_auto ();
                                                                     | label_6:
    0x0000d5f8 cmp r0, 0                                             |     
                                                                     |     if (r0 >= 0) {
    0x0000d5fa bge.w 0xd2dc                                          |         goto label_4;
                                                                     |     }
    0x0000d5fe mov r8, r0                                            |     r8 = r0;
    0x0000d600 mov r7, sl                                            |     r7 = sl;
    0x0000d602 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d606 cmp r0, 2                                             |     
    0x0000d608 ldr.w sl, [sp, 0x18]                                  |     sl = var_18h;
                                                                     |     if (r0 > 2) {
    0x0000d60c bgt.w 0xd9d0                                          |         goto label_78;
                                                                     |     }
                                                                     | label_19:
    0x0000d610 rsb.w r8, r8, 0                                       |     r8 -= ;
    0x0000d614 uxtb.w r8, r8                                         |     r8 = (int8_t) r8;
    0x0000d616 strb.w pc, [r8, 0x1c8]                                |     *((r8 + 0x1c8)) = pc;
    0x0000d61a lsrs r0, r0, 0x20                                     |     r0 >>= 0x20;
                                                                     | label_20:
    0x0000d61c cmp.w r8, 0                                           |     
                                                                     |     if (r8 < 0) {
    0x0000d620 blt.w 0xdc54                                          |         goto label_79;
                                                                     |     }
    0x0000d624 mov r0, sl                                            |     r0 = sl;
    0x0000d626 mvn r8, 0x55                                          |     r8 = ~0x55;
    0x0000d62a blx 0x5f84                                            |     version ();
    0x0000d62c stc p6, c4, [ip], 0xe0                                |     __asm ("stc p6, c4, [ip], 0xe0");
    0x0000d630 blx 0x5b04                                            |     sd_bus_message_read ();
    0x0000d634 b 0xd542                                              |     goto label_5;
                                                                     | label_55:
    0x0000d636 ldr r0, [sp, 0x1c]                                    |     r0 = var_1ch;
    0x0000d638 mov r2, r5                                            |     r2 = r5;
    0x0000d63a ldr.w r3, [pc, 0x66c]                                 |     r3 = *(0xdcaa);
    0x0000d63e ldr r3, [r0, r3]                                      |     r3 = *((r0 + r3));
    0x0000d640 ldr r1, [r3]                                          |     r1 = *(0xdcaa);
    0x0000d642 ldr.w r3, [pc, 0x660]                                 |     r3 = *(0xdca6);
    0x0000d646 ldr r3, [r0, r3]                                      |     r3 = *((r0 + r3));
    0x0000d648 ldr r0, [r3]                                          |     r0 = *(0xdca6);
    0x0000d64a ldr r3, [sp, 0x18]                                    |     r3 = var_18h;
    0x0000d64c blx 0x5cd4                                            |     r0 = fcn_00005cd4 ();
    0x0000d650 cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000d652 blt 0xd6dc                                            |         goto label_80;
                                                                     |     }
                                                                     |     if (r0 == 0) {
    0x0000d654 beq.w 0xd772                                          |         goto label_81;
                                                                     |     }
    0x0000d658 cmp r7, 0                                             |     
                                                                     |     if (r7 == 0) {
    0x0000d65a beq.w 0xd892                                          |         goto label_82;
                                                                     |     }
    0x0000d65e blx 0x5f18                                            |     r0 = table_add_many_internal ();
    0x0000d662 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d664 beq.w 0xd892                                          |         goto label_82;
                                                                     |     }
    0x0000d668 ldr.w r2, [pc, 0x690]                                 |     
    0x0000d66c ldr.w fp, [pc, 0x690]                                 |     
    0x0000d670 add r2, pc                                            |     r2 = 0x1b370;
    0x0000d672 add fp, pc                                            |     fp = 0x1b376;
                                                                     |     do {
                                                                     | label_11:
    0x0000d674 movs r3, 0x21                                         |         r3 = 0x21;
    0x0000d676 movs r1, 1                                            |         r1 = 1;
    0x0000d678 str r3, [sp, 4]                                       |         var_4h = r3;
    0x0000d67a mov r0, sl                                            |         r0 = sl;
    0x0000d67c movs r3, 0x29                                         |         r3 = 0x29;
    0x0000d67e str.w fp, [sp]                                        |         __asm ("str.w fp, [sp]");
    0x0000d682 blx 0x5f30                                            |         boot_entries_load_config_auto ();
    0x0000d686 b 0xd5f8                                              |         goto label_6;
                                                                     | label_52:
    0x0000d688 bics r3, r2, 4                                        |         __asm ("bics r3, r2, 4");
                                                                     |         if (r3 == 0x29) {
    0x0000d68c beq 0xd70a                                            |             goto label_83;
                                                                     |         }
    0x0000d68e ldr r0, [r4, -0x8]                                    |         r0 = *((r4 - 0x8));
    0x0000d692 movs r7, 0                                            |         r7 = 0;
    0x0000d694 blx 0x6608                                            |         r0 = cxa_finalize ();
    0x0000d698 mov r5, r0                                            |         r5 = r0;
    0x0000d69a ldr r0, [r4, -0x4]                                    |         r0 = *((r4 - 0x4));
    0x0000d69e blx 0x5e04                                            |         strextend_with_separator_internal ();
    0x0000d6a2 ldr.w r8, [sp, 0x2c]                                  |         r8 = var_2ch;
    0x0000d6a6 mov fp, r7                                            |         
    0x0000d6a8 mov r6, r8                                            |         r6 = r8;
    0x0000d6aa b 0xd328                                              |         goto label_3;
                                                                     | label_75:
    0x0000d6ac blx 0x5f18                                            |         r0 = table_add_many_internal ();
    0x0000d6b0 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000d6b2 beq.w 0xd828                                          |             goto label_84;
                                                                     |         }
    0x0000d6b6 ldr.w r8, [pc, 0x64c]                                 |         
    0x0000d6ba add r8, pc                                            |         r8 = 0x1b3c4;
                                                                     | label_16:
    0x0000d6bc ldr r0, [r4, -0x8]                                    |         r0 = *((r4 - 0x8));
    0x0000d6c0 mov fp, r6                                            |         
    0x0000d6c2 blx 0x6608                                            |         cxa_finalize ();
    0x0000d6c6 movs r7, 1                                            |         r7 = 1;
    0x0000d6c8 mov r5, r0                                            |         r5 = r0;
    0x0000d6ca b 0xd5ce                                              |         goto label_7;
                                                                     | label_57:
    0x0000d6cc ldr.w r3, [pc, 0x638]                                 |         
    0x0000d6d0 add r3, pc                                            |         r3 = 0x1b3dc;
    0x0000d6d2 b 0xd5ea                                              |         goto label_8;
                                                                     | label_77:
    0x0000d6d4 ldr.w r3, [pc, 0x634]                                 |         
    0x0000d6d8 add r3, pc                                            |         r3 = 0x1b3e8;
    0x0000d6da b 0xd5ea                                              |         goto label_8;
                                                                     | label_80:
    0x0000d6dc cmp r7, 0                                             |         
                                                                     |         if (r7 == 0) {
    0x0000d6de beq.w 0xd7f4                                          |             goto label_85;
                                                                     |         }
    0x0000d6e2 cmp.w fp, 0                                           |         
                                                                     |         if (fp != 0) {
    0x0000d6e6 bne.w 0xdc8c                                          |             goto label_86;
                                                                     |         }
                                                                     | label_14:
    0x0000d6ea ldr.w r2, [pc, 0x624]                                 |         
    0x0000d6ee ldr.w fp, [pc, 0x624]                                 |         
    0x0000d6f2 add r2, pc                                            |         r2 = 0x1b408;
    0x0000d6f4 add fp, pc                                            |         fp = 0x1b40e;
    0x0000d6f6 b 0xd674                                              |         
                                                                     |     } while (1);
                                                                     | label_53:
    0x0000d6f8 ldr.w r8, [pc, 0x61c]                                 |     
    0x0000d6fc ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d6fe lsrs r0, r1, 0x10                                     |     r0 = r1 >> 0x10;
    0x0000d700 blx 0x6608                                            |     cxa_finalize ();
    0x0000d704 add r8, pc                                            |     r8 = 0x1b420;
    0x0000d706 mov r5, r0                                            |     r5 = r0;
    0x0000d708 b 0xd31a                                              |     goto label_9;
                                                                     | label_83:
    0x0000d70a blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d70e cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000d710 bne 0xd7ba                                            |         goto label_87;
                                                                     |     }
    0x0000d712 ldr.w r8, [pc, 0x608]                                 |     
    0x0000d716 add r8, pc                                            |     r8 = 0x1b438;
                                                                     | label_13:
    0x0000d718 ldr.w r6, [pc, 0x604]                                 |     
    0x0000d71c mov.w fp, 0                                           |     
    0x0000d720 ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d724 mov r7, fp                                            |     r7 = fp;
    0x0000d726 blx 0x6608                                            |     cxa_finalize ();
    0x0000d72a add r6, pc                                            |     r6 = 0x1b44e;
    0x0000d72c mov r5, r0                                            |     r5 = r0;
    0x0000d72e b 0xd5ce                                              |     goto label_7;
                                                                     | label_76:
    0x0000d730 blx 0x5f18                                            |     r0 = table_add_many_internal ();
    0x0000d734 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d736 beq 0xd80c                                            |         goto label_88;
                                                                     |     }
    0x0000d738 ldr.w r8, [pc, 0x5e8]                                 |     
    0x0000d73c add r8, pc                                            |     r8 = 0x1b464;
                                                                     | label_15:
    0x0000d73e ldr r0, [r4, -0x8]                                    |     r0 = *((r4 - 0x8));
    0x0000d742 mov fp, r6                                            |     
    0x0000d744 blx 0x6608                                            |     r0 = cxa_finalize ();
    0x0000d748 mov r5, r0                                            |     r5 = r0;
    0x0000d74a ldr r0, [r4, -0x4]                                    |     r0 = *((r4 - 0x4));
    0x0000d74e movs r7, 1                                            |     r7 = 1;
    0x0000d750 blx 0x5e04                                            |     strextend_with_separator_internal ();
    0x0000d754 b 0xd328                                              |     goto label_3;
                                                                     | label_74:
    0x0000d756 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
                                                                     |     if (r0 == 0) {
    0x0000d75a cbz r0, 0xd7c2                                        |         goto label_89;
                                                                     |     }
    0x0000d75c ldr.w r6, [pc, 0x5c8]                                 |     
    0x0000d760 add r6, pc                                            |     r6 = 0x1b48c;
    0x0000d762 b 0xd5a4                                              |     goto label_10;
                                                                     | label_58:
    0x0000d764 blx 0x5f18                                            |     r0 = table_add_many_internal ();
                                                                     |     if (r0 == 0) {
    0x0000d768 cbz r0, 0xd7ca                                        |         goto label_90;
                                                                     |     }
    0x0000d76a ldr.w r3, [pc, 0x5c0]                                 |     
    0x0000d76e add r3, pc                                            |     r3 = 0x1b4a0;
    0x0000d770 b 0xd5ea                                              |     goto label_8;
                                                                     | label_81:
    0x0000d772 cmp r7, 0                                             |     
                                                                     |     if (r7 == 0) {
    0x0000d774 beq.w 0xd8a8                                          |         goto label_91;
                                                                     |     }
    0x0000d778 blx 0x5f18                                            |     r0 = table_add_many_internal ();
    0x0000d77c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d77e beq.w 0xd8a8                                          |         goto label_91;
                                                                     |     }
    0x0000d782 ldr.w r2, [pc, 0x5ac]                                 |     
    0x0000d786 ldr.w fp, [pc, 0x5ac]                                 |     
    0x0000d78a add r2, pc                                            |     r2 = 0x1b4c0;
    0x0000d78c add fp, pc                                            |     fp = 0x1b4c6;
    0x0000d78e b 0xd674                                              |     goto label_11;
                                                                     | label_61:
    0x0000d790 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d794 cmp r0, 2                                             |     
    0x0000d796 ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000d798 rsble r8, sb, 0                                       |         __asm ("rsble r8, sb, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000d79c uxtble r8, r8                                         |         __asm ("uxtble r8, r8");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000d7a0 rsb.w r8, r8, 0                                       |         r8 -= ;
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000d7a4 bgt.w 0xdad0                                          |         goto label_92;
                                                                     |     }
    0x0000d7a6 strh r4, [r2, 0xc]                                    |     *((r2 + 0xc)) = r4;
                                                                     | label_25:
    0x0000d7a8 add.w sl, sp, 0x48                                    |     sl += var_48h;
                                                                     | label_22:
    0x0000d7ac cmp.w r8, 0                                           |     
                                                                     |     if (r8 < 0) {
    0x0000d7b0 blt.w 0xd534                                          |         goto label_12;
                                                                     |     }
                                                                     | label_72:
    0x0000d7b4 mvn r8, 0x55                                          |     r8 = ~0x55;
    0x0000d7b8 b 0xd534                                              |     goto label_12;
                                                                     | label_87:
    0x0000d7ba ldr.w r8, [pc, 0x57c]                                 |     
    0x0000d7be add r8, pc                                            |     r8 = 0x1b4fc;
    0x0000d7c0 b 0xd718                                              |     goto label_13;
                                                                     | label_89:
    0x0000d7c2 ldr.w r6, [pc, 0x578]                                 |     
    0x0000d7c6 add r6, pc                                            |     r6 = 0x1b508;
    0x0000d7c8 b 0xd5a4                                              |     goto label_10;
                                                                     | label_90:
    0x0000d7ca ldr.w r3, [pc, 0x574]                                 |     
    0x0000d7ce add r3, pc                                            |     r3 = 0x1b514;
    0x0000d7d0 b 0xd5ea                                              |     goto label_8;
                                                                     | label_59:
    0x0000d7d2 ldr.w r3, [pc, 0x570]                                 |     
    0x0000d7d6 add r3, pc                                            |     r3 = 0x1b520;
    0x0000d7d8 b 0xd5ea                                              |     goto label_8;
                                                                     | label_42:
    0x0000d7da ldr.w r1, [pc, 0x56c]                                 |     
    0x0000d7de movs r2, 0x98                                         |     r2 = 0x98;
    0x0000d7e0 ldr.w r3, [pc, 0x568]                                 |     
    0x0000d7e4 movs r0, 3                                            |     r0 = 3;
    0x0000d7e6 add r1, pc                                            |     r1 = 0x1b534;
    0x0000d7e8 add r3, pc                                            |     r3 = 0x1b538;
    0x0000d7ea adds r1, 7                                            |     r1 += 7;
    0x0000d7ec blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000d7f0 mov r8, r0                                            |     r8 = r0;
    0x0000d7f2 b 0xd542                                              |     goto label_5;
                                                                     | label_85:
    0x0000d7f4 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d7f8 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d7fa beq.w 0xd6ea                                          |         goto label_14;
                                                                     |     }
    0x0000d7fe ldr.w r2, [pc, 0x550]                                 |     
    0x0000d802 ldr.w fp, [pc, 0x550]                                 |     
    0x0000d806 add r2, pc                                            |     r2 = 0x1b55c;
    0x0000d808 add fp, pc                                            |     fp = 0x1b562;
    0x0000d80a b 0xd674                                              |     goto label_11;
                                                                     | label_88:
    0x0000d80c blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d810 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d812 beq.w 0xd996                                          |         goto label_93;
                                                                     |     }
    0x0000d816 ldr.w r8, [pc, 0x540]                                 |     
    0x0000d81a add r8, pc                                            |     r8 = 0x1b578;
    0x0000d81c b 0xd73e                                              |     goto label_15;
                                                                     | label_49:
    0x0000d81e mov r1, r5                                            |     r1 = r5;
    0x0000d820 mov r0, r7                                            |     r0 = r7;
    0x0000d822 blx 0x58d4                                            |     fcn_000058d4 ();
    0x0000d824 invalid                                               |     
                                                                     | label_84:
    0x0000d828 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000d82c cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000d82e bne 0xd908                                            |         goto label_94;
                                                                     |     }
    0x0000d830 ldr.w r8, [pc, 0x528]                                 |     
    0x0000d834 add r8, pc                                            |     r8 = 0x1b594;
    0x0000d836 b 0xd6bc                                              |     goto label_16;
                                                                     | label_48:
    0x0000d838 ldr.w r1, [pc, 0x524]                                 |     
    0x0000d83c movs r2, 0x3b                                         |     r2 = 0x3b;
    0x0000d83e ldr.w r3, [pc, 0x524]                                 |     
    0x0000d842 movs r0, 3                                            |     r0 = 3;
    0x0000d844 add r1, pc                                            |     r1 = 0x1b5a8;
    0x0000d846 add r3, pc                                            |     r3 = 0x1b5b0;
    0x0000d848 adds r1, 7                                            |     r1 += 7;
    0x0000d84a blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000d84e mov r8, r0                                            |     r8 = r0;
    0x0000d850 mov r0, sl                                            |     r0 = sl;
    0x0000d852 blx 0x5f84                                            |     version ();
    0x0000d856 cmp r8, r5                                            |     
                                                                     |     if (r8 < r5) {
    0x0000d858 blt.w 0xd542                                          |         goto label_5;
                                                                     |     }
                                                                     | label_18:
    0x0000d85c bl 0x1bcac                                            |     r0 = fcn_0001bcac ();
    0x0000d860 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d862 beq 0xd910                                            |         goto label_95;
                                                                     |     }
    0x0000d864 ldr r4, [sp, 0x34]                                    |     r4 = var_34h;
    0x0000d866 lsl.w r5, fp, 3                                       |     r5 = fp << 3;
    0x0000d86a adds r3, r4, r5                                       |     r3 = r4 + r5;
    0x0000d86c cmp r4, r3                                            |     
                                                                     |     if (r4 >= r3) {
    0x0000d86e bhs.w 0xdba2                                          |         goto label_96;
                                                                     |     }
                                                                     |     do {
    0x0000d872 ldr r0, [r4], 8                                       |         r0 = *(r4);
                                                                     |         r4 += 8;
    0x0000d876 blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000d87a ldr r0, [sp, 0x34]                                    |         r0 = var_34h;
    0x0000d87c adds r3, r0, r5                                       |         r3 = r0 + r5;
    0x0000d87e cmp r4, r3                                            |         
    0x0000d880 blo 0xd872                                            |         
                                                                     |     } while (r4 <= r3);
                                                                     |     do {
                                                                     | label_31:
    0x0000d882 cmp.w fp, 0                                           |         
    0x0000d886 ite ne                                                |         
                                                                     |         if (fp == 0) {
    0x0000d888 movne r8, 0                                           |             r8 = 0;
                                                                     |         }
                                                                     |         if (fp == 0) {
    0x0000d88c mvn r8, 1                                             |             r8 = ~1;
                                                                     |         }
    0x0000d890 b 0xd544                                              |         goto label_17;
                                                                     | label_82:
    0x0000d892 blx 0x5e88                                            |         r0 = strcpy (r0, r1)
    0x0000d896 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000d898 bne 0xd97a                                            |             goto label_97;
                                                                     |         }
    0x0000d89a ldr.w r2, [pc, 0x4cc]                                 |         
    0x0000d89e ldr.w fp, [pc, 0x4cc]                                 |         
    0x0000d8a2 add r2, pc                                            |         r2 = 0x1b610;
    0x0000d8a4 add fp, pc                                            |         fp = 0x1b616;
    0x0000d8a6 b 0xd674                                              |         goto label_11;
                                                                     | label_91:
    0x0000d8a8 blx 0x5e88                                            |         r0 = strcpy (r0, r1)
    0x0000d8ac cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000d8ae bne 0xd988                                            |             goto label_98;
                                                                     |         }
    0x0000d8b0 ldr.w r2, [pc, 0x4bc]                                 |         
    0x0000d8b4 ldr.w fp, [pc, 0x4bc]                                 |         
    0x0000d8b8 add r2, pc                                            |         r2 = 0x1b62c;
    0x0000d8ba add fp, pc                                            |         fp = 0x1b632;
    0x0000d8bc b 0xd674                                              |         goto label_11;
                                                                     | label_43:
    0x0000d8be blx 0x639c                                            |         fcn_0000639c ();
    0x0000d8c2 blx 0x5934                                            |         r0 = fcn_00005934 ();
    0x0000d8c6 cmp r0, 2                                             |         
    0x0000d8c8 ittt le                                               |         
                                                                     |         if (r0 <= 2) {
    0x0000d8ca rsble r8, r8, 0                                       |             __asm ("rsble r8, r8, 0");
                                                                     |         }
                                                                     |         if (r0 <= 2) {
    0x0000d8ce uxtble r8, r8                                         |             __asm ("uxtble r8, r8");
                                                                     |         }
                                                                     |         if (r0 <= 2) {
    0x0000d8d2 rsb.w r8, r8, 0                                       |             r8 -= ;
                                                                     |         }
    0x0000d8d4 lsrs r0, r0, 0x20                                     |         r0 >>= 0x20;
                                                                     |         if (r0 > r0) {
    0x0000d8d6 bgt.w 0xdaf0                                          |             goto label_99;
                                                                     |         }
                                                                     | label_26:
    0x0000d8da cmp.w r8, 0                                           |         
    0x0000d8de it ge                                                 |         
                                                                     |         if (r8 < 0) {
    0x0000d8e0 mvnge r8, 0x55                                        |             r8 = ~0x55;
                                                                     |         }
    0x0000d8e4 b 0xd542                                              |         goto label_5;
                                                                     | label_44:
    0x0000d8e6 str r7, [sp, 0x34]                                    |         var_34h = r7;
                                                                     | label_45:
    0x0000d8e8 mov r0, r4                                            |         r0 = r4;
    0x0000d8ea blx 0x639c                                            |         fcn_0000639c ();
    0x0000d8ee ldr.w r1, [pc, 0x488]                                 |         
    0x0000d8f2 movs r2, 0xa5                                         |         r2 = 0xa5;
    0x0000d8f4 ldr.w r3, [pc, 0x484]                                 |         
    0x0000d8f8 movs r0, 3                                            |         r0 = 3;
    0x0000d8fa add r1, pc                                            |         r1 = 0x1b678;
    0x0000d8fc add r3, pc                                            |         r3 = 0x1b67c;
    0x0000d8fe adds r1, 7                                            |         r1 += 7;
    0x0000d900 blx 0x65cc                                            |         r0 = fflush_and_check ();
    0x0000d904 mov r8, r0                                            |         r8 = r0;
    0x0000d906 b 0xd542                                              |         goto label_5;
                                                                     | label_94:
    0x0000d908 ldr.w r8, [pc, 0x474]                                 |         
    0x0000d90c add r8, pc                                            |         r8 = 0x1b690;
    0x0000d90e b 0xd6bc                                              |         goto label_16;
                                                                     | label_95:
    0x0000d910 ldr r0, [sp, 0x34]                                    |         r0 = var_34h;
    0x0000d912 b 0xd882                                              |         
                                                                     |     } while (1);
                                                                     | label_50:
    0x0000d914 mov r7, sl                                            |     r7 = sl;
    0x0000d916 ldr.w fp, [sp, 0x24]                                  |     fp = var_24h;
    0x0000d91a mov r0, r7                                            |     r0 = r7;
    0x0000d91c ldr.w sl, [sp, 0x18]                                  |     sl = var_18h;
    0x0000d920 bl 0x1c208                                            |     r0 = fcn_0001c208 (r0);
    0x0000d924 subs.w r8, r0, 0                                      |     r8 = r0 - 0;
                                                                     |     if (r8 < r0) {
    0x0000d928 blt.w 0xdc54                                          |         goto label_79;
                                                                     |     }
    0x0000d92c ldr r3, [sp, 0x28]                                    |     r3 = var_28h;
    0x0000d92e ldr r3, [r3]                                          |     r3 = *(r3);
    0x0000d930 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000d932 bne 0xda04                                            |         goto label_100;
                                                                     |     }
                                                                     | label_21:
    0x0000d934 mov r0, sl                                            |     r0 = sl;
    0x0000d936 blx 0x5f84                                            |     version ();
    0x0000d93a mov r0, r7                                            |     r0 = r7;
    0x0000d93c blx 0x5b04                                            |     sd_bus_message_read ();
    0x0000d940 b 0xd85c                                              |     goto label_18;
                                                                     | label_54:
    0x0000d942 mov r8, r0                                            |     r8 = r0;
    0x0000d944 mov r7, sl                                            |     r7 = sl;
    0x0000d946 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d94a cmp r0, 2                                             |     
    0x0000d94c ldr.w sl, [sp, 0x18]                                  |     sl = var_18h;
                                                                     |     if (r0 <= 2) {
    0x0000d950 ble.w 0xd610                                          |         goto label_19;
                                                                     |     }
    0x0000d954 ldr.w r3, [pc, 0x42c]                                 |     
    0x0000d958 mov r1, r8                                            |     r1 = r8;
    0x0000d95a ldr.w r2, [pc, 0x42c]                                 |     
    0x0000d95e movs r0, 3                                            |     r0 = 3;
    0x0000d960 add r3, pc                                            |     r3 = 0x1b6e8;
    0x0000d962 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000d964 add r2, pc                                            |     r2 = 0x1b6f2;
    0x0000d966 ldr.w r3, [pc, 0x424]                                 |     
    0x0000d96a adds r2, 7                                            |     r2 += 7;
    0x0000d96c add r3, pc                                            |     r3 = 0x1b6fe;
    0x0000d96e str r3, [sp]                                          |     *(sp) = r3;
    0x0000d970 movs r3, 0x62                                         |     r3 = 0x62;
    0x0000d972 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000d976 mov r8, r0                                            |     r8 = r0;
    0x0000d978 b 0xd61c                                              |     goto label_20;
                                                                     | label_97:
    0x0000d97a ldr.w r2, [pc, 0x414]                                 |     
    0x0000d97e ldr.w fp, [pc, 0x414]                                 |     
    0x0000d982 add r2, pc                                            |     r2 = 0x1b718;
    0x0000d984 add fp, pc                                            |     fp = 0x1b71e;
    0x0000d986 b 0xd674                                              |     goto label_11;
                                                                     | label_98:
    0x0000d988 ldr.w r2, [pc, 0x40c]                                 |     
    0x0000d98c ldr.w fp, [pc, 0x40c]                                 |     
    0x0000d990 add r2, pc                                            |     r2 = 0x1b72c;
    0x0000d992 add fp, pc                                            |     fp = 0x1b732;
    0x0000d994 b 0xd674                                              |     goto label_11;
                                                                     | label_93:
    0x0000d996 ldr.w r8, [pc, 0x408]                                 |     
    0x0000d99a add r8, pc                                            |     r8 = 0x1b740;
    0x0000d99c b 0xd73e                                              |     goto label_15;
                                                                     | label_64:
    0x0000d99e blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000d9a2 cmp r0, 2                                             |     
                                                                     |     if (r0 > 2) {
    0x0000d9a4 bgt.w 0xdb92                                          |         goto label_101;
                                                                     |     }
                                                                     | label_27:
    0x0000d9a8 rsb.w r8, sb, 0                                       |     r8 = sb - ;
    0x0000d9ac uxtb.w r8, r8                                         |     r8 = (int8_t) r8;
    0x0000d9b0 rsb.w r8, r8, 0                                       |     r8 -= ;
                                                                     | label_28:
    0x0000d9b4 ldr r0, [sp, 0x44]                                    |     r0 = var_44h;
    0x0000d9b6 cmp.w r8, 0                                           |     
    0x0000d9ba it ge                                                 |     
                                                                     |     if (r8 < 0) {
    0x0000d9bc mvnge r8, 0x55                                        |         r8 = ~0x55;
                                                                     |     }
    0x0000d9be lsrs r5, r2, 1                                        |     r5 = r2 >> 1;
    0x0000d9c0 add.w sl, sp, 0x48                                    |     sl += var_48h;
    0x0000d9c4 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d9c6 beq.w 0xd534                                          |         goto label_12;
                                                                     |     }
    0x0000d9ca blx 0x5dec                                            |     unit_file_state_to_string ();
    0x0000d9ce b 0xd534                                              |     goto label_12;
                                                                     | label_78:
    0x0000d9d0 ldr r3, [pc, 0x3d0]                                   |     
    0x0000d9d2 mov r1, r8                                            |     r1 = r8;
    0x0000d9d4 ldr r2, [pc, 0x3d0]                                   |     
    0x0000d9d6 movs r0, 3                                            |     r0 = 3;
    0x0000d9d8 add r3, pc                                            |     r3 = 0x1b780;
    0x0000d9da str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000d9dc add r2, pc                                            |     r2 = 0x1b788;
    0x0000d9de ldr r3, [pc, 0x3cc]                                   |     
    0x0000d9e0 adds r2, 7                                            |     r2 += 7;
    0x0000d9e2 add r3, pc                                            |     r3 = 0x1b794;
    0x0000d9e4 str r3, [sp]                                          |     *(sp) = r3;
    0x0000d9e6 movs r3, 0x7b                                         |     r3 = 0x7b;
    0x0000d9e8 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000d9ec mov r8, r0                                            |     r8 = r0;
    0x0000d9ee b 0xd61c                                              |     goto label_20;
                                                                     | label_47:
    0x0000d9f0 ldr r1, [pc, 0x3bc]                                   |     
    0x0000d9f2 movs r2, 0x2e                                         |     r2 = 0x2e;
    0x0000d9f4 ldr r3, [pc, 0x3bc]                                   |     
    0x0000d9f6 ldr r0, [pc, 0x3c0]                                   |     
    0x0000d9f8 add r1, pc                                            |     r1 = 0x1b7ac;
    0x0000d9fa add r3, pc                                            |     r3 = 0x1b7b2;
    0x0000d9fc adds r1, 7                                            |     r1 += 7;
    0x0000d9fe add r0, pc                                            |     r0 = 0x1b7bc;
    0x0000da00 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_100:
    0x0000da04 ldr r1, [pc, 0x3b4]                                   |     
    0x0000da06 mov r2, fp                                            |     r2 = fp;
    0x0000da08 movs r0, 1                                            |     r0 = 1;
    0x0000da0a add r1, pc                                            |     r1 = 0x1b7ca;
    0x0000da0c blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000da10 b 0xd934                                              |     goto label_21;
                                                                     | label_66:
    0x0000da12 ldr r1, [pc, 0x3ac]                                   |     
    0x0000da14 mov r0, sl                                            |     r0 = sl;
    0x0000da16 add r1, pc                                            |     r1 = 0x1b7dc;
    0x0000da18 blx 0x6288                                            |     r0 = fcn_00006288 ();
                                                                     |     if (r0 != 0) {
    0x0000da1c cbz r0, 0xda64                                        |         
    0x0000da1e blx 0x5934                                            |         r0 = fcn_00005934 ();
    0x0000da22 cmp r0, 6                                             |         
                                                                     |         if (r0 > 6) {
    0x0000da24 bgt.w 0xdc02                                          |             goto label_102;
                                                                     |         }
    0x0000da26 strh r5, [r5, 6]                                      |         *((r5 + 6)) = r5;
                                                                     | label_34:
    0x0000da28 ldr r0, [sp, 0x3c]                                    |         r0 = var_3ch;
    0x0000da2a blx 0x582c                                            |         fcn_0000582c ();
    0x0000da2e str r0, [sp, 0x3c]                                    |         var_3ch = r0;
    0x0000da30 mov r0, sl                                            |         r0 = sl;
    0x0000da32 blx 0x6024                                            |         fcn_00006024 ();
    0x0000da36 ldr r3, [pc, 0x38c]                                   |         
    0x0000da38 mov r2, r8                                            |         r2 = r8;
    0x0000da3a ldr r0, [sp, 0x40]                                    |         r0 = var_40h;
    0x0000da3c mov r1, r7                                            |         r1 = r7;
    0x0000da3e add r3, pc                                            |         r3 = 0x1b808;
    0x0000da40 blx 0x65d8                                            |         r0 = null_or_empty_path ();
    0x0000da44 subs.w r8, r0, 0                                      |         r8 = r0 - 0;
                                                                     |         if (r8 < r0) {
    0x0000da48 blt.w 0xdbd8                                          |             goto label_103;
                                                                     |         }
    0x0000da4c ldrd r1, r0, [sp, 0x3c]                               |         __asm ("ldrd r1, r0, [var_40h]");
    0x0000da50 movs r2, 0                                            |         r2 = 0;
    0x0000da52 movs r3, 0                                            |         r3 = 0;
    0x0000da54 strd sl, sb, [sp]                                     |         __asm ("strd sl, sb, [sp]");
    0x0000da58 blx 0x6030                                            |         r0 = fcn_00006030 ();
    0x0000da5c subs.w fp, r0, 0                                      |         
                                                                     |         if (fp >= r0) {
    0x0000da60 bge.w 0xdc86                                          |             goto label_104;
                                                                     |         }
                                                                     |     }
    0x0000da64 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000da68 cmp r0, 2                                             |     
    0x0000da6a ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000da6c rsble r8, fp, 0                                       |         __asm ("rsble r8, fp, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000da70 uxtble r8, r8                                         |         __asm ("uxtble r8, r8");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000da74 rsb.w r8, r8, 0                                       |         r8 -= ;
                                                                     |         goto label_105;
                                                                     |     }
                                                                     |     if (r0 <= 2) {
                                                                     | label_105:
    0x0000da78 ble.w 0xd7ac                                          |         goto label_22;
                                                                     |     }
    0x0000da7c mov r1, fp                                            |     r1 = fp;
    0x0000da7e mov r0, sl                                            |     r0 = sl;
    0x0000da80 blx 0x566c                                            |     bus_error_message ();
    0x0000da82 invalid                                               |     
    0x0000da86 mov r1, fp                                            |     r1 = fp;
    0x0000da88 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000da8a ldr r3, [pc, 0x340]                                   |     
    0x0000da8c ldr r0, [pc, 0x340]                                   |     
    0x0000da8e add r2, pc                                            |     r2 += pc;
    0x0000da90 adds r2, 7                                            |     r2 += 7;
    0x0000da92 add r3, pc                                            |     r3 = 0x1b864;
    0x0000da94 add r0, pc                                            |     r0 = 0x1b868;
    0x0000da96 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000da98 str r0, [sp]                                          |     *(sp) = r0;
    0x0000da9a movs r3, 0xe4                                         |     r3 = 0xe4;
    0x0000da9c movs r0, 3                                            |     r0 = 3;
    0x0000da9e blx 0x61a4                                            |     fcn_000061a4 ();
    0x0000daa0 invalid                                               |     
    0x0000daa4 b 0xd7ac                                              |     goto label_22;
                                                                     | label_62:
    0x0000daa6 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000daaa cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000daac ble.w 0xd516                                          |         goto label_23;
                                                                     |     }
    0x0000dab0 ldr r2, [pc, 0x320]                                   |     
    0x0000dab2 movs r3, 0xc3                                         |     r3 = 0xc3;
    0x0000dab4 ldr r4, [pc, 0x320]                                   |     
    0x0000dab6 ldr r0, [pc, 0x324]                                   |     
    0x0000dab8 add r2, pc                                            |     r2 = 0x1b890;
    0x0000daba add r4, pc                                            |     r4 = 0x1b896;
    0x0000dabc add r0, pc                                            |     r0 = 0x1b89e;
                                                                     | label_33:
    0x0000dabe strd r0, r4, [sp]                                     |     __asm ("strd r0, r4, [sp]");
    0x0000dac2 mov r1, sb                                            |     r1 = sb;
    0x0000dac4 adds r2, 7                                            |     r2 += 7;
    0x0000dac6 movs r0, 3                                            |     r0 = 3;
    0x0000dac8 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000dacc mov r8, r0                                            |     r8 = r0;
    0x0000dace b 0xd522                                              |     goto label_24;
                                                                     | label_92:
    0x0000dad0 ldr r2, [pc, 0x30c]                                   |     
    0x0000dad2 movs r3, 0xbf                                         |     r3 = 0xbf;
    0x0000dad4 ldr r4, [pc, 0x30c]                                   |     
    0x0000dad6 mov r1, sb                                            |     r1 = sb;
    0x0000dad8 ldr r0, [pc, 0x30c]                                   |     
    0x0000dada add r2, pc                                            |     r2 = 0x1b8be;
    0x0000dadc add r4, pc                                            |     r4 = 0x1b8c4;
    0x0000dade adds r2, 7                                            |     r2 += 7;
    0x0000dae0 add r0, pc                                            |     r0 = 0x1b8cc;
    0x0000dae2 strd r0, r4, [sp]                                     |     __asm ("strd r0, r4, [sp]");
    0x0000dae6 movs r0, 3                                            |     r0 = 3;
    0x0000dae8 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000daec mov r8, r0                                            |     r8 = r0;
    0x0000daee b 0xd7a8                                              |     goto label_25;
                                                                     | label_99:
    0x0000daf0 ldr r2, [pc, 0x2f8]                                   |     
    0x0000daf2 mov r1, r8                                            |     r1 = r8;
    0x0000daf4 ldr r4, [pc, 0x2f8]                                   |     
    0x0000daf6 movs r3, 0x9d                                         |     r3 = 0x9d;
    0x0000daf8 ldr r0, [pc, 0x2f8]                                   |     
    0x0000dafa add r2, pc                                            |     r2 = 0x1b8ea;
    0x0000dafc add r4, pc                                            |     r4 = 0x1b8f0;
    0x0000dafe adds r2, 7                                            |     r2 += 7;
    0x0000db00 add r0, pc                                            |     r0 = 0x1b8f8;
    0x0000db02 strd r0, r4, [sp]                                     |     __asm ("strd r0, r4, [sp]");
    0x0000db06 movs r0, 3                                            |     r0 = 3;
    0x0000db08 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000db0c mov r8, r0                                            |     r8 = r0;
    0x0000db0e b 0xd8da                                              |     goto label_26;
                                                                     | label_46:
    0x0000db10 ldr r1, [pc, 0x2e4]                                   |     
    0x0000db12 movs r2, 0xb0                                         |     r2 = 0xb0;
    0x0000db14 ldr r3, [pc, 0x2e4]                                   |     
    0x0000db16 ldr r0, [pc, 0x2e8]                                   |     
    0x0000db18 add r1, pc                                            |     r1 = 0x1b914;
    0x0000db1a add r3, pc                                            |     r3 = 0x1b91a;
    0x0000db1c adds r1, 7                                            |     r1 += 7;
    0x0000db1e add r0, pc                                            |     r0 = 0x1b924;
    0x0000db20 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_65:
    0x0000db24 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000db28 cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000db2a ble.w 0xd9a8                                          |         goto label_27;
                                                                     |     }
    0x0000db2e ldr r2, [pc, 0x2d4]                                   |     
    0x0000db30 movs r3, 0xce                                         |     r3 = 0xce;
    0x0000db32 ldr r4, [pc, 0x2d4]                                   |     
    0x0000db34 ldr r0, [pc, 0x2d4]                                   |     
    0x0000db36 add r2, pc                                            |     r2 = 0x1b940;
    0x0000db38 add r4, pc                                            |     r4 = 0x1b946;
    0x0000db3a add r0, pc                                            |     r0 = 0x1b94a;
                                                                     | label_30:
    0x0000db3c strd r0, r4, [sp]                                     |     __asm ("strd r0, r4, [sp]");
    0x0000db40 mov r1, sb                                            |     r1 = sb;
    0x0000db42 adds r2, 7                                            |     r2 += 7;
    0x0000db44 movs r0, 3                                            |     r0 = 3;
    0x0000db46 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000db4a mov r8, r0                                            |     r8 = r0;
    0x0000db4c b 0xd9b4                                              |     goto label_28;
                                                                     | label_68:
    0x0000db4e ldr r1, [pc, 0x2c0]                                   |     
    0x0000db50 movs r2, 0xed                                         |     r2 = 0xed;
    0x0000db52 ldr r3, [pc, 0x2c0]                                   |     
    0x0000db54 movs r0, 3                                            |     r0 = 3;
    0x0000db56 ldr.w sl, [sp, 0x24]                                  |     sl = var_24h;
    0x0000db5a add r1, pc                                            |     r1 = 0x1b970;
    0x0000db5c add r3, pc                                            |     r3 = 0x1b976;
    0x0000db5e adds r1, 7                                            |     r1 += 7;
    0x0000db60 blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000db64 mov r8, r0                                            |     r8 = r0;
    0x0000db66 b 0xd534                                              |     goto label_12;
                                                                     | label_67:
    0x0000db68 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000db6c cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000db6e ble.w 0xd4e4                                          |         goto label_29;
                                                                     |     }
    0x0000db70 add r4, sp, 0x2e4                                     |     r4 = sp + 0x2e4;
    0x0000db72 ldr r2, [pc, 0x2a4]                                   |     
    0x0000db74 mov r1, r8                                            |     r1 = r8;
    0x0000db76 ldr r0, [pc, 0x2a4]                                   |     
    0x0000db78 ldr r3, [pc, 0x2a4]                                   |     
    0x0000db7a add r2, pc                                            |     r2 = 0x1b998;
    0x0000db7c add r0, pc                                            |     r0 = 0x1b99e;
    0x0000db7e adds r2, 7                                            |     r2 += 7;
    0x0000db80 add r3, pc                                            |     r3 = 0x1b9a4;
    0x0000db82 strd r3, r0, [sp]                                     |     __asm ("strd r3, r0, [sp]");
    0x0000db86 movs r3, 0xe8                                         |     r3 = 0xe8;
    0x0000db88 movs r0, 3                                            |     r0 = 3;
    0x0000db8a blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000db8e mov r8, r0                                            |     r8 = r0;
    0x0000db90 b 0xd7ac                                              |     goto label_22;
                                                                     | label_101:
    0x0000db92 ldr r2, [pc, 0x290]                                   |     
    0x0000db94 movs r3, 0xca                                         |     r3 = 0xca;
    0x0000db96 ldr r4, [pc, 0x290]                                   |     
    0x0000db98 ldr r0, [pc, 0x290]                                   |     
    0x0000db9a add r2, pc                                            |     r2 = 0x1b9c4;
    0x0000db9c add r4, pc                                            |     r4 = 0x1b9ca;
    0x0000db9e add r0, pc                                            |     r0 = 0x1b9ce;
    0x0000dba0 b 0xdb3c                                              |     goto label_30;
                                                                     | label_96:
    0x0000dba2 mov r0, r4                                            |     r0 = r4;
    0x0000dba4 b 0xd882                                              |     goto label_31;
                                                                     | label_69:
    0x0000dba6 ldr r0, [sp, 0x30]                                    |     r0 = var_30h;
    0x0000dba8 blx 0x5d98                                            |     r0 = execv ();
    0x0000dbac subs.w r8, r0, 0                                      |     r8 = r0 - 0;
                                                                     |     if (r8 < r0) {
    0x0000dbb0 blt 0xdc2a                                            |         goto label_106;
                                                                     |     }
    0x0000dbb2 mov r0, sl                                            |     r0 = sl;
    0x0000dbb4 blx 0x6024                                            |     fcn_00006024 ();
    0x0000dbb8 ldr r0, [sp, 0x3c]                                    |     r0 = var_3ch;
    0x0000dbba cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000dbbc beq.w 0xd23c                                          |         goto label_32;
                                                                     |     }
    0x0000dbc0 blx 0x582c                                            |     fcn_0000582c ();
    0x0000dbc4 b.w 0xd23c                                            |     goto label_32;
                                                                     | label_71:
    0x0000dbc8 ldr r2, [pc, 0x264]                                   |     
    0x0000dbca movs r3, 0xd2                                         |     r3 = 0xd2;
    0x0000dbcc ldr r4, [pc, 0x264]                                   |     
    0x0000dbce ldr r0, [pc, 0x268]                                   |     
    0x0000dbd0 add r2, pc                                            |     r2 = 0x1ba04;
    0x0000dbd2 add r4, pc                                            |     r4 = 0x1ba0a;
    0x0000dbd4 add r0, pc                                            |     r0 = 0x1ba12;
    0x0000dbd6 b 0xdabe                                              |     goto label_33;
                                                                     | label_103:
    0x0000dbd8 blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000dbdc cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000dbde ble.w 0xd4e4                                          |         goto label_29;
                                                                     |     }
    0x0000dbe2 ldr r2, [pc, 0x258]                                   |     
    0x0000dbe4 mov r1, r8                                            |     r1 = r8;
    0x0000dbe6 ldr r0, [pc, 0x258]                                   |     
    0x0000dbe8 ldr r3, [pc, 0x258]                                   |     
    0x0000dbea add r2, pc                                            |     r2 = 0x1ba2c;
    0x0000dbec add r0, pc                                            |     r0 = 0x1ba32;
    0x0000dbee adds r2, 7                                            |     r2 += 7;
    0x0000dbf0 add r3, pc                                            |     r3 = 0x1ba38;
    0x0000dbf2 strd r3, r0, [sp]                                     |     __asm ("strd r3, r0, [sp]");
    0x0000dbf6 movs r3, 0xdf                                         |     r3 = 0xdf;
    0x0000dbf8 movs r0, 3                                            |     r0 = 3;
    0x0000dbfa blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000dbfe mov r8, r0                                            |     r8 = r0;
    0x0000dc00 b 0xd7ac                                              |     goto label_22;
                                                                     | label_102:
    0x0000dc02 mov r1, fp                                            |     r1 = fp;
    0x0000dc04 mov r0, sl                                            |     r0 = sl;
    0x0000dc06 blx 0x566c                                            |     bus_error_message ();
    0x0000dc0a ldr r3, [pc, 0x23c]                                   |     
    0x0000dc0c mov r1, fp                                            |     r1 = fp;
    0x0000dc0e ldr r2, [pc, 0x23c]                                   |     
    0x0000dc10 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000dc12 movs r0, 7                                            |     r0 = 7;
    0x0000dc14 add r3, pc                                            |     r3 = 0x1ba62;
    0x0000dc16 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000dc18 add r2, pc                                            |     r2 = 0x1ba6a;
    0x0000dc1a ldr r3, [pc, 0x234]                                   |     
    0x0000dc1c adds r2, 7                                            |     r2 += 7;
    0x0000dc1e add r3, pc                                            |     r3 = 0x1ba74;
    0x0000dc20 str r3, [sp]                                          |     *(sp) = r3;
    0x0000dc22 movs r3, 0xd9                                         |     r3 = 0xd9;
    0x0000dc24 blx 0x61a4                                            |     fcn_000061a4 ();
    0x0000dc28 b 0xda28                                              |     goto label_34;
                                                                     | label_106:
    0x0000dc2a blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000dc2e cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000dc30 ble.w 0xd4e4                                          |         goto label_29;
                                                                     |     }
    0x0000dc34 ldr r2, [pc, 0x21c]                                   |     
    0x0000dc36 mov r1, r8                                            |     r1 = r8;
    0x0000dc38 ldr r0, [pc, 0x21c]                                   |     
    0x0000dc3a ldr r3, [pc, 0x220]                                   |     
    0x0000dc3c add r2, pc                                            |     r2 = 0x1ba94;
    0x0000dc3e add r0, pc                                            |     r0 = 0x1ba9a;
    0x0000dc40 adds r2, 7                                            |     r2 += 7;
    0x0000dc42 add r3, pc                                            |     r3 = 0x1baa4;
    0x0000dc44 strd r3, r0, [sp]                                     |     __asm ("strd r3, r0, [sp]");
    0x0000dc48 movs r3, 0xff                                         |     r3 = 0xff;
    0x0000dc4a movs r0, 3                                            |     r0 = 3;
    0x0000dc4c blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000dc50 mov r8, r0                                            |     r8 = r0;
    0x0000dc52 b 0xd7ac                                              |     goto label_22;
                                                                     | label_79:
    0x0000dc54 mov r0, sl                                            |     r0 = sl;
    0x0000dc56 blx 0x5f84                                            |     version ();
    0x0000dc58 invalid                                               |     
    0x0000dc5c blx 0x5b04                                            |     sd_bus_message_read ();
    0x0000dc60 b 0xd542                                              |     goto label_5;
                                                                     | label_70:
    0x0000dc62 ldr r2, [pc, 0x1fc]                                   |     
    0x0000dc64 mov r1, r8                                            |     r1 = r8;
    0x0000dc66 ldr r0, [pc, 0x1fc]                                   |     
    0x0000dc68 ldr r3, [pc, 0x1fc]                                   |     
    0x0000dc6a add r2, pc                                            |     r2 = 0x1bad0;
    0x0000dc6c add r0, pc                                            |     r0 = 0x1bad6;
    0x0000dc6e adds r2, 7                                            |     r2 += 7;
    0x0000dc70 add r3, pc                                            |     r3 = 0x1badc;
    0x0000dc72 strd r3, r0, [sp]                                     |     __asm ("strd r3, r0, [sp]");
    0x0000dc76 movs r3, 0xfb                                         |     r3 = 0xfb;
    0x0000dc78 movs r0, 3                                            |     r0 = 3;
    0x0000dc7a blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000dc7e mov r8, r0                                            |     r8 = r0;
    0x0000dc80 b 0xd7ac                                              |     goto label_22;
                                                                     | label_73:
    0x0000dc82 blx 0x6114                                            |     fcn_00006114 ();
                                                                     | label_104:
    0x0000dc86 movs r4, 1                                            |     r4 = 1;
    0x0000dc88 b.w 0xd440                                            |     goto label_35;
                                                                     | label_86:
    0x0000dc8c ldr r2, [pc, 0x1dc]                                   |     
    0x0000dc8e add r2, pc                                            |     r2 = 0x1bafe;
    0x0000dc90 b 0xd674                                              |     goto label_11;
                                                                     | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0xf414 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000f414 ()                                          | void fcn_0000f414 (int16_t arg_0h, int16_t arg1, int16_t arg2) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     int16_t var_ch;
                                                                     |     int16_t var_10h;
                                                                     |     int16_t var_20h;
                                                                     |     int16_t var_30h;
                                                                     |     int16_t var_34h;
                                                                     |     int32_t var_38h;
                                                                     |     int32_t var_38h_2;
                                                                     |     int16_t var_40h;
                                                                     |     int16_t var_4ch;
                                                                     |     size_t nmemb;
                                                                     |     int16_t var_54h;
                                                                     |     int16_t var_58h;
                                                                     |     int16_t var_5ch;
                                                                     |     int16_t var_60h;
                                                                     |     int16_t var_64h;
                                                                     |     int16_t var_6ch;
                                                                     |     int16_t var_70h;
                                                                     |     int16_t var_74h;
                                                                     |     int16_t var_78h;
                                                                     |     int16_t var_7ch;
                                                                     |     int16_t var_80h;
                                                                     |     int16_t var_84h;
                                                                     |     int16_t var_88h;
                                                                     |     int32_t var_88h_2;
                                                                     |     int16_t var_94h;
                                                                     |     int32_t var_94h_2;
                                                                     |     int16_t var_9ch;
                                                                     |     int16_t var_a0h;
                                                                     |     int16_t var_b0h;
                                                                     |     int32_t var_0h_2;
                                                                     |     int32_t var_8h_2;
                                                                     |     int32_t var_8h_3;
                                                                     |     int16_t var_c0h;
                                                                     |     int32_t var_c0h_2;
                                                                     |     int16_t var_c8h;
                                                                     |     int16_t var_d4h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0000f414 push {r3, r4, r5, lr}                                 |     
                                                                     |     if (r0 != 0) {
    0x0000f416 cbz r0, 0xf46c                                        |         
                                                                     |         if (r1 == 0) {
    0x0000f418 cbz r1, 0xf482                                        |             goto label_13;
                                                                     |         }
    0x0000f41a mov r2, r0                                            |         r2 = r0;
    0x0000f41c ldrd r3, r4, [r1, 8]                                  |         __asm ("ldrd r3, r4, [r1, 8]");
    0x0000f420 ldrd r0, r1, [r1]                                     |         __asm ("ldrd r0, r1, [r1]");
    0x0000f424 adds.w lr, r3, -1                                     |         lr = r3 + -1;
    0x0000f428 adc ip, r4, -1                                        |         __asm ("adc ip, r4, -1");
    0x0000f42c cmn.w lr, 2                                           |         
    0x0000f430 adcs ip, ip, 0                                        |         __asm ("adcs ip, ip, 0");
                                                                     |         if (lr < 2) {
    0x0000f434 bhs 0xf464                                            |             
    0x0000f436 ldr r5, [r2]                                          |             r5 = *(r2);
    0x0000f438 adds r3, r3, r5                                       |             r3 += r5;
    0x0000f43a ldr r5, [r2, 4]                                       |             r5 = *((r2 + 4));
    0x0000f43c adc.w r4, r4, r5                                      |             __asm ("adc.w r4, r4, r5");
    0x0000f440 ldr r5, [r2, 8]                                       |             r5 = *((r2 + 8));
    0x0000f442 ldr r2, [r2, 0xc]                                     |             r2 = *((r2 + 0xc));
    0x0000f444 subs r3, r3, r5                                       |             r3 -= r5;
    0x0000f446 sbc.w r4, r4, r2                                      |             __asm ("sbc.w r4, r4, r2");
    0x0000f44a adds.w ip, r0, -1                                     |             
    0x0000f44e adc r2, r1, -1                                        |             __asm ("adc r2, r1, -1");
    0x0000f452 cmn.w ip, 2                                           |             
    0x0000f456 sbcs r2, r2, -1                                       |             __asm ("sbcs r2, r2, -1");
                                                                     |             if (ip >= 2) {
    0x0000f45a bhs 0xf466                                            |                 goto label_14;
                                                                     |             }
    0x0000f45c cmp r3, r0                                            |             
    0x0000f45e sbcs.w r2, r4, r1                                     |             __asm ("sbcs.w r2, r4, r1");
                                                                     |             if (r3 <= r0) {
    0x0000f462 blo 0xf466                                            |                 goto label_14;
                                                                     |             }
                                                                     |         }
    0x0000f464 pop {r3, r4, r5, pc}                                  |         
                                                                     | label_14:
    0x0000f466 mov r0, r3                                            |         r0 = r3;
    0x0000f468 mov r1, r4                                            |         r1 = r4;
    0x0000f46a pop {r3, r4, r5, pc}                                  |         
                                                                     |     }
    0x0000f46c ldr r1, [pc, 0x28]                                    |     
    0x0000f46e movw r2, 0x29d                                        |     r2 = 0x29d;
    0x0000f472 ldr r3, [pc, 0x28]                                    |     
    0x0000f474 ldr r0, [pc, 0x28]                                    |     
    0x0000f476 add r1, pc                                            |     r1 = 0x1e912;
    0x0000f478 add r3, pc                                            |     r3 = 0x1e91a;
    0x0000f47a adds r1, 7                                            |     r1 += 7;
    0x0000f47c add r0, pc                                            |     r0 = 0x1e920;
    0x0000f47e blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_13:
    0x0000f482 ldr r1, [pc, 0x20]                                    |     
    0x0000f484 movw r2, 0x29e                                        |     
    0x0000f488 ldr r3, [pc, 0x1c]                                    |     
    0x0000f48a ldr r0, [pc, 0x20]                                    |     
    0x0000f48c add r1, pc                                            |     r1 = 0x1e936;
    0x0000f48e add r3, pc                                            |     r3 = 0x1e93a;
    0x0000f490 adds r1, 7                                            |     r1 += 7;
    0x0000f492 add r0, pc                                            |     r0 = 0x1e944;
    0x0000f494 blx 0x5e40                                            |     unit_file_get_default ();
    0x0000f498 adds r6, r7, r5                                       |     r6 = r7 + r5;
    0x0000f49a movs r1, r0                                           |     r1 = r0;
    0x0000f49c subs r0, r7, 6                                        |     r0 = r7 - 6;
    0x0000f49e movs r1, r0                                           |     r1 = r0;
    0x0000f4a0 adds r0, r5, 6                                        |     r0 = r5 + 6;
    0x0000f4a2 movs r1, r0                                           |     r1 = r0;
    0x0000f4a4 adds r0, r5, r5                                       |     r0 = r5 + r5;
    0x0000f4a6 movs r1, r0                                           |     r1 = r0;
    0x0000f4a8 subs r2, r4, 6                                        |     r2 = r4 - 6;
    0x0000f4aa movs r1, r0                                           |     r1 = r0;
    0x0000f4ac adds r6, r2, 6                                        |     r6 = r2 + 6;
    0x0000f4ae movs r1, r0                                           |     r1 = r0;
    0x0000f4b0 ldr.w r2, [pc, 0x6ec]                                 |     r2 = *(0x0000fba0);
    0x0000f4b4 ldr.w r3, [pc, 0x6ec]                                 |     r3 = *(0xfba4);
    0x0000f4b8 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000f4bc movs r5, 0                                            |     r5 = 0;
    0x0000f4be add r2, pc                                            |     r2 = 0xf760;
    0x0000f4c0 vpush {d8}                                            |     __asm ("vpush {d8}");
    0x0000f4c4 sub sp, 0xdc                                          |     
    0x0000f4c6 mov r7, r0                                            |     r7 = r0;
    0x0000f4c8 ldr r3, [r2, r3]                                      |     
    0x0000f4ca mov r6, r1                                            |     r6 = r1;
    0x0000f4cc ldr.w fp, [pc, 0x6d8]                                 |     fp = *(0x0000fba8);
    0x0000f4d0 movs r0, 1                                            |     r0 = 1;
    0x0000f4d2 add r1, sp, 0x80                                      |     r1 += var_80h;
    0x0000f4d4 ldr r3, [r3]                                          |     r3 = *(0xf760);
    0x0000f4d6 str r3, [sp, 0xd4]                                    |     var_d4h = r3;
    0x0000f4d8 mov.w r3, 0                                           |     r3 = 0;
    0x0000f4dc strd r5, r5, [sp, 0x6c]                               |     __asm ("strd r5, r5, [var_6ch]");
    0x0000f4e0 strd r5, r5, [sp, 0x74]                               |     __asm ("strd r5, r5, [var_78h]");
    0x0000f4e4 add fp, pc                                            |     
    0x0000f4e6 str r5, [sp, 0x7c]                                    |     var_7ch = r5;
    0x0000f4e8 bl 0x1a334                                            |     r0 = fcn_0001a334 (r0, r1);
    0x0000f4ec subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000f4ee blt.w 0xf724                                          |         goto label_15;
                                                                     |     }
    0x0000f4f2 ldr.w r3, [pc, 0x6b8]                                 |     r3 = *(0xfbae);
    0x0000f4f6 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000f4f8 adds r0, 3                                            |     r0 += 3;
    0x0000f4fa ldr r0, [r3]                                          |     r0 = *(0xfbae);
    0x0000f4fc blx 0x5e70                                            |     get_color_mode ();
    0x0000f500 movs r1, 1                                            |     r1 = 1;
    0x0000f502 mov r0, r6                                            |     r0 = r6;
    0x0000f504 ldr r4, [sp, 0x80]                                    |     r4 = var_80h;
    0x0000f506 blx 0x5ad4                                            |     sd_bus_message_get_bus ();
    0x0000f50a ldr.w r2, [pc, 0x6a4]                                 |     
    0x0000f50e mov r1, r0                                            |     r1 = r0;
    0x0000f510 add r3, sp, 0x74                                      |     r3 += var_74h;
    0x0000f512 mov r0, r4                                            |     r0 = r4;
    0x0000f514 str r5, [sp]                                          |     *(sp) = r5;
    0x0000f516 add r2, pc                                            |     r2 = 0x1f0cc;
    0x0000f518 bl 0x1ba10                                            |     r0 = fcn_0001ba10 (r0, r1, r2, r3, r4, r5, r6);
    0x0000f51c subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000f51e blt.w 0xf724                                          |         goto label_15;
                                                                     |     }
    0x0000f522 cmp r7, 1                                             |     
    0x0000f524 ldr r1, [sp, 0x74]                                    |     r1 = var_74h;
                                                                     |     if (r7 != 1) {
    0x0000f526 beq 0xf52e                                            |         
    0x0000f528 cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x0000f52a beq.w 0xf7ae                                          |             goto label_16;
                                                                     |         }
                                                                     |     }
    0x0000f52e add r2, sp, 0x70                                      |     r2 += var_70h;
    0x0000f530 ldr r0, [sp, 0x80]                                    |     r0 = var_80h;
    0x0000f532 str r2, [sp]                                          |     *(sp) = r2;
    0x0000f534 add r3, sp, 0x6c                                      |     r3 += var_6ch;
    0x0000f536 add r2, sp, 0x7c                                      |     r2 += var_7ch;
    0x0000f538 bl 0xe018                                             |     r0 = fcn_0000e018 (r0, r1, r2, r3, r4);
    0x0000f53c subs r5, r0, 0                                        |     r5 = r0 - 0;
                                                                     |     if (r5 < r0) {
    0x0000f53e blt.w 0xf78a                                          |         goto label_17;
                                                                     |     }
    0x0000f542 add r3, sp, 0xa0                                      |     r3 += var_a0h;
    0x0000f544 mov r0, r3                                            |     r0 = r3;
    0x0000f546 str r3, [sp, 0x58]                                    |     var_58h = r3;
    0x0000f548 blx 0x56f0                                            |     dual_timestamp_get ();
    0x0000f54c ldr.w sb, [sp, 0x7c]                                  |     sb = var_7ch;
    0x0000f550 movs r3, 0x2c                                         |     r3 = 0x2c;
    0x0000f552 mla r3, r3, r5, sb                                    |     __asm ("mla r3, r3, r5, sb");
    0x0000f556 cmp sb, r3                                            |     
    0x0000f558 str r3, [sp, 0x54]                                    |     var_54h = r3;
                                                                     |     if (sb >= r3) {
    0x0000f55a bhs.w 0xf7ae                                          |         goto label_16;
                                                                     |     }
    0x0000f55e ldr.w r3, [pc, 0x654]                                 |     
    0x0000f562 mov r7, sb                                            |     r7 = sb;
    0x0000f564 vmov.i32 d8, 0                                        |     __asm ("vmov.i32 d8, 0");
    0x0000f568 add r6, sp, 0xb0                                      |     r6 += var_b0h;
    0x0000f56a str.w sb, [sp, 0x5c]                                  |     __asm ("str.w sb, [var_5ch]");
    0x0000f56e add r3, pc                                            |     r3 = "%s: required argument missing.";
    0x0000f570 str.w fp, [sp, 0x64]                                  |     __asm ("str.w fp, [var_64h]");
    0x0000f574 adds r3, 7                                            |     r3 += 7;
    0x0000f576 str r3, [sp, 0x60]                                    |     var_60h = r3;
    0x0000f578 movs r3, 0                                            |     r3 = 0;
    0x0000f57a str r3, [sp, 0x50]                                    |     nmemb = r3;
                                                                     |     do {
    0x0000f57c ldr.w r1, [pc, 0x638]                                 |         
    0x0000f580 movs r5, 0                                            |         r5 = 0;
    0x0000f582 vstr d8, [sp, 0x88]                                   |         __asm ("vstr d8, [sp, 0x88]");
    0x0000f586 str r5, [sp, 0x84]                                    |         var_84h = r5;
    0x0000f588 strd r5, r5, [r6]                                     |         __asm ("strd r5, r5, [r6]");
    0x0000f58c add r1, pc                                            |         r1 = "Expected single character argument.";
    0x0000f58e strd r5, r5, [r6, 8]                                  |         __asm ("strd r5, r5, [var_8h_2]");
    0x0000f592 ldr r0, [r7, 4]                                       |         r0 = *((r7 + 4));
    0x0000f594 blx 0x6198                                            |         r0 = fcn_00006198 ();
    0x0000f598 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000f59a beq.w 0xf6c4                                          |             
    0x0000f59e ldr r1, [r7, 0x1c]                                    |             r1 = *((r7 + 0x1c));
    0x0000f5a0 add r2, sp, 0x84                                      |             r2 += var_84h;
    0x0000f5a2 ldr r0, [sp, 0x80]                                    |             r0 = var_80h;
    0x0000f5a4 bl 0xdf08                                             |             r0 = fcn_0000df08 (r0, r1);
    0x0000f5a8 subs r4, r0, 0                                        |             r4 = r0 - 0;
                                                                     |             if (r4 < r0) {
    0x0000f5aa blt.w 0xfb3a                                          |                 goto label_18;
                                                                     |             }
    0x0000f5ae ldr.w r8, [sp, 0x80]                                  |             r8 = var_80h;
    0x0000f5b2 ldr r2, [r7, 0x1c]                                    |             r2 = *((r7 + 0x1c));
    0x0000f5b4 strd r5, r5, [sp, 0x94]                               |             __asm ("strd r5, r5, [var_94h]");
    0x0000f5b8 str r5, [sp, 0x9c]                                    |             var_9ch = r5;
    0x0000f5ba cmp.w r8, 0                                           |             
                                                                     |             if (r8 == 0) {
    0x0000f5be beq.w 0xf9fa                                          |                 goto label_19;
                                                                     |             }
    0x0000f5c2 cmp r2, 0                                             |             
                                                                     |             if (r2 == 0) {
    0x0000f5c4 beq.w 0xfa10                                          |                 goto label_20;
                                                                     |             }
    0x0000f5c8 ldr.w r3, [pc, 0x5f0]                                 |             
    0x0000f5cc add.w sb, sp, 0x94                                    |             sb += var_94h;
    0x0000f5d0 ldr.w fp, [pc, 0x5ec]                                 |             
    0x0000f5d4 mov r0, r8                                            |             r0 = r8;
    0x0000f5d6 ldr.w sl, [pc, 0x5ec]                                 |             
    0x0000f5da add r4, sp, 0xc0                                      |             r4 += var_c0h;
    0x0000f5dc add r3, pc                                            |             r3 = 0x1f19c;
    0x0000f5de str.w sb, [sp, 4]                                     |             __asm ("str.w sb, [var_4h]");
    0x0000f5e0 str r0, [sp, 0x10]                                    |             *((sp + 0x10)) = r0;
    0x0000f5e2 str r3, [sp]                                          |             *(sp) = r3;
    0x0000f5e4 add r3, sp, 0xc8                                      |             r3 += var_c8h;
    0x0000f5e6 str r3, [sp, 0xc]                                     |             var_ch = r3;
    0x0000f5e8 add fp, pc                                            |             fp = 0x1f1ac;
    0x0000f5ea movs r3, 0x74                                         |             r3 = 0x74;
    0x0000f5ec add sl, pc                                            |             sl = 0x1f1b6;
    0x0000f5ee mov r1, sl                                            |             r1 = sl;
    0x0000f5f0 str r3, [sp, 8]                                       |             var_8h = r3;
    0x0000f5f2 mov r3, fp                                            |             r3 = fp;
    0x0000f5f4 str r2, [sp, 0x4c]                                    |             var_4ch = r2;
    0x0000f5f6 blx 0x57c0                                            |             r0 = fcn_000057c0 ();
    0x0000f5fa subs r1, r0, 0                                        |             r1 = r0 - 0;
    0x0000f5fc ldr r2, [sp, 0x4c]                                    |             r2 = var_4ch;
                                                                     |             if (r1 < r0) {
    0x0000f5fe blt.w 0xf91e                                          |                 goto label_21;
                                                                     |             }
    0x0000f602 movs r3, 0x74                                         |             r3 = 0x74;
    0x0000f604 mov r0, r8                                            |             r0 = r8;
    0x0000f606 strd sb, r3, [sp, 4]                                  |             __asm ("strd sb, r3, [var_4h]");
    0x0000f60a mov r1, sl                                            |             r1 = sl;
    0x0000f60c ldr.w r3, [pc, 0x5b8]                                 |             
    0x0000f610 str r4, [sp, 0xc]                                     |             var_ch = r4;
    0x0000f612 add r3, pc                                            |             r3 = 0x1f1de;
    0x0000f614 str r3, [sp]                                          |             *(sp) = r3;
    0x0000f616 mov r3, fp                                            |             r3 = fp;
    0x0000f618 blx 0x57c0                                            |             r0 = fcn_000057c0 ();
    0x0000f61c subs.w r8, r0, 0                                      |             r8 = r0 - 0;
                                                                     |             if (r8 < r0) {
    0x0000f620 blt.w 0xf98a                                          |                 goto label_22;
                                                                     |             }
    0x0000f624 ldm.w r4, {r0, r1, r2, r3}                            |             r0 = *(r4);
                                                                     |             r1 = *((r4 + 4));
                                                                     |             r2 = *((r4 + 8));
                                                                     |             r3 = *((r4 + 12));
    0x0000f628 stm.w r6, {r0, r1, r2, r3}                            |             *(r6) = r0;
                                                                     |             *((r6 + 4)) = r1;
                                                                     |             *((r6 + 8)) = r2;
                                                                     |             *((r6 + 12)) = r3;
    0x0000f62a movs r7, r1                                           |             r7 = r1;
    0x0000f62c mov r0, sb                                            |             r0 = sb;
    0x0000f62e blx 0x6024                                            |             fcn_00006024 ();
    0x0000f632 ldr r0, [sp, 0x80]                                    |             r0 = var_80h;
    0x0000f634 ldr r2, [r7, 0x1c]                                    |             r2 = *((r7 + 0x1c));
    0x0000f636 strd r5, r5, [sp, 0xc0]                               |             __asm ("strd r5, r5, [var_c0h]");
    0x0000f63a str r5, [sp, 0xc8]                                    |             var_c8h = r5;
    0x0000f63c cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000f63e beq.w 0xfa92                                          |                 goto label_23;
                                                                     |             }
    0x0000f642 cmp r2, 0                                             |             
                                                                     |             if (r2 == 0) {
    0x0000f644 beq.w 0xfad8                                          |                 goto label_24;
                                                                     |             }
    0x0000f648 ldr.w r5, [pc, 0x580]                                 |             
    0x0000f64c movs r3, 0x74                                         |             r3 = 0x74;
    0x0000f64e str r3, [sp, 8]                                       |             var_8h = r3;
    0x0000f650 mov r1, sl                                            |             r1 = sl;
    0x0000f652 mov r3, fp                                            |             r3 = fp;
    0x0000f654 str r4, [sp, 4]                                       |             var_4h = r4;
    0x0000f656 add r5, pc                                            |             r5 = 0x1f226;
    0x0000f658 str r5, [sp]                                          |             *(sp) = r5;
    0x0000f65a add r5, sp, 0x88                                      |             r5 += var_88h;
    0x0000f65c str r5, [sp, 0xc]                                     |             var_ch = r5;
    0x0000f65e blx 0x57c0                                            |             r0 = fcn_000057c0 ();
    0x0000f662 subs r5, r0, 0                                        |             r5 = r0 - 0;
                                                                     |             if (r5 < r0) {
    0x0000f664 blt.w 0xf95a                                          |                 goto label_25;
                                                                     |             }
                                                                     | label_4:
    0x0000f668 mov r0, r4                                            |             r0 = r4;
    0x0000f66a blx 0x6024                                            |             fcn_00006024 ();
    0x0000f66c vldmia ip, {d25, d26, d27, d28, d29, d30, d31}        |             __asm ("vldmia ip, {d25, d26, d27, d28, d29, d30, d31}");
    0x0000f670 movs r2, 0x20                                         |             r2 = 0x20;
    0x0000f672 add r0, sp, 0x78                                      |             r0 += var_78h;
    0x0000f674 adds r4, r3, 1                                        |             r4 = r3 + 1;
    0x0000f676 mov r1, r4                                            |             r1 = r4;
    0x0000f678 lsls r5, r3, 5                                        |             r5 = r3 << 5;
    0x0000f67a blx 0x5c98                                            |             r0 = fcn_00005c98 ();
    0x0000f67e cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000f680 beq.w 0xfb5c                                          |                 goto label_26;
                                                                     |             }
    0x0000f684 ldr r0, [sp, 0x58]                                    |             r0 = var_58h;
    0x0000f686 mov r1, r6                                            |             r1 = r6;
    0x0000f688 bl 0xf414                                             |             fcn_0000f414 (r0, r1, r2);
    0x0000f68c ldr.w r8, [r7]                                        |             r8 = *(r7);
    0x0000f690 movs r3, 0                                            |             r3 = 0;
    0x0000f692 ldr r2, [sp, 0x78]                                    |             r2 = var_78h;
    0x0000f694 ldr.w lr, [r7, 4]                                     |             
    0x0000f698 ldr.w ip, [sp, 0x84]                                  |             ip = var_84h;
    0x0000f69c ldrd sl, fp, [sp, 0x88]                               |             __asm ("ldrd sl, fp, [var_88h]");
    0x0000f6a0 str r3, [sp, 0x84]                                    |             var_84h = r3;
    0x0000f6a2 adds r3, r2, r5                                       |             r3 = r2 + r5;
    0x0000f6a4 str.w r8, [r2, r5]                                    |             __asm ("str.w r8, [r2, r5]");
    0x0000f6a8 strd r0, r1, [r3, 8]                                  |             __asm ("strd r0, r1, [r3, 8]");
    0x0000f6aa lsls r2, r0, 4                                        |             r2 = r0 << 4;
    0x0000f6ac ldr r0, [sp, 0x84]                                    |             r0 = var_84h;
    0x0000f6ae strd sl, fp, [r3, 0x10]                               |             __asm ("strd sl, fp, [r3, 0x10]");
    0x0000f6b2 str.w lr, [r3, 4]                                     |             __asm ("str.w lr, [r3, 4]");
    0x0000f6b6 str.w ip, [r3, 0x18]                                  |             __asm ("str.w ip, [r3, 0x18]");
                                                                     |             if (r0 != 0) {
    0x0000f6ba cbz r0, 0xf6c0                                        |                 
    0x0000f6bc blx 0x5dec                                            |                 unit_file_state_to_string ();
                                                                     |             }
    0x0000f6c0 str r4, [sp, 0x50]                                    |             nmemb = r4;
    0x0000f6c2 movs r4, 0                                            |             r4 = 0;
                                                                     |         }
    0x0000f6c4 ldr r3, [sp, 0x54]                                    |         r3 = var_54h;
    0x0000f6c6 adds r7, 0x2c                                         |         r7 += 0x2c;
    0x0000f6c8 cmp r7, r3                                            |         
    0x0000f6ca blo.w 0xf57c                                          |         
                                                                     |     } while (r7 <= r3);
    0x0000f6ce ldr r3, [sp, 0x50]                                    |     r3 = nmemb;
    0x0000f6d0 ldr.w fp, [sp, 0x64]                                  |     fp = var_64h;
    0x0000f6d4 ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f6d6 cmp r3, 1                                             |     
    0x0000f6d8 str r3, [sp, 0x58]                                    |     var_58h = r3;
                                                                     |     if (r3 > 1) {
    0x0000f6da ble 0xf6f2                                            |         
    0x0000f6dc cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000f6de beq.w 0xfb7e                                          |             goto label_27;
                                                                     |         }
    0x0000f6e2 ldr.w r3, [pc, 0x4ec]                                 |         r3 = *(0x0000fbd0);
    0x0000f6e6 movs r2, 0x20                                         |         r2 = 0x20;
    0x0000f6e8 ldr r1, [sp, 0x50]                                    |         r1 = nmemb;
    0x0000f6ea add r3, pc                                            |         r3 += pc;
    0x0000f6ec blx 0x5684                                            |         qsort ();
    0x0000f6f0 ldr r0, [sp, 0x78]                                    |         r0 = var_78h;
                                                                     |     }
    0x0000f6f2 ldr r2, [sp, 0x50]                                    |     r2 = nmemb;
    0x0000f6f4 clz r3, r0                                            |     r3 &= r0;
    0x0000f6f8 lsrs r3, r3, 5                                        |     r3 >>= 5;
    0x0000f6fa mov r5, r0                                            |     r5 = r0;
    0x0000f6fc cmp r2, 0                                             |     
    0x0000f6fe it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0000f700 moveq r3, 0                                           |         r3 = 0;
                                                                     |     }
    0x0000f702 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000f704 beq.w 0xfb96                                          |         goto label_28;
                                                                     |     }
    0x0000f708 ldr.w r1, [pc, 0x4c8]                                 |     
    0x0000f70c movw r2, 0x25e                                        |     r2 = 0x25e;
    0x0000f710 ldr.w r3, [pc, 0x4c4]                                 |     
    0x0000f714 ldr.w r0, [pc, 0x4c4]                                 |     
    0x0000f716 lsls r4, r0, 0x13                                     |     r4 = r0 << 0x13;
    0x0000f718 add r1, pc                                            |     r1 = 0x1f2f0;
    0x0000f71a add r3, pc                                            |     r3 = 0x1f2f6;
    0x0000f71c adds r1, 7                                            |     r1 += 7;
    0x0000f71e add r0, pc                                            |     r0 = 0x1f2fe;
    0x0000f720 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_15:
    0x0000f724 ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f726 movs r6, 0                                            |     r6 = 0;
    0x0000f728 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000f72c ldr r5, [sp, 0x74]                                    |     r5 = var_74h;
    0x0000f72e mov r7, r6                                            |     r7 = r6;
    0x0000f730 str r6, [sp, 0x78]                                    |     var_78h = r6;
                                                                     |     if (r5 == 0) {
    0x0000f732 cbz r5, 0xf74c                                        |         goto label_29;
                                                                     |     }
                                                                     | label_0:
    0x0000f734 mov r0, r5                                            |     r0 = r5;
    0x0000f736 mov r5, r6                                            |     r5 = r6;
    0x0000f738 blx 0x5dec                                            |     unit_file_state_to_string ();
    0x0000f73c str r0, [sp, 0x74]                                    |     var_74h = r0;
                                                                     |     if (r7 == 0) {
                                                                     | label_1:
    0x0000f73e cbz r7, 0xf74c                                        |         goto label_29;
                                                                     |     }
    0x0000f740 mov r0, r7                                            |     r0 = r7;
    0x0000f742 blx 0x5dec                                            |     unit_file_state_to_string ();
    0x0000f746 b 0xf74c                                              |     
                                                                     |     while (r0 != 0) {
    0x0000f748 blx 0x582c                                            |         fcn_0000582c ();
                                                                     | label_29:
    0x0000f74c movs r2, 0                                            |         r2 = 0;
    0x0000f74e movs r1, 1                                            |         r1 = 1;
    0x0000f750 mov r0, r5                                            |         r0 = r5;
    0x0000f752 blx 0x5b4c                                            |         r0 = dirname_malloc ();
    0x0000f756 mov r2, r0                                            |         r2 = r0;
    0x0000f758 cmp r0, 0                                             |         
    0x0000f75a bne 0xf748                                            |         
                                                                     |     }
    0x0000f75c mov r1, r0                                            |     r1 = r0;
    0x0000f75e mov r0, r5                                            |     r0 = r5;
    0x0000f760 blx 0x648c                                            |     fcn_0000648c ();
    0x0000f764 ldr.w r2, [pc, 0x478]                                 |     r2 = *(0x0000fbe0);
    0x0000f768 ldr.w r3, [pc, 0x438]                                 |     r3 = *(0xfba4);
    0x0000f76c add r2, pc                                            |     r2 += pc;
    0x0000f76e ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000f770 ldr r2, [r3]                                          |     r2 = *(0xfba4);
    0x0000f772 ldr r3, [sp, 0xd4]                                    |     r3 = var_d4h;
    0x0000f774 eors r2, r3                                           |     r2 ^= r3;
    0x0000f776 mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000f77a bne.w 0xfb92                                          |         goto label_30;
                                                                     |     }
    0x0000f77e mov r0, r4                                            |     r0 = r4;
    0x0000f780 add sp, 0xdc                                          |     
    0x0000f782 vpop {d8}                                             |     __asm ("vpop {d8}");
    0x0000f786 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_17:
    0x0000f78a ldr.w sb, [sp, 0x7c]                                  |     sb = var_7ch;
    0x0000f78e mov r4, r5                                            |     r4 = r5;
    0x0000f790 ldrd r6, r7, [sp, 0x6c]                               |     __asm ("ldrd r6, r7, [var_6ch]");
                                                                     | label_2:
    0x0000f794 mov r0, sb                                            |     r0 = sb;
    0x0000f796 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000f79a ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f79c blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000f7a0 ldr r5, [sp, 0x74]                                    |     r5 = var_74h;
    0x0000f7a2 movs r3, 0                                            |     r3 = 0;
    0x0000f7a4 str r3, [sp, 0x78]                                    |     var_78h = r3;
    0x0000f7a6 cmp r5, 0                                             |     
                                                                     |     if (r5 != 0) {
    0x0000f7a8 bne 0xf734                                            |         goto label_0;
                                                                     |     }
    0x0000f7aa mov r5, r6                                            |     r5 = r6;
    0x0000f7ac b 0xf73e                                              |     goto label_1;
                                                                     | label_16:
    0x0000f7ae ldr r5, [sp, 0x78]                                    |     r5 = var_78h;
    0x0000f7b0 movs r3, 0                                            |     r3 = 0;
    0x0000f7b2 str r3, [sp, 0x54]                                    |     var_54h = r3;
    0x0000f7b4 str r3, [sp, 0x50]                                    |     nmemb = r3;
    0x0000f7b6 str r3, [sp, 0x58]                                    |     var_58h = r3;
                                                                     | label_12:
    0x0000f7b8 ldr.w r3, [pc, 0x428]                                 |     
    0x0000f7bc movs r6, 0                                            |     r6 = 0;
    0x0000f7be ldr.w r2, [pc, 0x428]                                 |     
    0x0000f7c2 ldr.w r1, [pc, 0x428]                                 |     
    0x0000f7c6 add r3, pc                                            |     r3 = 0x1f3ae;
    0x0000f7c8 ldr.w r0, [pc, 0x424]                                 |     
    0x0000f7cc str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000f7ce add r2, pc                                            |     r2 = 0x1f3bc;
    0x0000f7d0 ldr.w r3, [pc, 0x420]                                 |     
    0x0000f7d4 add r1, pc                                            |     r1 = 0x1f3c6;
    0x0000f7d6 add r0, pc                                            |     r0 = 0x1f3ca;
    0x0000f7d8 str r6, [sp, 8]                                       |     var_8h = r6;
    0x0000f7da add r3, pc                                            |     r3 = 0x1f3d2;
    0x0000f7dc str r3, [sp]                                          |     *(sp) = r3;
    0x0000f7de ldr.w r3, [pc, 0x418]                                 |     
    0x0000f7e2 add r3, pc                                            |     r3 = 0x1f3e0;
    0x0000f7e4 blx 0x61d4                                            |     r0 = fcn_000061d4 ();
    0x0000f7e8 mov sb, r0                                            |     sb = r0;
    0x0000f7ea cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000f7ec beq.w 0xfaee                                          |         goto label_31;
                                                                     |     }
    0x0000f7f0 ldr.w r3, [pc, 0x408]                                 |     r3 = *(0xfbfc);
    0x0000f7f4 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000f7f8 ldr r1, [r3]                                          |     r1 = *(0xfbfc);
    0x0000f7fa str r3, [sp, 0x60]                                    |     var_60h = r3;
    0x0000f7fc subs r1, 0                                            |     
    0x0000f7fe it ne                                                 |     
                                                                     |     if (r1 == 0) {
    0x0000f800 movne r1, 1                                           |         r1 = 1;
                                                                     |     }
    0x0000f802 blx 0x6330                                            |     fcn_00006330 ();
    0x0000f804 vldr d4, [r6, 0x3f8]                                  |     __asm ("vldr d4, [r6, 0x3f8]");
    0x0000f808 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000f80c ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000f80e cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000f810 bne.w 0xfa26                                          |         goto label_32;
                                                                     |     }
                                                                     | label_6:
    0x0000f814 ldr r3, [sp, 0x58]                                    |     r3 = var_58h;
    0x0000f816 mov r0, sb                                            |     r0 = sb;
    0x0000f818 ldr r1, [pc, 0x3e8]                                   |     
    0x0000f81a add.w r3, r5, r3, lsl 5                               |     r3 = r5 + (r3 << 5);
    0x0000f81e add r1, pc                                            |     r1 = 0x1f426;
    0x0000f820 mov r6, r3                                            |     r6 = r3;
    0x0000f822 str r3, [sp, 0x4c]                                    |     var_4ch = r3;
    0x0000f824 blx 0x57b4                                            |     fcn_000057b4 ();
    0x0000f828 cmp r6, r5                                            |     
                                                                     |     if (r6 < r5) {
    0x0000f82a bls.w 0xfa36                                          |         goto label_33;
                                                                     |     }
    0x0000f82e ldr r3, [pc, 0x3d8]                                   |     
    0x0000f830 ldr.w sl, [pc, 0x3d8]                                 |     
    0x0000f834 str r4, [sp, 0x5c]                                    |     var_5ch = r4;
    0x0000f836 add r3, pc                                            |     r3 = 0x1f444;
    0x0000f838 str.w fp, [sp, 0x64]                                  |     __asm ("str.w fp, [var_64h]");
    0x0000f83c add sl, pc                                            |     sl = "editor";
    0x0000f83e mov r8, r3                                            |     r8 = r3;
    0x0000f840 b 0xf89e                                              |     
                                                                     |     while (r0 != 0) {
    0x0000f842 ldrd r2, r3, [r5, 8]                                  |         __asm ("ldrd r2, r3, [r5, 8]");
    0x0000f846 mov.w lr, 1                                           |         lr = 1;
    0x0000f84a vldr d16, [r5, 0x10]                                  |         __asm ("vldr d16, [r5, 0x10]");
    0x0000f84e mov.w ip, 8                                           |         
    0x0000f852 movs r1, 6                                            |         r1 = 6;
    0x0000f854 mov.w fp, 0x21                                        |         
    0x0000f858 mov r0, sb                                            |         r0 = sb;
    0x0000f85a str.w fp, [sp, 0x40]                                  |         __asm ("str.w fp, [var_40h]");
    0x0000f85c add sp, 0x100                                         |         
    0x0000f85e str r7, [sp, 0x34]                                    |         var_34h = r7;
    0x0000f860 str r1, [sp, 0x10]                                    |         var_10h = r1;
    0x0000f862 strd lr, r6, [sp, 0x38]                               |         __asm ("strd lr, r6, [var_38h]");
    0x0000f866 str.w lr, [sp, 0x30]                                  |         __asm ("str.w lr, [var_30h]");
    0x0000f86a vstr d16, [sp, 0x28]                                  |         __asm ("vstr d16, [sp, 0x28]");
    0x0000f86e vstr d16, [sp, 0x18]                                  |         __asm ("vstr d16, [sp, 0x18]");
    0x0000f872 str.w ip, [sp, 0x20]                                  |         __asm ("str.w ip, [var_20h]");
    0x0000f876 str.w ip, [sp]                                        |         __asm ("str.w ip, [sp]");
    0x0000f87a strd r2, r3, [sp, 8]                                  |         __asm ("strd r2, r3, [var_8h]");
    0x0000f87e blx 0x5f30                                            |         r0 = boot_entries_load_config_auto ();
    0x0000f882 cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x0000f884 blt.w 0xfaa8                                          |             goto label_34;
                                                                     |         }
    0x0000f888 mov r0, r6                                            |         r0 = r6;
    0x0000f88a adds r5, 0x20                                         |         r5 += 0x20;
    0x0000f88c blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000f890 mov r0, r4                                            |         r0 = r4;
    0x0000f892 blx 0x5be4                                            |         fcn_00005be4 ();
    0x0000f896 ldr r3, [sp, 0x4c]                                    |         r3 = var_4ch;
    0x0000f898 cmp r3, r5                                            |         
                                                                     |         if (r3 < r5) {
    0x0000f89a bls.w 0xfa30                                          |             goto label_35;
                                                                     |         }
    0x0000f89e ldrd r4, r7, [r5]                                     |         __asm ("ldrd r4, r7, [r5]");
                                                                     |         if (r4 != 0) {
    0x0000f8a2 cbz r4, 0xf8ba                                        |             
    0x0000f8a4 mov r2, r7                                            |             r2 = r7;
    0x0000f8a6 mov r0, r4                                            |             r0 = r4;
    0x0000f8a8 movs r3, 0                                            |             r3 = 0;
    0x0000f8aa mov r1, r8                                            |             r1 = r8;
    0x0000f8ac blx 0x5ab0                                            |             r0 = execvp ();
    0x0000f8b0 mov r7, r0                                            |             r7 = r0;
    0x0000f8b2 cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000f8b4 beq.w 0xfb08                                          |                 goto label_36;
                                                                     |             }
    0x0000f8b8 mov r4, r0                                            |             r4 = r0;
                                                                     |         }
    0x0000f8ba movs r3, 0                                            |         r3 = 0;
    0x0000f8bc ldr r0, [r5, 0x18]                                    |         r0 = *((r5 + 0x18));
    0x0000f8be mov r2, r3                                            |         r2 = r3;
    0x0000f8c0 mov r1, sl                                            |         r1 = sl;
    0x0000f8c2 blx 0x576c                                            |         r0 = fcn_0000576c ();
    0x0000f8c6 mov r6, r0                                            |         r6 = r0;
    0x0000f8c8 cmp r0, 0                                             |         
    0x0000f8ca bne 0xf842                                            |         
                                                                     |     }
    0x0000f8cc ldr r1, [pc, 0x340]                                   |     
    0x0000f8ce mov.w r2, 0x278                                       |     r2 = 0x278;
    0x0000f8d2 ldr r3, [pc, 0x340]                                   |     
    0x0000f8d4 movs r0, 3                                            |     r0 = 3;
    0x0000f8d6 mov r8, r4                                            |     r8 = r4;
    0x0000f8d8 ldr r4, [sp, 0x5c]                                    |     r4 = var_5ch;
    0x0000f8da add r1, pc                                            |     r1 = 0x1f4ee;
    0x0000f8dc adds r1, 7                                            |     r1 += 7;
    0x0000f8de add r3, pc                                            |     r3 = 0x1f4f8;
    0x0000f8e0 blx 0x65cc                                            |     fflush_and_check ();
                                                                     | label_8:
    0x0000f8e4 mov r0, r6                                            |     r0 = r6;
    0x0000f8e6 blx 0x5be4                                            |     fcn_00005be4 ();
    0x0000f8ea mov r0, r8                                            |     r0 = r8;
    0x0000f8ec blx 0x5be4                                            |     fcn_00005be4 ();
                                                                     | label_7:
    0x0000f8f0 mov r0, sb                                            |     r0 = sb;
    0x0000f8f2 blx 0x5b04                                            |     sd_bus_message_read ();
    0x0000f8f6 ldr.w sb, [sp, 0x7c]                                  |     sb = var_7ch;
                                                                     | label_3:
    0x0000f8fa ldr r5, [sp, 0x78]                                    |     r5 = var_78h;
    0x0000f8fc ldr r2, [sp, 0x54]                                    |     r2 = var_54h;
    0x0000f8fe ldrd r6, r7, [sp, 0x6c]                               |     __asm ("ldrd r6, r7, [var_6ch]");
    0x0000f902 adds r3, r5, r2                                       |     r3 = r5 + r2;
    0x0000f904 cmp r5, r3                                            |     
                                                                     |     if (r5 >= r3) {
    0x0000f906 bhs.w 0xf794                                          |         goto label_2;
                                                                     |     }
    0x0000f90a mov r8, r2                                            |     r8 = r2;
                                                                     |     do {
    0x0000f90c ldr r0, [r5, 0x18]                                    |         r0 = *((r5 + 0x18));
    0x0000f90e adds r5, 0x20                                         |         r5 += 0x20;
    0x0000f910 blx 0x5dec                                            |         unit_file_state_to_string ();
    0x0000f914 ldr r3, [sp, 0x78]                                    |         r3 = var_78h;
    0x0000f916 add r3, r8                                            |         r3 += r8;
    0x0000f918 cmp r5, r3                                            |         
    0x0000f91a blo 0xf90c                                            |         
                                                                     |     } while (r5 <= r3);
    0x0000f91c b 0xf794                                              |     goto label_2;
                                                                     | label_21:
    0x0000f91e str r1, [sp, 0x4c]                                    |     var_4ch = r1;
    0x0000f920 mov r5, sb                                            |     r5 = sb;
    0x0000f922 blx 0x5934                                            |     fcn_00005934 ();
    0x0000f926 ldr r1, [sp, 0x4c]                                    |     r1 = var_4ch;
    0x0000f928 cmp r0, 2                                             |     
    0x0000f92a ldr.w sb, [sp, 0x5c]                                  |     sb = var_5ch;
    0x0000f92e ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000f930 rsble r4, r1, 0                                       |         __asm ("rsble r4, r1, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000f932 uxtble r4, r4                                         |         __asm ("uxtble r4, r4");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000f934 rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000f936 bgt 0xf9d0                                            |         goto label_37;
                                                                     |     }
                                                                     | label_5:
    0x0000f938 ldr r3, [sp, 0x50]                                    |     r3 = nmemb;
    0x0000f93a cmp r4, 0                                             |     
    0x0000f93c mov r0, r5                                            |     r0 = r5;
    0x0000f93e lsl.w r5, r3, 5                                       |     r5 = r3 << 5;
                                                                     |     if (r4 < 0) {
    0x0000f942 blt.w 0xfb78                                          |         goto label_38;
                                                                     |     }
    0x0000f946 mvn r4, 0x55                                          |     r4 = ~0x55;
    0x0000f94a blx 0x6024                                            |     fcn_00006024 ();
                                                                     | label_10:
    0x0000f94e ldr r0, [sp, 0x84]                                    |     r0 = var_84h;
                                                                     |     if (r0 != 0) {
    0x0000f950 cbz r0, 0xf956                                        |         
    0x0000f952 blx 0x5dec                                            |         unit_file_state_to_string ();
                                                                     |     }
    0x0000f956 str r5, [sp, 0x54]                                    |     var_54h = r5;
    0x0000f958 b 0xf8fa                                              |     goto label_3;
                                                                     | label_25:
    0x0000f95a blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000f95e cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000f960 ble.w 0xf668                                          |         goto label_4;
                                                                     |     }
    0x0000f964 mov r1, r5                                            |     r1 = r5;
    0x0000f966 mov r0, r4                                            |     r0 = r4;
    0x0000f968 blx 0x566c                                            |     bus_error_message ();
    0x0000f96c ldr r3, [pc, 0x2a8]                                   |     
    0x0000f96e mov r1, r5                                            |     r1 = r5;
    0x0000f970 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000f972 movs r0, 3                                            |     r0 = 3;
    0x0000f974 ldr r2, [sp, 0x60]                                    |     r2 = var_60h;
    0x0000f976 add r3, pc                                            |     r3 = 0x1f592;
    0x0000f978 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000f97a ldr r3, [pc, 0x2a0]                                   |     
    0x0000f97c add r3, pc                                            |     r3 = 0x1f59e;
    0x0000f97e str r3, [sp]                                          |     *(sp) = r3;
    0x0000f980 movw r3, 0x23b                                        |     r3 = 0x23b;
    0x0000f984 blx 0x61a4                                            |     fcn_000061a4 ();
    0x0000f988 b 0xf668                                              |     goto label_4;
                                                                     | label_22:
    0x0000f98a blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000f98e cmp r0, 2                                             |     
    0x0000f990 mov r5, sb                                            |     r5 = sb;
    0x0000f992 it le                                                 |     
                                                                     |     if (r0 <= 2) {
    0x0000f994 rsble r4, r8, 0                                       |         __asm ("rsble r4, r8, 0");
                                                                     |     }
    0x0000f998 ldr.w sb, [sp, 0x5c]                                  |     sb = var_5ch;
    0x0000f99c itt le                                                |     
                                                                     |     if (r0 <= 2) {
    0x0000f99e uxtble r4, r4                                         |         __asm ("uxtble r4, r4");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000f9a0 rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |         goto label_39;
                                                                     |     }
                                                                     |     if (r0 <= 2) {
                                                                     | label_39:
    0x0000f9a2 ble 0xf938                                            |         goto label_5;
                                                                     |     }
    0x0000f9a4 mov r1, r8                                            |     r1 = r8;
    0x0000f9a6 mov r0, r5                                            |     r0 = r5;
    0x0000f9a8 blx 0x566c                                            |     bus_error_message ();
    0x0000f9ac ldr r3, [pc, 0x270]                                   |     
    0x0000f9ae mov r1, r8                                            |     r1 = r8;
    0x0000f9b0 ldr r2, [pc, 0x270]                                   |     
    0x0000f9b2 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000f9b4 movs r0, 3                                            |     r0 = 3;
    0x0000f9b6 add r3, pc                                            |     r3 = 0x1f5da;
    0x0000f9b8 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000f9ba add r2, pc                                            |     r2 = 0x1f5e2;
    0x0000f9bc ldr r3, [pc, 0x268]                                   |     
    0x0000f9be adds r2, 7                                            |     r2 += 7;
    0x0000f9c0 add r3, pc                                            |     r3 = 0x1f5ec;
    0x0000f9c2 str r3, [sp]                                          |     *(sp) = r3;
    0x0000f9c4 movw r3, 0x21f                                        |     r3 = 0x21f;
    0x0000f9c8 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000f9cc mov r4, r0                                            |     r4 = r0;
    0x0000f9ce b 0xf938                                              |     goto label_5;
                                                                     | label_37:
    0x0000f9d0 mov r0, r5                                            |     r0 = r5;
    0x0000f9d2 blx 0x566c                                            |     bus_error_message ();
    0x0000f9d6 ldr r3, [pc, 0x254]                                   |     
    0x0000f9d8 ldr r2, [pc, 0x254]                                   |     
    0x0000f9da str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000f9dc movs r0, 3                                            |     r0 = 3;
    0x0000f9de add r3, pc                                            |     r3 = 0x1f610;
    0x0000f9e0 ldr r1, [sp, 0x4c]                                    |     r1 = var_4ch;
    0x0000f9e2 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000f9e4 add r2, pc                                            |     r2 = 0x1f618;
    0x0000f9e6 ldr r3, [pc, 0x24c]                                   |     
    0x0000f9e8 adds r2, 7                                            |     r2 += 7;
    0x0000f9ea add r3, pc                                            |     r3 = 0x1f624;
    0x0000f9ec str r3, [sp]                                          |     *(sp) = r3;
    0x0000f9ee movw r3, 0x213                                        |     r3 = 0x213;
    0x0000f9f2 blx 0x61a4                                            |     r0 = fcn_000061a4 ();
    0x0000f9f6 mov r4, r0                                            |     r4 = r0;
    0x0000f9f8 b 0xf938                                              |     goto label_5;
                                                                     | label_19:
    0x0000f9fa ldr r1, [pc, 0x23c]                                   |     
    0x0000f9fc movw r2, 0x205                                        |     r2 = 0x205;
    0x0000fa00 ldr r3, [pc, 0x238]                                   |     
    0x0000fa02 ldr r0, [pc, 0x23c]                                   |     
    0x0000fa04 add r1, pc                                            |     r1 = 0x1f642;
    0x0000fa06 add r3, pc                                            |     r3 = 0x1f646;
    0x0000fa08 adds r1, 7                                            |     r1 += 7;
    0x0000fa0a add r0, pc                                            |     r0 = 0x1f650;
    0x0000fa0c blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_20:
    0x0000fa10 ldr r1, [pc, 0x230]                                   |     
    0x0000fa12 movw r2, 0x206                                        |     r2 = 0x206;
    0x0000fa16 ldr r3, [pc, 0x230]                                   |     
    0x0000fa18 ldr r0, [pc, 0x230]                                   |     
    0x0000fa1a add r1, pc                                            |     r1 = 0x1f662;
    0x0000fa1c add r3, pc                                            |     r3 = 0x1f66a;
    0x0000fa1e adds r1, 7                                            |     r1 += 7;
    0x0000fa20 add r0, pc                                            |     r0 = 0x1f670;
    0x0000fa22 blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_32:
    0x0000fa26 mov r1, r6                                            |     r1 = r6;
    0x0000fa28 mov r0, sb                                            |     r0 = sb;
    0x0000fa2a blx 0x58d4                                            |     fcn_000058d4 ();
    0x0000fa2e b 0xf814                                              |     goto label_6;
                                                                     | label_35:
    0x0000fa30 ldr r4, [sp, 0x5c]                                    |     r4 = var_5ch;
    0x0000fa32 ldr.w fp, [sp, 0x64]                                  |     fp = var_64h;
                                                                     | label_33:
    0x0000fa36 ldr r3, [sp, 0x50]                                    |     r3 = nmemb;
    0x0000fa38 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000fa3a beq 0xfb24                                            |         goto label_40;
                                                                     |     }
    0x0000fa3c blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000fa40 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000fa42 bne 0xfb44                                            |         goto label_41;
                                                                     |     }
    0x0000fa44 ldr r5, [pc, 0x208]                                   |     
    0x0000fa46 add r5, pc                                            |     r5 = 0x1f69a;
                                                                     | label_11:
    0x0000fa48 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
    0x0000fa4c cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000fa4e bne 0xfb4a                                            |         goto label_42;
                                                                     |     }
    0x0000fa50 ldr r6, [pc, 0x200]                                   |     
    0x0000fa52 add r6, pc                                            |     r6 = 0x1f6aa;
                                                                     | label_9:
    0x0000fa54 mov r0, sb                                            |     r0 = sb;
    0x0000fa56 bl 0x1c208                                            |     r0 = fcn_0001c208 (r0);
    0x0000fa5a cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000fa5c blt.w 0xf8f0                                          |         goto label_7;
                                                                     |     }
    0x0000fa60 ldr r3, [sp, 0x60]                                    |     r3 = var_60h;
    0x0000fa62 ldr r3, [r3]                                          |     r3 = *(r3);
    0x0000fa64 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000fa66 beq.w 0xf8f0                                          |         goto label_7;
                                                                     |     }
    0x0000fa6a ldr r1, [pc, 0x1ec]                                   |     
    0x0000fa6c mov r2, r5                                            |     r2 = r5;
    0x0000fa6e ldr r3, [sp, 0x58]                                    |     r3 = var_58h;
    0x0000fa70 movs r0, 1                                            |     r0 = 1;
    0x0000fa72 str r6, [sp]                                          |     *(sp) = r6;
    0x0000fa74 add r1, pc                                            |     r1 = 0x1f6d2;
    0x0000fa76 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000fa7a ldr r3, [pc, 0x1e0]                                   |     r3 = *(0xfc5e);
    0x0000fa7c ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000fa80 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000fa82 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000fa84 bne.w 0xf8f0                                          |         goto label_7;
                                                                     |     }
    0x0000fa88 ldr r0, [pc, 0x1d4]                                   |     
    0x0000fa8a add r0, pc                                            |     r0 = 0x1f6ee;
    0x0000fa8c blx 0x62a0                                            |     fcn_000062a0 ();
    0x0000fa90 b 0xf8f0                                              |     goto label_7;
                                                                     | label_23:
    0x0000fa92 ldr r1, [pc, 0x1d0]                                   |     
    0x0000fa94 movw r2, 0x22d                                        |     r2 = 0x22d;
    0x0000fa98 ldr r3, [pc, 0x1cc]                                   |     
    0x0000fa9a ldr r0, [pc, 0x1d0]                                   |     
    0x0000fa9c add r1, pc                                            |     r1 = 0x1f706;
    0x0000fa9e add r3, pc                                            |     r3 = 0x1f70a;
    0x0000faa0 adds r1, 7                                            |     r1 += 7;
    0x0000faa2 add r0, pc                                            |     r0 = 0x1f714;
    0x0000faa4 blx 0x5e40                                            |     r0 = unit_file_get_default ();
                                                                     | label_34:
    0x0000faa8 mov r7, r0                                            |     r7 = r0;
    0x0000faaa mov r8, r4                                            |     r8 = r4;
    0x0000faac blx 0x5934                                            |     r0 = fcn_00005934 ();
    0x0000fab0 cmp r0, 2                                             |     
    0x0000fab2 ldr r4, [sp, 0x5c]                                    |     r4 = var_5ch;
                                                                     |     if (r0 <= 2) {
    0x0000fab4 ble.w 0xf8e4                                          |         goto label_8;
                                                                     |     }
    0x0000fab8 ldr r3, [pc, 0x1b4]                                   |     
    0x0000faba mov r1, r7                                            |     r1 = r7;
    0x0000fabc ldr r2, [pc, 0x1b4]                                   |     
    0x0000fabe movs r0, 3                                            |     r0 = 3;
    0x0000fac0 add r3, pc                                            |     r3 = "\n\n### %s";
    0x0000fac2 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000fac4 add r2, pc                                            |     r2 = 0x1f73c;
    0x0000fac6 ldr r3, [pc, 0x1b0]                                   |     
    0x0000fac8 adds r2, 7                                            |     r2 += 7;
    0x0000faca add r3, pc                                            |     r3 = 0x1f748;
    0x0000facc str r3, [sp]                                          |     *(sp) = r3;
    0x0000face movw r3, 0x282                                        |     r3 = 0x282;
    0x0000fad2 blx 0x61a4                                            |     fcn_000061a4 ();
    0x0000fad4 sbc.w r7, r8, r5, lsl 24                              |     __asm ("sbc.w r7, r8, r5, lsl 24");
                                                                     | label_24:
    0x0000fad8 ldr r1, [pc, 0x1a0]                                   |     
    0x0000fada movw r2, 0x22e                                        |     r2 = 0x22e;
    0x0000fade ldr r3, [pc, 0x1a0]                                   |     
    0x0000fae0 ldr r0, [pc, 0x1a0]                                   |     
    0x0000fae2 add r1, pc                                            |     r1 = 0x1f762;
    0x0000fae4 add r3, pc                                            |     r3 = 0x1f76a;
    0x0000fae6 adds r1, 7                                            |     r1 += 7;
    0x0000fae8 add r0, pc                                            |     r0 = 0x1f770;
    0x0000faea blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_31:
    0x0000faee ldr r1, [pc, 0x198]                                   |     
    0x0000faf0 movw r2, 0x262                                        |     r2 = 0x262;
    0x0000faf4 ldr r3, [pc, 0x194]                                   |     
    0x0000faf6 movs r0, 3                                            |     r0 = 3;
    0x0000faf8 add r1, pc                                            |     r1 = 0x1f786;
    0x0000fafa add r3, pc                                            |     r3 = 0x1f78a;
    0x0000fafc adds r1, 7                                            |     r1 += 7;
    0x0000fafe blx 0x65cc                                            |     fflush_and_check ();
    0x0000fb02 ldr.w sb, [sp, 0x7c]                                  |     sb = var_7ch;
    0x0000fb06 b 0xf8fa                                              |     goto label_3;
                                                                     | label_36:
    0x0000fb08 ldr r1, [pc, 0x184]                                   |     
    0x0000fb0a mov r6, r0                                            |     r6 = r0;
    0x0000fb0c ldr r3, [pc, 0x184]                                   |     
    0x0000fb0e movw r2, 0x271                                        |     r2 = 0x271;
    0x0000fb12 movs r0, 3                                            |     r0 = 3;
    0x0000fb14 ldr r4, [sp, 0x5c]                                    |     r4 = var_5ch;
    0x0000fb16 add r1, pc                                            |     r1 = 0x1f7aa;
    0x0000fb18 mov r8, r7                                            |     r8 = r7;
    0x0000fb1a adds r1, 7                                            |     r1 += 7;
    0x0000fb1c add r3, pc                                            |     r3 = "Failed to determine unit paths: %m";
    0x0000fb1e blx 0x65cc                                            |     fflush_and_check ();
    0x0000fb20 ldcl p6, c14, [r6, -0x37c]                            |     __asm ("ldcl p6, c14, [r6, -0x37c]");
                                                                     | label_40:
    0x0000fb24 blx 0x5e88                                            |     r0 = strcpy (r0, r1)
                                                                     |     if (r0 != 0) {
    0x0000fb28 cbnz r0, 0xfb56                                       |         goto label_43;
                                                                     |     }
    0x0000fb2a ldr r5, [pc, 0x16c]                                   |     
    0x0000fb2c add r5, pc                                            |     r5 = 0x1f7ca;
                                                                     |     do {
    0x0000fb2e blx 0x5e88                                            |         r0 = strcpy (r0, r1)
                                                                     |         if (r0 == 0) {
    0x0000fb32 cbnz r0, 0xfb50                                       |             
    0x0000fb34 ldr r6, [pc, 0x164]                                   |             
    0x0000fb36 add r6, pc                                            |             r6 = 0x1f7d6;
    0x0000fb38 b 0xfa54                                              |             goto label_9;
                                                                     | label_18:
    0x0000fb3a ldr r3, [sp, 0x50]                                    |             r3 = nmemb;
    0x0000fb3c ldr.w sb, [sp, 0x5c]                                  |             sb = var_5ch;
    0x0000fb40 lsls r5, r3, 5                                        |             r5 = r3 << 5;
    0x0000fb42 b 0xf94e                                              |             goto label_10;
                                                                     | label_41:
    0x0000fb44 ldr r5, [pc, 0x158]                                   |             
    0x0000fb46 add r5, pc                                            |             r5 = 0x1f7ea;
    0x0000fb48 b 0xfa48                                              |             goto label_11;
                                                                     | label_42:
    0x0000fb4a ldr r6, [pc, 0x158]                                   |             
    0x0000fb4c add r6, pc                                            |             r6 = 0x1f7f6;
    0x0000fb4e b 0xfa54                                              |             goto label_9;
                                                                     |         }
    0x0000fb50 ldr r6, [pc, 0x154]                                   |         
    0x0000fb52 add r6, pc                                            |         r6 = 0x1f7fe;
    0x0000fb54 b 0xfa54                                              |         goto label_9;
                                                                     | label_43:
    0x0000fb56 ldr r5, [pc, 0x154]                                   |         
    0x0000fb58 add r5, pc                                            |         r5 = 0x1f80a;
    0x0000fb5a b 0xfb2e                                              |         
                                                                     |     } while (1);
                                                                     | label_26:
    0x0000fb5c ldr r1, [pc, 0x150]                                   |     
    0x0000fb5e movw r2, 0x2e2                                        |     r2 = 0x2e2;
    0x0000fb62 ldr r3, [pc, 0x150]                                   |     
    0x0000fb64 movs r0, 3                                            |     r0 = 3;
    0x0000fb66 ldr.w sb, [sp, 0x5c]                                  |     sb = var_5ch;
    0x0000fb6a add r1, pc                                            |     r1 = 0x1f81e;
    0x0000fb6c add r3, pc                                            |     r3 = 0x1f826;
    0x0000fb6e adds r1, 7                                            |     r1 += 7;
    0x0000fb70 blx 0x65cc                                            |     r0 = fflush_and_check ();
    0x0000fb74 mov r4, r0                                            |     r4 = r0;
    0x0000fb76 b 0xf94e                                              |     goto label_10;
                                                                     | label_38:
    0x0000fb78 blx 0x6024                                            |     fcn_00006024 ();
    0x0000fb7c b 0xf94e                                              |     goto label_10;
                                                                     | label_27:
    0x0000fb7e ldr r1, [pc, 0x138]                                   |     
    0x0000fb80 movs r2, 0x2e                                         |     r2 = 0x2e;
    0x0000fb82 ldr r3, [pc, 0x138]                                   |     
    0x0000fb84 ldr r0, [pc, 0x138]                                   |     
    0x0000fb86 add r1, pc                                            |     r1 = 0x1f844;
    0x0000fb88 add r3, pc                                            |     r3 = 0x1f84a;
    0x0000fb8a adds r1, 7                                            |     r1 += 7;
    0x0000fb8c add r0, pc                                            |     r0 = 0x1f850;
    0x0000fb8e blx 0x5e40                                            |     unit_file_get_default ();
                                                                     | label_30:
    0x0000fb92 blx 0x6114                                            |     fcn_00006114 ();
                                                                     | label_28:
    0x0000fb96 ldr r3, [sp, 0x50]                                    |     r3 = nmemb;
    0x0000fb98 lsls r3, r3, 5                                        |     r3 <<= 5;
    0x0000fb9a str r3, [sp, 0x54]                                    |     var_54h = r3;
    0x0000fb9c b 0xf7b8                                              |     goto label_12;
                                                                     | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x1236c */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.0001236c ()                  | void fcn_0001236c () {
    0x0001236c push {r4, r5, r6, lr}         |     
    0x0001236e ldr r5, [pc, 0x48]            |     
    0x00012370 ldr r2, [pc, 0x48]            |     r2 = *(0x123bc);
    0x00012372 ldr r3, [pc, 0x4c]            |     r3 = *(0x123c2);
    0x00012374 add r5, pc                    |     r5 = 0x24732;
    0x00012376 ldr r1, [r5, r2]              |     r1 = *(0x24732);
    0x00012378 ldr r2, [r5, r3]              |     r2 = *(0x24732);
    0x0001237a ldrb r3, [r1]                 |     r3 = *(r1);
    0x0001237c ldr r4, [r2]                  |     r4 = *(0x24732);
    0x0001237e ubfx r4, r4, 1, 1             |     r4 = (r4 >> 1) & ((1 << 1) - 1);
    0x00012382 cbz r3, 0x123a6               |     
                                             |     while (r0 == 0) {
    0x00012384 movs r6, 4                    |         r6 = 4;
                                             | label_0:
    0x00012386 blx 0x5e88                    |         strcpy (r0, r1)
    0x0001238a ldr r3, [pc, 0x38]            |         r3 = *(0x123c6);
    0x0001238c subs r0, 0                    |         
    0x0001238e it ne                         |         
                                             |         if (r0 == 0) {
    0x00012390 movne r0, 1                   |             r0 = 1;
                                             |         }
    0x00012392 ldr r3, [r5, r3]              |         r3 = *((r5 + r3));
    0x00012394 ldrb r3, [r3]                 |         r3 = *(r3);
    0x00012396 eor r3, r3, 1                 |         r3 ^= 1;
    0x0001239a orr.w r4, r4, r3, lsl 1       |         r4 |= (r3 << 1);
    0x0001239c lsls r3, r0, 0x11             |         r3 = r0 << 0x11;
    0x0001239e orrs r4, r6                   |         r4 |= r6;
    0x000123a0 orr.w r0, r4, r0, lsl 3       |         r0 = r4 | (r0 << 3);
    0x000123a4 pop {r4, r5, r6, pc}          |         
    0x000123a6 blx 0x612c                    |         r0 = fcn_0000612c ();
    0x000123aa cmp r0, 0                     |         
    0x000123ac beq 0x12384                   |         
                                             |     }
    0x000123ae blx 0x6468                    |     r0 = fcn_00006468 ();
    0x000123b2 lsls r6, r0, 2                |     r6 = r0 << 2;
    0x000123b4 b 0x12386                     |     goto label_0;
                                             | }
    ; assembly                               | /* r2dec pseudo code output */
                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x12b24 */
                                             | #include <stdint.h>
                                             |  
    ; (fcn) fcn.00012b24 ()                  | void fcn_00012b24 (int16_t arg1, int16_t arg2, int16_t arg3) {
                                             |     int16_t var_0h;
                                             |     int16_t var_ch;
                                             |     r0 = arg1;
                                             |     r1 = arg2;
                                             |     r2 = arg3;
    0x00012b24 push {r4, r5, r6, lr}         |     
    0x00012b26 mov r5, r2                    |     r5 = r2;
    0x00012b28 ldr r2, [pc, 0xb8]            |     
    0x00012b2a sub sp, 0x10                  |     
    0x00012b2c mov r6, r1                    |     r6 = r1;
    0x00012b2e ldr r3, [pc, 0xb8]            |     r3 = *(0x12bea);
    0x00012b30 add r2, pc                    |     r2 = 0x25718;
    0x00012b32 ldr r3, [r2, r3]              |     
    0x00012b34 ldr r3, [r3]                  |     r3 = *(0x25718);
    0x00012b36 str r3, [sp, 0xc]             |     var_ch = r3;
    0x00012b38 mov.w r3, 0                   |     r3 = 0;
    0x00012b3c cbnz r0, 0x12b5e              |     
                                             |     while (r0 == 0) {
    0x00012b3e ldr r3, [pc, 0xac]            |         
    0x00012b40 add r3, pc                    |         r3 = 0x25732;
    0x00012b42 str r3, [r5]                  |         *(r5) = r3;
    0x00012b44 str r3, [r6]                  |         *(r6) = r3;
                                             | label_0:
    0x00012b46 ldr r2, [pc, 0xa8]            |         
    0x00012b48 ldr r3, [pc, 0x9c]            |         r3 = *(0x12be8);
    0x00012b4a add r2, pc                    |         r2 = 0x25740;
    0x00012b4c ldr r3, [r2, r3]              |         r3 = *(0x25740);
    0x00012b4e ldr r2, [r3]                  |         r2 = *(0x25740);
    0x00012b50 ldr r3, [sp, 0xc]             |         r3 = var_ch;
    0x00012b52 eors r2, r3                   |         r2 ^= r3;
    0x00012b54 mov.w r3, 0                   |         r3 = 0;
                                             |         if (r2 != r3) {
    0x00012b58 bne 0x12bde                   |             goto label_3;
                                             |         }
    0x00012b5a add sp, 0x10                  |         
    0x00012b5c pop {r4, r5, r6, pc}          |         
    0x00012b5e ldr r1, [pc, 0x94]            |         
    0x00012b60 mov r4, r0                    |         r4 = r0;
    0x00012b62 add r1, pc                    |         r1 = 0x2575c;
    0x00012b64 blx 0x655c                    |         r0 = fcn_0000655c ();
                                             |         if (r0 == 0) {
    0x00012b68 cbz r0, 0x12b9c               |             goto label_4;
                                             |         }
    0x00012b6a ldr r3, [pc, 0x8c]            |         
    0x00012b6c add r3, pc                    |         r3 = 0x2576a;
    0x00012b6e ldm.w r3, {r0, r1, r2}        |         r0 = *(r3);
                                             |         r1 = *((r3 + 4));
                                             |         r2 = *((r3 + 8));
    0x00012b72 mov r3, sp                    |         r3 = sp;
    0x00012b74 stm.w r3, {r0, r1, r2}        |         *(r3) = r0;
                                             |         *((r3 + 4)) = r1;
                                             |         *((r3 + 8)) = r2;
    0x00012b78 mov r1, r4                    |         r1 = r4;
    0x00012b7a mov r0, r3                    |         r0 = r3;
    0x00012b7c blx 0x6060                    |         r0 = fcn_00006060 ();
    0x00012b7e orns r8, r0, r0, lsl 8        |         __asm ("orns r8, r0, r0, lsl 8");
    0x00012b82 beq 0x12b3e                   |         
                                             |     }
    0x00012b84 blx 0x5e88                    |     r0 = strcpy (r0, r1)
                                             |     if (r0 == 0) {
    0x00012b88 cbz r0, 0x12bca               |         goto label_5;
                                             |     }
    0x00012b8a ldr r3, [pc, 0x70]            |     
    0x00012b8c add r3, pc                    |     r3 = 0x2578e;
    0x00012b8e str r3, [r6]                  |     *(r6) = r3;
    0x00012b90 blx 0x5e88                    |     r0 = strcpy (r0, r1)
                                             |     if (r0 != 0) {
    0x00012b94 cbnz r0, 0x12bd8              |         goto label_6;
                                             |     }
                                             | label_2:
    0x00012b96 ldr r3, [pc, 0x68]            |     
    0x00012b98 add r3, pc                    |     r3 = 0x2579e;
    0x00012b9a b 0x12bb2                     |     goto label_1;
                                             | label_4:
    0x00012b9c blx 0x5e88                    |     r0 = strcpy (r0, r1)
                                             |     if (r0 != 0) {
    0x00012ba0 cbnz r0, 0x12bb6              |         goto label_7;
                                             |     }
    0x00012ba2 ldr r3, [pc, 0x60]            |     
    0x00012ba4 add r3, pc                    |     r3 = 0x257ae;
    0x00012ba6 str r3, [r6]                  |     *(r6) = r3;
    0x00012ba8 blx 0x5e88                    |     r0 = strcpy (r0, r1)
                                             |     if (r0 != 0) {
    0x00012bac cbnz r0, 0x12bc4              |         goto label_8;
                                             |     }
                                             |     do {
    0x00012bae ldr r3, [pc, 0x58]            |         
    0x00012bb0 add r3, pc                    |         r3 = 0x257be;
                                             | label_1:
    0x00012bb2 str r3, [r5]                  |         *(r5) = r3;
    0x00012bb4 b 0x12b46                     |         goto label_0;
                                             | label_7:
    0x00012bb6 ldr r3, [pc, 0x54]            |         
    0x00012bb8 add r3, pc                    |         r3 = 0x257ca;
    0x00012bba str r3, [r6]                  |         *(r6) = r3;
    0x00012bbc blx 0x5e88                    |         r0 = strcpy (r0, r1)
    0x00012bc0 cmp r0, 0                     |         
    0x00012bc2 beq 0x12bae                   |         
                                             |     } while (r0 == 0);
                                             | label_8:
    0x00012bc4 ldr r3, [pc, 0x48]            |     
    0x00012bc6 add r3, pc                    |     r3 = 0x257da;
    0x00012bc8 b 0x12bb2                     |     goto label_1;
                                             | label_5:
    0x00012bca ldr r3, [pc, 0x48]            |     
    0x00012bcc add r3, pc                    |     r3 = 0x257e6;
    0x00012bce str r3, [r6]                  |     *(r6) = r3;
    0x00012bd0 blx 0x5e88                    |     r0 = strcpy (r0, r1)
    0x00012bd4 cmp r0, 0                     |     
                                             |     if (r0 == 0) {
    0x00012bd6 beq 0x12b96                   |         goto label_2;
                                             |     }
                                             | label_6:
    0x00012bd8 ldr r3, [pc, 0x3c]            |     
    0x00012bda add r3, pc                    |     r3 = 0x257f6;
    0x00012bdc b 0x12bb2                     |     goto label_1;
                                             | label_3:
    0x00012bde blx 0x6114                    |     fcn_00006114 ();
    0x00012be2 nop                           |     
    0x00012be4 ldrb r4, [r7, 0x18]           |     r4 = *((r7 + 0x18));
    0x00012be6 movs r2, r0                   |     r2 = r0;
    0x00012be8 lsls r0, r2, 0x18             |     r0 = r2 << 0x18;
    0x00012bea movs r0, r0                   |     
    0x00012bec svc 0x78                      |     __asm ("svc 0x78");
    0x00012bee movs r0, r0                   |     
    0x00012bf0 ldrb r2, [r4, 0x18]           |     r2 = *((r4 + 0x18));
    0x00012bf2 movs r2, r0                   |     r2 = r0;
    0x00012bf4 udf 0xb6                      |     __asm ("udf 0xb6");
                                             | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x12c1c */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define SWAP32(n) ((uint32_t) (((n & 0x000000ff) << 24) | \
                                                                 |                                ((n & 0x0000ff00) <<  8) | \
                                                                 |                                ((n & 0x00ff0000) >>  8) | \
                                                                 |                                ((n & 0xff000000) >> 24)))
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00012c1c ()                                      | void fcn_00012c1c (int16_t arg_244h, int16_t arg_254h, int16_t arg_27ch, int16_t arg_2a4h, int16_t arg_3a4h, int16_t arg_4a4h, int16_t arg1) {
                                                                 |     int16_t var_bp_0h;
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int32_t var_ch_2;
                                                                 |     int16_t var_14h;
                                                                 |     int32_t var_0h_2;
                                                                 |     int32_t var_8h_2;
                                                                 |     int16_t var_20h;
                                                                 |     int8_t var_14h_2;
                                                                 |     int8_t var_15h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int32_t var_18h;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_54h;
                                                                 |     int32_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_78h;
                                                                 |     int16_t var_88h;
                                                                 |     int16_t var_98h;
                                                                 |     int32_t var_98h_2;
                                                                 |     int32_t var_a0h;
                                                                 |     int32_t var_a0h_2;
                                                                 |     int16_t var_16ch;
                                                                 |     r0 = arg1;
                                                                 |     if (? < ?) {
    0x00012c1c eorhs r4, r0, 0x298000                            |         r4 = r0 ^ 0x298000;
                                                                 |     }
    0x00012c20 ldr r3, [pc, 0x298]                               |     
    0x00012c22 push.w {r4, r5, r6, r7, r8, sb, lr}               |     
    0x00012c26 sub sp, 0x174                                     |     
    0x00012c28 add r1, pc                                        |     r1 += pc;
    0x00012c2a ldr.w r8, [pc, 0x294]                             |     
    0x00012c2e movs r4, 0                                        |     r4 = 0;
    0x00012c30 add r5, sp, 0x20                                  |     r5 += var_20h;
    0x00012c32 ldr r3, [r1, r3]                                  |     r3 = *((r1 + r3));
    0x00012c34 add r6, sp, 0x14                                  |     r6 += var_14h;
    0x00012c36 mov sb, r0                                        |     sb = r0;
    0x00012c38 mov r0, r5                                        |     r0 = r5;
    0x00012c3a mov r1, r4                                        |     r1 = r4;
    0x00012c3c add r8, pc                                        |     r8 = 0x25b02;
    0x00012c3e ldr r3, [r3]                                      |     r3 = *(0x12ebc);
    0x00012c40 str r3, [sp, 0x16c]                               |     var_16ch = r3;
    0x00012c42 mov.w r3, 0                                       |     r3 = 0;
    0x00012c46 strd r4, r4, [r6]                                 |     __asm ("strd r4, r4, [r6]");
    0x00012c4a str r4, [r6, 8]                                   |     var_8h_2 = r4;
    0x00012c4c blx 0x5a68                                        |     unit_load_state ();
    0x00012c50 blx 0x6420                                        |     r0 = fcn_00006420 ();
    0x00012c54 mov r7, r0                                        |     r7 = r0;
    0x00012c56 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00012c58 beq.w 0x12e76                                     |         goto label_68;
                                                                 |     }
    0x00012c5a strh r5, [r1, 8]                                  |     *((r1 + 8)) = r5;
    0x00012c5c ldr r3, [pc, 0x264]                               |     r3 = *(0x12ec4);
    0x00012c5e movs r2, 1                                        |     r2 = 1;
    0x00012c60 ldr r1, [pc, 0x264]                               |     
    0x00012c62 mov r0, sb                                        |     r0 = sb;
    0x00012c64 ldr.w r3, [r8, r3]                                |     r3 = *((r8 + r3));
    0x00012c68 str r2, [sp]                                      |     *(sp) = r2;
    0x00012c6a add r1, pc                                        |     r1 = 0x25b36;
    0x00012c6c ldr r2, [pc, 0x25c]                               |     
    0x00012c6e strd r4, r5, [sp, 8]                              |     __asm ("strd r4, r5, [var_8h]");
    0x00012c72 str r6, [sp, 4]                                   |     var_4h = r6;
    0x00012c74 add r2, pc                                        |     r2 = 0x25b44;
    0x00012c76 blx 0x5c14                                        |     r0 = fcn_00005c14 ();
    0x00012c7a subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00012c7c blt.w 0x12dc4                                     |         goto label_69;
                                                                 |     }
    0x00012c80 ldr r4, [r5, 8]                                   |     r4 = var_14h_2;
    0x00012c82 cbnz r4, 0x12caa                                  |     
                                                                 |     while (r0 != 0) {
    0x00012c84 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
    0x00012c88 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00012c8a beq.w 0x12e64                                     |             goto label_70;
                                                                 |         }
    0x00012c8e cmp r0, 0x10                                      |         
                                                                 |         if (r0 != 0x10) {
    0x00012c90 bne.w 0x12e0a                                     |             goto label_71;
                                                                 |         }
    0x00012c94 ldr r4, [pc, 0x238]                               |         
    0x00012c96 add r4, pc                                        |         r4 = 0x25b6a;
                                                                 | label_3:
    0x00012c98 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
    0x00012c9c cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00012c9e bne.w 0x12e18                                     |             goto label_72;
                                                                 |         }
    0x00012ca0 strh r3, [r7, 4]                                  |         *((r7 + 4)) = r3;
                                                                 | label_0:
    0x00012ca2 ldr.w sb, [pc, 0x230]                             |         
    0x00012ca6 add sb, pc                                        |         sb = 0x25b80;
    0x00012ca8 b 0x12ce6                                         |         goto label_1;
    0x00012caa ldr r1, [pc, 0x22c]                               |         
    0x00012cac mov r0, r4                                        |         r0 = r4;
    0x00012cae add r1, pc                                        |         r1 = 0x25b8c;
    0x00012cb0 blx 0x655c                                        |         r0 = fcn_0000655c ();
    0x00012cb4 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00012cb6 beq.w 0x12e4c                                     |             goto label_73;
                                                                 |         }
    0x00012cba ldr r1, [pc, 0x220]                               |         
    0x00012cbc mov r0, r4                                        |         r0 = r4;
    0x00012cbe add r1, pc                                        |         r1 = 0x25ba0;
    0x00012cc0 blx 0x655c                                        |         r0 = fcn_0000655c ();
    0x00012cc4 cmp r0, 0                                         |         
    0x00012cc6 bne 0x12c84                                       |         
                                                                 |     }
    0x00012cc8 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00012ccc cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00012cce bne.w 0x12e96                                     |         goto label_74;
                                                                 |     }
    0x00012cd2 ldr r4, [pc, 0x20c]                               |     
    0x00012cd4 add r4, pc                                        |     r4 = 0x25bba;
                                                                 | label_7:
    0x00012cd6 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00012cda cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00012cdc bne.w 0x12e8e                                     |         goto label_75;
                                                                 |     }
    0x00012ce0 ldr.w sb, [pc, 0x200]                             |     
    0x00012ce4 add sb, pc                                        |     sb = 0x25bcc;
                                                                 | label_1:
    0x00012ce6 movs r0, 5                                        |     r0 = 5;
    0x00012ce8 blx 0x6644                                        |     sd_bus_message_close_container ();
    0x00012cec ldr r2, [pc, 0x1f8]                               |     
    0x00012cee mov r3, r0                                        |     r3 = r0;
    0x00012cf0 ldr r1, [pc, 0x1f8]                               |     
    0x00012cf2 movs r0, 1                                        |     r0 = 1;
    0x00012cf4 ldr.w r2, [r8, r2]                                |     r2 = *((r8 + r2));
    0x00012cf8 str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x00012cfc add r1, pc                                        |     r1 = 0x25bec;
    0x00012cfe ldr r2, [r2]                                      |     r2 = *(0x12ee8);
    0x00012d00 cmp r2, 0                                         |     
    0x00012d02 it eq                                             |     
                                                                 |     if (r2 != 0) {
    0x00012d04 moveq r2, r7                                      |         r2 = r7;
                                                                 |     }
    0x00012d06 str r2, [sp, 4]                                   |     var_4h = r2;
    0x00012d08 mov r2, r4                                        |     r2 = r4;
    0x00012d0a blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d0e ldr r3, [r5, 8]                                   |     r3 = var_14h_2;
    0x00012d10 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00012d12 beq.w 0x12e70                                     |         goto label_76;
                                                                 |     }
                                                                 | label_5:
    0x00012d16 ldr r1, [pc, 0x1d8]                               |     
    0x00012d18 mov r2, r4                                        |     r2 = r4;
    0x00012d1a movs r0, 1                                        |     r0 = 1;
    0x00012d1c str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x00012d20 add r1, pc                                        |     r1 = 0x25c16;
    0x00012d22 blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d26 ldr r1, [pc, 0x1cc]                               |     
    0x00012d28 movs r0, 1                                        |     r0 = 1;
    0x00012d2a ldr r2, [r5, 0x14]                                |     r2 = var_34h;
    0x00012d2c add r1, pc                                        |     r1 = 0x25c26;
    0x00012d2e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d32 ldr r1, [pc, 0x1c4]                               |     
    0x00012d34 movs r0, 1                                        |     r0 = 1;
    0x00012d36 ldr r2, [r5, 0x10]                                |     r2 = var_30h;
    0x00012d38 add r1, pc                                        |     r1 = 0x25c36;
    0x00012d3a blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d3e ldr r3, [pc, 0x1bc]                               |     
    0x00012d40 movs r1, 0x26                                     |     r1 = 0x26;
    0x00012d42 add r0, sp, 0x44                                  |     r0 += var_44h;
    0x00012d44 ldr.w r3, [r8, r3]                                |     r3 = *((r8 + r3));
    0x00012d48 ldr r3, [r3]                                      |     r3 = *(0x12efe);
    0x00012d4a str r3, [sp]                                      |     *(sp) = r3;
    0x00012d4c ldrd r2, r3, [r5, 0x18]                           |     __asm ("ldrd r2, r3, [var_38h]");
    0x00012d50 blx 0x64bc                                        |     fcn_000064bc ();
    0x00012d54 ldrd r2, r3, [r5, 0x18]                           |     __asm ("ldrd r2, r3, [var_38h]");
    0x00012d58 mov r4, r0                                        |     r4 = r0;
    0x00012d5a mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00012d5e add r0, sp, 0x6c                                  |     r0 += var_6ch;
    0x00012d60 blx 0x6210                                        |     fcn_00006210 ();
    0x00012d64 ldr r1, [pc, 0x198]                               |     
    0x00012d66 mov r3, r0                                        |     r3 = r0;
    0x00012d68 mov r2, r4                                        |     r2 = r4;
    0x00012d6a movs r0, 1                                        |     r0 = 1;
    0x00012d6c add r1, pc                                        |     r1 = 0x25c70;
    0x00012d6e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d72 ldr r2, [r5, 0xc]                                 |     r2 = var_2ch;
    0x00012d74 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00012d76 beq 0x12e6a                                       |         goto label_77;
                                                                 |     }
                                                                 | label_4:
    0x00012d78 ldr r1, [pc, 0x188]                               |     
    0x00012d7a movs r0, 1                                        |     r0 = 1;
    0x00012d7c add r1, pc                                        |     r1 = 0x25c84;
    0x00012d7e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00012d82 ldr r3, [pc, 0x184]                               |     r3 = *(0x12f0a);
    0x00012d84 ldr.w r3, [r8, r3]                                |     r3 = *((r8 + r3));
    0x00012d88 ldr r4, [r3]                                      |     r4 = *(0x12f0a);
    0x00012d8a bics r4, r4, 2                                    |     __asm ("bics r4, r4, 2");
    0x00012d8e it ne                                             |     
                                                                 |     if (r0 == 1) {
    0x00012d90 movne r4, 0                                       |         r4 = 0;
                                                                 |     }
                                                                 |     if (r0 == 1) {
    0x00012d92 bne 0x12ddc                                       |         
    0x00012d94 blx 0x6318                                        |         fcn_00006318 ();
    0x00012d98 ldr.w sb, [r5, 0xc]                               |         sb = var_2ch;
    0x00012d9c cmp r0, 0xb                                       |         
    0x00012d9e ite hi                                            |         
                                                                 |         if (r0 <= 0xb) {
    0x00012da0 subhi r8, r0, 0xb                                 |             r8 = r0 - 0xb;
                                                                 |         }
                                                                 |         if (r0 <= 0xb) {
    0x00012da4 mov r8, r4                                        |             r8 = r4;
                                                                 |         }
    0x00012da6 cmp.w sb, 0                                       |         
                                                                 |         if (sb == 0) {
    0x00012daa beq 0x12eaa                                       |             goto label_78;
                                                                 |         }
                                                                 | label_8:
    0x00012dac bl 0x1236c                                        |         fcn_0001236c ();
    0x00012db0 ldr r2, [pc, 0x158]                               |         
    0x00012db2 mov r3, r8                                        |         r3 = r8;
    0x00012db4 str r0, [sp]                                      |         *(sp) = r0;
    0x00012db6 mov r1, sb                                        |         r1 = sb;
    0x00012db8 ldr r0, [pc, 0x154]                               |         
    0x00012dba add r2, pc                                        |         r2 = 0x25cca;
    0x00012dbc add r0, pc                                        |         r0 = 0x25cd0;
    0x00012dbe blx 0x62d0                                        |         fcn_000062d0 ();
    0x00012dc2 b 0x12ddc                                         |         goto label_6;
                                                                 | label_69:
    0x00012dc4 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00012dc8 cmp r0, 2                                         |         
    0x00012dca ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x00012dcc rsble r4, r4, 0                                   |             __asm ("rsble r4, r4, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00012dce uxtble r4, r4                                     |             __asm ("uxtble r4, r4");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00012dd0 rsble r4, r4, 0                                   |             __asm ("rsble r4, r4, 0");
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x00012dd2 bgt 0x12e20                                       |             goto label_79;
                                                                 |         }
                                                                 | label_2:
    0x00012dd4 cmp r4, 0                                         |         
    0x00012dd6 it ge                                             |         
                                                                 |         if (r4 >= 0) {
    0x00012dd8 mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |             goto label_6;
                                                                 |         }
                                                                 |     }
                                                                 | label_6:
    0x00012ddc mov r0, r7                                        |     r0 = r7;
    0x00012dde blx 0x5be4                                        |     fcn_00005be4 ();
    0x00012de0 vmax.s8 d4, d2, d24                               |     __asm ("vmax.s8 d4, d2, d24");
    0x00012de4 bl 0xc7d0                                         |     fcn_0000c7d0 (r0, r1);
    0x00012de8 mov r0, r6                                        |     r0 = r6;
    0x00012dea blx 0x6024                                        |     fcn_00006024 ();
    0x00012dee ldr r2, [pc, 0x124]                               |     
    0x00012df0 ldr r3, [pc, 0xc8]                                |     r3 = *(0x12ebc);
    0x00012df2 add r2, pc                                        |     r2 = 0x25d0c;
    0x00012df4 ldr r3, [r2, r3]                                  |     r3 = *(0x25d0c);
    0x00012df6 ldr r2, [r3]                                      |     r2 = *(0x25d0c);
    0x00012df8 ldr r3, [sp, 0x16c]                               |     r3 = var_16ch;
    0x00012dfa eors r2, r3                                       |     r2 ^= r3;
    0x00012dfc mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00012e00 bne 0x12eb2                                       |         goto label_80;
                                                                 |     }
    0x00012e02 mov r0, r4                                        |     r0 = r4;
    0x00012e04 add sp, 0x174                                     |     
    0x00012e06 pop.w {r4, r5, r6, r7, r8, sb, pc}                |     
                                                                 | label_71:
    0x00012e0a ldr r4, [pc, 0x10c]                               |     
    0x00012e0c add r4, pc                                        |     r4 = 0x25d2a;
    0x00012e0e blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00012e12 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00012e14 beq.w 0x12ca2                                     |         goto label_0;
                                                                 |     }
    0x00012e16 add r7, sp, 0x114                                 |     r7 = sp + 0x114;
                                                                 | label_72:
    0x00012e18 ldr.w sb, [pc, 0x100]                             |     
    0x00012e1c add sb, pc                                        |     sb = 0x25d3c;
    0x00012e1e b 0x12ce6                                         |     goto label_1;
                                                                 | label_79:
    0x00012e20 mov r1, r4                                        |     r1 = r4;
    0x00012e22 mov r0, r6                                        |     r0 = r6;
    0x00012e24 blx 0x566c                                        |     bus_error_message ();
    0x00012e28 ldr r3, [pc, 0xf4]                                |     
    0x00012e2a mov r1, r4                                        |     r1 = r4;
    0x00012e2c ldr r2, [pc, 0xf4]                                |     
    0x00012e2e str r0, [sp, 8]                                   |     var_8h = r0;
    0x00012e30 movs r0, 3                                        |     r0 = 3;
    0x00012e32 add r3, pc                                        |     r3 = 0x25d56;
    0x00012e34 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00012e36 add r2, pc                                        |     r2 = 0x25d5e;
    0x00012e38 ldr r3, [pc, 0xec]                                |     
    0x00012e3a adds r2, 7                                        |     r2 += 7;
    0x00012e3c add r3, pc                                        |     r3 = 0x25d68;
    0x00012e3e str r3, [sp]                                      |     *(sp) = r3;
    0x00012e40 movw r3, 0x835                                    |     r3 = 0x835;
    0x00012e44 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00012e48 mov r4, r0                                        |     r4 = r0;
    0x00012e4a b 0x12dd4                                         |     goto label_2;
                                                                 | label_73:
    0x00012e4c blx 0x5e88                                        |     r0 = strcpy (r0, r1)
                                                                 |     if (r0 != 0) {
    0x00012e50 cbnz r0, 0x12ea4                                  |         goto label_81;
                                                                 |     }
    0x00012e52 ldr r4, [pc, 0xd8]                                |     
    0x00012e54 add r4, pc                                        |     r4 = 0x25d86;
                                                                 |     do {
    0x00012e56 blx 0x5e88                                        |         r0 = strcpy (r0, r1)
                                                                 |         if (r0 == 0) {
    0x00012e5a cbnz r0, 0x12e9c                                  |             
    0x00012e5c ldr.w sb, [pc, 0xd0]                              |             
    0x00012e60 add sb, pc                                        |             sb = 0x25d94;
    0x00012e62 b 0x12ce6                                         |             goto label_1;
                                                                 | label_70:
    0x00012e64 ldr r4, [pc, 0xcc]                                |             
    0x00012e66 add r4, pc                                        |             r4 = 0x25d9e;
    0x00012e68 b 0x12c98                                         |             goto label_3;
                                                                 | label_77:
    0x00012e6a ldr r2, [pc, 0xcc]                                |             r2 = *(0x12f3a);
                                                                 | label_9:
    0x00012e6c add r2, pc                                        |             r2 += pc;
    0x00012e6e b 0x12d78                                         |             goto label_4;
                                                                 | label_76:
    0x00012e70 ldr r3, [pc, 0xc8]                                |             
    0x00012e72 add r3, pc                                        |             r3 = 0x25db2;
    0x00012e74 b 0x12d16                                         |             goto label_5;
                                                                 | label_68:
    0x00012e76 ldr r1, [pc, 0xc8]                                |             
    0x00012e78 movw r2, 0x829                                    |             r2 = 0x829;
    0x00012e7c ldr r3, [pc, 0xc4]                                |             
    0x00012e7e movs r0, 3                                        |             r0 = 3;
    0x00012e80 add r1, pc                                        |             r1 = 0x25dc6;
    0x00012e82 add r3, pc                                        |             r3 = 0x25dca;
    0x00012e84 adds r1, 7                                        |             r1 += 7;
    0x00012e86 blx 0x65cc                                        |             r0 = fflush_and_check ();
    0x00012e8a mov r4, r0                                        |             r4 = r0;
    0x00012e8c b 0x12ddc                                         |             goto label_6;
                                                                 | label_75:
    0x00012e8e ldr.w sb, [pc, 0xb8]                              |             
    0x00012e92 add sb, pc                                        |             sb = 0x25de0;
    0x00012e94 b 0x12ce6                                         |             goto label_1;
                                                                 | label_74:
    0x00012e96 ldr r4, [pc, 0xb4]                                |             
    0x00012e98 add r4, pc                                        |             r4 = 0x25dea;
    0x00012e9a b 0x12cd6                                         |             goto label_7;
                                                                 |         }
    0x00012e9c ldr.w sb, [pc, 0xb0]                              |         
    0x00012ea0 add sb, pc                                        |         sb = 0x25df4;
    0x00012ea2 b 0x12ce6                                         |         goto label_1;
                                                                 | label_81:
    0x00012ea4 ldr r4, [pc, 0xac]                                |         
    0x00012ea6 add r4, pc                                        |         r4 = 0x25dfe;
    0x00012ea8 b 0x12e56                                         |         
                                                                 |     } while (1);
                                                                 | label_78:
    0x00012eaa ldr.w sb, [pc, 0xac]                              |     
    0x00012eae add sb, pc                                        |     sb = 0x25e0c;
    0x00012eb0 b 0x12dac                                         |     goto label_8;
                                                                 | label_80:
    0x00012eb2 blx 0x6114                                        |     fcn_00006114 ();
    0x00012eb6 nop                                               |     
    0x00012eb8 ldrb r4, [r0, 0x15]                               |     r4 = var_15h;
    0x00012eba movs r2, r0                                       |     r2 = r0;
    0x00012ebc lsls r0, r2, 0x18                                 |     r0 = r2 << 0x18;
    0x00012ebe movs r0, r0                                       |     
    0x00012ec0 ldrb r0, [r6, 0x14]                               |     r0 = var_14h_2;
    0x00012ec2 movs r2, r0                                       |     r2 = r0;
    0x00012ec4 lsls r0, r3, 0x16                                 |     r0 = r3 << 0x16;
    0x00012ec6 movs r0, r0                                       |     
                                                                 |     if (r0 <= r0) {
    0x00012ec8 ble 0x12f18                                       |         goto label_82;
                                                                 |     }
    0x00012eca movs r0, r0                                       |     
                                                                 |     if (r0 > r0) {
    0x00012ecc ble 0x12ed0                                       |         
    0x00012ece movs r0, r0                                       |         
                                                                 |     }
                                                                 |     if (r0 <= r0) {
    0x00012ed0 ble 0x12f30                                       |         goto label_83;
                                                                 |     }
    0x00012ed2 movs r0, r0                                       |     
    0x00012ed4 udf 0x12                                          |     __asm ("udf 0x12");
                                                                 |     if (r0 < r0) {
                                                                 | label_82:
    0x00012f18 blt 0x12e6c                                       |         goto label_9;
                                                                 |     }
    0x00012f1a movs r0, r0                                       |     
    0x00012f1c rev r4, r1                                        |     r1 = SWAP32 (r4);
    0x00012f1e movs r0, r0                                       |     
    0x00012f20 subw r0, sl, 0x800                                |     __asm ("subw r0, sl, 0x800");
    0x00012f22 movs r0, r0                                       |     
    0x00012f24 invalid                                           |     
                                                                 |     if (r0 <= r0) {
                                                                 | label_83:
    0x00012f30 bgt 0x12fe4                                       |         
    0x00012f32 movs r0, r0                                       |         
                                                                 |         if (r0 <= r0) {
    0x00012f34 bgt 0x12fdc                                       |             
    0x00012f36 movs r0, r0                                       |             
    0x00012f38 invalid                                           |             
                                                                 |         }
    0x00012fdc vstr d16, [r4, 0x140]                             |         __asm ("vstr d16, [r4, 0x140]");
    0x00012fe0 vstr d16, [r4, 0x148]                             |         __asm ("vstr d16, [r4, 0x148]");
                                                                 |     }
    0x00012fe4 vstr d16, [r4, 0x150]                             |     __asm ("vstr d16, [r4, 0x150]");
    0x00012fe8 vstr d16, [r4, 0x158]                             |     __asm ("vstr d16, [r4, 0x158]");
    0x00012fec vstr d16, [r4, 0x160]                             |     __asm ("vstr d16, [r4, 0x160]");
    0x00012ff0 vstr d16, [r4, 0x168]                             |     __asm ("vstr d16, [r4, 0x168]");
    0x00012ff2 lsrs r2, r3, 0xd                                  |     r2 = r3 >> 0xd;
    0x00012ff4 vstr d16, [r4, 0x170]                             |     __asm ("vstr d16, [r4, 0x170]");
    0x00012ff8 vstr d16, [r4, 0x178]                             |     __asm ("vstr d16, [r4, 0x178]");
    0x00012ffc str r3, [sp, 0x38]                                |     var_38h = r3;
    0x00012ffe cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00013000 beq.w 0x135a0                                     |         goto label_84;
                                                                 |     }
    0x00013004 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00013008 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x0001300a bgt 0x130fa                                       |         goto label_85;
                                                                 |     }
    0x0001300c cmp r7, 1                                         |     
                                                                 |     if (r7 == 1) {
    0x0001300e beq 0x130f2                                       |         goto label_86;
                                                                 |     }
    0x00013010 ldr.w r3, [pc, 0xb48]                             |     
    0x00013014 add r3, pc                                        |     r3 = 0x26b74;
                                                                 | label_11:
    0x00013016 ldr r1, [sp, 0x30]                                |     r1 = var_30h;
    0x00013018 mov r2, r6                                        |     r2 = r6;
    0x0001301a mov r0, r5                                        |     r0 = r5;
    0x0001301c str r4, [sp, 0xc]                                 |     var_ch = r4;
    0x0001301e str r1, [sp, 8]                                   |     var_8h = r1;
    0x00013020 ldr r1, [sp, 0x34]                                |     r1 = var_34h;
    0x00013022 str r1, [sp, 4]                                   |     var_4h = r1;
    0x00013024 movs r1, 2                                        |     r1 = 2;
    0x00013026 str r1, [sp]                                      |     *(sp) = r1;
    0x00013028 ldr.w r1, [pc, 0xb34]                             |     
    0x0001302c add r1, pc                                        |     r1 = 0x26b90;
    0x0001302e blx 0x5c14                                        |     fcn_00005c14 ();
    0x00013032 subs r6, r0, 0                                    |     r6 -= var_20h;
                                                                 |     if (r6 < var_20h) {
    0x00013034 blt 0x13122                                       |         goto label_87;
                                                                 |     }
    0x00013036 cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x0001303a beq 0x13044                                       |         
    0x0001303c ldr r0, [r4, 4]                                   |         r0 = *((r4 + 4));
    0x0001303e cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00013040 bne.w 0x133f2                                     |             goto label_88;
                                                                 |         }
                                                                 |     }
                                                                 | label_18:
    0x00013044 ldrb.w r3, [sb]                                   |     r3 = *(sb);
    0x00013048 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001304a bne.w 0x1327c                                     |         goto label_19;
                                                                 |     }
    0x0001304e movs r3, 1                                        |     r3 = 1;
    0x00013050 cmp r7, r3                                        |     
    0x00013052 strb.w r3, [sb]                                   |     *(sb) = r3;
                                                                 |     if (r7 == r3) {
    0x00013056 beq.w 0x1328e                                     |         goto label_89;
                                                                 |     }
                                                                 | label_15:
    0x0001305a cmp r7, 2                                         |     
                                                                 |     if (r7 == 2) {
    0x0001305c beq.w 0x135bc                                     |         goto label_90;
                                                                 |     }
                                                                 | label_20:
    0x00013060 ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x00013062 movs r1, 1                                        |     r1 = 1;
    0x00013064 ldr r0, [r3]                                      |     r0 = *(r3);
    0x00013066 blx 0x5ee8                                        |     r0 = raise (r0);
    0x0001306a subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x0001306c blt.w 0x133b0                                     |         goto label_91;
                                                                 |     }
    0x00013070 ldr r1, [sp, 0x38]                                |     r1 = var_38h;
    0x00013072 ldr.w r2, [pc, 0xaf0]                             |     r2 = *(0x13b66);
    0x00013074 cmp r2, 0xf0                                      |     
    0x00013076 ldr.w r3, [pc, 0xaf0]                             |     
    0x0001307a ldr r6, [r1, r2]                                  |     r6 = *((r1 + r2));
    0x0001307c ldr r3, [r1, r3]                                  |     r3 = *((r1 + r3));
    0x0001307e ldr r2, [sp, 0x2c]                                |     r2 = var_2ch;
    0x00013080 ldr.w r1, [pc, 0xae8]                             |     
    0x00013084 ldr r3, [r3]                                      |     r3 = *(0x13b6a);
    0x00013086 str r2, [sp]                                      |     *(sp) = r2;
    0x00013088 ldr r2, [sp, 0x30]                                |     r2 = var_30h;
    0x0001308a add r1, pc                                        |     r1 = 0x26bfa;
    0x0001308c ldr r0, [r2]                                      |     r0 = *(0x13b66);
    0x0001308e ldr r2, [r6]                                      |     r2 = *(r6);
    0x00013090 blx 0x5b64                                        |     show_man_page ();
    0x00013092 stcl p14, c1, [r8, -0x14]!                        |     __asm ("stcl p14, c1, [r8, -0x14]!");
                                                                 |     if (r2 < 0xf0) {
    0x00013096 blt.w 0x13242                                     |         goto label_92;
                                                                 |     }
    0x0001309a ldr r6, [r6]                                      |     r6 = *(r6);
    0x0001309c cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0001309e beq.w 0x133ee                                     |         goto label_22;
                                                                 |     }
    0x000130a2 ldr.w r8, [pc, 0xacc]                             |     
    0x000130a6 subs r7, r6, 4                                    |     r7 = r6 - 4;
    0x000130a8 ldr.w r6, [pc, 0xac8]                             |     
    0x000130ac add r8, pc                                        |     r8 = 0x26c22;
    0x000130ae add.w r8, r8, 7                                   |     r8 += 7;
    0x000130b2 add r6, pc                                        |     r6 = 0x26c2a;
                                                                 |     do {
                                                                 | label_10:
    0x000130b4 ldr r1, [r7, 4]!                                  |         r1 = *((r7 += 4));
    0x000130b8 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x000130ba beq.w 0x133ec                                     |             goto label_93;
                                                                 |         }
    0x000130be ldr r3, [sp, 0x2c]                                |         r3 = var_2ch;
    0x000130c0 ldr r0, [r3]                                      |         r0 = *(r3);
    0x000130c2 blx 0x654c                                        |         r0 = fcn_0000654c ();
    0x000130c6 mov r5, r0                                        |         r5 = r0;
    0x000130c8 cmp r0, 0                                         |         
    0x000130ca bne 0x130b4                                       |         
                                                                 |     } while (r0 != 0);
    0x000130cc blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000130d0 cmp r0, 6                                         |     
                                                                 |     if (r0 <= 6) {
    0x000130d2 ble 0x130b4                                       |         goto label_10;
                                                                 |     }
    0x000130d4 ldr r3, [r7]                                      |     r3 = *(r7);
    0x000130d6 mov r1, r5                                        |     r1 = r5;
    0x000130d8 mov r2, r8                                        |     r2 = r8;
    0x000130da movs r0, 7                                        |     r0 = 7;
    0x000130dc strd r6, r3, [sp, 4]                              |     __asm ("strd r6, r3, [var_8h]");
    0x000130e0 ldr.w r3, [pc, 0xa94]                             |     
    0x000130e4 add r3, pc                                        |     r3 = 0x26c60;
    0x000130e6 str r3, [sp]                                      |     *(sp) = r3;
    0x000130e8 movw r3, 0x7db                                    |     r3 = 0x7db;
    0x000130ec blx 0x61a4                                        |     fcn_000061a4 ();
    0x000130f0 b 0x130b4                                         |     goto label_10;
                                                                 | label_86:
    0x000130f2 ldr.w r3, [pc, 0xa88]                             |     
    0x000130f6 add r3, pc                                        |     r3 = 0x26c78;
    0x000130f8 b 0x13016                                         |     goto label_11;
                                                                 | label_85:
    0x000130fa ldr.w r3, [pc, 0xa84]                             |     
    0x000130fe mov r1, sl                                        |     r1 = sl;
    0x00013100 ldr.w r2, [pc, 0xa80]                             |     
    0x00013104 movs r0, 7                                        |     r0 = 7;
    0x00013106 str r6, [sp, 8]                                   |     var_8h = r6;
    0x00013108 add r3, pc                                        |     r3 = 0x26c8e;
    0x0001310a str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001310c add r2, pc                                        |     r2 = 0x26c94;
    0x0001310e ldr.w r3, [pc, 0xa78]                             |     
    0x00013112 adds r2, 7                                        |     r2 += 7;
    0x00013114 add r3, pc                                        |     r3 = 0x26ca2;
    0x00013116 str r3, [sp]                                      |     *(sp) = r3;
    0x00013118 movw r3, 0x7a7                                    |     r3 = 0x7a7;
    0x0001311c blx 0x61a4                                        |     fcn_000061a4 ();
    0x0001311e strex r7, lr, [r2, 0x1d0]                         |     __asm ("strex r7, lr, [r2, 0x1d0]");
                                                                 | label_87:
    0x00013122 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00013126 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00013128 bgt 0x13210                                       |         goto label_94;
                                                                 |     }
                                                                 | label_16:
    0x0001312a rsbs r6, r6, 0                                    |     r6 -= ;
    0x0001312c uxtb r6, r6                                       |     r6 = (int8_t) r6;
    0x0001312e rsbs r6, r6, 0                                    |     r6 -= ;
                                                                 | label_14:
    0x00013130 ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00013132 cmp r6, 0                                         |     
    0x00013134 it ge                                             |     
                                                                 |     if (r6 < 0) {
    0x00013136 mvnge r6, 0x55                                    |         r6 = ~0x55;
                                                                 |     }
    0x00013138 lsls r5, r2, 0x19                                 |     r5 = r2 << 0x19;
                                                                 | label_17:
    0x0001313a mov r0, r5                                        |     r0 = r5;
    0x0001313c blx 0x5dec                                        |     unit_file_state_to_string ();
    0x00013140 ldr r0, [r4, 0x34]                                |     r0 = *((r4 + 0x34));
    0x00013142 blx 0x5dec                                        |     unit_file_state_to_string ();
    0x00013146 ldr r0, [r4, 0x38]                                |     r0 = *((r4 + 0x38));
    0x00013148 blx 0x5dec                                        |     unit_file_state_to_string ();
    0x0001314c ldr r0, [r4, 0x3c]                                |     r0 = *((r4 + 0x3c));
    0x0001314e blx 0x5dec                                        |     unit_file_state_to_string ();
    0x00013152 ldr.w r0, [r4, 0xf8]                              |     r0 = *((r4 + 0xf8));
    0x00013156 blx 0x5dec                                        |     unit_file_state_to_string ();
    0x0001315a ldr.w r5, [r4, 0xbc]                              |     r5 = *((r4 + 0xbc));
                                                                 |     if (r5 != 0) {
    0x0001315e cbnz r5, 0x1317e                                  |         goto label_95;
                                                                 |     }
    0x00013160 b 0x1319c                                         |     goto label_96;
                                                                 |     do {
    0x00013162 ldr r2, [r5, 0x10]                                |         r2 = *((r5 + 0x10));
    0x00013164 str r2, [r3, 0x10]                                |         *((r3 + 0x10)) = r2;
                                                                 | label_12:
    0x00013166 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00013168 blx 0x5be4                                        |         fcn_00005be4 ();
    0x0001316c ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0001316e blx 0x5be4                                        |         fcn_00005be4 ();
    0x00013172 mov r0, r5                                        |         r0 = r5;
    0x00013174 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00013178 ldr.w r5, [r4, 0xbc]                              |         r5 = *((r4 + 0xbc));
                                                                 |         if (r5 == 0) {
    0x0001317c cbz r5, 0x1319c                                   |             goto label_96;
                                                                 |         }
                                                                 | label_95:
    0x0001317e ldr r3, [r5, 0x10]                                |         r3 = *((r5 + 0x10));
                                                                 |         if (r3 != 0) {
    0x00013180 cbz r3, 0x13186                                   |             
    0x00013182 ldr r2, [r5, 0x14]                                |             r2 = *((r5 + 0x14));
    0x00013184 str r2, [r3, 0x14]                                |             *((r3 + 0x14)) = r2;
                                                                 |         }
    0x00013186 ldr r3, [r5, 0x14]                                |         r3 = *((r5 + 0x14));
    0x00013188 cmp r3, 0                                         |         
    0x0001318a bne 0x13162                                       |         
                                                                 |     } while (r3 != 0);
    0x0001318c ldr.w r3, [r4, 0xbc]                              |     r3 = *((r4 + 0xbc));
    0x00013190 cmp r3, r5                                        |     
                                                                 |     if (r3 != r5) {
    0x00013192 bne 0x131f4                                       |         goto label_97;
                                                                 |     }
    0x00013194 ldr r3, [r5, 0x10]                                |     r3 = *((r5 + 0x10));
    0x00013196 str.w r3, [r4, 0xbc]                              |     __asm ("str.w r3, [r4, 0xbc]");
    0x0001319a b 0x13166                                         |     goto label_12;
                                                                 | label_96:
    0x0001319c ldr.w r5, [r4, 0x190]                             |     r5 = *((r4 + 0x190));
    0x000131a0 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x000131a2 beq.w 0x13364                                     |         goto label_98;
                                                                 |     }
    0x000131a6 movs r7, 0                                        |     r7 = 0;
    0x000131a8 b 0x131d4                                         |     
                                                                 |     while (r3 != 0) {
    0x000131aa ldr r2, [r5, 0x30]                                |         r2 = *((r5 + 0x30));
    0x000131ac str r2, [r3, 0x30]                                |         *((r3 + 0x30)) = r2;
                                                                 | label_13:
    0x000131ae ldr r0, [r5]                                      |         r0 = *(r5);
    0x000131b0 strd r7, r7, [r5, 0x30]                           |         __asm ("strd r7, r7, [r5, 0x30]");
    0x000131b4 blx 0x5be4                                        |         fcn_00005be4 ();
    0x000131b8 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x000131ba blx 0x5be4                                        |         fcn_00005be4 ();
    0x000131be ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x000131c0 blx 0x5dec                                        |         unit_file_state_to_string ();
    0x000131c4 mov r0, r5                                        |         r0 = r5;
    0x000131c6 blx 0x5be4                                        |         fcn_00005be4 ();
    0x000131ca ldr.w r5, [r4, 0x190]                             |         r5 = *((r4 + 0x190));
    0x000131ce cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x000131d0 beq.w 0x13364                                     |             goto label_98;
                                                                 |         }
    0x000131d4 ldr r3, [r5, 0x30]                                |         r3 = *((r5 + 0x30));
                                                                 |         if (r3 != 0) {
    0x000131d6 cbz r3, 0x131dc                                   |             
    0x000131d8 ldr r2, [r5, 0x34]                                |             r2 = *((r5 + 0x34));
    0x000131da str r2, [r3, 0x34]                                |             *((r3 + 0x34)) = r2;
                                                                 |         }
    0x000131dc ldr r3, [r5, 0x34]                                |         r3 = *((r5 + 0x34));
    0x000131de cmp r3, 0                                         |         
    0x000131e0 bne 0x131aa                                       |         
                                                                 |     }
    0x000131e2 ldr.w r3, [r4, 0x190]                             |     r3 = *((r4 + 0x190));
    0x000131e6 cmp r3, r5                                        |     
                                                                 |     if (r3 != r5) {
    0x000131e8 bne.w 0x13628                                     |         goto label_99;
                                                                 |     }
    0x000131ec ldr r3, [r5, 0x30]                                |     r3 = *((r5 + 0x30));
    0x000131ee str.w r3, [r4, 0x190]                             |     __asm ("str.w r3, [r4, 0x190]");
    0x000131f2 b 0x131ae                                         |     goto label_13;
                                                                 | label_97:
    0x000131f4 ldr.w r1, [pc, 0x994]                             |     
    0x000131f8 movw r2, 0x115                                    |     r2 = 0x115;
    0x000131fc ldr.w r3, [pc, 0x990]                             |     
    0x000131fe subs r1, 0x90                                     |     r1 -= 0x90;
    0x00013200 ldr.w r0, [pc, 0x990]                             |     
    0x00013204 add r1, pc                                        |     r1 = 0x26d94;
    0x00013206 add r3, pc                                        |     r3 = 0x26d9a;
    0x00013208 adds r1, 7                                        |     r1 += 7;
    0x0001320a add r0, pc                                        |     r0 = 0x26da2;
    0x0001320c blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_94:
    0x00013210 mov r1, r6                                        |     r1 = r6;
    0x00013212 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x00013214 blx 0x566c                                        |     bus_error_message ();
    0x00013216 bic.w r8, sl, pc, lsr 31                          |     r8 = BIT_MASK (sl, pc);
    0x0001321a subs r1, 0x7c                                     |     r1 -= 0x7c;
    0x0001321c mov r1, r6                                        |     r1 = r6;
    0x0001321e ldr.w r2, [pc, 0x97c]                             |     
    0x00013222 str r0, [sp, 8]                                   |     var_8h = r0;
    0x00013224 movs r0, 3                                        |     r0 = 3;
    0x00013226 add r3, pc                                        |     r3 += pc;
    0x00013228 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001322a add r2, pc                                        |     r2 = 0x26dcc;
    0x0001322c ldr.w r3, [pc, 0x970]                             |     
    0x00013230 adds r2, 7                                        |     r2 += 7;
    0x00013232 add r3, pc                                        |     r3 = 0x26dd6;
    0x00013234 str r3, [sp]                                      |     *(sp) = r3;
    0x00013236 movw r3, 0x7b3                                    |     r3 = 0x7b3;
    0x0001323a blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x0001323e mov r6, r0                                        |     r6 = r0;
    0x00013240 b 0x13130                                         |     goto label_14;
                                                                 | label_92:
    0x00013242 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00013246 cmp r0, 2                                         |     
    0x00013248 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001324a rsble r6, r5, 0                                   |         __asm ("rsble r6, r5, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001324c uxtble r6, r6                                     |         __asm ("uxtble r6, r6");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001324e rsble r6, r6, 0                                   |         __asm ("rsble r6, r6, 0");
                                                                 |         goto label_100;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_100:
    0x00013250 ble.w 0x13130                                     |         goto label_14;
                                                                 |     }
    0x00013254 ldr.w r3, [pc, 0x94c]                             |     
    0x00013258 mov r1, r5                                        |     r1 = r5;
    0x0001325a ldr.w r2, [pc, 0x94c]                             |     
    0x0001325e movs r0, 3                                        |     r0 = 3;
    0x00013260 add r3, pc                                        |     r3 = 0x26e08;
    0x00013262 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00013264 add r2, pc                                        |     r2 = 0x26e12;
    0x00013266 ldr.w r3, [pc, 0x944]                             |     
    0x0001326a adds r2, 7                                        |     r2 += 7;
    0x0001326c add r3, pc                                        |     r3 = 0x26e1e;
    0x0001326e str r3, [sp]                                      |     *(sp) = r3;
    0x00013270 movw r3, 0x7d7                                    |     r3 = 0x7d7;
    0x00013274 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00013278 mov r6, r0                                        |     r6 = r0;
    0x0001327a b 0x13130                                         |     goto label_14;
                                                                 | label_19:
    0x0001327c movs r0, 0xa                                      |     r0 = 0xa;
    0x0001327e blx 0x59b8                                        |     fcn_000059b8 ();
    0x00013282 movs r3, 1                                        |     r3 = 1;
    0x00013284 cmp r7, r3                                        |     
    0x00013286 strb.w r3, [sb]                                   |     *(sb) = r3;
    0x00013288 adds r0, 0                                        |     r0 += 0;
                                                                 |     if (r0 != 0) {
    0x0001328a bne.w 0x1305a                                     |         goto label_15;
                                                                 |     }
                                                                 | label_89:
    0x0001328e add r3, sp, 0x78                                  |     r3 += var_78h;
    0x00013290 add.w r8, sp, 0x6c                                |     r8 += var_6ch;
    0x00013292 lsrs r4, r5, 1                                    |     r4 = r5 >> 1;
    0x00013294 add r7, sp, 0x68                                  |     r7 += var_68h;
    0x00013296 mov r2, r8                                        |     r2 = r8;
    0x00013298 mov r1, r7                                        |     r1 = r7;
    0x0001329a ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x0001329c mov r6, r3                                        |     r6 = r3;
    0x0001329e str r3, [sp, 0x48]                                |     var_48h = r3;
    0x000132a0 movs r3, 0                                        |     r3 = 0;
    0x000132a2 str r3, [r6]                                      |     *(r6) = r3;
    0x000132a4 bl 0x12b24                                        |     fcn_00012b24 (r0, r1, r2);
    0x000132a8 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x000132aa blx 0x5f3c                                        |     unit_file_add_dependency ();
    0x000132ae blx 0x5edc                                        |     running_in_chroot ();
    0x000132b2 ldr r3, [sp, 0x68]                                |     r3 = var_68h;
    0x000132b4 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x000132b6 blx 0x6644                                        |     sd_bus_message_close_container ();
    0x000132ba ldr r2, [r4]                                      |     r2 = *(r4);
    0x000132bc ldr r3, [sp, 0x6c]                                |     r3 = var_6ch;
    0x000132be str r3, [sp, 0x44]                                |     var_44h = r3;
    0x000132c0 mov r3, r0                                        |     r3 = r0;
    0x000132c2 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x000132c4 beq.w 0x141b0                                     |         goto label_101;
                                                                 |     }
                                                                 | label_40:
    0x000132c8 str r2, [sp, 4]                                   |     var_4h = r2;
    0x000132ca movs r0, 1                                        |     r0 = 1;
    0x000132cc ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x000132ce ldr.w r1, [pc, 0x8e0]                             |     
    0x000132d2 str r2, [sp]                                      |     *(sp) = r2;
    0x000132d4 add r1, pc                                        |     r1 = 0x26e8a;
    0x000132d6 ldr r2, [sp, 0x40]                                |     r2 = var_40h;
    0x000132d8 blx 0x59a0                                        |     fcn_000059a0 ();
    0x000132dc ldr r6, [r4, 0x1c]                                |     r6 = *((r4 + 0x1c));
                                                                 |     if (r6 != 0) {
    0x000132de cbz r6, 0x132f6                                   |         
    0x000132e0 ldr r0, [r4]                                      |         r0 = *(r4);
    0x000132e2 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000132e4 bne.w 0x13674                                     |             goto label_102;
                                                                 |         }
                                                                 | label_28:
    0x000132e8 ldr.w r1, [pc, 0x8c8]                             |         
    0x000132ec mov r2, r6                                        |         r2 = r6;
    0x000132ee movs r0, 1                                        |         r0 = 1;
    0x000132f0 add r1, pc                                        |         r1 = 0x26ea8;
    0x000132f2 blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
                                                                 | label_27:
    0x000132f6 movs r0, 0xa                                      |     r0 = 0xa;
    0x000132f8 blx 0x59b8                                        |     fcn_000059b8 ();
    0x000132fc ldr r2, [r4, 0x20]                                |     r2 = *((r4 + 0x20));
                                                                 |     if (r2 != 0) {
    0x000132fe cbz r2, 0x1330c                                   |         
    0x00013300 ldr.w r1, [pc, 0x8b4]                             |         
    0x00013304 movs r0, 1                                        |         r0 = 1;
    0x00013306 add r1, pc                                        |         r1 = 0x26ec2;
    0x00013308 blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
    0x0001330c ldr r7, [r4, 4]                                   |     r7 = *((r4 + 4));
    0x0001330e cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00013310 beq.w 0x13454                                     |         goto label_103;
                                                                 |     }
    0x00013314 ldr.w r3, [pc, 0x8a4]                             |     
    0x00013318 add r6, sp, 0x244                                 |     r6 += arg_244h;
    0x0001331a add r3, pc                                        |     r3 = 0x26eda;
    0x0001331c adds r3, 0xc                                      |     r3 += 0xc;
    0x0001331e ldm r3, {r0, r1, r2, r3}                          |     r0 = *(r3);
                                                                 |     r1 = *((r3 + 4));
                                                                 |     r2 = *((r3 + 8));
                                                                 |     r3 = *((r3 + 12));
    0x00013320 stm.w r6, {r0, r1, r2, r3}                        |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
                                                                 |     *((r6 + 12)) = r3;
    0x00013324 mov r1, r7                                        |     r1 = r7;
    0x00013326 mov r0, r6                                        |     r0 = r6;
    0x00013328 blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x0001332c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001332e beq.w 0x13454                                     |         goto label_103;
                                                                 |     }
    0x00013332 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00013336 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00013338 beq.w 0x142fc                                     |         goto label_104;
                                                                 |     }
    0x0001333c ldr.w r6, [pc, 0x880]                             |     
    0x00013340 add r6, pc                                        |     r6 = 0x26f04;
                                                                 | label_48:
    0x00013342 add.w fp, sp, 0x70                                |     
    0x00013346 str.w r6, [fp]                                    |     __asm ("str.w r6, [fp]");
    0x00013348 str r0, [r0]                                      |     *(r0) = r0;
    0x0001334a blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x0001334e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00013350 bne.w 0x142f2                                     |         goto label_105;
                                                                 |     }
    0x00013354 ldr.w sb, [pc, 0x86c]                             |     
    0x00013358 add sb, pc                                        |     sb = 0x26f20;
                                                                 | label_47:
    0x0001335a add.w r8, sp, 0x74                                |     r8 += var_74h;
    0x0001335e str.w sb, [r8]                                    |     __asm ("str.w sb, [r8]");
    0x00013362 b 0x1346e                                         |     goto label_106;
                                                                 | label_98:
    0x00013364 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00013366 ldr r0, [r3]                                      |     r0 = *(r3);
                                                                 |     if (r0 != 0) {
    0x00013368 cbz r0, 0x13376                                   |         
    0x0001336a movs r2, 0                                        |         r2 = 0;
    0x0001336c mov r1, r2                                        |         r1 = r2;
    0x0001336e blx 0x648c                                        |         fcn_0000648c ();
    0x00013370 invalid                                           |         
    0x00013374 str r0, [r3]                                      |         *(r3) = r0;
                                                                 |     }
    0x00013376 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x00013378 blx 0x6024                                        |     fcn_00006024 ();
    0x0001337c ldr r3, [sp, 0x30]                                |     r3 = var_30h;
    0x0001337e ldr r0, [r3]                                      |     r0 = *(r3);
                                                                 |     if (r0 != 0) {
    0x00013380 cbz r0, 0x13386                                   |         
    0x00013382 blx 0x582c                                        |         fcn_0000582c ();
                                                                 |     }
    0x00013386 ldr.w r2, [pc, 0x840]                             |     
    0x0001338a ldr.w r3, [pc, 0x7c8]                             |     r3 = *(0x13b56);
    0x0001338e add r2, pc                                        |     r2 = 0x26f5c;
    0x00013390 ldr r3, [r2, r3]                                  |     r3 = *(0x26f5c);
    0x00013392 ldr r2, [r3]                                      |     r2 = *(0x26f5c);
    0x00013394 ldr.w r3, [sp, 0x4a4]                             |     r3 = *(arg_4a4h);
    0x00013398 eors r2, r3                                       |     r2 ^= r3;
    0x0001339a mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0001339e bne.w 0x147e0                                     |         goto label_107;
                                                                 |     }
    0x000133a2 mov r0, r6                                        |     r0 = r6;
    0x000133a4 addw sp, sp, 0x4ac                                |     __asm ("addw sp, sp, 0x4ac");
    0x000133a6 ldr r5, [pc, 0x2b0]                               |     r5 = *(0x1365a);
    0x000133a8 vpop {d8}                                         |     __asm ("vpop {d8}");
    0x000133ac pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_91:
    0x000133b0 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000133b4 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000133b6 ble.w 0x1312a                                     |         goto label_16;
                                                                 |     }
    0x000133ba mov r1, r6                                        |     r1 = r6;
    0x000133bc ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x000133be blx 0x566c                                        |     bus_error_message ();
    0x000133c2 ldr.w r3, [pc, 0x808]                             |     
    0x000133c4 subs r0, 8                                        |     r0 -= 8;
    0x000133c6 mov r1, r6                                        |     r1 = r6;
    0x000133c8 ldr.w r2, [pc, 0x804]                             |     
    0x000133cc str r0, [sp, 8]                                   |     var_8h = r0;
    0x000133ce movs r0, 3                                        |     r0 = 3;
    0x000133d0 add r3, pc                                        |     r3 = 0x26fa2;
    0x000133d2 str r3, [sp, 4]                                   |     var_4h = r3;
    0x000133d4 add r2, pc                                        |     r2 = 0x26fa8;
    0x000133d6 ldr.w r3, [pc, 0x7fc]                             |     
    0x000133da adds r2, 7                                        |     r2 += 7;
    0x000133dc add r3, pc                                        |     r3 = 0x26fb6;
    0x000133de str r3, [sp]                                      |     *(sp) = r3;
    0x000133e0 movw r3, 0x7d3                                    |     r3 = 0x7d3;
    0x000133e4 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000133e8 mov r6, r0                                        |     r6 = r0;
    0x000133ea b 0x13130                                         |     goto label_14;
                                                                 | label_93:
    0x000133ec mov r6, r1                                        |     r6 = r1;
                                                                 | label_22:
    0x000133ee ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x000133f0 b 0x1313a                                         |     goto label_17;
                                                                 | label_88:
    0x000133f2 ldr.w r1, [pc, 0x7e4]                             |     
    0x000133f6 add r1, pc                                        |     r1 = 0x26fd4;
    0x000133f8 blx 0x655c                                        |     fcn_0000655c ();
    0x000133fa ldm.w r0!, {fp, sp}                               |     fp = *(r0!);
                                                                 |     sp = *((r0! + 4));
                                                                 |     if (r2 != 7) {
    0x000133fe bne.w 0x13044                                     |         goto label_18;
                                                                 |     }
    0x00013402 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x00013404 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00013406 beq.w 0x13044                                     |         goto label_18;
                                                                 |     }
    0x0001340a ldr.w r1, [pc, 0x7d0]                             |     
    0x0001340e add r1, pc                                        |     r1 = 0x26ff0;
    0x00013410 blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x00013414 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00013416 bne.w 0x13044                                     |         goto label_18;
                                                                 |     }
    0x0001341a blx 0x5934                                        |     fcn_00005934 ();
    0x0001341e cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00013420 beq.w 0x13644                                     |         goto label_108;
                                                                 |     }
    0x00013424 cmp r0, 2                                         |     
    0x00013426 it gt                                             |     
                                                                 |     if (r0 <= 2) {
    0x00013428 movgt r0, 3                                       |         r0 = 3;
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001342a bgt.w 0x1364c                                     |         goto label_109;
                                                                 |     }
                                                                 | label_26:
    0x0001342e cmp r7, 1                                         |     
                                                                 |     if (r7 == 1) {
    0x00013430 beq.w 0x1468e                                     |         goto label_110;
                                                                 |     }
    0x00013434 cmp r7, 2                                         |     
    0x00013436 itt eq                                            |     
                                                                 |     if (r7 != 2) {
    0x00013438 ldreq r5, [r4, 0x24]                              |         r5 = *((r4 + 0x24));
                                                                 |     }
                                                                 |     if (r7 == 2) {
    0x0001343a mvneq r6, 1                                       |         r6 = ~1;
                                                                 |         goto label_111;
                                                                 |     }
                                                                 |     if (r7 == 2) {
                                                                 | label_111:
    0x0001343e beq.w 0x1313a                                     |         goto label_17;
                                                                 |     }
    0x00013440 add r6, sp, 0x1f0                                 |     r6 = sp + 0x1f0;
                                                                 | label_25:
    0x00013442 ldrb.w r3, [sb]                                   |     r3 = *(sb);
    0x00013446 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00013448 bne.w 0x1327c                                     |         goto label_19;
                                                                 |     }
    0x0001344c movs r3, 1                                        |     r3 = 1;
    0x0001344e strb.w r3, [sb]                                   |     *(sb) = r3;
    0x00013452 b 0x13060                                         |     goto label_20;
                                                                 | label_103:
    0x00013454 ldr.w r3, [pc, 0x788]                             |     
    0x00013458 add.w r8, sp, 0x74                                |     r8 += var_74h;
    0x0001345c add.w fp, sp, 0x70                                |     
    0x00013460 add r3, pc                                        |     r3 = 0x27044;
    0x00013462 mov sb, r3                                        |     sb = r3;
    0x00013464 mov r6, r3                                        |     r6 = r3;
    0x00013466 str.w r3, [r8]                                    |     __asm ("str.w r3, [r8]");
    0x0001346a str.w r3, [fp]                                    |     __asm ("str.w r3, [fp]");
                                                                 | label_106:
    0x0001346e ldr r7, [r4, 0x2c]                                |     r7 = *((r4 + 0x2c));
    0x00013470 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00013472 beq.w 0x14126                                     |         goto label_112;
                                                                 |     }
                                                                 | label_36:
    0x00013476 ldr.w sl, [sp, 0x48]                              |     sl = var_48h;
    0x0001347a movs r1, 0                                        |     r1 = 0;
    0x0001347c mov r0, r7                                        |     r0 = r7;
    0x0001347e mov r2, sl                                        |     r2 = sl;
    0x00013480 blx 0x5c44                                        |     r0 = fcn_00005c44 ();
    0x00013484 cmp r0, 0                                         |     
    0x00013486 ldr r2, [r4, 0x40]                                |     r2 = *((r4 + 0x40));
                                                                 |     if (r0 < 0) {
    0x00013488 blt.w 0x13682                                     |         goto label_113;
                                                                 |     }
    0x0001348c ldr.w r7, [sl]                                    |     r7 = *(sl);
    0x00013490 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00013492 beq.w 0x136e2                                     |         goto label_114;
                                                                 |     }
                                                                 | label_29:
    0x00013496 ldrb r3, [r2]                                     |     r3 = *(r2);
    0x00013498 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001349a beq.w 0x136e2                                     |         goto label_114;
                                                                 |     }
                                                                 | label_38:
    0x0001349e ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000134a0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000134a2 beq.w 0x14402                                     |         goto label_115;
                                                                 |     }
    0x000134a4 strh r6, [r5, 0x3c]                               |     *((r5 + 0x3c)) = r6;
                                                                 | label_49:
    0x000134a6 ldr.w r1, [pc, 0x73c]                             |     
    0x000134aa movs r0, 1                                        |     r0 = 1;
    0x000134ac strd sb, r2, [sp]                                 |     __asm ("strd sb, r2, [sp]");
    0x000134b0 mov r2, r6                                        |     r2 = r6;
    0x000134b2 add r1, pc                                        |     r1 = 0x2709c;
    0x000134b4 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_30:
    0x000134b8 ldrb.w r3, [r4, 0x71]                             |     r3 = *((r4 + 0x71));
    0x000134bc cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000134be bne.w 0x141ba                                     |         goto label_116;
                                                                 |     }
                                                                 | label_41:
    0x000134c2 ldr r7, [r4, 0x34]                                |     r7 = *((r4 + 0x34));
    0x000134c4 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x000134c6 beq.w 0x13726                                     |         goto label_117;
                                                                 |     }
    0x000134ca ldr r3, [r7]                                      |     r3 = *(r7);
    0x000134cc cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000134ce beq.w 0x13726                                     |         goto label_117;
                                                                 |     }
    0x000134d2 ldr.w r2, [pc, 0x714]                             |     
    0x000134d6 mov.w sb, 0                                       |     sb = 0;
    0x000134da ldr.w r3, [pc, 0x710]                             |     
    0x000134de mov r6, sb                                        |     r6 = sb;
    0x000134e0 str r5, [sp, 0x54]                                |     var_54h = r5;
    0x000134e2 add.w sl, sp, 0x98                                |     sl += var_98h;
    0x000134e6 add r2, pc                                        |     r2 = 0x270d4;
    0x000134e8 mov r5, sb                                        |     r5 = sb;
    0x000134ea str r2, [sp, 0x4c]                                |     var_4ch = r2;
    0x000134ec add r3, pc                                        |     r3 = 0x270de;
    0x000134ee ldr.w r2, [pc, 0x700]                             |     
    0x000134f2 mov sb, r3                                        |     sb = r3;
    0x000134f4 strd fp, r8, [sp, 0x58]                           |     __asm ("strd fp, r8, [var_5ch]");
    0x000134f8 str r4, [sp, 0x50]                                |     var_50h = r4;
    0x000134fa add r2, pc                                        |     r2 = 0x270f0;
    0x000134fc mov fp, r2                                        |     
    0x000134fe b 0x13524                                         |     
                                                                 |     while (r0 != r0) {
    0x00013500 ldr.w r3, [pc, 0x6f0]                             |         
    0x00013504 add r3, pc                                        |         r3 = 0x270fc;
                                                                 | label_21:
    0x00013506 ldr.w r1, [pc, 0x6f0]                             |         
    0x0001350a movs r0, 1                                        |         r0 = 1;
    0x0001350c add r1, pc                                        |         r1 = 0x2710a;
    0x0001350e blx 0x59a0                                        |         fcn_000059a0 ();
    0x00013512 ldr.w r0, [sl]                                    |         r0 = *(sl);
    0x00013516 blx 0x5be4                                        |         fcn_00005be4 ();
    0x0001351a ldr r3, [r7, 4]!                                  |         r3 = *((r7 += 4));
    0x0001351e cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00013520 beq.w 0x13716                                     |             goto label_118;
                                                                 |         }
    0x00013524 movs r3, 0                                        |         r3 = 0;
    0x00013526 str.w r3, [sl]                                    |         __asm ("str.w r3, [sl]");
    0x0001352a cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x0001352c beq.w 0x1370a                                     |             goto label_119;
                                                                 |         }
    0x00013530 mov r1, fp                                        |         r1 = fp;
                                                                 |         if (r5 != 0) {
    0x00013532 cbz r5, 0x13560                                   |             
                                                                 | label_32:
    0x00013534 movs r0, 1                                        |             r0 = 1;
    0x00013536 blx 0x59a0                                        |             r0 = fcn_000059a0 ();
    0x00013538 bics.w r6, r4, r0, ror 16                         |             __asm ("bics.w r6, r4, r0, ror 16");
    0x0001353c blx 0x5be4                                        |             fcn_00005be4 ();
    0x00013540 ldr r0, [r7]                                      |             r0 = *(r7);
    0x00013542 blx 0x5b58                                        |             r0 = bus_message_print_all_properties ();
    0x00013546 mov r6, r0                                        |             r6 = r0;
    0x00013548 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0001354a beq.w 0x146a0                                     |                 goto label_120;
                                                                 |             }
    0x0001354e movs r0, 2                                        |             r0 = 2;
    0x00013550 blx 0x6644                                        |             sd_bus_message_close_container ();
    0x00013554 mov r2, r6                                        |             r2 = r6;
    0x00013556 mov r3, r0                                        |             r3 = r0;
    0x00013558 mov r1, sb                                        |             r1 = sb;
    0x0001355a movs r0, 1                                        |             r0 = 1;
    0x0001355c blx 0x59a0                                        |             fcn_000059a0 ();
                                                                 |         }
    0x00013560 ldr r0, [r7, 4]                                   |         r0 = *((r7 + 4));
    0x00013562 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00013564 beq.w 0x1370e                                     |             goto label_121;
                                                                 |         }
    0x00013568 mov r1, r6                                        |         r1 = r6;
    0x0001356a blx 0x63c0                                        |         r0 = fcn_000063c0 ();
    0x0001356e clz r5, r0                                        |         r5 &= r0;
    0x00013572 lsrs r5, r5, 5                                    |         r5 >>= 5;
    0x00013574 mov r8, r5                                        |         r8 = r5;
                                                                 | label_33:
    0x00013576 ldr r4, [r7]                                      |         r4 = *(r7);
    0x00013578 mov r0, r4                                        |         r0 = r4;
    0x0001357a blx 0x6608                                        |         cxa_finalize ();
    0x0001357e mov r2, sl                                        |         r2 = sl;
    0x00013580 mov r1, r0                                        |         r1 = r0;
    0x00013582 mov r0, r4                                        |         r0 = r4;
    0x00013584 blx 0x5c44                                        |         r0 = fcn_00005c44 ();
    0x00013586 adcs.w r8, lr, r0, lsl 8                          |         __asm ("adcs.w r8, lr, r0, lsl 8");
    0x0001358a ite ge                                            |         
                                                                 |         if (r5 < r5) {
    0x0001358c ldrge r2, [sl]                                    |             r2 = *(sl);
                                                                 |         }
                                                                 |         if (r5 < r5) {
    0x00013590 ldr r2, [r7]                                      |             r2 = *(r7);
                                                                 |         }
    0x00013592 cmp.w r8, 0                                       |         
    0x00013594 lsrs r0, r0, 0x1c                                 |         r0 >>= 0x1c;
    0x00013596 bne 0x13500                                       |         
                                                                 |     }
    0x00013598 ldr.w r3, [pc, 0x660]                             |     
    0x0001359c add r3, pc                                        |     r3 = 0x2719c;
    0x0001359e b 0x13506                                         |     goto label_21;
                                                                 | label_84:
    0x000135a0 ldr.w r1, [pc, 0x65c]                             |     
    0x000135a4 movw r2, 0x7a4                                    |     r2 = 0x7a4;
    0x000135a8 ldr.w r3, [pc, 0x658]                             |     
    0x000135ac ldr.w r0, [pc, 0x658]                             |     
    0x000135b0 add r1, pc                                        |     r1 = 0x271b4;
    0x000135b2 add r3, pc                                        |     r3 = 0x271ba;
    0x000135b4 adds r1, 7                                        |     r1 += 7;
    0x000135b6 add r0, pc                                        |     r0 = 0x271c2;
    0x000135b8 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_90:
    0x000135bc ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x000135be cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x000135c0 beq.w 0x1440c                                     |         goto label_122;
                                                                 |     }
    0x000135c4 ldr r6, [r5]                                      |     r6 = *(r5);
    0x000135c6 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000135c8 beq.w 0x1313a                                     |         goto label_17;
                                                                 |     }
    0x000135cc ldr.w sb, [pc, 0x63c]                             |     
    0x000135d0 ldr.w r8, [pc, 0x63c]                             |     
    0x000135d4 add sb, pc                                        |     sb = 0x271e4;
    0x000135d6 add.w sb, sb, 7                                   |     sb += 7;
    0x000135da add r8, pc                                        |     r8 = 0x271ee;
    0x000135dc b 0x135f0                                         |     goto label_123;
                                                                 | label_23:
    0x000135de adds r0, r6, 4                                    |     r0 = r6 + 4;
    0x000135e0 movs r1, 0                                        |     r1 = 0;
    0x000135e2 blx 0x5b70                                        |     reboot_with_parameter ();
                                                                 | label_24:
    0x000135e6 ldr r6, [r5, 4]!                                  |     r6 = *((r5 += 4));
    0x000135ea cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000135ec beq.w 0x133ee                                     |         goto label_22;
                                                                 |     }
                                                                 | label_123:
    0x000135f0 mov r1, r8                                        |     r1 = r8;
    0x000135f2 mov r0, r6                                        |     r0 = r6;
    0x000135f4 blx 0x63c0                                        |     r0 = fcn_000063c0 ();
    0x000135f8 mov r7, r0                                        |     r7 = r0;
    0x000135fa cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000135fc bne 0x135de                                       |         goto label_23;
                                                                 |     }
    0x000135fe blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00013602 cmp r0, 5                                         |     
                                                                 |     if (r0 <= 5) {
    0x00013604 ble 0x135e6                                       |         goto label_24;
                                                                 |     }
    0x00013606 ldr.w r3, [pc, 0x60c]                             |     
    0x0001360a mov r1, r7                                        |     r1 = r7;
    0x0001360c mov r2, sb                                        |     r2 = sb;
    0x0001360e str r6, [sp, 8]                                   |     var_8h = r6;
    0x00013610 movs r0, 6                                        |     r0 = 6;
    0x00013612 add r3, pc                                        |     r3 = 0x2722c;
    0x00013614 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00013616 ldr.w r3, [pc, 0x600]                             |     
    0x0001361a add r3, pc                                        |     r3 = 0x27238;
    0x0001361c str r3, [sp]                                      |     *(sp) = r3;
    0x0001361e movw r3, 0x31b                                    |     r3 = 0x31b;
    0x00013622 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00013626 b 0x135e6                                         |     goto label_24;
                                                                 | label_99:
    0x00013628 ldr.w r1, [pc, 0x5f0]                             |     
    0x0001362c mov.w r2, 0x11a                                   |     r2 = 0x11a;
    0x00013630 ldr.w r3, [pc, 0x5ec]                             |     
    0x00013634 ldr.w r0, [pc, 0x5ec]                             |     
    0x00013638 add r1, pc                                        |     r1 = 0x27258;
    0x0001363a add r3, pc                                        |     r3 = 0x2725e;
    0x0001363c adds r1, 7                                        |     r1 += 7;
    0x0001363e add r0, pc                                        |     r0 = 0x27266;
    0x00013640 blx 0x5e40                                        |     r0 = unit_file_get_default ();
                                                                 | label_108:
    0x00013644 cmp r0, 6                                         |     
                                                                 |     if (r0 <= 6) {
    0x00013646 ble.w 0x13442                                     |         goto label_25;
                                                                 |     }
    0x0001364a movs r0, 7                                        |     r0 = 7;
                                                                 | label_109:
    0x0001364c ldr.w r3, [pc, 0x5d8]                             |     
    0x00013650 movs r1, 0                                        |     r1 = 0;
    0x00013652 ldr.w r2, [pc, 0x5d8]                             |     
    0x00013656 str.w r8, [sp, 8]                                 |     __asm ("str.w r8, [var_8h]");
    0x0001365a add r3, pc                                        |     r3 = 0x27286;
    0x0001365c str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001365e add r2, pc                                        |     r2 = 0x27290;
    0x00013660 ldr.w r3, [pc, 0x5cc]                             |     
    0x00013664 adds r2, 7                                        |     r2 += 7;
    0x00013666 add r3, pc                                        |     r3 = 0x2729a;
    0x00013668 str r3, [sp]                                      |     *(sp) = r3;
    0x0001366a movw r3, 0x7b6                                    |     r3 = 0x7b6;
    0x0001366e blx 0x61a4                                        |     fcn_000061a4 ();
    0x00013672 b 0x1342e                                         |     goto label_26;
                                                                 | label_102:
    0x00013674 mov r1, r6                                        |     r1 = r6;
    0x00013676 blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x0001367a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001367c beq.w 0x132f6                                     |         goto label_27;
                                                                 |     }
    0x00013680 b 0x132e8                                         |     goto label_28;
                                                                 | label_113:
    0x00013682 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00013684 bne.w 0x13496                                     |         goto label_29;
                                                                 |     }
    0x00013686 add r7, sp, 0x1c                                  |     r7 = sp + 0x1c;
                                                                 |     do {
    0x00013688 ldr r0, [r4, 0x14]                                |         r0 = *((r4 + 0x14));
    0x0001368a cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0001368c beq.w 0x1425c                                     |             goto label_124;
                                                                 |         }
    0x00013690 ldrb r3, [r0]                                     |         r3 = *(r0);
    0x00013692 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00013694 beq.w 0x1425c                                     |             goto label_124;
                                                                 |         }
    0x00013698 ldr r3, [r4, 0x18]                                |         r3 = *((r4 + 0x18));
    0x0001369a cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x0001369c beq.w 0x146d0                                     |             goto label_125;
                                                                 |         }
    0x000136a0 ldrb r3, [r3]                                     |         r3 = *(r3);
    0x000136a2 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x000136a4 beq.w 0x146d0                                     |             goto label_125;
                                                                 |         }
    0x000136a8 blx 0x591c                                        |         fcn_0000591c ();
    0x000136ac bl 0x1c2c8                                        |         fcn_0001c2c8 (r0);
    0x000136b0 ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
    0x000136b2 mov r2, r0                                        |         r2 = r0;
    0x000136b4 ldr r0, [r4, 0x14]                                |         r0 = *((r4 + 0x14));
                                                                 |         if (r3 == 0) {
    0x000136b6 cbz r3, 0x13702                                   |             goto label_126;
                                                                 |         }
                                                                 | label_31:
    0x000136b8 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x000136ba beq.w 0x147d6                                     |             goto label_127;
                                                                 |         }
    0x000136be ldr.w r2, [pc, 0x574]                             |         
    0x000136c2 ldr r1, [r4, 0x18]                                |         r1 = *((r4 + 0x18));
    0x000136c4 add r2, pc                                        |         r2 = 0x272fe;
                                                                 | label_56:
    0x000136c6 strd r2, r1, [sp, 0xc]                            |         __asm ("strd r2, r1, [var_ch]");
    0x000136ca mov r2, r6                                        |         r2 = r6;
    0x000136cc ldr.w r1, [pc, 0x568]                             |         
    0x000136d0 strd r7, r0, [sp, 4]                              |         __asm ("strd r7, r0, [var_8h]");
    0x000136d4 movs r0, 1                                        |         r0 = 1;
    0x000136d6 str.w sb, [sp]                                    |         __asm ("str.w sb, [sp]");
    0x000136d8 str r0, [sp]                                      |         *(sp) = r0;
    0x000136da add r1, pc                                        |         r1 = 0x27316;
    0x000136dc blx 0x59a0                                        |         fcn_000059a0 ();
    0x000136e0 b 0x134b8                                         |         goto label_30;
                                                                 | label_114:
    0x000136e2 cmp r7, 0                                         |         
    0x000136e4 bne 0x13688                                       |         
                                                                 |     } while (r7 != 0);
                                                                 | label_37:
    0x000136e6 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000136e8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000136ea beq.w 0x146ec                                     |         goto label_128;
                                                                 |     }
                                                                 | label_58:
    0x000136ee ldr.w r1, [pc, 0x54c]                             |     
    0x000136f2 mov r2, r6                                        |     r2 = r6;
    0x000136f4 str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x000136f8 movs r0, 1                                        |     r0 = 1;
    0x000136fa add r1, pc                                        |     r1 = 0x2733c;
    0x000136fc blx 0x59a0                                        |     fcn_000059a0 ();
    0x00013700 b 0x134b8                                         |     goto label_30;
                                                                 | label_126:
    0x00013702 ldr.w r3, [pc, 0x53c]                             |     
    0x00013706 add r3, pc                                        |     r3 = 0x2734c;
    0x00013708 b 0x136b8                                         |     goto label_31;
                                                                 | label_119:
    0x0001370a ldr r1, [sp, 0x4c]                                |     r1 = var_4ch;
    0x0001370c b 0x13534                                         |     goto label_32;
                                                                 | label_121:
    0x0001370e mov.w r8, 1                                       |     r8 = 1;
    0x00013712 mov r5, r8                                        |     r5 = r8;
    0x00013714 b 0x13576                                         |     goto label_33;
                                                                 | label_118:
    0x00013716 mov r0, r6                                        |     r0 = r6;
    0x00013718 ldrd r5, fp, [sp, 0x54]                           |     __asm ("ldrd r5, fp, [var_54h]");
    0x0001371c ldr.w r8, [sp, 0x5c]                              |     r8 = var_5ch;
    0x00013720 ldr r4, [sp, 0x50]                                |     r4 = var_50h;
    0x00013722 blx 0x5be4                                        |     fcn_00005be4 ();
                                                                 | label_117:
    0x00013726 ldr r6, [r4, 8]                                   |     r6 = *((r4 + 8));
    0x00013728 ldr r7, [r4, 0x10]                                |     r7 = *((r4 + 0x10));
    0x0001372a cmp r6, 0                                         |     
    0x0001372c it ne                                             |     
                                                                 |     if (r6 != 0) {
    0x0001372e cmpne r7, 0                                       |         __asm ("cmpne r7, 0");
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x00013730 bne.w 0x141e8                                     |         goto label_129;
                                                                 |     }
    0x00013734 cmp r6, r7                                        |     
                                                                 |     if (r6 <= r7) {
    0x00013736 blo.w 0x13b30                                     |         goto label_130;
                                                                 |     }
                                                                 |     if (r6 > r7) {
    0x0001373a bhi.w 0x13b30                                     |         goto label_130;
                                                                 |     }
                                                                 | label_34:
    0x0001373e cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00013740 beq.w 0x14306                                     |         goto label_131;
                                                                 |     }
                                                                 | label_44:
    0x00013744 ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x00013746 movs r0, 1                                        |     r0 = 1;
    0x00013748 ldr.w r1, [pc, 0x4f8]                             |     
    0x0001374c ldr r2, [sp, 0x40]                                |     r2 = var_40h;
    0x0001374e str r3, [sp]                                      |     *(sp) = r3;
    0x00013750 mov r3, r6                                        |     r3 = r6;
    0x00013752 add r1, pc                                        |     r1 = 0x2739a;
    0x00013754 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_35:
    0x00013758 ldr r6, [r4, 0xc]                                 |     r6 = *((r4 + 0xc));
                                                                 |     if (r6 != 0) {
    0x0001375a cbz r6, 0x13772                                   |         
    0x0001375c ldrb r3, [r6]                                     |         r3 = *(r6);
                                                                 |         if (r3 == 0) {
    0x0001375e cbz r3, 0x13772                                   |             goto label_51;
                                                                 |         }
    0x00013760 ldr.w r1, [pc, 0x4e4]                             |         
    0x00013764 mov r0, r6                                        |         r0 = r6;
    0x00013766 add r1, pc                                        |         r1 = 0x273b2;
    0x00013768 blx 0x655c                                        |         r0 = fcn_0000655c ();
    0x0001376c cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0001376e bne.w 0x144b6                                     |             goto label_132;
                                                                 |         }
                                                                 |     }
                                                                 | label_51:
    0x00013772 ldr r6, [r4, 0x44]                                |     r6 = *((r4 + 0x44));
                                                                 |     if (r6 != 0) {
    0x00013774 cbz r6, 0x1378c                                   |         
    0x00013776 ldrb r3, [r6]                                     |         r3 = *(r6);
                                                                 |         if (r3 == 0) {
    0x00013778 cbz r3, 0x1378c                                   |             goto label_53;
                                                                 |         }
    0x0001377a ldr.w r1, [pc, 0x4d0]                             |         
    0x0001377e mov r0, r6                                        |         r0 = r6;
    0x00013780 add r1, pc                                        |         r1 = 0x273d2;
    0x00013782 blx 0x655c                                        |         r0 = fcn_0000655c ();
    0x00013786 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00013788 bne.w 0x145cc                                     |             goto label_133;
                                                                 |         }
                                                                 |     }
                                                                 | label_53:
    0x0001378c ldr.w sb, [r4, 8]                                 |     sb = *((r4 + 8));
    0x00013790 cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x00013794 beq.w 0x146c8                                     |         goto label_134;
                                                                 |     }
    0x00013798 ldr.w r7, [pc, 0x4b4]                             |     
    0x0001379c add r6, sp, 0x244                                 |     r6 += arg_244h;
    0x0001379e add r7, pc                                        |     r7 = 0x273f2;
    0x000137a0 ldm.w r7, {r0, r1, r2}                            |     r0 = *(r7);
                                                                 |     r1 = *((r7 + 4));
                                                                 |     r2 = *((r7 + 8));
    0x000137a4 stm.w r6, {r0, r1, r2}                            |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
    0x000137a8 mov r1, sb                                        |     r1 = sb;
    0x000137aa mov r0, r6                                        |     r0 = r6;
    0x000137ac blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x000137b0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000137b2 beq.w 0x141c8                                     |         goto label_135;
                                                                 |     }
    0x000137b6 ldrd r6, r7, [r4, 0x58]                           |     __asm ("ldrd r6, r7, [r4, 0x58]");
                                                                 | label_42:
    0x000137ba add r3, sp, 0x2a4                                 |     r3 += arg_2a4h;
    0x000137bc mov r2, r6                                        |     r2 = r6;
    0x000137be mov r0, r3                                        |     r0 = r3;
    0x000137c0 str r3, [sp, 0x54]                                |     var_54h = r3;
    0x000137c2 add r3, sp, 0x254                                 |     r3 += arg_254h;
    0x000137c4 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x000137c8 str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x000137ca mov r3, r7                                        |     r3 = r7;
    0x000137cc blx 0x6210                                        |     fcn_00006210 ();
    0x000137d0 mov r2, r6                                        |     r2 = r6;
    0x000137d2 ldr.w r1, [pc, 0x480]                             |     r1 = *(0x13c56);
    0x000137d6 ldr r6, [sp, 0x38]                                |     r6 = var_38h;
    0x000137d8 mov sb, r0                                        |     sb = r0;
    0x000137da mov r3, r7                                        |     r3 = r7;
    0x000137dc ldr r0, [sp, 0x4c]                                |     r0 = var_4ch;
    0x000137de ldr r1, [r6, r1]                                  |     r1 = *((r6 + r1));
    0x000137e0 mov r6, r1                                        |     r6 = r1;
    0x000137e2 str r1, [sp, 0x50]                                |     var_50h = r1;
    0x000137e4 ldr r6, [r6]                                      |     r6 = *(r6);
    0x000137e6 movs r1, 0x26                                     |     r1 = 0x26;
    0x000137e8 str r6, [sp]                                      |     *(sp) = r6;
    0x000137ea blx 0x64bc                                        |     r0 = fcn_000064bc ();
    0x000137ee mov r2, r0                                        |     r2 = r0;
    0x000137f0 cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x000137f4 beq.w 0x1414a                                     |         goto label_136;
                                                                 |     }
    0x000137f8 ldr.w r1, [pc, 0x45c]                             |     
    0x000137fc mov r3, sb                                        |     r3 = sb;
    0x000137fe movs r0, 1                                        |     r0 = 1;
    0x00013800 add r1, pc                                        |     r1 = 0x2745c;
    0x00013802 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_39:
    0x00013806 ldr r6, [r4, 0x38]                                |     r6 = *((r4 + 0x38));
    0x00013808 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x0001380a beq 0x13884                                       |         goto label_137;
                                                                 |     }
    0x0001380c ldr.w r3, [pc, 0x44c]                             |     
    0x00013810 subs r6, 4                                        |     r6 -= 4;
    0x00013812 ldr.w r7, [pc, 0x44c]                             |     
    0x00013816 add r3, pc                                        |     r3 = 0x27476;
    0x00013818 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x0001381a add r7, pc                                        |     r7 = 0x27480;
    0x0001381c ldr.w r3, [pc, 0x444]                             |     
    0x00013820 add r3, pc                                        |     r3 = 0x27488;
    0x00013822 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x00013824 b 0x1387c                                         |     
                                                                 |     while (r3 != 0) {
    0x00013826 add.w sb, sp, 0x98                                |         sb += var_98h;
    0x0001382a mvn r2, 0x15                                      |         r2 = ~0x15;
    0x0001382e str r2, [sp, 0x98]                                |         var_98h = r2;
    0x00013830 mov r0, r5                                        |         r0 = r5;
    0x00013832 mov r2, sb                                        |         r2 = sb;
    0x00013834 ldr r1, [r6]                                      |         r1 = *(r6);
    0x00013836 bl 0x1a604                                        |         fcn_0001a604 (r0, r1, r2, r3, r4, r5);
    0x0001383a ldr r0, [sp, 0x98]                                |         r0 = var_98h;
    0x0001383c blx 0x609c                                        |         fcn_0000609c ();
    0x00013840 mov r1, fp                                        |         r1 = fp;
    0x00013842 mov r2, r8                                        |         r2 = r8;
    0x00013844 bl 0x12b24                                        |         fcn_00012b24 (r0, r1, r2);
    0x00013848 ldr r3, [r4, 0x38]                                |         r3 = *((r4 + 0x38));
    0x0001384a ldr r0, [sp, 0x98]                                |         r0 = var_98h;
    0x0001384c ldr.w sl, [fp]                                    |         sl = *(fp);
    0x00013850 cmp r3, r6                                        |         
    0x00013852 ldrd r3, r2, [sp, 0x40]                           |         __asm ("ldrd r3, r2, [var_40h]");
    0x00013856 ite eq                                            |         
                                                                 |         if (r3 != r6) {
    0x00013858 moveq sb, r3                                      |             sb = r3;
                                                                 |         }
                                                                 |         if (r3 == r6) {
    0x0001385a movne sb, r2                                      |             sb = r2;
                                                                 |         }
    0x0001385c blx 0x5edc                                        |         running_in_chroot ();
    0x00013860 blx 0x6644                                        |         sd_bus_message_close_container ();
    0x00013862 mrc p8, 7, r6, c0, c1, 1                          |         __asm ("mrc p8, 7, r6, c0, c1, 1");
    0x00013866 mov r3, sl                                        |         r3 = sl;
    0x00013868 str r0, [sp]                                      |         *(sp) = r0;
    0x0001386a mov r2, sb                                        |         r2 = sb;
    0x0001386c movs r0, 1                                        |         r0 = 1;
    0x0001386e str r1, [sp, 8]                                   |         var_8h = r1;
    0x00013870 ldr.w r1, [r8]                                    |         r1 = *(r8);
    0x00013874 str r1, [sp, 4]                                   |         var_4h = r1;
    0x00013876 mov r1, r7                                        |         r1 = r7;
    0x00013878 blx 0x59a0                                        |         fcn_000059a0 ();
    0x0001387c ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00013880 cmp r3, 0                                         |         
    0x00013882 bne 0x13826                                       |         
                                                                 |     }
                                                                 | label_137:
    0x00013884 ldr r1, [pc, 0x3e0]                               |     
    0x00013886 ldr r0, [r4]                                      |     r0 = *(r4);
    0x00013888 add r1, pc                                        |     r1 = 0x274f4;
    0x0001388a blx 0x6198                                        |     r0 = fcn_00006198 ();
                                                                 |     if (r0 != 0) {
    0x0001388e cbz r0, 0x138fa                                   |         
    0x00013890 ldrd r2, r3, [r4, 0xd8]                           |         __asm ("ldrd r2, r3, [r4, 0xd8]");
    0x00013894 add r7, sp, 0x88                                  |         r7 += var_88h;
    0x00013896 ldr r1, [pc, 0x3d4]                               |         
    0x00013898 movs r0, 1                                        |         r0 = 1;
    0x0001389a add r6, sp, 0x98                                  |         r6 += var_98h;
    0x0001389c strd r2, r3, [sp, 0x98]                           |         __asm ("strd r2, r3, [var_98h]");
    0x000138a0 ldrd r2, r3, [r4, 0xe0]                           |         __asm ("ldrd r2, r3, [r4, 0xe0]");
    0x000138a4 add r1, pc                                        |         r1 = 0x27516;
    0x000138a6 strd r2, r3, [sp, 0xa0]                           |         __asm ("strd r2, r3, [var_a0h]");
    0x000138aa blx 0x59a0                                        |         fcn_000059a0 ();
    0x000138ae mov r0, r7                                        |         r0 = r7;
    0x000138b0 blx 0x56f0                                        |         dual_timestamp_get ();
    0x000138b4 mov r1, r6                                        |         r1 = r6;
    0x000138b6 mov r0, r7                                        |         r0 = r7;
    0x000138b8 bl 0xf414                                         |         r0 = fcn_0000f414 (r0, r1, r2);
    0x000138bc mov r2, r0                                        |         r2 = r0;
    0x000138be mov r3, r1                                        |         r3 = r1;
    0x000138c0 mov sb, r0                                        |         sb = r0;
    0x000138c2 mov r7, r1                                        |         r7 = r1;
    0x000138c4 add r0, sp, 0x3a4                                 |         r0 += arg_3a4h;
    0x000138c6 mov.w r1, 0x100                                   |         r1 = 0x100;
    0x000138ca blx 0x6210                                        |         fcn_00006210 ();
    0x000138ce ldr r1, [sp, 0x50]                                |         r1 = var_50h;
    0x000138d0 mov r6, r0                                        |         r6 = r0;
    0x000138d2 mov r2, sb                                        |         r2 = sb;
    0x000138d4 mov r3, r7                                        |         r3 = r7;
    0x000138d6 add r0, sp, 0x27c                                 |         r0 += arg_27ch;
    0x000138d8 ldr r1, [r1]                                      |         r1 = *(r1);
    0x000138da str r1, [sp]                                      |         *(sp) = r1;
    0x000138dc movs r1, 0x26                                     |         r1 = 0x26;
    0x000138de blx 0x64bc                                        |         r0 = fcn_000064bc ();
    0x000138e2 cmp r0, 0                                         |         
    0x000138e4 it ne                                             |         
                                                                 |         if (r0 != 0) {
    0x000138e6 cmpne r6, 0                                       |             __asm ("cmpne r6, 0");
                                                                 |         }
                                                                 |         if (r0 == 0) {
    0x000138e8 beq.w 0x1427a                                     |             goto label_138;
                                                                 |         }
    0x000138ec ldr r1, [pc, 0x380]                               |         
    0x000138ee mov r2, r0                                        |         r2 = r0;
    0x000138f0 mov r3, r6                                        |         r3 = r6;
    0x000138f2 movs r0, 1                                        |         r0 = 1;
    0x000138f4 add r1, pc                                        |         r1 = 0x27568;
    0x000138f6 blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
                                                                 | label_46:
    0x000138fa ldr r6, [r4, 0x3c]                                |     r6 = *((r4 + 0x3c));
    0x000138fc cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000138fe beq 0x1396a                                       |         goto label_139;
                                                                 |     }
    0x00013900 ldr r3, [pc, 0x370]                               |     
    0x00013902 subs r6, 4                                        |     r6 -= 4;
    0x00013904 ldr.w sl, [pc, 0x370]                             |     
    0x00013908 ldr r7, [pc, 0x370]                               |     
    0x0001390a add r3, pc                                        |     r3 = 0x27582;
    0x0001390c add sl, pc                                        |     sl = 0x27588;
    0x0001390e str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00013910 add r7, pc                                        |     r7 = 0x27590;
    0x00013912 b 0x13962                                         |     
                                                                 |     while (r3 != 0) {
    0x00013914 mvn r3, 0x15                                      |         r3 = ~0x15;
    0x00013918 add.w sb, sp, 0x98                                |         sb += var_98h;
    0x0001391c mov r2, sb                                        |         r2 = sb;
    0x0001391e str r3, [sp, 0x98]                                |         var_98h = r3;
    0x00013920 mov r0, r5                                        |         r0 = r5;
    0x00013922 ldr r1, [r6]                                      |         r1 = *(r6);
    0x00013924 bl 0x1a604                                        |         fcn_0001a604 (r0, r1, r2, r3, r4, r5);
    0x00013928 ldr r0, [sp, 0x98]                                |         r0 = var_98h;
    0x0001392a blx 0x609c                                        |         fcn_0000609c ();
    0x0001392e mov r2, r8                                        |         r2 = r8;
    0x00013930 mov r1, fp                                        |         r1 = fp;
    0x00013932 bl 0x12b24                                        |         fcn_00012b24 (r0, r1, r2);
    0x00013936 ldr r3, [r4, 0x3c]                                |         r3 = *((r4 + 0x3c));
    0x00013938 movs r0, 5                                        |         r0 = 5;
    0x0001393a cmp r3, r6                                        |         
    0x0001393c ldr r3, [sp, 0x40]                                |         r3 = var_40h;
    0x0001393e ite eq                                            |         
                                                                 |         if (r3 != r6) {
    0x00013940 moveq sb, sl                                      |             sb = sl;
                                                                 |         }
                                                                 |         if (r3 == r6) {
    0x00013942 movne sb, r3                                      |             sb = r3;
                                                                 |         }
    0x00013944 blx 0x6644                                        |         sd_bus_message_close_container ();
    0x00013948 ldr r3, [r6]                                      |         r3 = *(r6);
    0x0001394a mov r2, sb                                        |         r2 = sb;
    0x0001394c str r0, [sp]                                      |         *(sp) = r0;
    0x0001394e movs r0, 1                                        |         r0 = 1;
    0x00013950 str r3, [sp, 8]                                   |         var_8h = r3;
    0x00013952 ldr.w r1, [r8]                                    |         r1 = *(r8);
    0x00013956 ldr.w r3, [fp]                                    |         r3 = *(fp);
    0x0001395a str r1, [sp, 4]                                   |         var_4h = r1;
    0x0001395c mov r1, r7                                        |         r1 = r7;
    0x0001395e blx 0x59a0                                        |         fcn_000059a0 ();
    0x00013962 ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00013966 cmp r3, 0                                         |         
    0x00013968 bne 0x13914                                       |         
                                                                 |     }
                                                                 | label_139:
    0x0001396a ldrb.w r3, [r4, 0xb8]                             |     r3 = *((r4 + 0xb8));
                                                                 |     if (r3 == 0) {
    0x0001396e cbnz r3, 0x1397c                                  |         
    0x00013970 ldrd r2, r3, [r4, 0xb0]                           |         __asm ("ldrd r2, r3, [r4, 0xb0]");
    0x00013974 orrs.w r1, r2, r3                                 |         r1 = r2 | r3;
                                                                 |         if (r1 != r2) {
    0x00013978 bne.w 0x144f2                                     |             goto label_140;
                                                                 |         }
                                                                 |     }
                                                                 | label_52:
    0x0001397c ldrb.w r3, [r4, 0xc8]                             |     r3 = *((r4 + 0xc8));
                                                                 |     if (r3 == 0) {
    0x00013980 cbnz r3, 0x1398e                                  |         
    0x00013982 ldrd r2, r3, [r4, 0xc0]                           |         __asm ("ldrd r2, r3, [r4, 0xc0]");
    0x00013986 orrs.w r1, r2, r3                                 |         r1 = r2 | r3;
                                                                 |         if (r1 != r2) {
    0x0001398a bne.w 0x145fc                                     |             goto label_141;
                                                                 |         }
                                                                 |     }
                                                                 | label_54:
    0x0001398e ldr.w r2, [r4, 0xfc]                              |     r2 = *((r4 + 0xfc));
                                                                 |     if (r2 != 0) {
    0x00013992 cbz r2, 0x1399e                                   |         
    0x00013994 ldr r1, [pc, 0x2e8]                               |         
    0x00013996 movs r0, 1                                        |         r0 = 1;
    0x00013998 add r1, pc                                        |         r1 = 0x2761c;
    0x0001399a blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
    0x0001399e ldr.w r2, [r4, 0x100]                             |     r2 = *((r4 + 0x100));
                                                                 |     if (r2 != 0) {
    0x000139a2 cbz r2, 0x139ae                                   |         
    0x000139a4 ldr r1, [pc, 0x2dc]                               |         
    0x000139a6 movs r0, 1                                        |         r0 = 1;
    0x000139a8 add r1, pc                                        |         r1 = 0x27630;
    0x000139aa blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
    0x000139ae ldr.w r2, [r4, 0x104]                             |     r2 = *((r4 + 0x104));
                                                                 |     if (r2 != 0) {
    0x000139b2 cbz r2, 0x139be                                   |         
    0x000139b4 ldr r1, [pc, 0x2d0]                               |         
    0x000139b6 movs r0, 1                                        |         r0 = 1;
    0x000139b8 add r1, pc                                        |         r1 = 0x27644;
    0x000139ba blx 0x59a0                                        |         fcn_000059a0 ();
                                                                 |     }
    0x000139be ldr r6, [r4, 0x24]                                |     r6 = *((r4 + 0x24));
                                                                 |     if (r6 == 0) {
    0x000139c0 cbz r6, 0x13a18                                   |         goto label_142;
                                                                 |     }
    0x000139c2 ldr r7, [pc, 0x2c8]                               |     
    0x000139c4 subs r6, 4                                        |     r6 -= 4;
    0x000139c6 ldr.w sl, [pc, 0x2c8]                             |     
    0x000139ca ldr.w sb, [pc, 0x2c8]                             |     
    0x000139ce add r7, pc                                        |     r7 = 0x27660;
    0x000139d0 str r5, [sp, 0x40]                                |     var_40h = r5;
    0x000139d2 add sl, pc                                        |     sl = 0x27668;
    0x000139d4 add sb, pc                                        |     sb = 0x2766e;
    0x000139d6 b 0x13a0e                                         |     
                                                                 |     while (r3 != 0) {
    0x000139d8 add r5, sp, 0x98                                  |         r5 += var_98h;
    0x000139da movs r1, 0                                        |         r1 = 0;
    0x000139dc str r1, [r5]                                      |         *(r5) = r1;
    0x000139de mov r2, r5                                        |         r2 = r5;
    0x000139e0 ldr r0, [r6]                                      |         r0 = *(r6);
    0x000139e2 blx 0x63b4                                        |         r0 = fcn_000063b4 ();
    0x000139e6 cmp r0, 0                                         |         
    0x000139e8 mov.w r2, 9                                       |         r2 = 9;
    0x000139ec it ge                                             |         
                                                                 |         if (r0 < 0) {
    0x000139ee ldrge r3, [r5]                                    |             r3 = *(r5);
                                                                 |         }
    0x000139f0 mov r1, sb                                        |         r1 = sb;
    0x000139f2 it lt                                             |         
                                                                 |         if (r0 >= 0) {
    0x000139f4 ldrlt r3, [r6]                                    |             r3 = *(r6);
                                                                 |         }
    0x000139f6 movs r0, 1                                        |         r0 = 1;
    0x000139f8 str r3, [sp]                                      |         *(sp) = r3;
    0x000139fa ldr r3, [r4, 0x24]                                |         r3 = *((r4 + 0x24));
    0x000139fc cmp r3, r6                                        |         
    0x000139fe ite ne                                            |         
                                                                 |         if (r3 == r6) {
    0x00013a00 movne r3, r7                                      |             r3 = r7;
                                                                 |         }
                                                                 |         if (r3 != r6) {
    0x00013a02 moveq r3, sl                                      |             r3 = sl;
                                                                 |         }
    0x00013a04 blx 0x59a0                                        |         fcn_000059a0 ();
    0x00013a08 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00013a0a blx 0x5be4                                        |         fcn_00005be4 ();
    0x00013a0e ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00013a12 cmp r3, 0                                         |         
    0x00013a14 bne 0x139d8                                       |         
                                                                 |     }
    0x00013a16 ldr r5, [sp, 0x40]                                |     r5 = var_40h;
                                                                 | label_142:
    0x00013a18 ldr.w r6, [r4, 0xf8]                              |     r6 = *((r4 + 0xf8));
                                                                 |     if (r6 == 0) {
    0x00013a1c cbz r6, 0x13a58                                   |         goto label_143;
                                                                 |     }
    0x00013a1e ldr.w sb, [pc, 0x278]                             |     
    0x00013a22 ldr r7, [pc, 0x278]                               |     
    0x00013a24 ldr.w sl, [pc, 0x278]                             |     
    0x00013a28 add sb, pc                                        |     sb = 0x276c6;
    0x00013a2a add r7, pc                                        |     r7 = 0x276cc;
    0x00013a2c add sl, pc                                        |     sl = 0x276d0;
    0x00013a2e b 0x13a52                                         |     
                                                                 |     while (r3 != 0) {
    0x00013a30 ldr r2, [r6, 4]                                   |         r2 = *((r6 + 4));
                                                                 |         if (r2 == 0) {
    0x00013a32 cbz r2, 0x13a58                                   |             goto label_143;
                                                                 |         }
    0x00013a52 ldr r3, [r6]                                      |         r3 = *(r6);
    0x00013a54 cmp r3, 0                                         |         
    0x00013a56 bne 0x13a30                                       |         
                                                                 |     }
                                                                 | label_143:
    0x00013a58 ldrb.w r3, [r4, 0xf4]                             |     r3 = *((r4 + 0xf4));
    0x00013a5c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00013a5e bne.w 0x14202                                     |         goto label_144;
                                                                 |     }
                                                                 | label_45:
    0x00013a62 ldr.w r6, [r4, 0x190]                             |     r6 = *((r4 + 0x190));
    0x00013a66 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00013a68 beq.w 0x13cca                                     |         goto label_145;
                                                                 |     }
    0x00013a6c ldr.w sl, [pc, 0x234]                             |     
    0x00013a70 str r5, [sp, 0x40]                                |     var_40h = r5;
    0x00013a72 add sl, pc                                        |     sl = 0x2771a;
    0x00013a74 mov r7, sl                                        |     r7 = sl;
    0x00013a76 b 0x13a80                                         |     void (*0x13a80)() ();
                                                                 | label_130:
    0x00013b30 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x00013b32 beq.w 0x1373e                                     |         goto label_34;
                                                                 |     }
    0x00013b36 ldr r6, [pc, 0x188]                               |     
    0x00013b38 add r6, pc                                        |     r6 = 0x277fe;
                                                                 | label_43:
    0x00013b3a ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x00013b3c movs r0, 1                                        |     r0 = 1;
    0x00013b3e ldr r1, [pc, 0x184]                               |     
    0x00013b40 ldr r2, [sp, 0x40]                                |     r2 = var_40h;
    0x00013b42 strd r7, r3, [sp]                                 |     __asm ("strd r7, r3, [sp]");
    0x00013b46 mov r3, r6                                        |     r3 = r6;
    0x00013b48 add r1, pc                                        |     r1 = 0x27812;
    0x00013b4a blx 0x59a0                                        |     fcn_000059a0 ();
    0x00013b4e b 0x13758                                         |     goto label_35;
                                                                 | label_145:
    0x00013cca ldr r2, [r4, 0x74]                                |     r2 = *((r4 + 0x74));
    0x00013ccc cmp r2, 0                                         |     
                                                                 |     if (r2 <= 0) {
    0x00013cce ble.w 0x14160                                     |         void (*0x14160)() ();
                                                                 |     }
    0x00013cd0 strh r7, [r0, 0x12]                               |     *((r0 + 0x12)) = r7;
                                                                 | label_55:
    0x0001407a ldr r6, [r4, 8]                                   |     r6 = *((r4 + 8));
    0x0001407c ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
                                                                 |     if (r6 == 0) {
    0x0001407e cbz r6, 0x140a0                                   |         goto label_50;
                                                                 |     }
    0x00014080 ldr.w r3, [pc, 0x7bc]                             |     
    0x00014084 add r3, pc                                        |     r3 = 0x288c8;
    0x00014086 ldm.w r3, {r0, r1, r2}                            |     r0 = *(r3);
                                                                 |     r1 = *((r3 + 4));
                                                                 |     r2 = *((r3 + 8));
    0x0001408a add r3, sp, 0x244                                 |     r3 += arg_244h;
    0x0001408c stm.w r3, {r0, r1, r2}                            |     *(r3) = r0;
                                                                 |     *((r3 + 4)) = r1;
                                                                 |     *((r3 + 8)) = r2;
    0x00014090 mov r1, r6                                        |     r1 = r6;
    0x00014092 mov r0, r3                                        |     r0 = r3;
    0x00014094 movs r6, 3                                        |     r6 = 3;
    0x00014096 blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x0001409a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001409c beq.w 0x1313a                                     |         goto label_17;
                                                                 |     }
                                                                 | label_50:
    0x000140a0 movs r6, 0                                        |     r6 = 0;
    0x000140a2 b.w 0x1313a                                       |     goto label_17;
                                                                 | label_112:
    0x00014126 ldr r7, [r4, 0x28]                                |     r7 = *((r4 + 0x28));
    0x00014128 cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x0001412a bne.w 0x13476                                     |         goto label_36;
                                                                 |     }
    0x0001412e ldr r2, [r4, 0x40]                                |     r2 = *((r4 + 0x40));
    0x00014130 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00014132 beq.w 0x136e6                                     |         goto label_37;
                                                                 |     }
    0x00014136 ldrb r3, [r2]                                     |     r3 = *(r2);
    0x00014138 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001413a beq.w 0x136e6                                     |         goto label_37;
                                                                 |     }
    0x0001413e b.w 0x1349e                                       |     goto label_38;
                                                                 | label_136:
    0x0001414a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001414c beq.w 0x14696                                     |         goto label_146;
                                                                 |     }
    0x00014150 ldr.w r1, [pc, 0x704]                             |     
    0x00014154 movs r0, 1                                        |     r0 = 1;
    0x00014156 add r1, pc                                        |     r1 = 0x289b2;
    0x00014158 blx 0x59a0                                        |     fcn_000059a0 ();
    0x0001415c b.w 0x13806                                       |     goto label_39;
                                                                 | label_101:
    0x000141b0 ldr.w r2, [pc, 0x6b4]                             |     
    0x000141b4 add r2, pc                                        |     r2 = 0x28a20;
    0x000141b6 b.w 0x132c8                                       |     goto label_40;
                                                                 | label_116:
    0x000141ba ldr.w r0, [pc, 0x6b0]                             |     
    0x000141be add r0, pc                                        |     r0 = 0x28a30;
    0x000141c0 blx 0x62a0                                        |     fcn_000062a0 ();
    0x000141c4 b.w 0x134c2                                       |     goto label_41;
                                                                 | label_135:
    0x000141c8 adds r7, 0x1c                                     |     r7 += 0x1c;
    0x000141ca ldm.w r7, {r0, r1, r2}                            |     r0 = *(r7);
                                                                 |     r1 = *((r7 + 4));
                                                                 |     r2 = *((r7 + 8));
    0x000141ce stm.w r6, {r0, r1, r2}                            |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
    0x000141d0 movs r7, r0                                       |     r7 = r0;
    0x000141d2 mov r1, sb                                        |     r1 = sb;
    0x000141d4 mov r0, r6                                        |     r0 = r6;
    0x000141d6 blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x000141da cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000141dc beq.w 0x14310                                     |         goto label_147;
                                                                 |     }
    0x000141e0 ldrd r6, r7, [r4, 0x68]                           |     __asm ("ldrd r6, r7, [r4, 0x68]");
    0x000141e4 b.w 0x137ba                                       |     goto label_42;
                                                                 | label_129:
    0x000141e8 mov r1, r7                                        |     r1 = r7;
    0x000141ea mov r0, r6                                        |     r0 = r6;
    0x000141ec blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x000141f0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000141f2 bne.w 0x13b3a                                     |         goto label_43;
                                                                 |     }
    0x000141f6 b.w 0x13744                                       |     goto label_44;
                                                                 | label_144:
    0x00014202 ldr.w r1, [pc, 0x66c]                             |     
    0x00014206 movs r0, 1                                        |     r0 = 1;
    0x00014208 ldrd r2, r3, [r4, 0xe8]                           |     __asm ("ldrd r2, r3, [r4, 0xe8]");
    0x0001420a movs r3, 0x3a                                     |     r3 = 0x3a;
    0x0001420c add r1, pc                                        |     r1 = 0x28a82;
    0x0001420e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00014212 ldr.w r2, [r4, 0xf0]                              |     r2 = *((r4 + 0xf0));
    0x00014216 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00014218 bne.w 0x146e0                                     |         goto label_148;
                                                                 |     }
                                                                 | label_57:
    0x0001421c movs r0, 0xa                                      |     r0 = 0xa;
    0x0001421e blx 0x59b8                                        |     fcn_000059b8 ();
    0x00014222 b 0x13a62                                         |     goto label_45;
                                                                 | label_124:
    0x0001425c ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x0001425e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00014260 beq.w 0x1471c                                     |         goto label_149;
                                                                 |     }
                                                                 | label_65:
    0x00014264 ldr.w r1, [pc, 0x618]                             |     
    0x00014268 mov r2, r6                                        |     r2 = r6;
    0x0001426a strd sb, r7, [sp]                                 |     __asm ("strd sb, r7, [sp]");
    0x0001426e movs r0, 1                                        |     r0 = 1;
    0x00014270 add r1, pc                                        |     r1 = 0x28af4;
    0x00014272 blx 0x59a0                                        |     fcn_000059a0 ();
    0x00014276 b.w 0x134b8                                       |     goto label_30;
                                                                 |     if (r7 != 0) {
    0x00014278 cbnz r7, 0x14282                                  |         void (*0x14282)() ();
                                                                 |     }
                                                                 | label_138:
    0x0001427a ldr.w r0, [pc, 0x608]                             |     
    0x0001427e add r0, pc                                        |     r0 = 0x28b08;
    0x00014280 blx 0x62a0                                        |     fcn_000062a0 ();
    0x00014284 b.w 0x138fa                                       |     goto label_46;
                                                                 | label_105:
    0x000142f2 ldr.w sb, [pc, 0x5a0]                             |     
    0x000142f6 add sb, pc                                        |     sb = 0x28b90;
    0x000142f8 b.w 0x1335a                                       |     goto label_47;
                                                                 | label_104:
    0x000142fc ldr.w r6, [pc, 0x598]                             |     
    0x00014300 add r6, pc                                        |     r6 = 0x28b9c;
    0x00014302 b.w 0x13342                                       |     goto label_48;
                                                                 | label_131:
    0x00014306 ldr.w r6, [pc, 0x594]                             |     
    0x0001430a add r6, pc                                        |     r6 = 0x28bac;
    0x0001430c b.w 0x13744                                       |     goto label_44;
                                                                 | label_147:
    0x00014310 ldr.w r3, [pc, 0x58c]                             |     
    0x00014314 mov r1, sb                                        |     r1 = sb;
    0x00014316 str r0, [r6, 4]                                   |     *((r6 + 4)) = r0;
    0x00014318 mov r0, r6                                        |     r0 = r6;
    0x0001431a add r3, pc                                        |     r3 = 0x28bbe;
    0x0001431c str r3, [r6]                                      |     *(r6) = r3;
    0x0001431e blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x00014322 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00014324 beq.w 0x146c8                                     |         goto label_134;
                                                                 |     }
    0x00014328 ldrd r6, r7, [r4, 0x48]                           |     __asm ("ldrd r6, r7, [r4, 0x48]");
    0x0001432c b.w 0x137ba                                       |     goto label_42;
                                                                 | label_115:
    0x00014402 ldr.w r3, [pc, 0x4bc]                             |     
    0x00014406 add r3, pc                                        |     r3 = 0x28ccc;
    0x00014408 b.w 0x134a6                                       |     goto label_49;
                                                                 | label_122:
    0x0001440c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00014410 cmp r0, 5                                         |     
    0x00014412 it le                                             |     
                                                                 |     if (r0 <= 5) {
    0x00014414 movle r6, r5                                      |         r6 = r5;
                                                                 |         goto label_150;
                                                                 |     }
                                                                 |     if (r0 <= 5) {
                                                                 | label_150:
    0x00014416 ble.w 0x1313a                                     |         goto label_17;
                                                                 |     }
    0x0001441a ldr r3, [r4]                                      |     r3 = *(r4);
    0x0001441c mov r1, r5                                        |     r1 = r5;
    0x0001441e ldr.w r2, [pc, 0x4a4]                             |     
    0x00014422 movs r0, 6                                        |     r0 = 6;
    0x00014424 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00014426 ldr.w r3, [pc, 0x4a0]                             |     
    0x0001442a add r2, pc                                        |     r2 = 0x28cf4;
    0x0001442c adds r2, 7                                        |     r2 += 7;
    0x0001442e add r3, pc                                        |     r3 = 0x28cfc;
    0x00014430 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00014432 ldr.w r3, [pc, 0x498]                             |     
    0x00014436 add r3, pc                                        |     r3 = 0x28d08;
    0x00014438 str r3, [sp]                                      |     *(sp) = r3;
    0x0001443a movw r3, 0x313                                    |     r3 = 0x313;
    0x0001443e blx 0x61a4                                        |     fcn_000061a4 ();
    0x00014442 ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00014444 b 0x140a0                                         |     goto label_50;
                                                                 | label_132:
    0x000144b6 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000144ba cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000144bc beq.w 0x14758                                     |         goto label_151;
                                                                 |     }
    0x000144c0 cmp r0, 0x10                                      |     
                                                                 |     if (r0 != 0x10) {
    0x000144c2 bne.w 0x14716                                     |         goto label_152;
                                                                 |     }
    0x000144c6 ldr.w r7, [pc, 0x41c]                             |     
    0x000144ca add r7, pc                                        |     r7 = 0x28db4;
                                                                 | label_64:
    0x000144cc blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000144d0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000144d2 bne.w 0x14702                                     |         goto label_153;
                                                                 |     }
    0x000144d6 ldr.w r3, [pc, 0x410]                             |     
    0x000144da add r3, pc                                        |     r3 = 0x28dc8;
                                                                 | label_61:
    0x000144dc ldr.w r1, [pc, 0x40c]                             |     
    0x000144e0 mov r2, r7                                        |     r2 = r7;
    0x000144e2 str r3, [sp]                                      |     *(sp) = r3;
    0x000144e4 movs r0, 1                                        |     r0 = 1;
    0x000144e6 mov r3, r6                                        |     r3 = r6;
    0x000144e8 add r1, pc                                        |     r1 = 0x28dd8;
    0x000144ea blx 0x59a0                                        |     fcn_000059a0 ();
    0x000144ee b.w 0x13772                                       |     goto label_51;
                                                                 | label_140:
    0x000144f2 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x000144f6 ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x000144f8 blx 0x6210                                        |     fcn_00006210 ();
    0x000144fc ldr r3, [sp, 0x50]                                |     r3 = var_50h;
    0x000144fe mov r6, r0                                        |     r6 = r0;
    0x00014500 movs r1, 0x26                                     |     r1 = 0x26;
    0x00014502 ldr r0, [sp, 0x4c]                                |     r0 = var_4ch;
    0x00014504 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00014506 str r3, [sp]                                      |     *(sp) = r3;
    0x00014508 ldrd r2, r3, [r4, 0xb0]                           |     __asm ("ldrd r2, r3, [r4, 0xb0]");
    0x0001450c blx 0x64bc                                        |     r0 = fcn_000064bc ();
    0x00014510 mov r7, r0                                        |     r7 = r0;
    0x00014512 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00014516 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00014518 beq.w 0x14750                                     |         goto label_154;
                                                                 |     }
    0x0001451c cmp r0, 0x10                                      |     
                                                                 |     if (r0 != 0x10) {
    0x0001451e bne.w 0x1470e                                     |         goto label_155;
                                                                 |     }
    0x00014522 ldr.w sb, [pc, 0x3cc]                             |     
    0x00014526 add sb, pc                                        |     sb = 0x28e1c;
                                                                 | label_63:
    0x00014528 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x0001452c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001452e bne.w 0x14708                                     |         goto label_156;
                                                                 |     }
    0x00014532 ldr r3, [pc, 0x3c0]                               |     
    0x00014534 add r3, pc                                        |     r3 = 0x28e2e;
                                                                 | label_62:
    0x00014536 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00014538 beq.w 0x14748                                     |         goto label_157;
                                                                 |     }
    0x0001453c ldr r2, [pc, 0x3b8]                               |     
    0x0001453e add r2, pc                                        |     r2 = 0x28e3a;
                                                                 | label_66:
    0x00014540 ldr r1, [pc, 0x3b8]                               |     
    0x00014542 movs r0, 1                                        |     r0 = 1;
    0x00014544 strd r2, r6, [sp, 4]                              |     __asm ("strd r2, r6, [var_8h]");
    0x00014548 mov r2, sb                                        |     r2 = sb;
    0x0001454a str r7, [sp]                                      |     *(sp) = r7;
    0x0001454c add r1, pc                                        |     r1 = 0x28e4c;
    0x0001454e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00014552 ldr.w r6, [r4, 0xbc]                              |     r6 = *((r4 + 0xbc));
    0x00014556 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00014558 beq.w 0x1397c                                     |         goto label_52;
                                                                 |     }
    0x0001455c mov r3, r6                                        |     r3 = r6;
    0x0001455e movs r7, 0                                        |     r7 = 0;
                                                                 |     do {
    0x00014560 ldr r2, [r3, 0xc]                                 |         r2 = *((r3 + 0xc));
    0x00014562 ldr r3, [r3, 0x10]                                |         r3 = *((r3 + 0x10));
    0x00014564 cmp r2, 0                                         |         
    0x00014566 it lt                                             |         
                                                                 |         if (r2 >= 0) {
    0x00014568 addlt r7, 1                                       |             r7++;
                                                                 |         }
    0x0001456a cmp r3, 0                                         |         
    0x0001456c bne 0x14560                                       |         
                                                                 |     } while (r3 != 0);
                                                                 | label_133:
    0x000145cc ldr r1, [pc, 0x344]                               |     
    0x000145ce mov r2, r6                                        |     r2 = r6;
    0x000145d0 movs r0, 1                                        |     r0 = 1;
    0x000145d2 add r1, pc                                        |     r1 = 0x28eea;
    0x000145d4 blx 0x59a0                                        |     fcn_000059a0 ();
    0x000145d8 b.w 0x1378c                                       |     goto label_53;
                                                                 | label_141:
    0x000145fc mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00014600 ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x00014602 blx 0x6210                                        |     fcn_00006210 ();
    0x00014606 ldr r3, [sp, 0x50]                                |     r3 = var_50h;
    0x00014608 mov r6, r0                                        |     r6 = r0;
    0x0001460a movs r1, 0x26                                     |     r1 = 0x26;
    0x0001460c ldr r0, [sp, 0x4c]                                |     r0 = var_4ch;
    0x0001460e ldr r3, [r3]                                      |     r3 = *(r3);
    0x00014610 str r3, [sp]                                      |     *(sp) = r3;
    0x00014612 ldrd r2, r3, [r4, 0xc0]                           |     __asm ("ldrd r2, r3, [r4, 0xc0]");
    0x00014616 blx 0x64bc                                        |     r0 = fcn_000064bc ();
    0x0001461a mov r7, r0                                        |     r7 = r0;
    0x0001461c blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x00014620 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00014622 bne 0x146fa                                       |         goto label_158;
                                                                 |     }
    0x00014624 ldr.w sb, [pc, 0x2f4]                             |     
    0x00014628 add sb, pc                                        |     sb = 0x28f48;
                                                                 | label_60:
    0x0001462a blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x0001462e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00014630 bne 0x146f4                                       |         goto label_159;
                                                                 |     }
    0x00014632 ldr r3, [pc, 0x2ec]                               |     
    0x00014634 add r3, pc                                        |     r3 = 0x28f5a;
                                                                 | label_59:
    0x00014636 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00014638 beq.w 0x1476a                                     |         goto label_160;
                                                                 |     }
    0x0001463a strh r7, [r2, 4]                                  |     *((r2 + 4)) = r7;
    0x0001463c ldr r2, [pc, 0x2e4]                               |     
    0x0001463e add r2, pc                                        |     r2 = 0x28f66;
                                                                 | label_67:
    0x00014640 ldr r1, [pc, 0x2e4]                               |     
    0x00014642 movs r0, 1                                        |     r0 = 1;
    0x00014644 strd r2, r6, [sp, 4]                              |     __asm ("strd r2, r6, [var_8h]");
    0x00014648 mov r2, sb                                        |     r2 = sb;
    0x0001464a str r7, [sp]                                      |     *(sp) = r7;
    0x0001464c add r1, pc                                        |     r1 = 0x28f78;
    0x0001464e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00014652 ldrb.w r3, [r4, 0xc9]                             |     r3 = *((r4 + 0xc9));
    0x00014656 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00014658 bne.w 0x1475e                                     |         goto label_161;
                                                                 |     }
    0x0001465c ldr.w r2, [r4, 0xcc]                              |     r2 = *((r4 + 0xcc));
    0x00014660 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00014662 beq.w 0x1398e                                     |         goto label_54;
                                                                 |     }
                                                                 | label_110:
    0x0001468e ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00014690 movs r6, 4                                        |     r6 = 4;
    0x00014692 b.w 0x1313a                                       |     goto label_17;
                                                                 | label_146:
    0x00014696 movs r0, 0xa                                      |     r0 = 0xa;
    0x00014698 blx 0x59b8                                        |     fcn_000059b8 ();
    0x0001469c b.w 0x13806                                       |     goto label_39;
                                                                 | label_120:
    0x000146a0 ldr r1, [pc, 0x290]                               |     
    0x000146a2 mov.w r2, 0x17e                                   |     r2 = 0x17e;
    0x000146a6 ldr r3, [pc, 0x290]                               |     
    0x000146a8 movs r0, 3                                        |     r0 = 3;
    0x000146aa ldr r4, [sp, 0x50]                                |     r4 = var_50h;
    0x000146ac add r1, pc                                        |     r1 = 0x28fe4;
    0x000146ae adds r1, 7                                        |     r1 += 7;
    0x000146b0 add r3, pc                                        |     r3 = 0x28fee;
    0x000146b2 blx 0x65cc                                        |     fflush_and_check ();
    0x000146b6 ldr.w r0, [sl]                                    |     r0 = *(sl);
    0x000146ba blx 0x5be4                                        |     fcn_00005be4 ();
    0x000146be ldr r3, [sp, 0x48]                                |     r3 = var_48h;
    0x000146c0 ldr r0, [r3]                                      |     r0 = *(0x28fee);
    0x000146c2 blx 0x5be4                                        |     fcn_00005be4 ();
    0x000146c6 b 0x1407a                                         |     goto label_55;
                                                                 | label_134:
    0x000146c8 ldrd r6, r7, [r4, 0x60]                           |     __asm ("ldrd r6, r7, [r4, 0x60]");
    0x000146cc b.w 0x137ba                                       |     goto label_42;
                                                                 | label_125:
    0x000146d0 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000146d2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000146d4 beq 0x14778                                       |         
    0x000146d6 ldr r2, [pc, 0x264]                               |         
    0x000146d8 add r2, pc                                        |         r2 = 0x2901a;
    0x000146da mov r1, r2                                        |         r1 = r2;
    0x000146dc b.w 0x136c6                                       |         goto label_56;
                                                                 | label_148:
    0x000146e0 ldr r1, [pc, 0x25c]                               |         
    0x000146e2 movs r0, 1                                        |         r0 = 1;
    0x000146e4 add r1, pc                                        |         r1 = 0x29028;
    0x000146e6 blx 0x59a0                                        |         fcn_000059a0 ();
    0x000146ea b 0x1421c                                         |         goto label_57;
                                                                 | label_128:
    0x000146ec ldr r3, [pc, 0x254]                               |         
    0x000146ee add r3, pc                                        |         r3 = 0x29036;
    0x000146f0 b.w 0x136ee                                       |         goto label_58;
                                                                 | label_159:
    0x000146f4 ldr r3, [pc, 0x250]                               |         
    0x000146f6 add r3, pc                                        |         r3 = 0x29042;
    0x000146f8 b 0x14636                                         |         goto label_59;
                                                                 | label_158:
    0x000146fa ldr.w sb, [pc, 0x250]                             |         
    0x000146fe add sb, pc                                        |         sb = 0x29050;
    0x00014700 b 0x1462a                                         |         goto label_60;
                                                                 | label_153:
    0x00014702 ldr r3, [pc, 0x24c]                               |         
    0x00014704 add r3, pc                                        |         r3 = 0x2905a;
    0x00014706 b 0x144dc                                         |         goto label_61;
                                                                 | label_156:
    0x00014708 ldr r3, [pc, 0x248]                               |         
    0x0001470a add r3, pc                                        |         r3 = 0x29062;
    0x0001470c b 0x14536                                         |         goto label_62;
                                                                 | label_155:
    0x0001470e ldr.w sb, [pc, 0x248]                             |         
    0x00014712 add sb, pc                                        |         sb = 0x29070;
    0x00014714 b 0x14528                                         |         goto label_63;
                                                                 | label_152:
    0x00014716 ldr r7, [pc, 0x244]                               |         
    0x00014718 add r7, pc                                        |         r7 = 0x2907a;
    0x0001471a b 0x144cc                                         |         goto label_64;
                                                                 | label_149:
    0x0001471c ldr r3, [pc, 0x240]                               |         
    0x0001471e add r3, pc                                        |         r3 = 0x29082;
    0x00014720 b 0x14264                                         |         goto label_65;
                                                                 | label_157:
    0x00014748 ldr r6, [pc, 0x21c]                               |         
    0x0001474a add r6, pc                                        |         r6 = 0x290b6;
    0x0001474c mov r2, r6                                        |         r2 = r6;
    0x0001474e b 0x14540                                         |         goto label_66;
                                                                 | label_154:
    0x00014750 ldr.w sb, [pc, 0x218]                             |         
    0x00014754 add sb, pc                                        |         sb = 0x290c4;
    0x00014756 b 0x14528                                         |         goto label_63;
                                                                 | label_151:
    0x00014758 ldr r7, [pc, 0x214]                               |         
    0x0001475a add r7, pc                                        |         r7 = 0x290ce;
    0x0001475c b 0x144cc                                         |         goto label_64;
                                                                 | label_161:
    0x0001475e ldr r0, [pc, 0x214]                               |         
    0x00014760 add r0, pc                                        |         r0 = 0x290da;
    0x00014762 blx 0x62a0                                        |         fcn_000062a0 ();
    0x00014766 b.w 0x1398e                                       |         goto label_54;
                                                                 | label_160:
    0x0001476a ldr r6, [pc, 0x20c]                               |         
    0x0001476c add r6, pc                                        |         r6 = 0x290ea;
    0x0001476e mov r2, r6                                        |         r2 = r6;
    0x00014770 b 0x14640                                         |         goto label_67;
                                                                 |     }
    0x00014778 ldr r2, [pc, 0x204]                               |     
    0x0001477a ldr r3, [pc, 0x208]                               |     
    0x0001477c add r2, pc                                        |     r2 = 0x29100;
    0x0001477e add r3, pc                                        |     r3 = 0x29108;
    0x00014780 mov r1, r2                                        |     r1 = r2;
    0x00014782 b.w 0x136c6                                       |     goto label_56;
                                                                 | label_127:
    0x000147d6 ldr r2, [pc, 0x1c0]                               |     
    0x000147d8 add r2, pc                                        |     r2 = 0x29176;
    0x000147da mov r1, r2                                        |     r1 = r2;
    0x000147dc b.w 0x136c6                                       |     goto label_56;
                                                                 | label_107:
    0x000147e0 blx 0x6114                                        |     fcn_00006114 ();
    0x000147e4 ldc p0, c0, [r8], 0                               |     __asm ("ldc p0, c0, [r8], 0");
    0x000147e8 lsls r4, r7, 0x17                                 |     r4 = r7 << 0x17;
    0x000147ea movs r0, r0                                       |     
    0x000147ec stcl p0, c0, [r4], {0}                            |     __asm ("stcl p0, c0, [r4], {0}");
    0x000147f0 ldc p0, c0, [sl], 0                               |     __asm ("ldc p0, c0, [sl], 0");
    0x000147f4 stc p0, c0, [r6], {0}                             |     __asm ("stc p0, c0, [r6], {0}");
    0x000147f8 mrrc p0, 0, r0, r6, c0                            |     __asm ("mrrc p0, 0, r0, r6, c0");
    0x000147fc mrrc p0, 0, r0, lr, c0                            |     __asm ("mrrc p0, 0, r0, lr, c0");
    0x00014800 mrrc p0, 0, r0, r4, c0                            |     __asm ("mrrc p0, 0, r0, r4, c0");
    0x00014804 ldc p0, c0, [r6], -0                              |     __asm ("ldc p0, c0, [r6], -0");
    0x00014808 invalid                                           |     
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x189b4 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.000189b4 ()                                      | void fcn_000189b4 (int16_t arg_0h, int16_t arg_d8h, int16_t arg_f0h, int16_t arg_268h, int16_t arg_270h_2, int16_t arg_198h, int16_t arg_1d8h, int16_t arg_368h, int16_t arg_270h, int16_t arg_2c0h, int16_t arg_2f0h, int16_t arg_300h, int16_t arg_338h, int16_t arg_3e8h, int16_t arg2) {
                                                                 |     int16_t var_34h;
                                                                 |     int8_t var_1h_2;
                                                                 |     int16_t var_10h_4;
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int8_t var_1h;
                                                                 |     int16_t var_8h;
                                                                 |     int32_t var_8h_5;
                                                                 |     int16_t var_10h;
                                                                 |     int32_t var_4h_3;
                                                                 |     int16_t var_8h_3;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h_3;
                                                                 |     int32_t var_0h_2;
                                                                 |     int32_t var_8h_4;
                                                                 |     int16_t var_1ch_2;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_b0h_2;
                                                                 |     int16_t var_b8h;
                                                                 |     int16_t var_138h;
                                                                 |     int32_t var_12ch;
                                                                 |     int32_t var_134h;
                                                                 |     int16_t var_13ch;
                                                                 |     int16_t var_160h;
                                                                 |     int16_t var_170h;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h_2;
                                                                 |     int32_t var_10h_6;
                                                                 |     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_2;
                                                                 |     int16_t var_38h_2;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t c;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     char * s;
                                                                 |     int16_t var_68h_2;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_70h;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_78h;
                                                                 |     int16_t var_7ch;
                                                                 |     int16_t var_1f0h;
                                                                 |     int16_t var_84h;
                                                                 |     int16_t var_88h;
                                                                 |     int32_t var_88h_2;
                                                                 |     int16_t var_90h;
                                                                 |     int16_t var_94h;
                                                                 |     int32_t var_10h_5;
                                                                 |     int32_t var_14h;
                                                                 |     int16_t var_a4h;
                                                                 |     int16_t var_a8h;
                                                                 |     int16_t var_b0h;
                                                                 |     int16_t var_230h;
                                                                 |     r1 = arg2;
    0x000189b4 svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x000189b8 sub sp, 0xac                                      |     
    0x000189ba ldr.w r4, [pc, 0xc50]                             |     
    0x000189be movs r3, 0                                        |     r3 = 0;
    0x000189c0 ldr.w r0, [pc, 0xc4c]                             |     r0 = *(0x19610);
    0x000189c4 add r4, pc                                        |     r4 = 0x31fd6;
    0x000189c6 ldr.w fp, [pc, 0xc4c]                             |     
    0x000189ca ldr.w r2, [pc, 0xc4c]                             |     r2 = *(0x1961a);
    0x000189ce ldr r0, [r4, r0]                                  |     
    0x000189d0 mov r4, r1                                        |     r4 = r1;
    0x000189d2 add fp, pc                                        |     fp = 0x31fec;
    0x000189d4 ldr r0, [r0]                                      |     r0 = *(0x31fd6);
    0x000189d6 str r0, [sp, 0xa4]                                |     var_a4h = r0;
    0x000189d8 mov.w r0, 0                                       |     r0 = 0;
    0x000189dc strd r3, r3, [sp, 0x54]                           |     __asm ("strd r3, r3, [var_58h]");
    0x000189e0 strd r3, r3, [sp, 0x5c]                           |     __asm ("strd r3, r3, [var_60h]");
    0x000189e4 ldr.w r3, [fp, r2]                                |     r3 = *(0x31fec);
    0x000189e8 ldrb r5, [r3]                                     |     r5 = *(r3);
    0x000189ea str r3, [sp, 0x18]                                |     var_18h = r3;
                                                                 |     if (r5 != 0) {
    0x000189ec cbz r5, 0x18a0c                                   |         
    0x000189ee ldr.w r3, [pc, 0xc2c]                             |         
    0x000189f2 add r3, pc                                        |         r3 = 0x32014;
    0x000189f4 ldm.w r3, {r0, r1, r2}                            |         r0 = *(r3);
                                                                 |         r1 = *((r3 + 4));
                                                                 |         r2 = *((r3 + 8));
    0x000189f8 add r3, sp, 0x94                                  |         r3 += var_94h;
    0x000189fa stm.w r3, {r0, r1, r2}                            |         *(r3) = r0;
                                                                 |         *((r3 + 4)) = r1;
                                                                 |         *((r3 + 8)) = r2;
    0x000189fe mov r0, r3                                        |         r0 = r3;
    0x00018a00 ldr r1, [r4]                                      |         r1 = *(r4);
    0x00018a02 blx 0x6060                                        |         r0 = fcn_00006060 ();
    0x00018a06 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00018a08 beq.w 0x18f34                                     |             goto label_58;
                                                                 |         }
                                                                 |     }
    0x00018a0c add r1, sp, 0x64                                  |     r1 += s;
    0x00018a0e eor r0, r5, 1                                     |     r0 = r5 ^ 1;
    0x00018a12 bl 0x1a334                                        |     r0 = fcn_0001a334 (r0, r1);
    0x00018a16 subs.w sb, r0, 0                                  |     sb = r0 - 0;
                                                                 |     if (sb < r0) {
    0x00018a1a blt.w 0x18ce2                                     |         goto label_59;
                                                                 |     }
    0x00018a1e bl 0x1a4dc                                        |     fcn_0001a4dc ();
    0x00018a22 bl 0x1a518                                        |     fcn_0001a518 ();
    0x00018a26 ldr.w r3, [pc, 0xbf8]                             |     r3 = *(0x19622);
    0x00018a2a ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018a2e ldr r5, [r3]                                      |     r5 = *(0x19622);
    0x00018a30 str r3, [sp, 0x28]                                |     var_28h = r3;
    0x00018a32 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00018a34 beq.w 0x18c7c                                     |         goto label_60;
                                                                 |     }
    0x00018a38 cmp r5, 0x15                                      |     
                                                                 |     if (r5 > 0x15) {
    0x00018a3a bhi.w 0x1942c                                     |         goto label_61;
                                                                 |     }
    0x00018a3e ldr.w r3, [pc, 0xbe4]                             |     
    0x00018a42 add.w r5, r5, r5, lsl 1                           |     r5 += (r5 << 1);
    0x00018a46 lsls r5, r5, 2                                    |     r5 <<= 2;
    0x00018a48 add r3, pc                                        |     r3 = 0x32072;
    0x00018a4a ldr r6, [r3, r5]                                  |     r6 = *(0x32072);
    0x00018a4c cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00018a4e beq.w 0x19448                                     |         goto label_62;
                                                                 |     }
    0x00018a52 add r3, r5                                        |     r3 += r5;
    0x00018a54 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x00018a56 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00018a58 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018a5a beq.w 0x1916a                                     |         goto label_63;
                                                                 |     }
                                                                 | label_0:
    0x00018a5e mov r0, r6                                        |     r0 = r6;
    0x00018a60 movs r1, 0                                        |     r1 = 0;
    0x00018a62 blx 0x5cb0                                        |     fcn_00005cb0 ();
    0x00018a66 str r0, [sp, 0x60]                                |     var_60h = r0;
    0x00018a68 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00018a6a beq.w 0x18cc8                                     |         goto label_64;
                                                                 |     }
    0x00018a6e ldr.w r3, [pc, 0xbb8]                             |     
    0x00018a72 add r3, pc                                        |     r3 = 0x320a0;
    0x00018a74 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00018a76 ldr.w r3, [pc, 0xbb4]                             |     
    0x00018a7a add r3, pc                                        |     r3 = 0x320ac;
    0x00018a7c str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 | label_1:
    0x00018a7e ldr.w r3, [pc, 0xbb0]                             |     r3 = *(0x19632);
    0x00018a82 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018a86 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x00018a88 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00018a8a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018a8c beq.w 0x18e2e                                     |         goto label_65;
                                                                 |     }
                                                                 | label_5:
    0x00018a90 ldr r3, [sp, 0x18]                                |     r3 = var_18h;
    0x00018a92 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00018a94 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00018a96 bne.w 0x18f7a                                     |         goto label_66;
                                                                 |     }
                                                                 | label_9:
    0x00018a9a ldr.w r3, [pc, 0xb98]                             |     r3 = *(0x19636);
    0x00018a9e ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018aa2 ldrb r2, [r3]                                     |     r2 = *(r3);
    0x00018aa4 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00018aa6 bne.w 0x18d2a                                     |         goto label_67;
                                                                 |     }
    0x00018aaa ldr r3, [sp, 0x60]                                |     r3 = var_60h;
    0x00018aac cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018aae beq.w 0x1987e                                     |         goto label_68;
                                                                 |     }
    0x00018ab2 subs r6, r3, 4                                    |     r6 = r3 - 4;
    0x00018ab4 ldr.w r3, [pc, 0xb80]                             |     
    0x00018ab8 add r3, pc                                        |     r3 = 0x320f4;
    0x00018aba adds r3, 7                                        |     r3 += 7;
    0x00018abc str r3, [sp, 0x48]                                |     var_48h = r3;
    0x00018abe ldr.w r3, [pc, 0xb7c]                             |     
    0x00018ac2 add r3, pc                                        |     r3 = 0x32104;
    0x00018ac4 adds r3, 7                                        |     r3 += 7;
    0x00018ac6 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x00018ac8 ldr.w r3, [pc, 0xb74]                             |     
    0x00018acc add r3, pc                                        |     r3 = 0x32110;
    0x00018ace strd r2, r3, [sp, 0x38]                           |     __asm ("strd r2, r3, [var_38h_2]");
                                                                 | label_4:
    0x00018ad2 ldr r3, [r6, 4]!                                  |     r3 = *((r6 += 4));
    0x00018ad6 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018ad8 beq.w 0x194ce                                     |         goto label_69;
                                                                 |     }
    0x00018adc movs r3, 0                                        |     r3 = 0;
    0x00018ade ldr r5, [sp, 0x64]                                |     r5 = s;
    0x00018ae0 strd r3, r3, [sp, 0x7c]                           |     __asm ("strd r3, r3, [var_1f0h]");
    0x00018ae4 str r3, [sp, 0x84]                                |     var_84h = r3;
    0x00018ae6 ldr r4, [r6]                                      |     r4 = *(r6);
    0x00018ae8 str r3, [sp, 0x68]                                |     var_68h_2 = r3;
    0x00018aea ldr r3, [sp, 0x58]                                |     r3 = var_58h;
    0x00018aec str r3, [sp, 0x24]                                |     var_24h = r3;
    0x00018aee ldr r3, [sp, 0x54]                                |     r3 = c;
    0x00018af0 str r3, [sp, 0x34]                                |     var_34h_2 = r3;
    0x00018af2 ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x00018af4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018af6 beq.w 0x19366                                     |         goto label_70;
                                                                 |     }
    0x00018afa cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x00018afc beq.w 0x19404                                     |         goto label_71;
                                                                 |     }
    0x00018b00 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00018b02 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018b04 beq.w 0x19418                                     |         goto label_72;
                                                                 |     }
    0x00018b08 blx 0x5934                                        |     fcn_00005934 ();
    0x00018b0c ldr.w r3, [pc, 0xb34]                             |     r3 = *(0x19644);
    0x00018b10 cmp r0, 6                                         |     
    0x00018b12 ldr.w r7, [fp, r3]                                |     r7 = *((fp + r3));
    0x00018b16 ldrb r3, [r7]                                     |     r3 = *(r7);
                                                                 |     if (r0 <= 6) {
    0x00018b18 ble.w 0x18e0e                                     |         goto label_73;
                                                                 |     }
    0x00018b1c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00018b1e bne.w 0x18fbe                                     |         goto label_74;
                                                                 |     }
    0x00018b22 ldr.w r3, [pc, 0xb24]                             |     
    0x00018b26 add r3, pc                                        |     r3 = 0x32174;
                                                                 | label_10:
    0x00018b28 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00018b2a movs r1, 0                                        |     r1 = 0;
    0x00018b2c ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00018b2e movs r0, 7                                        |     r0 = 7;
    0x00018b30 ldr.w r2, [pc, 0xb18]                             |     
    0x00018b34 add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x00018b38 strd r4, r3, [sp, 0x10]                           |     __asm ("strd r4, r3, [var_10h_2]");
    0x00018b3c ldr r3, [sp, 0x1c]                                |     r3 = var_1ch;
    0x00018b3e add r2, pc                                        |     r2 = 0x3218e;
    0x00018b40 adds r2, 7                                        |     r2 += 7;
    0x00018b42 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00018b44 ldr.w r3, [pc, 0xb08]                             |     
    0x00018b48 add r3, pc                                        |     r3 = 0x3219c;
    0x00018b4a str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00018b4c ldr.w r3, [pc, 0xb04]                             |     
    0x00018b50 add r3, pc                                        |     r3 = 0x321a8;
    0x00018b52 str r3, [sp]                                      |     *(sp) = r3;
    0x00018b54 movs r3, 0x4a                                     |     r3 = 0x4a;
    0x00018b56 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00018b5a ldrb r3, [r7]                                     |     r3 = *(r7);
    0x00018b5c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00018b5e bne.w 0x18f26                                     |         goto label_75;
                                                                 |     }
                                                                 | label_3:
    0x00018b62 ldr.w r3, [pc, 0xaf4]                             |     r3 = *(0x1965a);
    0x00018b66 add.w sb, sp, 0x68                                |     sb += var_68h_2;
    0x00018b6a ldr.w r2, [pc, 0xaf0]                             |     r2 = *(0x1965e);
    0x00018b6e ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018b72 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x00018b76 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00018b78 ldr.w r8, [r2]                                    |     r8 = *(0x1965e);
    0x00018b7c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018b7e beq.w 0x18e90                                     |         goto label_37;
                                                                 |     }
    0x00018b82 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00018b84 add.w sb, sp, 0x68                                |     sb += var_68h_2;
    0x00018b88 ldr.w r2, [pc, 0xad4]                             |     
    0x00018b8c mov.w sl, 0                                       |     sl = 0;
    0x00018b90 mov r1, r8                                        |     r1 = r8;
    0x00018b92 mov r0, r5                                        |     r0 = r5;
    0x00018b94 str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x00018b96 ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00018b98 add r2, pc                                        |     r2 = 0x321fc;
    0x00018b9a str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x00018b9e strd sl, sl, [sp, 0x88]                           |     __asm ("strd sl, sl, [var_88h]");
    0x00018ba2 strd r4, r3, [sp, 8]                              |     __asm ("strd r4, r3, [var_8h_2]");
    0x00018ba6 ldr.w r3, [pc, 0xabc]                             |     
    0x00018baa str.w sl, [sp, 0x90]                              |     __asm ("str.w sl, [var_90h]");
    0x00018bae add r3, pc                                        |     r3 = 0x32218;
    0x00018bb0 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00018bb2 add r3, sp, 0x88                                  |     r3 += var_88h;
    0x00018bb4 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00018bb6 blx 0x5d44                                        |     r0 = strlen (r0);
    0x00018bba subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x00018bbc blt.w 0x18e6e                                     |         goto label_76;
                                                                 |     }
    0x00018bc0 ldr.w r1, [pc, 0xaa4]                             |     
    0x00018bc4 add.w sb, sp, 0x78                                |     sb += var_78h;
    0x00018bc8 add.w r8, sp, 0x74                                |     r8 += var_74h;
    0x00018bcc add r7, sp, 0x70                                  |     r7 += var_70h;
    0x00018bce ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
    0x00018bd0 add r3, sp, 0x6c                                  |     r3 += var_6ch;
    0x00018bd2 add r1, pc                                        |     r1 = 0x3223e;
    0x00018bd4 mov r2, sb                                        |     r2 = sb;
    0x00018bd6 str.w sl, [sp, 4]                                 |     __asm ("str.w sl, [var_4h_2]");
    0x00018bda str.w r8, [sp, 8]                                 |     __asm ("str.w r8, [var_8h_2]");
    0x00018bde str r7, [sp]                                      |     *(sp) = r7;
    0x00018be0 blx 0x5b10                                        |     r0 = runlevel_to_target ();
    0x00018be4 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x00018be6 blt.w 0x191c6                                     |         goto label_77;
                                                                 |     }
    0x00018bea blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018bee cmp r0, 5                                         |     
                                                                 |     if (r0 > 5) {
    0x00018bf0 bgt.w 0x19518                                     |         goto label_78;
                                                                 |     }
                                                                 | label_32:
    0x00018bf4 ldr.w sl, [pc, 0xa74]                             |     
    0x00018bf8 movs r1, 0x61                                     |     r1 = 0x61;
    0x00018bfa ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
    0x00018bfc add sl, pc                                        |     sl = 0x3226c;
    0x00018bfe mov r2, sl                                        |     r2 = sl;
    0x00018c00 blx 0x5838                                        |     r0 = fcn_00005838 ();
    0x00018c04 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x00018c06 blt.w 0x195a0                                     |         goto label_79;
                                                                 |     }
    0x00018c0a mov r3, r8                                        |     r3 = r8;
    0x00018c0c mov r8, r4                                        |     r8 = r4;
    0x00018c0e mov r4, r3                                        |     r4 = r3;
    0x00018c10 str r5, [sp, 0x4c]                                |     var_4ch = r5;
                                                                 | label_31:
    0x00018c12 movs r5, 0                                        |     r5 = 0;
    0x00018c14 b 0x18c24                                         |     
                                                                 |     if (r5 == 0) {
                                                                 |         while (r0 >= 0) {
    0x00018c16 beq.w 0x194d4                                     |             goto label_80;
                                                                 |         }
    0x00018c1a blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00018c1e cmp r0, 5                                         |         
                                                                 |         if (r0 > 5) {
    0x00018c20 bgt.w 0x194f0                                     |             goto label_81;
                                                                 |         }
    0x00018c24 ldr r0, [sp, 0x68]                                |         r0 = var_68h_2;
    0x00018c26 movs r3, 0                                        |         r3 = 0;
    0x00018c28 mov r2, sb                                        |         r2 = sb;
    0x00018c2a mov r1, sl                                        |         r1 = sl;
    0x00018c2c strd r5, r4, [sp, 4]                              |         __asm ("strd r5, r4, [var_4h_2]");
    0x00018c30 str r7, [sp]                                      |         *(sp) = r7;
    0x00018c32 blx 0x5b10                                        |         r0 = runlevel_to_target ();
    0x00018c36 cmp r0, 0                                         |         
    0x00018c38 bge 0x18c16                                       |         
                                                                 |     }
    0x00018c3a str r0, [sp, 0x24]                                |     var_24h = r0;
    0x00018c3c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018c40 cmp r0, 2                                         |     
    0x00018c42 ldr r1, [sp, 0x24]                                |     r1 = var_24h;
                                                                 |     if (r0 > 2) {
    0x00018c44 bgt.w 0x198ca                                     |         goto label_82;
                                                                 |     }
                                                                 | label_18:
    0x00018c48 rsbs r7, r1, 0                                    |     r7 = r1 - ;
    0x00018c4a uxtb r7, r7                                       |     r7 = (int8_t) r7;
    0x00018c4c rsbs r7, r7, 0                                    |     r7 -= ;
                                                                 | label_19:
    0x00018c4e add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x00018c52 cmp r7, 0                                         |     
    0x00018c54 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00018c56 it ge                                             |     
                                                                 |     if (r7 < 0) {
    0x00018c58 mvnge r7, 0x55                                    |         r7 = ~0x55;
                                                                 |     }
    0x00018c5c blx 0x6024                                        |     fcn_00006024 ();
                                                                 | label_6:
    0x00018c60 ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
                                                                 |     if (r0 != 0) {
    0x00018c62 cbz r0, 0x18c68                                   |         
    0x00018c64 blx 0x582c                                        |         fcn_0000582c ();
                                                                 |     }
    0x00018c68 ldr r3, [sp, 0x38]                                |     r3 = var_38h_2;
    0x00018c6a cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00018c6c bne.w 0x18e26                                     |         goto label_11;
                                                                 |     }
    0x00018c70 mov r0, r7                                        |     r0 = r7;
    0x00018c72 mov r1, r8                                        |     r1 = r8;
    0x00018c74 bl 0x1a548                                        |     fcn_0001a548 (r0, r1);
    0x00018c78 str r0, [sp, 0x38]                                |     var_38h_2 = r0;
    0x00018c7a b 0x18e26                                         |     goto label_11;
                                                                 | label_60:
    0x00018c7c ldr r6, [r4]                                      |     r6 = *(r4);
    0x00018c7e mov r0, r6                                        |     r0 = r6;
    0x00018c80 bl 0x18968                                        |     r0 = fcn_00018968 (r0);
    0x00018c84 cmn.w r0, 0x16                                    |     
                                                                 |     if (r0 == 0x16) {
    0x00018c88 beq.w 0x18dc6                                     |         goto label_83;
                                                                 |     }
    0x00018c8c ldr.w r3, [pc, 0x9e0]                             |     
    0x00018c90 add.w r0, r0, r0, lsl 1                           |     r0 += (r0 << 1);
    0x00018c94 lsls r0, r0, 2                                    |     r0 <<= 2;
    0x00018c96 add r3, pc                                        |     
    0x00018c98 ldr r6, [r3, r0]                                  |     r6 = *(0x3230a);
    0x00018c9a add r3, r0                                        |     r3 += r0;
    0x00018c9c ldr r3, [r3, 8]                                   |     r3 = *(0x32312);
    0x00018c9e str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00018ca0 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00018ca2 bne.w 0x18a5e                                     |         goto label_0;
                                                                 |     }
                                                                 | label_14:
    0x00018ca6 ldr.w r3, [pc, 0x98c]                             |     r3 = *(0x19636);
    0x00018caa ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018cae ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00018cb0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018cb2 beq.w 0x19380                                     |         goto label_84;
                                                                 |     }
    0x00018cb6 ldr.w r3, [pc, 0x9bc]                             |     
    0x00018cba add r3, pc                                        |     r3 = 0x32334;
    0x00018cbc str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00018cbe ldr.w r3, [pc, 0x9b8]                             |     
    0x00018cc2 add r3, pc                                        |     r3 = 0x32340;
    0x00018cc4 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00018cc6 b 0x18a7e                                         |     goto label_1;
                                                                 | label_64:
    0x00018cc8 ldr.w r1, [pc, 0x9b0]                             |     
    0x00018ccc mov.w r2, 0x14a                                   |     r2 = 0x14a;
    0x00018cd0 ldr.w r3, [pc, 0x9ac]                             |     
    0x00018cd4 movs r0, 3                                        |     r0 = 3;
    0x00018cd6 add r1, pc                                        |     r1 = 0x32356;
    0x00018cd8 add r3, pc                                        |     r3 = 0x3235c;
    0x00018cda adds r1, 7                                        |     r1 += 7;
    0x00018cdc blx 0x65cc                                        |     r0 = fflush_and_check ();
    0x00018ce0 mov sb, r0                                        |     sb = r0;
                                                                 |     do {
                                                                 | label_59:
    0x00018ce2 ldr r0, [sp, 0x60]                                |         r0 = var_60h;
                                                                 |         if (r0 != 0) {
                                                                 | label_2:
    0x00018ce4 cbz r0, 0x18cec                                   |             
    0x00018ce6 blx 0x5dec                                        |             unit_file_state_to_string ();
    0x00018cea str r0, [sp, 0x60]                                |             var_60h = r0;
                                                                 |         }
                                                                 | label_8:
    0x00018cec ldr r0, [sp, 0x5c]                                |         r0 = var_5ch;
    0x00018cee blx 0x5be4                                        |         fcn_00005be4 ();
    0x00018cf2 ldr r0, [sp, 0x58]                                |         r0 = var_58h;
    0x00018cf4 movs r3, 0                                        |         r3 = 0;
    0x00018cf6 str r3, [sp, 0x5c]                                |         var_5ch = r3;
                                                                 |         if (r0 != 0) {
    0x00018cf8 cbz r0, 0x18d00                                   |             
    0x00018cfa blx 0x57cc                                        |             fcn_000057cc ();
    0x00018cfe str r0, [sp, 0x58]                                |             var_58h = r0;
                                                                 |         }
    0x00018d00 ldr r0, [sp, 0x54]                                |         r0 = c;
                                                                 |         if (r0 != 0) {
    0x00018d02 cbz r0, 0x18d08                                   |             
    0x00018d04 blx 0x5f0c                                        |             output_mode_from_string ();
                                                                 |         }
    0x00018d08 ldr.w r2, [pc, 0x978]                             |         
    0x00018d0c ldr.w r3, [pc, 0x900]                             |         r3 = *(0x19610);
    0x00018d10 add r2, pc                                        |         r2 = 0x32398;
    0x00018d12 ldr r3, [r2, r3]                                  |         r3 = *(0x32398);
    0x00018d14 ldr r2, [r3]                                      |         r2 = *(0x32398);
    0x00018d16 ldr r3, [sp, 0xa4]                                |         r3 = var_a4h;
    0x00018d18 eors r2, r3                                       |         r2 ^= r3;
    0x00018d1a mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00018d1e bne.w 0x199d4                                     |             goto label_85;
                                                                 |         }
    0x00018d22 mov r0, sb                                        |         r0 = sb;
    0x00018d24 add sp, 0xac                                      |         
    0x00018d26 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_67:
    0x00018d2a movs r3, 0                                        |         r3 = 0;
    0x00018d2c ldr r4, [sp, 0x64]                                |         r4 = s;
    0x00018d2e str r3, [sp, 0x78]                                |         var_78h = r3;
    0x00018d30 strd r3, r3, [sp, 0x88]                           |         __asm ("strd r3, r3, [var_88h]");
    0x00018d34 str r3, [sp, 0x90]                                |         var_90h = r3;
    0x00018d36 blx 0x5934                                        |         fcn_00005934 ();
    0x00018d3a ldr.w r3, [pc, 0x908]                             |         r3 = *(0x19646);
    0x00018d3e cmp r0, 6                                         |         
    0x00018d40 ldr r6, [sp, 0x58]                                |         r6 = var_58h;
    0x00018d42 ldr.w r5, [fp, r3]                                |         r5 = *((fp + r3));
                                                                 |         if (r0 > 6) {
    0x00018d46 ble 0x18d7a                                       |             
    0x00018d48 ldrb r3, [r5]                                     |             r3 = *(r5);
    0x00018d4a cmp r3, 0                                         |             
                                                                 |             if (r3 != 0) {
    0x00018d4c bne.w 0x19442                                     |                 goto label_86;
                                                                 |             }
    0x00018d50 ldr.w r3, [pc, 0x934]                             |             
    0x00018d54 add r3, pc                                        |             r3 = 0x323e0;
                                                                 | label_26:
    0x00018d56 str r3, [sp, 8]                                   |             var_8h_2 = r3;
    0x00018d58 movs r1, 0                                        |             r1 = 0;
    0x00018d5a ldr.w r3, [pc, 0x930]                             |             
    0x00018d5e movs r0, 7                                        |             r0 = 7;
    0x00018d60 ldr.w r2, [pc, 0x92c]                             |             
    0x00018d64 add r3, pc                                        |             r3 = 0x323f6;
    0x00018d66 str r3, [sp, 4]                                   |             var_4h_2 = r3;
    0x00018d68 add r2, pc                                        |             r2 = 0x323fc;
    0x00018d6a ldr.w r3, [pc, 0x928]                             |             
    0x00018d6e adds r2, 7                                        |             r2 += 7;
    0x00018d70 add r3, pc                                        |             r3 = 0x3240a;
    0x00018d72 str r3, [sp]                                      |             *(sp) = r3;
    0x00018d74 movs r3, 0xbb                                     |             r3 = 0xbb;
    0x00018d76 blx 0x61a4                                        |             fcn_000061a4 ();
                                                                 |         }
    0x00018d7a ldrb r7, [r5]                                     |         r7 = *(r5);
    0x00018d7c cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x00018d7e beq.w 0x190bc                                     |             goto label_87;
                                                                 |         }
    0x00018d82 add r5, sp, 0x88                                  |         r5 += var_88h;
                                                                 | label_12:
    0x00018d84 mov.w sb, 0                                       |         sb = 0;
                                                                 | label_27:
    0x00018d88 mov r0, r5                                        |         r0 = r5;
    0x00018d8a blx 0x6024                                        |         fcn_00006024 ();
    0x00018d8e ldr r0, [sp, 0x78]                                |         r0 = var_78h;
                                                                 |         if (r0 != 0) {
    0x00018d90 cbz r0, 0x18d96                                   |             
    0x00018d92 blx 0x582c                                        |             fcn_0000582c ();
                                                                 |         }
                                                                 | label_29:
    0x00018d96 ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x00018d98 ldrb r3, [r3]                                     |         r3 = *(r3);
    0x00018d9a cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00018d9c beq.w 0x19392                                     |             goto label_88;
                                                                 |         }
                                                                 | label_25:
    0x00018da0 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x00018da2 ldrb r3, [r3]                                     |         r3 = *(r3);
    0x00018da4 cmp r3, 0                                         |         
    0x00018da6 beq 0x18ce2                                       |         
                                                                 |     } while (r3 == 0);
    0x00018da8 ldr r0, [sp, 0x54]                                |     r0 = c;
    0x00018daa blx 0x5d2c                                        |     r0 = bus_call_method ();
    0x00018dae subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00018db0 blt.w 0x19830                                     |         goto label_89;
                                                                 |     }
    0x00018db4 cmp r4, 1                                         |     
    0x00018db6 it eq                                             |     
                                                                 |     if (r4 == 1) {
    0x00018db8 cmpeq sb, 0                                       |         __asm ("cmpeq sb, 0");
                                                                 |     }
    0x00018dbc ldr r0, [sp, 0x60]                                |     r0 = var_60h;
    0x00018dbe it eq                                             |     
                                                                 |     if (r4 != 1) {
    0x00018dc0 moveq sb, 1                                       |         sb = 1;
                                                                 |     }
    0x00018dc4 b 0x18ce4                                         |     goto label_2;
                                                                 | label_83:
    0x00018dc6 ldr.w r7, [pc, 0x8d0]                             |     
    0x00018dca mov r0, r6                                        |     r0 = r6;
    0x00018dcc add r7, pc                                        |     r7 = 0x3246a;
    0x00018dce mov r1, r7                                        |     r1 = r7;
    0x00018dd0 blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x00018dd4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00018dd6 beq.w 0x19158                                     |         goto label_90;
                                                                 |     }
    0x00018dda ldr.w r3, [pc, 0x858]                             |     r3 = *(0x19636);
    0x00018dde ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018de2 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00018de4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00018de6 bne.w 0x1945e                                     |         goto label_91;
                                                                 |     }
    0x00018dea ldr.w r7, [pc, 0x8b0]                             |     
    0x00018dee mov r5, r3                                        |     r5 = r3;
    0x00018df0 ldr.w r0, [pc, 0x8ac]                             |     
    0x00018df4 add r7, pc                                        |     r7 = 0x32496;
    0x00018df6 add r0, pc                                        |     r0 = 0x3249a;
    0x00018df8 mov r8, r7                                        |     r8 = r7;
                                                                 |     do {
    0x00018dfa cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00018dfc bne.w 0x1922a                                     |             goto label_92;
                                                                 |         }
                                                                 | label_22:
    0x00018e00 adds r5, 1                                        |         r5++;
    0x00018e02 cmp r5, 0xc                                       |         
                                                                 |         if (r5 == 0xc) {
    0x00018e04 beq.w 0x1956a                                     |             goto label_93;
                                                                 |         }
    0x00018e08 ldr r0, [r8, 0xc]!                                |         r0 = *((r8 += 0xc));
    0x00018e0c b 0x18dfa                                         |         
                                                                 |     } while (1);
                                                                 | label_73:
    0x00018e0e add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x00018e12 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00018e14 beq.w 0x18b62                                     |         goto label_3;
                                                                 |     }
                                                                 | label_7:
    0x00018e18 ldr r1, [sp, 0x3c]                                |     r1 = var_3ch;
    0x00018e1a ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x00018e1c blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x00018e20 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00018e22 beq.w 0x18fc6                                     |         goto label_94;
                                                                 |     }
                                                                 | label_11:
    0x00018e26 mov r0, r8                                        |     r0 = r8;
    0x00018e28 blx 0x6024                                        |     fcn_00006024 ();
    0x00018e2c b 0x18ad2                                         |     goto label_4;
                                                                 | label_65:
    0x00018e2e ldr r0, [sp, 0x64]                                |     r0 = s;
    0x00018e30 add r1, sp, 0x58                                  |     r1 += var_58h;
    0x00018e32 blx 0x5e64                                        |     r0 = path_extend_internal ();
    0x00018e36 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x00018e38 bge.w 0x18a90                                     |         goto label_5;
                                                                 |     }
    0x00018e3c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018e40 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00018e42 ble.w 0x190a6                                     |         goto label_95;
                                                                 |     }
    0x00018e46 ldr.w r2, [pc, 0x85c]                             |     
    0x00018e4a movw r3, 0x15f                                    |     r3 = 0x15f;
    0x00018e4e ldr.w r5, [pc, 0x858]                             |     
    0x00018e52 ldr.w r0, [pc, 0x858]                             |     
    0x00018e56 add r2, pc                                        |     r2 = 0x32500;
    0x00018e58 add r5, pc                                        |     r5 = 0x32506;
    0x00018e5a add r0, pc                                        |     r0 = 0x3250c;
                                                                 | label_17:
    0x00018e5c strd r0, r5, [sp]                                 |     __asm ("strd r0, r5, [sp]");
    0x00018e60 mov r1, r4                                        |     r1 = r4;
    0x00018e62 adds r2, 7                                        |     r2 += 7;
    0x00018e64 movs r0, 3                                        |     r0 = 3;
    0x00018e66 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00018e6a mov sb, r0                                        |     sb = r0;
    0x00018e6c b 0x190ae                                         |     goto label_96;
                                                                 | label_76:
    0x00018e6e ldr.w r1, [pc, 0x840]                             |     
    0x00018e72 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00018e74 add r1, pc                                        |     r1 = 0x3252a;
    0x00018e76 blx 0x6288                                        |     r0 = fcn_00006288 ();
    0x00018e7a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00018e7c beq.w 0x18ff8                                     |         goto label_97;
                                                                 |     }
    0x00018e80 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018e84 cmp r0, 4                                         |     
                                                                 |     if (r0 > 4) {
    0x00018e86 bgt.w 0x195e6                                     |         goto label_98;
                                                                 |     }
    0x00018e8a ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00018e8c blx 0x6024                                        |     fcn_00006024 ();
                                                                 | label_37:
    0x00018e90 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
    0x00018e92 mov r1, r8                                        |     r1 = r8;
    0x00018e94 add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x00018e98 ldr r2, [sp, 0x1c]                                |     r2 = var_1ch;
    0x00018e9a mov r0, r5                                        |     r0 = r5;
    0x00018e9c str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x00018ea0 strd r4, r3, [sp, 8]                              |     __asm ("strd r4, r3, [var_8h_2]");
    0x00018ea4 ldr.w r3, [pc, 0x80c]                             |     
    0x00018ea8 add r3, pc                                        |     r3 = 0x32560;
    0x00018eaa str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00018eac mov r3, r8                                        |     r3 = r8;
    0x00018eae blx 0x5d44                                        |     r0 = strlen (r0);
    0x00018eb2 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x00018eb4 blt.w 0x1900c                                     |         goto label_99;
                                                                 |     }
    0x00018eb8 ldr.w r1, [pc, 0x7fc]                             |     
    0x00018ebc add r2, sp, 0x6c                                  |     r2 += var_6ch;
    0x00018ebe ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
    0x00018ec0 add r1, pc                                        |     r1 = 0x3257c;
    0x00018ec2 blx 0x5b10                                        |     r0 = runlevel_to_target ();
    0x00018ec6 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x00018ec8 blt.w 0x19488                                     |         goto label_100;
                                                                 |     }
                                                                 | label_30:
    0x00018ecc mov r0, r5                                        |     r0 = r5;
    0x00018ece mov r1, r4                                        |     r1 = r4;
    0x00018ed0 bl 0x1aa48                                        |     r0 = fcn_0001aa48 (r0, r1, r2);
    0x00018ed4 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00018ed6 bgt.w 0x19162                                     |         goto label_101;
                                                                 |     }
                                                                 | label_15:
    0x00018eda ldr r3, [sp, 0x24]                                |     r3 = var_24h;
                                                                 |     if (r3 != 0) {
    0x00018edc cbz r3, 0x18ef6                                   |         
    0x00018ede blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00018ee2 cmp r0, 6                                         |         
                                                                 |         if (r0 > 6) {
    0x00018ee4 bgt.w 0x19186                                     |             goto label_102;
                                                                 |         }
                                                                 | label_16:
    0x00018ee8 ldr r0, [sp, 0x24]                                |         r0 = var_24h;
    0x00018eea ldr r1, [sp, 0x6c]                                |         r1 = var_6ch;
    0x00018eec blx 0x5898                                        |         r0 = fcn_00005898 ();
    0x00018ef0 subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 < r0) {
    0x00018ef2 blt.w 0x191f8                                     |             goto label_103;
                                                                 |         }
                                                                 |     }
    0x00018ef6 ldr r3, [sp, 0x34]                                |     r3 = var_34h_2;
                                                                 |     if (r3 != 0) {
    0x00018ef8 cbz r3, 0x18f26                                   |         
    0x00018efa mov r0, r3                                        |         r0 = r3;
    0x00018efc movs r3, 0                                        |         r3 = 0;
    0x00018efe movs r2, 6                                        |         r2 = 6;
    0x00018f00 mov r1, r4                                        |         r1 = r4;
    0x00018f02 str r3, [sp]                                      |         *(sp) = r3;
    0x00018f04 blx 0x5c8c                                        |         r0 = fcn_00005c8c ();
    0x00018f08 subs r7, r0, 0                                    |         r7 = r0 - 0;
                                                                 |         if (r7 >= r0) {
    0x00018f0a bge 0x18f26                                       |             goto label_75;
                                                                 |         }
    0x00018f0c blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00018f10 cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x00018f12 bgt.w 0x1996e                                     |             goto label_104;
                                                                 |         }
                                                                 | label_20:
    0x00018f16 rsbs r7, r7, 0                                    |         r7 -= ;
    0x00018f18 uxtb r7, r7                                       |         r7 = (int8_t) r7;
    0x00018f1a rsbs r7, r7, 0                                    |         r7 -= ;
                                                                 | label_21:
    0x00018f1c cmp r7, 0                                         |         
    0x00018f1e it ge                                             |         
                                                                 |         if (r7 < 0) {
    0x00018f20 mvnge r7, 0x55                                    |             r7 = ~0x55;
                                                                 |         }
    0x00018f24 b 0x18c60                                         |         goto label_6;
                                                                 |     }
                                                                 | label_75:
    0x00018f26 ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
    0x00018f28 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00018f2a beq.w 0x18e18                                     |         goto label_7;
                                                                 |     }
    0x00018f2e blx 0x582c                                        |     fcn_0000582c ();
    0x00018f32 b 0x18e18                                         |     goto label_7;
                                                                 | label_58:
    0x00018f34 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018f38 cmp r0, 2                                         |     
    0x00018f3a it le                                             |     
                                                                 |     if (r0 <= 2) {
    0x00018f3c mvnle sb, 0x15                                    |         sb = ~0x15;
                                                                 |         goto label_105;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_105:
    0x00018f40 ble.w 0x18cec                                     |         goto label_8;
                                                                 |     }
    0x00018f44 ldr.w r2, [pc, 0x774]                             |     
    0x00018f48 movs r1, 0x16                                     |     r1 = 0x16;
    0x00018f4a ldr.w r0, [pc, 0x774]                             |     
    0x00018f4e movw r3, 0x113                                    |     r3 = 0x113;
    0x00018f52 ldr.w r4, [pc, 0x770]                             |     
    0x00018f56 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x00018f5a add r2, pc                                        |     r2 = 0x3261a;
    0x00018f5c add r0, pc                                        |     r0 = 0x32622;
    0x00018f5e adds r2, 7                                        |     r2 += 7;
    0x00018f60 add r4, pc                                        |     r4 = 0x3262a;
    0x00018f62 str r0, [sp, 4]                                   |     var_4h_2 = r0;
    0x00018f64 str r4, [sp]                                      |     *(sp) = r4;
    0x00018f66 movs r0, 3                                        |     r0 = 3;
    0x00018f68 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00018f6c subs.w sb, r0, 0                                  |     sb = r0 - 0;
    0x00018f70 ldr r0, [sp, 0x60]                                |     r0 = var_60h;
    0x00018f72 it ge                                             |     
                                                                 |     if (sb < r0) {
    0x00018f74 mvnge sb, 0x55                                    |         sb = ~0x55;
                                                                 |     }
    0x00018f78 b 0x18ce4                                         |     goto label_2;
                                                                 | label_66:
    0x00018f7a ldr.w r3, [pc, 0x6e0]                             |     r3 = *(0x1965e);
    0x00018f7e movs r1, 0                                        |     r1 = 0;
    0x00018f80 ldr r0, [sp, 0x64]                                |     r0 = s;
    0x00018f82 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00018f86 strd r1, r1, [sp, 4]                              |     __asm ("strd r1, r1, [var_4h_2]");
    0x00018f8a str r1, [sp]                                      |     *(sp) = r1;
    0x00018f8c ldr r2, [r3]                                      |     r2 = *(0x1965e);
    0x00018f8e ldr.w r3, [pc, 0x738]                             |     
    0x00018f92 add r3, pc                                        |     r3 = 0x32660;
    0x00018f94 blx 0x6534                                        |     r0 = fcn_00006534 ();
    0x00018f98 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00018f9a blt 0x1909c                                       |         goto label_106;
                                                                 |     }
    0x00018f9c ldr r0, [sp, 0x64]                                |     r0 = s;
    0x00018f9e add r1, sp, 0x54                                  |     r1 += c;
    0x00018fa0 blx 0x5a8c                                        |     r0 = strrchr (r0, r1);
    0x00018fa4 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x00018fa6 bge.w 0x18a9a                                     |         goto label_9;
                                                                 |     }
    0x00018faa blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00018fae cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00018fb0 bgt.w 0x198b6                                     |         goto label_107;
                                                                 |     }
                                                                 | label_28:
    0x00018fb4 rsbs r3, r4, 0                                    |     r3 = r4 - ;
    0x00018fb6 uxtb r3, r3                                       |     r3 = (int8_t) r3;
    0x00018fb8 rsb.w sb, r3, 0                                   |     sb = r3 - ;
    0x00018fbc b 0x190ae                                         |     goto label_96;
                                                                 | label_74:
    0x00018fbe ldr.w r3, [pc, 0x70c]                             |     
    0x00018fc2 add r3, pc                                        |     r3 = 0x32694;
    0x00018fc4 b 0x18b28                                         |     goto label_10;
                                                                 | label_94:
    0x00018fc6 ldr r1, [r6]                                      |     r1 = *(r6);
    0x00018fc8 add r0, sp, 0x5c                                  |     r0 += var_5ch;
    0x00018fca blx 0x588c                                        |     r0 = fcn_0000588c ();
    0x00018fce cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x00018fd0 bge.w 0x18e26                                     |         goto label_11;
                                                                 |     }
    0x00018fd4 ldr.w r1, [pc, 0x6f8]                             |     
    0x00018fd8 mov.w r2, 0x17a                                   |     r2 = 0x17a;
    0x00018fdc ldr.w r3, [pc, 0x6f4]                             |     
    0x00018fe0 movs r0, 3                                        |     r0 = 3;
    0x00018fe2 add r1, pc                                        |     r1 = 0x326b6;
    0x00018fe4 add r3, pc                                        |     r3 = 0x326bc;
    0x00018fe6 adds r1, 7                                        |     r1 += 7;
    0x00018fe8 blx 0x65cc                                        |     r0 = fflush_and_check ();
    0x00018fec mov sb, r0                                        |     sb = r0;
    0x00018fee mov r0, r8                                        |     r0 = r8;
    0x00018ff0 blx 0x6024                                        |     fcn_00006024 ();
    0x00018ff4 ldr r0, [sp, 0x60]                                |     r0 = var_60h;
    0x00018ff6 b 0x18ce4                                         |     goto label_2;
                                                                 | label_97:
    0x00018ff8 ldr r5, [sp, 0x40]                                |     r5 = var_40h;
    0x00018ffa add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x00018ffe mov r0, r8                                        |     r0 = r8;
    0x00019000 mov r1, r5                                        |     r1 = r5;
    0x00019002 blx 0x5c5c                                        |     fcn_00005c5c ();
    0x00019006 mov r0, r5                                        |     r0 = r5;
    0x00019008 blx 0x6024                                        |     fcn_00006024 ();
                                                                 | label_99:
    0x0001900c ldr r3, [sp, 0x28]                                |     r3 = var_28h;
    0x0001900e ldr r3, [r3]                                      |     r3 = *(r3);
    0x00019010 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019012 bne.w 0x18c60                                     |         goto label_6;
                                                                 |     }
    0x00019016 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x0001901a cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x0001901c bgt.w 0x19572                                     |         goto label_108;
                                                                 |     }
                                                                 | label_36:
    0x00019020 movs r3, 0                                        |     r3 = 0;
    0x00019022 ldr.w r2, [pc, 0x6b4]                             |     
    0x00019026 ldr.w r1, [pc, 0x6b4]                             |     
    0x0001902a mov r0, r8                                        |     r0 = r8;
    0x0001902c str r3, [sp]                                      |     *(sp) = r3;
    0x0001902e ldr.w r3, [pc, 0x6b0]                             |     
    0x00019032 add r2, pc                                        |     r2 = 0x32710;
    0x00019034 add r1, pc                                        |     r1 = 0x32716;
    0x00019036 add r3, pc                                        |     r3 = 0x3271c;
    0x00019038 blx 0x63cc                                        |     r0 = fcn_000063cc ();
    0x0001903c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001903e bne.w 0x18c60                                     |         goto label_6;
                                                                 |     }
    0x00019042 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019046 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00019048 ble.w 0x18c60                                     |         goto label_6;
                                                                 |     }
    0x0001904c ldr.w r3, [pc, 0x694]                             |     
    0x00019050 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019054 ldr r3, [r3]                                      |     r3 = *(0x196e4);
    0x00019056 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019058 bne.w 0x198ea                                     |         goto label_109;
                                                                 |     }
    0x0001905c ldr.w r2, [pc, 0x688]                             |     
    0x00019060 ldr.w r1, [pc, 0x688]                             |     
    0x00019064 add r2, pc                                        |     r2 = 0x32750;
    0x00019066 add r1, pc                                        |     r1 = 0x32756;
                                                                 | label_42:
    0x00019068 ldrb r3, [r4]                                     |     r3 = *(r4);
    0x0001906a cmp r3, 0x2d                                      |     
                                                                 |     if (r3 == 0x2d) {
    0x0001906c beq.w 0x19966                                     |         goto label_110;
                                                                 |     }
    0x00019070 ldr.w r3, [pc, 0x67c]                             |     
    0x00019074 add r3, pc                                        |     r3 = 0x32768;
                                                                 | label_44:
    0x00019076 strd r3, r4, [sp, 0x10]                           |     __asm ("strd r3, r4, [var_10h_2]");
    0x0001907a movs r0, 3                                        |     r0 = 3;
    0x0001907c ldr.w r3, [pc, 0x674]                             |     
    0x00019080 strd r2, r1, [sp, 8]                              |     __asm ("strd r2, r1, [var_8h_2]");
    0x00019084 movs r1, 0                                        |     r1 = 0;
    0x00019086 ldr r2, [sp, 0x48]                                |     r2 = var_48h;
    0x00019088 add r3, pc                                        |     r3 = 0x32780;
    0x0001908a str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001908c ldr.w r3, [pc, 0x668]                             |     
    0x00019090 add r3, pc                                        |     r3 = 0x3278c;
    0x00019092 str r3, [sp]                                      |     *(sp) = r3;
    0x00019094 movs r3, 0xaa                                     |     r3 = 0xaa;
    0x00019096 blx 0x61a4                                        |     fcn_000061a4 ();
    0x0001909a b 0x18c60                                         |     goto label_6;
                                                                 | label_106:
    0x0001909c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000190a0 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x000190a2 bgt.w 0x191ae                                     |         goto label_111;
                                                                 |     }
                                                                 | label_95:
    0x000190a6 rsbs r0, r4, 0                                    |     r0 = r4 - ;
    0x000190a8 uxtb r0, r0                                       |     r0 = (int8_t) r0;
    0x000190aa rsb.w sb, r0, 0                                   |     sb = r0 - ;
                                                                 | label_96:
    0x000190ae cmp.w sb, 0                                       |     
    0x000190b2 ldr r0, [sp, 0x60]                                |     r0 = var_60h;
    0x000190b4 it ge                                             |     
                                                                 |     if (sb < 0) {
    0x000190b6 mvnge sb, 0x55                                    |         sb = ~0x55;
                                                                 |     }
    0x000190ba b 0x18ce4                                         |     goto label_2;
                                                                 | label_87:
    0x000190bc ldr.w r3, [pc, 0x59c]                             |     r3 = *(0x1965c);
    0x000190c0 add r5, sp, 0x88                                  |     r5 += var_88h;
    0x000190c2 ldr.w r2, [pc, 0x638]                             |     
    0x000190c6 mov r0, r4                                        |     r0 = r4;
    0x000190c8 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000190cc add r2, pc                                        |     r2 = 0x327ce;
    0x000190ce str r7, [sp, 4]                                   |     var_4h_2 = r7;
    0x000190d0 ldr r1, [r3]                                      |     r1 = *(0x1965c);
    0x000190d2 add r3, sp, 0x78                                  |     r3 += var_78h;
    0x000190d4 str r3, [sp]                                      |     *(sp) = r3;
    0x000190d6 mov r3, r5                                        |     r3 = r5;
    0x000190d8 blx 0x5d44                                        |     r0 = strlen (r0);
    0x000190dc subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x000190de blt.w 0x19468                                     |         goto label_112;
                                                                 |     }
    0x000190e2 ldr r0, [sp, 0x78]                                |     r0 = var_78h;
    0x000190e4 add r1, sp, 0x7c                                  |     r1 += var_7ch;
    0x000190e6 str r7, [sp, 0x7c]                                |     var_7ch = r7;
    0x000190e8 blx 0x5648                                        |     r0 = sd_bus_message_read_strv ();
    0x000190ec subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x000190ee blt.w 0x1985c                                     |         goto label_113;
                                                                 |     }
    0x000190f2 ldr r0, [sp, 0x7c]                                |     r0 = var_7ch;
    0x000190f4 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000190f6 beq.w 0x195d2                                     |         goto label_114;
                                                                 |     }
    0x000190fa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000190fc beq.w 0x18d84                                     |         goto label_12;
                                                                 |     }
    0x00019100 ldr.w r8, [pc, 0x5fc]                             |     
    0x00019104 mov r4, r0                                        |     r4 = r0;
    0x00019106 ldr.w sb, [pc, 0x5fc]                             |     
    0x0001910a add r8, pc                                        |     r8 = 0x3280e;
    0x0001910c add sb, pc                                        |     sb = 0x32816;
    0x0001910e add.w r8, r8, 7                                   |     r8 += 7;
    0x00019112 mov sl, sb                                        |     sl = sb;
    0x00019114 mov sb, r5                                        |     sb = r5;
    0x00019116 b 0x19126                                         |     
                                                                 |     while (r0 <= 6) {
                                                                 | label_13:
    0x00019118 mov r1, r5                                        |         r1 = r5;
    0x0001911a mov r0, r6                                        |         r0 = r6;
    0x0001911c blx 0x5898                                        |         r0 = fcn_00005898 ();
    0x00019120 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00019122 blt.w 0x198f6                                     |             goto label_115;
                                                                 |         }
    0x00019126 mov r7, r4                                        |         r7 = r4;
    0x00019128 ldr r5, [r4], 4                                   |         r5 = *(r4);
                                                                 |         r4 += 4;
    0x0001912c cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0001912e beq.w 0x195ce                                     |             goto label_116;
                                                                 |         }
    0x00019132 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00019136 cmp r0, 6                                         |         
    0x00019138 ble 0x19118                                       |         
                                                                 |     }
    0x0001913a ldr.w r3, [pc, 0x5cc]                             |     
    0x0001913e mov r2, r8                                        |     r2 = r8;
    0x00019140 strd sl, r5, [sp, 4]                              |     __asm ("strd sl, r5, [var_4h_2]");
    0x00019144 movs r1, 0                                        |     r1 = 0;
    0x00019146 movs r0, 7                                        |     r0 = 7;
    0x00019148 add r3, pc                                        |     r3 = 0x32856;
    0x0001914a str r3, [sp]                                      |     *(sp) = r3;
    0x0001914c movs r3, 0xce                                     |     r3 = 0xce;
    0x0001914e blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019152 ldr r5, [r4, -0x4]                                |     r5 = *((r4 - 0x4));
    0x00019156 b 0x19118                                         |     goto label_13;
                                                                 | label_90:
    0x00019158 ldr.w r6, [pc, 0x5b0]                             |     
    0x0001915c str r7, [sp, 0x20]                                |     var_20h = r7;
    0x0001915e add r6, pc                                        |     r6 = 0x3286e;
    0x00019160 b 0x18ca6                                         |     goto label_14;
                                                                 | label_101:
    0x00019162 mov r0, r4                                        |     r0 = r4;
    0x00019164 bl 0x1ab10                                        |     fcn_0001ab10 (r0, r1, r2);
    0x00019168 b 0x18eda                                         |     goto label_15;
                                                                 | label_63:
    0x0001916a ldr.w r1, [pc, 0x5a4]                             |     
    0x0001916e movw r2, 0x13f                                    |     r2 = 0x13f;
    0x00019172 ldr.w r3, [pc, 0x5a0]                             |     
    0x00019176 ldr.w r0, [pc, 0x5a0]                             |     
    0x0001917a add r1, pc                                        |     r1 = 0x32890;
    0x0001917c add r3, pc                                        |     r3 = 0x32896;
    0x0001917e adds r1, 7                                        |     r1 += 7;
    0x00019180 add r0, pc                                        |     r0 = 0x3289e;
    0x00019182 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_102:
    0x00019186 ldr r3, [sp, 0x6c]                                |     r3 = var_6ch;
    0x00019188 movs r1, 0                                        |     r1 = 0;
    0x0001918a ldr.w r2, [pc, 0x590]                             |     
    0x0001918e movs r0, 7                                        |     r0 = 7;
    0x00019190 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019192 ldr.w r3, [pc, 0x58c]                             |     
    0x00019196 add r2, pc                                        |     r2 = 0x328b8;
    0x00019198 adds r2, 7                                        |     r2 += 7;
    0x0001919a add r3, pc                                        |     r3 = 0x328c0;
    0x0001919c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001919e ldr.w r3, [pc, 0x584]                             |     
    0x000191a2 add r3, pc                                        |     r3 = 0x328cc;
    0x000191a4 str r3, [sp]                                      |     *(sp) = r3;
    0x000191a6 movs r3, 0x92                                     |     r3 = 0x92;
    0x000191a8 blx 0x61a4                                        |     fcn_000061a4 ();
    0x000191ac b 0x18ee8                                         |     goto label_16;
                                                                 | label_111:
    0x000191ae ldr.w r2, [pc, 0x578]                             |     
    0x000191b2 movw r3, 0x165                                    |     r3 = 0x165;
    0x000191b6 ldr.w r5, [pc, 0x574]                             |     
    0x000191ba ldr.w r0, [pc, 0x574]                             |     
    0x000191be add r2, pc                                        |     r2 = 0x328ec;
    0x000191c0 add r5, pc                                        |     r5 = 0x328f2;
    0x000191c2 add r0, pc                                        |     r0 = 0x328f8;
    0x000191c4 b 0x18e5c                                         |     goto label_17;
                                                                 | label_77:
    0x000191c6 str r1, [sp, 0x24]                                |     var_24h = r1;
    0x000191c8 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000191cc cmp r0, 2                                         |     
    0x000191ce ldr r1, [sp, 0x24]                                |     r1 = var_24h;
                                                                 |     if (r0 <= 2) {
    0x000191d0 ble.w 0x18c48                                     |         goto label_18;
                                                                 |     }
    0x000191d4 ldr.w r3, [pc, 0x55c]                             |     
    0x000191d8 movs r0, 3                                        |     r0 = 3;
    0x000191da ldr.w r2, [pc, 0x55c]                             |     
    0x000191de add r3, pc                                        |     r3 = 0x32916;
    0x000191e0 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x000191e2 add r2, pc                                        |     r2 = 0x32920;
    0x000191e4 ldr.w r3, [pc, 0x554]                             |     
    0x000191e8 adds r2, 7                                        |     r2 += 7;
    0x000191ea add r3, pc                                        |     r3 = 0x3292a;
    0x000191ec str r3, [sp]                                      |     *(sp) = r3;
    0x000191ee movs r3, 0x6b                                     |     r3 = 0x6b;
    0x000191f0 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000191f4 mov r7, r0                                        |     r7 = r0;
    0x000191f6 b 0x18c4e                                         |     goto label_19;
                                                                 | label_103:
    0x000191f8 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000191fc cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000191fe ble.w 0x18f16                                     |         goto label_20;
                                                                 |     }
    0x00019202 ldr.w r3, [pc, 0x53c]                             |     
    0x00019206 mov r1, r7                                        |     r1 = r7;
    0x00019208 ldr.w r2, [pc, 0x538]                             |     
    0x0001920c movs r0, 3                                        |     r0 = 3;
    0x0001920e str r4, [sp, 8]                                   |     var_8h_2 = r4;
    0x00019210 add r3, pc                                        |     r3 = 0x32956;
    0x00019212 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019214 add r2, pc                                        |     r2 = 0x3295c;
    0x00019216 ldr.w r3, [pc, 0x530]                             |     
    0x0001921a adds r2, 7                                        |     r2 += 7;
    0x0001921c add r3, pc                                        |     r3 = 0x3296a;
    0x0001921e str r3, [sp]                                      |     *(sp) = r3;
    0x00019220 movs r3, 0x95                                     |     r3 = 0x95;
    0x00019222 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00019226 mov r7, r0                                        |     r7 = r0;
    0x00019228 b 0x18f1c                                         |     goto label_21;
                                                                 | label_92:
    0x0001922a mov r1, r6                                        |     r1 = r6;
    0x0001922c blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x00019230 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00019232 bne.w 0x18e00                                     |         goto label_22;
                                                                 |     }
    0x00019236 ldr.w r3, [pc, 0x514]                             |     
    0x0001923a add.w r5, r5, r5, lsl 1                           |     r5 += (r5 << 1);
    0x0001923e add r3, pc                                        |     r3 = 0x32990;
    0x00019240 add.w r3, r3, r5, lsl 2                           |     r3 += (r5 << 2);
    0x00019244 ldr r3, [r3, 4]                                   |     r3 = *((r3 + 4));
    0x00019246 str r3, [sp, 0x1c]                                |     var_1ch = r3;
                                                                 | label_35:
    0x00019248 ldr.w r0, [pc, 0x504]                             |     
    0x0001924c movs r5, 0                                        |     r5 = 0;
    0x0001924e add r0, pc                                        |     r0 = 0x329a2;
                                                                 |     if (r0 != 0) {
                                                                 |         do {
    0x00019250 cbnz r0, 0x19260                                  |             goto label_117;
                                                                 |         }
                                                                 | label_23:
    0x00019252 adds r5, 1                                        |         r5++;
    0x00019254 cmp r5, 0xc                                       |         
                                                                 |         if (r5 == 0xc) {
    0x00019256 beq.w 0x19562                                     |             goto label_118;
                                                                 |         }
    0x0001925a ldr r0, [r7, 0xc]!                                |         r0 = *((r7 += 0xc));
    0x0001925e b 0x19250                                         |         
                                                                 |     } while (1);
                                                                 | label_117:
    0x00019260 mov r1, r6                                        |     r1 = r6;
    0x00019262 blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x00019266 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00019268 bne 0x19252                                       |         goto label_23;
                                                                 |     }
    0x0001926a ldr.w r3, [pc, 0x4e8]                             |     
    0x0001926e add.w r5, r5, r5, lsl 1                           |     r5 += (r5 << 1);
    0x00019272 add r3, pc                                        |     r3 = 0x329cc;
    0x00019274 add.w r3, r3, r5, lsl 2                           |     r3 += (r5 << 2);
    0x00019278 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x0001927a str r3, [sp, 0x2c]                                |     var_2ch = r3;
                                                                 | label_34:
    0x0001927c ldr.w r3, [pc, 0x4d8]                             |     
    0x00019280 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019284 ldr r3, [r3]                                      |     r3 = *(0x19758);
    0x00019286 str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00019288 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001928a beq.w 0x198ae                                     |         goto label_119;
                                                                 |     }
                                                                 | label_41:
    0x0001928e movs r6, 0                                        |     r6 = 0;
                                                                 | label_24:
    0x00019290 mov r0, r4                                        |     r0 = r4;
    0x00019292 ldr r4, [sp, 0x64]                                |     r4 = s;
    0x00019294 movs r1, 1                                        |     r1 = 1;
    0x00019296 add r5, sp, 0x88                                  |     r5 += var_88h;
    0x00019298 blx 0x5ad4                                        |     sd_bus_message_get_bus ();
    0x0001929c mov r2, r6                                        |     r2 = r6;
    0x0001929e mov r1, r0                                        |     r1 = r0;
    0x000192a0 add r3, sp, 0x60                                  |     r3 += var_60h;
    0x000192a2 mov r0, r4                                        |     r0 = r4;
    0x000192a4 str r5, [sp]                                      |     *(sp) = r5;
    0x000192a6 bl 0x1ba10                                        |     r0 = fcn_0001ba10 (r0, r1, r2, r3, r4, r5, r6);
    0x000192aa subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x000192ac blt.w 0x194b2                                     |         goto label_120;
                                                                 |     }
    0x000192b0 ldr.w r3, [pc, 0x4a8]                             |     r3 = *(0x1975c);
    0x000192b4 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000192b8 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x000192ba cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000192bc bne.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x000192c0 ldrb.w r3, [sp, 0x88]                             |     r3 = var_88h;
    0x000192c4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000192c6 beq.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x000192ca ldr.w r1, [pc, 0x494]                             |     
    0x000192ce ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x000192d0 add r1, pc                                        |     r1 = 0x32a36;
    0x000192d2 blx 0x655c                                        |     r0 = fcn_0000655c ();
    0x000192d6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000192d8 bne.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x000192dc ldr.w r3, [pc, 0x484]                             |     r3 = *(0x19764);
    0x000192e0 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000192e4 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x000192e6 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000192e8 bne.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x000192ea add r3, sp, 0x324                                 |     r3 = sp + 0x324;
    0x000192ec blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000192f0 cmp r0, 3                                         |     
                                                                 |     if (r0 <= 3) {
    0x000192f2 ble.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x000192f6 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x000192fa cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000192fc bne.w 0x199ce                                     |         goto label_121;
                                                                 |     }
    0x00019300 ldr.w r4, [pc, 0x464]                             |     
    0x00019304 add r4, pc                                        |     r4 = 0x32a70;
                                                                 | label_46:
    0x00019306 blx 0x5e88                                        |     r0 = strcpy (r0, r1)
    0x0001930a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001930c bne.w 0x199c8                                     |         goto label_122;
                                                                 |     }
    0x00019310 ldr.w r3, [pc, 0x458]                             |     
    0x00019314 add r3, pc                                        |     r3 = 0x32a84;
                                                                 | label_45:
    0x00019316 strd r4, r3, [sp, 8]                              |     __asm ("strd r4, r3, [var_8h_2]");
    0x0001931a movs r1, 0                                        |     r1 = 0;
    0x0001931c ldr.w r4, [pc, 0x450]                             |     
    0x00019320 movs r0, 4                                        |     r0 = 4;
    0x00019322 ldr.w r3, [pc, 0x450]                             |     
    0x00019326 ldr.w r5, [pc, 0x450]                             |     
    0x0001932a add r4, pc                                        |     r4 = 0x32a9e;
    0x0001932c add r3, pc                                        |     r3 = 0x32aa6;
    0x0001932e adds r4, 7                                        |     r4 += 7;
    0x00019330 add r5, pc                                        |     r5 = 0x32aae;
    0x00019332 mov r2, r4                                        |     r2 = r4;
    0x00019334 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019336 movw r3, 0x153                                    |     r3 = 0x153;
    0x0001933a str r5, [sp]                                      |     *(sp) = r5;
    0x0001933c blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019340 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019344 cmp r0, 4                                         |     
                                                                 |     if (r0 <= 4) {
    0x00019346 ble.w 0x18a7e                                     |         goto label_1;
                                                                 |     }
    0x0001934a ldr.w r3, [pc, 0x430]                             |     
    0x0001934e mov r2, r4                                        |     r2 = r4;
    0x00019350 movs r1, 0                                        |     r1 = 0;
    0x00019352 str r5, [sp]                                      |     *(sp) = r5;
    0x00019354 movs r0, 5                                        |     r0 = 5;
    0x00019356 add r3, pc                                        |     r3 = 0x32ad8;
    0x00019358 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001935a mov.w r3, 0x156                                   |     r3 = 0x156;
    0x0001935e blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019362 b.w 0x18a7e                                       |     goto label_1;
                                                                 | label_70:
    0x00019366 ldr.w r1, [pc, 0x418]                             |     
    0x0001936a movs r2, 0x45                                     |     r2 = 0x45;
    0x0001936c ldr.w r3, [pc, 0x414]                             |     
    0x00019370 ldr.w r0, [pc, 0x414]                             |     
    0x00019374 add r1, pc                                        |     r1 = 0x32afa;
    0x00019376 add r3, pc                                        |     r3 = 0x32afe;
    0x00019378 adds r1, 7                                        |     r1 += 7;
    0x0001937a add r0, pc                                        |     r0 = 0x32b06;
    0x0001937c blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_84:
    0x00019380 ldr.w r3, [pc, 0x408]                             |     
    0x00019384 add r3, pc                                        |     r3 = 0x32b14;
    0x00019386 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00019388 ldr.w r3, [pc, 0x404]                             |     
    0x0001938c add r3, pc                                        |     r3 = 0x32b20;
    0x0001938e str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00019390 b 0x19290                                         |     goto label_24;
                                                                 | label_88:
    0x00019392 ldr r3, [pc, 0x3d0]                               |     r3 = *(0x19766);
    0x00019394 ldr r0, [sp, 0x58]                                |     r0 = var_58h;
    0x00019396 ldr.w r4, [fp, r3]                                |     r4 = *((fp + r3));
    0x0001939a ldr r3, [pc, 0x348]                               |     
    0x0001939c ldrb r1, [r4]                                     |     r1 = *(r4);
    0x0001939e ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000193a2 ldr r3, [r3]                                      |     r3 = *(0x196e6);
                                                                 |     if (r3 != 0) {
    0x000193a4 cbz r3, 0x193ae                                   |         
    0x000193a6 ldr r3, [pc, 0x3ec]                               |         
    0x000193a8 add r3, pc                                        |         r3 = 0x32b42;
    0x000193aa str r3, [sp, 0x94]                                |         var_94h = r3;
    0x000193ac movs r3, 1                                        |         r3 = 1;
                                                                 |     }
    0x000193ae ldr r2, [pc, 0x3e8]                               |     
    0x000193b0 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x000193b4 ldr r2, [r2]                                      |     r2 = *(0x1979a);
    0x000193b6 cmp r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x000193b8 beq.w 0x19544                                     |         goto label_123;
                                                                 |     }
    0x000193bc cmp r2, 2                                         |     
                                                                 |     if (r2 == 2) {
    0x000193be beq.w 0x19856                                     |         goto label_124;
                                                                 |     }
    0x000193c2 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x000193c4 bne.w 0x199b2                                     |         goto label_125;
                                                                 |     }
                                                                 | label_33:
    0x000193c8 add r2, sp, 0xa8                                  |     r2 += var_a8h;
    0x000193ca add.w r3, r2, r3, lsl 2                           |     r3 = r2 + (r3 << 2);
    0x000193ce movs r2, 0                                        |     r2 = 0;
    0x000193d0 str r2, [r3, -0x14]                               |     var_14h = r2;
    0x000193d4 add r2, sp, 0x94                                  |     r2 += var_94h;
    0x000193d6 blx 0x5fd0                                        |     r0 = fcn_00005fd0 ();
    0x000193da subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x000193dc blt.w 0x1984e                                     |         goto label_126;
                                                                 |     }
    0x000193e0 ldrb r3, [r4]                                     |     r3 = *(r4);
    0x000193e2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000193e4 bne.w 0x18da0                                     |         goto label_25;
                                                                 |     }
    0x000193e8 ldr r4, [sp, 0x5c]                                |     r4 = var_5ch;
    0x000193ea cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x000193ec beq.w 0x18da0                                     |         goto label_25;
                                                                 |     }
    0x000193f0 subs r4, 4                                        |     r4 -= 4;
    0x000193f2 b 0x193fa                                         |     
                                                                 |     while (r1 != 0) {
    0x000193f4 ldr r0, [sp, 0x64]                                |         r0 = s;
    0x000193f6 bl 0x1a7b4                                        |         fcn_0001a7b4 (r0, r1, r2, r3, r4);
    0x000193fa ldr r1, [r4, 4]!                                  |         r1 = *((r4 += 4));
    0x000193fe cmp r1, 0                                         |         
    0x00019400 bne 0x193f4                                       |         
                                                                 |     }
    0x00019402 b 0x18da0                                         |     goto label_25;
                                                                 | label_71:
    0x00019404 ldr r1, [pc, 0x394]                               |     
    0x00019406 movs r2, 0x46                                     |     r2 = 0x46;
    0x00019408 ldr r3, [pc, 0x394]                               |     
    0x0001940a ldr r0, [pc, 0x398]                               |     
    0x0001940c add r1, pc                                        |     r1 = 0x32bac;
    0x0001940e add r3, pc                                        |     r3 = 0x32bb2;
    0x00019410 adds r1, 7                                        |     r1 += 7;
    0x00019412 add r0, pc                                        |     r0 = 0x32bbc;
    0x00019414 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_72:
    0x00019418 ldr r1, [pc, 0x38c]                               |     
    0x0001941a movs r2, 0x47                                     |     r2 = 0x47;
    0x0001941c ldr r3, [pc, 0x38c]                               |     
    0x0001941e ldr r0, [pc, 0x390]                               |     
    0x00019420 add r1, pc                                        |     r1 = 0x32bcc;
    0x00019422 add r3, pc                                        |     r3 = 0x32bd2;
    0x00019424 adds r1, 7                                        |     r1 += 7;
    0x00019426 add r0, pc                                        |     r0 = 0x32bdc;
    0x00019428 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_61:
    0x0001942c ldr r1, [pc, 0x384]                               |     
    0x0001942e movw r2, 0x13d                                    |     r2 = 0x13d;
    0x00019432 ldr r3, [pc, 0x384]                               |     
    0x00019434 ldr r0, [pc, 0x384]                               |     
    0x00019436 add r1, pc                                        |     r1 = 0x32bee;
    0x00019438 add r3, pc                                        |     r3 = 0x32bf6;
    0x0001943a adds r1, 7                                        |     r1 += 7;
    0x0001943c add r0, pc                                        |     r0 = 0x32bfc;
    0x0001943e blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_86:
    0x00019442 ldr r3, [pc, 0x37c]                               |     
    0x00019444 add r3, pc                                        |     r3 = 0x32c0a;
    0x00019446 b 0x18d56                                         |     goto label_26;
                                                                 | label_62:
    0x00019448 ldr r1, [pc, 0x378]                               |     
    0x0001944a mov.w r2, 0x13e                                   |     r2 = 0x13e;
    0x0001944e ldr r3, [pc, 0x378]                               |     
    0x00019450 ldr r0, [pc, 0x378]                               |     
    0x00019452 add r1, pc                                        |     r1 = 0x32c1a;
    0x00019454 add r3, pc                                        |     r3 = 0x32c22;
    0x00019456 adds r1, 7                                        |     r1 += 7;
    0x00019458 add r0, pc                                        |     r0 = 0x32c28;
    0x0001945a blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_91:
    0x0001945e str r5, [sp, 0x20]                                |     var_20h = r5;
    0x00019460 str r5, [sp, 0x2c]                                |     var_2ch = r5;
    0x00019462 str r5, [sp, 0x1c]                                |     var_1ch = r5;
    0x00019464 b.w 0x18a7e                                       |     goto label_1;
                                                                 | label_112:
    0x00019468 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x0001946c cmp r0, 2                                         |     
    0x0001946e ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00019470 rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019472 uxtble r3, r3                                     |         __asm ("uxtble r3, r3");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019474 rsble sb, r3, 0                                   |         __asm ("rsble sb, r3, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00019478 bgt.w 0x19884                                     |         goto label_127;
                                                                 |     }
                                                                 | label_40:
    0x0001947c cmp.w sb, 0                                       |     
    0x00019480 it ge                                             |     
                                                                 |     if (sb < 0) {
    0x00019482 mvnge sb, 0x55                                    |         sb = ~0x55;
                                                                 |     }
    0x00019486 b 0x18d88                                         |     goto label_27;
                                                                 | label_100:
    0x00019488 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x0001948c cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x0001948e ble.w 0x18f16                                     |         goto label_20;
                                                                 |     }
    0x00019492 ldr r3, [pc, 0x33c]                               |     
    0x00019494 mov r1, r7                                        |     r1 = r7;
    0x00019496 ldr r2, [pc, 0x33c]                               |     
    0x00019498 movs r0, 3                                        |     r0 = 3;
    0x0001949a add r3, pc                                        |     r3 = 0x32c70;
    0x0001949c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001949e add r2, pc                                        |     r2 = 0x32c78;
    0x000194a0 ldr r3, [pc, 0x334]                               |     
    0x000194a2 adds r2, 7                                        |     r2 += 7;
    0x000194a4 add r3, pc                                        |     r3 = 0x32c80;
    0x000194a6 str r3, [sp]                                      |     *(sp) = r3;
    0x000194a8 movs r3, 0x8b                                     |     r3 = 0x8b;
    0x000194aa blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000194ae mov r7, r0                                        |     r7 = r0;
    0x000194b0 b 0x18f1c                                         |     goto label_21;
                                                                 | label_120:
    0x000194b2 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000194b6 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000194b8 ble.w 0x18fb4                                     |         goto label_28;
                                                                 |     }
    0x000194bc ldr r2, [pc, 0x31c]                               |     
    0x000194be mov.w r3, 0x150                                   |     r3 = 0x150;
    0x000194c2 ldr r5, [pc, 0x31c]                               |     
    0x000194c4 ldr r0, [pc, 0x31c]                               |     
    0x000194c6 add r2, pc                                        |     r2 = 0x32ca6;
    0x000194c8 add r5, pc                                        |     r5 = 0x32cae;
    0x000194ca add r0, pc                                        |     r0 = 0x32cb2;
    0x000194cc b 0x18e5c                                         |     goto label_17;
                                                                 | label_69:
    0x000194ce ldr.w sb, [sp, 0x38]                              |     sb = var_38h_2;
    0x000194d2 b 0x18d96                                         |     goto label_29;
                                                                 | label_80:
    0x000194d4 ldr r0, [sp, 0x68]                                |     r0 = var_68h_2;
    0x000194d6 mov r4, r8                                        |     r4 = r8;
    0x000194d8 ldr r5, [sp, 0x4c]                                |     r5 = var_4ch;
    0x000194da blx 0x5d98                                        |     r0 = execv ();
    0x000194de subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x000194e0 blt.w 0x19932                                     |         goto label_128;
                                                                 |     }
    0x000194e4 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x000194e6 add.w r8, sp, 0x7c                                |     r8 += var_7ch;
    0x000194ea blx 0x6024                                        |     fcn_00006024 ();
    0x000194ee b 0x18ecc                                         |     goto label_30;
                                                                 | label_81:
    0x000194f0 ldr r3, [sp, 0x74]                                |     r3 = var_74h;
    0x000194f2 movs r1, 0                                        |     r1 = 0;
    0x000194f4 ldr r2, [sp, 0x44]                                |     r2 = var_44h;
    0x000194f6 movs r0, 6                                        |     r0 = 6;
    0x000194f8 str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x000194fa ldr r3, [sp, 0x70]                                |     r3 = var_70h;
    0x000194fc str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x000194fe ldr r3, [sp, 0x78]                                |     r3 = var_78h;
    0x00019500 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019502 ldr r3, [pc, 0x2e4]                               |     
    0x00019504 add r3, pc                                        |     r3 = 0x32cf2;
    0x00019506 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019508 ldr r3, [pc, 0x2e0]                               |     
    0x0001950a add r3, pc                                        |     r3 = 0x32cfa;
    0x0001950c str r3, [sp]                                      |     *(sp) = r3;
    0x0001950e movs r3, 0x79                                     |     r3 = 0x79;
    0x00019510 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019514 b.w 0x18c12                                       |     goto label_31;
                                                                 | label_78:
    0x00019518 ldr r3, [sp, 0x74]                                |     r3 = var_74h;
    0x0001951a mov r1, sl                                        |     r1 = sl;
    0x0001951c ldr r2, [pc, 0x2d0]                               |     
    0x0001951e movs r0, 6                                        |     r0 = 6;
    0x00019520 str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x00019522 ldr r3, [sp, 0x70]                                |     r3 = var_70h;
    0x00019524 add r2, pc                                        |     r2 = 0x32d18;
    0x00019526 adds r2, 7                                        |     r2 += 7;
    0x00019528 str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0001952a ldr r3, [sp, 0x78]                                |     r3 = var_78h;
    0x0001952c str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x0001952e ldr r3, [pc, 0x2c4]                               |     
    0x00019530 add r3, pc                                        |     r3 = 0x32d2a;
    0x00019532 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019534 ldr r3, [pc, 0x2c0]                               |     
    0x00019536 add r3, pc                                        |     r3 = 0x32d32;
    0x00019538 str r3, [sp]                                      |     *(sp) = r3;
    0x0001953a movs r3, 0x6d                                     |     r3 = 0x6d;
    0x0001953c blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019540 b.w 0x18bf4                                       |     goto label_32;
                                                                 | label_123:
    0x00019544 ldr r5, [pc, 0x2b4]                               |     
    0x00019546 add r5, pc                                        |     r5 = 0x32d46;
                                                                 | label_38:
    0x00019548 ldr r2, [pc, 0x2b4]                               |     
    0x0001954a add r6, sp, 0xa8                                  |     r6 += var_a8h;
    0x0001954c add.w r6, r6, r3, lsl 2                           |     r6 += (r3 << 2);
    0x00019550 adds r3, 2                                        |     r3 += 2;
    0x00019552 str r5, [r6, -0x14]                               |     var_94h = r5;
    0x00019556 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x0001955a ldr r2, [r2]                                      |     r2 = *(0x19800);
    0x0001955c str r2, [r6, -0x10]                               |     var_10h_5 = r2;
    0x00019560 b 0x193c8                                         |     goto label_33;
                                                                 | label_118:
    0x00019562 ldr r3, [pc, 0x2a0]                               |     
    0x00019564 add r3, pc                                        |     r3 = 0x32d6e;
    0x00019566 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00019568 b 0x1927c                                         |     goto label_34;
                                                                 | label_93:
    0x0001956a ldr r3, [pc, 0x29c]                               |     
    0x0001956c add r3, pc                                        |     r3 = 0x32d7a;
    0x0001956e str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00019570 b 0x19248                                         |     goto label_35;
                                                                 | label_108:
    0x00019572 mov r1, r7                                        |     r1 = r7;
    0x00019574 mov r0, r8                                        |     r0 = r8;
    0x00019576 blx 0x566c                                        |     bus_error_message ();
    0x0001957a ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x0001957c mov r1, r7                                        |     r1 = r7;
    0x0001957e ldr r2, [pc, 0x28c]                               |     
    0x00019580 strd r4, r0, [sp, 0xc]                            |     __asm ("strd r4, r0, [var_10h_2]");
    0x00019584 movs r0, 3                                        |     r0 = 3;
    0x00019586 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019588 ldr r3, [pc, 0x284]                               |     
    0x0001958a add r2, pc                                        |     r2 = 0x32d9c;
    0x0001958c adds r2, 7                                        |     r2 += 7;
    0x0001958e add r3, pc                                        |     r3 = 0x32da2;
    0x00019590 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019592 ldr r3, [pc, 0x280]                               |     
    0x00019594 add r3, pc                                        |     r3 = 0x32dae;
    0x00019596 str r3, [sp]                                      |     *(sp) = r3;
    0x00019598 movs r3, 0xa5                                     |     r3 = 0xa5;
    0x0001959a blx 0x61a4                                        |     fcn_000061a4 ();
    0x0001959e b 0x19020                                         |     goto label_36;
                                                                 | label_79:
    0x000195a0 str r1, [sp, 0x24]                                |     var_24h = r1;
    0x000195a2 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x000195a6 cmp r0, 2                                         |     
    0x000195a8 ldr r1, [sp, 0x24]                                |     r1 = var_24h;
                                                                 |     if (r0 <= 2) {
    0x000195aa ble.w 0x18c48                                     |         goto label_18;
                                                                 |     }
    0x000195ae ldr r3, [pc, 0x268]                               |     
    0x000195b0 movs r0, 3                                        |     r0 = 3;
    0x000195b2 ldr r2, [pc, 0x268]                               |     
    0x000195b4 add r3, pc                                        |     r3 = 0x32dd2;
    0x000195b6 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x000195b8 add r2, pc                                        |     r2 = 0x32dda;
    0x000195ba ldr r3, [pc, 0x264]                               |     
    0x000195bc adds r2, 7                                        |     r2 += 7;
    0x000195be add r3, pc                                        |     r3 = 0x32de4;
    0x000195c0 str r3, [sp]                                      |     *(sp) = r3;
    0x000195c2 movs r3, 0x71                                     |     r3 = 0x71;
    0x000195c4 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000195c8 mov r7, r0                                        |     r7 = r0;
    0x000195ca b.w 0x18c4e                                       |     goto label_19;
                                                                 | label_116:
    0x000195ce ldr r0, [sp, 0x7c]                                |     r0 = var_7ch;
    0x000195d0 mov r5, sb                                        |     r5 = sb;
                                                                 | label_114:
    0x000195d2 mov.w sb, 0                                       |     sb = 0;
                                                                 | label_39:
    0x000195d6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000195d8 beq.w 0x18d88                                     |         goto label_27;
                                                                 |     }
    0x000195dc blx 0x5dec                                        |     unit_file_state_to_string ();
    0x000195e0 str r0, [sp, 0x7c]                                |     var_7ch = r0;
    0x000195e2 b.w 0x18d88                                       |     goto label_27;
                                                                 | label_98:
    0x000195e6 ldr r3, [pc, 0x23c]                               |     
    0x000195e8 mov r1, sl                                        |     r1 = sl;
    0x000195ea ldr r2, [pc, 0x23c]                               |     
    0x000195ec movs r0, 5                                        |     r0 = 5;
    0x000195ee add r3, pc                                        |     r3 = 0x32e18;
    0x000195f0 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x000195f2 add r2, pc                                        |     r2 = 0x32e20;
    0x000195f4 ldr r3, [pc, 0x234]                               |     
    0x000195f6 adds r2, 7                                        |     r2 += 7;
    0x000195f8 add r3, pc                                        |     r3 = 0x32e28;
    0x000195fa str r3, [sp]                                      |     *(sp) = r3;
    0x000195fc movs r3, 0x64                                     |     r3 = 0x64;
    0x000195fe blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019602 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00019604 blx 0x6024                                        |     fcn_00006024 ();
    0x00019608 b 0x18e90                                         |     goto label_37;
                                                                 | label_89:
    0x00019830 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019834 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00019836 ble.w 0x18fb4                                     |         goto label_28;
                                                                 |     }
    0x0001983a ldr r2, [pc, 0x19c]                               |     
    0x0001983c movw r3, 0x18f                                    |     r3 = 0x18f;
    0x00019840 ldr r5, [pc, 0x198]                               |     
    0x00019842 ldr r0, [pc, 0x19c]                               |     
    0x00019844 add r2, pc                                        |     r2 = 0x33222;
    0x00019846 add r5, pc                                        |     r5 = 0x33226;
    0x00019848 add r0, pc                                        |     r0 = 0x3322e;
    0x0001984a b.w 0x18e5c                                       |     goto label_17;
                                                                 | label_126:
    0x0001984e ldr r0, [sp, 0x60]                                |     r0 = var_60h;
    0x00019850 mov sb, r3                                        |     sb = r3;
    0x00019852 b.w 0x18ce4                                       |     goto label_2;
                                                                 | label_124:
    0x00019856 ldr r5, [pc, 0x18c]                               |     
    0x00019858 add r5, pc                                        |     r5 = 0x33242;
    0x0001985a b 0x19548                                         |     goto label_38;
                                                                 | label_113:
    0x0001985c blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019860 cmp r0, 2                                         |     
    0x00019862 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00019864 rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019866 uxtble r3, r3                                     |         __asm ("uxtble r3, r3");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019868 rsble sb, r3, 0                                   |         __asm ("rsble sb, r3, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001986c bgt.w 0x19992                                     |         goto label_129;
                                                                 |     }
                                                                 |     do {
                                                                 | label_43:
    0x00019870 cmp.w sb, 0                                       |         
    0x00019874 ldr r0, [sp, 0x7c]                                |         r0 = var_7ch;
    0x00019876 it ge                                             |         
                                                                 |         if (sb < 0) {
    0x00019878 mvnge sb, 0x55                                    |             sb = ~0x55;
                                                                 |         }
    0x0001987c b 0x195d6                                         |         goto label_39;
                                                                 | label_68:
    0x0001987e mov sb, r3                                        |         sb = r3;
    0x00019880 b.w 0x18d96                                       |         goto label_29;
                                                                 | label_127:
    0x00019884 mov r1, r4                                        |         r1 = r4;
    0x00019886 mov r0, r5                                        |         r0 = r5;
    0x00019888 blx 0x566c                                        |         bus_error_message ();
    0x0001988c ldr r3, [pc, 0x158]                               |         
    0x0001988e mov r1, r4                                        |         r1 = r4;
    0x00019890 ldr r2, [pc, 0x158]                               |         
    0x00019892 str r0, [sp, 8]                                   |         var_8h_2 = r0;
    0x00019894 movs r0, 3                                        |         r0 = 3;
    0x00019896 add r3, pc                                        |         r3 = 0x33282;
    0x00019898 str r3, [sp, 4]                                   |         var_4h_2 = r3;
    0x0001989a add r2, pc                                        |         r2 = 0x3328a;
    0x0001989c ldr r3, [pc, 0x150]                               |         
    0x0001989e adds r2, 7                                        |         r2 += 7;
    0x000198a0 add r3, pc                                        |         r3 = 0x33294;
    0x000198a2 str r3, [sp]                                      |         *(sp) = r3;
    0x000198a4 movs r3, 0xc3                                     |         r3 = 0xc3;
    0x000198a6 blx 0x61a4                                        |         r0 = fcn_000061a4 ();
    0x000198aa mov sb, r0                                        |         sb = r0;
    0x000198ac b 0x1947c                                         |         goto label_40;
                                                                 | label_119:
    0x000198ae ldr r3, [pc, 0x144]                               |         
    0x000198b0 add r3, pc                                        |         r3 = 0x332aa;
    0x000198b2 str r3, [sp, 0x20]                                |         var_20h = r3;
    0x000198b4 b 0x1928e                                         |         goto label_41;
                                                                 | label_107:
    0x000198b6 ldr r2, [pc, 0x140]                               |         
    0x000198b8 movw r3, 0x169                                    |         r3 = 0x169;
    0x000198bc ldr r5, [pc, 0x13c]                               |         
    0x000198be ldr r0, [pc, 0x140]                               |         
    0x000198c0 add r2, pc                                        |         r2 = 0x332be;
    0x000198c2 add r5, pc                                        |         r5 = 0x332c2;
    0x000198c4 add r0, pc                                        |         r0 = 0x332ca;
    0x000198c6 b.w 0x18e5c                                       |         goto label_17;
                                                                 | label_82:
    0x000198ca ldr r3, [pc, 0x138]                               |         
    0x000198cc movs r0, 3                                        |         r0 = 3;
    0x000198ce ldr r2, [pc, 0x138]                               |         
    0x000198d0 add r3, pc                                        |         r3 = 0x332da;
    0x000198d2 str r3, [sp, 4]                                   |         var_4h_2 = r3;
    0x000198d4 add r2, pc                                        |         r2 = 0x332e2;
    0x000198d6 ldr r3, [pc, 0x134]                               |         
    0x000198d8 adds r2, 7                                        |         r2 += 7;
    0x000198da add r3, pc                                        |         r3 = 0x332ec;
    0x000198dc str r3, [sp]                                      |         *(sp) = r3;
    0x000198de movs r3, 0x75                                     |         r3 = 0x75;
    0x000198e0 blx 0x61a4                                        |         r0 = fcn_000061a4 ();
    0x000198e4 mov r7, r0                                        |         r7 = r0;
    0x000198e6 b.w 0x18c4e                                       |         goto label_19;
                                                                 | label_109:
    0x000198ea ldr r2, [pc, 0x124]                               |         
    0x000198ec ldr r1, [pc, 0x124]                               |         
    0x000198ee add r2, pc                                        |         r2 = 0x33304;
    0x000198f0 add r1, pc                                        |         r1 = 0x33308;
    0x000198f2 b.w 0x19068                                       |         goto label_42;
                                                                 | label_115:
    0x000198f6 mov sl, r0                                        |         sl = r0;
    0x000198f8 mov r5, sb                                        |         r5 = sb;
    0x000198fa blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x000198fe cmp r0, 2                                         |         
    0x00019900 ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x00019902 rsble r3, sl, 0                                   |             __asm ("rsble r3, sl, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00019906 uxtble r3, r3                                     |             __asm ("uxtble r3, r3");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00019908 rsb.w sb, r3, 0                                   |             sb = r3 - ;
                                                                 |         }
    0x0001990c ble 0x19870                                       |         
                                                                 |     } while (r0 <= 2);
    0x0001990e ldr r3, [r7]                                      |     r3 = *(r7);
    0x00019910 mov r1, sl                                        |     r1 = sl;
    0x00019912 ldr r2, [pc, 0x104]                               |     
    0x00019914 movs r0, 3                                        |     r0 = 3;
    0x00019916 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019918 ldr r3, [pc, 0x100]                               |     
    0x0001991a add r2, pc                                        |     r2 = 0x33338;
    0x0001991c adds r2, 7                                        |     r2 += 7;
    0x0001991e add r3, pc                                        |     r3 = 0x3333e;
    0x00019920 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019922 ldr r3, [pc, 0xfc]                                |     
    0x00019924 add r3, pc                                        |     r3 = 0x3334a;
    0x00019926 str r3, [sp]                                      |     *(sp) = r3;
    0x00019928 movs r3, 0xd1                                     |     r3 = 0xd1;
    0x0001992a blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x0001992e mov sb, r0                                        |     sb = r0;
    0x00019930 b 0x19870                                         |     goto label_43;
                                                                 | label_128:
    0x00019932 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019936 cmp r0, 2                                         |     
    0x00019938 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001993a rsble r7, r7, 0                                   |         __asm ("rsble r7, r7, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001993c uxtble r7, r7                                     |         __asm ("uxtble r7, r7");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001993e rsble r7, r7, 0                                   |         __asm ("rsble r7, r7, 0");
                                                                 |         goto label_130;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_130:
    0x00019940 ble.w 0x18c4e                                     |         goto label_19;
                                                                 |     }
    0x00019944 ldr r3, [pc, 0xdc]                                |     
    0x00019946 mov r1, r7                                        |     r1 = r7;
    0x00019948 ldr r2, [pc, 0xdc]                                |     
    0x0001994a movs r0, 3                                        |     r0 = 3;
    0x0001994c add r3, pc                                        |     r3 = 0x33374;
    0x0001994e str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019950 add r2, pc                                        |     r2 = 0x3337c;
    0x00019952 ldr r3, [pc, 0xd8]                                |     
    0x00019954 adds r2, 7                                        |     r2 += 7;
    0x00019956 add r3, pc                                        |     r3 = 0x33388;
    0x00019958 str r3, [sp]                                      |     *(sp) = r3;
    0x0001995a movs r3, 0x7e                                     |     r3 = 0x7e;
    0x0001995c blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00019960 mov r7, r0                                        |     r7 = r0;
    0x00019962 b.w 0x18c4e                                       |     goto label_19;
                                                                 | label_110:
    0x00019966 ldr r3, [pc, 0xc8]                                |     
    0x00019968 add r3, pc                                        |     r3 = 0x3339e;
    0x0001996a b.w 0x19076                                       |     goto label_44;
                                                                 | label_104:
    0x0001996e ldr r3, [pc, 0xc4]                                |     
    0x00019970 mov r1, r7                                        |     r1 = r7;
    0x00019972 ldr r2, [pc, 0xc4]                                |     
    0x00019974 movs r0, 3                                        |     r0 = 3;
    0x00019976 str r4, [sp, 8]                                   |     var_8h_2 = r4;
    0x00019978 add r3, pc                                        |     r3 = 0x333b2;
    0x0001997a str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001997c add r2, pc                                        |     r2 = 0x333ba;
    0x0001997e ldr r3, [pc, 0xbc]                                |     
    0x00019980 adds r2, 7                                        |     r2 += 7;
    0x00019982 add r3, pc                                        |     r3 = 0x333c4;
    0x00019984 str r3, [sp]                                      |     *(sp) = r3;
    0x00019986 movs r3, 0x9b                                     |     r3 = 0x9b;
    0x00019988 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x0001998c mov r7, r0                                        |     r7 = r0;
    0x0001998e b.w 0x18f1c                                       |     goto label_21;
                                                                 | label_129:
    0x00019992 ldr r3, [pc, 0xac]                                |     
    0x00019994 mov r1, r4                                        |     r1 = r4;
    0x00019996 ldr r2, [pc, 0xac]                                |     
    0x00019998 movs r0, 3                                        |     r0 = 3;
    0x0001999a add r3, pc                                        |     r3 = 0x333e0;
    0x0001999c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001999e add r2, pc                                        |     r2 = 0x333e8;
    0x000199a0 ldr r3, [pc, 0xa4]                                |     
    0x000199a2 adds r2, 7                                        |     r2 += 7;
    0x000199a4 add r3, pc                                        |     r3 = 0x333f0;
    0x000199a6 str r3, [sp]                                      |     *(sp) = r3;
    0x000199a8 movs r3, 0xc8                                     |     r3 = 0xc8;
    0x000199aa blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x000199ae mov sb, r0                                        |     sb = r0;
    0x000199b0 b 0x19870                                         |     goto label_43;
                                                                 | label_125:
    0x000199b2 ldr r1, [pc, 0x98]                                |     
    0x000199b4 mov.w r2, 0x102                                   |     r2 = 0x102;
    0x000199b8 ldr r3, [pc, 0x94]                                |     
    0x000199ba ldr r0, [pc, 0x98]                                |     
    0x000199bc add r1, pc                                        |     r1 = 0x3340e;
    0x000199be add r3, pc                                        |     r3 = 0x33412;
    0x000199c0 adds r1, 7                                        |     r1 += 7;
    0x000199c2 add r0, pc                                        |     r0 = 0x3341c;
    0x000199c4 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_122:
    0x000199c8 ldr r3, [pc, 0x8c]                                |     
    0x000199ca add r3, pc                                        |     r3 = 0x33426;
    0x000199cc b 0x19316                                         |     goto label_45;
                                                                 | label_121:
    0x000199ce ldr r4, [pc, 0x8c]                                |     
    0x000199d0 add r4, pc                                        |     r4 = 0x33432;
    0x000199d2 b 0x19306                                         |     goto label_46;
                                                                 | label_85:
    0x000199d4 blx 0x6114                                        |     fcn_00006114 ();
    0x000199d8 adr r4, 0x300                                     |     r4 = 0x300;
    0x000199da movs r0, r0                                       |     
    0x000199dc ldr r7, [pc, 0x188]                               |     r7 = *(0x19b68);
    0x000199de movs r0, r0                                       |     
    0x000199e0 add r4, sp, 0xb0                                  |     r4 += var_b0h;
    0x000199e2 movs r0, r0                                       |     
    0x000199e4 add r1, sp, 0x270                                 |     r1 += arg_270h;
    0x000199e6 movs r0, r0                                       |     
    0x000199e8 adr r7, 0x68                                      |     r7 = 0x68;
    0x000199ea movs r0, r0                                       |     
    0x000199ec adr r4, 0x1a8                                     |     r4 = 0x1a8;
    0x000199ee movs r0, r0                                       |     
    0x000199f0 add r3, sp, 0x300                                 |     r3 += arg_300h;
    0x000199f2 movs r0, r0                                       |     
    0x000199f4 adr r4, 0x130                                     |     r4 = 0x130;
    0x000199f6 movs r0, r0                                       |     
    0x000199f8 adr r4, 0x110                                     |     r4 = 0x110;
    0x000199fa movs r0, r0                                       |     
    0x000199fc adr r6, 0x1a8                                     |     r6 = 0x1a8;
    0x000199fe movs r0, r0                                       |     
    0x00019a00 add r3, sp, 0x2c0                                 |     r3 += arg_2c0h;
    0x00019a02 movs r0, r0                                       |     
    0x00019a04 str r4, [r5, 0x68]                                |     *((r5 + 0x68)) = r4;
    0x00019a06 movs r0, r0                                       |     
    0x00019a08 adr r4, 0xc0                                      |     r4 = 0xc0;
    0x00019a0a movs r0, r0                                       |     
    0x00019a0c add r3, sp, 0x1d8                                 |     r3 += arg_1d8h;
    0x00019a0e movs r0, r0                                       |     
    0x00019a10 adr r3, 0x3e8                                     |     r3 = 0x3e8;
    0x00019a12 movs r0, r0                                       |     
    0x00019a14 ldrsh r4, [r3, r2]                                |     r4 = *((r3 + r2));
    0x00019a16 movs r0, r0                                       |     
    0x00019a18 adr r3, 0x3a8                                     |     r3 = 0x3a8;
    0x00019a1a movs r0, r0                                       |     
    0x00019a1c adr r6, 0x318                                     |     r6 = 0x318;
    0x00019a1e movs r0, r0                                       |     
    0x00019a20 add r3, sp, 0xf0                                  |     r3 += arg_f0h;
    0x00019a22 movs r0, r0                                       |     
    0x00019a24 str r0, [r6, 0x60]                                |     *((r6 + 0x60)) = r0;
    0x00019a26 movs r0, r0                                       |     
    0x00019a28 adr r3, 0x2d0                                     |     r3 = 0x2d0;
    0x00019a2a movs r0, r0                                       |     
    0x00019a2c add r2, sp, 0x3e8                                 |     r2 += arg_3e8h;
    0x00019a2e movs r0, r0                                       |     
    0x00019a30 adr r3, 0x240                                     |     r3 = 0x240;
    0x00019a32 movs r0, r0                                       |     
    0x00019a34 ldr r6, [pc, 0x50]                                |     r6 = *(0x19a88);
    0x00019a36 movs r0, r0                                       |     
    0x00019a38 adr r3, 0x220                                     |     r3 = segment.PHDR;
    0x00019a3a movs r0, r0                                       |     
    0x00019a3c add r2, sp, 0x338                                 |     r2 += arg_338h;
    0x00019a3e movs r0, r0                                       |     
    0x00019a40 str r2, [r4, 0x5c]                                |     *((r4 + 0x5c)) = r2;
    0x00019a42 movs r0, r0                                       |     
    0x00019a44 adr r3, 0x198                                     |     r3 = 0x198;
    0x00019a46 movs r0, r0                                       |     
    0x00019a48 add r2, sp, 0x2f0                                 |     r2 += arg_2f0h;
    0x00019a4a movs r0, r0                                       |     
    0x00019a4c adr r3, 0x120                                     |     r3 = 0x120;
    0x00019a4e movs r0, r0                                       |     
    0x00019a50 add r2, sp, 0x198                                 |     r2 += arg_198h;
    0x00019a52 movs r0, r0                                       |     
    0x00019a54 add r0, sp, 0xd8                                  |     r0 += arg_d8h;
    0x00019a56 movs r0, r0                                       |     
    0x00019a58 ldr r6, [pc, 0x178]                               |     r6 = *(0x19bd4);
    0x00019a5a movs r0, r0                                       |     
    0x00019a5c ldrb r0, [r6, r6]                                 |     r0 = *((r6 + r6));
    0x00019a5e movs r0, r0                                       |     
    0x00019a60 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00019a64 sub sp, 0x14c                                     |     
    0x00019a66 ldr.w r6, [pc, 0x444]                             |     
    0x00019a6a add r7, sp, 0x10                                  |     r7 += var_10h;
    0x00019a6c movs r4, 0                                        |     r4 = 0;
    0x00019a6e ldr.w r2, [pc, 0x440]                             |     r2 = *(0x19eb2);
    0x00019a72 add.w r5, r7, 0x10                                |     r5 += var_10h_3;
    0x00019a76 add r6, pc                                        |     r6 = 0x33928;
    0x00019a78 ldr.w sb, [pc, 0x438]                             |     
    0x00019a7c ldr.w r3, [pc, 0x438]                             |     r3 = *(0x19eb8);
    0x00019a80 add.w r8, r7, 8                                   |     r8 += var_8h_3;
    0x00019a84 ldr r2, [r6, r2]                                  |     
    0x00019a86 add sb, pc                                        |     sb = 0x3393e;
    0x00019a88 ldr r2, [r2]                                      |     r2 = *(0x33928);
    0x00019a8a str.w r2, [r7, 0x134]                             |     __asm ("str.w r2, [var_134h]");
    0x00019a8e mov.w r2, 0                                       |     r2 = 0;
    0x00019a92 strd r4, r4, [r5]                                 |     __asm ("strd r4, r4, [r5]");
    0x00019a96 str r4, [r5, 8]                                   |     var_8h_4 = r4;
    0x00019a98 str.w r4, [r8]                                    |     __asm ("str.w r4, [r8]");
    0x00019a9c ldr.w r3, [sb, r3]                                |     r3 = *(0x3393e);
    0x00019aa0 ldr r6, [r3]                                      |     r6 = *(0x3393e);
    0x00019aa2 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x00019aa4 bne.w 0x19c96                                     |         goto label_131;
                                                                 |     }
    0x00019aa8 subs r3, r0, 2                                    |     r3 = r0 - 2;
    0x00019aaa cmp r3, 1                                         |     
                                                                 |     if (r3 > 1) {
    0x00019aac bhi.w 0x19c74                                     |         goto label_132;
                                                                 |     }
    0x00019ab0 cmp r0, 3                                         |     
    0x00019ab2 ldr.w sl, [r1, 4]                                 |     sl = *((r1 + 4));
                                                                 |     if (r0 != 3) {
    0x00019ab6 bne.w 0x19cd4                                     |         goto label_133;
                                                                 |     }
    0x00019aba ldr.w fp, [r1, 8]                                 |     fp = *((r1 + 8));
                                                                 | label_48:
    0x00019abe cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x00019ac2 beq 0x19b82                                       |         goto label_134;
                                                                 |     }
    0x00019ac4 ldrb.w r3, [fp]                                   |     r3 = *(fp);
    0x00019ac8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019aca beq 0x19b82                                       |         goto label_134;
                                                                 |     }
    0x00019acc cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x00019ad0 beq.w 0x19dbe                                     |         goto label_135;
                                                                 |     }
    0x00019ad4 ldrb.w r2, [sl]                                   |     r2 = *(sl);
    0x00019ad8 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00019ada bne.w 0x19cf2                                     |         goto label_136;
                                                                 |     }
    0x00019ade cmp r3, 0x2f                                      |     
                                                                 |     if (r3 != 0x2f) {
    0x00019ae0 bne.w 0x19e94                                     |         goto label_137;
                                                                 |     }
    0x00019ae4 ldr r3, [pc, 0x3d4]                               |     
    0x00019ae6 add r3, pc                                        |     r3 = 0x339a6;
    0x00019ae8 adds r3, 1                                        |     r3++;
                                                                 | label_49:
    0x00019aea mov r2, fp                                        |     r2 = fp;
                                                                 |     do {
    0x00019aec mov r4, r2                                        |         r4 = r2;
    0x00019aee adds r2, 1                                        |         r2++;
    0x00019af0 ldrb r1, [r4, 1]                                  |         r1 = *((r4 + 1));
    0x00019af2 cmp r1, 0x2f                                      |         
    0x00019af4 beq 0x19aec                                       |         
                                                                 |     } while (r1 == 0x2f);
    0x00019af6 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x00019afa beq 0x19b74                                       |         goto label_57;
                                                                 |     }
                                                                 | label_50:
    0x00019afc ldrb.w r2, [sl]                                   |     r2 = *(sl);
    0x00019b00 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00019b02 beq 0x19b74                                       |         goto label_57;
                                                                 |     }
    0x00019b04 mov r0, sl                                        |     r0 = sl;
    0x00019b06 str r3, [r7]                                      |     *(r7) = r3;
    0x00019b08 blx 0x5d5c                                        |     unlink (r0);
    0x00019b0c str r0, [r7, 4]                                   |     var_4h_3 = r0;
    0x00019b0e mov r0, r4                                        |     r0 = r4;
    0x00019b10 blx 0x5d5c                                        |     unlink (r0);
    0x00019b14 ldr r2, [r7, 4]                                   |     r2 = var_4h_3;
    0x00019b16 ldr r3, [r7]                                      |     r3 = *(r7);
    0x00019b18 add r0, r2                                        |     r0 += r2;
    0x00019b1a adds r2, r0, 2                                    |     r2 = r0 + 2;
    0x00019b1c cmp.w r2, 0x400000                                |     
                                                                 |     if (r2 > 0x400000) {
    0x00019b20 bhi.w 0x19e42                                     |         goto label_138;
                                                                 |     }
    0x00019b24 adds r0, 9                                        |     r0 += 9;
    0x00019b26 mov r1, sl                                        |     r1 = sl;
    0x00019b28 bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x00019b2c str r3, [r7]                                      |     *(r7) = r3;
    0x00019b2e sub.w sp, sp, r0                                  |     
    0x00019b32 add r2, sp, 0x10                                  |     r2 += var_10h;
    0x00019b34 mov r0, r2                                        |     r0 = r2;
    0x00019b36 str r2, [r7, 4]                                   |     var_4h_3 = r2;
    0x00019b38 blx 0x5a4c                                        |     fcn_00005a4c ();
    0x00019b3c ldr r2, [r7, 4]                                   |     r2 = var_4h_3;
    0x00019b3e mov r1, r0                                        |     r1 = r0;
    0x00019b40 ldr r3, [r7]                                      |     r3 = *(r7);
    0x00019b42 cmp r0, r2                                        |     
                                                                 |     if (r0 > r2) {
    0x00019b44 bhi 0x19b4e                                       |         goto label_139;
                                                                 |     }
    0x00019b46 b 0x19b5c                                         |     goto label_54;
                                                                 |     do {
    0x00019b48 cmp r1, r2                                        |         
                                                                 |         if (r1 == r2) {
    0x00019b4a beq.w 0x19dca                                     |             goto label_140;
                                                                 |         }
                                                                 | label_139:
    0x00019b4e ldrb ip, [r1, -0x1]                               |         ip = *((r1 - 0x1));
    0x00019b52 mov r0, r1                                        |         r0 = r1;
    0x00019b54 subs r1, 1                                        |         r1--;
    0x00019b56 cmp.w ip, 0x2f                                    |         
    0x00019b5a beq 0x19b48                                       |         
                                                                 |     } while (ip == 0x2f);
                                                                 | label_54:
    0x00019b5c ldrb r1, [r4]                                     |     r1 = *(r4);
    0x00019b5e str r3, [r7, 4]                                   |     var_4h_3 = r3;
    0x00019b60 cmp r1, 0x2f                                      |     
    0x00019b62 itt ne                                            |     
                                                                 |     if (r1 == 0x2f) {
    0x00019b64 movne r1, 0x2f                                    |         r1 = 0x2f;
                                                                 |     }
                                                                 |     if (r1 == 0x2f) {
    0x00019b66 strbne r1, [r0], 1                                |         *(r0) = r1;
                                                                 |         r0++;
                                                                 |     }
    0x00019b6a mov r1, r4                                        |     r1 = r4;
    0x00019b6c mov r4, r2                                        |     r4 = r2;
    0x00019b6e blx 0x5ea0                                        |     terminal_urlify_man ();
    0x00019b72 ldr r3, [r7, 4]                                   |     r3 = var_4h_3;
                                                                 | label_57:
    0x00019b74 mov r1, r3                                        |     r1 = r3;
    0x00019b76 mov r0, r4                                        |     r0 = r4;
    0x00019b78 movs r2, 0                                        |     r2 = 0;
    0x00019b7a blx 0x61b0                                        |     r0 = fcn_000061b0 ();
    0x00019b7e cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00019b80 ble 0x19b86                                       |         
                                                                 | label_134:
    0x00019b82 mov.w fp, 0                                       |         
                                                                 |     }
    0x00019b86 ldr r3, [pc, 0x338]                               |     
    0x00019b88 ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x00019b8c ldr r3, [r3]                                      |     r3 = *(0x19ec2);
    0x00019b8e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019b90 beq.w 0x19dd2                                     |         goto label_141;
                                                                 |     }
    0x00019b94 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00019b96 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019b98 beq.w 0x19de6                                     |         goto label_142;
                                                                 |     }
    0x00019b9c movs r2, 0x40                                     |     r2 = 0x40;
    0x00019b9e add.w r4, r7, 0xc                                 |     r4 += var_ch_2;
    0x00019ba2 strb r2, [r3]                                     |     *(r3) = r2;
    0x00019ba4 mov r1, r4                                        |     r1 = r4;
    0x00019ba6 movs r0, 1                                        |     r0 = 1;
    0x00019ba8 bl 0x1a334                                        |     r0 = fcn_0001a334 (r0, r1);
    0x00019bac subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x00019bae blt.w 0x19cea                                     |         goto label_143;
                                                                 |     }
    0x00019bb2 movs r2, 0x88                                     |     r2 = 0x88;
    0x00019bb4 movs r1, 0                                        |     r1 = 0;
    0x00019bb6 add.w r0, r7, 0x20                                |     r0 += var_20h_2;
    0x00019bba blx 0x5a68                                        |     unit_load_state ();
    0x00019bbe add.w r0, r7, 0x1c                                |     r0 += var_1ch_2;
    0x00019bc2 movs r3, 1                                        |     r3 = 1;
    0x00019bc4 movs r1, 0xf                                      |     r1 = 0xf;
    0x00019bc6 str r3, [r0]                                      |     *(r0) = r3;
    0x00019bc8 mov.w r2, -1                                      |     r2 = -1;
    0x00019bcc mov.w r3, 0x10000000                              |     r3 = 0x10000000;
    0x00019bd0 str.w r3, [r0, 0x84]                              |     __asm ("str.w r3, [var_b0h_2]");
    0x00019bd4 blx 0x59c4                                        |     fcn_000059c4 ();
    0x00019bd8 subs r1, r0, 0                                    |     r1 -= var_1ch_2;
                                                                 |     if (r1 < var_1ch_2) {
    0x00019bda blt.w 0x19d94                                     |         goto label_144;
                                                                 |     }
                                                                 | label_53:
    0x00019bde blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019be2 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00019be4 ble 0x19c10                                       |         
    0x00019be6 mov r3, fp                                        |         r3 = fp;
    0x00019be8 cmp.w fp, 0                                       |         
                                                                 |         if (fp == 0) {
    0x00019bec beq.w 0x19e3c                                     |             goto label_145;
                                                                 |         }
                                                                 | label_56:
    0x00019bf0 strd sl, r3, [sp, 8]                              |         __asm ("strd sl, r3, [var_8h]");
    0x00019bf4 movs r1, 0                                        |         r1 = 0;
    0x00019bf6 ldr r3, [pc, 0x2cc]                               |         
    0x00019bf8 movs r0, 7                                        |         r0 = 7;
    0x00019bfa ldr r2, [pc, 0x2cc]                               |         
    0x00019bfc add r3, pc                                        |         r3 = 0x33ac6;
    0x00019bfe str r3, [sp, 4]                                   |         var_4h = r3;
    0x00019c00 add r2, pc                                        |         r2 = 0x33ace;
    0x00019c02 ldr r3, [pc, 0x2c8]                               |         
    0x00019c04 adds r2, 7                                        |         r2 += 7;
    0x00019c06 add r3, pc                                        |         r3 = 0x33ad8;
    0x00019c08 str r3, [sp]                                      |         *(sp) = r3;
    0x00019c0a movs r3, 0x43                                     |         r3 = 0x43;
    0x00019c0c blx 0x61a4                                        |         fcn_000061a4 ();
                                                                 |     }
                                                                 | label_52:
    0x00019c10 ldr r3, [pc, 0x2bc]                               |     r3 = *(0x19ed0);
    0x00019c12 ldr r0, [r4]                                      |     r0 = *(r4);
    0x00019c14 ldr.w r2, [sb, r3]                                |     r2 = *((sb + r3));
    0x00019c18 mov.w sb, 0                                       |     sb = 0;
    0x00019c1c ldr r3, [pc, 0x2b4]                               |     
    0x00019c1e strd sl, fp, [sp, 8]                              |     __asm ("strd sl, fp, [var_8h]");
    0x00019c22 ldr r1, [r2]                                      |     r1 = *(r2);
    0x00019c24 ldr r2, [pc, 0x2b0]                               |     
    0x00019c26 add r3, pc                                        |     r3 = 0x33afe;
    0x00019c28 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00019c2a mov r3, r5                                        |     r3 = r5;
    0x00019c2c str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x00019c30 add r2, pc                                        |     r2 = 0x33b0c;
    0x00019c32 blx 0x5d44                                        |     r0 = strlen (r0);
    0x00019c36 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00019c38 blt.w 0x19dfa                                     |         goto label_146;
                                                                 |     }
    0x00019c3c ldr.w r0, [r8]                                    |     r0 = *(r8);
                                                                 |     do {
                                                                 | label_47:
    0x00019c40 blx 0x5be4                                        |         fcn_00005be4 ();
    0x00019c44 movs r3, 0                                        |         r3 = 0;
    0x00019c46 mov r0, r5                                        |         r0 = r5;
    0x00019c48 str.w r3, [r8]                                    |         __asm ("str.w r3, [r8]");
    0x00019c4c blx 0x6024                                        |         fcn_00006024 ();
    0x00019c50 ldr r2, [pc, 0x288]                               |         
    0x00019c52 ldr r3, [pc, 0x25c]                               |         r3 = *(0x19eb2);
    0x00019c54 add r2, pc                                        |         r2 = 0x33b34;
    0x00019c56 ldr r3, [r2, r3]                                  |         r3 = *(0x33b34);
    0x00019c58 ldr r2, [r3]                                      |         r2 = *(0x33b34);
    0x00019c5a ldr.w r3, [r7, 0x134]                             |         r3 = var_134h;
    0x00019c5e eors r2, r3                                       |         r2 ^= r3;
    0x00019c60 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00019c64 bne.w 0x19ea8                                     |             goto label_147;
                                                                 |         }
    0x00019c68 mov r0, r6                                        |         r0 = r6;
    0x00019c6a add.w r7, r7, 0x13c                               |         r7 += var_13ch;
    0x00019c6e mov sp, r7                                        |         
    0x00019c70 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_132:
    0x00019c74 blx 0x5934                                        |         r0 = fcn_00005934 ();
    0x00019c78 cmp r0, 2                                         |         
    0x00019c7a itt le                                            |         
                                                                 |         if (r0 > 2) {
    0x00019c7c movle r0, r6                                      |             r0 = r6;
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x00019c7e mvnle r6, 0x15                                    |             r6 = ~0x15;
                                                                 |         }
    0x00019c82 ble 0x19c40                                       |         
                                                                 |     } while (r0 <= 2);
    0x00019c84 ldr r2, [pc, 0x258]                               |     
    0x00019c86 movs r1, 0x16                                     |     r1 = 0x16;
    0x00019c88 ldr r4, [pc, 0x258]                               |     
    0x00019c8a movs r3, 0x19                                     |     r3 = 0x19;
    0x00019c8c ldr r0, [pc, 0x258]                               |     
    0x00019c8e add r2, pc                                        |     r2 = 0x33b72;
    0x00019c90 add r4, pc                                        |     r4 = 0x33b78;
    0x00019c92 add r0, pc                                        |     r0 = 0x33b7e;
    0x00019c94 b 0x19cb6                                         |     goto label_148;
                                                                 | label_131:
    0x00019c96 blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019c9a cmp r0, 2                                         |     
    0x00019c9c itt le                                            |     
                                                                 |     if (r0 > 2) {
    0x00019c9e movle r0, r4                                      |         r0 = r4;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019ca0 mvnle r6, 0x15                                    |         r6 = ~0x15;
                                                                 |         goto label_149;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_149:
    0x00019ca4 ble 0x19c40                                       |         goto label_47;
                                                                 |     }
    0x00019ca6 ldr r2, [pc, 0x244]                               |     
    0x00019ca8 movs r1, 0x16                                     |     r1 = 0x16;
    0x00019caa ldr r4, [pc, 0x244]                               |     
    0x00019cac mov r3, r1                                        |     r3 = r1;
    0x00019cae ldr r0, [pc, 0x244]                               |     
    0x00019cb0 add r2, pc                                        |     r2 = 0x33ba2;
    0x00019cb2 add r4, pc                                        |     r4 = 0x33ba8;
    0x00019cb4 add r0, pc                                        |     r0 = 0x33bae;
                                                                 | label_148:
    0x00019cb6 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x00019cba movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x00019cbe adds r2, 7                                        |     r2 += 7;
    0x00019cc0 movs r0, 3                                        |     r0 = 3;
    0x00019cc2 blx 0x61a4                                        |     r0 = fcn_000061a4 ();
    0x00019cc6 subs r6, r0, 0                                    |     r6 = r0 - 0;
    0x00019cc8 ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x00019ccc it ge                                             |     
                                                                 |     if (r6 < r0) {
    0x00019cce mvnge r6, 0x55                                    |         r6 = ~0x55;
                                                                 |     }
    0x00019cd2 b 0x19c40                                         |     goto label_47;
                                                                 | label_133:
    0x00019cd4 ldr r0, [pc, 0x220]                               |     
    0x00019cd6 mov r2, r8                                        |     r2 = r8;
    0x00019cd8 mov r1, r6                                        |     r1 = r6;
    0x00019cda add r0, pc                                        |     r0 = 0x33bd6;
    0x00019cdc blx 0x6054                                        |     r0 = fcn_00006054 ();
    0x00019ce0 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00019ce2 blt 0x19d6e                                       |         goto label_150;
                                                                 |     }
                                                                 | label_51:
    0x00019ce4 ldr.w fp, [r8]                                    |     fp = *(r8);
    0x00019ce8 b 0x19abe                                         |     goto label_48;
                                                                 | label_143:
    0x00019cea ldr.w r0, [r8]                                    |     r0 = *(r8);
    0x00019cee mov r6, r3                                        |     r6 = r3;
    0x00019cf0 b 0x19c40                                         |     goto label_47;
                                                                 | label_136:
    0x00019cf2 mov r0, sl                                        |     r0 = sl;
    0x00019cf4 blx 0x5d5c                                        |     r0 = unlink (r0);
    0x00019cf8 add.w r3, r0, 0x1a                                |     r3 = r0 + 0x1a;
    0x00019cfc cmp.w r3, 0x400000                                |     
                                                                 |     if (r3 > 0x400000) {
    0x00019d00 bhi.w 0x19e56                                     |         goto label_151;
                                                                 |     }
    0x00019d04 adds r0, 0x21                                     |     r0 += 0x21;
    0x00019d06 mov r1, sl                                        |     r1 = sl;
    0x00019d08 bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x00019d0c sub.w sp, sp, r0                                  |     
    0x00019d10 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x00019d12 mov r0, r3                                        |     r0 = r3;
    0x00019d14 str r3, [r7, 4]                                   |     var_4h_3 = r3;
    0x00019d16 blx 0x5a4c                                        |     fcn_00005a4c ();
    0x00019d1a ldr r3, [r7, 4]                                   |     r3 = var_4h_3;
    0x00019d1c mov r2, r0                                        |     r2 = r0;
    0x00019d1e cmp r3, r0                                        |     
                                                                 |     if (r3 <= r0) {
    0x00019d20 blo 0x19d28                                       |         goto label_152;
                                                                 |     }
    0x00019d22 b 0x19d34                                         |     goto label_55;
                                                                 |     do {
    0x00019d24 cmp r0, r3                                        |         
                                                                 |         if (r0 == r3) {
    0x00019d26 beq 0x19dce                                       |             goto label_153;
                                                                 |         }
                                                                 | label_152:
    0x00019d28 ldrb r1, [r0, -0x1]                               |         r1 = *((r0 - 0x1));
    0x00019d2c mov r2, r0                                        |         r2 = r0;
    0x00019d2e subs r0, 1                                        |         r0--;
    0x00019d30 cmp r1, 0x2f                                      |         
    0x00019d32 beq 0x19d24                                       |         
                                                                 |     } while (r1 == 0x2f);
                                                                 | label_55:
    0x00019d34 ldr r1, [pc, 0x1c4]                               |     
    0x00019d36 add r1, pc                                        |     r1 = 0x33c36;
    0x00019d38 ldr.w r0, [r1, 1]                                 |     r0 = *(0x33c37);
    0x00019d3c str r0, [r2]                                      |     *(r2) = r0;
    0x00019d3e ldr.w r0, [r1, 5]                                 |     r0 = *(0x33c3b);
    0x00019d42 str r0, [r2, 4]                                   |     *((r2 + 4)) = r0;
    0x00019d44 ldr.w r0, [r1, 9]                                 |     r0 = *(0x33c3f);
    0x00019d48 str r0, [r2, 8]                                   |     *((r2 + 8)) = r0;
    0x00019d4a ldr.w r0, [r1, 0xd]                               |     r0 = *(0x33c43);
    0x00019d4e str r0, [r2, 0xc]                                 |     *((r2 + 0xc)) = r0;
    0x00019d50 ldr.w r0, [r1, 0x11]                              |     r0 = *(0x33c47);
    0x00019d54 str r0, [r2, 0x10]                                |     *((r2 + 0x10)) = r0;
    0x00019d56 ldr.w r0, [r1, 0x15]                              |     r0 = *(0x33c4b);
    0x00019d5a ldrb r1, [r1, 0x19]                               |     r1 = *((r1 + 0x19));
    0x00019d5c str r0, [r2, 0x14]                                |     *((r2 + 0x14)) = r0;
    0x00019d5e strb r1, [r2, 0x18]                               |     *((r2 + 0x18)) = r1;
    0x00019d60 ldrb.w r2, [fp]                                   |     r2 = *(fp);
    0x00019d64 cmp r2, 0x2f                                      |     
                                                                 |     if (r2 == 0x2f) {
    0x00019d66 beq.w 0x19aea                                     |         goto label_49;
                                                                 |     }
    0x00019d6a mov r4, fp                                        |     r4 = fp;
    0x00019d6c b 0x19afc                                         |     goto label_50;
                                                                 | label_150:
    0x00019d6e blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019d72 cmp r0, 6                                         |     
                                                                 |     if (r0 <= 6) {
    0x00019d74 ble 0x19ce4                                       |         goto label_51;
                                                                 |     }
    0x00019d76 ldr r3, [pc, 0x188]                               |     
    0x00019d78 mov r1, r4                                        |     r1 = r4;
    0x00019d7a ldr r2, [pc, 0x188]                               |     
    0x00019d7c movs r0, 7                                        |     r0 = 7;
    0x00019d7e add r3, pc                                        |     r3 = 0x33c84;
    0x00019d80 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00019d82 add r2, pc                                        |     r2 = 0x33c8c;
    0x00019d84 ldr r3, [pc, 0x180]                               |     
    0x00019d86 adds r2, 7                                        |     r2 += 7;
    0x00019d88 add r3, pc                                        |     r3 = 0x33c94;
    0x00019d8a str r3, [sp]                                      |     *(sp) = r3;
    0x00019d8c movs r3, 0x22                                     |     r3 = 0x22;
    0x00019d8e blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019d92 b 0x19ce4                                         |     goto label_51;
                                                                 | label_144:
    0x00019d94 str r1, [r7, 4]                                   |     var_4h_3 = r1;
    0x00019d96 invalid                                           |     
    0x00019d9a movs r2, r0                                       |     r2 = r0;
    0x00019d9c ldr r1, [r7, 4]                                   |     r1 = var_4h_3;
                                                                 |     if (r2 <= r0) {
    0x00019d9e ble.w 0x19c10                                     |         goto label_52;
                                                                 |     }
    0x00019da2 ldr r3, [pc, 0x168]                               |     
    0x00019da4 movs r0, 4                                        |     r0 = 4;
    0x00019da6 ldr r2, [pc, 0x168]                               |     
    0x00019da8 add r3, pc                                        |     r3 = 0x33cba;
    0x00019daa str r3, [sp, 4]                                   |     var_4h = r3;
    0x00019dac add r2, pc                                        |     r2 = 0x33cc2;
    0x00019dae ldr r3, [pc, 0x164]                               |     
    0x00019db0 adds r2, 7                                        |     r2 += 7;
    0x00019db2 add r3, pc                                        |     r3 = 0x33ccc;
    0x00019db4 str r3, [sp]                                      |     *(sp) = r3;
    0x00019db6 movs r3, 0x41                                     |     r3 = 0x41;
    0x00019db8 blx 0x61a4                                        |     fcn_000061a4 ();
    0x00019dbc b 0x19bde                                         |     goto label_53;
                                                                 | label_135:
    0x00019dbe cmp r3, 0x2f                                      |     
                                                                 |     if (r3 != 0x2f) {
    0x00019dc0 bne 0x19e9e                                       |         goto label_154;
                                                                 |     }
    0x00019dc2 ldr r3, [pc, 0x154]                               |     
    0x00019dc4 add r3, pc                                        |     r3 = 0x33ce2;
    0x00019dc6 adds r3, 1                                        |     r3++;
    0x00019dc8 b 0x19aea                                         |     goto label_49;
                                                                 | label_140:
    0x00019dca mov r0, r2                                        |     r0 = r2;
    0x00019dcc b 0x19b5c                                         |     goto label_54;
                                                                 | label_153:
    0x00019dce mov r2, r3                                        |     r2 = r3;
    0x00019dd0 b 0x19d34                                         |     goto label_55;
                                                                 | label_141:
    0x00019dd2 ldr r1, [pc, 0x148]                               |     
    0x00019dd4 movs r2, 0x35                                     |     r2 = 0x35;
    0x00019dd6 ldr r3, [pc, 0x148]                               |     
    0x00019dd8 ldr r0, [pc, 0x148]                               |     
    0x00019dda add r1, pc                                        |     r1 = 0x33cfc;
    0x00019ddc add r3, pc                                        |     r3 = 0x33d02;
    0x00019dde adds r1, 7                                        |     r1 += 7;
    0x00019de0 add r0, pc                                        |     r0 = 0x33d08;
    0x00019de2 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_142:
    0x00019de6 ldr r1, [pc, 0x140]                               |     
    0x00019de8 movs r2, 0x36                                     |     r2 = 0x36;
    0x00019dea ldr r3, [pc, 0x140]                               |     
    0x00019dec ldr r0, [pc, 0x140]                               |     
    0x00019dee add r1, pc                                        |     r1 = 0x33d1c;
    0x00019df0 add r3, pc                                        |     r3 = 0x33d22;
    0x00019df2 adds r1, 7                                        |     r1 += 7;
    0x00019df4 add r0, pc                                        |     r0 = 0x33d28;
    0x00019df6 blx 0x5e40                                        |     unit_file_get_default ();
                                                                 | label_146:
    0x00019dfa add.w r3, r7, 0xa8                                |     r3 += var_b8h;
    0x00019dfe movs r2, 0x8c                                     |     r2 = 0x8c;
    0x00019e00 mov r1, sb                                        |     r1 = sb;
    0x00019e02 mov r0, r3                                        |     r0 = r3;
    0x00019e04 blx 0x5a68                                        |     r0 = unit_load_state ();
    0x00019e08 mov r3, r0                                        |     r3 = r0;
    0x00019e0a mov.w r0, 0x10000000                              |     r0 = 0x10000000;
    0x00019e0e mov.w r2, -1                                      |     r2 = -1;
    0x00019e12 movs r1, 0xf                                      |     r1 = 0xf;
    0x00019e14 str.w r0, [r7, 0x12c]                             |     __asm ("str.w r0, [var_12ch]");
    0x00019e18 mov r0, r3                                        |     r0 = r3;
    0x00019e1a blx 0x59c4                                        |     fcn_000059c4 ();
    0x00019e1e blx 0x5934                                        |     r0 = fcn_00005934 ();
    0x00019e22 cmp r0, 2                                         |     
    0x00019e24 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00019e26 rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019e28 uxtble r3, r3                                     |         __asm ("uxtble r3, r3");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019e2a rsble r6, r3, 0                                   |         __asm ("rsble r6, r3, 0");
                                                                 |     }
    0x00019e2c bgt 0x19e6a                                       |     
                                                                 |     while (1) {
    0x00019e2e cmp r6, 0                                         |         
    0x00019e30 ldr.w r0, [r8]                                    |         r0 = *(r8);
    0x00019e34 it ge                                             |         
                                                                 |         if (r6 < 0) {
    0x00019e36 mvnge r6, 0x55                                    |             r6 = ~0x55;
                                                                 |         }
    0x00019e3a b 0x19c40                                         |         goto label_47;
                                                                 | label_145:
    0x00019e3c ldr r3, [pc, 0xf4]                                |         
    0x00019e3e add r3, pc                                        |         r3 = 0x33d76;
    0x00019e40 b 0x19bf0                                         |         goto label_56;
                                                                 | label_138:
    0x00019e42 ldr r1, [pc, 0xf4]                                |         
    0x00019e44 movs r2, 0x2c                                     |         r2 = 0x2c;
    0x00019e46 ldr r3, [pc, 0xf4]                                |         
    0x00019e48 ldr r0, [pc, 0xf4]                                |         
    0x00019e4a add r1, pc                                        |         r1 = 0x33d88;
    0x00019e4c add r3, pc                                        |         r3 = 0x33d8e;
    0x00019e4e adds r1, 7                                        |         r1 += 7;
    0x00019e50 add r0, pc                                        |         r0 = 0x33d94;
    0x00019e52 blx 0x5e40                                        |         unit_file_get_default ();
                                                                 | label_151:
    0x00019e56 ldr r1, [pc, 0xec]                                |         
    0x00019e58 movs r2, 0x2b                                     |         r2 = 0x2b;
    0x00019e5a ldr r3, [pc, 0xec]                                |         
    0x00019e5c ldr r0, [pc, 0xec]                                |         
    0x00019e5e add r1, pc                                        |         r1 = 0x33da8;
    0x00019e60 add r3, pc                                        |         r3 = 0x33dae;
    0x00019e62 adds r1, 7                                        |         r1 += 7;
    0x00019e64 add r0, pc                                        |         r0 = 0x33db4;
    0x00019e66 blx 0x5e40                                        |         unit_file_get_default ();
    0x00019e6a mov r1, r4                                        |         r1 = r4;
    0x00019e6c mov r0, r5                                        |         r0 = r5;
    0x00019e6e blx 0x566c                                        |         bus_error_message ();
    0x00019e72 ldr r2, [pc, 0xdc]                                |         
    0x00019e74 mov r1, r4                                        |         r1 = r4;
    0x00019e76 str r0, [sp, 8]                                   |         var_8h = r0;
    0x00019e78 ldr r3, [pc, 0xd8]                                |         
    0x00019e7a ldr r0, [pc, 0xdc]                                |         
    0x00019e7c add r2, pc                                        |         r2 = 0x33dd2;
    0x00019e7e adds r2, 7                                        |         r2 += 7;
    0x00019e80 add r3, pc                                        |         r3 = 0x33dd8;
    0x00019e82 add r0, pc                                        |         r0 = 0x33de0;
    0x00019e84 str r3, [sp, 4]                                   |         var_4h = r3;
    0x00019e86 str r0, [sp]                                      |         *(sp) = r0;
    0x00019e88 movs r3, 0x49                                     |         r3 = 0x49;
    0x00019e8a movs r0, 3                                        |         r0 = 3;
    0x00019e8c blx 0x61a4                                        |         r0 = fcn_000061a4 ();
    0x00019e90 mov r6, r0                                        |         r6 = r0;
    0x00019e92 b 0x19e2e                                         |         
                                                                 |     }
                                                                 | label_137:
    0x00019e94 ldr r3, [pc, 0xc4]                                |     
    0x00019e96 mov r4, fp                                        |     r4 = fp;
    0x00019e98 add r3, pc                                        |     r3 = 0x33df8;
    0x00019e9a adds r3, 1                                        |     r3++;
    0x00019e9c b 0x19b74                                         |     goto label_57;
                                                                 | label_154:
    0x00019e9e ldr r3, [pc, 0xc0]                                |     
    0x00019ea0 mov r4, fp                                        |     r4 = fp;
    0x00019ea2 add r3, pc                                        |     r3 = 0x33e08;
    0x00019ea4 adds r3, 1                                        |     r3++;
    0x00019ea6 b 0x19b74                                         |     goto label_57;
                                                                 | label_147:
    0x00019ea8 blx 0x6114                                        |     fcn_00006114 ();
    0x00019eac lsrs r6, r6, 0x1b                                 |     r6 >>= 0x1b;
    0x00019eae movs r2, r0                                       |     r2 = r0;
    0x00019eb0 lsls r0, r2, 0x18                                 |     r0 = r2 << 0x18;
    0x00019eb2 movs r0, r0                                       |     
    0x00019eb4 lsrs r6, r4, 0x1b                                 |     r6 = r4 >> 0x1b;
    0x00019eb6 movs r2, r0                                       |     r2 = r0;
    0x00019eb8 lsls r4, r7, 0x17                                 |     r4 = r7 << 0x17;
    0x00019eba movs r0, r0                                       |     
    0x00019ebc add r1, sp, 0x268                                 |     r1 += arg_268h;
    0x00019ebe movs r0, r0                                       |     
    0x00019ec0 lsls r4, r3, 0x16                                 |     r4 = r3 << 0x16;
    0x00019ec2 movs r0, r0                                       |     
    0x00019ec4 add r1, sp, 0x230                                 |     r1 += var_230h;
    0x00019ec6 movs r0, r0                                       |     
    0x00019ec8 add r0, sp, 0x270                                 |     r0 += arg_270h_2;
    0x00019eca movs r0, r0                                       |     
    0x00019ecc add r1, sp, 0x368                                 |     r1 += arg_368h;
    0x00019ece movs r0, r0                                       |     
    0x00019ed0 lsls r0, r1, 0x16                                 |     r0 = r1 << 0x16;
    0x00019ed2 movs r0, r0                                       |     
    0x00019ed4 adr r4, 0x358                                     |     r4 = 0x358;
    0x00019ed6 movs r0, r0                                       |     
    0x00019ed8 add r1, sp, 0x1f0                                 |     r1 += var_1f0h;
    0x00019eda movs r0, r0                                       |     
    0x00019edc lsrs r0, r3, 0x14                                 |     r0 = r3 >> 0x14;
    0x00019ede movs r2, r0                                       |     r2 = r0;
    0x00019ee0 add r0, sp, 0x38                                  |     r0 += var_38h;
    0x00019ee2 movs r0, r0                                       |     
    0x00019ee4 add r0, sp, 0x170                                 |     r0 += var_170h;
    0x00019ee6 movs r0, r0                                       |     
    0x00019ee8 add r1, sp, 0x138                                 |     r1 += var_138h;
    0x00019eea movs r0, r0                                       |     
    0x00019eec adr r7, 0x3b0                                     |     r7 = 0x3b0;
    0x00019eee movs r0, r0                                       |     
    0x00019ef0 add r0, sp, 0x68                                  |     r0 += var_68h;
    0x00019ef2 movs r0, r0                                       |     
    0x00019ef4 add r1, sp, 0xb0                                  |     r1 += var_b0h_2;
    0x00019ef6 movs r0, r0                                       |     
    0x00019ef8 add r0, sp, 0xb8                                  |     r0 += var_b8h;
    0x00019efa movs r0, r0                                       |     
    0x00019efc adr r7, 0x128                                     |     r7 = 0x128;
    0x00019efe movs r0, r0                                       |     
    0x00019f00 adr r7, 0x248                                     |     r7 = 0x248;
    0x00019f02 movs r0, r0                                       |     
    0x00019f04 adr r7, 0x68                                      |     r7 = 0x68;
    0x00019f06 movs r0, r0                                       |     
    0x00019f08 add r0, sp, 0x160                                 |     r0 += var_160h;
    0x00019f0a movs r0, r0                                       |     
    0x00019f0c adr r7, 0x2a0                                     |     r7 = 0x2a0;
    0x00019f0e movs r0, r0                                       |     
    0x00019f10 adr r6, 0x3c0                                     |     r6 = 0x3c0;
    0x00019f12 movs r0, r0                                       |     
    0x00019f14 add r0, sp, 0xb8                                  |     r0 += var_b8h;
    0x00019f16 movs r0, r0                                       |     
    0x00019f18 adr r6, 0x2f0                                     |     r6 = 0x2f0;
    0x00019f1a movs r0, r0                                       |     
    0x00019f1c adr r6, 0x308                                     |     r6 = segment.PHDR;
    0x00019f1e movs r0, r0                                       |     
    0x00019f20 adr r7, 0x3e0                                     |     r7 = 0x3e0;
    0x00019f22 movs r0, r0                                       |     
    0x00019f24 adr r7, 0x150                                     |     r7 = 0x150;
    0x00019f26 movs r0, r0                                       |     
    0x00019f28 adr r6, 0x2b8                                     |     r6 = 0x2b8;
    0x00019f2a movs r0, r0                                       |     
    0x00019f2c adr r7, 0x390                                     |     r7 = 0x390;
    0x00019f2e movs r0, r0                                       |     
    0x00019f30 adr r7, 0x130                                     |     r7 = 0x130;
    0x00019f32 movs r0, r0                                       |     
    0x00019f34 ldr r2, [r2, 0x38]                                |     r2 = *((r2 + 0x38));
    0x00019f36 movs r0, r0                                       |     
    0x00019f38 adr r6, 0x148                                     |     r6 = 0x148;
    0x00019f3a movs r0, r0                                       |     
    0x00019f3c adr r7, 0x220                                     |     r7 = 0x220;
    0x00019f3e movs r0, r0                                       |     
    0x00019f40 ldr r4, [r0, r4]                                  |     r4 = *((r0 + r4));
    0x00019f42 movs r0, r0                                       |     
    0x00019f44 adr r6, 0xf8                                      |     r6 = 0xf8;
    0x00019f46 movs r0, r0                                       |     
    0x00019f48 adr r7, 0x1d0                                     |     r7 = 0x1d0;
    0x00019f4a movs r0, r0                                       |     
    0x00019f4c ldr r0, [r6, r3]                                  |     r0 = *((r6 + r3));
    0x00019f4e movs r0, r0                                       |     
    0x00019f50 adr r6, 0x80                                      |     r6 = 0x80;
    0x00019f52 movs r0, r0                                       |     
    0x00019f54 adr r7, 0xe0                                      |     r7 = 0xe0;
    0x00019f56 movs r0, r0                                       |     
    0x00019f58 adr r7, 0x178                                     |     r7 = 0x178;
    0x00019f5a movs r0, r0                                       |     
    0x00019f5c adr r5, 0x3a0                                     |     r5 = 0x3a0;
    0x00019f5e movs r0, r0                                       |     
    0x00019f60 adr r5, 0x378                                     |     r5 = 0x378;
    0x00019f62 movs r0, r0                                       |     
                                                                 | }
    ; assembly                                   | /* r2dec pseudo code output */
                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemctl @ 0x1ab10 */
                                                 | #include <stdint.h>
                                                 |  
    ; (fcn) fcn.0001ab10 ()                      | void fcn_0001ab10 (int16_t arg_88h, int16_t arg_308h, uint32_t arg1) {
                                                 |     int16_t var_0h_3;
                                                 |     int16_t var_14h_2;
                                                 |     int16_t var_0h;
                                                 |     r0 = arg1;
                                                 |     if (? >= ?) {
    0x0001ab10 addlt fp, r6, r0, ror r5          |         
                                                 |     }
    0x0001ab14 ldr r5, [pc, 0x94]                |     
    0x0001ab16 add r5, pc                        |     r5 = 0x356c6;
    0x0001ab18 cmp r0, 0                         |     
                                                 |     if (var_0h_3 == ) {
    0x0001ab1a beq 0x1ab94                       |         goto label_2;
                                                 |     }
    0x0001ab1c mov r4, r0                        |     r4 = r0;
    0x0001ab1e blx 0x5934                        |     r0 = fcn_00005934 ();
    0x0001ab22 cmp r0, 3                         |     
                                                 |     if (r0 <= 3) {
    0x0001ab24 bgt 0x1ab2a                       |         
    0x0001ab26 add sp, 0x18                      |         
    0x0001ab28 pop {r4, r5, r6, pc}              |         
                                                 |     }
    0x0001ab2a blx 0x5e88                        |     r0 = strcpy (r0, r1)
                                                 |     if (r0 != 0) {
    0x0001ab2e cbnz r0, 0x1ab74                  |         goto label_3;
                                                 |     }
    0x0001ab30 ldr r6, [pc, 0x7c]                |     
    0x0001ab32 add r6, pc                        |     r6 = 0x356e6;
    0x0001ab34 blx 0x5e88                        |     r0 = strcpy (r0, r1)
                                                 |     if (r0 != 0) {
    0x0001ab38 cbnz r0, 0x1ab80                  |         goto label_4;
                                                 |     }
                                                 |     do {
    0x0001ab3a ldr r3, [pc, 0x78]                |         
    0x0001ab3c ldr r0, [pc, 0x78]                |         
    0x0001ab3e ldr r3, [r5, r3]                  |         r3 = *((r5 + r3));
    0x0001ab40 add r0, pc                        |         r0 = 0x356fc;
    0x0001ab42 ldr r3, [r3]                      |         r3 = *(0x1abb6);
                                                 |         if (r3 == 0) {
    0x0001ab44 cbz r3, 0x1ab8e                   |             goto label_5;
                                                 |         }
                                                 | label_0:
    0x0001ab46 ldr r3, [pc, 0x74]                |         
    0x0001ab48 add r3, pc                        |         r3 = 0x3570a;
                                                 | label_1:
    0x0001ab4a strd r0, r4, [sp, 0xc]            |         __asm ("strd r0, r4, [sp, 0xc]");
    0x0001ab4e movs r0, 4                        |         r0 = 4;
    0x0001ab50 ldr r2, [pc, 0x6c]                |         
    0x0001ab52 ldr r1, [pc, 0x70]                |         
    0x0001ab54 ldr r4, [pc, 0x70]                |         
    0x0001ab56 add r2, pc                        |         r2 = 0x3571a;
    0x0001ab58 str r3, [sp, 0x14]                |         var_14h_2 = r3;
    0x0001ab5a add r1, pc                        |         r1 = 0x35724;
    0x0001ab5c mov.w r3, 0x17c                   |         r3 = 0x17c;
    0x0001ab60 add r4, pc                        |         r4 = 0x3572c;
    0x0001ab62 strd r1, r6, [sp, 4]              |         __asm ("strd r1, r6, [sp, 4]");
    0x0001ab66 adds r2, 7                        |         r2 += 7;
    0x0001ab68 movs r1, 0                        |         r1 = 0;
    0x0001ab6a lsls r0, r0, 0xc                  |         r0 <<= 0xc;
    0x0001ab6c blx 0x61a4                        |         fcn_000061a4 ();
    0x0001ab70 add sp, 0x18                      |         
    0x0001ab72 pop {r4, r5, r6, pc}              |         
                                                 | label_3:
    0x0001ab74 ldr r6, [pc, 0x54]                |         
    0x0001ab76 add r6, pc                        |         r6 = 0x35746;
    0x0001ab78 blx 0x5e88                        |         r0 = strcpy (r0, r1)
    0x0001ab7c cmp r0, 0                         |         
    0x0001ab7e beq 0x1ab3a                       |         
                                                 |     } while (r0 == 0);
                                                 | label_4:
    0x0001ab80 ldr r3, [pc, 0x30]                |     
    0x0001ab82 ldr r0, [pc, 0x4c]                |     
    0x0001ab84 ldr r3, [r5, r3]                  |     r3 = *((r5 + r3));
    0x0001ab86 add r0, pc                        |     r0 = 0x3575c;
    0x0001ab88 ldr r3, [r3]                      |     r3 = *(0x1abb4);
    0x0001ab8a cmp r3, 0                         |     
                                                 |     if (r3 != 0) {
    0x0001ab8c bne 0x1ab46                       |         goto label_0;
                                                 |     }
                                                 | label_5:
    0x0001ab8e ldr r3, [pc, 0x44]                |     
    0x0001ab90 add r3, pc                        |     r3 = 0x3576a;
    0x0001ab92 b 0x1ab4a                         |     goto label_1;
                                                 | label_2:
    0x0001ab94 ldr r1, [pc, 0x40]                |     
    0x0001ab96 mov.w r2, 0x17a                   |     r2 = 0x17a;
    0x0001ab9a ldr r3, [pc, 0x40]                |     
    0x0001ab9c ldr r0, [pc, 0x40]                |     
    0x0001ab9e add r1, pc                        |     r1 = 0x3577a;
    0x0001aba0 add r3, pc                        |     r3 = 0x35782;
    0x0001aba2 adds r1, 7                        |     r1 += 7;
    0x0001aba4 add r0, pc                        |     r0 = 0x35788;
    0x0001aba6 blx 0x5e40                        |     unit_file_get_default ();
    0x0001abaa nop                               |     
    0x0001abac cdp2 p0, 5, c0, c6, c1, 0         |     __asm ("cdp2 p0, 5, c0, c6, c1, 0");
    0x0001abb0 ldrsh r6, [r0, r6]                |     r6 = *((r0 + r6));
    0x0001abb2 movs r0, r0                       |     
    0x0001abb4 lsls r0, r6, 0x18                 |     r0 = r6 << 0x18;
    0x0001abb6 movs r0, r0                       |     
    0x0001abb8 ldrsh r0, [r7, r5]                |     r0 = *((r7 + r5));
    0x0001abba movs r0, r0                       |     
    0x0001abbc ldr r4, [pc, 0x110]               |     r4 = *(0x1acd0);
    0x0001abbe movs r0, r0                       |     
    0x0001abc0 ldr r5, [sp, 0x28]                |     r5 = var_0h;
    0x0001abc2 movs r0, r0                       |     
    0x0001abc4 ldr r7, [sp, 0x88]                |     r7 = *(arg_88h);
    0x0001abc6 movs r0, r0                       |     
    0x0001abc8 adr r4, 0x2c0                     |     r4 = 0x2c0;
    0x0001abca movs r0, r0                       |     
    0x0001abcc ldr r4, [pc, 0x28]                |     r4 = *(0x1abf8);
    0x0001abce movs r0, r0                       |     
    0x0001abd0 subs r4, 0xa2                     |     r4 -= 0xa2;
    0x0001abd2 movs r0, r0                       |     
    0x0001abd4 ldrsh r0, [r5, r4]                |     r0 = *((r5 + r4));
    0x0001abd6 movs r0, r0                       |     
    0x0001abd8 ldr r4, [sp, 0x308]               |     r4 = *(arg_308h);
    0x0001abda movs r0, r0                       |     
    0x0001abdc adr r2, 0x3e0                     |     r2 = 0x3e0;
    0x0001abde movs r0, r0                       |     
    0x0001abe0 strb r4, [r1, 0xd]                |     *((r1 + 0xd)) = r4;
    0x0001abe2 movs r0, r0                       |     
                                                 | }

[*] Function strcpy used 58 times systemctl