[*] Binary protection state of systemctl

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


[*] Function system tear down of systemctl

    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0xc940 */
                                                                     | #include <stdint.h>
                                                                     |  
                                                                     | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                     |  
    ; (fcn) fcn.0000c940 ()                                          | void fcn_0000c940 (int16_t arg_0h, 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;
                                                                     |     int16_t var_40h;
                                                                     |     int16_t var_44h;
                                                                     |     int16_t var_48h;
                                                                     |     int16_t var_4ch;
                                                                     |     int16_t var_50h;
                                                                     |     int16_t var_54h;
                                                                     |     int16_t var_5ch;
                                                                     |     int16_t var_60h;
                                                                     |     int16_t var_64h;
                                                                     |     int16_t var_68h;
                                                                     |     int16_t var_6ch;
                                                                     |     r0 = arg1;
    0x0000c940 push {r4, lr}                                         |     
                                                                     |     if (r0 != 0) {
    0x0000c942 cbz r0, 0xc972                                        |         
    0x0000c944 mov r4, r0                                            |         r4 = r0;
    0x0000c946 ldr r0, [r0, 4]                                       |         r0 = *((r0 + 4));
    0x0000c948 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000c94c ldr r0, [r4, 8]                                       |         r0 = *((r4 + 8));
    0x0000c94e blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000c952 ldr r0, [r4, 0xc]                                     |         r0 = *((r4 + 0xc));
    0x0000c954 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000c958 ldr r0, [r4, 0x24]                                    |         r0 = *((r4 + 0x24));
    0x0000c95a blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000c95e ldr r0, [r4, 0x28]                                    |         r0 = *((r4 + 0x28));
    0x0000c960 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000c964 mov r0, r4                                            |         r0 = r4;
    0x0000c966 movs r2, 0x30                                         |         r2 = 0x30;
    0x0000c968 pop.w {r4, lr}                                        |         
    0x0000c96c movs r1, 0                                            |         r1 = 0;
    0x0000c96e b.w 0x5d4c                                            |         void (*0x5d4c)() ();
                                                                     |     }
    0x0000c972 ldr r1, [pc, 0x14]                                    |     
    0x0000c974 movs r2, 0x1f                                         |     r2 = 0x1f;
    0x0000c976 ldr r3, [pc, 0x14]                                    |     
    0x0000c978 ldr r0, [pc, 0x14]                                    |     
    0x0000c97a add r1, pc                                            |     r1 = 0x19308;
    0x0000c97c add r3, pc                                            |     r3 = 0x1930e;
    0x0000c97e adds r1, 7                                            |     r1 += 7;
    0x0000c980 add r0, pc                                            |     r0 = 0x19314;
    0x0000c982 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000c986 nop                                                   |     
    0x0000c988 ldr r2, [pc, 0x148]                                   |     r2 = *(0xcad4);
    0x0000c98a movs r1, r0                                           |     r1 = r0;
    0x0000c98c ldr r4, [pc, 0x1a0]                                   |     r4 = *(0xcb30);
    0x0000c98e movs r1, r0                                           |     r1 = r0;
    0x0000c990 ldr r2, [pc, 0x350]                                   |     r2 = *(0xcce4);
    0x0000c992 movs r1, r0                                           |     r1 = r0;
    0x0000c994 ldr.w r2, [pc, 0x734]                                 |     
    0x0000c996 movs r7, 0x34                                         |     r7 = 0x34;
    0x0000c998 movs r0, 1                                            |     r0 = 1;
    0x0000c99a ldr.w r3, [pc, 0x734]                                 |     r3 = *(0xd0d2);
    0x0000c99e push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000c9a2 sub sp, 0x74                                          |     
    0x0000c9a4 add r2, pc                                            |     r2 = 0x19a74;
    0x0000c9a6 ldr.w r6, [pc, 0x72c]                                 |     
    0x0000c9aa mov r4, r1                                            |     r4 = r1;
    0x0000c9ac add r1, sp, 0x5c                                      |     r1 += var_5ch;
    0x0000c9ae ldr r3, [r2, r3]                                      |     
    0x0000c9b0 add r6, pc                                            |     r6 = 0x19a8a;
    0x0000c9b2 ldr r3, [r3]                                          |     r3 = *(0x19a74);
    0x0000c9b4 str r3, [sp, 0x6c]                                    |     var_6ch = r3;
    0x0000c9b6 mov.w r3, 0                                           |     r3 = 0;
    0x0000c9b8 lsls r0, r0, 0xc                                      |     r0 <<= 0xc;
    0x0000c9ba bl 0x1ab9c                                            |     r0 = fcn_0001ab9c (r0, r1);
    0x0000c9be subs r3, r0, 0                                        |     r3 = r0 - 0;
    0x0000c9c0 str r3, [sp, 0x38]                                    |     var_38h = r3;
                                                                     |     if (r3 < r0) {
    0x0000c9c2 blt.w 0xccc0                                          |         goto label_3;
                                                                     |     }
    0x0000c9c4 strh r5, [r7, 0xa]                                    |     *((r7 + 0xa)) = r5;
    0x0000c9c6 add r3, sp, 0x68                                      |     r3 += var_68h;
    0x0000c9c8 movs r1, 1                                            |     r1 = 1;
    0x0000c9ca mov r0, r4                                            |     r0 = r4;
    0x0000c9cc str r3, [sp, 0x3c]                                    |     var_3ch = r3;
    0x0000c9ce movs r4, 0                                            |     r4 = 0;
    0x0000c9d0 ldr r7, [sp, 0x5c]                                    |     r7 = var_5ch;
    0x0000c9d2 blx 0x5f9c                                            |     fcn_00005f9c ();
    0x0000c9d4 invalid                                               |     
    0x0000c9d8 mov r5, r0                                            |     r5 = r0;
    0x0000c9da movs r0, 3                                            |     r0 = 3;
    0x0000c9dc str r4, [sp, 0x60]                                    |     var_60h = r4;
    0x0000c9de str r4, [sp, 0x64]                                    |     var_64h = r4;
    0x0000c9e0 blx 0x5cec                                            |     r0 = bus_call_method_async ();
    0x0000c9e4 cmp r0, r4                                            |     
                                                                     |     if (r0 < r4) {
    0x0000c9e6 blt.w 0xcd84                                          |         goto label_26;
                                                                     |     }
    0x0000c9ea ldr.w r8, [sp, 0x68]                                  |     r8 = var_68h;
    0x0000c9ee cmp.w r8, 0                                           |     
                                                                     |     if (r8 == 0) {
    0x0000c9f2 beq.w 0xcd84                                          |         goto label_26;
                                                                     |     }
                                                                     |     if (r5 != 0) {
    0x0000c9f6 cbz r5, 0xca0e                                        |         
    0x0000c9f8 ldr r3, [r5]                                          |         r3 = *(r5);
                                                                     |         if (r3 == 0) {
    0x0000c9fa cbz r3, 0xca0e                                        |             goto label_27;
                                                                     |         }
    0x0000c9fc mov r3, r4                                            |         r3 = r4;
    0x0000c9fe movs r2, 2                                            |         r2 = 2;
    0x0000ca00 mov r1, r8                                            |         r1 = r8;
    0x0000ca02 mov r0, r5                                            |         r0 = r5;
    0x0000ca04 blx 0x62b8                                            |         r0 = fcn_000062b8 ();
    0x0000ca08 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000ca0a beq.w 0xcd44                                          |             goto label_28;
                                                                     |         }
                                                                     |     }
                                                                     | label_27:
    0x0000ca0e movs r2, 0x30                                         |     r2 = 0x30;
    0x0000ca10 movs r1, 1                                            |     r1 = 1;
    0x0000ca12 add r0, sp, 0x60                                      |     r0 += var_60h;
    0x0000ca14 blx 0x5dd4                                            |     fcn_00005dd4 ();
    0x0000ca16 ldrd r2, r8, [lr]                                     |     __asm ("ldrd r2, r8, [lr]");
                                                                     |     if (r1 == 1) {
    0x0000ca1a beq.w 0xcf9a                                          |         goto label_29;
                                                                     |     }
    0x0000ca1e ldr r2, [sp, 0x60]                                    |     r2 = var_60h;
    0x0000ca20 movs r3, 1                                            |     r3 = 1;
    0x0000ca22 mov r0, r7                                            |     r0 = r7;
    0x0000ca24 str r3, [sp, 0x38]                                    |     var_38h = r3;
    0x0000ca26 strb r3, [r2]                                         |     *(r2) = r3;
    0x0000ca28 ldr r1, [sp, 0x60]                                    |     r1 = var_60h;
    0x0000ca2a str.w r8, [r1, 4]                                     |     __asm ("str.w r8, [r1, 4]");
    0x0000ca2c strh r4, [r0]                                         |     *(r0) = r4;
    0x0000ca2e mov.w r8, 0                                           |     r8 = 0;
    0x0000ca30 lsrs r0, r0, 0x20                                     |     r0 >>= 0x20;
    0x0000ca32 bl 0xc898                                             |     fcn_0000c898 (r0);
    0x0000ca36 add r0, sp, 0x64                                      |     r0 += var_64h;
    0x0000ca38 blx 0x5fc0                                            |     fcn_00005fc0 ();
    0x0000ca3c subs r4, r0, 0                                        |     r4 -= var_64h;
                                                                     |     if (r4 < var_64h) {
    0x0000ca3e blt.w 0xcd52                                          |         goto label_30;
                                                                     |     }
    0x0000ca40 strh r0, [r1, 0xc]                                    |     *((r1 + 0xc)) = r0;
                                                                     | label_2:
    0x0000ca42 ldr r4, [sp, 0x64]                                    |     r4 = var_64h;
                                                                     |     if (r4 == 0) {
    0x0000ca44 cbz r4, 0xcaa4                                        |         goto label_31;
                                                                     |     }
    0x0000ca46 ldr.w r3, [pc, 0x690]                                 |     
    0x0000ca4a subs r4, 4                                            |     r4 -= 4;
    0x0000ca4c movs r7, 0                                            |     r7 = 0;
    0x0000ca4e mov sl, r5                                            |     sl = r5;
    0x0000ca50 add r3, pc                                            |     r3 = 0x19b2e;
    0x0000ca52 str r3, [sp, 0x40]                                    |     var_40h = r3;
    0x0000ca54 add r3, sp, 0x60                                      |     r3 += var_60h;
    0x0000ca56 str r3, [sp, 0x48]                                    |     var_48h = r3;
                                                                     | label_1:
    0x0000ca58 ldr r3, [r4, 4]!                                      |     r3 = *((r4 += 4));
                                                                     |     if (r3 == 0) {
    0x0000ca5c cbz r3, 0xcaa4                                        |         goto label_31;
                                                                     |     }
                                                                     |     do {
    0x0000ca5e str r7, [sp, 0x68]                                    |         var_68h = r7;
    0x0000ca60 ldr r0, [r4]                                          |         r0 = *(r4);
    0x0000ca62 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000ca64 beq.w 0xce90                                          |             goto label_32;
                                                                     |         }
    0x0000ca68 cmp.w sl, 0                                           |         
                                                                     |         if (sl != 0) {
    0x0000ca6c beq 0xca88                                            |             
    0x0000ca6e ldr.w r3, [sl]                                        |             r3 = *(sl);
                                                                     |             if (r3 == 0) {
    0x0000ca72 cbz r3, 0xca88                                        |                 goto label_33;
                                                                     |             }
    0x0000ca74 mov r1, r0                                            |             r1 = r0;
    0x0000ca76 movs r3, 0                                            |             r3 = 0;
    0x0000ca78 movs r2, 2                                            |             r2 = 2;
    0x0000ca7a mov r0, sl                                            |             r0 = sl;
    0x0000ca7c blx 0x62b8                                            |             r0 = fcn_000062b8 ();
    0x0000ca80 cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000ca82 beq.w 0xcd40                                          |                 goto label_34;
                                                                     |             }
    0x0000ca86 ldr r0, [r4]                                          |             r0 = *(r4);
                                                                     |         }
                                                                     | label_33:
    0x0000ca88 ldr r1, [sp, 0x3c]                                    |         r1 = var_3ch;
    0x0000ca8a blx 0x6510                                            |         fcn_00006510 ();
    0x0000ca8e ldr r5, [sp, 0x68]                                    |         r5 = var_68h;
    0x0000ca90 cmp r5, 0                                             |         
                                                                     |         if (r5 != 0) {
    0x0000ca92 bne.w 0xcce2                                          |             goto label_35;
                                                                     |         }
    0x0000ca94 strh r6, [r4, 8]                                      |         *((r4 + 8)) = r6;
                                                                     | label_0:
    0x0000ca96 mov r0, r5                                            |         r0 = r5;
    0x0000ca98 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000ca9c ldr r3, [r4, 4]!                                      |         r3 = *((r4 += 4));
    0x0000caa0 cmp r3, 0                                             |         
    0x0000caa2 bne 0xca5e                                            |         
                                                                     |     } while (r3 != 0);
                                                                     | label_31:
    0x0000caa4 mov r0, r8                                            |     r0 = r8;
    0x0000caa6 ldr.w sb, [sp, 0x60]                                  |     sb = var_60h;
    0x0000caaa blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000caae ldr r0, [sp, 0x64]                                    |     r0 = var_64h;
                                                                     |     if (r0 != 0) {
    0x0000cab0 cbz r0, 0xcab6                                        |         
    0x0000cab2 blx 0x67b4                                            |         mktime (r0);
                                                                     |     }
    0x0000cab6 ldr.w r3, [pc, 0x624]                                 |     r3 = *(0xd0de);
    0x0000caba ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000cabc ldr r0, [r3]                                          |     r0 = *(0xd0de);
    0x0000cabe blx 0x67f0                                            |     getenv (r0);
    0x0000cac2 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cac4 cmp r3, 1                                             |     
                                                                     |     if (r3 <= 1) {
    0x0000cac6 ble.w 0xcdc8                                          |         goto label_36;
                                                                     |     }
    0x0000caca cmp.w sb, 0                                           |     
                                                                     |     if (sb == 0) {
    0x0000cace beq.w 0xd000                                          |         goto label_37;
                                                                     |     }
    0x0000cad2 ldr.w r3, [pc, 0x60c]                                 |     r3 = *(0x0000d0e0);
    0x0000cad6 movs r2, 0x30                                         |     r2 = 0x30;
    0x0000cad8 ldr r1, [sp, 0x38]                                    |     r1 = var_38h;
    0x0000cada mov r0, sb                                            |     r0 = sb;
    0x0000cadc add r3, pc                                            |     r3 += pc;
    0x0000cade blx 0x5a58                                            |     unit_name_to_type ();
                                                                     | label_4:
    0x0000cae2 ldr.w r3, [pc, 0x600]                                 |     
    0x0000cae6 movs r4, 0                                            |     r4 = 0;
    0x0000cae8 ldr.w r2, [pc, 0x5fc]                                 |     
    0x0000caec ldr.w r1, [pc, 0x5fc]                                 |     
    0x0000caf0 add r3, pc                                            |     r3 = 0x19bda;
    0x0000caf2 ldr.w r0, [pc, 0x5fc]                                 |     
    0x0000caf6 strd r3, r4, [sp]                                     |     __asm ("strd r3, r4, [sp]");
    0x0000cafa add r2, pc                                            |     r2 = 0x19be6;
    0x0000cafc ldr.w r3, [pc, 0x5f4]                                 |     
    0x0000cb00 add r1, pc                                            |     r1 = 0x19bf0;
    0x0000cb02 add r0, pc                                            |     r0 = 0x19bf8;
    0x0000cb04 add r3, pc                                            |     r3 = 0x19bfc;
    0x0000cb06 blx 0x5fd8                                            |     r0 = fcn_00005fd8 ();
    0x0000cb0a mov r8, r0                                            |     r8 = r0;
    0x0000cb0c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cb0e beq.w 0xcfd0                                          |         goto label_38;
                                                                     |     }
    0x0000cb12 ldr.w r3, [pc, 0x5e4]                                 |     r3 = *(0xd0fa);
    0x0000cb16 ldr.w fp, [r6, r3]                                    |     fp = *((r6 + r3));
    0x0000cb1a ldr.w r1, [fp]                                        |     r1 = *(fp);
    0x0000cb1e subs r1, 0                                            |     
    0x0000cb20 it ne                                                 |     
                                                                     |     if (r1 == 0) {
    0x0000cb22 movne r1, 1                                           |         r1 = 1;
                                                                     |     }
    0x0000cb24 blx 0x5db0                                            |     fcn_00005db0 ();
    0x0000cb28 ldr.w r3, [pc, 0x5d0]                                 |     r3 = *(0xd0fc);
    0x0000cb2c ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000cb2e ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000cb30 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000cb32 bne.w 0xcf50                                          |         goto label_39;
                                                                     |     }
                                                                     | label_15:
    0x0000cb36 ldr.w r3, [pc, 0x5c8]                                 |     r3 = *(0xd102);
    0x0000cb3a ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000cb3c ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000cb3e cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000cb40 bne.w 0xcf7e                                          |         goto label_40;
                                                                     |     }
                                                                     | label_17:
    0x0000cb44 ldr.w r1, [pc, 0x5bc]                                 |     
    0x0000cb48 mov r0, r8                                            |     r0 = r8;
    0x0000cb4a add r1, pc                                            |     r1 = 0x19c52;
    0x0000cb4c blx 0x6108                                            |     fcn_00006108 ();
    0x0000cb50 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cb52 add.w ip, r3, r3, lsl 1                               |     
    0x0000cb56 add.w ip, sb, ip, lsl 4                               |     
    0x0000cb5a cmp ip, sb                                            |     
                                                                     |     if (ip < sb) {
    0x0000cb5c bls.w 0xd054                                          |         goto label_41;
                                                                     |     }
    0x0000cb60 ldr.w r3, [pc, 0x5a4]                                 |     
    0x0000cb64 add.w r4, sb, 0x30                                    |     r4 = sb + 0x30;
    0x0000cb68 str.w sb, [sp, 0x50]                                  |     __asm ("str.w sb, [var_50h]");
    0x0000cb6c mov.w sl, 0                                           |     sl = 0;
    0x0000cb70 mov sb, ip                                            |     sb = ip;
    0x0000cb72 str.w r8, [sp, 0x40]                                  |     __asm ("str.w r8, [var_40h]");
    0x0000cb76 add r3, pc                                            |     r3 = 0x19c82;
    0x0000cb78 str.w fp, [sp, 0x54]                                  |     __asm ("str.w fp, [var_54h]");
    0x0000cb7c str r3, [sp, 0x44]                                    |     var_44h = r3;
    0x0000cb7e ldr.w r3, [pc, 0x58c]                                 |     
    0x0000cb82 add r3, pc                                            |     r3 = 0x19c94;
    0x0000cb84 str r3, [sp, 0x4c]                                    |     var_4ch = r3;
    0x0000cb86 ldr.w r3, [pc, 0x588]                                 |     
    0x0000cb8a add r3, pc                                            |     r3 = 0x19ca0;
    0x0000cb8c str r3, [sp, 0x48]                                    |     var_48h = r3;
                                                                     |     do {
    0x0000cb8e ldr r8, [r4, -0x8]                                    |         r8 = *((r4 - 0x8));
    0x0000cb92 mov r7, r4                                            |         r7 = r4;
    0x0000cb94 cmp.w r8, 0                                           |         
                                                                     |         if (r8 != 0) {
    0x0000cb98 bne.w 0xce0e                                          |             goto label_42;
                                                                     |         }
                                                                     | label_6:
    0x0000cb9c blx 0x5ac4                                            |         r0 = table_add_cell_full ();
    0x0000cba0 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000cba2 beq.w 0xce64                                          |             goto label_43;
                                                                     |         }
    0x0000cba6 cmp r0, 2                                             |         
                                                                     |         if (r0 == 2) {
    0x0000cba8 beq.w 0xced6                                          |             goto label_44;
                                                                     |         }
    0x0000cbac ldr.w r6, [pc, 0x564]                                 |         
    0x0000cbb0 add r6, pc                                            |         r6 = 0x19cc8;
                                                                     | label_10:
    0x0000cbb2 ldr r3, [r4, -0x14]                                   |         r3 = *((r4 - 0x14));
    0x0000cbb6 movs r5, 1                                            |         r5 = 1;
    0x0000cbb8 cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000cbba bne.w 0xce74                                          |             goto label_45;
                                                                     |         }
                                                                     | label_8:
    0x0000cbbe ldr.w fp, [pc, 0x558]                                 |         
    0x0000cbc2 movs r5, 1                                            |         r5 = 1;
    0x0000cbc4 add fp, pc                                            |         fp = 0x19ce2;
                                                                     | label_9:
    0x0000cbc6 ldr r8, [r4, -0x8]                                    |         r8 = *((r4 - 0x8));
    0x0000cbca ldrb r1, [r4, -0x30]                                  |         r1 = *((r4 - 0x30));
    0x0000cbce cmp.w r8, 0                                           |         
    0x0000cbd2 it eq                                                 |         
                                                                     |         if (r8 != 0) {
    0x0000cbd4 moveq sl, 1                                           |             sl = 1;
                                                                     |         }
    0x0000cbd8 cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x0000cbda beq.w 0xcdf0                                          |             goto label_46;
                                                                     |         }
    0x0000cbde ldr r0, [r4, -0x2c]                                   |         r0 = *((r4 - 0x2c));
    0x0000cbe2 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000cbe4 beq.w 0xcec8                                          |             goto label_47;
                                                                     |         }
                                                                     | label_12:
    0x0000cbe8 ldr.w r1, [pc, 0x530]                                 |         
    0x0000cbec movs r2, 0                                            |         r2 = 0;
    0x0000cbee add r1, pc                                            |         r1 = 0x19d0e;
    0x0000cbf0 blx 0x63d8                                            |         r0 = fcn_000063d8 ();
    0x0000cbf4 mov r1, r0                                            |         r1 = r0;
    0x0000cbf6 cmp r5, 0                                             |         
                                                                     |         if (r5 == 0) {
    0x0000cbf8 beq.w 0xce54                                          |             goto label_48;
                                                                     |         }
    0x0000cbfc str r0, [sp, 0x3c]                                    |         var_3ch = r0;
    0x0000cbfe movs r0, 7                                            |         r0 = 7;
    0x0000cc00 blx 0x6198                                            |         fcn_00006198 ();
    0x0000cc04 ldrb r2, [r4, -0x30]                                  |         r2 = *((r4 - 0x30));
    0x0000cc08 mov ip, r0                                            |         
    0x0000cc0a ldr r1, [sp, 0x3c]                                    |         r1 = var_3ch;
                                                                     | label_7:
    0x0000cc0c cmp r2, 0                                             |         
                                                                     |         if (r2 == 0) {
    0x0000cc0e beq.w 0xcf0c                                          |             goto label_49;
                                                                     |         }
    0x0000cc12 ldr r8, [r4, -0x8]                                    |         r8 = *((r4 - 0x8));
    0x0000cc16 str r1, [sp, 0x3c]                                    |         var_3ch = r1;
                                                                     | label_5:
    0x0000cc18 ldr r3, [sp, 0x44]                                    |         r3 = var_44h;
    0x0000cc1a cmp.w r8, 0                                           |         
    0x0000cc1e ite ne                                                |         
                                                                     |         if (r8 == 0) {
    0x0000cc20 movne r0, r8                                          |             r0 = r8;
                                                                     |         }
                                                                     |         if (r8 != 0) {
    0x0000cc22 moveq r0, r3                                          |             r0 = r3;
                                                                     |         }
                                                                     | label_11:
    0x0000cc24 movs r3, 0x24                                         |         r3 = 0x24;
    0x0000cc26 mov r2, ip                                            |         r2 = ip;
    0x0000cc28 str r3, [sp, 0x34]                                    |         var_34h = r3;
    0x0000cc2a mov.w ip, 0x16                                        |         
    0x0000cc2e ldr r3, [r4, -0x10]                                   |         r3 = *((r4 - 0x10));
    0x0000cc32 str.w fp, [sp, 0x28]                                  |         __asm ("str.w fp, [var_28h]");
    0x0000cc36 str.w ip, [sp, 0x2c]                                  |         __asm ("str.w ip, [var_2ch]");
    0x0000cc3a str r3, [sp, 0x30]                                    |         var_30h = r3;
    0x0000cc3c movs r3, 0x2a                                         |         r3 = 0x2a;
    0x0000cc3e str r3, [sp, 0x24]                                    |         var_24h = r3;
    0x0000cc40 ldr r5, [r4, -0x14]                                   |         r5 = *((r4 - 0x14));
    0x0000cc44 str r1, [sp, 8]                                       |         var_8h = r1;
    0x0000cc46 movs r1, 1                                            |         r1 = 1;
    0x0000cc48 str r0, [sp, 0x10]                                    |         var_10h = r0;
    0x0000cc4a strd ip, r5, [sp, 0x1c]                               |         __asm ("strd ip, r5, [var_1ch]");
    0x0000cc4e ldr r0, [sp, 0x40]                                    |         r0 = var_40h;
    0x0000cc50 str r6, [sp, 0x18]                                    |         var_18h = r6;
    0x0000cc52 str r6, [sp]                                          |         *(sp) = r6;
    0x0000cc54 str r3, [sp, 0x14]                                    |         var_14h = r3;
    0x0000cc56 str r1, [sp, 0xc]                                     |         var_ch = r1;
    0x0000cc58 str r1, [sp, 4]                                       |         var_4h = r1;
    0x0000cc5a blx 0x60b4                                            |         r0 = fcn_000060b4 ();
    0x0000cc5e cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x0000cc60 blt.w 0xcedc                                          |             goto label_50;
                                                                     |         }
    0x0000cc64 ldr r0, [sp, 0x3c]                                    |         r0 = var_3ch;
    0x0000cc66 adds r4, 0x30                                         |         r4 += 0x30;
    0x0000cc68 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000cc6c cmp r7, sb                                            |         
    0x0000cc6e blo 0xcb8e                                            |         
                                                                     |     } while (r7 <= sb);
    0x0000cc70 ldr.w sb, [sp, 0x50]                                  |     sb = var_50h;
    0x0000cc74 ldr.w r8, [sp, 0x40]                                  |     r8 = var_40h;
    0x0000cc78 ldr.w fp, [sp, 0x54]                                  |     fp = var_54h;
                                                                     | label_22:
    0x0000cc7c mov r0, r8                                            |     r0 = r8;
    0x0000cc7e bl 0x1cab4                                            |     r0 = fcn_0001cab4 (r0);
    0x0000cc82 subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 >= r0) {
    0x0000cc84 blt 0xcc92                                            |         
    0x0000cc86 ldr.w r3, [fp]                                        |         r3 = *(fp);
    0x0000cc8a cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000cc8c bne.w 0xcfe6                                          |             goto label_51;
                                                                     |         }
                                                                     | label_21:
    0x0000cc90 movs r4, 0                                            |         r4 = 0;
                                                                     |     }
                                                                     | label_16:
    0x0000cc92 mov r0, r8                                            |     r0 = r8;
    0x0000cc94 blx 0x6270                                            |     fcn_00006270 ();
                                                                     | label_20:
    0x0000cc98 cmp.w sb, 0                                           |     
                                                                     |     if (sb == 0) {
    0x0000cc9c beq 0xccbe                                            |         goto label_52;
                                                                     |     }
    0x0000cc9e ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
                                                                     |     if (r3 == 0) {
    0x0000cca0 cbz r3, 0xccb8                                        |         goto label_53;
                                                                     |     }
    0x0000cca2 ldr r7, [sp, 0x38]                                    |     r7 = var_38h;
    0x0000cca4 mov r6, sb                                            |     r6 = sb;
    0x0000cca6 movs r5, 0                                            |     r5 = 0;
                                                                     |     do {
    0x0000cca8 mov r0, r6                                            |         r0 = r6;
    0x0000ccaa adds r5, 1                                            |         r5++;
    0x0000ccac bl 0xc940                                             |         fcn_0000c940 (r0, r1);
    0x0000ccb0 cmp r5, r7                                            |         
    0x0000ccb2 add.w r6, r6, 0x30                                    |         r6 += 0x30;
    0x0000ccb6 bne 0xcca8                                            |         
                                                                     |     } while (r5 != r7);
                                                                     | label_53:
    0x0000ccb8 mov r0, sb                                            |     r0 = sb;
    0x0000ccba blx 0x59e0                                            |     unit_file_state_to_string ();
                                                                     | label_52:
    0x0000ccbe str r4, [sp, 0x38]                                    |     var_38h = r4;
                                                                     | label_3:
    0x0000ccc0 ldr.w r2, [pc, 0x45c]                                 |     
    0x0000ccc4 ldr.w r3, [pc, 0x408]                                 |     r3 = *(0xd0d0);
    0x0000ccc8 add r2, pc                                            |     r2 = 0x19dec;
    0x0000ccca ldr r3, [r2, r3]                                      |     r3 = *(0x19dec);
    0x0000cccc ldr r2, [r3]                                          |     r2 = *(0x19dec);
    0x0000ccce ldr r3, [sp, 0x6c]                                    |     r3 = var_6ch;
    0x0000ccd0 eors r2, r3                                           |     r2 ^= r3;
    0x0000ccd2 mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000ccd6 bne.w 0xd08c                                          |         goto label_54;
                                                                     |     }
    0x0000ccda ldr r0, [sp, 0x38]                                    |     r0 = var_38h;
    0x0000ccdc add sp, 0x74                                          |     
    0x0000ccde pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_35:
    0x0000cce2 ldr r1, [sp, 0x40]                                    |     r1 = var_40h;
    0x0000cce4 mov r0, r5                                            |     r0 = r5;
    0x0000cce6 blx 0x6670                                            |     r0 = hashmap_contains ();
    0x0000ccea mov sb, r0                                            |     sb = r0;
    0x0000ccec cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ccee bne.w 0xca96                                          |         goto label_0;
                                                                     |     }
    0x0000ccf2 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000ccf4 movs r2, 0x30                                         |     r2 = 0x30;
    0x0000ccf6 ldr r0, [sp, 0x48]                                    |     r0 = var_48h;
    0x0000ccf8 add.w fp, r3, 1                                       |     
    0x0000ccfc mov r1, fp                                            |     r1 = fp;
    0x0000ccfe blx 0x5dd4                                            |     r0 = fcn_00005dd4 ();
    0x0000cd02 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cd04 beq.w 0xd014                                          |         goto label_55;
                                                                     |     }
    0x0000cd08 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cd0a add.w r5, r3, r3, lsl 1                               |     r5 = r3 + (r3 << 1);
    0x0000cd0e ldr r3, [sp, 0x60]                                    |     r3 = var_60h;
    0x0000cd10 lsls r5, r5, 4                                        |     r5 <<= 4;
    0x0000cd12 strb.w sb, [r3, r5]                                   |     *((r3 + r5)) = sb;
    0x0000cd16 ldr r2, [sp, 0x60]                                    |     r2 = var_60h;
    0x0000cd18 ldr r0, [r4]                                          |     r0 = *(r4);
    0x0000cd1a add r5, r2                                            |     r5 += r2;
    0x0000cd1c str r2, [sp, 0x44]                                    |     var_44h = r2;
    0x0000cd1e blx 0x68d4                                            |     bus_parse_unit_info ();
    0x0000cd22 ldr r2, [sp, 0x44]                                    |     r2 = var_44h;
    0x0000cd24 str r0, [r5, 4]                                       |     *((r5 + 4)) = r0;
    0x0000cd26 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cd28 beq.w 0xd090                                          |         goto label_56;
                                                                     |     }
    0x0000cd2c mov r0, sb                                            |     r0 = sb;
    0x0000cd2e mov r1, r5                                            |     r1 = r5;
    0x0000cd30 bl 0xc898                                             |     fcn_0000c898 (r0);
    0x0000cd34 ldr r0, [sp, 0x68]                                    |     r0 = var_68h;
    0x0000cd36 str.w fp, [sp, 0x38]                                  |     __asm ("str.w fp, [var_38h]");
    0x0000cd3a blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000cd3e b 0xca58                                              |     goto label_1;
                                                                     | label_34:
    0x0000cd40 ldr r5, [sp, 0x68]                                    |     r5 = var_68h;
    0x0000cd42 b 0xca96                                              |     goto label_0;
                                                                     | label_28:
    0x0000cd44 str r0, [sp, 0x38]                                    |     var_38h = r0;
    0x0000cd46 add r0, sp, 0x64                                      |     r0 += var_64h;
    0x0000cd48 blx 0x5fc0                                            |     fcn_00005fc0 ();
    0x0000cd4c subs r4, r0, 0                                        |     r4 -= var_64h;
                                                                     |     if (r4 >= var_64h) {
    0x0000cd4e bge.w 0xca42                                          |         goto label_2;
                                                                     |     }
                                                                     | label_30:
    0x0000cd52 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000cd56 cmp r0, 2                                             |     
                                                                     |     if (r0 > 2) {
    0x0000cd58 bgt.w 0xcfb0                                          |         goto label_57;
                                                                     |     }
    0x0000cd5c rsbs r0, r4, 0                                        |     r0 = r4 - ;
    0x0000cd5e bic r0, r0, 0x40000000                                |     r0 = BIT_MASK (r0, 0x40000000);
    0x0000cd62 rsbs r3, r0, 0                                        |     r3 = r0 - ;
    0x0000cd64 str r3, [sp, 0x38]                                    |     var_38h = r3;
                                                                     | label_19:
    0x0000cd66 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cd68 mov r0, r8                                            |     r0 = r8;
    0x0000cd6a cmp r3, 0                                             |     
                                                                     |     if (r3 < 0) {
    0x0000cd6c blt.w 0xcf88                                          |         goto label_58;
                                                                     |     }
    0x0000cd70 blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000cd74 ldr r0, [sp, 0x64]                                    |     r0 = var_64h;
                                                                     |     if (r0 != 0) {
    0x0000cd76 cbz r0, 0xcd7c                                        |         
    0x0000cd78 blx 0x67b4                                            |         mktime (r0);
                                                                     |     }
    0x0000cd7c mvn r3, 0x55                                          |     r3 = ~0x55;
    0x0000cd80 str r3, [sp, 0x38]                                    |     var_38h = r3;
    0x0000cd82 b 0xccc0                                              |     goto label_3;
                                                                     | label_26:
    0x0000cd84 ldr r1, [pc, 0x39c]                                   |     
    0x0000cd86 mov.w r8, 0                                           |     r8 = 0;
    0x0000cd8a ldr r3, [pc, 0x39c]                                   |     
    0x0000cd8c movs r2, 0x6a                                         |     r2 = 0x6a;
    0x0000cd8e movs r0, 3                                            |     r0 = 3;
    0x0000cd90 add r1, pc                                            |     r1 = 0x19eb8;
    0x0000cd92 add r3, pc                                            |     r3 = 0x19ec0;
    0x0000cd94 adds r1, 7                                            |     r1 += 7;
    0x0000cd96 blx 0x6920                                            |     fcn_00006920 ();
    0x0000cd9a str r0, [sp, 0x38]                                    |     var_38h = r0;
                                                                     | label_18:
    0x0000cd9c mov r0, r8                                            |     r0 = r8;
    0x0000cd9e blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000cda2 ldr r0, [sp, 0x64]                                    |     r0 = var_64h;
                                                                     |     if (r0 != 0) {
    0x0000cda4 cbz r0, 0xcdaa                                        |         
    0x0000cda6 blx 0x67b4                                            |         mktime (r0);
                                                                     |     }
    0x0000cdaa ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cdac cmp r3, 0                                             |     
                                                                     |     if (r3 < 0) {
    0x0000cdae blt 0xccc0                                            |         goto label_3;
                                                                     |     }
    0x0000cdb0 ldr r3, [pc, 0x328]                                   |     r3 = *(0xd0dc);
    0x0000cdb2 ldr r3, [r6, r3]                                      |     r3 = *((r6 + r3));
    0x0000cdb4 ldr r0, [r3]                                          |     r0 = *(0xd0dc);
    0x0000cdb6 blx 0x67f0                                            |     getenv (r0);
    0x0000cdba ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cdbc cmp r3, 1                                             |     
    0x0000cdbe it le                                                 |     
                                                                     |     if (r3 > 1) {
    0x0000cdc0 movle sb, 0                                           |         sb = 0;
                                                                     |     }
                                                                     |     if (r3 > 1) {
    0x0000cdc4 bgt.w 0xd000                                          |         goto label_37;
                                                                     |     }
                                                                     | label_36:
    0x0000cdc8 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000cdca cmp.w sb, 0                                           |     
    0x0000cdce ite ne                                                |     
                                                                     |     if (sb == 0) {
    0x0000cdd0 movne r3, 0                                           |         r3 = 0;
                                                                     |     }
                                                                     |     if (sb != 0) {
    0x0000cdd2 andeq r3, r3, 1                                       |         r3 &= 1;
                                                                     |     }
    0x0000cdd6 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000cdd8 beq.w 0xcae2                                          |         goto label_4;
                                                                     |     }
    0x0000cddc ldr r1, [pc, 0x34c]                                   |     
    0x0000cdde movs r2, 0x9e                                         |     r2 = 0x9e;
    0x0000cde0 ldr r3, [pc, 0x34c]                                   |     
    0x0000cde2 ldr r0, [pc, 0x350]                                   |     
    0x0000cde4 add r1, pc                                            |     r1 = 0x19f14;
    0x0000cde6 add r3, pc                                            |     r3 = 0x19f1a;
    0x0000cde8 adds r1, 7                                            |     r1 += 7;
    0x0000cdea add r0, pc                                            |     r0 = 0x19f24;
    0x0000cdec blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_46:
    0x0000cdf0 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000cdf2 beq.w 0xcf46                                          |         goto label_59;
                                                                     |     }
    0x0000cdf6 movs r0, 7                                            |     r0 = 7;
    0x0000cdf8 str r1, [sp, 0x3c]                                    |     var_3ch = r1;
    0x0000cdfa blx 0x6198                                            |     r0 = fcn_00006198 ();
    0x0000cdfe mov ip, r0                                            |     
                                                                     | label_13:
    0x0000ce00 ldr r1, [r4, -0x2c]                                   |     r1 = *((r4 - 0x2c));
    0x0000ce04 cmp r1, 0                                             |     
                                                                     |     if (r1 != 0) {
    0x0000ce06 bne.w 0xcc18                                          |         goto label_5;
                                                                     |     }
                                                                     | label_14:
    0x0000ce0a ldr r1, [sp, 0x4c]                                    |     r1 = var_4ch;
    0x0000ce0c b 0xcc18                                              |     goto label_5;
                                                                     | label_42:
    0x0000ce0e ldr r1, [pc, 0x328]                                   |     
    0x0000ce10 mov r0, r8                                            |     r0 = r8;
    0x0000ce12 add r1, pc                                            |     r1 = 0x19f50;
    0x0000ce14 blx 0x6670                                            |     hashmap_contains ();
    0x0000ce16 stc p3, c11, [ip], -0x20                              |     __asm ("stc p3, c11, [ip], -0x20");
    0x0000ce1a ldr r1, [pc, 0x320]                                   |     
    0x0000ce1c mov r0, r8                                            |     r0 = r8;
    0x0000ce1e add r1, pc                                            |     r1 = 0x19f60;
    0x0000ce20 blx 0x6670                                            |     r0 = hashmap_contains ();
    0x0000ce24 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ce26 bne.w 0xcb9c                                          |         goto label_6;
                                                                     |     }
    0x0000ce2a ldr r3, [r4, -0x14]                                   |     r3 = *((r4 - 0x14));
    0x0000ce2e cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000ce30 bne 0xcece                                            |         goto label_60;
                                                                     |     }
    0x0000ce32 ldrb r5, [r4, -0x30]                                  |     r5 = *((r4 - 0x30));
                                                                     |     if (r5 == 0) {
    0x0000ce36 cbz r5, 0xcea4                                        |         goto label_61;
                                                                     |     }
    0x0000ce38 ldr r0, [r4, -0x2c]                                   |     r0 = *((r4 - 0x2c));
    0x0000ce3c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000ce3e beq 0xcebe                                            |         goto label_62;
                                                                     |     }
    0x0000ce40 ldr.w fp, [pc, 0x2fc]                                 |     
    0x0000ce44 mov r2, r3                                            |     r2 = r3;
    0x0000ce46 ldr r1, [pc, 0x2fc]                                   |     
    0x0000ce48 add fp, pc                                            |     fp = 0x19f8c;
    0x0000ce4a add r1, pc                                            |     r1 = 0x19f94;
    0x0000ce4c mov r6, fp                                            |     r6 = fp;
    0x0000ce4e blx 0x63d8                                            |     r0 = fcn_000063d8 ();
    0x0000ce52 mov r1, r0                                            |     r1 = r0;
                                                                     | label_48:
    0x0000ce54 ldrb r2, [r4, -0x30]                                  |     r2 = *((r4 - 0x30));
    0x0000ce58 ldr.w ip, [sp, 0x48]                                  |     ip = var_48h;
    0x0000ce5c b 0xcc0c                                              |     goto label_7;
    0x0000ce5e blx 0x5ac4                                            |     r0 = table_add_cell_full ();
                                                                     |     if (r0 != 0) {
    0x0000ce62 cbnz r0, 0xce82                                       |         goto label_63;
                                                                     |     }
                                                                     | label_43:
    0x0000ce64 ldr r3, [r4, -0x14]                                   |     r3 = *((r4 - 0x14));
    0x0000ce68 movs r5, 1                                            |     r5 = 1;
    0x0000ce6a ldr r6, [pc, 0x2dc]                                   |     
    0x0000ce6c add r6, pc                                            |     r6 = 0x19fba;
    0x0000ce6e cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000ce70 beq.w 0xcbbe                                          |         goto label_8;
                                                                     |     }
                                                                     |     do {
                                                                     | label_45:
    0x0000ce74 blx 0x5ac4                                            |         r0 = table_add_cell_full ();
                                                                     |         if (r0 != 0) {
    0x0000ce78 cbz r0, 0xce88                                        |             
    0x0000ce7a ldr.w fp, [pc, 0x2d0]                                 |             
    0x0000ce7e add fp, pc                                            |             fp = 0x19fd0;
    0x0000ce80 b 0xcbc6                                              |             goto label_9;
                                                                     | label_63:
    0x0000ce82 ldr r6, [pc, 0x2cc]                                   |             
    0x0000ce84 add r6, pc                                            |             r6 = 0x19fda;
    0x0000ce86 b 0xcbb2                                              |             goto label_10;
                                                                     |         }
    0x0000ce88 ldr.w fp, [pc, 0x2c8]                                 |         
    0x0000ce8c add fp, pc                                            |         fp = 0x19fe4;
    0x0000ce8e b 0xcbc6                                              |         goto label_9;
                                                                     | label_32:
    0x0000ce90 ldr r1, [pc, 0x2c4]                                   |         
    0x0000ce92 movs r2, 0xed                                         |         r2 = 0xed;
    0x0000ce94 ldr r3, [pc, 0x2c4]                                   |         
    0x0000ce96 ldr r0, [pc, 0x2c8]                                   |         
    0x0000ce98 add r1, pc                                            |         r1 = 0x19ff4;
    0x0000ce9a add r3, pc                                            |         r3 = 0x19ffa;
    0x0000ce9c adds r1, 7                                            |         r1 += 7;
    0x0000ce9e add r0, pc                                            |         r0 = 0x1a004;
    0x0000cea0 blx 0x59a0                                            |         fcn_000059a0 ();
                                                                     | label_61:
    0x0000cea4 ldr r1, [r4, -0x2c]                                   |         r1 = *((r4 - 0x2c));
                                                                     |         if (r1 == 0) {
    0x0000cea8 cbz r1, 0xcf14                                        |             goto label_64;
                                                                     |         }
    0x0000ceaa ldr.w fp, [pc, 0x2b8]                                 |         
    0x0000ceae mov r0, r8                                            |         r0 = r8;
    0x0000ceb0 ldr.w ip, [pc, 0x2b4]                                 |         
    0x0000ceb4 str r5, [sp, 0x3c]                                    |         var_3ch = r5;
    0x0000ceb6 add fp, pc                                            |         fp = 0x1a020;
    0x0000ceb8 add ip, pc                                            |         ip = 0x1a024;
    0x0000ceba mov r6, fp                                            |         r6 = fp;
    0x0000cebc b 0xcc24                                              |         goto label_11;
                                                                     | label_62:
    0x0000cebe ldr.w fp, [pc, 0x2ac]                                 |         
    0x0000cec2 mov r5, r0                                            |         r5 = r0;
    0x0000cec4 add fp, pc                                            |         fp = 0x1a036;
    0x0000cec6 mov r6, fp                                            |         r6 = fp;
                                                                     | label_47:
    0x0000cec8 ldr r0, [pc, 0x2a4]                                   |         
    0x0000ceca add r0, pc                                            |         r0 = 0x1a03e;
    0x0000cecc b 0xcbe8                                              |         goto label_12;
                                                                     | label_60:
    0x0000cece ldr r6, [pc, 0x2a4]                                   |         
    0x0000ced0 mov r5, r0                                            |         r5 = r0;
    0x0000ced2 add r6, pc                                            |         r6 = 0x1a04c;
    0x0000ced4 b 0xce74                                              |         
                                                                     |     } while (1);
                                                                     | label_44:
    0x0000ced6 ldr r6, [pc, 0x2a0]                                   |     
    0x0000ced8 add r6, pc                                            |     r6 = 0x1a056;
    0x0000ceda b 0xcbb2                                              |     goto label_10;
                                                                     | label_50:
    0x0000cedc mov r6, r0                                            |     r6 = r0;
    0x0000cede ldr.w sb, [sp, 0x50]                                  |     sb = var_50h;
    0x0000cee2 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000cee6 cmp r0, 2                                             |     
    0x0000cee8 ldr.w r8, [sp, 0x40]                                  |     r8 = var_40h;
    0x0000ceec it le                                                 |     
                                                                     |     if (r0 <= 2) {
    0x0000ceee rsble r4, r6, 0                                       |         __asm ("rsble r4, r6, 0");
                                                                     |     }
    0x0000cef0 ldr r5, [sp, 0x3c]                                    |     r5 = var_3ch;
    0x0000cef2 itt le                                                |     
                                                                     |     if (r0 <= 2) {
    0x0000cef4 bicle r4, r4, 0x40000000                              |         __asm ("bicle r4, r4, 0x40000000");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000cef8 rsbs r4, r4, 0                                        |         r4 -= ;
                                                                     |     }
    0x0000cefa bgt 0xcf26                                            |     
                                                                     |     while (1) {
    0x0000cefc cmp r4, 0                                             |         
    0x0000cefe mov r0, r5                                            |         r0 = r5;
    0x0000cf00 it ge                                                 |         
                                                                     |         if (r4 < 0) {
    0x0000cf02 mvnge r4, 0x55                                        |             r4 = ~0x55;
                                                                     |         }
    0x0000cf06 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000cf08 stcl p6, c14, [ip, -0x308]!                           |         __asm ("stcl p6, c14, [ip, -0x308]!");
                                                                     | label_49:
    0x0000cf0c ldr r8, [r4, -0x8]                                    |         r8 = *((r4 - 0x8));
    0x0000cf10 str r1, [sp, 0x3c]                                    |         var_3ch = r1;
    0x0000cf12 b 0xce00                                              |         goto label_13;
                                                                     | label_64:
    0x0000cf14 ldr.w fp, [pc, 0x264]                                 |         
    0x0000cf18 ldr.w ip, [pc, 0x264]                                 |         
    0x0000cf1c str r1, [sp, 0x3c]                                    |         var_3ch = r1;
    0x0000cf1e add fp, pc                                            |         fp = 0x1a09e;
    0x0000cf20 add ip, pc                                            |         ip = 0x1a0a4;
    0x0000cf22 mov r6, fp                                            |         r6 = fp;
    0x0000cf24 b 0xce0a                                              |         goto label_14;
    0x0000cf26 ldr r3, [pc, 0x25c]                                   |         
    0x0000cf28 mov r1, r6                                            |         r1 = r6;
    0x0000cf2a ldr r2, [pc, 0x25c]                                   |         
    0x0000cf2c movs r0, 3                                            |         r0 = 3;
    0x0000cf2e add r3, pc                                            |         r3 = 0x1a0b8;
    0x0000cf30 str r3, [sp, 4]                                       |         var_4h = r3;
    0x0000cf32 add r2, pc                                            |         r2 = 0x1a0c0;
    0x0000cf34 ldr r3, [pc, 0x254]                                   |         
    0x0000cf36 adds r2, 7                                            |         r2 += 7;
    0x0000cf38 add r3, pc                                            |         r3 = 0x1a0c8;
    0x0000cf3a str r3, [sp]                                          |         *(sp) = r3;
    0x0000cf3c movs r3, 0xd2                                         |         r3 = 0xd2;
    0x0000cf3e blx 0x6008                                            |         r0 = fcn_00006008 ();
    0x0000cf42 mov r4, r0                                            |         r4 = r0;
    0x0000cf44 b 0xcefc                                              |         
                                                                     |     }
                                                                     | label_59:
    0x0000cf46 ldr.w ip, [pc, 0x248]                                 |     
    0x0000cf4a str r5, [sp, 0x3c]                                    |     var_3ch = r5;
    0x0000cf4c add ip, pc                                            |     ip = 0x1a0e2;
    0x0000cf4e b 0xce00                                              |     goto label_13;
                                                                     | label_39:
    0x0000cf50 mov r1, r4                                            |     r1 = r4;
    0x0000cf52 mov.w r2, -1                                          |     r2 = -1;
    0x0000cf56 mov r0, r8                                            |     r0 = r8;
    0x0000cf58 blx 0x6300                                            |     r0 = fcn_00006300 ();
    0x0000cf5c subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 >= r0) {
    0x0000cf5e bge.w 0xcb36                                          |         goto label_15;
                                                                     |     }
    0x0000cf62 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000cf66 cmp r0, 2                                             |     
    0x0000cf68 ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000cf6a rsble r4, r4, 0                                       |         __asm ("rsble r4, r4, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000cf6c bicle r4, r4, 0x40000000                              |         __asm ("bicle r4, r4, 0x40000000");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000cf70 rsbs r4, r4, 0                                        |         r4 -= ;
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000cf72 bgt 0xd06c                                            |         goto label_65;
                                                                     |     }
                                                                     | label_24:
    0x0000cf74 cmp r4, 0                                             |     
    0x0000cf76 it ge                                                 |     
                                                                     |     if (r4 < 0) {
    0x0000cf78 mvnge r4, 0x55                                        |         r4 = ~0x55;
                                                                     |     }
    0x0000cf7c b 0xcc92                                              |     goto label_16;
                                                                     | label_40:
    0x0000cf7e movs r1, 0                                            |     r1 = 0;
    0x0000cf80 mov r0, r8                                            |     r0 = r8;
    0x0000cf82 blx 0x6324                                            |     fcn_00006324 ();
    0x0000cf86 b 0xcb44                                              |     goto label_17;
                                                                     | label_58:
    0x0000cf88 blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000cf8c ldr r0, [sp, 0x64]                                    |     r0 = var_64h;
    0x0000cf8e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000cf90 beq.w 0xccc0                                          |         goto label_3;
                                                                     |     }
    0x0000cf94 blx 0x67b4                                            |     mktime (r0);
    0x0000cf98 b 0xccc0                                              |     goto label_3;
                                                                     | label_29:
    0x0000cf9a ldr r1, [pc, 0x1f8]                                   |     
    0x0000cf9c movs r2, 0x6e                                         |     r2 = 0x6e;
    0x0000cf9e ldr r3, [pc, 0x1f8]                                   |     
    0x0000cfa0 movs r0, 3                                            |     r0 = 3;
    0x0000cfa2 add r1, pc                                            |     r1 = 0x1a13c;
    0x0000cfa4 add r3, pc                                            |     r3 = 0x1a142;
    0x0000cfa6 adds r1, 7                                            |     r1 += 7;
    0x0000cfa8 blx 0x6920                                            |     fcn_00006920 ();
    0x0000cfac str r0, [sp, 0x38]                                    |     var_38h = r0;
    0x0000cfae b 0xcd9c                                              |     goto label_18;
                                                                     | label_57:
    0x0000cfb0 ldr r2, [pc, 0x1e8]                                   |     
    0x0000cfb2 mov r1, r4                                            |     r1 = r4;
    0x0000cfb4 ldr r0, [pc, 0x1e8]                                   |     
    0x0000cfb6 ldr r3, [pc, 0x1ec]                                   |     
    0x0000cfb8 add r2, pc                                            |     r2 = 0x1a158;
    0x0000cfba add r0, pc                                            |     r0 = 0x1a15e;
    0x0000cfbc adds r2, 7                                            |     r2 += 7;
    0x0000cfbe add r3, pc                                            |     r3 = 0x1a168;
    0x0000cfc0 strd r3, r0, [sp]                                     |     __asm ("strd r3, r0, [sp]");
    0x0000cfc4 movs r3, 0x79                                         |     r3 = 0x79;
    0x0000cfc6 movs r0, 3                                            |     r0 = 3;
    0x0000cfc8 blx 0x6008                                            |     fcn_00006008 ();
    0x0000cfcc str r0, [sp, 0x38]                                    |     var_38h = r0;
    0x0000cfce b 0xcd66                                              |     goto label_19;
                                                                     | label_38:
    0x0000cfd0 ldr r1, [pc, 0x1d4]                                   |     
    0x0000cfd2 movs r2, 0xa2                                         |     r2 = 0xa2;
    0x0000cfd4 ldr r3, [pc, 0x1d4]                                   |     
    0x0000cfd6 movs r0, 3                                            |     r0 = 3;
    0x0000cfd8 add r1, pc                                            |     r1 = 0x1a184;
    0x0000cfda add r3, pc                                            |     r3 = 0x1a18a;
    0x0000cfdc adds r1, 7                                            |     r1 += 7;
    0x0000cfde blx 0x6920                                            |     r0 = fcn_00006920 ();
    0x0000cfe2 mov r4, r0                                            |     r4 = r0;
    0x0000cfe4 b 0xcc98                                              |     goto label_20;
                                                                     | label_51:
    0x0000cfe6 movs r0, 0xa                                          |     r0 = 0xa;
    0x0000cfe8 blx 0x5d1c                                            |     get_process_comm ();
    0x0000cfec cmp.w sl, 0                                           |     
                                                                     |     if (sl != 0) {
    0x0000cff0 bne 0xd05a                                            |         goto label_66;
                                                                     |     }
                                                                     | label_23:
    0x0000cff2 ldr r1, [pc, 0x1bc]                                   |     
    0x0000cff4 movs r0, 1                                            |     r0 = 1;
    0x0000cff6 ldr r2, [sp, 0x38]                                    |     r2 = var_38h;
    0x0000cff8 add r1, pc                                            |     r1 = 0x1a1ae;
    0x0000cffa blx 0x68e0                                            |     touch ();
    0x0000cffe b 0xcc90                                              |     goto label_21;
                                                                     | label_37:
    0x0000d000 ldr r1, [pc, 0x1b0]                                   |     
    0x0000d002 movs r2, 0x34                                         |     r2 = 0x34;
    0x0000d004 ldr r3, [pc, 0x1b0]                                   |     
    0x0000d006 ldr r0, [pc, 0x1b4]                                   |     
    0x0000d008 add r1, pc                                            |     r1 = 0x1a1c0;
    0x0000d00a add r3, pc                                            |     r3 = 0x1a1c6;
    0x0000d00c adds r1, 7                                            |     r1 += 7;
    0x0000d00e add r0, pc                                            |     r0 = 0x1a1d0;
    0x0000d010 blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_55:
    0x0000d014 ldr r5, [sp, 0x60]                                    |     r5 = var_60h;
                                                                     |     if (r5 == 0) {
    0x0000d016 cbz r5, 0xd038                                        |         goto label_67;
                                                                     |     }
    0x0000d018 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000d01a mov r4, r5                                            |     r4 = r5;
    0x0000d01c ldr r7, [sp, 0x38]                                    |     r7 = var_38h;
                                                                     |     if (r3 == 0) {
    0x0000d01e cbz r3, 0xd032                                        |         goto label_68;
                                                                     |     }
                                                                     |     do {
    0x0000d020 mov r0, r4                                            |         r0 = r4;
    0x0000d022 add.w sb, sb, 1                                       |         sb++;
    0x0000d026 bl 0xc940                                             |         fcn_0000c940 (r0, r1);
    0x0000d02a cmp sb, r7                                            |         
    0x0000d02c add.w r4, r4, 0x30                                    |         r4 += 0x30;
    0x0000d030 bne 0xd020                                            |         
                                                                     |     } while (sb != r7);
                                                                     | label_68:
    0x0000d032 mov r0, r5                                            |     r0 = r5;
    0x0000d034 blx 0x59e0                                            |     unit_file_state_to_string ();
                                                                     | label_67:
    0x0000d038 ldr r1, [pc, 0x184]                                   |     
    0x0000d03a movs r2, 0x87                                         |     r2 = 0x87;
    0x0000d03c ldr r3, [pc, 0x184]                                   |     
    0x0000d03e movs r0, 3                                            |     r0 = 3;
    0x0000d040 add r1, pc                                            |     r1 = 0x1a204;
    0x0000d042 add r3, pc                                            |     r3 = 0x1a20a;
    0x0000d044 adds r1, 7                                            |     r1 += 7;
    0x0000d046 blx 0x6920                                            |     fcn_00006920 ();
    0x0000d04a str r0, [sp, 0x38]                                    |     var_38h = r0;
                                                                     | label_25:
    0x0000d04c ldr r0, [sp, 0x68]                                    |     r0 = var_68h;
    0x0000d04e blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000d052 b 0xcd9c                                              |     goto label_18;
                                                                     | label_41:
    0x0000d054 mov.w sl, 0                                           |     sl = 0;
    0x0000d058 b 0xcc7c                                              |     goto label_22;
                                                                     | label_66:
    0x0000d05a blx 0x648c                                            |     r0 = fcn_0000648c ();
    0x0000d05e cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000d060 beq 0xcff2                                            |         goto label_23;
                                                                     |     }
    0x0000d062 ldr r0, [pc, 0x164]                                   |     
    0x0000d064 add r0, pc                                            |     r0 = 0x1a232;
    0x0000d066 blx 0x5bf8                                            |     fcn_00005bf8 ();
    0x0000d06a b 0xcff2                                              |     goto label_23;
                                                                     | label_65:
    0x0000d06c ldr r3, [pc, 0x15c]                                   |     
    0x0000d06e mov r1, r4                                            |     r1 = r4;
    0x0000d070 ldr r2, [pc, 0x15c]                                   |     
    0x0000d072 movs r0, 3                                            |     r0 = 3;
    0x0000d074 add r3, pc                                            |     r3 = 0x1a244;
    0x0000d076 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000d078 add r2, pc                                            |     r2 = 0x1a24c;
    0x0000d07a ldr r3, [pc, 0x158]                                   |     
    0x0000d07c adds r2, 7                                            |     r2 += 7;
    0x0000d07e add r3, pc                                            |     r3 = 0x1a258;
    0x0000d080 str r3, [sp]                                          |     *(sp) = r3;
    0x0000d082 movs r3, 0xa9                                         |     r3 = 0xa9;
    0x0000d084 blx 0x6008                                            |     fcn_00006008 ();
    0x0000d086 vsubhn.i16 d20, q0, q2                                |     __asm ("vsubhn.i16 d20, q0, q2");
    0x0000d08a b 0xcf74                                              |     goto label_24;
                                                                     | label_54:
    0x0000d08c blx 0x60c0                                            |     fcn_000060c0 ();
                                                                     |     if (r2 == 0) {
                                                                     | label_56:
    0x0000d090 cbz r2, 0xd0b4                                        |         goto label_69;
                                                                     |     }
    0x0000d092 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
                                                                     |     if (r3 == 0) {
    0x0000d094 cbz r3, 0xd0ae                                        |         goto label_70;
                                                                     |     }
    0x0000d096 mov r4, r2                                            |     r4 = r2;
    0x0000d098 mov r5, r2                                            |     r5 = r2;
                                                                     |     do {
    0x0000d09a mov r0, r4                                            |         r0 = r4;
    0x0000d09c add.w sb, sb, 1                                       |         sb++;
    0x0000d0a0 bl 0xc940                                             |         fcn_0000c940 (r0, r1);
    0x0000d0a4 ldr r3, [sp, 0x38]                                    |         r3 = var_38h;
    0x0000d0a6 adds r4, 0x30                                         |         r4 += 0x30;
    0x0000d0a8 cmp sb, r3                                            |         
    0x0000d0aa bne 0xd09a                                            |         
                                                                     |     } while (sb != r3);
    0x0000d0ac mov r2, r5                                            |     r2 = r5;
                                                                     | label_70:
    0x0000d0ae mov r0, r2                                            |     r0 = r2;
    0x0000d0b0 blx 0x59e0                                            |     unit_file_state_to_string ();
                                                                     | label_69:
    0x0000d0b4 ldr r1, [pc, 0x120]                                   |     
    0x0000d0b6 movs r2, 0x8e                                         |     r2 = 0x8e;
    0x0000d0b8 ldr r3, [pc, 0x120]                                   |     
    0x0000d0ba movs r0, 3                                            |     r0 = 3;
    0x0000d0bc add r1, pc                                            |     r1 = 0x1a298;
    0x0000d0be add r3, pc                                            |     r3 = 0x1a29e;
    0x0000d0c0 adds r1, 7                                            |     r1 += 7;
    0x0000d0c2 blx 0x6920                                            |     fcn_00006920 ();
    0x0000d0c6 str r0, [sp, 0x38]                                    |     var_38h = r0;
    0x0000d0c8 b 0xd04c                                              |     goto label_25;
                                                                     | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0xf628 */
                                                                     | #include <stdint.h>
                                                                     |  
    ; (fcn) fcn.0000f628 ()                                          | void fcn_0000f628 (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_48h;
                                                                     |     int16_t var_4ch;
                                                                     |     int16_t var_50h;
                                                                     |     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_90h;
                                                                     |     int16_t var_98h;
                                                                     |     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;
                                                                     |     int16_t var_c8h;
                                                                     |     int16_t var_d4h;
                                                                     |     r0 = arg1;
                                                                     |     r1 = arg2;
    0x0000f628 push {r3, r4, r5, lr}                                 |     
                                                                     |     if (r0 != 0) {
    0x0000f62a cbz r0, 0xf680                                        |         
                                                                     |         if (r1 == 0) {
    0x0000f62c cbz r1, 0xf696                                        |             goto label_13;
                                                                     |         }
    0x0000f62e mov r2, r0                                            |         r2 = r0;
    0x0000f630 ldrd r3, r4, [r1, 8]                                  |         __asm ("ldrd r3, r4, [r1, 8]");
    0x0000f632 adds r4, 2                                            |         r4 += 2;
    0x0000f634 ldrd r0, r1, [r1]                                     |         __asm ("ldrd r0, r1, [r1]");
    0x0000f638 adds.w lr, r3, -1                                     |         lr = r3 + -1;
    0x0000f63c adc ip, r4, -1                                        |         __asm ("adc ip, r4, -1");
    0x0000f640 cmn.w lr, 2                                           |         
    0x0000f644 adcs ip, ip, 0                                        |         __asm ("adcs ip, ip, 0");
    0x0000f646 lsrs r0, r0, 0x10                                     |         r0 >>= 0x10;
                                                                     |         if (r0 < r0) {
    0x0000f648 bhs 0xf678                                            |             
    0x0000f64a ldr r5, [r2]                                          |             r5 = *(r2);
    0x0000f64c adds r3, r3, r5                                       |             r3 += r5;
    0x0000f64e ldr r5, [r2, 4]                                       |             r5 = *((r2 + 4));
    0x0000f650 adc.w r4, r4, r5                                      |             __asm ("adc.w r4, r4, r5");
    0x0000f654 ldr r5, [r2, 8]                                       |             r5 = *((r2 + 8));
    0x0000f656 ldr r2, [r2, 0xc]                                     |             r2 = *((r2 + 0xc));
    0x0000f658 subs r3, r3, r5                                       |             r3 -= r5;
    0x0000f65a sbc.w r4, r4, r2                                      |             __asm ("sbc.w r4, r4, r2");
    0x0000f65e adds.w ip, r0, -1                                     |             
    0x0000f662 adc r2, r1, -1                                        |             __asm ("adc r2, r1, -1");
    0x0000f666 cmn.w ip, 2                                           |             
    0x0000f66a sbcs r2, r2, -1                                       |             __asm ("sbcs r2, r2, -1");
                                                                     |             if (ip >= 2) {
    0x0000f66e bhs 0xf67a                                            |                 goto label_14;
                                                                     |             }
    0x0000f670 cmp r3, r0                                            |             
    0x0000f672 sbcs.w r2, r4, r1                                     |             __asm ("sbcs.w r2, r4, r1");
                                                                     |             if (r3 <= r0) {
    0x0000f676 blo 0xf67a                                            |                 goto label_14;
                                                                     |             }
                                                                     |         }
    0x0000f678 pop {r3, r4, r5, pc}                                  |         
                                                                     | label_14:
    0x0000f67a mov r0, r3                                            |         r0 = r3;
    0x0000f67c mov r1, r4                                            |         r1 = r4;
    0x0000f67e pop {r3, r4, r5, pc}                                  |         
                                                                     |     }
    0x0000f680 ldr r1, [pc, 0x28]                                    |     
    0x0000f682 mov.w r2, 0x29c                                       |     r2 = 0x29c;
    0x0000f686 ldr r3, [pc, 0x28]                                    |     
    0x0000f688 ldr r0, [pc, 0x28]                                    |     
    0x0000f68a add r1, pc                                            |     r1 = 0x1ed3a;
    0x0000f68c add r3, pc                                            |     r3 = 0x1ed42;
    0x0000f68e adds r1, 7                                            |     r1 += 7;
    0x0000f690 add r0, pc                                            |     r0 = 0x1ed48;
    0x0000f692 blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_13:
    0x0000f696 ldr r1, [pc, 0x20]                                    |     
    0x0000f698 movw r2, 0x29d                                        |     r2 = 0x29d;
    0x0000f69c ldr r3, [pc, 0x1c]                                    |     
    0x0000f69e ldr r0, [pc, 0x20]                                    |     
    0x0000f6a0 add r1, pc                                            |     r1 = 0x1ed5e;
    0x0000f6a2 add r3, pc                                            |     r3 = 0x1ed62;
    0x0000f6a4 adds r1, 7                                            |     r1 += 7;
    0x0000f6a6 add r0, pc                                            |     r0 = 0x1ed6c;
    0x0000f6a8 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000f6ac movs r2, 0x42                                         |     r2 = 0x42;
    0x0000f6ae movs r1, r0                                           |     r1 = r0;
    0x0000f6b0 cmp r0, 0x60                                          |     
    0x0000f6b2 movs r1, r0                                           |     r1 = r0;
    0x0000f6b4 movs r6, 0x88                                         |     r6 = 0x88;
    0x0000f6b6 movs r1, r0                                           |     r1 = r0;
    0x0000f6b8 movs r2, 0x2c                                         |     r2 = 0x2c;
    0x0000f6ba movs r1, r0                                           |     r1 = r0;
    0x0000f6bc cmp r0, 0x4a                                          |     
    0x0000f6be movs r1, r0                                           |     r1 = r0;
    0x0000f6c0 movs r6, 0x76                                         |     r6 = 0x76;
    0x0000f6c2 movs r1, r0                                           |     r1 = r0;
    0x0000f6c4 ldr.w r2, [pc, 0x708]                                 |     
    0x0000f6c8 ldr.w r3, [pc, 0x708]                                 |     r3 = *(0xfdd4);
    0x0000f6cc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000f6d0 movs r5, 0                                            |     r5 = 0;
    0x0000f6d2 add r2, pc                                            |     r2 = 0x1f4a6;
    0x0000f6d4 vpush {d8, d9}                                        |     __asm ("vpush {d8, d9}");
    0x0000f6d8 sub sp, 0xdc                                          |     
    0x0000f6da mov r7, r0                                            |     r7 = r0;
    0x0000f6dc ldr r3, [r2, r3]                                      |     
    0x0000f6de mov r6, r1                                            |     r6 = r1;
    0x0000f6e0 ldr.w fp, [pc, 0x6f4]                                 |     
    0x0000f6e4 movs r0, 1                                            |     r0 = 1;
    0x0000f6e6 add r1, sp, 0x80                                      |     r1 += var_80h;
    0x0000f6e8 ldr r3, [r3]                                          |     r3 = *(0x1f4a6);
    0x0000f6ea str r3, [sp, 0xd4]                                    |     var_d4h = r3;
    0x0000f6ec mov.w r3, 0                                           |     r3 = 0;
    0x0000f6f0 strd r5, r5, [sp, 0x6c]                               |     __asm ("strd r5, r5, [var_6ch]");
    0x0000f6f4 strd r5, r5, [sp, 0x74]                               |     __asm ("strd r5, r5, [var_78h]");
    0x0000f6f6 strb r5, [r3, r4]                                     |     *((r3 + r4)) = r5;
    0x0000f6f8 add fp, pc                                            |     fp = 0x1f4d4;
    0x0000f6fa str r5, [sp, 0x7c]                                    |     var_7ch = r5;
    0x0000f6fc bl 0x1ab9c                                            |     r0 = fcn_0001ab9c (r0, r1);
    0x0000f700 subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000f702 blt.w 0xf928                                          |         goto label_15;
                                                                     |     }
    0x0000f706 ldr.w r3, [pc, 0x6d4]                                 |     r3 = *(0xfdde);
    0x0000f70a ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000f70e ldr r0, [r3]                                          |     r0 = *(0xfdde);
    0x0000f710 blx 0x67f0                                            |     getenv (r0);
    0x0000f714 movs r1, 1                                            |     r1 = 1;
    0x0000f716 mov r0, r6                                            |     r0 = r6;
    0x0000f718 ldr r4, [sp, 0x80]                                    |     r4 = var_80h;
    0x0000f71a blx 0x5f9c                                            |     fcn_00005f9c ();
    0x0000f71e ldr.w r2, [pc, 0x6c0]                                 |     
    0x0000f722 mov r1, r0                                            |     r1 = r0;
    0x0000f724 add r3, sp, 0x74                                      |     r3 += var_74h;
    0x0000f726 mov r0, r4                                            |     r0 = r4;
    0x0000f728 str r5, [sp]                                          |     *(sp) = r5;
    0x0000f72a add r2, pc                                            |     r2 = 0x1f510;
    0x0000f72c bl 0x1c234                                            |     r0 = fcn_0001c234 (r0, r1, r2, r3, r4, r5, r6);
    0x0000f730 subs r4, r0, 0                                        |     r4 = r0 - 0;
                                                                     |     if (r4 < r0) {
    0x0000f732 blt.w 0xf928                                          |         goto label_15;
                                                                     |     }
    0x0000f736 cmp r7, 1                                             |     
    0x0000f738 ldr r1, [sp, 0x74]                                    |     r1 = var_74h;
                                                                     |     if (r7 != 1) {
    0x0000f73a beq 0xf742                                            |         
    0x0000f73c cmp r1, 0                                             |         
                                                                     |         if (r1 == 0) {
    0x0000f73e beq.w 0xf9b0                                          |             goto label_16;
                                                                     |         }
                                                                     |     }
    0x0000f742 add r2, sp, 0x70                                      |     r2 += var_70h;
    0x0000f744 ldr r0, [sp, 0x80]                                    |     r0 = var_80h;
    0x0000f746 str r2, [sp]                                          |     *(sp) = r2;
    0x0000f748 add r3, sp, 0x6c                                      |     r3 += var_6ch;
    0x0000f74a add r2, sp, 0x7c                                      |     r2 += var_7ch;
    0x0000f74c bl 0xe1dc                                             |     r0 = fcn_0000e1dc (r0, r1, r2, r3, r4);
    0x0000f750 subs.w sb, r0, 0                                      |     sb = r0 - 0;
                                                                     |     if (sb < r0) {
    0x0000f754 blt.w 0xf982                                          |         goto label_17;
                                                                     |     }
    0x0000f758 add r3, sp, 0xa0                                      |     r3 += var_a0h;
    0x0000f75a mov r0, r3                                            |     r0 = r3;
    0x0000f75c str r3, [sp, 0x5c]                                    |     var_5ch = r3;
    0x0000f75e blx 0x5e1c                                            |     fcn_00005e1c ();
    0x0000f762 ldr.w sl, [sp, 0x7c]                                  |     sl = var_7ch;
    0x0000f766 movs r3, 0x2c                                         |     r3 = 0x2c;
    0x0000f768 mla r3, r3, sb, sl                                    |     __asm ("mla r3, r3, sb, sl");
    0x0000f76c cmp sl, r3                                            |     
                                                                     |     if (sl >= r3) {
    0x0000f76e bhs.w 0xf9b0                                          |         goto label_16;
                                                                     |     }
    0x0000f770 strh r7, [r3, 8]                                      |     *((r3 + 8)) = r7;
    0x0000f772 ldr.w r2, [pc, 0x670]                                 |     
    0x0000f776 mov r7, sl                                            |     r7 = sl;
    0x0000f778 vmov.i32 d9, 0                                        |     __asm ("vmov.i32 d9, 0");
    0x0000f77c add r6, sp, 0xb0                                      |     r6 += var_b0h;
    0x0000f77e str.w sl, [sp, 0x60]                                  |     __asm ("str.w sl, [var_60h]");
    0x0000f782 add r2, pc                                            |     r2 = 0x1f56c;
    0x0000f784 str r3, [sp, 0x58]                                    |     var_58h = r3;
    0x0000f786 str r2, [sp, 0x50]                                    |     var_50h = r2;
    0x0000f788 ldr.w r2, [pc, 0x65c]                                 |     
    0x0000f78c str.w fp, [sp, 0x64]                                  |     __asm ("str.w fp, [var_64h]");
    0x0000f790 add r2, pc                                            |     r2 = 0x1f57c;
    0x0000f792 str r2, [sp, 0x48]                                    |     var_48h = r2;
    0x0000f794 movs r2, 0                                            |     r2 = 0;
    0x0000f796 str r2, [sp, 0x4c]                                    |     var_4ch = r2;
                                                                     |     do {
    0x0000f798 movs r5, 0                                            |         r5 = 0;
    0x0000f79a vstr d9, [sp, 0x88]                                   |         __asm ("vstr d9, [sp, 0x88]");
    0x0000f79e str r5, [sp, 0x84]                                    |         var_84h = r5;
    0x0000f7a0 ldr r0, [r7, 4]                                       |         r0 = *((r7 + 4));
    0x0000f7a2 ldr r1, [sp, 0x50]                                    |         r1 = var_50h;
    0x0000f7a4 strd r5, r5, [r6]                                     |         __asm ("strd r5, r5, [r6]");
    0x0000f7a8 strd r5, r5, [r6, 8]                                  |         __asm ("strd r5, r5, [var_8h_2]");
    0x0000f7ac blx 0x5d68                                            |         r0 = fcn_00005d68 ();
    0x0000f7b0 cmp r0, 0                                             |         
                                                                     |         if (r0 != 0) {
    0x0000f7b2 beq.w 0xf8c8                                          |             
    0x0000f7b6 ldr r1, [r7, 0x1c]                                    |             r1 = *((r7 + 0x1c));
    0x0000f7b8 add r2, sp, 0x84                                      |             r2 += var_84h;
    0x0000f7ba ldr r0, [sp, 0x80]                                    |             r0 = var_80h;
    0x0000f7bc bl 0xe0c4                                             |             r0 = fcn_0000e0c4 (r0, r1);
    0x0000f7c0 cmp r0, 0                                             |             
                                                                     |             if (r0 < 0) {
    0x0000f7c2 blt.w 0xfd6e                                          |                 goto label_18;
                                                                     |             }
    0x0000f7c6 vmov.i32 d8, 0                                        |             __asm ("vmov.i32 d8, 0");
    0x0000f7ca ldr.w r8, [sp, 0x80]                                  |             r8 = var_80h;
    0x0000f7ce ldr r2, [r7, 0x1c]                                    |             r2 = *((r7 + 0x1c));
    0x0000f7d0 str r5, [sp, 0x98]                                    |             var_98h = r5;
    0x0000f7d2 vstr d8, [sp, 0x90]                                   |             __asm ("vstr d8, [sp, 0x90]");
    0x0000f7d6 cmp.w r8, 0                                           |             
                                                                     |             if (r8 == 0) {
    0x0000f7da beq.w 0xfc1c                                          |                 goto label_19;
                                                                     |             }
    0x0000f7de cmp r2, 0                                             |             
                                                                     |             if (r2 == 0) {
    0x0000f7e0 beq.w 0xfc32                                          |                 goto label_20;
                                                                     |             }
    0x0000f7e4 ldr.w r3, [pc, 0x604]                                 |             
    0x0000f7e8 mov.w fp, 0x74                                        |             
    0x0000f7ea lsrs r4, r6, 0xd                                      |             r4 = r6 >> 0xd;
    0x0000f7ec ldr.w sl, [pc, 0x600]                                 |             
    0x0000f7f0 add.w sb, sp, 0x90                                    |             sb += var_90h;
    0x0000f7f4 mov r0, r8                                            |             r0 = r8;
    0x0000f7f6 str.w fp, [sp, 8]                                     |             __asm ("str.w fp, [var_8h]");
    0x0000f7fa add r3, pc                                            |             r3 = 0x1f5ea;
    0x0000f7fc str.w sb, [sp, 4]                                     |             __asm ("str.w sb, [var_4h]");
    0x0000f800 str r3, [sp]                                          |             *(sp) = r3;
    0x0000f802 add sl, pc                                            |             sl = 0x1f5f6;
    0x0000f804 add r3, sp, 0xc8                                      |             r3 += var_c8h;
    0x0000f806 mov r1, sl                                            |             r1 = sl;
    0x0000f808 str r3, [sp, 0xc]                                     |             var_ch = r3;
    0x0000f80a add r4, sp, 0xc0                                      |             r4 += var_c0h;
    0x0000f80c ldr r3, [sp, 0x48]                                    |             r3 = var_48h;
    0x0000f80e str r2, [sp, 0x54]                                    |             var_54h = r2;
    0x0000f810 blx 0x65b8                                            |             r0 = fcn_000065b8 ();
    0x0000f814 subs r1, r0, 0                                        |             r1 = r0 - 0;
    0x0000f816 ldr r2, [sp, 0x54]                                    |             r2 = var_54h;
                                                                     |             if (r1 < r0) {
    0x0000f818 blt.w 0xfb2c                                          |                 goto label_21;
                                                                     |             }
    0x0000f81c ldr.w r3, [pc, 0x5d4]                                 |             
    0x0000f820 mov r0, r8                                            |             r0 = r8;
    0x0000f822 mov r1, sl                                            |             r1 = sl;
    0x0000f824 strd fp, r4, [sp, 8]                                  |             __asm ("strd fp, r4, [var_8h]");
    0x0000f828 str.w sb, [sp, 4]                                     |             __asm ("str.w sb, [var_4h]");
    0x0000f82c add r3, pc                                            |             r3 = 0x1f624;
    0x0000f82e str r3, [sp]                                          |             *(sp) = r3;
    0x0000f830 ldr r3, [sp, 0x48]                                    |             r3 = var_48h;
    0x0000f832 blx 0x65b8                                            |             r0 = fcn_000065b8 ();
    0x0000f836 subs.w r8, r0, 0                                      |             r8 = r0 - 0;
                                                                     |             if (r8 < r0) {
    0x0000f83a blt.w 0xfba8                                          |                 goto label_22;
                                                                     |             }
    0x0000f83e ldm.w r4, {r0, r1, r2, r3}                            |             r0 = *(r4);
                                                                     |             r1 = *((r4 + 4));
                                                                     |             r2 = *((r4 + 8));
                                                                     |             r3 = *((r4 + 12));
    0x0000f842 stm.w r6, {r0, r1, r2, r3}                            |             *(r6) = r0;
                                                                     |             *((r6 + 4)) = r1;
                                                                     |             *((r6 + 8)) = r2;
                                                                     |             *((r6 + 12)) = r3;
    0x0000f844 movs r7, r1                                           |             r7 = r1;
    0x0000f846 mov r0, sb                                            |             r0 = sb;
    0x0000f848 blx 0x5f0c                                            |             fcn_00005f0c ();
    0x0000f84c ldr r0, [sp, 0x80]                                    |             r0 = var_80h;
    0x0000f84e ldr r2, [r7, 0x1c]                                    |             r2 = *((r7 + 0x1c));
    0x0000f850 str r5, [sp, 0xc8]                                    |             var_c8h = r5;
    0x0000f852 vstr d8, [sp, 0xc0]                                   |             __asm ("vstr d8, [sp, 0xc0]");
    0x0000f856 cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000f858 beq.w 0xfcbc                                          |                 goto label_23;
                                                                     |             }
    0x0000f85a strh r0, [r6, 0x10]                                   |             *((r6 + 0x10)) = r0;
    0x0000f85c cmp r2, 0                                             |             
                                                                     |             if (r2 == 0) {
    0x0000f85e beq.w 0xfd06                                          |                 goto label_24;
                                                                     |             }
    0x0000f862 ldr.w r3, [pc, 0x594]                                 |             
    0x0000f866 mov r1, sl                                            |             r1 = sl;
    0x0000f868 str.w fp, [sp, 8]                                     |             __asm ("str.w fp, [var_8h]");
    0x0000f86c str r4, [sp, 4]                                       |             var_4h = r4;
    0x0000f86e add r3, pc                                            |             r3 = 0x1f66c;
    0x0000f870 str r3, [sp]                                          |             *(sp) = r3;
    0x0000f872 add r3, sp, 0x88                                      |             r3 += var_88h;
    0x0000f874 str r3, [sp, 0xc]                                     |             var_ch = r3;
    0x0000f876 ldr r3, [sp, 0x48]                                    |             r3 = var_48h;
    0x0000f878 blx 0x65b8                                            |             r0 = fcn_000065b8 ();
    0x0000f87c subs r5, r0, 0                                        |             r5 = r0 - 0;
                                                                     |             if (r5 < r0) {
    0x0000f87e blt.w 0xfb74                                          |                 goto label_25;
                                                                     |             }
                                                                     | label_4:
    0x0000f882 mov r0, r4                                            |             r0 = r4;
    0x0000f884 blx 0x5f0c                                            |             fcn_00005f0c ();
    0x0000f888 ldr r3, [sp, 0x4c]                                    |             r3 = var_4ch;
    0x0000f88a movs r2, 0x20                                         |             r2 = 0x20;
    0x0000f88c add r0, sp, 0x78                                      |             r0 += var_78h;
    0x0000f88e adds r4, r3, 1                                        |             r4 = r3 + 1;
    0x0000f890 mov r1, r4                                            |             r1 = r4;
    0x0000f892 lsl.w r8, r3, 5                                       |             r8 = r3 << 5;
    0x0000f896 blx 0x6078                                            |             r0 = fcn_00006078 ();
    0x0000f89a cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000f89c beq.w 0xfd94                                          |                 goto label_26;
                                                                     |             }
    0x0000f8a0 ldr r0, [sp, 0x5c]                                    |             r0 = var_5ch;
    0x0000f8a2 mov r1, r6                                            |             r1 = r6;
    0x0000f8a4 str r4, [sp, 0x4c]                                    |             var_4ch = r4;
    0x0000f8a6 movs r4, 0                                            |             r4 = 0;
    0x0000f8a8 bl 0xf628                                             |             fcn_0000f628 (r0, r1, r2);
    0x0000f8ac ldr r3, [sp, 0x78]                                    |             r3 = var_78h;
    0x0000f8ae vld1.32 {d16}, [r7]                                   |             __asm ("vld1.32 {d16}, [r7]");
    0x0000f8b2 ldr r2, [sp, 0x84]                                    |             r2 = var_84h;
    0x0000f8b4 add r3, r8                                            |             r3 += r8;
    0x0000f8b6 strd r0, r1, [r3, 8]                                  |             __asm ("strd r0, r1, [r3, 8]");
    0x0000f8ba ldrd r0, r1, [sp, 0x88]                               |             __asm ("ldrd r0, r1, [var_88h]");
    0x0000f8be str r2, [r3, 0x18]                                    |             *((r3 + 0x18)) = r2;
    0x0000f8c0 vstr d16, [r3]                                        |             __asm ("vstr d16, [r3]");
    0x0000f8c4 strd r0, r1, [r3, 0x10]                               |             __asm ("strd r0, r1, [r3, 0x10]");
                                                                     |         }
    0x0000f8c8 ldr r3, [sp, 0x58]                                    |         r3 = var_58h;
    0x0000f8ca adds r7, 0x2c                                         |         r7 += 0x2c;
    0x0000f8cc cmp r7, r3                                            |         
    0x0000f8ce blo.w 0xf798                                          |         
                                                                     |     } while (r7 <= r3);
    0x0000f8d2 ldr r3, [sp, 0x4c]                                    |     r3 = var_4ch;
    0x0000f8d4 ldr.w fp, [sp, 0x64]                                  |     fp = var_64h;
    0x0000f8d8 ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f8da cmp r3, 1                                             |     
    0x0000f8dc str r3, [sp, 0x50]                                    |     var_50h = r3;
                                                                     |     if (r3 > 1) {
    0x0000f8de ble 0xf8f6                                            |         
    0x0000f8e0 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000f8e2 beq.w 0xfdb8                                          |             goto label_27;
                                                                     |         }
    0x0000f8e6 ldr.w r3, [pc, 0x514]                                 |         r3 = *(0x0000fdfc);
    0x0000f8ea movs r2, 0x20                                         |         r2 = 0x20;
    0x0000f8ec ldr r1, [sp, 0x4c]                                    |         r1 = var_4ch;
    0x0000f8ee add r3, pc                                            |         r3 += pc;
    0x0000f8f0 blx 0x5a58                                            |         unit_name_to_type ();
    0x0000f8f4 ldr r0, [sp, 0x78]                                    |         r0 = var_78h;
                                                                     |     }
    0x0000f8f6 ldr r2, [sp, 0x4c]                                    |     r2 = var_4ch;
    0x0000f8f8 clz r3, r0                                            |     r3 &= r0;
    0x0000f8fc lsrs r3, r3, 5                                        |     r3 >>= 5;
    0x0000f8fe mov r5, r0                                            |     r5 = r0;
    0x0000f900 cmp r2, 0                                             |     
    0x0000f902 it eq                                                 |     
                                                                     |     if (r2 != 0) {
    0x0000f904 moveq r3, 0                                           |         r3 = 0;
                                                                     |     }
    0x0000f906 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000f908 beq.w 0xfdb0                                          |         goto label_28;
                                                                     |     }
    0x0000f90c ldr.w r1, [pc, 0x4f0]                                 |     
    0x0000f910 movw r2, 0x25d                                        |     r2 = 0x25d;
    0x0000f914 ldr.w r3, [pc, 0x4ec]                                 |     
    0x0000f916 adds r4, 0xec                                         |     r4 += 0xec;
    0x0000f918 ldr.w r0, [pc, 0x4ec]                                 |     
    0x0000f91c add r1, pc                                            |     r1 = 0x1f720;
    0x0000f91e add r3, pc                                            |     r3 = 0x1f726;
    0x0000f920 adds r1, 7                                            |     r1 += 7;
    0x0000f922 add r0, pc                                            |     r0 = 0x1f72e;
    0x0000f924 blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_15:
    0x0000f928 ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f92a blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000f92c invalid                                               |     
    0x0000f930 movs r3, 0                                            |     r3 = 0;
    0x0000f932 str r3, [sp, 0x78]                                    |     var_78h = r3;
                                                                     |     if (r0 != 0) {
    0x0000f934 cbz r0, 0xf93c                                        |         
    0x0000f936 blx 0x67b4                                            |         mktime (r0);
    0x0000f93a str r0, [sp, 0x74]                                    |         var_74h = r0;
                                                                     |     }
    0x0000f93c movs r5, 0                                            |     r5 = 0;
    0x0000f93e b 0xf944                                              |     
                                                                     |     while (r0 != 0) {
    0x0000f940 blx 0x62ac                                            |         fcn_000062ac ();
                                                                     | label_0:
    0x0000f944 movs r2, 0                                            |         r2 = 0;
    0x0000f946 movs r1, 1                                            |         r1 = 1;
    0x0000f948 mov r0, r5                                            |         r0 = r5;
    0x0000f94a blx 0x5994                                            |         fcn_00005994 ();
    0x0000f94c invalid                                               |         
    0x0000f950 cmp r0, 0                                             |         
    0x0000f952 bne 0xf940                                            |         
                                                                     |     }
    0x0000f954 mov r1, r0                                            |     r1 = r0;
    0x0000f956 mov r0, r5                                            |     r0 = r5;
    0x0000f958 blx 0x60e4                                            |     fcn_000060e4 ();
    0x0000f95c ldr.w r2, [pc, 0x4ac]                                 |     
    0x0000f960 ldr.w r3, [pc, 0x470]                                 |     r3 = *(0xfdd4);
    0x0000f962 adds r4, 0x70                                         |     r4 += 0x70;
    0x0000f964 add r2, pc                                            |     r2 = 0x1f774;
    0x0000f966 ldr r3, [r2, r3]                                      |     r3 = *(0x1f774);
    0x0000f968 ldr r2, [r3]                                          |     r2 = *(0x1f774);
    0x0000f96a ldr r3, [sp, 0xd4]                                    |     r3 = var_d4h;
    0x0000f96c eors r2, r3                                           |     r2 ^= r3;
    0x0000f96e mov.w r3, 0                                           |     r3 = 0;
                                                                     |     if (r2 != r3) {
    0x0000f972 bne.w 0xfdcc                                          |         goto label_29;
                                                                     |     }
    0x0000f976 mov r0, r4                                            |     r0 = r4;
    0x0000f978 add sp, 0xdc                                          |     
    0x0000f97a vpop {d8, d9}                                         |     __asm ("vpop {d8, d9}");
    0x0000f97e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |     
                                                                     | label_17:
    0x0000f982 ldr.w sl, [sp, 0x7c]                                  |     sl = var_7ch;
    0x0000f986 ldrd r5, r6, [sp, 0x6c]                               |     __asm ("ldrd r5, r6, [var_6ch]");
    0x0000f988 ldrsb r3, [r3, r0]                                    |     r3 = *((r3 + r0));
                                                                     | label_1:
    0x0000f98a mov r0, sl                                            |     r0 = sl;
    0x0000f98c blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000f990 ldr r0, [sp, 0x78]                                    |     r0 = var_78h;
    0x0000f992 blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000f996 ldr r0, [sp, 0x74]                                    |     r0 = var_74h;
    0x0000f998 movs r3, 0                                            |     r3 = 0;
    0x0000f99a str r3, [sp, 0x78]                                    |     var_78h = r3;
                                                                     |     if (r0 != 0) {
    0x0000f99c cbz r0, 0xf9a4                                        |         
    0x0000f99e blx 0x67b4                                            |         mktime (r0);
    0x0000f9a2 str r0, [sp, 0x74]                                    |         var_74h = r0;
                                                                     |     }
                                                                     |     if (r6 != 0) {
    0x0000f9a4 cbz r6, 0xf9ac                                        |         
    0x0000f9a6 mov r0, r6                                            |         r0 = r6;
    0x0000f9a8 blx 0x67b4                                            |         mktime (r0);
                                                                     |     }
    0x0000f9ac mov r4, sb                                            |     r4 = sb;
    0x0000f9ae b 0xf944                                              |     goto label_0;
                                                                     | label_16:
    0x0000f9b0 ldr r5, [sp, 0x78]                                    |     r5 = var_78h;
    0x0000f9b2 mov.w r8, 0                                           |     r8 = 0;
    0x0000f9b4 lsrs r0, r0, 0x20                                     |     r0 >>= 0x20;
    0x0000f9b6 str.w r8, [sp, 0x50]                                  |     __asm ("str.w r8, [var_50h]");
                                                                     | label_11:
    0x0000f9ba ldr.w r3, [pc, 0x454]                                 |     
    0x0000f9be movs r6, 0                                            |     r6 = 0;
    0x0000f9c0 ldr.w r2, [pc, 0x450]                                 |     
    0x0000f9c4 ldr.w r1, [pc, 0x450]                                 |     
    0x0000f9c8 add r3, pc                                            |     r3 = 0x1f7de;
    0x0000f9ca ldr.w r0, [pc, 0x450]                                 |     
    0x0000f9ce str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000f9d0 add r2, pc                                            |     r2 = 0x1f7e8;
    0x0000f9d2 ldr.w r3, [pc, 0x44c]                                 |     
    0x0000f9d6 add r1, pc                                            |     r1 = 0x1f7f2;
    0x0000f9d8 add r0, pc                                            |     r0 = 0x1f7fa;
    0x0000f9da str r6, [sp, 8]                                       |     var_8h = r6;
    0x0000f9dc add r3, pc                                            |     r3 = 0x1f802;
    0x0000f9de str r3, [sp]                                          |     *(sp) = r3;
    0x0000f9e0 ldr.w r3, [pc, 0x440]                                 |     
    0x0000f9e4 add r3, pc                                            |     r3 = 0x1f80c;
    0x0000f9e6 blx 0x5fd8                                            |     r0 = fcn_00005fd8 ();
    0x0000f9ea mov sl, r0                                            |     sl = r0;
    0x0000f9ec cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000f9ee beq.w 0xfd1c                                          |         goto label_30;
                                                                     |     }
    0x0000f9f2 ldr.w r3, [pc, 0x434]                                 |     r3 = *(0xfe2a);
    0x0000f9f6 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000f9fa ldr r1, [r3]                                          |     r1 = *(0xfe2a);
    0x0000f9fc str r3, [sp, 0x58]                                    |     var_58h = r3;
    0x0000f9fe subs r1, 0                                            |     
    0x0000fa00 it ne                                                 |     
                                                                     |     if (r1 == 0) {
    0x0000fa02 movne r1, 1                                           |         r1 = 1;
                                                                     |     }
    0x0000fa04 blx 0x5db0                                            |     fcn_00005db0 ();
    0x0000fa08 ldr.w r3, [pc, 0x420]                                 |     r3 = *(0xfe2c);
    0x0000fa0a adds r4, 0x20                                         |     r4 += 0x20;
    0x0000fa0c ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000fa10 ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000fa12 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000fa14 bne.w 0xfc48                                          |         goto label_31;
                                                                     |     }
    0x0000fa16 strh r0, [r3, 8]                                      |     *((r3 + 8)) = r0;
                                                                     | label_6:
    0x0000fa18 ldr r3, [sp, 0x50]                                    |     r3 = var_50h;
    0x0000fa1a mov r0, sl                                            |     r0 = sl;
    0x0000fa1c ldr.w r1, [pc, 0x410]                                 |     
    0x0000fa20 add.w r3, r5, r3, lsl 5                               |     r3 = r5 + (r3 << 5);
    0x0000fa24 add r1, pc                                            |     r1 = 0x1f858;
    0x0000fa26 mov r6, r3                                            |     r6 = r3;
    0x0000fa28 blx 0x6108                                            |     fcn_00006108 ();
    0x0000fa2c cmp r5, r6                                            |     
                                                                     |     if (r5 >= r6) {
    0x0000fa2e bhs.w 0xfc5c                                          |         goto label_32;
                                                                     |     }
    0x0000fa32 ldr.w r2, [pc, 0x400]                                 |     
    0x0000fa36 mov sb, r6                                            |     sb = r6;
    0x0000fa38 str.w r8, [sp, 0x4c]                                  |     __asm ("str.w r8, [var_4ch]");
    0x0000fa3c str r4, [sp, 0x54]                                    |     var_54h = r4;
    0x0000fa3e add r2, pc                                            |     r2 = 0x1f878;
    0x0000fa40 str.w fp, [sp, 0x5c]                                  |     __asm ("str.w fp, [var_5ch]");
    0x0000fa44 str r2, [sp, 0x48]                                    |     var_48h = r2;
    0x0000fa46 ldr r2, [pc, 0x3f0]                                   |     
    0x0000fa48 add r2, pc                                            |     r2 = 0x1f886;
    0x0000fa4a mov r8, r2                                            |     r8 = r2;
    0x0000fa4c b 0xfaa8                                              |     
                                                                     |     while (r0 != 0) {
    0x0000fa4e ldrd r2, r3, [r5, 8]                                  |         __asm ("ldrd r2, r3, [r5, 8]");
    0x0000fa52 mov.w lr, 1                                           |         lr = 1;
    0x0000fa56 vldr d16, [r5, 0x10]                                  |         __asm ("vldr d16, [r5, 0x10]");
    0x0000fa5a mov.w ip, 9                                           |         
    0x0000fa5e movs r1, 7                                            |         r1 = 7;
    0x0000fa60 mov.w fp, 0x24                                        |         
    0x0000fa64 mov r0, sl                                            |         r0 = sl;
    0x0000fa66 str.w fp, [sp, 0x40]                                  |         __asm ("str.w fp, [var_40h]");
    0x0000fa6a str r7, [sp, 0x34]                                    |         var_34h = r7;
    0x0000fa6c str r1, [sp, 0x10]                                    |         var_10h = r1;
    0x0000fa6e strd lr, r6, [sp, 0x38]                               |         __asm ("strd lr, r6, [var_38h]");
    0x0000fa72 str.w lr, [sp, 0x30]                                  |         __asm ("str.w lr, [var_30h]");
    0x0000fa76 vstr d16, [sp, 0x28]                                  |         __asm ("vstr d16, [sp, 0x28]");
    0x0000fa7a vstr d16, [sp, 0x18]                                  |         __asm ("vstr d16, [sp, 0x18]");
    0x0000fa7e str.w ip, [sp, 0x20]                                  |         __asm ("str.w ip, [var_20h]");
    0x0000fa82 str.w ip, [sp]                                        |         __asm ("str.w ip, [sp]");
    0x0000fa86 strd r2, r3, [sp, 8]                                  |         __asm ("strd r2, r3, [var_8h]");
    0x0000fa8a blx 0x60b4                                            |         r0 = fcn_000060b4 ();
    0x0000fa8e cmp r0, 0                                             |         
                                                                     |         if (r0 < 0) {
    0x0000fa90 blt.w 0xfcd2                                          |             goto label_33;
                                                                     |         }
    0x0000fa94 mov r0, r6                                            |         r0 = r6;
    0x0000fa96 adds r5, 0x20                                         |         r5 += 0x20;
    0x0000fa98 blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000fa9c mov r0, r4                                            |         r0 = r4;
    0x0000fa9e blx 0x59e0                                            |         unit_file_state_to_string ();
    0x0000faa2 cmp sb, r5                                            |         
                                                                     |         if (sb < r5) {
    0x0000faa4 bls.w 0xfc52                                          |             goto label_34;
                                                                     |         }
    0x0000faa8 ldrd r4, r7, [r5]                                     |         __asm ("ldrd r4, r7, [r5]");
                                                                     |         if (r4 != 0) {
    0x0000faac cbz r4, 0xfac4                                        |             
    0x0000faae mov r2, r7                                            |             r2 = r7;
    0x0000fab0 ldr r1, [sp, 0x48]                                    |             r1 = var_48h;
    0x0000fab2 mov r0, r4                                            |             r0 = r4;
    0x0000fab4 movs r3, 0                                            |             r3 = 0;
    0x0000fab6 blx 0x63d8                                            |             r0 = fcn_000063d8 ();
    0x0000faba mov r7, r0                                            |             r7 = r0;
    0x0000fabc cmp r0, 0                                             |             
                                                                     |             if (r0 == 0) {
    0x0000fabe beq.w 0xfd38                                          |                 goto label_35;
                                                                     |             }
    0x0000fac2 mov r4, r0                                            |             r4 = r0;
                                                                     |         }
    0x0000fac4 movs r3, 0                                            |         r3 = 0;
    0x0000fac6 ldr r0, [r5, 0x18]                                    |         r0 = *((r5 + 0x18));
    0x0000fac8 mov r2, r3                                            |         r2 = r3;
    0x0000faca mov r1, r8                                            |         r1 = r8;
    0x0000facc blx 0x5b3c                                            |         r0 = bus_log_connect_error ();
    0x0000fad0 mov r6, r0                                            |         r6 = r0;
    0x0000fad2 cmp r0, 0                                             |         
    0x0000fad4 bne 0xfa4e                                            |         
                                                                     |     }
    0x0000fad6 ldr r1, [pc, 0x364]                                   |     
    0x0000fad8 movw r2, 0x277                                        |     r2 = 0x277;
    0x0000fadc ldr r3, [pc, 0x360]                                   |     
    0x0000fade movs r0, 3                                            |     r0 = 3;
    0x0000fae0 mov sb, r4                                            |     sb = r4;
    0x0000fae2 ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0000fae6 add r1, pc                                            |     r1 = 0x1f928;
    0x0000fae8 ldr r4, [sp, 0x54]                                    |     r4 = var_54h;
    0x0000faea adds r1, 7                                            |     r1 += 7;
    0x0000faec add r3, pc                                            |     r3 = 0x1f930;
    0x0000faee blx 0x6920                                            |     fcn_00006920 ();
                                                                     | label_8:
    0x0000faf2 mov r0, r6                                            |     r0 = r6;
    0x0000faf4 blx 0x59e0                                            |     unit_file_state_to_string ();
    0x0000faf8 mov r0, sb                                            |     r0 = sb;
    0x0000fafa blx 0x59e0                                            |     unit_file_state_to_string ();
                                                                     | label_7:
    0x0000fafe mov r0, sl                                            |     r0 = sl;
    0x0000fb00 mov sb, r4                                            |     sb = r4;
    0x0000fb02 blx 0x6270                                            |     fcn_00006270 ();
    0x0000fb06 ldr.w sl, [sp, 0x7c]                                  |     sl = var_7ch;
                                                                     | label_2:
    0x0000fb0a ldr r4, [sp, 0x78]                                    |     r4 = var_78h;
    0x0000fb0c ldrd r5, r6, [sp, 0x6c]                               |     __asm ("ldrd r5, r6, [var_6ch]");
    0x0000fb10 add.w r3, r4, r8                                      |     r3 = r4 + r8;
    0x0000fb14 cmp r4, r3                                            |     
                                                                     |     if (r4 >= r3) {
    0x0000fb16 bhs.w 0xf98a                                          |         goto label_1;
                                                                     |     }
                                                                     |     do {
    0x0000fb1a ldr r0, [r4, 0x18]                                    |         r0 = *((r4 + 0x18));
    0x0000fb1c adds r4, 0x20                                         |         r4 += 0x20;
    0x0000fb1e blx 0x67b4                                            |         mktime (r0);
    0x0000fb22 ldr r3, [sp, 0x78]                                    |         r3 = var_78h;
    0x0000fb24 add r3, r8                                            |         r3 += r8;
    0x0000fb26 cmp r4, r3                                            |         
    0x0000fb28 blo 0xfb1a                                            |         
                                                                     |     } while (r4 <= r3);
    0x0000fb2a b 0xf98a                                              |     goto label_1;
                                                                     | label_21:
    0x0000fb2c str r1, [sp, 0x48]                                    |     var_48h = r1;
    0x0000fb2e mov r4, sb                                            |     r4 = sb;
    0x0000fb30 blx 0x5cd4                                            |     gethostname_full ();
    0x0000fb34 ldr r1, [sp, 0x48]                                    |     r1 = var_48h;
    0x0000fb36 cmp r0, 2                                             |     
    0x0000fb38 ldr.w sl, [sp, 0x60]                                  |     sl = var_60h;
    0x0000fb3c ittt le                                               |     
                                                                     |     if (r0 <= 2) {
    0x0000fb3e rsble sb, r1, 0                                       |         __asm ("rsble sb, r1, 0");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000fb42 bicle sb, sb, 0x40000000                              |         __asm ("bicle sb, sb, 0x40000000");
                                                                     |     }
                                                                     |     if (r0 <= 2) {
    0x0000fb46 rsb.w sb, sb, 0                                       |         sb -= ;
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000fb4a bgt 0xfbf2                                            |         goto label_36;
                                                                     |     }
                                                                     | label_5:
    0x0000fb4c ldr r3, [sp, 0x4c]                                    |     r3 = var_4ch;
    0x0000fb4e cmp.w sb, 0                                           |     
    0x0000fb52 mov r0, r4                                            |     r0 = r4;
    0x0000fb54 lsl.w r8, r3, 5                                       |     r8 = r3 << 5;
                                                                     |     if (sb < 0) {
    0x0000fb58 blt 0xfb6e                                            |         goto label_37;
                                                                     |     }
    0x0000fb5a mvn sb, 0x55                                          |     sb = ~0x55;
    0x0000fb5e blx 0x5f0c                                            |     fcn_00005f0c ();
                                                                     | label_3:
    0x0000fb62 ldr r0, [sp, 0x84]                                    |     r0 = var_84h;
    0x0000fb64 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000fb66 beq 0xfb0a                                            |         goto label_2;
                                                                     |     }
    0x0000fb68 blx 0x67b4                                            |     mktime (r0);
    0x0000fb6c b 0xfb0a                                              |     goto label_2;
                                                                     | label_37:
    0x0000fb6e blx 0x5f0c                                            |     fcn_00005f0c ();
    0x0000fb72 b 0xfb62                                              |     goto label_3;
                                                                     | label_25:
    0x0000fb74 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000fb78 cmp r0, 2                                             |     
                                                                     |     if (r0 <= 2) {
    0x0000fb7a ble.w 0xf882                                          |         goto label_4;
                                                                     |     }
    0x0000fb7e mov r1, r5                                            |     r1 = r5;
    0x0000fb80 mov r0, r4                                            |     r0 = r4;
    0x0000fb82 blx 0x663c                                            |     fcn_0000663c ();
    0x0000fb86 ldr r3, [pc, 0x2bc]                                   |     
    0x0000fb88 mov r1, r5                                            |     r1 = r5;
    0x0000fb8a ldr r2, [pc, 0x2bc]                                   |     
    0x0000fb8c str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000fb8e movs r0, 3                                            |     r0 = 3;
    0x0000fb90 add r3, pc                                            |     r3 = 0x1f9da;
    0x0000fb92 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000fb94 add r2, pc                                            |     r2 = 0x1f9e2;
    0x0000fb96 ldr r3, [pc, 0x2b4]                                   |     
    0x0000fb98 adds r2, 7                                            |     r2 += 7;
    0x0000fb9a add r3, pc                                            |     r3 = 0x1f9ec;
    0x0000fb9c str r3, [sp]                                          |     *(sp) = r3;
    0x0000fb9e movw r3, 0x23a                                        |     r3 = 0x23a;
    0x0000fba2 blx 0x6008                                            |     fcn_00006008 ();
    0x0000fba6 b 0xf882                                              |     goto label_4;
                                                                     | label_22:
    0x0000fba8 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000fbac cmp r0, 2                                             |     
    0x0000fbae mov r4, sb                                            |     r4 = sb;
    0x0000fbb0 it le                                                 |     
                                                                     |     if (r0 <= 2) {
    0x0000fbb2 rsble sb, r8, 0                                       |         __asm ("rsble sb, r8, 0");
                                                                     |     }
    0x0000fbb6 ldr.w sl, [sp, 0x60]                                  |     sl = var_60h;
    0x0000fbba itt le                                                |     
                                                                     |     if (r0 <= 2) {
    0x0000fbbc bicle sb, sb, 0x40000000                              |         __asm ("bicle sb, sb, 0x40000000");
                                                                     |     }
                                                                     |     if (r0 > 2) {
    0x0000fbc0 rsb.w sb, sb, 0                                       |         sb -= ;
                                                                     |         goto label_38;
                                                                     |     }
                                                                     |     if (r0 <= 2) {
                                                                     | label_38:
    0x0000fbc4 ble 0xfb4c                                            |         goto label_5;
                                                                     |     }
    0x0000fbc6 mov r1, r8                                            |     r1 = r8;
    0x0000fbc8 mov r0, r4                                            |     r0 = r4;
    0x0000fbca blx 0x663c                                            |     fcn_0000663c ();
    0x0000fbce ldr r3, [pc, 0x280]                                   |     
    0x0000fbd0 mov r1, r8                                            |     r1 = r8;
    0x0000fbd2 ldr r2, [pc, 0x280]                                   |     
    0x0000fbd4 str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000fbd6 movs r0, 3                                            |     r0 = 3;
    0x0000fbd8 add r3, pc                                            |     r3 = 0x1fa2e;
    0x0000fbda str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000fbdc add r2, pc                                            |     r2 = 0x1fa36;
    0x0000fbde ldr r3, [pc, 0x278]                                   |     
    0x0000fbe0 adds r2, 7                                            |     r2 += 7;
    0x0000fbe2 add r3, pc                                            |     r3 = 0x1fa40;
    0x0000fbe4 str r3, [sp]                                          |     *(sp) = r3;
    0x0000fbe6 movw r3, 0x21e                                        |     r3 = 0x21e;
    0x0000fbea blx 0x6008                                            |     r0 = fcn_00006008 ();
    0x0000fbee mov sb, r0                                            |     sb = r0;
    0x0000fbf0 b 0xfb4c                                              |     goto label_5;
                                                                     | label_36:
    0x0000fbf2 mov r0, r4                                            |     r0 = r4;
    0x0000fbf4 blx 0x663c                                            |     fcn_0000663c ();
    0x0000fbf8 ldr r3, [pc, 0x260]                                   |     
    0x0000fbfa ldr r2, [pc, 0x264]                                   |     
    0x0000fbfc str r0, [sp, 8]                                       |     var_8h = r0;
    0x0000fbfe movs r0, 3                                            |     r0 = 3;
    0x0000fc00 add r3, pc                                            |     r3 = 0x1fa60;
    0x0000fc02 ldr r1, [sp, 0x48]                                    |     r1 = var_48h;
    0x0000fc04 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000fc06 add r2, pc                                            |     r2 = 0x1fa6c;
    0x0000fc08 ldr r3, [pc, 0x258]                                   |     
    0x0000fc0a adds r2, 7                                            |     r2 += 7;
    0x0000fc0c add r3, pc                                            |     r3 = 0x1fa74;
    0x0000fc0e str r3, [sp]                                          |     *(sp) = r3;
    0x0000fc10 movw r3, 0x212                                        |     r3 = 0x212;
    0x0000fc14 blx 0x6008                                            |     fcn_00006008 ();
    0x0000fc16 ldrd r4, r6, [r8, 0x204]!                             |     __asm ("ldrd r4, r6, [r8, 0x204]!");
    0x0000fc1a b 0xfb4c                                              |     goto label_5;
                                                                     | label_19:
    0x0000fc1c ldr r1, [pc, 0x248]                                   |     
    0x0000fc1e mov.w r2, 0x204                                       |     r2 = 0x204;
    0x0000fc22 ldr r3, [pc, 0x248]                                   |     
    0x0000fc24 ldr r0, [pc, 0x248]                                   |     
    0x0000fc26 add r1, pc                                            |     r1 = 0x1fa92;
    0x0000fc28 add r3, pc                                            |     r3 = 0x1fa9a;
    0x0000fc2a adds r1, 7                                            |     r1 += 7;
    0x0000fc2c add r0, pc                                            |     r0 = 0x1faa0;
    0x0000fc2e blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_20:
    0x0000fc32 ldr r1, [pc, 0x240]                                   |     
    0x0000fc34 movw r2, 0x205                                        |     r2 = 0x205;
    0x0000fc36 movs r2, 5                                            |     r2 = 5;
    0x0000fc38 ldr r3, [pc, 0x23c]                                   |     
    0x0000fc3a ldr r0, [pc, 0x240]                                   |     
    0x0000fc3c add r1, pc                                            |     r1 = 0x1fab6;
    0x0000fc3e add r3, pc                                            |     r3 = 0x1faba;
    0x0000fc40 adds r1, 7                                            |     r1 += 7;
    0x0000fc42 add r0, pc                                            |     r0 = 0x1fac4;
    0x0000fc44 blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_31:
    0x0000fc48 mov r1, r6                                            |     r1 = r6;
    0x0000fc4a mov r0, sl                                            |     r0 = sl;
    0x0000fc4c blx 0x6324                                            |     fcn_00006324 ();
    0x0000fc50 b 0xfa18                                              |     goto label_6;
                                                                     | label_34:
    0x0000fc52 ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0000fc56 ldr r4, [sp, 0x54]                                    |     r4 = var_54h;
    0x0000fc58 ldr.w fp, [sp, 0x5c]                                  |     fp = var_5ch;
                                                                     | label_32:
    0x0000fc5c ldr r3, [sp, 0x50]                                    |     r3 = var_50h;
    0x0000fc5e cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000fc60 beq 0xfd58                                            |         goto label_39;
                                                                     |     }
    0x0000fc62 blx 0x5ac4                                            |     r0 = table_add_cell_full ();
    0x0000fc66 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000fc68 beq.w 0xfd7c                                          |         goto label_40;
                                                                     |     }
    0x0000fc6c ldr r5, [pc, 0x210]                                   |     
    0x0000fc6e add r5, pc                                            |     r5 = 0x1faf2;
                                                                     | label_10:
    0x0000fc70 blx 0x5ac4                                            |     r0 = table_add_cell_full ();
    0x0000fc74 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
                                                                     | label_12:
    0x0000fc76 beq.w 0xfd82                                          |         goto label_41;
                                                                     |     }
    0x0000fc7a ldr r6, [pc, 0x208]                                   |     
    0x0000fc7c add r6, pc                                            |     r6 = 0x1fb06;
                                                                     | label_9:
    0x0000fc7e mov r0, sl                                            |     r0 = sl;
    0x0000fc80 bl 0x1cab4                                            |     r0 = fcn_0001cab4 (r0);
    0x0000fc84 cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x0000fc86 blt.w 0xfafe                                          |         goto label_7;
                                                                     |     }
    0x0000fc8a ldr r3, [sp, 0x58]                                    |     r3 = var_58h;
    0x0000fc8c ldr r3, [r3]                                          |     r3 = *(r3);
    0x0000fc8e cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000fc90 beq.w 0xfafe                                          |         goto label_7;
                                                                     |     }
    0x0000fc94 ldr r1, [pc, 0x1f0]                                   |     
    0x0000fc96 mov r2, r5                                            |     r2 = r5;
    0x0000fc98 ldr r3, [sp, 0x50]                                    |     r3 = var_50h;
    0x0000fc9a movs r0, 1                                            |     r0 = 1;
    0x0000fc9c str r6, [sp]                                          |     *(sp) = r6;
    0x0000fc9e add r1, pc                                            |     r1 = 0x1fb2a;
    0x0000fca0 blx 0x68e0                                            |     touch ();
    0x0000fca4 ldr r3, [pc, 0x1e4]                                   |     r3 = *(0xfe8c);
    0x0000fca6 ldr.w r3, [fp, r3]                                    |     r3 = *((fp + r3));
    0x0000fcaa ldrb r3, [r3]                                         |     r3 = *(r3);
    0x0000fcac cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000fcae bne.w 0xfafe                                          |         goto label_7;
                                                                     |     }
    0x0000fcb2 ldr r0, [pc, 0x1dc]                                   |     
    0x0000fcb4 add r0, pc                                            |     r0 = 0x1fb4a;
    0x0000fcb6 blx 0x5bf8                                            |     fcn_00005bf8 ();
    0x0000fcba b 0xfafe                                              |     goto label_7;
                                                                     | label_23:
    0x0000fcbc ldr r1, [pc, 0x1d4]                                   |     
    0x0000fcbe mov.w r2, 0x22c                                       |     r2 = 0x22c;
    0x0000fcc2 ldr r3, [pc, 0x1d4]                                   |     
    0x0000fcc4 ldr r0, [pc, 0x1d4]                                   |     
    0x0000fcc6 add r1, pc                                            |     r1 = 0x1fb5e;
    0x0000fcc8 add r3, pc                                            |     r3 = 0x1fb66;
    0x0000fcca adds r1, 7                                            |     r1 += 7;
    0x0000fccc add r0, pc                                            |     r0 = 0x1fb6c;
    0x0000fcce blx 0x59a0                                            |     r0 = fcn_000059a0 ();
                                                                     | label_33:
    0x0000fcd2 mov r7, r0                                            |     r7 = r0;
    0x0000fcd4 mov sb, r4                                            |     sb = r4;
    0x0000fcd6 blx 0x5cd4                                            |     r0 = gethostname_full ();
    0x0000fcda cmp r0, 2                                             |     
    0x0000fcdc ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0000fce0 ldr r4, [sp, 0x54]                                    |     r4 = var_54h;
                                                                     |     if (r0 <= 2) {
    0x0000fce2 ble.w 0xfaf2                                          |         goto label_8;
                                                                     |     }
    0x0000fce4 add r7, sp, 0x18                                      |     r7 = sp + 0x18;
    0x0000fce6 ldr r3, [pc, 0x1b8]                                   |     
    0x0000fce8 mov r1, r7                                            |     r1 = r7;
    0x0000fcea ldr r2, [pc, 0x1b8]                                   |     
    0x0000fcec movs r0, 3                                            |     r0 = 3;
    0x0000fcee add r3, pc                                            |     r3 = 0x1fb94;
    0x0000fcf0 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000fcf2 add r2, pc                                            |     r2 = 0x1fb9c;
    0x0000fcf4 ldr r3, [pc, 0x1b0]                                   |     
    0x0000fcf6 adds r2, 7                                            |     r2 += 7;
    0x0000fcf8 add r3, pc                                            |     r3 = 0x1fba4;
    0x0000fcfa str r3, [sp]                                          |     *(sp) = r3;
    0x0000fcfc movw r3, 0x281                                        |     r3 = 0x281;
    0x0000fd00 blx 0x6008                                            |     fcn_00006008 ();
    0x0000fd04 b 0xfaf2                                              |     goto label_8;
                                                                     | label_24:
    0x0000fd06 ldr r1, [pc, 0x1a4]                                   |     
    0x0000fd08 movw r2, 0x22d                                        |     r2 = 0x22d;
    0x0000fd0c ldr r3, [pc, 0x1a0]                                   |     
    0x0000fd0e ldr r0, [pc, 0x1a4]                                   |     
    0x0000fd10 add r1, pc                                            |     r1 = 0x1fbc2;
    0x0000fd12 add r3, pc                                            |     r3 = 0x1fbc6;
    0x0000fd14 adds r1, 7                                            |     r1 += 7;
    0x0000fd16 add r0, pc                                            |     r0 = "reload_with_fallback";
    0x0000fd18 blx 0x59a0                                            |     fcn_000059a0 ();
                                                                     | label_30:
    0x0000fd1c ldr r1, [pc, 0x198]                                   |     
    0x0000fd1e movw r2, 0x261                                        |     r2 = 0x261;
    0x0000fd22 ldr r3, [pc, 0x198]                                   |     
    0x0000fd24 movs r0, 3                                            |     r0 = 3;
    0x0000fd26 mov sb, r4                                            |     sb = r4;
    0x0000fd28 add r1, pc                                            |     r1 = 0x1fbe4;
    0x0000fd2a add r3, pc                                            |     r3 = 0x1fbec;
    0x0000fd2c adds r1, 7                                            |     r1 += 7;
    0x0000fd2e blx 0x6920                                            |     fcn_00006920 ();
    0x0000fd32 ldr.w sl, [sp, 0x7c]                                  |     sl = var_7ch;
    0x0000fd36 b 0xfb0a                                              |     goto label_2;
                                                                     | label_35:
    0x0000fd38 ldr r1, [pc, 0x184]                                   |     
    0x0000fd3a mov r6, r0                                            |     r6 = r0;
    0x0000fd3c ldr r3, [pc, 0x184]                                   |     
    0x0000fd3e mov.w r2, 0x270                                       |     r2 = 0x270;
    0x0000fd42 movs r0, 3                                            |     r0 = 3;
    0x0000fd44 ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0000fd48 add r1, pc                                            |     r1 = 0x1fc0c;
    0x0000fd4a ldr r4, [sp, 0x54]                                    |     r4 = var_54h;
    0x0000fd4c adds r1, 7                                            |     r1 += 7;
    0x0000fd4e add r3, pc                                            |     r3 = 0x1fc16;
    0x0000fd50 mov sb, r7                                            |     sb = r7;
    0x0000fd52 blx 0x6920                                            |     fcn_00006920 ();
    0x0000fd56 b 0xfaf2                                              |     goto label_8;
                                                                     | label_39:
    0x0000fd58 blx 0x5ac4                                            |     r0 = table_add_cell_full ();
                                                                     |     if (r0 == 0) {
    0x0000fd5c cbz r0, 0xfd8e                                        |         goto label_42;
                                                                     |     }
    0x0000fd5e ldr r5, [pc, 0x168]                                   |     
    0x0000fd60 add r5, pc                                            |     r5 = 0x1fc2e;
                                                                     |     do {
    0x0000fd62 blx 0x5ac4                                            |         r0 = table_add_cell_full ();
                                                                     |         if (r0 != 0) {
    0x0000fd66 cbz r0, 0xfd88                                        |             
    0x0000fd68 ldr r6, [pc, 0x160]                                   |             
    0x0000fd6a add r6, pc                                            |             r6 = 0x1fc3a;
    0x0000fd6c b 0xfc7e                                              |             goto label_9;
                                                                     | label_18:
    0x0000fd6e ldr r3, [sp, 0x4c]                                    |             r3 = var_4ch;
    0x0000fd70 mov sb, r0                                            |             sb = r0;
    0x0000fd72 ldr.w sl, [sp, 0x60]                                  |             sl = var_60h;
    0x0000fd76 lsl.w r8, r3, 5                                       |             r8 = r3 << 5;
    0x0000fd7a b 0xfb62                                              |             goto label_3;
                                                                     | label_40:
    0x0000fd7c ldr r5, [pc, 0x150]                                   |             
    0x0000fd7e add r5, pc                                            |             r5 = 0x1fc52;
    0x0000fd80 b 0xfc70                                              |             goto label_10;
                                                                     | label_41:
    0x0000fd82 ldr r6, [pc, 0x150]                                   |             
    0x0000fd84 add r6, pc                                            |             r6 = 0x1fc5e;
    0x0000fd86 b 0xfc7e                                              |             goto label_9;
                                                                     |         }
    0x0000fd88 ldr r6, [pc, 0x14c]                                   |         
    0x0000fd8a add r6, pc                                            |         r6 = 0x1fc66;
    0x0000fd8c b 0xfc7e                                              |         goto label_9;
                                                                     | label_42:
    0x0000fd8e ldr r5, [pc, 0x14c]                                   |         
    0x0000fd90 add r5, pc                                            |         r5 = 0x1fc72;
    0x0000fd92 b 0xfd62                                              |         
                                                                     |     } while (1);
                                                                     | label_26:
    0x0000fd94 ldr r1, [pc, 0x148]                                   |     
    0x0000fd96 movw r2, 0x2e1                                        |     r2 = 0x2e1;
    0x0000fd98 movs r2, 0xe1                                         |     r2 = 0xe1;
    0x0000fd9a ldr r3, [pc, 0x148]                                   |     
    0x0000fd9c movs r0, 3                                            |     r0 = 3;
    0x0000fd9e ldr.w sl, [sp, 0x60]                                  |     sl = var_60h;
    0x0000fda2 add r1, pc                                            |     r1 = 0x1fc86;
    0x0000fda4 add r3, pc                                            |     r3 = 0x1fc8e;
    0x0000fda6 adds r1, 7                                            |     r1 += 7;
    0x0000fda8 blx 0x6920                                            |     r0 = fcn_00006920 ();
    0x0000fdac mov sb, r0                                            |     sb = r0;
    0x0000fdae b 0xfb62                                              |     goto label_3;
                                                                     | label_28:
    0x0000fdb0 ldr r3, [sp, 0x4c]                                    |     r3 = var_4ch;
    0x0000fdb2 lsl.w r8, r3, 5                                       |     r8 = r3 << 5;
    0x0000fdb4 adds r3, r0, r1                                       |     r3 = r0 + r1;
    0x0000fdb6 b 0xf9ba                                              |     goto label_11;
                                                                     | label_27:
    0x0000fdb8 ldr r1, [pc, 0x12c]                                   |     
    0x0000fdba movs r2, 0x34                                         |     r2 = 0x34;
    0x0000fdbc ldr r3, [pc, 0x12c]                                   |     
    0x0000fdbe ldr r0, [pc, 0x130]                                   |     
    0x0000fdc0 add r1, pc                                            |     r1 = 0x1fcac;
    0x0000fdc2 add r3, pc                                            |     r3 = 0x1fcb2;
    0x0000fdc4 adds r1, 7                                            |     r1 += 7;
    0x0000fdc6 add r0, pc                                            |     r0 = 0x1fcbc;
    0x0000fdc8 blx 0x59a0                                            |     fcn_000059a0 ();
    0x0000fdca invalid                                               |     
                                                                     | label_29:
    0x0000fdcc blx 0x60c0                                            |     fcn_000060c0 ();
    0x0000fdd0 stm r2!, {r1, r3, r4, r5, r6}                         |     *(r2!) = r1;
                                                                     |     *((r2! + 4)) = r3;
                                                                     |     *((r2! + 8)) = r4;
                                                                     |     *((r2! + 12)) = r5;
                                                                     |     *((r2! + 16)) = r6;
    0x0000fdd2 movs r1, r0                                           |     r1 = r0;
    0x0000fdd4 lsls r4, r5, 0x16                                     |     r4 = r5 << 0x16;
    0x0000fdd6 movs r0, r0                                           |     
    0x0000fdd8 stm r2!, {r2, r4, r6}                                 |     *(r2!) = r2;
                                                                     |     *((r2! + 4)) = r4;
                                                                     |     *((r2! + 8)) = r6;
    0x0000fdda movs r1, r0                                           |     r1 = r0;
    0x0000fddc lsls r4, r2, 0x16                                     |     r4 = r2 << 0x16;
    0x0000fdde movs r0, r0                                           |     
    0x0000fde0 movs r5, 0xfa                                         |     r5 = 0xfa;
    0x0000fde2 movs r1, r0                                           |     r1 = r0;
    0x0000fde4 movs r5, 0xa2                                         |     r5 = 0xa2;
    0x0000fde6 movs r1, r0                                           |     r1 = r0;
    0x0000fde8 movs r5, 0x9c                                         |     r5 = 0x9c;
    0x0000fdea movs r1, r0                                           |     r1 = r0;
    0x0000fdec movs r5, 0x52                                         |     r5 = 0x52;
    0x0000fdee movs r1, r0                                           |     r1 = r0;
    0x0000fdf0 adds r6, r6, 0                                        |     r6 += 0;
    0x0000fdf2 movs r1, r0                                           |     r1 = r0;
    0x0000fdf4 movs r5, 0x5c                                         |     r5 = 0x5c;
    0x0000fdf6 movs r1, r0                                           |     r1 = r0;
    0x0000fdf8 movs r5, 0x32                                         |     r5 = 0x32;
    0x0000fdfa movs r1, r0                                           |     r1 = r0;
    0x0000fdfc b 0xfc76                                              |     goto label_12;
                                                                     | }
    ; assembly                                       | /* r2dec pseudo code output */
                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x110f0 */
                                                     | #include <stdint.h>
                                                     |  
    ; (fcn) fcn.000110f0 ()                          | void fcn_000110f0 (int16_t arg_58h, int16_t arg_120h, int16_t arg_148h, int16_t arg1) {
                                                     |     int16_t var_0h;
                                                     |     int16_t var_4h;
                                                     |     int16_t var_8h;
                                                     |     int32_t var_8h_3;
                                                     |     int16_t var_0h_2;
                                                     |     int16_t var_4h_2;
                                                     |     int16_t var_8h_2;
                                                     |     int16_t var_14h;
                                                     |     int16_t var_18h;
                                                     |     int16_t var_1ch;
                                                     |     int16_t var_20h;
                                                     |     int16_t var_28h;
                                                     |     int16_t var_2ch;
                                                     |     r0 = arg1;
    0x000110f0 ldr r2, [pc, 0x198]                   |     
    0x000110f2 ldr r3, [pc, 0x19c]                   |     r3 = *(0x11292);
    0x000110f4 push.w {r4, r5, r6, r7, r8, lr}       |     
    0x000110f8 sub sp, 0x30                          |     
    0x000110fa add r2, pc                            |     r2 = 0x2238a;
    0x000110fc ldr.w r8, [pc, 0x194]                 |     
    0x00011100 mov r6, r0                            |     r6 = r0;
    0x00011102 ldr r3, [r2, r3]                      |     
    0x00011104 add r8, pc                            |     r8 = 0x2239c;
    0x00011106 ldr r3, [r3]                          |     r3 = *(0x2238a);
    0x00011108 str r3, [sp, 0x2c]                    |     var_2ch = r3;
    0x0001110a mov.w r3, 0                           |     r3 = 0;
    0x0001110e bl 0x1c500                            |     r0 = fcn_0001c500 ();
                                                     |     if (r0 == 0) {
    0x00011112 cbz r0, 0x1116c                       |         goto label_5;
                                                     |     }
    0x00011114 ldr r1, [pc, 0x180]                   |     
    0x00011116 mov r2, r6                            |     r2 = r6;
    0x00011118 ldr r3, [pc, 0x180]                   |     r3 = *(0x1129c);
    0x0001111a ldr.w r1, [r8, r1]                    |     r1 = *((r8 + r1));
    0x0001111e ldr.w r3, [r8, r3]                    |     r3 = *((r8 + r3));
    0x00011122 ldr r1, [r1]                          |     r1 = *(0x11298);
    0x00011124 ldr r0, [r3]                          |     r0 = *(0x1129c);
    0x00011126 blx 0x685c                            |     r0 = sd_booted ();
    0x0001112a subs r4, r0, 0                        |     r4 = r0 - 0;
    0x0001112c it ge                                 |     
                                                     |     if (r4 < r0) {
    0x0001112e movge r4, 0                           |         r4 = 0;
                                                     |     }
    0x00011130 blt 0x11150                           |     
                                                     |     while (1) {
                                                     | label_0:
    0x00011132 ldr r2, [pc, 0x16c]                   |         
    0x00011134 ldr r3, [pc, 0x158]                   |         r3 = *(0x11290);
    0x00011136 add r2, pc                            |         r2 = 0x223dc;
    0x00011138 ldr r3, [r2, r3]                      |         r3 = *(0x223dc);
    0x0001113a ldr r2, [r3]                          |         r2 = *(0x223dc);
    0x0001113c ldr r3, [sp, 0x2c]                    |         r3 = var_2ch;
    0x0001113e eors r2, r3                           |         r2 ^= r3;
    0x00011140 mov.w r3, 0                           |         r3 = 0;
                                                     |         if (r2 != r3) {
    0x00011144 bne.w 0x11288                         |             goto label_6;
                                                     |         }
    0x00011148 mov r0, r4                            |         r0 = r4;
    0x0001114a add sp, 0x30                          |         
    0x0001114c pop.w {r4, r5, r6, r7, r8, pc}        |         
    0x00011150 blx 0x5cd4                            |         r0 = gethostname_full ();
    0x00011154 cmp r0, 2                             |         
    0x00011156 ittt le                               |         
                                                     |         if (r0 <= 2) {
    0x00011158 rsble r0, r4, 0                       |             __asm ("rsble r0, r4, 0");
                                                     |         }
                                                     |         if (r0 <= 2) {
    0x0001115a bicle r0, r0, 0x40000000              |             __asm ("bicle r0, r0, 0x40000000");
                                                     |         }
                                                     |         if (r0 <= 2) {
    0x0001115e rsbs r4, r0, 0                        |             r4 = r0 - ;
                                                     |         }
                                                     |         if (r0 > 2) {
    0x00011160 bgt 0x11222                           |             goto label_7;
                                                     |         }
                                                     | label_2:
    0x00011162 cmp r4, 0                             |         
    0x00011164 it ge                                 |         
                                                     |         if (r4 < 0) {
    0x00011166 mvnge r4, 0x55                        |             r4 = ~0x55;
                                                     |         }
    0x0001116a b 0x11132                             |         
                                                     |     }
                                                     | label_5:
    0x0001116c vmov.i32 d16, 0                       |     __asm ("vmov.i32 d16, 0");
    0x00011170 mov r5, r0                            |     r5 = r0;
    0x00011172 add r1, sp, 0x14                      |     r1 += var_14h;
    0x00011174 movs r0, 1                            |     r0 = 1;
    0x00011176 str r5, [sp, 0x18]                    |     var_18h = r5;
    0x00011178 str r5, [sp, 0x28]                    |     var_28h = r5;
    0x0001117a vstr d16, [sp, 0x20]                  |     __asm ("vstr d16, [sp, 0x20]");
    0x0001117e bl 0x1ab9c                            |     r0 = fcn_0001ab9c (r0, r1);
    0x00011182 subs r4, r0, 0                        |     r4 = r0 - 0;
    0x00011184 it lt                                 |     
                                                     |     if (r4 >= r0) {
    0x00011186 addlt r7, sp, 0x20                    |         r7 += var_20h;
                                                     |     }
                                                     |     if (r4 >= r0) {
    0x00011188 blt 0x111d4                           |         
    0x0001118a ldr r3, [pc, 0x118]                   |         r3 = *(0x112a6);
    0x0001118c add r7, sp, 0x20                      |         r7 += var_20h;
    0x0001118e ldr r0, [sp, 0x14]                    |         r0 = var_14h;
    0x00011190 ldr.w r2, [r8, r3]                    |         r2 = *((r8 + r3));
    0x00011194 add r3, sp, 0x18                      |         r3 += var_18h;
    0x00011196 str r3, [sp]                          |         *(sp) = r3;
    0x00011198 mov r3, r7                            |         r3 = r7;
    0x0001119a str r5, [sp, 4]                       |         var_4h_2 = r5;
    0x0001119c ldr r1, [r2]                          |         r1 = *(r2);
    0x0001119e ldr r2, [pc, 0x108]                   |         
    0x000111a0 add r2, pc                            |         r2 = 0x2244e;
    0x000111a2 blx 0x5fe4                            |         r0 = fcn_00005fe4 ();
    0x000111a6 subs r4, r0, 0                        |         r4 = r0 - 0;
                                                     |         if (r4 < r0) {
    0x000111a8 blt 0x111e6                           |             goto label_8;
                                                     |         }
    0x000111aa ldr r1, [pc, 0x100]                   |         
    0x000111ac add r2, sp, 0x1c                      |         r2 += var_1ch;
    0x000111ae ldr r0, [sp, 0x18]                    |         r0 = var_18h;
    0x000111b0 add r1, pc                            |         r1 = 0x22462;
    0x000111b2 blx 0x636c                            |         fcn_0000636c ();
    0x000111b4 invalid                               |         
                                                     |         if (r4 >= r0) {
    0x000111b8 bge 0x11242                           |             goto label_9;
                                                     |         }
    0x000111ba blx 0x5cd4                            |         r0 = gethostname_full ();
    0x000111be cmp r0, 2                             |         
    0x000111c0 ittt le                               |         
                                                     |         if (r0 <= 2) {
    0x000111c2 rsble r4, r4, 0                       |             __asm ("rsble r4, r4, 0");
                                                     |         }
                                                     |         if (r0 <= 2) {
    0x000111c4 bicle r0, r4, 0x40000000              |             __asm ("bicle r0, r4, 0x40000000");
                                                     |         }
                                                     |         if (r0 > 2) {
    0x000111c6 lslle r0, r0                          |             r0 <<= r0;
                                                     |         }
    0x000111c8 rsbs r4, r0, 0                        |         r4 = r0 - ;
                                                     |         if (r0 > 2) {
    0x000111ca bgt 0x11268                           |             goto label_10;
                                                     |         }
                                                     | label_1:
    0x000111cc cmp r4, 0                             |         
    0x000111ce it ge                                 |         
                                                     |         if (r4 >= 0) {
    0x000111d0 mvnge r4, 0x55                        |             r4 = ~0x55;
                                                     |             goto label_3;
                                                     |         }
                                                     |     }
                                                     | label_3:
    0x000111d4 mov r0, r7                            |     r0 = r7;
    0x000111d6 blx 0x5f0c                            |     fcn_00005f0c ();
    0x000111da ldr r0, [sp, 0x18]                    |     r0 = var_18h;
    0x000111dc cmp r0, 0                             |     
                                                     |     if (r0 == 0) {
    0x000111de beq 0x11132                           |         goto label_0;
                                                     |     }
    0x000111e0 blx 0x62ac                            |     fcn_000062ac ();
    0x000111e4 b 0x11132                             |     goto label_0;
                                                     | label_8:
    0x000111e6 blx 0x5cd4                            |     r0 = gethostname_full ();
    0x000111ea cmp r0, 2                             |     
    0x000111ec ittt le                               |     
                                                     |     if (r0 <= 2) {
    0x000111ee rsble r0, r4, 0                       |         __asm ("rsble r0, r4, 0");
                                                     |     }
                                                     |     if (r0 <= 2) {
    0x000111f0 bicle r0, r0, 0x40000000              |         __asm ("bicle r0, r0, 0x40000000");
                                                     |     }
                                                     |     if (r0 > 2) {
    0x000111f4 rsbs r4, r0, 0                        |         r4 = r0 - ;
                                                     |         goto label_11;
                                                     |     }
                                                     |     if (r0 <= 2) {
                                                     | label_11:
    0x000111f6 ble 0x111cc                           |         goto label_1;
                                                     |     }
    0x000111f8 mov r1, r4                            |     r1 = r4;
    0x000111fa mov r0, r7                            |     r0 = r7;
    0x000111fc blx 0x663c                            |     fcn_0000663c ();
    0x00011200 ldr r2, [pc, 0xac]                    |     
    0x00011202 mov r1, r4                            |     r1 = r4;
    0x00011204 str r0, [sp, 8]                       |     var_8h_2 = r0;
    0x00011206 ldr r3, [pc, 0xac]                    |     
    0x00011208 ldr r0, [pc, 0xac]                    |     
    0x0001120a add r2, pc                            |     r2 = 0x224be;
    0x0001120c adds r2, 7                            |     r2 += 7;
    0x0001120e add r3, pc                            |     r3 = 0x224c8;
    0x00011210 add r0, pc                            |     r0 = 0x224cc;
    0x00011212 str r3, [sp, 4]                       |     var_4h_2 = r3;
    0x00011214 str r0, [sp]                          |     *(sp) = r0;
    0x00011216 movs r3, 0x45                         |     r3 = 0x45;
    0x00011218 movs r0, 3                            |     r0 = 3;
    0x0001121a blx 0x6008                            |     r0 = fcn_00006008 ();
    0x0001121e mov r4, r0                            |     r4 = r0;
    0x00011220 b 0x111cc                             |     goto label_1;
                                                     | label_7:
    0x00011222 ldr r2, [pc, 0x98]                    |     
    0x00011224 mov r1, r4                            |     r1 = r4;
    0x00011226 ldr r5, [pc, 0x98]                    |     
    0x00011228 movs r3, 0x36                         |     r3 = 0x36;
    0x0001122a ldr r0, [pc, 0x98]                    |     
    0x0001122c add r2, pc                            |     r2 = 0x224ee;
    0x0001122e add r5, pc                            |     r5 = "/usr/src/debug/systemd/1_251.8-r0/src/systemctl/systemctl-mount.c"
    0x00011230 adds r2, 7                            |     r2 += 7;
    0x00011232 add r0, pc                            |     r0 = 0x224fc;
    0x00011234 strd r0, r5, [sp]                     |     __asm ("strd r0, r5, [sp]");
    0x00011238 movs r0, 3                            |     r0 = 3;
    0x0001123a blx 0x6008                            |     r0 = fcn_00006008 ();
    0x0001123e mov r4, r0                            |     r4 = r0;
    0x00011240 b 0x11162                             |     goto label_2;
                                                     | label_9:
    0x00011242 ldr r1, [sp, 0x1c]                    |     r1 = var_1ch;
    0x00011244 mov r0, r6                            |     r0 = r6;
    0x00011246 blx 0x58b4                            |     r0 = free_and_strdup ();
    0x0001124a cmp r0, 0                             |     
    0x0001124c it ge                                 |     
                                                     |     if (r0 >= 0) {
    0x0001124e movge r4, r5                          |         r4 = r5;
                                                     |         goto label_12;
                                                     |     }
                                                     |     if (r0 >= 0) {
                                                     | label_12:
    0x00011250 bge 0x111d4                           |         goto label_3;
                                                     |     }
    0x00011252 ldr r1, [pc, 0x74]                    |     
    0x00011254 movs r2, 0xb1                         |     r2 = 0xb1;
    0x00011256 ldr r3, [pc, 0x74]                    |     
    0x00011258 movs r0, 3                            |     r0 = 3;
    0x0001125a add r1, pc                            |     r1 = 0x22528;
    0x0001125c add r3, pc                            |     r3 = 0x2252e;
    0x0001125e adds r1, 7                            |     r1 += 7;
    0x00011260 blx 0x6920                            |     r0 = fcn_00006920 ();
    0x00011264 mov r4, r0                            |     r4 = r0;
    0x00011266 b 0x111d4                             |     goto label_3;
                                                     | label_10:
    0x00011268 ldr r2, [pc, 0x64]                    |     
    0x0001126a mov r1, r4                            |     r1 = r4;
    0x0001126c ldr r0, [pc, 0x64]                    |     
    0x0001126e ldr r3, [pc, 0x68]                    |     
    0x00011270 add r2, pc                            |     r2 = 0x22544;
    0x00011272 add r0, pc                            |     r0 = 0x2254a;
    0x00011274 adds r2, 7                            |     r2 += 7;
    0x00011276 add r3, pc                            |     r3 = 0x22554;
    0x00011278 strd r3, r0, [sp]                     |     __asm ("strd r3, r0, [sp]");
    0x0001127c movs r3, 0x49                         |     r3 = 0x49;
    0x0001127e movs r0, 3                            |     r0 = 3;
    0x00011280 blx 0x6008                            |     r0 = fcn_00006008 ();
    0x00011284 mov r4, r0                            |     r4 = r0;
    0x00011286 b 0x111cc                             |     goto label_1;
                                                     | label_6:
    0x00011288 blx 0x60c0                            |     fcn_000060c0 ();
    0x0001128c add r0, sp, 0x148                     |     r0 += arg_148h;
    0x0001128e movs r1, r0                           |     r1 = r0;
    0x00011290 lsls r4, r5, 0x16                     |     r4 = r5 << 0x16;
    0x00011292 movs r0, r0                           |     
    0x00011294 add r0, sp, 0x120                     |     r0 += arg_120h;
    0x00011296 movs r1, r0                           |     r1 = r0;
    0x00011298 lsls r0, r3, 0x17                     |     r0 = r3 << 0x17;
    0x0001129a movs r0, r0                           |     
    0x0001129c lsls r0, r0, 0x1a                     |     r0 <<= 0x1a;
    0x0001129e movs r0, r0                           |     
    0x000112a0 add r0, sp, 0x58                      |     r0 += arg_58h;
    0x000112a2 movs r1, r0                           |     r1 = r0;
    0x000112a4 lsls r0, r2, 0x16                     |     r0 = r2 << 0x16;
    0x000112a6 movs r0, r0                           |     
    0x000112a8 asrs r0, r5, 0x1d                     |     r0 = r5 >> 0x1d;
    0x000112aa movs r1, r0                           |     r1 = r0;
    0x000112ac vhadd.s16 d16, d12, d0                |     __asm ("vhadd.s16 d16, d12, d0");
    0x000112b0 asrs r6, r1, 0x18                     |     r6 = r1 >> 0x18;
    0x000112b2 movs r1, r0                           |     r1 = r0;
    0x000112b4 asrs r6, r1, 0x1c                     |     r6 = r1 >> 0x1c;
    0x000112b6 movs r1, r0                           |     r1 = r0;
    0x000112b8 adds r0, r3, r5                       |     r0 = r3 + r5;
    0x000112ba movs r1, r0                           |     r1 = r0;
    0x000112bc asrs r4, r5, 0x17                     |     r4 = r5 >> 0x17;
    0x000112be movs r1, r0                           |     r1 = r0;
    0x000112c0 asrs r6, r6, 0x1a                     |     r6 >>= 0x1a;
    0x000112c2 movs r1, r0                           |     r1 = r0;
    0x000112c4 adds r6, r6, r4                       |     r6 += r4;
    0x000112c6 movs r1, r0                           |     r1 = r0;
    0x000112c8 asrs r6, r4, 0x1b                     |     r6 = r4 >> 0x1b;
    0x000112ca movs r1, r0                           |     r1 = r0;
    0x000112cc adds r4, r6, r3                       |     r4 = r6 + r3;
    0x000112ce movs r1, r0                           |     r1 = r0;
    0x000112d0 asrs r0, r5, 0x16                     |     r0 = r5 >> 0x16;
    0x000112d2 movs r1, r0                           |     r1 = r0;
    0x000112d4 subw r0, lr, 0x800                    |     __asm ("subw r0, lr, 0x800");
    0x000112d8 adds r2, r6, r3                       |     r2 = r6 + r3;
    0x000112da movs r1, r0                           |     r1 = r0;
    0x000112dc push {r4, r5, r6, r7, lr}             |     
    0x000112de mov r4, r1                            |     r4 = r1;
    0x000112e0 ldr r1, [pc, 0xbc]                    |     
    0x000112e2 sub sp, 0x14                          |     
    0x000112e4 mov r6, r0                            |     r6 = r0;
    0x000112e6 mov r5, r2                            |     r5 = r2;
    0x000112e8 add r1, pc                            |     r1 = 0x2268c;
    0x000112ea blx 0x6670                            |     r0 = hashmap_contains ();
                                                     |     if (r0 == 0) {
    0x000112ee cbz r0, 0x112f8                       |         goto label_13;
                                                     |     }
                                                     |     if (r4 == 0) {
    0x000112f0 cbz r4, 0x11348                       |         goto label_14;
                                                     |     }
                                                     |     do {
                                                     | label_4:
    0x000112f2 movs r0, 0                            |         r0 = 0;
    0x000112f4 add sp, 0x14                          |         
    0x000112f6 pop {r4, r5, r6, r7, pc}              |         
                                                     | label_13:
    0x000112f8 cmp r4, 0                             |         
                                                     |         if (r4 == 0) {
    0x000112fa beq 0x11376                           |             goto label_15;
                                                     |         }
    0x000112fc movs r1, 5                            |         r1 = 5;
    0x000112fe mov r0, r4                            |         r0 = r4;
    0x00011300 blx 0x5c4c                            |         r0 = fcn_00005c4c ();
    0x00011304 mov r7, r0                            |         r7 = r0;
                                                     |         if (r0 != 0) {
    0x00011306 cbnz r0, 0x11332                      |             goto label_16;
                                                     |         }
    0x00011308 blx 0x5cd4                            |         r0 = gethostname_full ();
    0x0001130c cmp r0, 3                             |         
    0x0001130e ble 0x112f2                           |         
                                                     |     } while (r0 <= 3);
    0x00011310 ldr r2, [pc, 0x90]                    |     
    0x00011312 mov r1, r7                            |     r1 = r7;
    0x00011314 ldr r5, [pc, 0x90]                    |     
    0x00011316 movs r3, 0x12                         |     r3 = 0x12;
    0x00011318 ldr r0, [pc, 0x90]                    |     
    0x0001131a add r2, pc                            |     r2 = 0x226c2;
    0x0001131c strd r6, r4, [sp, 8]                  |     __asm ("strd r6, r4, [var_8h]");
    0x00011320 add r5, pc                            |     r5 = 0x226cc;
    0x00011322 adds r2, 7                            |     r2 += 7;
    0x00011324 add r0, pc                            |     r0 = 0x226d4;
    0x00011326 strd r0, r5, [sp]                     |     __asm ("strd r0, r5, [sp]");
    0x0001132a movs r0, 4                            |     r0 = 4;
    0x0001132c blx 0x6008                            |     fcn_00006008 ();
    0x00011330 b 0x112f2                             |     goto label_4;
                                                     | label_16:
    0x00011332 mov r1, r6                            |     r1 = r6;
    0x00011334 mov r0, r5                            |     r0 = r5;
    0x00011336 blx 0x58b4                            |     r0 = free_and_strdup ();
    0x0001133a cmp r0, 0                             |     
                                                     |     if (r0 >= 0) {
    0x0001133c bge 0x112f2                           |         goto label_4;
                                                     |     }
    0x0001133e ldr r1, [pc, 0x70]                    |     
    0x00011340 ldr r3, [pc, 0x70]                    |     
    0x00011342 add r1, pc                            |     r1 = 0x226f8;
    0x00011344 add r3, pc                            |     r3 = 0x226fc;
    0x00011346 b 0x11366                             |     goto label_17;
                                                     | label_14:
    0x00011348 mov r0, r6                            |     r0 = r6;
    0x0001134a blx 0x5f78                            |     fcn_00005f78 ();
    0x0001134c cdp p8, 1, c2, c6, c0, 0              |     __asm ("cdp p8, 1, c2, c6, c0, 0");
                                                     |     if (r0 == 0) {
    0x00011350 beq 0x112f2                           |         goto label_4;
                                                     |     }
    0x00011352 mov r1, r6                            |     r1 = r6;
    0x00011354 mov r0, r5                            |     r0 = r5;
    0x00011356 blx 0x58b4                            |     r0 = free_and_strdup ();
    0x0001135a cmp r0, 0                             |     
                                                     |     if (r0 >= 0) {
    0x0001135c bge 0x112f2                           |         goto label_4;
                                                     |     }
    0x0001135e ldr r1, [pc, 0x58]                    |     
    0x00011360 ldr r3, [pc, 0x58]                    |     
    0x00011362 add r1, pc                            |     r1 = 0x22720;
    0x00011364 add r3, pc                            |     r3 = 0x22724;
                                                     | label_17:
    0x00011366 movs r2, 0xb1                         |     r2 = 0xb1;
    0x00011368 movs r0, 3                            |     r0 = 3;
    0x0001136a adds r1, 7                            |     r1 += 7;
    0x0001136c add sp, 0x14                          |     
    0x0001136e pop.w {r4, r5, r6, r7, lr}            |     
    0x00011372 b.w 0x691c                            |     void (*0x691c)() ();
    0x00011374 revsh r3, r2                          |     __asm ("revsh r3, r2");
                                                     | label_15:
    0x00011376 blx 0x5cd4                            |     r0 = gethostname_full ();
    0x0001137a cmp r0, 3                             |     
                                                     |     if (r0 <= 3) {
    0x0001137c ble 0x112f2                           |         goto label_4;
                                                     |     }
    0x0001137e ldr r2, [pc, 0x40]                    |     
    0x00011380 mov r1, r4                            |     r1 = r4;
    0x00011382 ldr r3, [pc, 0x40]                    |     
    0x00011384 ldr r0, [pc, 0x40]                    |     
    0x00011386 add r2, pc                            |     r2 = 0x2274c;
    0x00011388 str r6, [sp, 8]                       |     var_8h = r6;
    0x0001138a add r3, pc                            |     r3 = 0x22754;
    0x0001138c adds r2, 7                            |     r2 += 7;
    0x0001138e add r0, pc                            |     r0 = 0x2275a;
    0x00011390 str r3, [sp, 4]                       |     var_4h = r3;
    0x00011392 str r0, [sp]                          |     *(sp) = r0;
    0x00011394 movs r3, 0x22                         |     r3 = 0x22;
    0x00011396 movs r0, 4                            |     r0 = 4;
    0x00011398 blx 0x6008                            |     fcn_00006008 ();
    0x0001139c b 0x112f2                             |     goto label_4;
                                                     | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x16408 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00016408 ()                                      | void fcn_00016408 (int16_t arg_0h, int16_t arg_1h, int16_t arg_24h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_48h, int16_t arg_4ch, int16_t arg_50h, int16_t arg_54h, int16_t arg_58h, int16_t arg_64h, int16_t arg_68h, int16_t arg_6ch, int16_t arg_70h, int16_t arg_74h, int16_t arg_78h, int16_t arg_80h, int16_t arg_84h, int16_t arg_88h, int16_t arg_8ch, int16_t arg_90h, int16_t arg_98h, int16_t arg_a0h, int16_t c, int16_t arg_b8h, int16_t arg_c0h, int16_t arg_264h, int16_t arg_274h, int16_t arg_29ch, int16_t arg_2c4h, int16_t arg_3c4h, int16_t arg_4c4h, int16_t arg_4f8h, int16_t arg_4fch, int16_t arg1, int16_t arg2, int16_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x00016408 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0001640c mov r8, r2                                        |     r8 = r2;
    0x0001640e ldr.w r2, [pc, 0xb38]                             |     
    0x00016412 mov r6, r3                                        |     r6 = r3;
    0x00016414 mov.w sl, 0                                       |     sl = 0;
    0x00016416 lsrs r0, r0, 8                                    |     r0 >>= 8;
    0x00016418 mov r5, r1                                        |     r5 = r1;
    0x0001641a ldr.w r3, [pc, 0xb30]                             |     r3 = *(0x16f4e);
    0x0001641e mov r1, sl                                        |     r1 = sl;
    0x00016420 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x00016424 subw sp, sp, 0x4cc                                |     __asm ("subw sp, sp, 0x4cc");
    0x00016428 add r2, pc                                        |     r2 = 0x2d376;
    0x0001642a add r7, sp, 0x68                                  |     r7 += arg_68h;
    0x0001642c str r0, [sp, 0x2c]                                |     *(arg_2ch) = r0;
    0x0001642e add r4, sp, 0xc0                                  |     r4 += arg_c0h;
    0x00016430 str r7, [sp, 0x38]                                |     *(arg_38h) = r7;
    0x00016432 mov r0, r4                                        |     r0 = r4;
    0x00016434 ldr r3, [r2, r3]                                  |     
    0x00016436 mov.w r2, 0x1a0                                   |     r2 = 0x1a0;
    0x0001643a vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x0001643e ldr.w sb, [sp, 0x4f8]                             |     sb = *(arg_4f8h);
    0x00016442 ldr r3, [r3]                                      |     r3 = *(0x2d376);
    0x00016444 str.w r3, [sp, 0x4c4]                             |     __asm ("str.w r3, [arg_4c4h]");
    0x00016448 mov.w r3, 0                                       |     r3 = 0;
    0x0001644c add r3, sp, 0x90                                  |     r3 += arg_90h;
    0x0001644e str r3, [sp, 0x34]                                |     *(arg_34h) = r3;
    0x00016450 add r3, sp, 0x64                                  |     r3 += arg_64h;
    0x00016452 str r3, [sp, 0x30]                                |     *(arg_30h) = r3;
    0x00016454 ldr.w r3, [sp, 0x4fc]                             |     r3 = *(arg_4fch);
    0x00016458 vstr d16, [sp, 0x90]                              |     __asm ("vstr d16, [sp, 0x90]");
    0x0001645c str.w sl, [r7]                                    |     __asm ("str.w sl, [r7]");
    0x00016460 str r3, [sp, 0x40]                                |     *(arg_40h) = r3;
    0x00016462 str.w sl, [sp, 0x98]                              |     __asm ("str.w sl, [arg_98h]");
    0x00016464 adr r0, 0x260                                     |     r0 = 0x260;
    0x00016466 str.w sl, [sp, 0x64]                              |     __asm ("str.w sl, [arg_64h]");
    0x0001646a blx 0x5d50                                        |     fcn_00005d50 ();
    0x0001646e ldr.w r3, [pc, 0xae0]                             |     
    0x00016472 vmov.i8 q8, 0xff                                  |     __asm ("vmov.i8 q8, 0xff");
    0x00016476 vmov.i8 d18, 0xff                                 |     __asm ("vmov.i8 d18, 0xff");
    0x0001647a add r3, pc                                        |     r3 = 0x2d3d0;
    0x0001647c vstr d16, [r4, 0x128]                             |     __asm ("vstr d16, [r4, 0x128]");
    0x00016480 vstr d17, [r4, 0x130]                             |     __asm ("vstr d17, [r4, 0x130]");
    0x00016484 vstr d18, [r4, 0x110]                             |     __asm ("vstr d18, [r4, 0x110]");
    0x00016486 cmp r3, 0x44                                      |     
    0x00016488 vstr d16, [r4, 0x138]                             |     __asm ("vstr d16, [r4, 0x138]");
    0x0001648c vstr d17, [r4, 0x140]                             |     __asm ("vstr d17, [r4, 0x140]");
    0x00016490 str r3, [sp, 0x3c]                                |     *(arg_3ch) = r3;
    0x00016492 vstr d16, [r4, 0x148]                             |     __asm ("vstr d16, [r4, 0x148]");
    0x00016496 vstr d17, [r4, 0x150]                             |     __asm ("vstr d17, [r4, 0x150]");
    0x0001649a vstr d16, [r4, 0x158]                             |     __asm ("vstr d16, [r4, 0x158]");
    0x0001649e vstr d17, [r4, 0x160]                             |     __asm ("vstr d17, [r4, 0x160]");
    0x000164a2 vstr d16, [r4, 0x168]                             |     __asm ("vstr d16, [r4, 0x168]");
    0x000164a6 vstr d17, [r4, 0x170]                             |     __asm ("vstr d17, [r4, 0x170]");
    0x000164aa vstr d16, [r4, 0x178]                             |     __asm ("vstr d16, [r4, 0x178]");
    0x000164ae vstr d17, [r4, 0x180]                             |     __asm ("vstr d17, [r4, 0x180]");
    0x000164b2 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x000164b4 beq.w 0x16a4c                                     |         goto label_76;
                                                                 |     }
    0x000164b8 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000164bc cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x000164be bgt.w 0x16606                                     |         goto label_77;
                                                                 |     }
                                                                 | label_4:
    0x000164c2 cmp r6, 1                                         |     
                                                                 |     if (r6 == 1) {
    0x000164c4 beq.w 0x165fe                                     |         goto label_78;
                                                                 |     }
    0x000164c8 ldr.w r3, [pc, 0xa88]                             |     
    0x000164cc add r3, pc                                        |     r3 = 0x2d424;
                                                                 | label_3:
    0x000164ce ldr r1, [sp, 0x30]                                |     r1 = *(arg_30h);
    0x000164d0 mov r2, r5                                        |     r2 = r5;
    0x000164d2 ldr r0, [sp, 0x2c]                                |     r0 = *(arg_2ch);
    0x000164d4 str r4, [sp, 0xc]                                 |     var_ch = r4;
    0x000164d6 str r1, [sp, 8]                                   |     var_8h = r1;
    0x000164d8 ldr r1, [sp, 0x34]                                |     r1 = *(arg_34h);
    0x000164da str r1, [sp, 4]                                   |     var_4h = r1;
    0x000164dc movs r1, 2                                        |     r1 = 2;
    0x000164de str r1, [sp]                                      |     *(sp) = r1;
    0x000164e0 ldr.w r1, [pc, 0xa74]                             |     
    0x000164e4 add r1, pc                                        |     r1 = 0x2d440;
    0x000164e6 blx 0x5fcc                                        |     r0 = fcn_00005fcc ();
    0x000164ea subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x000164ec blt.w 0x1662e                                     |         goto label_79;
                                                                 |     }
    0x000164f0 cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x000164f4 beq 0x164fc                                       |         
    0x000164f6 ldr r0, [r4, 4]                                   |         r0 = *((r4 + 4));
    0x000164f8 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000164fa bne 0x165ba                                       |             goto label_80;
                                                                 |         }
                                                                 |     }
                                                                 | label_1:
    0x000164fc ldrb.w r3, [sb]                                   |     r3 = *(sb);
    0x00016500 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00016502 bne.w 0x167c8                                     |         goto label_81;
                                                                 |     }
    0x00016506 movs r3, 1                                        |     r3 = 1;
    0x00016508 cmp r6, r3                                        |     
    0x0001650a strb.w r3, [sb]                                   |     *(sb) = r3;
                                                                 |     if (r6 == r3) {
    0x0001650e beq.w 0x167da                                     |         goto label_82;
                                                                 |     }
    0x00016510 strh r4, [r4, 0xa]                                |     *((r4 + 0xa)) = r4;
                                                                 | label_9:
    0x00016512 cmp r6, 2                                         |     
                                                                 |     if (r6 == 2) {
    0x00016514 beq.w 0x16a68                                     |         goto label_83;
                                                                 |     }
    0x00016516 strh r0, [r5, 0x14]                               |     *((r5 + 0x14)) = r0;
                                                                 | label_2:
    0x00016518 ldr r3, [sp, 0x30]                                |     r3 = *(arg_30h);
    0x0001651a movs r1, 1                                        |     r1 = 1;
    0x0001651c ldr r0, [r3]                                      |     r0 = *(r3);
    0x0001651e blx 0x6180                                        |     r0 = fcn_00006180 ();
    0x00016522 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x00016524 blt.w 0x168ca                                     |         goto label_84;
                                                                 |     }
    0x00016528 ldr r1, [sp, 0x3c]                                |     r1 = *(arg_3ch);
    0x0001652a ldr.w r2, [pc, 0xa30]                             |     r2 = *(0x16f5e);
    0x0001652e ldr.w r3, [pc, 0xa30]                             |     
    0x00016532 ldr r6, [r1, r2]                                  |     r6 = *((r1 + r2));
    0x00016534 ldr r3, [r1, r3]                                  |     r3 = *((r1 + r3));
    0x00016536 ldr r2, [sp, 0x38]                                |     r2 = *(arg_38h);
    0x00016538 ldr.w r1, [pc, 0xa28]                             |     r1 = *(0x00016f64);
    0x0001653c ldr r3, [r3]                                      |     r3 = *(0x16f62);
    0x0001653e str r2, [sp]                                      |     *(sp) = r2;
    0x00016540 ldr r2, [sp, 0x30]                                |     r2 = *(arg_30h);
    0x00016542 add r1, pc                                        |     r1 += pc;
    0x00016544 ldr r0, [r2]                                      |     r0 = *(0x16f5e);
    0x00016546 ldr r2, [r6]                                      |     r2 = *(r6);
    0x00016548 blx 0x5f24                                        |     r0 = fcn_00005f24 ();
    0x0001654c subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x0001654e blt.w 0x166de                                     |         goto label_85;
                                                                 |     }
    0x00016552 ldr.w sb, [r6]                                    |     sb = *(r6);
    0x00016556 cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x0001655a beq.w 0x16af2                                     |         goto label_86;
                                                                 |     }
    0x0001655e ldr.w r1, [sb]                                    |     r1 = *(sb);
    0x00016562 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00016564 beq.w 0x16aec                                     |         goto label_87;
                                                                 |     }
    0x00016568 ldr.w r8, [pc, 0x9fc]                             |     
    0x0001656c ldr.w r6, [pc, 0x9fc]                             |     
    0x00016570 ldr r7, [sp, 0x38]                                |     r7 = *(arg_38h);
    0x00016572 add r8, pc                                        |     r8 = 0x2d4de;
    0x00016574 add.w r8, r8, 7                                   |     r8 += 7;
    0x00016578 add r6, pc                                        |     r6 = 0x2d4e8;
    0x0001657a b 0x16586                                         |     
                                                                 |     while (r0 != 0) {
                                                                 | label_0:
    0x0001657c ldr r1, [sb, 4]!                                  |         r1 = *((sb += 4));
    0x00016580 cmp r1, 0                                         |         
                                                                 |         if (r1 == 0) {
    0x00016582 beq.w 0x16aec                                     |             goto label_87;
                                                                 |         }
    0x00016586 ldr r0, [r7]                                      |         r0 = *(r7);
    0x00016588 blx 0x6694                                        |         r0 = strextend_with_separator_internal ();
    0x0001658c mov r5, r0                                        |         r5 = r0;
    0x0001658e cmp r0, 0                                         |         
    0x00016590 bne 0x1657c                                       |         
                                                                 |     }
    0x00016592 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00016596 cmp r0, 6                                         |     
                                                                 |     if (r0 <= 6) {
    0x00016598 ble 0x1657c                                       |         goto label_0;
                                                                 |     }
    0x0001659a ldr.w r3, [sb]                                    |     r3 = *(sb);
    0x0001659e mov r1, r5                                        |     r1 = r5;
    0x000165a0 mov r2, r8                                        |     r2 = r8;
    0x000165a2 movs r0, 7                                        |     r0 = 7;
    0x000165a4 strd r6, r3, [sp, 4]                              |     __asm ("strd r6, r3, [sp, 4]");
    0x000165a8 ldr.w r3, [pc, 0x9c4]                             |     
    0x000165ac add r3, pc                                        |     r3 = 0x2d520;
    0x000165ae str r3, [sp]                                      |     *(sp) = r3;
    0x000165b0 mov.w r3, 0x7f8                                   |     r3 = 0x7f8;
    0x000165b4 blx 0x6008                                        |     fcn_00006008 ();
    0x000165b8 b 0x1657c                                         |     goto label_0;
                                                                 | label_80:
    0x000165ba ldr.w r1, [pc, 0x9b8]                             |     
    0x000165be add r1, pc                                        |     r1 = 0x2d538;
    0x000165c0 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x000165c4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000165c6 bne 0x164fc                                       |         goto label_1;
                                                                 |     }
    0x000165c8 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x000165ca cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000165cc beq 0x164fc                                       |         goto label_1;
                                                                 |     }
    0x000165ce ldr.w r1, [pc, 0x9a8]                             |     
    0x000165d2 add r1, pc                                        |     r1 = 0x2d550;
    0x000165d4 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x000165d8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000165da bne 0x164fc                                       |         goto label_1;
                                                                 |     }
    0x000165dc blx 0x5cd4                                        |     gethostname_full ();
    0x000165e0 cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x000165e2 bne.w 0x16af8                                     |         goto label_88;
                                                                 |     }
    0x000165e6 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x000165e8 bgt.w 0x16ba0                                     |         goto label_89;
                                                                 |     }
                                                                 | label_13:
    0x000165ec ldrb.w r3, [sb]                                   |     r3 = *(sb);
    0x000165f0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000165f2 bne.w 0x17998                                     |         goto label_90;
                                                                 |     }
    0x000165f6 movs r3, 1                                        |     r3 = 1;
    0x000165f8 strb.w r3, [sb]                                   |     *(sb) = r3;
    0x000165fc b 0x16518                                         |     goto label_2;
                                                                 | label_78:
    0x000165fe ldr.w r3, [pc, 0x97c]                             |     
    0x00016602 add r3, pc                                        |     r3 = 0x2d584;
    0x00016604 b 0x164ce                                         |     goto label_3;
                                                                 | label_77:
    0x00016606 ldr.w r3, [pc, 0x978]                             |     
    0x0001660a mov r1, sl                                        |     r1 = sl;
    0x0001660c ldr.w r2, [pc, 0x974]                             |     
    0x00016610 movs r0, 7                                        |     r0 = 7;
    0x00016612 str r5, [sp, 8]                                   |     var_8h = r5;
    0x00016614 add r3, pc                                        |     r3 = 0x2d59a;
    0x00016616 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00016618 add r2, pc                                        |     r2 = 0x2d5a0;
    0x0001661a ldr.w r3, [pc, 0x96c]                             |     
    0x0001661e adds r2, 7                                        |     r2 += 7;
    0x00016620 add r3, pc                                        |     r3 = 0x2d5ae;
    0x00016622 str r3, [sp]                                      |     *(sp) = r3;
    0x00016624 movw r3, 0x7c4                                    |     r3 = 0x7c4;
    0x00016628 blx 0x6008                                        |     fcn_00006008 ();
    0x0001662c b 0x164c2                                         |     goto label_4;
                                                                 | label_79:
    0x0001662e blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00016632 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00016634 bgt 0x166ac                                       |         goto label_91;
                                                                 |     }
                                                                 | label_7:
    0x00016636 rsbs r6, r5, 0                                    |     r6 = r5 - ;
    0x00016638 bic r6, r6, 0x40000000                            |     r6 = BIT_MASK (r6, 0x40000000);
    0x0001663c rsbs r6, r6, 0                                    |     r6 -= ;
                                                                 | label_6:
    0x0001663e ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00016640 cmp r6, 0                                         |     
    0x00016642 it ge                                             |     
                                                                 |     if (r6 < 0) {
    0x00016644 mvnge r6, 0x55                                    |         r6 = ~0x55;
                                                                 |     }
                                                                 | label_11:
    0x00016648 mov r0, r5                                        |     r0 = r5;
    0x0001664a blx 0x67b4                                        |     mktime (r0);
    0x0001664e ldr r0, [r4, 0x34]                                |     r0 = *((r4 + 0x34));
    0x00016650 blx 0x67b4                                        |     mktime (r0);
    0x00016654 ldr r0, [r4, 0x38]                                |     r0 = *((r4 + 0x38));
    0x00016656 blx 0x67b4                                        |     mktime (r0);
    0x0001665a ldr r0, [r4, 0x3c]                                |     r0 = *((r4 + 0x3c));
    0x0001665c blx 0x67b4                                        |     mktime (r0);
    0x00016660 ldr.w r0, [r4, 0x100]                             |     r0 = *((r4 + 0x100));
    0x00016662 lsls r0, r0, 4                                    |     r0 <<= 4;
    0x00016664 blx 0x67b4                                        |     mktime (r0);
    0x00016668 ldr.w r5, [r4, 0xc4]                              |     r5 = *((r4 + 0xc4));
                                                                 |     if (r5 != 0) {
    0x0001666c cbnz r5, 0x1668e                                  |         goto label_92;
                                                                 |     }
    0x0001666e b 0x1670e                                         |     goto label_93;
                                                                 |     do {
    0x00016670 ldr r2, [r5, 0x10]                                |         r2 = *((r5 + 0x10));
    0x00016672 str r2, [r3, 0x10]                                |         *((r3 + 0x10)) = r2;
                                                                 | label_5:
    0x00016674 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016676 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001667a ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0001667c blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00016680 mov r0, r5                                        |         r0 = r5;
    0x00016682 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00016686 ldr.w r5, [r4, 0xc4]                              |         r5 = *((r4 + 0xc4));
    0x0001668a cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x0001668c beq 0x1670e                                       |             goto label_93;
                                                                 |         }
                                                                 | label_92:
    0x0001668e ldr r3, [r5, 0x10]                                |         r3 = *((r5 + 0x10));
                                                                 |         if (r3 != 0) {
    0x00016690 cbz r3, 0x16696                                   |             
    0x00016692 ldr r2, [r5, 0x14]                                |             r2 = *((r5 + 0x14));
    0x00016694 str r2, [r3, 0x14]                                |             *((r3 + 0x14)) = r2;
                                                                 |         }
    0x00016696 ldr r3, [r5, 0x14]                                |         r3 = *((r5 + 0x14));
    0x00016698 cmp r3, 0                                         |         
    0x0001669a bne 0x16670                                       |         
                                                                 |     } while (r3 != 0);
    0x0001669c ldr.w r3, [r4, 0xc4]                              |     r3 = *((r4 + 0xc4));
    0x000166a0 cmp r3, r5                                        |     
                                                                 |     if (r3 != r5) {
    0x000166a2 bne 0x16760                                       |         goto label_94;
                                                                 |     }
    0x000166a4 ldr r3, [r5, 0x10]                                |     r3 = *((r5 + 0x10));
    0x000166a6 str.w r3, [r4, 0xc4]                              |     __asm ("str.w r3, [r4, 0xc4]");
    0x000166aa b 0x16674                                         |     goto label_5;
                                                                 | label_91:
    0x000166ac mov r1, r5                                        |     r1 = r5;
    0x000166ae ldr r0, [sp, 0x34]                                |     r0 = *(arg_34h);
    0x000166b0 blx 0x663c                                        |     fcn_0000663c ();
    0x000166b4 ldr.w r3, [pc, 0x8d4]                             |     
    0x000166b8 mov r1, r5                                        |     r1 = r5;
    0x000166ba ldr.w r2, [pc, 0x8d4]                             |     
    0x000166bc cmp r0, 0xd4                                      |     
    0x000166be str r0, [sp, 8]                                   |     var_8h = r0;
    0x000166c0 movs r0, 3                                        |     r0 = 3;
    0x000166c2 add r3, pc                                        |     r3 = 0x2d652;
    0x000166c4 str r3, [sp, 4]                                   |     var_4h = r3;
    0x000166c6 add r2, pc                                        |     r2 = 0x2d65c;
    0x000166c8 ldr.w r3, [pc, 0x8c8]                             |     
    0x000166cc adds r2, 7                                        |     r2 += 7;
    0x000166ce add r3, pc                                        |     r3 = 0x2d666;
    0x000166d0 str r3, [sp]                                      |     *(sp) = r3;
    0x000166d2 mov.w r3, 0x7d0                                   |     r3 = 0x7d0;
    0x000166d6 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x000166da mov r6, r0                                        |     r6 = r0;
    0x000166dc b 0x1663e                                         |     goto label_6;
                                                                 | label_85:
    0x000166de blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000166e2 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000166e4 ble 0x16636                                       |         goto label_7;
                                                                 |     }
    0x000166e6 ldr.w r3, [pc, 0x8b0]                             |     
    0x000166ea mov r1, r5                                        |     r1 = r5;
    0x000166ec ldr.w r2, [pc, 0x8ac]                             |     
    0x000166f0 movs r0, 3                                        |     r0 = 3;
    0x000166f2 add r3, pc                                        |     r3 = 0x2d690;
    0x000166f4 str r3, [sp, 4]                                   |     var_4h = r3;
    0x000166f6 add r2, pc                                        |     r2 = 0x2d696;
    0x000166f8 ldr.w r3, [pc, 0x8a4]                             |     
    0x000166fc adds r2, 7                                        |     r2 += 7;
    0x000166fe add r3, pc                                        |     r3 = 0x2d6a2;
    0x00016700 str r3, [sp]                                      |     *(sp) = r3;
    0x00016702 movw r3, 0x7f4                                    |     r3 = 0x7f4;
    0x00016706 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x00016708 stc p6, c4, [r0], {6}                             |     __asm ("stc p6, c4, [r0], {6}");
    0x0001670c b 0x1663e                                         |     goto label_6;
                                                                 | label_93:
    0x0001670e ldr.w r5, [r4, 0x198]                             |     r5 = *((r4 + 0x198));
                                                                 |     if (r5 == 0) {
    0x00016712 cbz r5, 0x1677c                                   |         goto label_95;
                                                                 |     }
    0x00016714 vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x00016718 b 0x16740                                         |     
                                                                 |     while (r3 != 0) {
    0x0001671a ldr r2, [r5, 0x30]                                |         r2 = *((r5 + 0x30));
    0x0001671c str r2, [r3, 0x30]                                |         *((r3 + 0x30)) = r2;
                                                                 | label_8:
    0x0001671e ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016720 vstr d8, [r5, 0x30]                               |         __asm ("vstr d8, [r5, 0x30]");
    0x00016724 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00016726 ldrd r6, r8, [ip, -0x1a0]                         |         __asm ("ldrd r6, r8, [ip, -0x1a0]");
    0x00016728 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0001672a blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001672e ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x00016730 blx 0x67b4                                        |         mktime (r0);
    0x00016734 mov r0, r5                                        |         r0 = r5;
    0x00016736 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001673a ldr.w r5, [r4, 0x198]                             |         r5 = *((r4 + 0x198));
    0x0001673c str r0, [r3, r6]                                  |         *((r3 + r6)) = r0;
                                                                 |         if (r5 == 0) {
    0x0001673e cbz r5, 0x1677c                                   |             goto label_95;
                                                                 |         }
    0x00016740 ldr r3, [r5, 0x30]                                |         r3 = *((r5 + 0x30));
                                                                 |         if (r3 != 0) {
    0x00016742 cbz r3, 0x16748                                   |             
    0x00016744 ldr r2, [r5, 0x34]                                |             r2 = *((r5 + 0x34));
    0x00016746 str r2, [r3, 0x34]                                |             *((r3 + 0x34)) = r2;
                                                                 |         }
    0x00016748 ldr r3, [r5, 0x34]                                |         r3 = *((r5 + 0x34));
    0x0001674a cmp r3, 0                                         |         
    0x0001674c bne 0x1671a                                       |         
                                                                 |     }
    0x0001674e ldr.w r3, [r4, 0x198]                             |     r3 = *((r4 + 0x198));
    0x00016752 cmp r3, r5                                        |     
                                                                 |     if (r3 != r5) {
    0x00016754 bne.w 0x16ad0                                     |         goto label_96;
                                                                 |     }
    0x00016758 ldr r3, [r5, 0x30]                                |     r3 = *((r5 + 0x30));
    0x0001675a str.w r3, [r4, 0x198]                             |     __asm ("str.w r3, [r4, 0x198]");
    0x0001675e b 0x1671e                                         |     goto label_8;
                                                                 | label_94:
    0x00016760 ldr.w r1, [pc, 0x840]                             |     
    0x00016764 mov.w r2, 0x118                                   |     r2 = 0x118;
    0x00016768 ldr.w r3, [pc, 0x83c]                             |     
    0x0001676c ldr.w r0, [pc, 0x83c]                             |     
    0x00016770 add r1, pc                                        |     r1 = 0x2d718;
    0x00016772 add r3, pc                                        |     r3 = 0x2d71e;
    0x00016774 adds r1, 7                                        |     r1 += 7;
    0x00016776 add r0, pc                                        |     r0 = 0x2d726;
    0x00016778 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_95:
    0x0001677c ldr r3, [sp, 0x38]                                |     r3 = *(arg_38h);
    0x0001677e ldr r0, [r3]                                      |     r0 = *(r3);
                                                                 |     if (r0 != 0) {
    0x00016780 cbz r0, 0x1678e                                   |         
    0x00016782 movs r2, 0                                        |         r2 = 0;
    0x00016784 mov r1, r2                                        |         r1 = r2;
    0x00016786 blx 0x60e4                                        |         fcn_000060e4 ();
    0x0001678a ldr r3, [sp, 0x38]                                |         r3 = *(arg_38h);
    0x0001678c str r0, [r3]                                      |         *(r3) = r0;
                                                                 |     }
    0x0001678e ldr r0, [sp, 0x34]                                |     r0 = *(arg_34h);
    0x00016790 blx 0x5f0c                                        |     fcn_00005f0c ();
    0x00016794 ldr r3, [sp, 0x30]                                |     r3 = *(arg_30h);
    0x00016796 ldr r0, [r3]                                      |     r0 = *(r3);
                                                                 |     if (r0 != 0) {
    0x00016798 cbz r0, 0x1679e                                   |         
    0x0001679a blx 0x62ac                                        |         fcn_000062ac ();
                                                                 |     }
    0x0001679e ldr.w r2, [pc, 0x810]                             |     
    0x000167a2 ldr.w r3, [pc, 0x7a8]                             |     r3 = *(0x16f4e);
    0x000167a6 add r2, pc                                        |     r2 = 0x2d75c;
    0x000167a8 ldr r3, [r2, r3]                                  |     r3 = *(0x2d75c);
    0x000167aa ldr r2, [r3]                                      |     r2 = *(0x2d75c);
    0x000167ac ldr.w r3, [sp, 0x4c4]                             |     r3 = *(arg_4c4h);
    0x000167b0 eors r2, r3                                       |     r2 ^= r3;
    0x000167b2 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x000167b6 bne.w 0x18096                                     |         goto label_97;
                                                                 |     }
    0x000167ba mov r0, r6                                        |     r0 = r6;
    0x000167bc addw sp, sp, 0x4cc                                |     __asm ("addw sp, var_0h");
    0x000167c0 vpop {d8}                                         |     __asm ("vpop {d8}");
    0x000167c2 ldrh r2, [r0, 0x18]                               |     r2 = *((r0 + 0x18));
    0x000167c4 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_81:
    0x000167c8 movs r0, 0xa                                      |     r0 = 0xa;
    0x000167ca blx 0x5d1c                                        |     get_process_comm ();
    0x000167ce movs r3, 1                                        |     r3 = 1;
    0x000167d0 cmp r6, r3                                        |     
    0x000167d2 strb.w r3, [sb]                                   |     *(sb) = r3;
                                                                 |     if (r6 != r3) {
    0x000167d6 bne.w 0x16512                                     |         goto label_9;
                                                                 |     }
                                                                 | label_82:
    0x000167da add r3, sp, 0x8c                                  |     r3 += arg_8ch;
    0x000167dc add r5, sp, 0x70                                  |     r5 += arg_70h;
    0x000167de add r6, sp, 0x6c                                  |     r6 += arg_6ch;
    0x000167e0 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x000167e2 mov r2, r5                                        |     r2 = r5;
    0x000167e4 mov r1, r6                                        |     r1 = r6;
    0x000167e6 mov r7, r3                                        |     r7 = r3;
    0x000167e8 str r3, [sp, 0x50]                                |     *(arg_50h) = r3;
    0x000167ea movs r3, 0                                        |     r3 = 0;
    0x000167ec add.w fp, sp, 0x7c                                |     
    0x000167f0 str r3, [r7]                                      |     *(r7) = r3;
    0x000167f2 add.w sl, sp, 0x88                                |     sl += arg_88h;
    0x000167f6 bl 0x12d1c                                        |     fcn_00012d1c (r0, r1, r2);
    0x000167fa add r3, sp, 0x80                                  |     r3 += arg_80h;
    0x000167fc ldr r0, [r4, 0x14]                                |     r0 = *((r4 + 0x14));
    0x000167fe mov r2, r3                                        |     r2 = r3;
    0x00016800 mov r1, fp                                        |     r1 = fp;
    0x00016802 mov sb, r3                                        |     sb = r3;
    0x00016804 bl 0x12e14                                        |     fcn_00012e14 (r0, r1, r2);
    0x00016808 add r3, sp, 0x84                                  |     r3 += arg_84h;
    0x0001680a mov r2, sl                                        |     r2 = sl;
    0x0001680c mov r1, r3                                        |     r1 = r3;
    0x0001680e ldr r0, [r4, 0x18]                                |     r0 = *((r4 + 0x18));
    0x00016810 str r3, [sp, 0x44]                                |     *(arg_44h) = r3;
    0x00016812 bl 0x12e14                                        |     fcn_00012e14 (r0, r1, r2);
    0x00016816 ldr r0, [r4, 8]                                   |     r0 = *((r4 + 8));
    0x00016818 blx 0x5aac                                        |     sd_bus_get_property ();
    0x0001681c blx 0x68bc                                        |     printf_chk ();
    0x00016820 blx 0x6198                                        |     fcn_00006198 ();
    0x00016822 ldc p8, c6, [sl], 0x88                            |     __asm ("ldc p8, c6, [sl], 0x88");
    0x00016824 ldr r2, [r4]                                      |     r2 = *(r4);
    0x00016826 ldr r3, [sp, 0x70]                                |     r3 = *(arg_70h);
    0x00016828 ldr.w r8, [sp, 0x6c]                              |     r8 = *(arg_6ch);
    0x0001682c str r3, [sp, 0x48]                                |     *(arg_48h) = r3;
    0x0001682e mov r3, r0                                        |     r3 = r0;
    0x00016830 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00016832 beq.w 0x178f8                                     |         goto label_98;
                                                                 |     }
                                                                 | label_32:
    0x00016836 str r2, [sp, 4]                                   |     var_4h = r2;
    0x00016838 movs r0, 1                                        |     r0 = 1;
    0x0001683a ldr r2, [sp, 0x48]                                |     r2 = *(arg_48h);
    0x0001683c ldr.w r1, [pc, 0x774]                             |     
    0x00016840 str r2, [sp]                                      |     *(sp) = r2;
    0x00016842 mov r2, r8                                        |     r2 = r8;
    0x00016844 add r1, pc                                        |     r1 = 0x2d7fc;
    0x00016846 blx 0x68e0                                        |     touch ();
    0x0001684a ldr r5, [r4, 0x1c]                                |     r5 = *((r4 + 0x1c));
                                                                 |     if (r5 != 0) {
    0x0001684c cbz r5, 0x16864                                   |         
    0x0001684e ldr r0, [r4]                                      |         r0 = *(r4);
    0x00016850 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00016852 bne.w 0x16b16                                     |             goto label_99;
                                                                 |         }
    0x00016854 strh r0, [r4, 0xa]                                |         *((r4 + 0xa)) = r0;
                                                                 | label_14:
    0x00016856 ldr.w r1, [pc, 0x760]                             |         
    0x0001685a mov r2, r5                                        |         r2 = r5;
    0x0001685c movs r0, 1                                        |         r0 = 1;
    0x0001685e add r1, pc                                        |         r1 = 0x2d81c;
    0x00016860 blx 0x68e0                                        |         touch ();
                                                                 |     }
                                                                 | label_15:
    0x00016864 movs r0, 0xa                                      |     r0 = 0xa;
    0x00016866 blx 0x5d1c                                        |     get_process_comm ();
    0x00016868 orrs.w sl, sl, r2, asr 24                         |     sl |= (r2 >> 24);
    0x0001686a ldr r2, [r4, 0x20]                                |     r2 = *((r4 + 0x20));
                                                                 |     if (r2 != 0) {
    0x0001686c cbz r2, 0x1687a                                   |         
    0x0001686e ldr.w r1, [pc, 0x74c]                             |         
    0x00016872 movs r0, 1                                        |         r0 = 1;
    0x00016874 add r1, pc                                        |         r1 = 0x2d836;
    0x00016876 blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x0001687a ldr r5, [r4, 4]                                   |     r5 = *((r4 + 4));
    0x0001687c cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0001687e beq 0x16910                                       |         goto label_100;
                                                                 |     }
    0x00016880 ldr.w r3, [pc, 0x73c]                             |     
    0x00016884 add r6, sp, 0x264                                 |     r6 += arg_264h;
    0x00016886 add r3, pc                                        |     r3 = 0x2d84a;
    0x00016888 adds r3, 0xac                                     |     r3 += 0xac;
    0x0001688a ldm r3, {r0, r1, r2, r3}                          |     r0 = *(r3);
                                                                 |     r1 = *((r3 + 4));
                                                                 |     r2 = *((r3 + 8));
                                                                 |     r3 = *((r3 + 12));
    0x0001688c stm.w r6, {r0, r1, r2, r3}                        |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
                                                                 |     *((r6 + 12)) = r3;
    0x00016890 mov r1, r5                                        |     r1 = r5;
    0x00016892 mov r0, r6                                        |     r0 = r6;
    0x00016894 blx 0x5914                                        |     r0 = strv_find ();
    0x00016898 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001689a beq 0x16910                                       |         goto label_100;
                                                                 |     }
    0x0001689c blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x000168a0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000168a2 beq.w 0x17a78                                     |         goto label_101;
                                                                 |     }
    0x000168a6 ldr.w r7, [pc, 0x71c]                             |     
    0x000168aa add r7, pc                                        |     r7 = 0x2d874;
                                                                 | label_44:
    0x000168ac add r3, sp, 0x74                                  |     r3 += arg_74h;
    0x000168ae str r7, [sp, 0x74]                                |     *(arg_74h) = r7;
    0x000168b0 str r3, [sp, 0x4c]                                |     *(arg_4ch) = r3;
    0x000168b2 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x000168b6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000168b8 beq.w 0x17a6e                                     |         goto label_102;
                                                                 |     }
    0x000168bc ldr.w r6, [pc, 0x708]                             |     
    0x000168c0 add r6, pc                                        |     r6 = 0x2d88c;
                                                                 | label_43:
    0x000168c2 add r3, sp, 0x78                                  |     r3 += arg_78h;
    0x000168c4 str r6, [sp, 0x78]                                |     *(arg_78h) = r6;
    0x000168c6 str r3, [sp, 0x54]                                |     *(arg_54h) = r3;
    0x000168c8 b 0x16926                                         |     goto label_103;
                                                                 | label_84:
    0x000168ca blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000168ce cmp r0, 2                                         |     
    0x000168d0 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x000168d2 rsble r6, r6, 0                                   |         __asm ("rsble r6, r6, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x000168d4 bicle r6, r6, 0x40000000                          |         __asm ("bicle r6, r6, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x000168d8 rsbs r6, r6, 0                                    |         r6 -= ;
                                                                 |         goto label_104;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_104:
    0x000168da ble.w 0x1663e                                     |         goto label_6;
                                                                 |     }
    0x000168de mov r1, r6                                        |     r1 = r6;
    0x000168e0 ldr r0, [sp, 0x34]                                |     r0 = *(arg_34h);
    0x000168e2 blx 0x663c                                        |     fcn_0000663c ();
    0x000168e6 ldr.w r3, [pc, 0x6e4]                             |     
    0x000168ea mov r1, r6                                        |     r1 = r6;
    0x000168ec ldr.w r2, [pc, 0x6e0]                             |     
    0x000168f0 str r0, [sp, 8]                                   |     var_8h = r0;
    0x000168f2 movs r0, 3                                        |     r0 = 3;
    0x000168f4 add r3, pc                                        |     r3 = 0x2d8c6;
    0x000168f6 str r3, [sp, 4]                                   |     var_4h = r3;
    0x000168f8 add r2, pc                                        |     r2 = 0x2d8cc;
    0x000168fa ldr.w r3, [pc, 0x6d8]                             |     
    0x000168fe adds r2, 7                                        |     r2 += 7;
    0x00016900 add r3, pc                                        |     r3 = 0x2d8da;
    0x00016902 str r3, [sp]                                      |     *(sp) = r3;
    0x00016904 mov.w r3, 0x7f0                                   |     r3 = 0x7f0;
    0x00016906 str r6, [r7, 0x3c]                                |     *((r7 + 0x3c)) = r6;
    0x00016908 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001690c mov r6, r0                                        |     r6 = r0;
    0x0001690e b 0x1663e                                         |     goto label_6;
                                                                 | label_100:
    0x00016910 ldr.w r3, [pc, 0x6c4]                             |     
    0x00016914 add r2, sp, 0x78                                  |     r2 += arg_78h;
    0x00016916 str r2, [sp, 0x54]                                |     *(arg_54h) = r2;
    0x00016918 add r2, sp, 0x74                                  |     r2 += arg_74h;
    0x0001691a str r2, [sp, 0x4c]                                |     *(arg_4ch) = r2;
    0x0001691c add r3, pc                                        |     r3 = 0x2d8f8;
    0x0001691e mov r6, r3                                        |     r6 = r3;
    0x00016920 mov r7, r3                                        |     r7 = r3;
    0x00016922 str r3, [sp, 0x78]                                |     *(arg_78h) = r3;
    0x00016924 str r3, [sp, 0x74]                                |     *(arg_74h) = r3;
                                                                 | label_103:
    0x00016926 ldr r5, [r4, 0x2c]                                |     r5 = *((r4 + 0x2c));
    0x00016928 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0001692a beq.w 0x176fc                                     |         goto label_105;
                                                                 |     }
                                                                 | label_23:
    0x0001692e ldr r2, [sp, 0x50]                                |     r2 = *(arg_50h);
    0x00016930 movs r1, 0                                        |     r1 = 0;
    0x00016932 mov r0, r5                                        |     r0 = r5;
    0x00016934 blx 0x63c0                                        |     r0 = fcn_000063c0 ();
    0x00016938 cmp r0, 0                                         |     
    0x0001693a ldr r2, [r4, 0x40]                                |     r2 = *((r4 + 0x40));
                                                                 |     if (r0 < 0) {
    0x0001693c blt.w 0x178e6                                     |         goto label_106;
                                                                 |     }
    0x00016940 ldr r3, [sp, 0x50]                                |     r3 = *(arg_50h);
    0x00016942 ldr r5, [r3]                                      |     r5 = *(r3);
    0x00016944 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00016946 beq.w 0x16b24                                     |         goto label_107;
                                                                 |     }
    0x0001694a ldrb r3, [r2]                                     |     r3 = *(r2);
    0x0001694c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001694e beq.w 0x16b24                                     |         goto label_107;
                                                                 |     }
                                                                 | label_24:
    0x00016952 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x00016954 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016956 beq.w 0x17c74                                     |         goto label_108;
                                                                 |     }
                                                                 | label_52:
    0x0001695a ldr.w r1, [pc, 0x680]                             |     
    0x0001695e movs r0, 1                                        |     r0 = 1;
    0x00016960 strd r6, r2, [sp]                                 |     __asm ("strd r6, r2, [sp]");
    0x00016964 mov r2, r7                                        |     r2 = r7;
    0x00016966 add r1, pc                                        |     r1 = 0x2d948;
    0x00016968 blx 0x68e0                                        |     touch ();
    0x0001696a invalid                                           |     
                                                                 | label_16:
    0x0001696c ldrb.w r3, [r4, 0x79]                             |     r3 = *((r4 + 0x79));
    0x00016970 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00016972 bne.w 0x17902                                     |         goto label_109;
                                                                 |     }
                                                                 | label_33:
    0x00016976 ldr.w fp, [r4, 0x34]                              |     fp = *((r4 + 0x34));
    0x0001697a cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x0001697e beq.w 0x16bda                                     |         goto label_110;
                                                                 |     }
    0x00016982 ldr.w r3, [fp]                                    |     r3 = *(fp);
    0x00016986 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016988 beq.w 0x16bda                                     |         goto label_110;
                                                                 |     }
    0x0001698c ldr.w r6, [pc, 0x650]                             |     
    0x00016990 movs r3, 0                                        |     r3 = 0;
    0x00016992 ldr.w r1, [pc, 0x650]                             |     
    0x00016996 add r5, sp, 0xb0                                  |     r5 += c;
    0x00016998 ldr.w sl, [pc, 0x64c]                             |     
    0x0001699c mov sb, r3                                        |     sb = r3;
    0x0001699e add r6, pc                                        |     r6 = 0x2d982;
    0x000169a0 strd r4, r8, [sp, 0x58]                           |     __asm ("strd r4, r8, [sp, 0x58]");
    0x000169a2 ldr r0, [pc, 0x58]                                |     r0 = *(0x169fe);
    0x000169a4 add r1, pc                                        |     r1 = 0x2d98e;
    0x000169a6 str r6, [sp, 0x44]                                |     *(arg_44h) = r6;
    0x000169a8 add sl, pc                                        |     sl = 0x2d994;
    0x000169aa str r3, [r5]                                      |     *(r5) = r3;
    0x000169ac b 0x169d4                                         |     
                                                                 |     while (r7 != 0) {
    0x000169ae ldr.w r3, [pc, 0x63c]                             |         
    0x000169b2 add r3, pc                                        |         r3 = 0x2d9a4;
                                                                 | label_10:
    0x000169b4 mov r1, r4                                        |         r1 = r4;
    0x000169b6 movs r0, 1                                        |         r0 = 1;
    0x000169b8 blx 0x68e0                                        |         touch ();
    0x000169bc ldr r0, [r5]                                      |         r0 = *(r5);
    0x000169be blx 0x59e0                                        |         unit_file_state_to_string ();
    0x000169c0 invalid                                           |         
    0x000169c4 subs r7, 4                                        |         r7 -= 4;
    0x000169c6 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x000169c8 beq.w 0x16bd0                                     |             goto label_111;
                                                                 |         }
    0x000169cc movs r3, 0                                        |         r3 = 0;
    0x000169ce mov r1, sl                                        |         r1 = sl;
    0x000169d0 str r3, [r5]                                      |         *(r5) = r3;
                                                                 |         if (r6 != 0) {
    0x000169d2 cbz r6, 0x16a0a                                   |             
    0x000169d4 movs r0, 1                                        |             r0 = 1;
    0x000169d6 blx 0x68e0                                        |             touch ();
    0x000169da mov r0, sb                                        |             r0 = sb;
    0x000169dc blx 0x59e0                                        |             unit_file_state_to_string ();
    0x000169e0 ldr.w r0, [fp]                                    |             r0 = *(fp);
    0x000169e4 blx 0x5cb0                                        |             r0 = fprintf_chk ();
    0x000169e8 mov sb, r0                                        |             sb = r0;
    0x000169ea cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x000169ec beq.w 0x17f84                                     |                 goto label_112;
                                                                 |             }
    0x000169f0 ldr.w r8, [pc, 0x5fc]                             |             
    0x000169f4 movs r0, 2                                        |             r0 = 2;
    0x000169f6 blx 0x6198                                        |             fcn_00006198 ();
    0x000169fa ldr r1, [sp, 0x44]                                |             r1 = *(arg_44h);
    0x000169fc mov r3, r0                                        |             r3 = r0;
    0x000169fe add r8, pc                                        |             r8 = 0x2d9f2;
    0x00016a00 mov r2, sb                                        |             r2 = sb;
    0x00016a02 mov r4, r8                                        |             r4 = r8;
    0x00016a04 movs r0, 1                                        |             r0 = 1;
    0x00016a06 blx 0x68e0                                        |             touch ();
                                                                 |         }
    0x00016a0a ldr.w r0, [fp, 4]                                 |         r0 = *(arg_80h);
    0x00016a0e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00016a10 beq.w 0x16bca                                     |             goto label_113;
                                                                 |         }
    0x00016a12 strh r3, [r3, 6]                                  |         *((r3 + 6)) = r3;
    0x00016a14 mov r1, sb                                        |         r1 = sb;
    0x00016a16 blx 0x5c58                                        |         r0 = fcn_00005c58 ();
    0x00016a1a clz r6, r0                                        |         r6 &= r0;
    0x00016a1e lsrs r6, r6, 5                                    |         r6 >>= 5;
    0x00016a20 mov r7, r6                                        |         r7 = r6;
                                                                 | label_18:
    0x00016a22 ldr.w r8, [fp]                                    |         r8 = *(fp);
    0x00016a26 mov r0, r8                                        |         r0 = r8;
    0x00016a28 blx 0x6264                                        |         fcn_00006264 ();
    0x00016a2c mov r2, r5                                        |         r2 = r5;
    0x00016a2e mov r1, r0                                        |         r1 = r0;
    0x00016a30 mov r0, r8                                        |         r0 = r8;
    0x00016a32 blx 0x63c0                                        |         r0 = fcn_000063c0 ();
    0x00016a36 cmp r0, 0                                         |         
    0x00016a38 ite ge                                            |         
                                                                 |         if (r0 < 0) {
    0x00016a3a ldrge r2, [r5]                                    |             r2 = *(r5);
                                                                 |         }
                                                                 |         if (r0 >= 0) {
    0x00016a3c ldrlt r2, [fp]                                    |             r2 = *(fp);
                                                                 |         }
    0x00016a40 cmp r7, 0                                         |         
    0x00016a42 bne 0x169ae                                       |         
                                                                 |     }
    0x00016a44 ldr.w r3, [pc, 0x5ac]                             |     
    0x00016a48 add r3, pc                                        |     r3 = 0x2da40;
    0x00016a4a b 0x169b4                                         |     goto label_10;
                                                                 | label_76:
    0x00016a4c ldr.w r1, [pc, 0x5a8]                             |     
    0x00016a50 movw r2, 0x7c1                                    |     r2 = 0x7c1;
    0x00016a54 ldr.w r3, [pc, 0x5a4]                             |     
    0x00016a58 ldr.w r0, [pc, 0x5a4]                             |     
    0x00016a5c add r1, pc                                        |     r1 = 0x2da58;
    0x00016a5e add r3, pc                                        |     r3 = 0x2da5e;
    0x00016a60 adds r1, 7                                        |     r1 += 7;
    0x00016a62 add r0, pc                                        |     r0 = 0x2da66;
    0x00016a64 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_83:
    0x00016a68 ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00016a6a cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00016a6c beq.w 0x17d78                                     |         goto label_114;
                                                                 |     }
    0x00016a70 ldr r6, [r5]                                      |     r6 = *(r5);
    0x00016a72 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00016a74 beq.w 0x16648                                     |         goto label_11;
                                                                 |     }
    0x00016a78 ldr.w sl, [pc, 0x588]                             |     
    0x00016a7c ldr.w sb, [pc, 0x588]                             |     
    0x00016a80 add sl, pc                                        |     sl = 0x2da88;
    0x00016a82 add.w sl, sl, 7                                   |     sl += 7;
    0x00016a86 add sb, pc                                        |     sb = 0x2da92;
    0x00016a88 b 0x16a98                                         |     
                                                                 |     while (r0 != 0) {
    0x00016a8a adds r0, r6, 4                                    |         r0 = r6 + 4;
    0x00016a8c movs r1, 0                                        |         r1 = 0;
    0x00016a8e blx 0x66ac                                        |         sigchld_code_to_string ();
                                                                 | label_12:
    0x00016a92 ldr r6, [r5, 4]!                                  |         r6 = *((r5 += 4));
                                                                 |         if (r6 == 0) {
    0x00016a96 cbz r6, 0x16af4                                   |             goto label_115;
                                                                 |         }
    0x00016a98 mov r1, sb                                        |         r1 = sb;
    0x00016a9a mov r0, r6                                        |         r0 = r6;
    0x00016a9c blx 0x5c58                                        |         fcn_00005c58 ();
    0x00016a9e invalid                                           |         
    0x00016aa0 mov r7, r0                                        |         r7 = r0;
    0x00016aa2 cmp r0, 0                                         |         
    0x00016aa4 bne 0x16a8a                                       |         
                                                                 |     }
    0x00016aa6 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00016aaa cmp r0, 5                                         |     
                                                                 |     if (r0 <= 5) {
    0x00016aac ble 0x16a92                                       |         goto label_12;
                                                                 |     }
    0x00016aae ldr.w r3, [pc, 0x55c]                             |     
    0x00016ab2 mov r1, r7                                        |     r1 = r7;
    0x00016ab4 mov r2, sl                                        |     r2 = sl;
    0x00016ab6 str r6, [sp, 8]                                   |     var_8h = r6;
    0x00016ab8 movs r0, 6                                        |     r0 = 6;
    0x00016aba add r3, pc                                        |     r3 = 0x2dacc;
    0x00016abc str r3, [sp, 4]                                   |     var_4h = r3;
    0x00016abe ldr.w r3, [pc, 0x550]                             |     
    0x00016ac2 add r3, pc                                        |     r3 = 0x2dad8;
    0x00016ac4 str r3, [sp]                                      |     *(sp) = r3;
    0x00016ac6 movw r3, 0x321                                    |     r3 = 0x321;
    0x00016aca blx 0x6008                                        |     fcn_00006008 ();
    0x00016ace b 0x16a92                                         |     goto label_12;
                                                                 | label_96:
    0x00016ad0 ldr.w r1, [pc, 0x540]                             |     
    0x00016ad4 movw r2, 0x11d                                    |     r2 = 0x11d;
    0x00016ad8 ldr.w r3, [pc, 0x53c]                             |     
    0x00016adc ldr.w r0, [pc, 0x53c]                             |     
    0x00016ae0 add r1, pc                                        |     r1 = 0x2daf8;
    0x00016ae2 add r3, pc                                        |     r3 = 0x2dafe;
    0x00016ae4 adds r1, 7                                        |     r1 += 7;
    0x00016ae6 add r0, pc                                        |     r0 = 0x2db06;
    0x00016ae8 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_87:
    0x00016aec ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
                                                                 | label_19:
    0x00016aee movs r6, 0                                        |     r6 = 0;
    0x00016af0 b 0x16648                                         |     goto label_11;
                                                                 | label_86:
    0x00016af2 mov r6, sb                                        |     r6 = sb;
                                                                 | label_115:
    0x00016af4 ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00016af6 b 0x16648                                         |     goto label_11;
                                                                 | label_88:
    0x00016af8 cmp r0, 2                                         |     
    0x00016afa it gt                                             |     
                                                                 |     if (r0 <= 2) {
    0x00016afc movgt r0, 3                                       |         r0 = 3;
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00016afe bgt 0x16ba2                                       |         goto label_116;
                                                                 |     }
                                                                 | label_17:
    0x00016b00 cmp r6, 1                                         |     
                                                                 |     if (r6 == 1) {
    0x00016b02 beq.w 0x17fc8                                     |         goto label_117;
                                                                 |     }
    0x00016b06 cmp r6, 2                                         |     
    0x00016b08 itt eq                                            |     
                                                                 |     if (r6 != 2) {
    0x00016b0a ldreq r5, [r4, 0x24]                              |         r5 = *((r4 + 0x24));
                                                                 |     }
                                                                 |     if (r6 != 2) {
    0x00016b0c mvneq r6, 1                                       |         r6 = ~1;
                                                                 |     }
    0x00016b0e lsls r1, r0, 0x18                                 |     r1 = r0 << 0x18;
                                                                 |     if (r1 != r0) {
    0x00016b10 bne.w 0x165ec                                     |         goto label_13;
                                                                 |     }
    0x00016b14 b 0x16648                                         |     goto label_11;
                                                                 | label_99:
    0x00016b16 mov r1, r5                                        |     r1 = r5;
    0x00016b18 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x00016b1c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00016b1e bne.w 0x16856                                     |         goto label_14;
                                                                 |     }
    0x00016b20 add r6, sp, 0x268                                 |     r6 = sp + 0x268;
    0x00016b22 b 0x16864                                         |     goto label_15;
                                                                 | label_107:
    0x00016b24 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00016b26 beq.w 0x17710                                     |         goto label_118;
                                                                 |     }
                                                                 | label_31:
    0x00016b2a ldr r0, [r4, 0x14]                                |     r0 = *((r4 + 0x14));
    0x00016b2c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00016b2e beq.w 0x179b6                                     |         goto label_119;
                                                                 |     }
    0x00016b32 ldrb r3, [r0]                                     |     r3 = *(r0);
    0x00016b34 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016b36 beq.w 0x179b6                                     |         goto label_119;
                                                                 |     }
    0x00016b3a ldr r3, [r4, 0x18]                                |     r3 = *((r4 + 0x18));
    0x00016b3c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016b3e beq.w 0x17dd8                                     |         goto label_120;
                                                                 |     }
    0x00016b42 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00016b44 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016b46 beq.w 0x17dd8                                     |         goto label_120;
                                                                 |     }
    0x00016b4a blx 0x67fc                                        |     bus_message_new_method_call ();
    0x00016b4e bl 0x1cb78                                        |     fcn_0001cb78 (r0);
    0x00016b52 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x00016b54 mov r2, r0                                        |     r2 = r0;
    0x00016b56 ldr r0, [r4, 0x14]                                |     r0 = *((r4 + 0x14));
    0x00016b58 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016b5a beq.w 0x18056                                     |         goto label_121;
                                                                 |     }
                                                                 | label_73:
    0x00016b5e ldr r1, [sp, 0x44]                                |     r1 = *(arg_44h);
    0x00016b60 ldr.w fp, [fp]                                    |     fp = *(fp);
    0x00016b64 ldr.w lr, [sb]                                    |     
    0x00016b68 ldr r1, [r1]                                      |     r1 = *(r1);
    0x00016b6a cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00016b6c beq.w 0x17de8                                     |         goto label_122;
                                                                 |     }
    0x00016b70 ldr.w r2, [pc, 0x4ac]                             |     
    0x00016b74 ldr.w ip, [r4, 0x18]                              |     ip = *((r4 + 0x18));
    0x00016b78 add r2, pc                                        |     r2 = 0x2db9c;
                                                                 | label_58:
    0x00016b7a strd r1, ip, [sp, 0x18]                           |     __asm ("strd r1, ip, [sp, 0x18]");
    0x00016b7e strd fp, r0, [sp, 8]                              |     __asm ("strd fp, r0, [sp, 8]");
    0x00016b82 movs r0, 1                                        |     r0 = 1;
    0x00016b84 strd lr, r2, [sp, 0x10]                           |     __asm ("strd lr, r2, [sp, 0x10]");
    0x00016b86 b 0x16f92                                         |     void (*0x16f92)() ();
    0x00016b88 strd r6, r5, [sp]                                 |     __asm ("strd r6, r5, [sp]");
    0x00016b8c ldr.w r1, [pc, 0x494]                             |     
    0x00016b90 ldr.w r2, [sl]                                    |     r2 = *(sl);
    0x00016b94 add r1, pc                                        |     r1 = 0x2dbbc;
    0x00016b96 str r2, [sp, 0x20]                                |     var_20h = r2;
    0x00016b98 mov r2, r7                                        |     r2 = r7;
    0x00016b9a blx 0x68e0                                        |     touch ();
    0x00016b9e b 0x1696c                                         |     goto label_16;
                                                                 | label_89:
    0x00016ba0 movs r0, 7                                        |     r0 = 7;
                                                                 | label_116:
    0x00016ba2 ldr.w r3, [pc, 0x484]                             |     
    0x00016ba6 movs r1, 0                                        |     r1 = 0;
    0x00016ba8 ldr.w r2, [pc, 0x480]                             |     
    0x00016bac str.w r8, [sp, 8]                                 |     __asm ("str.w r8, [var_8h]");
    0x00016bb0 add r3, pc                                        |     r3 = 0x2dbde;
    0x00016bb2 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00016bb4 add r2, pc                                        |     r2 = 0x2dbe4;
    0x00016bb6 ldr.w r3, [pc, 0x478]                             |     
    0x00016bba adds r2, 7                                        |     r2 += 7;
    0x00016bbc add r3, pc                                        |     r3 = 0x2dbf2;
    0x00016bbe str r3, [sp]                                      |     *(sp) = r3;
    0x00016bc0 movw r3, 0x7d3                                    |     r3 = 0x7d3;
    0x00016bc4 blx 0x6008                                        |     fcn_00006008 ();
    0x00016bc8 b 0x16b00                                         |     goto label_17;
                                                                 | label_113:
    0x00016bca movs r7, 1                                        |     r7 = 1;
    0x00016bcc mov r6, r7                                        |     r6 = r7;
    0x00016bce b 0x16a22                                         |     goto label_18;
                                                                 | label_111:
    0x00016bd0 mov r0, sb                                        |     r0 = sb;
    0x00016bd2 ldrd r4, r8, [sp, 0x58]                           |     __asm ("ldrd r4, r8, [arg_58h]");
    0x00016bd6 blx 0x59e0                                        |     unit_file_state_to_string ();
                                                                 | label_110:
    0x00016bda ldr r6, [r4, 0x10]                                |     r6 = *((r4 + 0x10));
    0x00016bdc ldr r5, [r4, 8]                                   |     r5 = *((r4 + 8));
    0x00016bde subs r3, r6, 0                                    |     r3 = r6 - 0;
    0x00016be0 it ne                                             |     
                                                                 |     if (r3 == r6) {
    0x00016be2 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x00016be4 cmp r5, 0                                         |     
    0x00016be6 ite eq                                            |     
                                                                 |     if (r5 != 0) {
    0x00016be8 moveq r2, 0                                       |         r2 = 0;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x00016bea andne r2, r3, 1                                   |         r2 = r3 & 1;
                                                                 |     }
    0x00016bee cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00016bf0 bne.w 0x17930                                     |         goto label_123;
                                                                 |     }
    0x00016bf4 cmp r5, r6                                        |     
                                                                 |     if (r5 <= r6) {
    0x00016bf6 blo.w 0x1808a                                     |         goto label_124;
                                                                 |     }
    0x00016bfa and r3, r3, 1                                     |     r3 &= 1;
    0x00016bfe it ls                                             |     
                                                                 |     if (r5 > r6) {
    0x00016c00 movls r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x00016c02 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00016c04 bne.w 0x1793e                                     |         goto label_75;
                                                                 |     }
                                                                 |     if (r5 == 0) {
    0x00016c08 cbnz r5, 0x16c10                                  |         
    0x00016c0a ldr.w r5, [pc, 0x428]                             |         
    0x00016c0e add r5, pc                                        |         r5 = 0x2dc48;
                                                                 |     }
                                                                 | label_35:
    0x00016c10 ldr r3, [sp, 0x48]                                |     r3 = *(arg_48h);
    0x00016c12 mov r2, r8                                        |     r2 = r8;
    0x00016c14 ldr.w r1, [pc, 0x420]                             |     
    0x00016c16 asrs r0, r4, 0x10                                 |     r0 = r4 >> 0x10;
    0x00016c18 movs r0, 1                                        |     r0 = 1;
    0x00016c1a str r3, [sp]                                      |     *(sp) = r3;
    0x00016c1c mov r3, r5                                        |     r3 = r5;
    0x00016c1e add r1, pc                                        |     r1 = 0x2dc5a;
    0x00016c20 blx 0x68e0                                        |     touch ();
    0x00016c24 ldr r5, [r4, 0xc]                                 |     r5 = *((r4 + 0xc));
                                                                 |     if (r5 != 0) {
    0x00016c26 cbz r5, 0x16c3e                                   |         
    0x00016c28 ldrb r3, [r5]                                     |         r3 = *(r5);
                                                                 |         if (r3 == 0) {
    0x00016c2a cbz r3, 0x16c3e                                   |             goto label_48;
                                                                 |         }
    0x00016c2c ldr.w r1, [pc, 0x40c]                             |         
    0x00016c30 mov r0, r5                                        |         r0 = r5;
    0x00016c32 add r1, pc                                        |         r1 = 0x2dc72;
    0x00016c34 blx 0x6670                                        |         r0 = hashmap_contains ();
    0x00016c38 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00016c3a bne.w 0x17be2                                     |             goto label_125;
                                                                 |         }
    0x00016c3c strh r2, [r2, 0x3e]                               |         *((r2 + 0x3e)) = r2;
                                                                 |     }
                                                                 | label_48:
    0x00016c3e ldr r5, [r4, 0x44]                                |     r5 = *((r4 + 0x44));
                                                                 |     if (r5 != 0) {
    0x00016c40 cbz r5, 0x16c56                                   |         
    0x00016c42 ldrb r3, [r5]                                     |         r3 = *(r5);
                                                                 |         if (r3 == 0) {
    0x00016c44 cbz r3, 0x16c56                                   |             goto label_49;
                                                                 |         }
    0x00016c46 ldr r1, [pc, 0x3f8]                               |         
    0x00016c48 mov r0, r5                                        |         r0 = r5;
    0x00016c4a add r1, pc                                        |         r1 = 0x2dc90;
    0x00016c4c blx 0x6670                                        |         r0 = hashmap_contains ();
    0x00016c50 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00016c52 bne.w 0x17c18                                     |             goto label_126;
                                                                 |         }
                                                                 |     }
                                                                 | label_49:
    0x00016c56 ldr.w sb, [r4, 8]                                 |     sb = *((r4 + 8));
    0x00016c5a cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x00016c5e beq.w 0x17dd0                                     |         goto label_127;
                                                                 |     }
    0x00016c62 ldr r5, [pc, 0x3e0]                               |     
    0x00016c64 add r6, sp, 0x264                                 |     r6 += arg_264h;
    0x00016c66 add r5, pc                                        |     r5 = 0x2dcb0;
    0x00016c68 ldm.w r5, {r0, r1, r2}                            |     r0 = *(r5);
                                                                 |     r1 = *((r5 + 4));
                                                                 |     r2 = *((r5 + 8));
    0x00016c6c stm.w r6, {r0, r1, r2}                            |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
    0x00016c70 mov r1, sb                                        |     r1 = sb;
    0x00016c72 mov r0, r6                                        |     r0 = r6;
    0x00016c74 blx 0x5914                                        |     r0 = strv_find ();
    0x00016c78 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00016c7a beq.w 0x17910                                     |         goto label_128;
                                                                 |     }
    0x00016c7e ldrd r5, r6, [r4, 0x58]                           |     __asm ("ldrd r5, r6, [r4, 0x58]");
                                                                 | label_34:
    0x00016c82 subs r2, r5, 1                                    |     r2 = r5 - 1;
    0x00016c84 adc r3, r6, -1                                    |     __asm ("adc r3, r6, -1");
    0x00016c88 adds r2, 2                                        |     r2 += 2;
    0x00016c8a sbcs r3, r3, -1                                   |     __asm ("sbcs r3, r3, -1");
                                                                 |     if (r2 >= 2) {
    0x00016c8e bhs.w 0x1772c                                     |         goto label_129;
                                                                 |     }
    0x00016c92 add r3, sp, 0x29c                                 |     r3 += arg_29ch;
    0x00016c94 movs r2, 0x26                                     |     r2 = 0x26;
    0x00016c96 movs r1, 0                                        |     r1 = 0;
    0x00016c98 mov r0, r3                                        |     r0 = r3;
    0x00016c9a blx 0x5d50                                        |     fcn_00005d50 ();
    0x00016c9e ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x00016ca0 add.w sb, sp, 0x3c4                               |     sb += arg_3c4h;
    0x00016ca4 ldr r3, [pc, 0x3a0]                               |     r3 = *(0x17048);
    0x00016ca6 movs r1, 0x26                                     |     r1 = 0x26;
    0x00016ca8 ldr.w fp, [r2, r3]                                |     fp = *((r2 + r3));
    0x00016cac mov r3, r6                                        |     r3 = r6;
    0x00016cae mov r2, r5                                        |     r2 = r5;
    0x00016cb0 ldr.w r7, [fp]                                    |     r7 = *(fp);
    0x00016cb4 str r7, [sp]                                      |     *(sp) = r7;
    0x00016cb6 blx 0x5a10                                        |     json_variant_dump ();
    0x00016cba movs r1, 0                                        |     r1 = 0;
    0x00016cbc mov sl, r0                                        |     sl = r0;
    0x00016cbe mov.w r2, 0x100                                   |     r2 = 0x100;
    0x00016cc2 mov r0, sb                                        |     r0 = sb;
    0x00016cc4 blx 0x5d50                                        |     fcn_00005d50 ();
    0x00016cc8 mov r2, r5                                        |     r2 = r5;
    0x00016cca mov r3, r6                                        |     r3 = r6;
    0x00016ccc mov r0, sb                                        |     r0 = sb;
    0x00016cce mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00016cd2 blx 0x5ed0                                        |     fcn_00005ed0 ();
    0x00016cd6 ldr r1, [pc, 0x374]                               |     
    0x00016cd8 mov r3, r0                                        |     r3 = r0;
    0x00016cda mov r2, sl                                        |     r2 = sl;
    0x00016cdc movs r0, 1                                        |     r0 = 1;
    0x00016cde add r1, pc                                        |     r1 = 0x2dd30;
    0x00016ce0 blx 0x68e0                                        |     touch ();
    0x00016ce4 ldr.w sb, [r4, 8]                                 |     sb = *((r4 + 8));
    0x00016ce8 cmp.w sb, 0                                       |     
                                                                 |     if (sb != 0) {
    0x00016cec bne.w 0x1773e                                     |         goto label_130;
                                                                 |     }
                                                                 | label_25:
    0x00016cf0 ldr r6, [r4, 0x38]                                |     r6 = *((r4 + 0x38));
    0x00016cf2 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00016cf4 beq 0x16d7a                                       |         goto label_131;
                                                                 |     }
    0x00016cf6 ldr r3, [r6]                                      |     r3 = *(r6);
    0x00016cf8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016cfa beq 0x16d7a                                       |         goto label_131;
                                                                 |     }
    0x00016cfc ldr.w r8, [pc, 0x350]                             |     
    0x00016d00 add r5, sp, 0xb0                                  |     r5 += c;
    0x00016d02 ldr.w fp, [pc, 0x350]                             |     
    0x00016d06 mov sb, r4                                        |     sb = r4;
    0x00016d08 ldr.w sl, [pc, 0x34c]                             |     
    0x00016d0c add r8, pc                                        |     r8 = 0x2dd60;
    0x00016d0e ldr r7, [sp, 0x4c]                                |     r7 = *(arg_4ch);
    0x00016d10 str.w r8, [sp, 0x44]                              |     __asm ("str.w r8, [arg_44h]");
    0x00016d14 add fp, pc                                        |     fp = 0x2dd6e;
    0x00016d16 ldr.w r8, [sp, 0x54]                              |     r8 = *(arg_54h);
    0x00016d1a add sl, pc                                        |     sl = 0x2dd76;
    0x00016d1c str.w sl, [sp, 0x48]                              |     __asm ("str.w sl, [arg_48h]");
    0x00016d1e adr r0, 0x120                                     |     r0 = 0x120;
                                                                 |     do {
    0x00016d20 mvn r3, 0x15                                      |         r3 = ~0x15;
    0x00016d24 mov r2, r5                                        |         r2 = r5;
    0x00016d26 str r3, [r5]                                      |         *(r5) = r3;
    0x00016d28 ldr r0, [sp, 0x2c]                                |         r0 = *(arg_2ch);
    0x00016d2a ldr r1, [r6]                                      |         r1 = *(r6);
    0x00016d2c bl 0x1ae00                                        |         fcn_0001ae00 (r0, r1, r2, r3, r4, r5, r6);
    0x00016d30 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016d32 blx 0x6754                                        |         lookup_paths_init ();
    0x00016d36 mov r2, r8                                        |         r2 = r8;
    0x00016d38 mov r1, r7                                        |         r1 = r7;
    0x00016d3a bl 0x12d1c                                        |         fcn_00012d1c (r0, r1, r2);
    0x00016d3e ldr.w r3, [sb, 0x38]                              |         r3 = *((sb + 0x38));
    0x00016d42 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016d44 ldr r4, [r7]                                      |         r4 = *(r7);
    0x00016d46 cmp r3, r6                                        |         
    0x00016d48 ldr r3, [sp, 0x48]                                |         r3 = *(arg_48h);
    0x00016d4a ite eq                                            |         
                                                                 |         if (r3 != r6) {
    0x00016d4c moveq sl, fp                                      |             sl = fp;
                                                                 |         }
                                                                 |         if (r3 == r6) {
    0x00016d4e movne sl, r3                                      |             sl = r3;
                                                                 |         }
    0x00016d50 blx 0x68bc                                        |         printf_chk ();
    0x00016d54 blx 0x6198                                        |         fcn_00006198 ();
    0x00016d58 ldr r1, [r6]                                      |         r1 = *(r6);
    0x00016d5a mov r3, r4                                        |         r3 = r4;
    0x00016d5c str r0, [sp]                                      |         *(sp) = r0;
    0x00016d5e mov r2, sl                                        |         r2 = sl;
    0x00016d60 movs r0, 1                                        |         r0 = 1;
    0x00016d62 str r1, [sp, 8]                                   |         var_8h = r1;
    0x00016d64 ldr.w r1, [r8]                                    |         r1 = *(r8);
    0x00016d68 str r1, [sp, 4]                                   |         var_4h = r1;
    0x00016d6a ldr r1, [sp, 0x44]                                |         r1 = *(arg_44h);
    0x00016d6c blx 0x68e0                                        |         touch ();
    0x00016d70 ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00016d74 cmp r3, 0                                         |         
    0x00016d76 bne 0x16d20                                       |         
                                                                 |     } while (r3 != 0);
    0x00016d78 mov r4, sb                                        |     r4 = sb;
                                                                 | label_131:
    0x00016d7a ldr r1, [pc, 0x2e0]                               |     
    0x00016d7c ldr r0, [r4]                                      |     r0 = *(r4);
    0x00016d7e add r1, pc                                        |     r1 = 0x2dde0;
    0x00016d80 blx 0x5d68                                        |     r0 = fcn_00005d68 ();
    0x00016d84 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00016d86 beq 0x16e0a                                       |         
    0x00016d88 vldr d16, [r4, 0xe0]                              |         __asm ("vldr d16, [r4, 0xe0]");
    0x00016d8c vldr d17, [r4, 0xe8]                              |         __asm ("vldr d17, [r4, 0xe8]");
    0x00016d90 add r6, sp, 0xa0                                  |         r6 += arg_a0h;
    0x00016d92 add r5, sp, 0xb0                                  |         r5 += c;
    0x00016d94 mov r0, r6                                        |         r0 = r6;
    0x00016d96 vstr d16, [sp, 0xb0]                              |         __asm ("vstr d16, [sp, 0xb0]");
    0x00016d9a vstr d17, [sp, 0xb8]                              |         __asm ("vstr d17, [sp, 0xb8]");
    0x00016d9c subs r6, r5, r4                                   |         r6 = r5 - r4;
    0x00016d9e blx 0x5e1c                                        |         fcn_00005e1c ();
    0x00016da2 mov r1, r5                                        |         r1 = r5;
    0x00016da4 mov r0, r6                                        |         r0 = r6;
    0x00016da6 bl 0xf628                                         |         r0 = fcn_0000f628 (r0, r1, r2);
    0x00016daa subs r2, r0, 1                                    |         r2 = r0 - 1;
    0x00016dac mov r5, r0                                        |         r5 = r0;
    0x00016dae adc r3, r1, -1                                    |         __asm ("adc r3, r1, -1");
    0x00016db2 adds r2, 2                                        |         r2 += 2;
    0x00016db4 sbcs r3, r3, -1                                   |         __asm ("sbcs r3, r3, -1");
    0x00016db8 mov sl, r1                                        |         sl = r1;
                                                                 |         if (r2 >= 2) {
    0x00016dba bhs.w 0x179a8                                     |             goto label_132;
                                                                 |         }
    0x00016dbe add r3, sp, 0x2c4                                 |         r3 += arg_2c4h;
    0x00016dc0 movs r2, 0x26                                     |         r2 = 0x26;
    0x00016dc2 movs r1, 0                                        |         r1 = 0;
    0x00016dc4 mov r0, r3                                        |         r0 = r3;
    0x00016dc6 blx 0x5d50                                        |         fcn_00005d50 ();
    0x00016dca ldr r2, [sp, 0x3c]                                |         r2 = *(arg_3ch);
    0x00016dcc movs r1, 0x26                                     |         r1 = 0x26;
    0x00016dce ldr r3, [pc, 0x278]                               |         
    0x00016dd0 add r6, sp, 0x3c4                                 |         r6 += arg_3c4h;
    0x00016dd2 ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x00016dd4 mov r2, r5                                        |         r2 = r5;
    0x00016dd6 ldr r3, [r3]                                      |         r3 = *(0x1704a);
    0x00016dd8 str r3, [sp]                                      |         *(sp) = r3;
    0x00016dda mov r3, sl                                        |         r3 = sl;
    0x00016ddc blx 0x5a10                                        |         json_variant_dump ();
    0x00016dde cdp p1, 1, c2, c8, c0, 0                          |         __asm ("cdp p1, 1, c2, c8, c0, 0");
    0x00016de2 mov sb, r0                                        |         sb = r0;
    0x00016de4 mov.w r2, 0x100                                   |         r2 = 0x100;
    0x00016de8 mov r0, r6                                        |         r0 = r6;
    0x00016dea blx 0x5d50                                        |         fcn_00005d50 ();
    0x00016dec vext.16 d4, d2, d26, 3                            |         __asm ("vext.16 d4, d2, d26, 3");
    0x00016df0 mov r3, sl                                        |         r3 = sl;
    0x00016df2 mov.w r1, 0x100                                   |         r1 = 0x100;
    0x00016df6 mov r0, r6                                        |         r0 = r6;
    0x00016df8 blx 0x5ed0                                        |         fcn_00005ed0 ();
    0x00016dfc ldr r1, [pc, 0x260]                               |         
    0x00016dfe mov r3, r0                                        |         r3 = r0;
    0x00016e00 mov r2, sb                                        |         r2 = sb;
    0x00016e02 movs r0, 1                                        |         r0 = 1;
    0x00016e04 add r1, pc                                        |         r1 = 0x2de68;
    0x00016e06 blx 0x68e0                                        |         touch ();
    0x00016e08 invalid                                           |         
                                                                 |     }
                                                                 | label_38:
    0x00016e0a ldr r6, [r4, 0x3c]                                |     r6 = *((r4 + 0x3c));
    0x00016e0c cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00016e0e beq 0x16e82                                       |         goto label_133;
                                                                 |     }
    0x00016e10 ldr r3, [r6]                                      |     r3 = *(r6);
    0x00016e12 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00016e14 beq 0x16e82                                       |         goto label_133;
                                                                 |     }
    0x00016e16 ldr.w fp, [pc, 0x24c]                             |     
    0x00016e1a add r5, sp, 0xb0                                  |     r5 += c;
    0x00016e1c ldr.w sl, [pc, 0x248]                             |     
    0x00016e20 ldr.w sb, [pc, 0x248]                             |     
    0x00016e24 ldr r7, [sp, 0x4c]                                |     r7 = *(arg_4ch);
    0x00016e26 add fp, pc                                        |     fp = 0x2de90;
    0x00016e28 ldr.w r8, [sp, 0x54]                              |     r8 = *(arg_54h);
    0x00016e2c add sl, pc                                        |     sl = 0x2de98;
    0x00016e2e add sb, pc                                        |     sb = 0x2de9e;
    0x00016e30 str.w sb, [sp, 0x44]                              |     __asm ("str.w sb, [arg_44h]");
                                                                 |     do {
    0x00016e34 mvn r3, 0x15                                      |         r3 = ~0x15;
    0x00016e38 mov r2, r5                                        |         r2 = r5;
    0x00016e3a str r3, [r5]                                      |         *(r5) = r3;
    0x00016e3c ldr r0, [sp, 0x2c]                                |         r0 = *(arg_2ch);
    0x00016e3e ldr r1, [r6]                                      |         r1 = *(r6);
    0x00016e40 bl 0x1ae00                                        |         fcn_0001ae00 (r0, r1, r2, r3, r4, r5, r6);
    0x00016e44 ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016e46 blx 0x6754                                        |         lookup_paths_init ();
    0x00016e4a mov r2, r8                                        |         r2 = r8;
    0x00016e4c mov r1, r7                                        |         r1 = r7;
    0x00016e4e bl 0x12d1c                                        |         fcn_00012d1c (r0, r1, r2);
    0x00016e52 ldr r3, [r4, 0x3c]                                |         r3 = *((r4 + 0x3c));
    0x00016e54 movs r0, 7                                        |         r0 = 7;
    0x00016e56 cmp r3, r6                                        |         
    0x00016e58 ite eq                                            |         
                                                                 |         if (r3 != r6) {
    0x00016e5a moveq sb, fp                                      |             sb = fp;
                                                                 |         }
                                                                 |         if (r3 == r6) {
    0x00016e5c movne sb, sl                                      |             sb = sl;
                                                                 |         }
    0x00016e5e blx 0x6198                                        |         fcn_00006198 ();
    0x00016e62 ldr r3, [r6]                                      |         r3 = *(r6);
    0x00016e64 mov r2, sb                                        |         r2 = sb;
    0x00016e66 str r0, [sp]                                      |         *(sp) = r0;
    0x00016e68 movs r0, 1                                        |         r0 = 1;
    0x00016e6a str r3, [sp, 8]                                   |         var_8h = r3;
    0x00016e6c ldr.w r1, [r8]                                    |         r1 = *(r8);
    0x00016e70 ldr r3, [r7]                                      |         r3 = *(r7);
    0x00016e72 str r1, [sp, 4]                                   |         var_4h = r1;
    0x00016e74 ldr r1, [sp, 0x44]                                |         r1 = *(arg_44h);
    0x00016e76 blx 0x68e0                                        |         touch ();
    0x00016e7a ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00016e7e cmp r3, 0                                         |         
    0x00016e80 bne 0x16e34                                       |         
                                                                 |     } while (r3 != 0);
                                                                 | label_133:
    0x00016e82 ldrb.w r3, [r4, 0xc0]                             |     r3 = *((r4 + 0xc0));
                                                                 |     if (r3 == 0) {
    0x00016e86 cbnz r3, 0x16e92                                  |         
    0x00016e88 ldrd r3, r2, [r4, 0xb8]                           |         __asm ("ldrd r3, r2, [r4, 0xb8]");
    0x00016e8c orrs r3, r2                                       |         r3 |= r2;
                                                                 |         if (r3 != r2) {
    0x00016e8e bne.w 0x17c7c                                     |             goto label_134;
                                                                 |         }
                                                                 |     }
                                                                 | label_53:
    0x00016e92 ldrb.w r3, [r4, 0xd0]                             |     r3 = *((r4 + 0xd0));
                                                                 |     if (r3 == 0) {
    0x00016e96 cbnz r3, 0x16ea2                                  |         
    0x00016e98 ldrd r3, r2, [r4, 0xc8]                           |         __asm ("ldrd r3, r2, [r4, 0xc8]");
    0x00016e9c orrs r3, r2                                       |         r3 |= r2;
                                                                 |         if (r3 != r2) {
    0x00016e9e bne.w 0x17b42                                     |             goto label_135;
                                                                 |         }
                                                                 |     }
                                                                 | label_47:
    0x00016ea2 ldr.w r2, [r4, 0x104]                             |     r2 = *((r4 + 0x104));
                                                                 |     if (r2 != 0) {
    0x00016ea6 cbz r2, 0x16eb2                                   |         
    0x00016ea8 ldr r1, [pc, 0x1c4]                               |         
    0x00016eaa movs r0, 1                                        |         r0 = 1;
    0x00016eac add r1, pc                                        |         r1 = 0x2df20;
    0x00016eae blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00016eb2 ldr.w r2, [r4, 0x108]                             |     r2 = *((r4 + 0x108));
                                                                 |     if (r2 != 0) {
    0x00016eb6 cbz r2, 0x16ec2                                   |         
    0x00016eb8 ldr r1, [pc, 0x1b8]                               |         
    0x00016eba movs r0, 1                                        |         r0 = 1;
    0x00016ebc add r1, pc                                        |         r1 = 0x2df34;
    0x00016ebe blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00016ec2 ldr.w r2, [r4, 0x10c]                             |     r2 = *((r4 + 0x10c));
                                                                 |     if (r2 != 0) {
    0x00016ec6 cbz r2, 0x16ed2                                   |         
    0x00016ec8 ldr r1, [pc, 0x1ac]                               |         
    0x00016eca movs r0, 1                                        |         r0 = 1;
    0x00016ecc add r1, pc                                        |         r1 = 0x2df48;
    0x00016ece blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00016ed2 ldr r6, [r4, 0x24]                                |     r6 = *((r4 + 0x24));
                                                                 |     if (r6 == 0) {
    0x00016ed4 cbz r6, 0x16f2a                                   |         goto label_136;
                                                                 |     }
    0x00016ed6 ldr r3, [r6]                                      |     r3 = *(r6);
                                                                 |     if (r3 == 0) {
    0x00016ed8 cbz r3, 0x16f2a                                   |         goto label_136;
                                                                 |     }
    0x00016eda ldr.w fp, [pc, 0x1a0]                             |     
    0x00016ede add r5, sp, 0xb0                                  |     r5 += c;
    0x00016ee0 ldr.w sl, [pc, 0x19c]                             |     
    0x00016ee4 ldr.w sb, [pc, 0x19c]                             |     
    0x00016ee8 add fp, pc                                        |     fp = 0x2df6a;
    0x00016eea add sl, pc                                        |     sl = 0x2df6e;
    0x00016eec add sb, pc                                        |     sb = 0x2df74;
                                                                 |     do {
    0x00016eee movs r1, 0                                        |         r1 = 0;
    0x00016ef0 mov r2, r5                                        |         r2 = r5;
    0x00016ef2 str r1, [r5]                                      |         *(r5) = r1;
    0x00016ef4 ldr r0, [r6]                                      |         r0 = *(r6);
    0x00016ef6 blx 0x6378                                        |         r0 = fcn_00006378 ();
    0x00016efa cmp r0, 0                                         |         
    0x00016efc mov.w r2, 9                                       |         r2 = 9;
    0x00016efe lsls r1, r1, 8                                    |         r1 <<= 8;
    0x00016f00 it lt                                             |         
                                                                 |         if (r1 >= r1) {
    0x00016f02 ldrlt r3, [r6]                                    |             r3 = *(r6);
                                                                 |         }
    0x00016f04 mov r1, sb                                        |         r1 = sb;
    0x00016f06 it ge                                             |         
                                                                 |         if (r1 < r1) {
    0x00016f08 ldrge r3, [r5]                                    |             r3 = *(r5);
                                                                 |         }
    0x00016f0a movs r0, 1                                        |         r0 = 1;
    0x00016f0c str r3, [sp]                                      |         *(sp) = r3;
    0x00016f0e ldr r3, [r4, 0x24]                                |         r3 = *((r4 + 0x24));
    0x00016f10 cmp r3, r6                                        |         
    0x00016f12 ite eq                                            |         
                                                                 |         if (r3 != r6) {
    0x00016f14 moveq r3, fp                                      |             r3 = fp;
                                                                 |         }
                                                                 |         if (r3 == r6) {
    0x00016f16 movne r3, sl                                      |             r3 = sl;
                                                                 |         }
    0x00016f18 blx 0x68e0                                        |         touch ();
    0x00016f1c ldr r0, [r5]                                      |         r0 = *(r5);
    0x00016f1e blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00016f22 ldr r3, [r6, 4]!                                  |         r3 = *((r6 += 4));
    0x00016f26 cmp r3, 0                                         |         
    0x00016f28 bne 0x16eee                                       |         
                                                                 |     } while (r3 != 0);
                                                                 | label_136:
    0x00016f2a ldr.w r5, [r4, 0x100]                             |     r5 = *((r4 + 0x100));
    0x00016f2e cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00016f30 beq.w 0x170bc                                     |         goto label_137;
                                                                 |     }
    0x00016f34 ldr.w sl, [pc, 0x150]                             |     
    0x00016f38 ldr.w sb, [pc, 0x150]                             |     
    0x00016f3c ldr r6, [pc, 0x150]                               |     
    0x00016f3e add sl, pc                                        |     sl = 0x2dfca;
    0x00016f40 add sb, pc                                        |     sb = 0x2dfd0;
    0x00016f42 add r6, pc                                        |     r6 = 0x2dfd6;
    0x00016f44 b 0x170b6                                         |     
                                                                 |     while (r3 != 0) {
    0x00017094 ldr r2, [r5, 4]                                   |         r2 = *((r5 + 4));
                                                                 |         if (r2 == 0) {
    0x00017096 cbz r2, 0x170bc                                   |             goto label_137;
                                                                 |         }
    0x00017098 strd r2, r3, [sp]                                 |         __asm ("strd r2, r3, [sp]");
    0x0001709c mov r1, r6                                        |         r1 = r6;
    0x0001709e ldr.w r3, [r4, 0x100]                             |         r3 = *((r4 + 0x100));
    0x000170a2 movs r2, 9                                        |         r2 = 9;
    0x000170a4 movs r0, 1                                        |         r0 = 1;
    0x000170a6 cmp r3, r5                                        |         
    0x000170a8 add.w r5, r5, 8                                   |         r5 += 8;
    0x000170ac ite eq                                            |         
                                                                 |         if (r3 != r5) {
    0x000170ae moveq r3, sl                                      |             r3 = sl;
                                                                 |         }
                                                                 |         if (r3 == r5) {
    0x000170b0 movne r3, sb                                      |             r3 = sb;
                                                                 |         }
    0x000170b2 blx 0x68e0                                        |         touch ();
    0x000170b6 ldr r3, [r5]                                      |         r3 = *(r5);
    0x000170b8 cmp r3, 0                                         |         
    0x000170ba bne 0x17094                                       |         
                                                                 |     }
                                                                 | label_137:
    0x000170bc ldrb.w r3, [r4, 0xfc]                             |     r3 = *((r4 + 0xfc));
    0x000170c0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000170c2 bne.w 0x17974                                     |         goto label_138;
                                                                 |     }
                                                                 | label_37:
    0x000170c6 ldr.w fp, [r4, 0x198]                             |     fp = *((r4 + 0x198));
    0x000170ca cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x000170ce beq 0x17108                                       |         goto label_139;
                                                                 |     }
    0x000170d0 ldr.w r3, [pc, 0xd24]                             |     
    0x000170d4 mov r6, fp                                        |     r6 = fp;
    0x000170d6 ldr.w sb, [pc, 0xd24]                             |     
    0x000170da ldr.w fp, [sp, 0x54]                              |     fp = *(arg_54h);
    0x000170de add r3, pc                                        |     r3 = 0x2eeda;
    0x000170e0 str r3, [sp, 0x44]                                |     *(arg_44h) = r3;
    0x000170e2 add sb, pc                                        |     sb = 0x2eee4;
    0x000170e4 ldr.w r3, [pc, 0xd18]                             |     
    0x000170e8 add r3, pc                                        |     r3 = 0x2eeec;
    0x000170ea str r3, [sp, 0x48]                                |     *(arg_48h) = r3;
                                                                 |     do {
    0x000170ec mov r5, r6                                        |         r5 = r6;
    0x000170ee ldr r6, [r6, 0x30]                                |         r6 = *((r6 + 0x30));
    0x000170f0 ldr r3, [r5, 0x24]                                |         r3 = *((r5 + 0x24));
                                                                 |         if (r3 != 0) {
    0x000170f2 cbz r3, 0x17104                                   |             
    0x000170f4 ldr r0, [r5]                                      |             r0 = *(r5);
    0x000170f6 mov r1, sb                                        |             r1 = sb;
    0x000170f8 blx 0x5d68                                        |             r0 = fcn_00005d68 ();
    0x000170fc mov r3, r0                                        |             r3 = r0;
    0x000170fe cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x00017100 beq.w 0x175cc                                     |                 goto label_140;
                                                                 |             }
                                                                 |         }
                                                                 | label_20:
    0x00017104 cmp r6, 0                                         |         
    0x00017106 bne 0x170ec                                       |         
                                                                 |     } while (r6 != 0);
                                                                 | label_139:
    0x00017108 ldr r2, [r4, 0x7c]                                |     r2 = *((r4 + 0x7c));
    0x0001710a cmp r2, 0                                         |     
                                                                 |     if (r2 <= 0) {
    0x0001710c ble.w 0x1787c                                     |         goto label_141;
                                                                 |     }
    0x00017110 ldr.w r1, [pc, 0xcf0]                             |     
    0x00017114 movs r0, 1                                        |     r0 = 1;
    0x00017116 add r1, pc                                        |     r1 = 0x2ef1e;
    0x00017118 blx 0x68e0                                        |     touch ();
    0x0001711c ldrb.w r3, [r4, 0x8c]                             |     r3 = *((r4 + 0x8c));
    0x00017120 lsls r3, r3, 0x1f                                 |     r3 <<= 0x1f;
                                                                 |     if (r3 >= r3) {
    0x00017122 bpl.w 0x17c28                                     |         goto label_142;
                                                                 |     }
    0x00017126 ldr.w r3, [pc, 0xce0]                             |     
    0x0001712a ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x0001712c ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0001712e ldr r3, [r3]                                      |     r3 = *(0x17e0a);
    0x00017130 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00017132 beq.w 0x17ffa                                     |         goto label_143;
                                                                 |     }
                                                                 | label_50:
    0x00017136 ldr.w r3, [r4, 0x80]                              |     r3 = *((r4 + 0x80));
    0x0001713a cmp r3, 0                                         |     
                                                                 |     if (r3 > 0) {
    0x0001713c bgt.w 0x179d4                                     |         goto label_144;
                                                                 |     }
    0x0001713e strh r2, [r1, 0x22]                               |     *((r1 + 0x22)) = r2;
                                                                 | label_28:
    0x00017140 movs r0, 0xa                                      |     r0 = 0xa;
    0x00017142 blx 0x5d1c                                        |     get_process_comm ();
                                                                 | label_27:
    0x00017146 ldr.w r2, [r4, 0x84]                              |     r2 = *((r4 + 0x84));
                                                                 |     if (r2 != 0) {
    0x0001714a cbz r2, 0x17158                                   |         
    0x0001714c ldr.w r1, [pc, 0xcbc]                             |         
    0x00017150 movs r0, 1                                        |         r0 = 1;
    0x00017152 add r1, pc                                        |         r1 = 0x2ef62;
    0x00017154 blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00017158 ldr.w r5, [r4, 0x90]                              |     r5 = *((r4 + 0x90));
    0x0001715c cmp r5, 0                                         |     
                                                                 |     if (r5 > 0) {
    0x0001715e ble 0x17176                                       |         
    0x00017160 mov r0, r5                                        |         r0 = r5;
    0x00017162 blx 0x5b98                                        |         fcn_00005b98 ();
    0x00017166 ldr.w r1, [pc, 0xca8]                             |         
    0x0001716a mov r3, r0                                        |         r3 = r0;
    0x0001716c mov r2, r5                                        |         r2 = r5;
    0x0001716e movs r0, 1                                        |         r0 = 1;
    0x00017170 add r1, pc                                        |         r1 = 0x2ef86;
    0x00017172 blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00017176 ldrd r2, r3, [r4, 0x168]                          |     __asm ("ldrd r2, r3, [r4, 0x168]");
    0x0001717a cmp.w r3, -1                                      |     
    0x0001717e it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x00017180 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x00017184 beq 0x171d4                                       |         
    0x00017186 ldrd r0, r1, [r4, 0x170]                          |         __asm ("ldrd r0, r1, [r4, 0x170]");
    0x0001718a cmp.w r1, -1                                      |         
    0x0001718e it eq                                             |         
                                                                 |         if (r1 == -1) {
    0x00017190 cmpeq r0, -1                                      |             __asm ("cmpeq r0, -1");
                                                                 |         }
                                                                 |         if (r1 == -1) {
    0x00017194 beq 0x171d4                                       |             goto label_145;
                                                                 |         }
    0x00017196 movs r5, 0                                        |         r5 = 0;
    0x00017198 movs r6, 7                                        |         r6 = 7;
    0x0001719a add r0, sp, 0x3c4                                 |         r0 += arg_3c4h;
    0x0001719c str r6, [sp]                                      |         *(sp) = r6;
    0x0001719e movs r1, 0x10                                     |         r1 = 0x10;
    0x000171a0 strd r5, r5, [r0]                                 |         __asm ("strd r5, r5, [r0]");
    0x000171a4 strd r5, r5, [r0, 8]                              |         __asm ("strd r5, r5, [r0, 8]");
    0x000171a8 blx 0x651c                                        |         fcn_0000651c ();
    0x000171ac str r6, [sp]                                      |         *(sp) = r6;
    0x000171ae mov r6, r0                                        |         r6 = r0;
    0x000171b0 add r0, sp, 0x2c4                                 |         r0 += arg_2c4h;
    0x000171b2 ldrd r2, r3, [r4, 0x170]                          |         __asm ("ldrd r2, r3, [r4, 0x170]");
    0x000171b6 movs r1, 0x10                                     |         r1 = 0x10;
    0x000171b8 strd r5, r5, [r0]                                 |         __asm ("strd r5, r5, [r0]");
    0x000171bc strd r5, r5, [r0, 8]                              |         __asm ("strd r5, r5, [r0, 8]");
    0x000171c0 blx 0x651c                                        |         fcn_0000651c ();
    0x000171c4 ldr.w r1, [pc, 0xc4c]                             |         
    0x000171c8 mov r3, r0                                        |         r3 = r0;
    0x000171ca mov r2, r6                                        |         r2 = r6;
    0x000171cc movs r0, 1                                        |         r0 = 1;
    0x000171ce add r1, pc                                        |         r1 = 0x2efe6;
    0x000171d0 blx 0x68e0                                        |         touch ();
                                                                 |     }
                                                                 | label_145:
    0x000171d4 ldrd r2, r3, [r4, 0x178]                          |     __asm ("ldrd r2, r3, [r4, 0x178]");
    0x000171d8 cmp.w r3, -1                                      |     
    0x000171dc it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x000171de cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x000171e2 beq 0x17232                                       |         
    0x000171e4 ldrd r0, r1, [r4, 0x180]                          |         __asm ("ldrd r0, r1, [r4, 0x180]");
    0x000171e8 cmp.w r1, -1                                      |         
    0x000171ec it eq                                             |         
                                                                 |         if (r1 == -1) {
    0x000171ee cmpeq r0, -1                                      |             __asm ("cmpeq r0, -1");
                                                                 |         }
                                                                 |         if (r1 == -1) {
    0x000171f2 beq 0x17232                                       |             goto label_146;
                                                                 |         }
    0x000171f4 movs r5, 0                                        |         r5 = 0;
    0x000171f6 movs r6, 7                                        |         r6 = 7;
    0x000171f8 add r0, sp, 0x3c4                                 |         r0 += arg_3c4h;
    0x000171fa str r6, [sp]                                      |         *(sp) = r6;
    0x000171fc movs r1, 0x10                                     |         r1 = 0x10;
    0x000171fe strd r5, r5, [r0]                                 |         __asm ("strd r5, r5, [r0]");
    0x00017202 strd r5, r5, [r0, 8]                              |         __asm ("strd r5, r5, [r0, 8]");
    0x00017206 blx 0x651c                                        |         fcn_0000651c ();
    0x00017208 invalid                                           |         
    0x0001720c mov r6, r0                                        |         r6 = r0;
    0x0001720e add r0, sp, 0x2c4                                 |         r0 += arg_2c4h;
    0x00017210 ldrd r2, r3, [r4, 0x180]                          |         __asm ("ldrd r2, r3, [r4, 0x180]");
    0x00017212 movs r3, 0x60                                     |         r3 = 0x60;
    0x00017214 movs r1, 0x10                                     |         r1 = 0x10;
    0x00017216 strd r5, r5, [r0]                                 |         __asm ("strd r5, r5, [r0]");
    0x00017218 strb r0, [r0, r4]                                 |         *((r0 + r4)) = r0;
    0x0001721a strd r5, r5, [r0, 8]                              |         __asm ("strd r5, r5, [r0, 8]");
    0x0001721e blx 0x651c                                        |         fcn_0000651c ();
    0x00017222 ldr.w r1, [pc, 0xbf4]                             |         
    0x00017226 mov r3, r0                                        |         r3 = r0;
    0x00017228 mov r2, r6                                        |         r2 = r6;
    0x0001722a movs r0, 1                                        |         r0 = 1;
    0x0001722c add r1, pc                                        |         r1 = 0x2f04a;
    0x0001722e blx 0x68e0                                        |         touch ();
                                                                 |     }
                                                                 | label_146:
    0x00017232 ldrd r2, r3, [r4, 0x158]                          |     __asm ("ldrd r2, r3, [r4, 0x158]");
    0x00017236 cmp.w r3, -1                                      |     
    0x0001723a it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x0001723c cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x00017240 beq 0x1726c                                       |         
    0x00017242 ldr.w r1, [pc, 0xbd8]                             |         
    0x00017246 movs r0, 1                                        |         r0 = 1;
    0x00017248 add r1, pc                                        |         r1 = 0x2f06a;
    0x0001724a blx 0x68e0                                        |         touch ();
    0x0001724e ldrd r2, r3, [r4, 0x160]                          |         __asm ("ldrd r2, r3, [r4, 0x160]");
    0x00017252 cmp.w r3, -1                                      |         
    0x00017256 it eq                                             |         
                                                                 |         if (r3 == -1) {
    0x00017258 cmpeq r2, -1                                      |             __asm ("cmpeq r2, -1");
                                                                 |         }
                                                                 |         if (r3 == -1) {
    0x0001725c beq.w 0x17c6a                                     |             goto label_147;
                                                                 |         }
    0x00017260 ldr.w r1, [pc, 0xbbc]                             |         
    0x00017264 movs r0, 1                                        |         r0 = 1;
    0x00017266 add r1, pc                                        |         r1 = 0x2f08a;
    0x00017268 blx 0x68e0                                        |         touch ();
                                                                 |     }
                                                                 | label_51:
    0x0001726c ldrd r2, r3, [r4, 0x110]                          |     __asm ("ldrd r2, r3, [r4, 0x110]");
    0x00017270 cmp.w r3, -1                                      |     
    0x00017274 it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x00017276 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 == -1) {
    0x0001727a beq.w 0x174c4                                     |         goto label_148;
                                                                 |     }
    0x0001727e movs r1, 7                                        |     r1 = 7;
    0x00017280 add r0, sp, 0x3c4                                 |     r0 += arg_3c4h;
    0x00017282 str r1, [sp]                                      |     *(sp) = r1;
    0x00017284 movs r1, 0                                        |     r1 = 0;
    0x00017286 strd r1, r1, [r0]                                 |     __asm ("strd r1, r1, [r0]");
    0x0001728a strd r1, r1, [r0, 8]                              |     __asm ("strd r1, r1, [r0, 8]");
    0x0001728e movs r1, 0x10                                     |     r1 = 0x10;
    0x00017290 blx 0x651c                                        |     fcn_0000651c ();
    0x00017294 ldr.w r1, [pc, 0xb8c]                             |     
    0x00017298 mov r2, r0                                        |     r2 = r0;
    0x0001729a movs r0, 1                                        |     r0 = 1;
    0x0001729c add r1, pc                                        |     r1 = 0x2f0c4;
    0x0001729e blx 0x68e0                                        |     touch ();
    0x000172a2 ldrd r3, r2, [r4, 0x118]                          |     __asm ("ldrd r3, r2, [r4, 0x118]");
    0x000172a6 ldr.w r1, [r4, 0x120]                             |     r1 = *((r4 + 0x120));
    0x000172aa orrs r3, r1                                       |     r3 |= r1;
    0x000172ac ldr.w r1, [r4, 0x124]                             |     r1 = *((r4 + 0x124));
    0x000172b0 orrs r2, r1                                       |     r2 |= r1;
    0x000172b2 orrs r3, r2                                       |     r3 |= r2;
                                                                 |     if (r3 == r2) {
    0x000172b4 bne 0x172f8                                       |         
    0x000172b6 ldrd r2, r3, [r4, 0x128]                          |         __asm ("ldrd r2, r3, [r4, 0x128]");
    0x000172ba ldr.w r1, [r4, 0x130]                             |         r1 = *((r4 + 0x130));
    0x000172be ands r2, r1                                       |         r2 &= r1;
    0x000172c0 ldr.w r1, [r4, 0x134]                             |         r1 = *((r4 + 0x134));
    0x000172c4 ands r3, r1                                       |         r3 &= r1;
    0x000172c6 ldr.w r1, [r4, 0x138]                             |         r1 = *((r4 + 0x138));
    0x000172ca ands r2, r1                                       |         r2 &= r1;
    0x000172cc ldr.w r1, [r4, 0x13c]                             |         r1 = *((r4 + 0x13c));
    0x000172d0 ands r3, r1                                       |         r3 &= r1;
    0x000172d2 ldr.w r1, [r4, 0x148]                             |         r1 = *((r4 + 0x148));
    0x000172d6 ands r2, r1                                       |         r2 &= r1;
    0x000172d8 ldr.w r1, [r4, 0x14c]                             |         r1 = *((r4 + 0x14c));
    0x000172dc ands r3, r1                                       |         r3 &= r1;
    0x000172de ldr.w r1, [r4, 0x140]                             |         r1 = *((r4 + 0x140));
    0x000172e0 asrs r0, r0, 5                                    |         r0 >>= 5;
    0x000172e2 ands r2, r1                                       |         r2 &= r1;
    0x000172e4 ldr.w r1, [r4, 0x144]                             |         r1 = *((r4 + 0x144));
    0x000172e6 asrs r4, r0, 5                                    |         r4 = r0 >> 5;
    0x000172e8 ands r3, r1                                       |         r3 &= r1;
    0x000172ea cmp.w r3, -1                                      |         
    0x000172ee it eq                                             |         
                                                                 |         if (r3 == -1) {
    0x000172f0 cmpeq r2, -1                                      |             __asm ("cmpeq r2, -1");
                                                                 |         }
    0x000172f2 subs r7, 0xff                                     |         r7 -= 0xff;
                                                                 |         if (r7 == 0xff) {
    0x000172f4 beq.w 0x174be                                     |             goto label_149;
                                                                 |         }
                                                                 |     }
    0x000172f8 ldr.w r1, [pc, 0xb2c]                             |     
    0x000172fc movs r0, 1                                        |     r0 = 1;
    0x000172fe add r1, pc                                        |     r1 = 0x2f12a;
    0x00017300 blx 0x68e0                                        |     touch ();
    0x00017304 ldrd r2, r3, [r4, 0x118]                          |     __asm ("ldrd r2, r3, [r4, 0x118]");
    0x00017308 orrs.w r1, r2, r3                                 |     r1 = r2 | r3;
                                                                 |     if (r1 == r2) {
    0x0001730c beq.w 0x179fc                                     |         goto label_150;
                                                                 |     }
    0x00017310 cmp.w r3, -1                                      |     
    0x00017314 it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x00017316 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 == -1) {
    0x0001731a beq.w 0x17fb4                                     |         goto label_151;
                                                                 |     }
    0x0001731e movs r1, 7                                        |     r1 = 7;
    0x00017320 add r0, sp, 0x2c4                                 |     r0 += arg_2c4h;
    0x00017322 str r1, [sp]                                      |     *(sp) = r1;
    0x00017324 movs r1, 0                                        |     r1 = 0;
    0x00017326 strd r1, r1, [r0]                                 |     __asm ("strd r1, r1, [r0]");
    0x0001732a strd r1, r1, [r0, 8]                              |     __asm ("strd r1, r1, [r0, 8]");
    0x0001732e movs r1, 0x10                                     |     r1 = 0x10;
    0x00017330 blx 0x651c                                        |     r0 = fcn_0000651c ();
    0x00017334 mov r3, r0                                        |     r3 = r0;
                                                                 | label_61:
    0x00017336 ldr.w r5, [pc, 0xaf4]                             |     
    0x0001733a movs r0, 1                                        |     r0 = 1;
    0x0001733c ldr.w r2, [pc, 0xaf0]                             |     
    0x00017340 ldr.w r1, [pc, 0xaf0]                             |     
    0x00017344 add r5, pc                                        |     r5 = 0x2f176;
    0x00017346 add r2, pc                                        |     r2 = 0x2f17a;
    0x00017348 add r1, pc                                        |     r1 = 0x2f180;
    0x0001734a blx 0x68e0                                        |     touch ();
                                                                 | label_41:
    0x0001734e ldrd r2, r3, [r4, 0x120]                          |     __asm ("ldrd r2, r3, [r4, 0x120]");
    0x00017352 orrs.w r1, r2, r3                                 |     r1 = r2 | r3;
                                                                 |     if (r1 != r2) {
    0x00017356 beq 0x17392                                       |         
    0x00017358 cmp.w r3, -1                                      |         
    0x0001735c it eq                                             |         
                                                                 |         if (r3 == -1) {
    0x0001735e cmpeq r2, -1                                      |             __asm ("cmpeq r2, -1");
                                                                 |         }
                                                                 |         if (r3 == -1) {
    0x00017362 beq.w 0x17fac                                     |             goto label_152;
                                                                 |         }
    0x00017366 movs r1, 7                                        |         r1 = 7;
    0x00017368 add r0, sp, 0x2c4                                 |         r0 += arg_2c4h;
    0x0001736a str r1, [sp]                                      |         *(sp) = r1;
    0x0001736c movs r1, 0                                        |         r1 = 0;
    0x0001736e strd r1, r1, [r0]                                 |         __asm ("strd r1, r1, [r0]");
    0x00017372 strd r1, r1, [r0, 8]                              |         __asm ("strd r1, r1, [r0, 8]");
    0x00017376 movs r1, 0x10                                     |         r1 = 0x10;
    0x00017378 blx 0x651c                                        |         r0 = fcn_0000651c ();
    0x0001737c mov r3, r0                                        |         r3 = r0;
                                                                 | label_60:
    0x0001737e ldr.w r1, [pc, 0xab8]                             |         
    0x00017382 mov r2, r5                                        |         r2 = r5;
    0x00017384 ldr.w r5, [pc, 0xab4]                             |         
    0x00017388 movs r0, 1                                        |         r0 = 1;
    0x0001738a add r1, pc                                        |         r1 = 0x2f1c8;
    0x0001738c add r5, pc                                        |         r5 = 0x2f1cc;
    0x0001738e blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x00017392 ldrd r2, r3, [r4, 0x128]                          |     __asm ("ldrd r2, r3, [r4, 0x128]");
    0x00017396 cmp.w r3, -1                                      |     
    0x0001739a it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x0001739c cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x000173a0 beq 0x173ce                                       |         
    0x000173a2 movs r1, 7                                        |         r1 = 7;
    0x000173a4 add r0, sp, 0x2c4                                 |         r0 += arg_2c4h;
    0x000173a6 str r1, [sp]                                      |         *(sp) = r1;
    0x000173a8 movs r1, 0                                        |         r1 = 0;
    0x000173aa strd r1, r1, [r0]                                 |         __asm ("strd r1, r1, [r0]");
    0x000173ae strd r1, r1, [r0, 8]                              |         __asm ("strd r1, r1, [r0, 8]");
    0x000173b2 movs r1, 0x10                                     |         r1 = 0x10;
    0x000173b4 blx 0x651c                                        |         fcn_0000651c ();
    0x000173b8 ldr.w r1, [pc, 0xa84]                             |         
    0x000173bc mov r2, r5                                        |         r2 = r5;
    0x000173be ldr.w r5, [pc, 0xa84]                             |         
    0x000173c2 mov r3, r0                                        |         r3 = r0;
    0x000173c4 movs r0, 1                                        |         r0 = 1;
    0x000173c6 add r1, pc                                        |         r1 = 0x2f20a;
    0x000173c8 add r5, pc                                        |         r5 = 0x2f212;
    0x000173ca blx 0x68e0                                        |         touch ();
                                                                 |     }
    0x000173ce ldrd r2, r3, [r4, 0x130]                          |     __asm ("ldrd r2, r3, [r4, 0x130]");
    0x000173d2 cmp.w r3, -1                                      |     
    0x000173d6 it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x000173d8 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
                                                                 |     if (r3 != -1) {
    0x000173dc beq 0x1740a                                       |         
    0x000173de movs r1, 7                                        |         r1 = 7;
    0x000173e0 add r0, sp, 0x2c4                                 |         r0 += arg_2c4h;
    0x000173e2 str r1, [sp]                                      |         *(sp) = r1;
    0x000173e4 movs r1, 0                                        |         r1 = 0;
    0x000173e6 strd r1, r1, [r0]                                 |         __asm ("strd r1, r1, [r0]");
    0x000173ea strd r1, r1, [r0, 8]                              |         __asm ("strd r1, r1, [r0, 8]");
    0x000173ee movs r1, 0x10                                     |         r1 = 0x10;
    0x000173f0 blx 0x651c                                        |         fcn_0000651c ();
    0x000173f4 ldr.w r1, [pc, 0xa50]                             |         
    0x000173f6 subs r0, r2, r1                                   |         r0 = r2 - r1;
    0x000173f8 mov r2, r5                                        |         r2 = r5;
    0x000173fa ldr.w r5, [pc, 0xa50]                             |         
    0x000173fe mov r3, r0                                        |         r3 = r0;
    0x00017400 movs r0, 1                                        |         r0 = 1;
    0x00017402 add r1, pc                                        |         r1 = 0x2f24e;
    0x00017404 add r5, pc                                        |         r5 = 0x2f256;
    0x00017406 blx 0x68e0                                        |         touch ();
    0x00017408 invalid                                           |         
                                                                 |     }
    0x0001740a ldrd r2, r3, [r4, 0x138]                          |     __asm ("ldrd r2, r3, [r4, 0x138]");
    0x0001740e cmp.w r3, -1                                      |     
    0x00017412 it eq                                             |     
                                                                 |     if (r3 == -1) {
    0x00017414 cmpeq r2, -1                                      |         __asm ("cmpeq r2, -1");
                                                                 |     }
    0x00017416 subs r7, 0xff                                     |     r7 -= 0xff;
                                                                 |     if (r7 == 0xff) {
    0x00017418 beq 0x17446                                       |         void (*0x17446)() ();
                                                                 |     }
                                                                 | label_149:
    0x000174be movs r0, 0xa                                      |     r0 = 0xa;
    0x000174c0 blx 0x5d1c                                        |     get_process_comm ();
                                                                 | label_148:
    0x000174c4 ldrd r8, r5, [r4, 0x150]                          |     __asm ("ldrd r8, r5, [r4, 0x150]");
    0x000174c8 cmp.w r5, -1                                      |     
    0x000174cc it eq                                             |     
                                                                 |     if (r5 == -1) {
    0x000174ce cmpeq r8, -1                                      |         __asm ("cmpeq r8, -1");
                                                                 |     }
                                                                 |     if (r5 != -1) {
    0x000174d2 beq 0x17514                                       |         
    0x000174d4 add r6, sp, 0x3c4                                 |         r6 += arg_3c4h;
    0x000174d6 movs r2, 0x40                                     |         r2 = 0x40;
    0x000174d8 movs r1, 0                                        |         r1 = 0;
    0x000174da mov r0, r6                                        |         r0 = r6;
    0x000174dc blx 0x5d50                                        |         fcn_00005d50 ();
    0x000174e0 mov.w sb, 0                                       |         sb = 0;
    0x000174e4 mov r0, r8                                        |         r0 = r8;
    0x000174e6 mov.w r2, 0x3e8                                   |         r2 = 0x3e8;
    0x000174e8 strb r2, [r7, 9]                                  |         *((r7 + 9)) = r2;
    0x000174ea movs r3, 0                                        |         r3 = 0;
    0x000174ec mov r1, r5                                        |         r1 = r5;
    0x000174ee mov.w r8, 0x3e8                                   |         r8 = 0x3e8;
    0x000174f2 bl 0x1ec4c                                        |         fcn_0001ec4c (r0, r1, r2, r3);
    0x000174f6 strd r8, sb, [sp]                                 |         __asm ("strd r8, sb, [sp]");
    0x000174f8 ldrh r0, [r0, 8]                                  |         r0 = *((r0 + 8));
    0x000174fa mov r2, r0                                        |         r2 = r0;
    0x000174fc mov r3, r1                                        |         r3 = r1;
    0x000174fe mov r0, r6                                        |         r0 = r6;
    0x00017500 movs r1, 0x40                                     |         r1 = 0x40;
    0x00017502 blx 0x6790                                        |         strv_free ();
    0x00017506 ldr.w r1, [pc, 0x95c]                             |         
    0x00017508 adds r4, r3, r5                                   |         r4 = r3 + r5;
    0x0001750a mov r2, r0                                        |         r2 = r0;
    0x0001750c movs r0, 1                                        |         r0 = 1;
    0x0001750e add r1, pc                                        |         r1 = 0x2f378;
    0x00017510 blx 0x68e0                                        |         touch ();
    0x00017512 invalid                                           |         
                                                                 |     }
    0x00017514 ldr r2, [r4, 0x30]                                |     r2 = *((r4 + 0x30));
                                                                 |     if (r2 != 0) {
    0x00017516 cbz r2, 0x17578                                   |         
    0x00017518 vmov.i32 d16, 0                                   |         __asm ("vmov.i32 d16, 0");
    0x0001751c movs r3, 0                                        |         r3 = 0;
    0x0001751e ldr.w r1, [pc, 0x948]                             |         
    0x00017522 movs r0, 1                                        |         r0 = 1;
    0x00017524 str r3, [sp, 0xb8]                                |         *(arg_b8h) = r3;
    0x00017526 add r5, sp, 0xb0                                  |         r5 += c;
    0x00017528 vstr d16, [r5]                                    |         __asm ("vstr d16, [r5]");
    0x0001752c add r1, pc                                        |         r1 = 0x2f39a;
    0x0001752e blx 0x68e0                                        |         touch ();
    0x00017532 blx 0x5d40                                        |         bus_print_property_valuef ();
    0x00017534 invalid                                           |         
    0x00017538 ldr r6, [r4]                                      |         r6 = *(r4);
    0x0001753a it lo                                             |         
                                                                 |         if (r0 >= 1) {
    0x0001753c movlo r0, 0xd                                     |             r0 = 0xd;
                                                                 |         }
    0x0001753e ldr.w sb, [r4, 0x30]                              |         sb = *((r4 + 0x30));
    0x00017540 str r0, [sp, 0xc0]                                |         *((sp + 0xc0)) = r0;
    0x00017542 sub.w r8, r0, 0xd                                 |         r8 = r0 - 0xd;
    0x00017546 bl 0x125a0                                        |         fcn_000125a0 ();
    0x0001754a ldr.w r3, [pc, 0x920]                             |         
    0x0001754e mov r1, r6                                        |         r1 = r6;
    0x00017550 str r0, [sp, 4]                                   |         var_4h = r0;
    0x00017552 mov r2, sb                                        |         r2 = sb;
    0x00017554 ldr r0, [sp, 0x2c]                                |         r0 = *(arg_2ch);
    0x00017556 add r3, pc                                        |         r3 = 0x2f3c8;
    0x00017558 str r5, [sp, 8]                                   |         var_8h = r5;
    0x0001755a str.w r8, [sp]                                    |         __asm ("str.w r8, [sp]");
    0x0001755e blx 0x630c                                        |         fcn_0000630c ();
    0x00017560 mrc p1, 6, apsr_nzcv, c6, c0, 0                   |         __asm ("mrc p1, 6, apsr_nzcv, c6, c0, 0");
    0x00017564 lsrs r5, r6, 0x1c                                 |         r5 = r6 >> 0x1c;
    0x00017566 mov r6, r0                                        |         r6 = r0;
                                                                 |         if (r5 == r6) {
    0x00017568 beq.w 0x17af2                                     |             goto label_153;
                                                                 |         }
    0x0001756a strh r3, [r0, 0x16]                               |         *((r0 + 0x16)) = r3;
    0x0001756c cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0001756e blt.w 0x17ab2                                     |             goto label_46;
                                                                 |         }
                                                                 | label_45:
    0x00017572 mov r0, r5                                        |         r0 = r5;
    0x00017574 blx 0x5f0c                                        |         fcn_00005f0c ();
                                                                 |     }
    0x00017578 ldr r1, [r4]                                      |     r1 = *(r4);
                                                                 |     if (r1 != 0) {
    0x0001757a cbz r1, 0x1758c                                   |         
    0x0001757c ldr.w r3, [pc, 0x888]                             |         r3 = *(0x17e08);
    0x00017580 ldr r2, [sp, 0x3c]                                |         r2 = *(arg_3ch);
    0x00017582 ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x00017584 ldr r6, [r3]                                      |         r6 = *(0x17e08);
    0x00017586 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x00017588 beq.w 0x17a04                                     |             goto label_154;
                                                                 |         }
                                                                 |     }
                                                                 | label_42:
    0x0001758c ldrb.w r3, [r4, 0x78]                             |     r3 = *((r4 + 0x78));
    0x00017590 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00017592 bne.w 0x17958                                     |         goto label_155;
                                                                 |     }
    0x00017596 ldr r3, [sp, 0x50]                                |     r3 = *(arg_50h);
    0x00017598 ldr r0, [r3]                                      |     r0 = *(r3);
    0x0001759a blx 0x59e0                                        |     unit_file_state_to_string ();
    0x0001759c invalid                                           |     
                                                                 | label_59:
    0x0001759e ldr r6, [r4, 8]                                   |     r6 = *((r4 + 8));
    0x000175a0 ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x000175a2 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000175a4 beq.w 0x16aee                                     |         goto label_19;
                                                                 |     }
    0x000175a8 ldr.w r3, [pc, 0x8c4]                             |     
    0x000175ac add r3, pc                                        |     r3 = 0x2f420;
    0x000175ae ldm.w r3, {r0, r1, r2}                            |     r0 = *(r3);
                                                                 |     r1 = *((r3 + 4));
                                                                 |     r2 = *((r3 + 8));
    0x000175b0 movs r7, r0                                       |     r7 = r0;
    0x000175b2 add r3, sp, 0x264                                 |     r3 += arg_264h;
    0x000175b4 stm.w r3, {r0, r1, r2}                            |     *(r3) = r0;
                                                                 |     *((r3 + 4)) = r1;
                                                                 |     *((r3 + 8)) = r2;
    0x000175b8 mov r1, r6                                        |     r1 = r6;
    0x000175ba mov r0, r3                                        |     r0 = r3;
    0x000175bc movs r6, 3                                        |     r6 = 3;
    0x000175be blx 0x5914                                        |     r0 = strv_find ();
    0x000175c2 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000175c4 bne.w 0x16aee                                     |         goto label_19;
                                                                 |     }
                                                                 | label_140:
    0x000175cc mov r2, r3                                        |     r2 = r3;
    0x000175ce ldr r1, [sp, 0x44]                                |     r1 = *(arg_44h);
    0x000175d0 ldr r0, [r5, 8]                                   |     r0 = *((r5 + 8));
    0x000175d2 blx 0x5b3c                                        |     bus_log_connect_error ();
    0x000175d6 ldr r2, [r5, 0x20]                                |     r2 = *((r5 + 0x20));
    0x000175d8 mov r7, r0                                        |     r7 = r0;
    0x000175da ldr r3, [r5]                                      |     r3 = *(r5);
    0x000175dc mov r1, r0                                        |     r1 = r0;
    0x000175de cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000175e0 beq.w 0x17736                                     |         goto label_156;
                                                                 |     }
                                                                 | label_26:
    0x000175e4 str r1, [sp]                                      |     *(sp) = r1;
    0x000175e6 movs r0, 1                                        |     r0 = 1;
    0x000175e8 ldr r1, [sp, 0x48]                                |     r1 = *(arg_48h);
    0x000175ea blx 0x68e0                                        |     touch ();
    0x000175ee movs r3, 0                                        |     r3 = 0;
    0x000175f0 ldrd r0, r1, [r5, 0x24]                           |     __asm ("ldrd r0, r1, [r5, 0x24]");
    0x000175f4 mov r2, r3                                        |     r2 = r3;
    0x000175f6 blx 0x6528                                        |     r0 = fcn_00006528 ();
    0x000175fa cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000175fc bne 0x17698                                       |         goto label_157;
                                                                 |     }
    0x000175fe ldrb r3, [r5, 0xc]                                |     r3 = *((r5 + 0xc));
    0x00017600 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00017602 beq.w 0x178d4                                     |         goto label_158;
                                                                 |     }
    0x00017606 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x0001760a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001760c beq.w 0x178de                                     |         goto label_159;
                                                                 |     }
    0x00017610 cmp r0, 2                                         |     
                                                                 |     if (r0 == 2) {
    0x00017612 beq.w 0x17a8a                                     |         goto label_160;
                                                                 |     }
    0x00017616 ldr.w sl, [pc, 0x85c]                             |     
    0x0001761a add sl, pc                                        |     sl = 0x2f494;
                                                                 | label_30:
    0x0001761c ldr r3, [sp, 0x4c]                                |     r3 = *(arg_4ch);
    0x0001761e str.w sl, [r3]                                    |     __asm ("str.w sl, [r3]");
    0x00017622 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017624 orrs.w r8, r0, r0, lsl 8                          |     r8 = r0 | (r0 << 8);
                                                                 |     if (r8 == r0) {
    0x00017628 beq.w 0x178cc                                     |         goto label_161;
                                                                 |     }
    0x0001762c ldr.w r8, [pc, 0x848]                             |     
    0x00017630 add r8, pc                                        |     r8 = 0x2f4ac;
                                                                 | label_29:
    0x00017632 str.w r8, [fp]                                    |     __asm ("str.w r8, [fp]");
                                                                 |     do {
    0x00017636 ldr r0, [r5, 0x24]                                |         r0 = *((r5 + 0x24));
    0x00017638 blx 0x66d0                                        |         memchr (r0, r1, r2);
    0x0001763c ldr.w r1, [pc, 0x83c]                             |         
    0x00017640 mov r3, r0                                        |         r3 = r0;
    0x00017642 mov r2, sl                                        |         r2 = sl;
    0x00017644 movs r0, 1                                        |         r0 = 1;
    0x00017646 add r1, pc                                        |         r1 = 0x2f4c6;
    0x00017648 blx 0x68e0                                        |         touch ();
    0x0001764c ldr.w sl, [r5, 0x24]                              |         sl = *((r5 + 0x24));
    0x00017650 cmp.w sl, 1                                       |         
    0x00017652 lsrs r1, r0, 0x1c                                 |         r1 = r0 >> 0x1c;
                                                                 |         if (r1 == r0) {
    0x00017654 beq 0x176d2                                       |             goto label_162;
                                                                 |         }
    0x00017656 ldr r0, [r5, 0x28]                                |         r0 = *((r5 + 0x28));
    0x00017658 blx 0x6240                                        |         fcn_00006240 ();
    0x0001765a ldcl p8, c15, [r2, 0x37c]!                        |         __asm ("ldcl p8, c15, [r2, 0x37c]!");
    0x0001765e adds r0, r4, r0                                   |         r0 = r4 + r0;
    0x00017660 mov r2, r0                                        |         r2 = r0;
    0x00017662 movs r0, 1                                        |         r0 = 1;
    0x00017664 add r1, pc                                        |         r1 += pc;
    0x00017666 blx 0x68e0                                        |         touch ();
                                                                 | label_22:
    0x0001766a ldr.w r1, [pc, 0x818]                             |         
    0x0001766e mov r2, r8                                        |         r2 = r8;
    0x00017670 movs r0, 1                                        |         r0 = 1;
    0x00017672 add r1, pc                                        |         r1 = 0x2f4fc;
    0x00017674 blx 0x68e0                                        |         touch ();
    0x00017678 ldr.w ip, [r5, 0x20]                              |         ip = *((r5 + 0x20));
    0x0001767a stm r0!, {r5}                                     |         *(r0!) = r5;
    0x0001767c ldr r2, [r4, 0x7c]                                |         r2 = *((r4 + 0x7c));
    0x0001767e cmp r2, ip                                        |         
                                                                 |         if (r2 == ip) {
    0x00017680 beq 0x176ac                                       |             goto label_163;
                                                                 |         }
                                                                 | label_21:
    0x00017682 ldr.w r2, [r4, 0x80]                              |         r2 = *((r4 + 0x80));
    0x00017686 mov r0, r7                                        |         r0 = r7;
    0x00017688 cmp r2, ip                                        |         
    0x0001768a itt eq                                            |         
                                                                 |         if (r2 != ip) {
    0x0001768c moveq r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r2 != ip) {
    0x0001768e streq r3, [r4, 0x80]                              |             *((r4 + 0x80)) = r3;
                                                                 |         }
    0x00017692 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00017696 b 0x17104                                         |         goto label_20;
                                                                 | label_157:
    0x00017698 ldr.w r3, [pc, 0x7ec]                             |         
    0x0001769c ldr r2, [sp, 0x4c]                                |         r2 = *(arg_4ch);
    0x0001769e add r3, pc                                        |         r3 = 0x2f52a;
    0x000176a0 mov r8, r3                                        |         r8 = r3;
    0x000176a2 mov sl, r3                                        |         sl = r3;
    0x000176a4 str.w r3, [fp]                                    |         __asm ("str.w r3, [fp]");
    0x000176a6 adds r0, 0                                        |         r0 += 0;
    0x000176a8 str r3, [r2]                                      |         *(r2) = r3;
    0x000176aa b 0x17636                                         |         
                                                                 |     } while (1);
                                                                 | label_163:
    0x000176ac ldrd r1, r2, [r5, 0x10]                           |     __asm ("ldrd r1, r2, [r5, 0x10]");
    0x000176b0 ldrd r0, r3, [r4, 0x98]                           |     __asm ("ldrd r0, r3, [r4, 0x98]");
    0x000176b4 cmp r3, r2                                        |     
    0x000176b6 it eq                                             |     
                                                                 |     if (r3 != r2) {
    0x000176b8 cmpeq r0, r1                                      |         __asm ("cmpeq r0, r1");
                                                                 |         goto label_164;
                                                                 |     }
                                                                 |     if (r3 != r2) {
                                                                 | label_164:
    0x000176ba bne 0x17682                                       |         goto label_21;
                                                                 |     }
    0x000176bc ldrd r0, r3, [r4, 0xa0]                           |     __asm ("ldrd r0, r3, [r4, 0xa0]");
    0x000176c0 cmp r2, r3                                        |     
    0x000176c2 it eq                                             |     
                                                                 |     if (r2 == r3) {
    0x000176c4 cmpeq r1, r0                                      |         __asm ("cmpeq r1, r0");
                                                                 |     }
    0x000176c6 ittt eq                                           |     
                                                                 |     if (r2 != r3) {
    0x000176c8 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
                                                                 |     if (r2 != r3) {
    0x000176ca streq r3, [r4, 0x7c]                              |         *((r4 + 0x7c)) = r3;
                                                                 |     }
                                                                 |     if (r2 != r3) {
    0x000176cc ldreq ip, [r5, 0x20]                              |         ip = *((r5 + 0x20));
                                                                 |     }
    0x000176d0 b 0x17682                                         |     goto label_21;
                                                                 | label_162:
    0x000176d2 ldr.w r1, [pc, 0x7b8]                             |     
    0x000176d6 mov r0, sl                                        |     r0 = sl;
    0x000176d8 ldr r2, [r5, 0x28]                                |     r2 = *((r5 + 0x28));
    0x000176da add r1, pc                                        |     r1 = 0x2f56c;
    0x000176dc blx 0x68e0                                        |     touch ();
    0x000176e0 ldr r0, [r5, 0x28]                                |     r0 = *((r5 + 0x28));
    0x000176e2 movs r1, 3                                        |     r1 = 3;
    0x000176e4 blx 0x63cc                                        |     fcn_000063cc ();
    0x000176e6 cdp p6, 7, c4, c2, c2, 0                          |     __asm ("cdp p6, 7, c4, c2, c2, 0");
    0x000176e8 mov r2, r0                                        |     r2 = r0;
    0x000176ea cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000176ec beq 0x1766a                                       |         goto label_22;
                                                                 |     }
    0x000176ee ldr.w r1, [pc, 0x7a0]                             |     
    0x000176f2 mov r0, sl                                        |     r0 = sl;
    0x000176f4 add r1, pc                                        |     r1 = 0x2f58a;
    0x000176f6 blx 0x68e0                                        |     touch ();
    0x000176fa b 0x1766a                                         |     goto label_22;
                                                                 | label_105:
    0x000176fc ldr r5, [r4, 0x28]                                |     r5 = *((r4 + 0x28));
    0x000176fe cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x00017700 bne.w 0x1692e                                     |         goto label_23;
                                                                 |     }
    0x00017704 ldr r2, [r4, 0x40]                                |     r2 = *((r4 + 0x40));
                                                                 |     if (r2 == 0) {
    0x00017706 cbz r2, 0x17710                                   |         goto label_118;
                                                                 |     }
    0x00017708 ldrb r3, [r2]                                     |     r3 = *(r2);
    0x0001770a cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001770c bne.w 0x16952                                     |         goto label_24;
                                                                 |     }
                                                                 | label_118:
    0x00017710 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x00017712 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00017714 beq.w 0x18020                                     |         goto label_165;
                                                                 |     }
                                                                 | label_70:
    0x00017718 ldr.w r1, [pc, 0x778]                             |     
    0x0001771c mov r2, r7                                        |     r2 = r7;
    0x0001771e str r6, [sp]                                      |     *(sp) = r6;
    0x00017720 movs r0, 1                                        |     r0 = 1;
    0x00017722 add r1, pc                                        |     r1 = 0x2f5ba;
    0x00017724 blx 0x68e0                                        |     touch ();
    0x00017726 invalid                                           |     
                                                                 |     if (r0 == 0) {
    0x0001772a cbnz r0, 0x17736                                  |         
                                                                 | label_129:
    0x0001772c movs r0, 0xa                                      |         r0 = 0xa;
    0x0001772e blx 0x5d1c                                        |         get_process_comm ();
    0x00017732 b.w 0x16cf0                                       |         goto label_25;
                                                                 |     }
                                                                 | label_156:
    0x00017736 ldr.w r1, [pc, 0x760]                             |     
    0x0001773a add r1, pc                                        |     r1 = 0x2f5d8;
    0x0001773c b 0x175e4                                         |     goto label_26;
                                                                 | label_130:
    0x0001773e ldr.w r1, [pc, 0x75c]                             |     
    0x00017742 mov r0, sb                                        |     r0 = sb;
    0x00017744 add r1, pc                                        |     r1 = 0x2f5e6;
    0x00017746 blx 0x6670                                        |     hashmap_contains ();
    0x00017748 vmlal.s16 q1, d4, d0                              |     __asm ("vmlal.s16 q1, d4, d0");
                                                                 |     if (r0 != 0xa) {
    0x0001774c bne.w 0x17960                                     |         goto label_166;
                                                                 |     }
    0x0001774e strh r0, [r1, 8]                                  |     *((r1 + 8)) = r0;
    0x00017750 ldrd r3, r2, [r4, 0x70]                           |     __asm ("ldrd r3, r2, [r4, 0x70]");
    0x00017754 cmp.w r2, -1                                      |     
    0x00017758 it eq                                             |     
                                                                 |     if (r2 == -1) {
    0x0001775a cmpeq r3, -1                                      |         __asm ("cmpeq r3, -1");
                                                                 |     }
                                                                 |     if (r2 == -1) {
    0x0001775e beq.w 0x17960                                     |         goto label_166;
                                                                 |     }
    0x00017762 adds r1, r3, r5                                   |     r1 = r3 + r5;
    0x00017764 adcs.w r1, r2, r6                                 |     __asm ("adcs.w r1, r2, r6");
    0x00017768 it hs                                             |     
                                                                 |     if (r1 < r3) {
    0x0001776a movhs r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x0001776c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001776e bne.w 0x1804c                                     |         goto label_167;
                                                                 |     }
    0x00017772 adds.w sb, r5, r3                                 |     sb = r5 + r3;
    0x00017776 adc.w sl, r6, r2                                  |     __asm ("adc.w sl, r6, r2");
                                                                 | label_72:
    0x0001777a add r3, sp, 0x274                                 |     r3 += arg_274h;
    0x0001777c movs r2, 0x26                                     |     r2 = 0x26;
    0x0001777e movs r1, 0                                        |     r1 = 0;
    0x00017780 mov r0, r3                                        |     r0 = r3;
    0x00017782 blx 0x5d50                                        |     fcn_00005d50 ();
    0x00017786 ldr.w r2, [fp]                                    |     r2 = *(fp);
    0x0001778a mov r3, sl                                        |     r3 = sl;
    0x0001778c movs r1, 0x26                                     |     r1 = 0x26;
    0x0001778e add r5, sp, 0x2c4                                 |     r5 += arg_2c4h;
    0x00017790 str r2, [sp]                                      |     *(sp) = r2;
    0x00017792 mov r2, sb                                        |     r2 = sb;
    0x00017794 blx 0x5a10                                        |     json_variant_dump ();
    0x00017798 movs r1, 0                                        |     r1 = 0;
    0x0001779a mov r6, r0                                        |     r6 = r0;
    0x0001779c mov.w r2, 0x100                                   |     r2 = 0x100;
    0x000177a0 mov r0, r5                                        |     r0 = r5;
    0x000177a2 blx 0x5d50                                        |     fcn_00005d50 ();
    0x000177a6 mov r2, sb                                        |     r2 = sb;
    0x000177a8 mov r3, sl                                        |     r3 = sl;
    0x000177aa mov.w r1, 0x100                                   |     r1 = 0x100;
    0x000177ac strb r0, [r0, 6]                                  |     *((r0 + 6)) = r0;
    0x000177ae mov r0, r5                                        |     r0 = r5;
    0x000177b0 blx 0x5ed0                                        |     fcn_00005ed0 ();
    0x000177b4 ldr.w r1, [pc, 0x6e8]                             |     
    0x000177b8 mov r3, r0                                        |     r3 = r0;
    0x000177ba mov r2, r6                                        |     r2 = r6;
    0x000177bc movs r0, 1                                        |     r0 = 1;
    0x000177be add r1, pc                                        |     r1 = 0x2f662;
    0x000177c0 blx 0x68e0                                        |     touch ();
    0x000177c2 invalid                                           |     
    0x000177c4 ldr.w r1, [pc, 0x6dc]                             |     
    0x000177c8 ldr r0, [r4]                                      |     r0 = *(r4);
    0x000177ca add r1, pc                                        |     r1 = 0x2f672;
    0x000177cc blx 0x5d68                                        |     r0 = fcn_00005d68 ();
    0x000177ce pkhbt r8, ip, r0, lsl 8                           |     __asm ("pkhbt r8, ip, r0, lsl 8");
                                                                 |     if (r0 != 1) {
    0x000177d2 bne.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
    0x000177d6 ldr.w sb, [r4, 8]                                 |     sb = *((r4 + 8));
    0x000177da cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x000177de beq.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
                                                                 | label_36:
    0x000177e2 ldr.w r3, [pc, 0x6c4]                             |     
    0x000177e6 add r6, sp, 0x264                                 |     r6 += arg_264h;
    0x000177e8 add r3, pc                                        |     r3 = 0x2f696;
    0x000177ea adds r3, 0xbc                                     |     r3 += 0xbc;
    0x000177ec ldm.w r3, {r0, r1, r2}                            |     r0 = *(r3);
                                                                 |     r1 = *((r3 + 4));
                                                                 |     r2 = *((r3 + 8));
    0x000177f0 stm.w r6, {r0, r1, r2}                            |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
    0x000177f4 mov r1, sb                                        |     r1 = sb;
    0x000177f6 mov r0, r6                                        |     r0 = r6;
    0x000177f8 blx 0x5914                                        |     strv_find ();
    0x000177fa invalid                                           |     
                                                                 |     if (r3 == 0xbc) {
    0x000177fe beq.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
    0x00017802 ldrd sb, fp, [r4, 0x58]                           |     __asm ("ldrd sb, fp, [r4, 0x58]");
    0x00017806 adds.w r2, sb, -1                                 |     r2 = sb + -1;
    0x0001780a adc r3, fp, -1                                    |     __asm ("adc r3, fp, -1");
    0x0001780e adds r2, 2                                        |     r2 += 2;
    0x00017810 sbcs r3, r3, -1                                   |     __asm ("sbcs r3, r3, -1");
                                                                 |     if (r2 >= 2) {
    0x00017814 bhs.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
    0x00017818 ldrd r6, sl, [r4, 0x60]                           |     __asm ("ldrd r6, sl, [r4, 0x60]");
    0x0001781c subs r2, r6, 1                                    |     r2 = r6 - 1;
    0x0001781e adc r3, sl, -1                                    |     __asm ("adc r3, sl, -1");
    0x00017822 adds r2, 2                                        |     r2 += 2;
    0x00017824 sbcs r3, r3, -1                                   |     __asm ("sbcs r3, r3, -1");
    0x00017828 ite lo                                            |     
                                                                 |     if (r2 >= 2) {
    0x0001782a movlo r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r2 < 2) {
    0x0001782c movhs r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0001782e cmp r6, sb                                        |     
    0x00017830 and r3, r3, 1                                     |     r3 &= 1;
    0x00017834 sbcs.w r2, sl, fp                                 |     __asm ("sbcs.w r2, sl, fp");
    0x00017838 it lo                                             |     
                                                                 |     if (r6 >= sb) {
    0x0001783a movlo r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x0001783c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001783e beq.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
    0x00017842 add r5, sp, 0x2c4                                 |     r5 += arg_2c4h;
    0x00017844 movs r2, 0x40                                     |     r2 = 0x40;
    0x00017846 movs r1, 0                                        |     r1 = 0;
    0x00017848 mov r0, r5                                        |     r0 = r5;
    0x0001784a blx 0x5d50                                        |     fcn_00005d50 ();
    0x0001784c eor.w fp, r2, r6, ror 26                          |     
    0x00017850 lsls r1, r1, 8                                    |     r1 <<= 8;
    0x00017852 mov r0, r5                                        |     r0 = r5;
    0x00017854 sbc.w r3, sl, fp                                  |     __asm ("sbc.w r3, sl, fp");
    0x00017858 mov.w sl, 0x3e8                                   |     sl = 0x3e8;
    0x0001785c mov.w fp, 0                                       |     
    0x00017860 movs r1, 0x40                                     |     r1 = 0x40;
    0x00017862 strd sl, fp, [sp]                                 |     __asm ("strd sl, fp, [sp]");
    0x00017866 blx 0x6790                                        |     strv_free ();
    0x0001786a ldr.w r1, [pc, 0x640]                             |     
    0x0001786e mov r2, r0                                        |     r2 = r0;
    0x00017870 movs r0, 1                                        |     r0 = 1;
    0x00017872 add r1, pc                                        |     r1 = 0x2f724;
    0x00017874 blx 0x68e0                                        |     touch ();
    0x00017878 b.w 0x16cf0                                       |     goto label_25;
                                                                 | label_141:
    0x0001787c ldr.w r3, [r4, 0x80]                              |     r3 = *((r4 + 0x80));
    0x00017880 cmp r3, 0                                         |     
                                                                 |     if (r3 <= 0) {
    0x00017882 ble.w 0x17146                                     |         goto label_27;
                                                                 |     }
    0x00017886 movs r2, 0                                        |     r2 = 0;
    0x00017888 ldr.w r3, [pc, 0x624]                             |     
    0x0001788c str r2, [sp, 0xb0]                                |     *(c) = r2;
    0x0001788e add r5, sp, 0xb0                                  |     r5 += c;
    0x00017890 ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x00017892 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017894 ldr r3, [r3]                                      |     r3 = *(0x17eb0);
                                                                 | label_39:
    0x00017896 ldr.w r0, [pc, 0x61c]                             |     
    0x0001789a movs r2, 0xb                                      |     r2 = 0xb;
    0x0001789c movs r1, 1                                        |     r1 = 1;
    0x0001789e add r0, pc                                        |     r0 = 0x2f758;
    0x000178a0 blx 0x642c                                        |     fcn_0000642c ();
                                                                 | label_40:
    0x000178a4 ldr.w r1, [pc, 0x610]                             |     
    0x000178a8 movs r0, 1                                        |     r0 = 1;
    0x000178aa ldr.w r2, [r4, 0x80]                              |     r2 = *((r4 + 0x80));
    0x000178ae add r1, pc                                        |     r1 = 0x2f76a;
    0x000178b0 blx 0x68e0                                        |     touch ();
    0x000178b4 ldr.w r3, [pc, 0x550]                             |     
    0x000178b8 ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x000178ba ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x000178bc ldr r3, [r3]                                      |     r3 = *(0x17e08);
    0x000178be cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000178c0 beq.w 0x17db0                                     |         goto label_168;
                                                                 |     }
                                                                 | label_57:
    0x000178c4 ldr r0, [r5]                                      |     r0 = *(r5);
                                                                 | label_56:
    0x000178c6 blx 0x59e0                                        |     unit_file_state_to_string ();
    0x000178ca b 0x17140                                         |     goto label_28;
                                                                 | label_161:
    0x000178cc ldr.w r8, [pc, 0x5ec]                             |     
    0x000178d0 add r8, pc                                        |     r8 = 0x2f790;
    0x000178d2 b 0x17632                                         |     goto label_29;
                                                                 | label_158:
    0x000178d4 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x000178d8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000178da bne.w 0x17a82                                     |         goto label_169;
                                                                 |     }
                                                                 | label_159:
    0x000178de ldr.w sl, [pc, 0x5e0]                             |     
    0x000178e2 add sl, pc                                        |     sl = 0x2f7a8;
    0x000178e4 b 0x1761c                                         |     goto label_30;
                                                                 | label_106:
    0x000178e6 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x000178e8 beq.w 0x16b2a                                     |         goto label_31;
                                                                 |     }
    0x000178ec ldrb r3, [r2]                                     |     r3 = *(r2);
    0x000178ee cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000178f0 beq.w 0x16b2a                                     |         goto label_31;
                                                                 |     }
    0x000178f4 b.w 0x16952                                       |     goto label_24;
                                                                 | label_98:
    0x000178f8 ldr.w r2, [pc, 0x5c8]                             |     
    0x000178fc add r2, pc                                        |     r2 = 0x2f7c4;
    0x000178fe b.w 0x16836                                       |     goto label_32;
                                                                 | label_109:
    0x00017902 ldr.w r0, [pc, 0x5c4]                             |     
    0x00017906 add r0, pc                                        |     r0 = 0x2f7d4;
    0x00017908 blx 0x5bf8                                        |     fcn_00005bf8 ();
    0x0001790c b.w 0x16976                                       |     goto label_33;
                                                                 | label_128:
    0x00017910 adds r5, 0xbc                                     |     r5 += 0xbc;
    0x00017912 ldm.w r5, {r0, r1, r2}                            |     r0 = *(r5);
                                                                 |     r1 = *((r5 + 4));
                                                                 |     r2 = *((r5 + 8));
    0x00017916 stm.w r6, {r0, r1, r2}                            |     *(r6) = r0;
                                                                 |     *((r6 + 4)) = r1;
                                                                 |     *((r6 + 8)) = r2;
    0x0001791a mov r1, sb                                        |     r1 = sb;
    0x0001791c mov r0, r6                                        |     r0 = r6;
    0x0001791e blx 0x5914                                        |     strv_find ();
    0x00017920 invalid                                           |     
                                                                 |     if (r5 == 0xbc) {
    0x00017924 beq.w 0x17a92                                     |         goto label_170;
                                                                 |     }
    0x00017928 ldrd r5, r6, [r4, 0x68]                           |     __asm ("ldrd r5, r6, [r4, 0x68]");
    0x0001792c b.w 0x16c82                                       |     goto label_34;
                                                                 | label_123:
    0x00017930 mov r1, r6                                        |     r1 = r6;
    0x00017932 mov r0, r5                                        |     r0 = r5;
    0x00017934 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x00017938 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001793a beq.w 0x16c10                                     |         goto label_35;
                                                                 |     }
                                                                 | label_75:
    0x0001793e ldr r3, [sp, 0x48]                                |     r3 = *(arg_48h);
    0x00017940 mov r2, r8                                        |     r2 = r8;
    0x00017942 ldr.w r1, [pc, 0x588]                             |     
    0x00017946 movs r0, 1                                        |     r0 = 1;
    0x00017948 strd r6, r3, [sp]                                 |     __asm ("strd r6, r3, [sp]");
    0x0001794c mov r3, r5                                        |     r3 = r5;
    0x0001794e add r1, pc                                        |     r1 = 0x2f820;
    0x00017950 blx 0x68e0                                        |     touch ();
    0x00017952 invalid                                           |     
                                                                 |     if (r6 != 0) {
    0x00017956 cbnz r6, 0x17972                                  |         goto label_171;
                                                                 |     }
                                                                 | label_155:
    0x00017958 ldr r0, [r4]                                      |     r0 = *(r4);
    0x0001795a bl 0x1b304                                        |     fcn_0001b304 (r0, r1, r2);
    0x0001795c ldc2l p6, c14, [r3], {0x1a}                       |     __asm ("ldc2l p6, c14, [r3], {0x1a}");
                                                                 | label_166:
    0x00017960 ldr.w r1, [pc, 0x56c]                             |     
    0x00017964 ldr r0, [r4]                                      |     r0 = *(r4);
    0x00017966 add r1, pc                                        |     r1 = 0x2f83a;
    0x00017968 blx 0x5d68                                        |     r0 = fcn_00005d68 ();
    0x0001796c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001796e bne.w 0x16cf0                                     |         goto label_25;
                                                                 |     }
                                                                 | label_171:
    0x00017972 b 0x177e2                                         |     goto label_36;
                                                                 | label_138:
    0x00017974 ldr.w r1, [pc, 0x55c]                             |     
    0x00017978 movs r0, 1                                        |     r0 = 1;
    0x0001797a ldrd r2, r3, [r4, 0xf0]                           |     __asm ("ldrd r2, r3, [r4, 0xf0]");
    0x0001797e add r1, pc                                        |     r1 = 0x2f856;
    0x00017980 blx 0x68e0                                        |     touch ();
    0x00017982 invalid                                           |     
    0x00017986 movs r0, 0xf8                                     |     r0 = 0xf8;
    0x00017988 cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0001798a bne.w 0x17fbc                                     |         goto label_172;
                                                                 |     }
                                                                 | label_62:
    0x0001798e movs r0, 0xa                                      |     r0 = 0xa;
    0x00017990 blx 0x5d1c                                        |     get_process_comm ();
    0x00017994 b.w 0x170c6                                       |     goto label_37;
                                                                 | label_90:
    0x00017998 movs r0, 0xa                                      |     r0 = 0xa;
    0x0001799a blx 0x5d1c                                        |     get_process_comm ();
    0x0001799e movs r3, 1                                        |     r3 = 1;
    0x000179a0 strb.w r3, [sb]                                   |     *(sb) = r3;
    0x000179a4 b.w 0x16518                                       |     goto label_2;
                                                                 | label_132:
    0x000179a8 ldr.w r0, [pc, 0x52c]                             |     
    0x000179ac add r0, pc                                        |     r0 = 0x2f888;
    0x000179ae blx 0x5bf8                                        |     fcn_00005bf8 ();
    0x000179b2 b.w 0x16e0a                                       |     goto label_38;
                                                                 | label_119:
    0x000179b6 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x000179b8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000179ba beq.w 0x17fe8                                     |         goto label_173;
                                                                 |     }
                                                                 | label_67:
    0x000179be ldr.w r1, [pc, 0x51c]                             |     
    0x000179c2 mov r2, r7                                        |     r2 = r7;
    0x000179c4 strd r6, r5, [sp]                                 |     __asm ("strd r6, r5, [sp]");
    0x000179c8 movs r0, 1                                        |     r0 = 1;
    0x000179ca add r1, pc                                        |     r1 = 0x2f8ac;
    0x000179cc blx 0x68e0                                        |     touch ();
    0x000179d0 b.w 0x1696c                                       |     goto label_16;
                                                                 | label_144:
    0x000179d4 movs r2, 0                                        |     r2 = 0;
    0x000179d6 ldr.w r3, [pc, 0x4d8]                             |     
    0x000179da str r2, [sp, 0xb0]                                |     *(c) = r2;
    0x000179dc add r5, sp, 0xb0                                  |     r5 += c;
    0x000179de ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x000179e0 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x000179e2 ldr r2, [r4, 0x7c]                                |     r2 = *((r4 + 0x7c));
    0x000179e4 ldr r3, [r3]                                      |     r3 = *(0x17eb2);
    0x000179e6 cmp r2, 0                                         |     
                                                                 |     if (r2 <= 0) {
    0x000179e8 ble.w 0x17896                                     |         goto label_39;
                                                                 |     }
    0x000179ec ldr.w r0, [pc, 0x4f0]                             |     
    0x000179f0 movs r2, 0xf                                      |     r2 = 0xf;
    0x000179f2 movs r1, 1                                        |     r1 = 1;
    0x000179f4 add r0, pc                                        |     r0 = 0x2f8d8;
    0x000179f6 blx 0x642c                                        |     fcn_0000642c ();
    0x000179fa b 0x178a4                                         |     goto label_40;
                                                                 | label_150:
    0x000179fc ldr.w r5, [pc, 0x4e4]                             |     
    0x00017a00 add r5, pc                                        |     r5 = 0x2f8e8;
    0x00017a02 b 0x1734e                                         |     goto label_41;
                                                                 | label_154:
    0x00017a04 ldr.w r3, [pc, 0x4a8]                             |     r3 = *(0x17eb0);
    0x00017a08 mov r7, r2                                        |     r7 = r2;
    0x00017a0a str r1, [sp, 0x2c]                                |     *(arg_2ch) = r1;
    0x00017a0c ldr.w fp, [r4, 0xb0]                              |     fp = *((r4 + 0xb0));
    0x00017a10 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017a12 vldr d8, [r4, 0x50]                               |     __asm ("vldr d8, [r4, 0x50]");
    0x00017a16 ldr r5, [r3]                                      |     r5 = *(0x17eb0);
    0x00017a18 ldr.w r3, [pc, 0x4cc]                             |     r3 = *(0x17ee8);
    0x00017a1a adds r4, 0xcc                                     |     r4 += 0xcc;
    0x00017a1c ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017a1e ldr.w sl, [r3]                                    |     sl = *(0x17ee8);
    0x00017a20 adr r0, 0                                         |     r0 = 0;
    0x00017a22 ldr.w r3, [pc, 0x4c8]                             |     r3 = *(0x17eee);
    0x00017a26 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017a28 ldr.w sb, [r3]                                    |     sb = *(0x17eee);
    0x00017a2c blx 0x62dc                                        |     r0 = fcn_000062dc ();
    0x00017a30 mov r8, r0                                        |     r8 = r0;
    0x00017a32 bl 0x125a0                                        |     fcn_000125a0 ();
    0x00017a36 ldr r3, [sp, 0x40]                                |     r3 = *(arg_40h);
    0x00017a38 orr ip, r0, 0x20                                  |     
    0x00017a3c mov r0, r5                                        |     r0 = r5;
    0x00017a3e ldr.w r5, [pc, 0x4b0]                             |     
    0x00017a42 ldr r1, [sp, 0x2c]                                |     r1 = *(arg_2ch);
    0x00017a44 mov r2, fp                                        |     r2 = fp;
    0x00017a46 str r3, [sp, 0x24]                                |     *(arg_24h) = r3;
    0x00017a48 mov r3, sl                                        |     r3 = sl;
    0x00017a4a ldr r5, [r7, r5]                                  |     r5 = *((r7 + r5));
    0x00017a4c vstr d8, [sp, 8]                                  |     __asm ("vstr d8, [sp, 8]");
    0x00017a50 strd r8, ip, [sp, 0x14]                           |     __asm ("strd r8, ip, [sp, 0x14]");
    0x00017a52 ldrh r5, [r0, 0x20]                               |     r5 = *((r0 + 0x20));
    0x00017a54 str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h]");
    0x00017a58 str r6, [sp]                                      |     *(sp) = r6;
    0x00017a5a ldr r5, [r5]                                      |     r5 = *(0x17ef2);
    0x00017a5c clz r5, r5                                        |     r5 &= r5;
    0x00017a60 lsrs r5, r5, 5                                    |     r5 >>= 5;
    0x00017a62 str r5, [sp, 0x20]                                |     var_20h = r5;
    0x00017a64 movs r5, 1                                        |     r5 = 1;
    0x00017a66 str r5, [sp, 0x1c]                                |     var_1ch = r5;
    0x00017a68 blx 0x68a4                                        |     unit_name_from_dbus_path ();
    0x00017a6c b 0x1758c                                         |     goto label_42;
                                                                 | label_102:
    0x00017a6e ldr.w r6, [pc, 0x484]                             |     
    0x00017a72 add r6, pc                                        |     r6 = 0x2f96c;
    0x00017a74 b.w 0x168c2                                       |     goto label_43;
                                                                 | label_101:
    0x00017a78 ldr.w r7, [pc, 0x47c]                             |     
    0x00017a7c add r7, pc                                        |     r7 = 0x2f978;
    0x00017a7e b.w 0x168ac                                       |     goto label_44;
                                                                 | label_169:
    0x00017a82 ldr.w sl, [pc, 0x478]                             |     
    0x00017a86 add sl, pc                                        |     sl = 0x2f988;
    0x00017a88 b 0x1761c                                         |     goto label_30;
                                                                 | label_160:
    0x00017a8a ldr.w sl, [pc, 0x474]                             |     
    0x00017a8e add sl, pc                                        |     sl = 0x2f994;
    0x00017a90 b 0x1761c                                         |     goto label_30;
                                                                 | label_170:
    0x00017a92 ldr.w r3, [pc, 0x470]                             |     
    0x00017a96 mov r1, sb                                        |     r1 = sb;
    0x00017a98 str r0, [r6, 4]                                   |     *((r6 + 4)) = r0;
    0x00017a9a mov r0, r6                                        |     r0 = r6;
    0x00017a9c add r3, pc                                        |     r3 = 0x2f9a6;
    0x00017a9e str r3, [r6]                                      |     *(r6) = r3;
    0x00017aa0 blx 0x5914                                        |     strv_find ();
    0x00017aa2 vadd.i64 d2, d8, d0                               |     __asm ("vadd.i64 d2, d8, d0");
                                                                 |     if (r5 == 1) {
    0x00017aa6 beq.w 0x17dd0                                     |         goto label_127;
                                                                 |     }
    0x00017aa8 strh r3, [r2, 0xc]                                |     *((r2 + 0xc)) = r3;
    0x00017aaa ldrd r5, r6, [r4, 0x48]                           |     __asm ("ldrd r5, r6, [r4, 0x48]");
    0x00017aae b.w 0x16c82                                       |     goto label_34;
                                                                 | label_46:
    0x00017ab2 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00017ab6 cmp r0, 3                                         |     
                                                                 |     if (r0 <= 3) {
    0x00017ab8 ble.w 0x17572                                     |         goto label_45;
                                                                 |     }
    0x00017aba add r5, sp, 0x16c                                 |     r5 = sp + 0x16c;
    0x00017abc mov r1, r6                                        |     r1 = r6;
    0x00017abe mov r0, r5                                        |     r0 = r5;
    0x00017ac0 ldr.w r8, [r4]                                    |     r8 = *(r4);
    0x00017ac4 blx 0x663c                                        |     fcn_0000663c ();
    0x00017ac8 ldr.w r3, [pc, 0x43c]                             |     
    0x00017acc mov r1, r6                                        |     r1 = r6;
    0x00017ace ldr.w r2, [pc, 0x43c]                             |     
    0x00017ad2 strd r8, r0, [sp, 8]                              |     __asm ("strd r8, r0, [sp, 8]");
    0x00017ad6 movs r0, 4                                        |     r0 = 4;
    0x00017ad8 add r3, pc                                        |     r3 = 0x2f9e4;
    0x00017ada str r3, [sp, 4]                                   |     var_4h = r3;
    0x00017adc add r2, pc                                        |     r2 = 0x2f9ee;
    0x00017ade ldr.w r3, [pc, 0x430]                             |     
    0x00017ae2 adds r2, 7                                        |     r2 += 7;
    0x00017ae4 add r3, pc                                        |     r3 = 0x2f9fa;
    0x00017ae6 str r3, [sp]                                      |     *(sp) = r3;
    0x00017ae8 movw r3, 0x2fe                                    |     r3 = 0x2fe;
    0x00017aec blx 0x6008                                        |     fcn_00006008 ();
    0x00017af0 b 0x17572                                         |     goto label_45;
                                                                 | label_153:
    0x00017af2 ldr r3, [pc, 0x314]                               |     
    0x00017af4 ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x00017af6 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017af8 ldr r3, [r3]                                      |     r3 = *(0x17e0a);
    0x00017afa cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00017afc bne 0x17ab2                                       |         goto label_46;
                                                                 |     }
    0x00017afe ldr r2, [r4, 0x7c]                                |     r2 = *((r4 + 0x7c));
    0x00017b00 ldr.w sb, [r4, 0x30]                              |     sb = *((r4 + 0x30));
    0x00017b04 cmp r2, 0                                         |     
    0x00017b06 it le                                             |     
                                                                 |     if (r2 > 0) {
    0x00017b08 movle sl, r3                                      |         sl = r3;
                                                                 |     }
    0x00017b0a ldr.w r3, [r4, 0x80]                              |     r3 = *((r4 + 0x80));
    0x00017b0e ittte gt                                          |     
                                                                 |     if (r2 <= 0) {
    0x00017b10 addgt r6, sp, 0x264                               |         r6 += arg_264h;
                                                                 |     }
                                                                 |     if (r2 <= 0) {
    0x00017b12 movgt sl, 1                                       |         sl = 1;
                                                                 |     }
                                                                 |     if (r2 > 0) {
    0x00017b16 strle r2, [r6]                                    |         *(r6) = r2;
                                                                 |     }
                                                                 |     if (r2 <= 0) {
    0x00017b18 add r6, sp, 0x264                                 |         r6 += arg_264h;
                                                                 |     }
    0x00017b1a cmp r3, 0                                         |     
    0x00017b1c itt gt                                            |     
                                                                 |     if (r3 <= 0) {
    0x00017b1e strgt r3, [r6, sl, lsl 2]                         |         offset_0 = sl << 2;
                                                                 |         *((r6 + offset_0)) = r3;
                                                                 |     }
                                                                 |     if (r3 > 0) {
    0x00017b22 add.w sl, sl, 1                                   |         sl++;
                                                                 |     }
    0x00017b26 bl 0x125a0                                        |     fcn_000125a0 ();
    0x00017b2a ldr r2, [pc, 0x3e8]                               |     
    0x00017b2c mov r3, r8                                        |     r3 = r8;
    0x00017b2e strd sl, r0, [sp, 4]                              |     __asm ("strd sl, r0, [sp, 4]");
    0x00017b32 mov r1, sb                                        |     r1 = sb;
    0x00017b34 ldr r0, [pc, 0x3e0]                               |     
    0x00017b36 add r2, pc                                        |     r2 = 0x2fa50;
    0x00017b38 str r6, [sp]                                      |     *(sp) = r6;
    0x00017b3a add r0, pc                                        |     r0 = 0x2fa56;
    0x00017b3c blx 0x63b4                                        |     fcn_000063b4 ();
    0x00017b40 b 0x17572                                         |     goto label_45;
                                                                 | label_135:
    0x00017b42 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017b46 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017b48 beq.w 0x17ff4                                     |         goto label_174;
                                                                 |     }
    0x00017b4c ldr r6, [pc, 0x3cc]                               |     
    0x00017b4e add r6, pc                                        |     r6 = 0x2fa6e;
                                                                 | label_69:
    0x00017b50 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017b54 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017b56 beq.w 0x17fee                                     |         goto label_175;
                                                                 |     }
    0x00017b58 strh r2, [r1, 0x12]                               |     *((r1 + 0x12)) = r2;
    0x00017b5a ldr r5, [pc, 0x3c4]                               |     
    0x00017b5c add r5, pc                                        |     r5 = 0x2fa82;
                                                                 | label_68:
    0x00017b5e add r3, sp, 0x2c4                                 |     r3 += arg_2c4h;
    0x00017b60 movs r2, 0x26                                     |     r2 = 0x26;
    0x00017b62 movs r1, 0                                        |     r1 = 0;
    0x00017b64 mov r0, r3                                        |     r0 = r3;
    0x00017b66 blx 0x5d50                                        |     fcn_00005d50 ();
    0x00017b6a ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x00017b6c movs r1, 0x26                                     |     r1 = 0x26;
    0x00017b6e ldr r3, [pc, 0x3b4]                               |     
    0x00017b70 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017b72 ldr r3, [r3]                                      |     r3 = *(0x17f26);
    0x00017b74 str r3, [sp]                                      |     *(sp) = r3;
    0x00017b76 ldrd r2, r3, [r4, 0xc8]                           |     __asm ("ldrd r2, r3, [r4, 0xc8]");
    0x00017b7a blx 0x5a10                                        |     json_variant_dump ();
    0x00017b7e add r3, sp, 0x3c4                                 |     r3 += arg_3c4h;
    0x00017b80 mov sb, r0                                        |     sb = r0;
    0x00017b82 mov.w r2, 0x100                                   |     r2 = 0x100;
    0x00017b86 movs r1, 0                                        |     r1 = 0;
    0x00017b88 mov r0, r3                                        |     r0 = r3;
    0x00017b8a blx 0x5d50                                        |     fcn_00005d50 ();
    0x00017b8e ldrd r2, r3, [r4, 0xc8]                           |     __asm ("ldrd r2, r3, [r4, 0xc8]");
    0x00017b92 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00017b96 blx 0x5ed0                                        |     fcn_00005ed0 ();
    0x00017b9a ldr r1, [pc, 0x38c]                               |     
    0x00017b9c mov r3, r5                                        |     r3 = r5;
    0x00017b9e strd sb, r0, [sp]                                 |     __asm ("strd sb, r0, [sp]");
    0x00017ba0 str r0, [sp]                                      |     *(sp) = r0;
    0x00017ba2 mov r2, r6                                        |     r2 = r6;
    0x00017ba4 movs r0, 1                                        |     r0 = 1;
    0x00017ba6 add r1, pc                                        |     r1 = 0x2fad4;
    0x00017ba8 blx 0x68e0                                        |     touch ();
    0x00017bac ldrb.w r3, [r4, 0xd1]                             |     r3 = *((r4 + 0xd1));
    0x00017bb0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00017bb2 bne.w 0x18034                                     |         goto label_176;
                                                                 |     }
    0x00017bb4 strh r7, [r7, 0x10]                               |     *((r7 + 0x10)) = r7;
    0x00017bb6 ldr.w r2, [r4, 0xd4]                              |     r2 = *((r4 + 0xd4));
    0x00017bba cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00017bbc beq.w 0x16ea2                                     |         goto label_47;
                                                                 |     }
    0x00017bc0 ldrb.w r3, [r4, 0xd2]                             |     r3 = *((r4 + 0xd2));
    0x00017bc4 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00017bc6 beq.w 0x18040                                     |         goto label_177;
                                                                 |     }
    0x00017bca ldr r3, [pc, 0x360]                               |     
    0x00017bcc add r3, pc                                        |     r3 = 0x2fafe;
                                                                 | label_71:
    0x00017bce ldr.w r1, [r4, 0xd8]                              |     r1 = *((r4 + 0xd8));
    0x00017bd2 movs r0, 1                                        |     r0 = 1;
    0x00017bd4 str r1, [sp]                                      |     *(sp) = r1;
    0x00017bd6 ldr r1, [pc, 0x358]                               |     
    0x00017bd8 add r1, pc                                        |     r1 = 0x2fb0e;
    0x00017bda blx 0x68e0                                        |     touch ();
    0x00017bde b.w 0x16ea2                                       |     goto label_47;
                                                                 | label_125:
    0x00017be2 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017be6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017be8 beq.w 0x1802e                                     |         goto label_178;
                                                                 |     }
    0x00017bec cmp r0, 2                                         |     
                                                                 |     if (r0 == 2) {
    0x00017bee beq.w 0x17fd0                                     |         goto label_179;
                                                                 |     }
    0x00017bf2 ldr r6, [pc, 0x340]                               |     
    0x00017bf4 add r6, pc                                        |     r6 = 0x2fb2e;
                                                                 | label_63:
    0x00017bf6 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017bfa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017bfc beq.w 0x17fe2                                     |         goto label_180;
                                                                 |     }
    0x00017c00 ldr r3, [pc, 0x334]                               |     
    0x00017c02 add r3, pc                                        |     r3 = 0x2fb3e;
                                                                 | label_66:
    0x00017c04 ldr r1, [pc, 0x334]                               |     
    0x00017c06 mov r2, r6                                        |     r2 = r6;
    0x00017c08 str r3, [sp]                                      |     *(sp) = r3;
    0x00017c0a movs r0, 1                                        |     r0 = 1;
    0x00017c0c mov r3, r5                                        |     r3 = r5;
    0x00017c0e add r1, pc                                        |     r1 = 0x2fb4e;
    0x00017c10 blx 0x68e0                                        |     touch ();
    0x00017c14 b.w 0x16c3e                                       |     goto label_48;
                                                                 | label_126:
    0x00017c18 ldr r1, [pc, 0x324]                               |     
    0x00017c1a mov r2, r5                                        |     r2 = r5;
    0x00017c1c movs r0, 1                                        |     r0 = 1;
    0x00017c1e add r1, pc                                        |     r1 = 0x2fb62;
    0x00017c20 blx 0x68e0                                        |     touch ();
    0x00017c24 b.w 0x16c56                                       |     goto label_49;
                                                                 | label_142:
    0x00017c28 ldr.w r0, [r4, 0xa8]                              |     r0 = *((r4 + 0xa8));
    0x00017c2c cmp r0, 0                                         |     
                                                                 |     if (r0 <= 0) {
    0x00017c2e ble.w 0x17136                                     |         goto label_50;
                                                                 |     }
    0x00017c32 blx 0x66d0                                        |     memchr (r0, r1, r2);
    0x00017c36 ldr r1, [pc, 0x30c]                               |     
    0x00017c38 mov r2, r0                                        |     r2 = r0;
    0x00017c3a movs r0, 1                                        |     r0 = 1;
    0x00017c3c add r1, pc                                        |     r1 = 0x2fb86;
    0x00017c3e blx 0x68e0                                        |     touch ();
    0x00017c42 ldr.w r5, [r4, 0xa8]                              |     r5 = *((r4 + 0xa8));
    0x00017c46 cmp r5, 1                                         |     
                                                                 |     if (r5 == 1) {
    0x00017c48 beq.w 0x1805e                                     |         goto label_181;
                                                                 |     }
    0x00017c4c ldr.w r0, [r4, 0xac]                              |     r0 = *((r4 + 0xac));
    0x00017c50 blx 0x6240                                        |     fcn_00006240 ();
    0x00017c54 ldr r1, [pc, 0x2f0]                               |     
    0x00017c56 mov r2, r0                                        |     r2 = r0;
    0x00017c58 movs r0, 1                                        |     r0 = 1;
    0x00017c5a add r1, pc                                        |     r1 = 0x2fba6;
    0x00017c5c blx 0x68e0                                        |     touch ();
                                                                 | label_74:
    0x00017c60 movs r0, 0x29                                     |     r0 = 0x29;
    0x00017c62 blx 0x5d1c                                        |     get_process_comm ();
    0x00017c66 b.w 0x17136                                       |     goto label_50;
                                                                 | label_147:
    0x00017c6a movs r0, 0xa                                      |     r0 = 0xa;
    0x00017c6c blx 0x5d1c                                        |     get_process_comm ();
    0x00017c70 b.w 0x1726c                                       |     goto label_51;
                                                                 | label_108:
    0x00017c74 ldr r3, [pc, 0x2d4]                               |     
    0x00017c76 add r3, pc                                        |     r3 = 0x2fbc6;
    0x00017c78 b.w 0x1695a                                       |     goto label_52;
                                                                 | label_134:
    0x00017c7c blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017c80 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017c82 beq.w 0x18028                                     |         goto label_182;
                                                                 |     }
    0x00017c86 cmp r0, 2                                         |     
                                                                 |     if (r0 == 2) {
    0x00017c88 beq.w 0x17fdc                                     |         goto label_183;
                                                                 |     }
    0x00017c8c ldr r5, [pc, 0x2c0]                               |     
    0x00017c8e add r5, pc                                        |     r5 = 0x2fbe2;
                                                                 | label_65:
    0x00017c90 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00017c94 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017c96 beq.w 0x17fd6                                     |         goto label_184;
                                                                 |     }
    0x00017c9a ldr r6, [pc, 0x2b8]                               |     
    0x00017c9c add r6, pc                                        |     r6 = 0x2fbf6;
                                                                 | label_64:
    0x00017c9e add r3, sp, 0x2c4                                 |     r3 += arg_2c4h;
    0x00017ca0 movs r2, 0x26                                     |     r2 = 0x26;
    0x00017ca2 movs r1, 0                                        |     r1 = 0;
    0x00017ca4 mov r0, r3                                        |     r0 = r3;
    0x00017ca6 blx 0x5d50                                        |     fcn_00005d50 ();
    0x00017caa ldr r2, [sp, 0x3c]                                |     r2 = *(arg_3ch);
    0x00017cac movs r1, 0x26                                     |     r1 = 0x26;
    0x00017cae ldr r3, [pc, 0x274]                               |     
    0x00017cb0 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00017cb2 ldr r3, [r3]                                      |     r3 = *(0x17f26);
    0x00017cb4 str r3, [sp]                                      |     *(sp) = r3;
    0x00017cb6 ldrd r2, r3, [r4, 0xb8]                           |     __asm ("ldrd r2, r3, [r4, 0xb8]");
    0x00017cba blx 0x5a10                                        |     json_variant_dump ();
    0x00017cbe add r3, sp, 0x3c4                                 |     r3 += arg_3c4h;
    0x00017cc0 mov sb, r0                                        |     sb = r0;
    0x00017cc2 mov.w r2, 0x100                                   |     r2 = 0x100;
    0x00017cc6 movs r1, 0                                        |     r1 = 0;
    0x00017cc8 mov r0, r3                                        |     r0 = r3;
    0x00017cca blx 0x5d50                                        |     fcn_00005d50 ();
    0x00017cce ldrd r2, r3, [r4, 0xb8]                           |     __asm ("ldrd r2, r3, [r4, 0xb8]");
    0x00017cd2 mov.w r1, 0x100                                   |     r1 = 0x100;
    0x00017cd6 blx 0x5ed0                                        |     fcn_00005ed0 ();
    0x00017cda ldr r1, [pc, 0x27c]                               |     
    0x00017cdc mov r2, r5                                        |     r2 = r5;
    0x00017cde strd sb, r0, [sp]                                 |     __asm ("strd sb, r0, [sp]");
    0x00017ce2 mov r3, r6                                        |     r3 = r6;
    0x00017ce4 movs r0, 1                                        |     r0 = 1;
    0x00017ce6 add r1, pc                                        |     r1 = 0x2fc44;
    0x00017ce8 blx 0x68e0                                        |     touch ();
    0x00017cec ldr.w r5, [r4, 0xc4]                              |     r5 = *((r4 + 0xc4));
    0x00017cf0 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00017cf2 beq.w 0x16e92                                     |         goto label_53;
                                                                 |     }
    0x00017cf6 mov r3, r5                                        |     r3 = r5;
    0x00017cf8 movs r6, 0                                        |     r6 = 0;
                                                                 |     do {
    0x00017cfa mov r2, r3                                        |         r2 = r3;
    0x00017cfc ldr r3, [r3, 0x10]                                |         r3 = *((r3 + 0x10));
    0x00017cfe ldr r2, [r2, 0xc]                                 |         r2 = *((r2 + 0xc));
    0x00017d00 cmp r2, 0                                         |         
    0x00017d02 it lt                                             |         
                                                                 |         if (r2 >= 0) {
    0x00017d04 addlt r6, 1                                       |             r6++;
                                                                 |         }
    0x00017d06 cmp r3, 0                                         |         
    0x00017d08 bne 0x17cfa                                       |         
                                                                 |     } while (r3 != 0);
    0x00017d0a ldr r7, [pc, 0x250]                               |     
    0x00017d0c ldr.w sb, [pc, 0x250]                             |     
    0x00017d10 ldr.w sl, [pc, 0x250]                             |     
    0x00017d14 add r7, pc                                        |     r7 = 0x2fc76;
    0x00017d16 add sb, pc                                        |     sb = 0x2fc7a;
    0x00017d18 add sl, pc                                        |     sl = 0x2fc80;
                                                                 |     do {
                                                                 | label_54:
    0x00017d1a mov r8, r5                                        |         r8 = r5;
    0x00017d1c ldr r5, [r5, 0x10]                                |         r5 = *((r5 + 0x10));
    0x00017d1e ldr.w r3, [r8, 0xc]                               |         r3 = *((r8 + 0xc));
    0x00017d22 cmp r3, 0                                         |         
                                                                 |         if (r3 < 0) {
    0x00017d24 blt 0x17d2e                                       |             goto label_185;
                                                                 |         }
    0x00017d26 cmp r5, 0                                         |         
    0x00017d28 bne 0x17d1a                                       |         
                                                                 |     } while (r5 != 0);
    0x00017d2a b.w 0x16e92                                       |     goto label_53;
                                                                 | label_185:
    0x00017d2e subs r6, 1                                        |     r6--;
    0x00017d30 ite ne                                            |     
                                                                 |     if (r6 == 1) {
    0x00017d32 movne r0, 1                                       |         r0 = 1;
                                                                 |     }
                                                                 |     if (r6 != 1) {
    0x00017d34 moveq r0, 2                                       |         r0 = 2;
                                                                 |     }
    0x00017d36 blx 0x6198                                        |     fcn_00006198 ();
    0x00017d3a ldrb.w r1, [r8, 8]                                |     r1 = *((r8 + 8));
    0x00017d3e mov r2, r0                                        |     r2 = r0;
    0x00017d40 ldr.w r3, [r8]                                    |     r3 = *(r8);
                                                                 |     if (r1 == 0) {
    0x00017d44 cbz r1, 0x17d72                                   |         goto label_186;
                                                                 |     }
    0x00017d46 ldr r0, [pc, 0x220]                               |     
    0x00017d48 add r0, pc                                        |     r0 = 0x2fcb6;
                                                                 | label_55:
    0x00017d4a ldrb.w r1, [r8, 9]                                |     r1 = *((r8 + 9));
    0x00017d4e cmp r1, 0                                         |     
    0x00017d50 ldr.w r1, [r8, 4]                                 |     r1 = *((r8 + 4));
    0x00017d54 str r0, [sp]                                      |     *(sp) = r0;
    0x00017d56 mov.w r0, 1                                       |     r0 = 1;
    0x00017d5a str r1, [sp, 8]                                   |     var_8h = r1;
    0x00017d5c ite eq                                            |     
                                                                 |     if (r1 != 0) {
    0x00017d5e moveq r1, sb                                      |         r1 = sb;
                                                                 |     }
                                                                 |     if (r1 == 0) {
    0x00017d60 movne r1, sl                                      |         r1 = sl;
                                                                 |     }
    0x00017d62 str r1, [sp, 4]                                   |     var_4h = r1;
    0x00017d64 mov r1, r7                                        |     r1 = r7;
    0x00017d66 blx 0x68e0                                        |     touch ();
    0x00017d6a cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x00017d6c bne 0x17d1a                                       |         goto label_54;
                                                                 |     }
    0x00017d6e b.w 0x16e92                                       |     goto label_53;
                                                                 | label_186:
    0x00017d72 ldr r0, [pc, 0x1f8]                               |     
    0x00017d74 add r0, pc                                        |     r0 = 0x2fce6;
    0x00017d76 b 0x17d4a                                         |     goto label_55;
                                                                 | label_114:
    0x00017d78 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00017d7c cmp r0, 5                                         |     
    0x00017d7e it le                                             |     
                                                                 |     if (r0 <= 5) {
    0x00017d80 movle r6, r5                                      |         r6 = r5;
                                                                 |         goto label_187;
                                                                 |     }
                                                                 |     if (r0 <= 5) {
                                                                 | label_187:
    0x00017d82 ble.w 0x16648                                     |         goto label_11;
                                                                 |     }
    0x00017d86 ldr r3, [r4]                                      |     r3 = *(r4);
    0x00017d88 mov r1, r5                                        |     r1 = r5;
    0x00017d8a ldr r2, [pc, 0x1e4]                               |     
    0x00017d8c movs r0, 6                                        |     r0 = 6;
    0x00017d8e movs r6, 0                                        |     r6 = 0;
    0x00017d90 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00017d92 ldr r3, [pc, 0x1e0]                               |     
    0x00017d94 add r2, pc                                        |     r2 = 0x2fd0a;
    0x00017d96 adds r2, 7                                        |     r2 += 7;
    0x00017d98 add r3, pc                                        |     r3 = 0x2fd12;
    0x00017d9a str r3, [sp, 4]                                   |     var_4h = r3;
    0x00017d9c ldr r3, [pc, 0x1d8]                               |     
    0x00017d9e add r3, pc                                        |     r3 = 0x2fd1a;
    0x00017da0 str r3, [sp]                                      |     *(sp) = r3;
    0x00017da2 movw r3, 0x319                                    |     r3 = 0x319;
    0x00017da6 blx 0x6008                                        |     fcn_00006008 ();
    0x00017daa ldr r5, [r4, 0x24]                                |     r5 = *((r4 + 0x24));
    0x00017dac b.w 0x16648                                       |     goto label_11;
                                                                 | label_168:
    0x00017db0 ldr.w r0, [r4, 0x80]                              |     r0 = *((r4 + 0x80));
    0x00017db4 mov r1, r5                                        |     r1 = r5;
    0x00017db6 blx 0x5d34                                        |     memset (r0, r1, r2);
    0x00017dba ldr r0, [r5]                                      |     r0 = *(r5);
    0x00017dbc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00017dbe beq.w 0x178c6                                     |         goto label_56;
                                                                 |     }
    0x00017dc2 ldr r1, [pc, 0x1b8]                               |     
    0x00017dc4 mov r2, r0                                        |     r2 = r0;
    0x00017dc6 movs r0, 1                                        |     r0 = 1;
    0x00017dc8 add r1, pc                                        |     r1 = 0x2fd4a;
    0x00017dca blx 0x68e0                                        |     touch ();
    0x00017dce b 0x178c4                                         |     goto label_57;
                                                                 | label_127:
    0x00017dd0 ldrd r5, r6, [r4, 0x60]                           |     __asm ("ldrd r5, r6, [r4, 0x60]");
    0x00017dd4 b.w 0x16c82                                       |     goto label_34;
                                                                 | label_120:
    0x00017dd8 ldr r3, [r4, 4]                                   |     r3 = *((r4 + 4));
    0x00017dda ldr.w fp, [fp]                                    |     fp = *(fp);
    0x00017dde ldr.w lr, [sb]                                    |     
    0x00017de2 cmp r3, 0                                         |     
    0x00017de4 beq.w 0x18046                                     |     
                                                                 |     while (1) {
                                                                 | label_122:
    0x00017de8 ldr r2, [sp, 0x44]                                |         r2 = *(arg_44h);
    0x00017dea ldr r1, [r2]                                      |         r1 = *(r2);
    0x00017dec ldr r2, [pc, 0x190]                               |         
    0x00017dee add r2, pc                                        |         r2 = 0x2fd72;
    0x00017df0 mov ip, r2                                        |         
    0x00017df2 b.w 0x16b7a                                       |         goto label_58;
                                                                 | label_112:
    0x00017f84 ldr r1, [pc, 0x114]                               |         
    0x00017f86 mov.w r2, 0x18e                                   |         r2 = 0x18e;
    0x00017f8a ldr r3, [pc, 0x114]                               |         
    0x00017f8c movs r0, 3                                        |         r0 = 3;
    0x00017f8e ldr r4, [sp, 0x58]                                |         r4 = *(arg_58h);
    0x00017f90 add r1, pc                                        |         r1 = 0x30030;
    0x00017f92 adds r1, 7                                        |         r1 += 7;
    0x00017f94 add r3, pc                                        |         r3 = 0x3003a;
    0x00017f96 blx 0x6920                                        |         fcn_00006920 ();
    0x00017f9a ldr r0, [r5]                                      |         r0 = *(r5);
    0x00017f9c blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00017fa0 ldr r3, [sp, 0x50]                                |         r3 = *(arg_50h);
    0x00017fa2 ldr r0, [r3]                                      |         r0 = *(0x3003a);
    0x00017fa4 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x00017fa8 b.w 0x1759e                                       |         goto label_59;
                                                                 | label_152:
    0x00017fac ldr r3, [pc, 0xf4]                                |         
    0x00017fae add r3, pc                                        |         r3 = 0x30056;
    0x00017fb0 b.w 0x1737e                                       |         goto label_60;
                                                                 | label_151:
    0x00017fb4 ldr r3, [pc, 0xf0]                                |         
    0x00017fb6 add r3, pc                                        |         r3 = 0x30062;
    0x00017fb8 b.w 0x17336                                       |         goto label_61;
                                                                 | label_172:
    0x00017fbc ldr r1, [pc, 0xec]                                |         
    0x00017fbe movs r0, 1                                        |         r0 = 1;
    0x00017fc0 add r1, pc                                        |         r1 = 0x30070;
    0x00017fc2 blx 0x68e0                                        |         touch ();
    0x00017fc6 b 0x1798e                                         |         goto label_62;
                                                                 | label_117:
    0x00017fc8 ldr r5, [r4, 0x24]                                |         r5 = *((r4 + 0x24));
    0x00017fca movs r6, 4                                        |         r6 = 4;
    0x00017fcc b.w 0x16648                                       |         goto label_11;
                                                                 | label_179:
    0x00017fd0 ldr r6, [pc, 0xdc]                                |         
    0x00017fd2 add r6, pc                                        |         r6 = 0x30086;
    0x00017fd4 b 0x17bf6                                         |         goto label_63;
                                                                 | label_184:
    0x00017fd6 ldr r6, [pc, 0xdc]                                |         
    0x00017fd8 add r6, pc                                        |         r6 = 0x30092;
    0x00017fda b 0x17c9e                                         |         goto label_64;
                                                                 | label_183:
    0x00017fdc ldr r5, [pc, 0xd8]                                |         
    0x00017fde add r5, pc                                        |         r5 = 0x3009a;
    0x00017fe0 b 0x17c90                                         |         goto label_65;
                                                                 | label_180:
    0x00017fe2 ldr r3, [pc, 0xd8]                                |         
    0x00017fe4 add r3, pc                                        |         r3 = 0x300a6;
    0x00017fe6 b 0x17c04                                         |         goto label_66;
                                                                 | label_173:
    0x00017fe8 ldr r3, [pc, 0xd4]                                |         
    0x00017fea add r3, pc                                        |         r3 = 0x300ae;
    0x00017fec b 0x179be                                         |         goto label_67;
                                                                 | label_175:
    0x00017fee ldr r5, [pc, 0xd4]                                |         
    0x00017ff0 add r5, pc                                        |         r5 = 0x300ba;
    0x00017ff2 b 0x17b5e                                         |         goto label_68;
                                                                 | label_174:
    0x00017ff4 ldr r6, [pc, 0xd0]                                |         
    0x00017ff6 add r6, pc                                        |         r6 = 0x300c2;
    0x00017ff8 b 0x17b50                                         |         goto label_69;
                                                                 | label_143:
    0x00017ffa add r5, sp, 0xb0                                  |         r5 += c;
    0x00017ffc ldr r0, [r4, 0x7c]                                |         r0 = *((r4 + 0x7c));
    0x00017ffe mov r1, r5                                        |         r1 = r5;
    0x00018000 str r3, [sp, 0xb0]                                |         *(c) = r3;
    0x00018002 blx 0x5d34                                        |         memset (r0, r1, r2);
    0x00018006 ldr r2, [sp, 0xb0]                                |         r2 = *(c);
                                                                 |         if (r2 != 0) {
    0x00018008 cbz r2, 0x18016                                   |             
    0x0001800a ldr r1, [pc, 0xc0]                                |             
    0x0001800c movs r0, 1                                        |             r0 = 1;
    0x0001800e add r1, pc                                        |             r1 = 0x300e0;
    0x00018010 blx 0x68e0                                        |             touch ();
    0x00018014 ldr r2, [sp, 0xb0]                                |             r2 = *(c);
                                                                 |         }
    0x00018016 mov r0, r2                                        |         r0 = r2;
    0x00018018 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001801c b.w 0x17136                                       |         goto label_50;
                                                                 | label_165:
    0x00018020 ldr r3, [pc, 0xac]                                |         
    0x00018022 add r3, pc                                        |         r3 = 0x300f6;
    0x00018024 b.w 0x17718                                       |         goto label_70;
                                                                 | label_182:
    0x00018028 ldr r5, [pc, 0xa8]                                |         
    0x0001802a add r5, pc                                        |         r5 = 0x30102;
    0x0001802c b 0x17c90                                         |         goto label_65;
                                                                 | label_178:
    0x0001802e ldr r6, [pc, 0xa8]                                |         
    0x00018030 add r6, pc                                        |         r6 = 0x3010e;
    0x00018032 b 0x17bf6                                         |         goto label_63;
                                                                 | label_176:
    0x00018034 ldr r0, [pc, 0xa4]                                |         
    0x00018036 add r0, pc                                        |         r0 = 0x30116;
    0x00018038 blx 0x5bf8                                        |         fcn_00005bf8 ();
    0x0001803c b.w 0x16ea2                                       |         goto label_47;
                                                                 | label_177:
    0x00018040 ldr r3, [pc, 0x9c]                                |         
    0x00018042 add r3, pc                                        |         r3 = 0x30126;
    0x00018044 b 0x17bce                                         |         goto label_71;
    0x00018046 ldr r3, [pc, 0x9c]                                |         
    0x00018048 add r3, pc                                        |         r3 = 0x30132;
    0x0001804a b 0x17de8                                         |         
                                                                 |     }
                                                                 | label_167:
    0x0001804c mov.w sb, -1                                      |     sb = -1;
    0x00018050 mov sl, sb                                        |     sl = sb;
    0x00018052 b.w 0x1777a                                       |     goto label_72;
                                                                 | label_121:
    0x00018056 ldr r3, [pc, 0x90]                                |     
    0x00018058 add r3, pc                                        |     r3 = 0x30146;
    0x0001805a b.w 0x16b5e                                       |     goto label_73;
                                                                 | label_181:
    0x0001805e ldr r1, [pc, 0x8c]                                |     
    0x00018060 mov r0, r5                                        |     r0 = r5;
    0x00018062 ldr.w r2, [r4, 0xac]                              |     r2 = *((r4 + 0xac));
    0x00018064 movs r0, 0xac                                     |     r0 = 0xac;
    0x00018066 add r1, pc                                        |     r1 = 0x30158;
    0x00018068 blx 0x68e0                                        |     touch ();
    0x0001806c ldr.w r0, [r4, 0xac]                              |     r0 = *((r4 + 0xac));
    0x0001806e lsls r4, r5, 2                                    |     r4 = r5 << 2;
    0x00018070 movs r1, 3                                        |     r1 = 3;
    0x00018072 blx 0x63cc                                        |     r0 = fcn_000063cc ();
    0x00018076 mov r2, r0                                        |     r2 = r0;
    0x00018078 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001807a beq.w 0x17c60                                     |         goto label_74;
                                                                 |     }
    0x0001807e ldr r1, [pc, 0x70]                                |     
    0x00018080 mov r0, r5                                        |     r0 = r5;
    0x00018082 add r1, pc                                        |     r1 = 0x30178;
    0x00018084 blx 0x68e0                                        |     touch ();
    0x00018088 b 0x17c60                                         |     goto label_74;
                                                                 | label_124:
    0x0001808a cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0001808c bne.w 0x1793e                                     |         goto label_75;
                                                                 |     }
    0x00018090 ldr r5, [pc, 0x60]                                |     
    0x00018092 add r5, pc                                        |     r5 = 0x3018a;
    0x00018094 b 0x1793e                                         |     goto label_75;
                                                                 | label_97:
    0x00018096 blx 0x60c0                                        |     fcn_000060c0 ();
    0x0001809a nop                                               |     
    0x0001809c add sp, 0xf0                                      |     
    0x0001809e movs r0, r0                                       |     
    0x000180a0 stm r4!, {r3, r6}                                 |     *(r4!) = r3;
                                                                 |     *((r4! + 4)) = r6;
    0x000180a2 movs r0, r0                                       |     
    0x000180a4 invalid                                           |     
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x19230 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00019230 ()                                      | void fcn_00019230 (int16_t arg_0h, int16_t arg_240h, int16_t arg_d8h, int16_t arg_110h, int16_t arg_120h, int16_t arg_128h, int16_t arg_130h, int16_t arg_140h, int16_t arg_2b8h, int16_t arg_150h, int16_t arg_2f8h, int16_t arg_198h, int16_t arg_1a8h, int16_t arg_1c8h, int16_t arg_348h, int16_t arg_350h, int16_t arg_200h, int16_t arg_218h, int16_t arg_220h, int16_t arg_238h, int16_t arg_3d0h_2, int16_t arg_3e0h, int16_t arg_3e8h_2, int16_t arg_2c8h, int16_t arg_2e8h, int16_t arg_320h, int16_t arg_328h, int16_t arg_330h, int16_t arg_338h, int16_t arg_388h, int16_t arg_3a8h, int16_t arg_3d0h, int16_t arg_3e8h, int16_t arg2) {
                                                                 |     int16_t var_34h;
                                                                 |     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_4;
                                                                 |     int16_t var_8h_3;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h_3;
                                                                 |     int32_t var_8h_4;
                                                                 |     int16_t var_1ch_2;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_90h;
                                                                 |     int16_t var_b0h;
                                                                 |     int16_t var_b8h;
                                                                 |     int16_t var_100h;
                                                                 |     int16_t var_110h;
                                                                 |     int16_t var_138h;
                                                                 |     int32_t var_12ch;
                                                                 |     int32_t var_134h;
                                                                 |     int16_t var_13ch;
                                                                 |     int16_t var_150h;
                                                                 |     int16_t var_168h;
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h_2;
                                                                 |     int32_t var_10h_4;
                                                                 |     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_2;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t c;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h_2;
                                                                 |     int16_t var_64h;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_1e0h;
                                                                 |     int16_t var_1e8h;
                                                                 |     int16_t var_80h;
                                                                 |     int16_t var_1f8h;
                                                                 |     int16_t var_8ch;
                                                                 |     int16_t var_200h;
                                                                 |     int32_t var_14h;
                                                                 |     int16_t var_9ch;
                                                                 |     int16_t var_a0h;
                                                                 |     int16_t var_0h_3;
                                                                 |     int16_t var_220h;
                                                                 |     int16_t var_c0h;
                                                                 |     int32_t var_4h_3;
                                                                 |     r1 = arg2;
    0x00019230 svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x00019234 movs r3, 0                                        |     r3 = 0;
    0x00019236 ldr.w r4, [pc, 0xc44]                             |     
    0x0001923a mov r5, r1                                        |     r5 = r1;
    0x0001923c ldr.w r0, [pc, 0xc40]                             |     r0 = *(0x19e80);
    0x00019240 add r4, pc                                        |     r4 = 0x330c2;
    0x00019242 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x00019246 ldr.w fp, [pc, 0xc3c]                             |     
    0x0001924a sub sp, 0xa4                                      |     
    0x0001924c ldr r0, [r4, r0]                                  |     
    0x0001924e ldr.w r2, [pc, 0xc38]                             |     r2 = *(0x19e8a);
    0x00019252 add fp, pc                                        |     fp = 0x330dc;
    0x00019254 ldr r0, [r0]                                      |     r0 = *(0x330c2);
    0x00019256 str r0, [sp, 0x9c]                                |     var_9ch = r0;
    0x00019258 mov.w r0, 0                                       |     r0 = 0;
    0x0001925c strd r3, r3, [sp, 0x48]                           |     __asm ("strd r3, r3, [var_4ch]");
    0x00019260 strd r3, r3, [sp, 0x50]                           |     __asm ("strd r3, r3, [var_54h]");
    0x00019262 adds r3, 0x14                                     |     r3 += 0x14;
    0x00019264 ldr.w r4, [fp, r2]                                |     r4 = *(0x330dc);
    0x00019268 ldrb r6, [r4]                                     |     r6 = *(r4);
                                                                 |     if (r6 != 0) {
    0x0001926a cbz r6, 0x1928a                                   |         
    0x0001926c ldr.w r3, [pc, 0xc1c]                             |         
    0x00019270 add r3, pc                                        |         r3 = 0x33100;
    0x00019272 ldm.w r3, {r0, r1, r2}                            |         r0 = *(r3);
                                                                 |         r1 = *((r3 + 4));
                                                                 |         r2 = *((r3 + 8));
    0x00019276 add r3, sp, 0x8c                                  |         r3 += var_8ch;
    0x00019278 stm.w r3, {r0, r1, r2}                            |         *(r3) = r0;
                                                                 |         *((r3 + 4)) = r1;
                                                                 |         *((r3 + 8)) = r2;
    0x0001927c mov r0, r3                                        |         r0 = r3;
    0x0001927e ldr r1, [r5]                                      |         r1 = *(r5);
    0x00019280 blx 0x5914                                        |         r0 = strv_find ();
    0x00019284 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00019286 beq.w 0x198c2                                     |             goto label_58;
                                                                 |         }
                                                                 |     }
    0x0001928a add r1, sp, 0x58                                  |     r1 += c;
    0x0001928c eor r0, r6, 1                                     |     r0 = r6 ^ 1;
    0x00019290 bl 0x1ab9c                                        |     r0 = fcn_0001ab9c (r0, r1);
    0x00019294 subs.w sl, r0, 0                                  |     sl = r0 - 0;
                                                                 |     if (sl < r0) {
    0x00019298 blt.w 0x1953c                                     |         goto label_59;
                                                                 |     }
    0x0001929c bl 0x1acd8                                        |     fcn_0001acd8 ();
    0x000192a0 bl 0x1ad14                                        |     fcn_0001ad14 ();
    0x000192a4 ldr.w r3, [pc, 0xbe8]                             |     r3 = *(0x19e90);
    0x000192a8 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000192ac ldr r6, [r3]                                      |     r6 = *(0x19e90);
    0x000192ae str r3, [sp, 0x24]                                |     var_24h = r3;
    0x000192b0 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000192b2 beq.w 0x194da                                     |         goto label_60;
                                                                 |     }
    0x000192b6 cmp r6, 0x16                                      |     
                                                                 |     if (r6 > 0x16) {
    0x000192b8 bhi.w 0x19c9c                                     |         goto label_61;
                                                                 |     }
    0x000192bc ldr.w r3, [pc, 0xbd4]                             |     
    0x000192c0 add.w r6, r6, r6, lsl 1                           |     r6 += (r6 << 1);
    0x000192c4 lsls r6, r6, 2                                    |     r6 <<= 2;
    0x000192c6 add r3, pc                                        |     r3 = 0x3315e;
    0x000192c8 ldr r7, [r3, r6]                                  |     r7 = *(0x3315e);
    0x000192ca cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x000192cc beq.w 0x19cb8                                     |         goto label_62;
                                                                 |     }
    0x000192ce strh r4, [r6, 0x26]                               |     *((r6 + 0x26)) = r4;
    0x000192d0 add r3, r6                                        |     r3 += r6;
    0x000192d2 ldr r6, [r3, 8]                                   |     r6 = *((r3 + 8));
    0x000192d4 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000192d6 beq.w 0x19b16                                     |         goto label_63;
                                                                 |     }
                                                                 | label_0:
    0x000192da mov r0, r7                                        |     r0 = r7;
    0x000192dc movs r1, 0                                        |     r1 = 0;
    0x000192de blx 0x5e04                                        |     fcn_00005e04 ();
    0x000192e2 str r0, [sp, 0x54]                                |     var_54h = r0;
    0x000192e4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000192e6 beq.w 0x19522                                     |         goto label_64;
                                                                 |     }
    0x000192ea ldr.w sb, [pc, 0xbac]                             |     
    0x000192ee ldr.w r3, [pc, 0xbac]                             |     
    0x000192f2 add sb, pc                                        |     sb = 0x33190;
    0x000192f4 add r3, pc                                        |     r3 = 0x33196;
    0x000192f6 str r3, [sp, 0x2c]                                |     var_2ch = r3;
                                                                 | label_1:
    0x000192f8 ldr.w r3, [pc, 0xba4]                             |     r3 = *(0x19ea0);
    0x000192fc ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019300 str r3, [sp, 0x30]                                |     var_30h = r3;
    0x00019302 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00019304 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019306 beq.w 0x197be                                     |         goto label_65;
                                                                 |     }
                                                                 | label_7:
    0x0001930a ldrb r3, [r4]                                     |     r3 = *(r4);
    0x0001930c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0001930e bne.w 0x19908                                     |         goto label_66;
                                                                 |     }
                                                                 | label_11:
    0x00019312 ldr.w r3, [pc, 0xb90]                             |     r3 = *(0x19ea6);
    0x00019316 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x0001931a ldrb r2, [r3]                                     |     r2 = *(r3);
    0x0001931c cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x0001931e bne.w 0x19588                                     |         goto label_67;
                                                                 |     }
    0x00019322 ldr r3, [sp, 0x54]                                |     r3 = var_54h;
    0x00019324 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019326 beq.w 0x1a0fe                                     |         goto label_68;
                                                                 |     }
    0x0001932a subs r5, r3, 4                                    |     r5 = r3 - 4;
    0x0001932c ldr.w r3, [pc, 0xb78]                             |     
    0x00019330 vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x00019334 mov sl, sb                                        |     sl = sb;
    0x00019336 mov sb, r6                                        |     sb = r6;
    0x00019338 str r4, [sp, 0x40]                                |     var_40h_2 = r4;
    0x0001933a add r3, pc                                        |     r3 = 0x331e6;
    0x0001933c strd r2, r3, [sp, 0x38]                           |     __asm ("strd r2, r3, [var_38h_2]");
                                                                 | label_6:
    0x00019340 ldr r3, [r5, 4]!                                  |     r3 = *((r5 += 4));
    0x00019344 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019346 beq.w 0x19d3e                                     |         goto label_69;
                                                                 |     }
    0x0001934a movs r3, 0                                        |     r3 = 0;
    0x0001934c vstr d8, [sp, 0x70]                               |     __asm ("vstr d8, [sp, 0x70]");
    0x00019350 str r3, [sp, 0x78]                                |     var_1e8h = r3;
    0x00019352 ldr r3, [sp, 0x58]                                |     r3 = c;
    0x00019354 ldr r4, [r5]                                      |     r4 = *(r5);
    0x00019356 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x00019358 ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
    0x0001935a str r3, [sp, 0x20]                                |     var_20h = r3;
    0x0001935c ldr r3, [sp, 0x48]                                |     r3 = var_48h;
    0x0001935e str r3, [sp, 0x28]                                |     var_28h = r3;
    0x00019360 movs r3, 0                                        |     r3 = 0;
    0x00019362 str r3, [sp, 0x5c]                                |     var_5ch = r3;
    0x00019364 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x00019368 beq.w 0x19bd6                                     |         goto label_70;
                                                                 |     }
    0x0001936c cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001936e beq.w 0x19c74                                     |         goto label_71;
                                                                 |     }
    0x00019372 cmp.w sb, 0                                       |     
                                                                 |     if (sb == 0) {
    0x00019376 beq.w 0x19c88                                     |         goto label_72;
                                                                 |     }
    0x0001937a blx 0x5cd4                                        |     gethostname_full ();
    0x0001937e ldr.w r3, [pc, 0xb2c]                             |     r3 = *(0x19eae);
    0x00019382 cmp r0, 6                                         |     
    0x00019384 ldr.w r6, [fp, r3]                                |     r6 = *((fp + r3));
    0x00019388 ldrb r3, [r6]                                     |     r3 = *(r6);
                                                                 |     if (r0 <= 6) {
    0x0001938a ble.w 0x1979e                                     |         goto label_73;
                                                                 |     }
    0x0001938e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019390 beq.w 0x19950                                     |         goto label_74;
                                                                 |     }
    0x00019394 ldr.w r3, [pc, 0xb18]                             |     
    0x00019398 add r3, pc                                        |     r3 = 0x3324c;
                                                                 | label_12:
    0x0001939a str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x0001939c movs r1, 0                                        |     r1 = 0;
    0x0001939e ldr.w r3, [pc, 0xb14]                             |     
    0x000193a2 movs r0, 7                                        |     r0 = 7;
    0x000193a4 ldr.w r2, [pc, 0xb10]                             |     
    0x000193a8 strd r4, sb, [sp, 0x10]                           |     __asm ("strd r4, sb, [var_10h_2]");
    0x000193ac add r3, pc                                        |     r3 = 0x33266;
    0x000193ae str.w sl, [sp, 0xc]                               |     __asm ("str.w sl, [var_ch]");
    0x000193b2 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x000193b4 add r2, pc                                        |     r2 = 0x33270;
    0x000193b6 ldr.w r3, [pc, 0xb04]                             |     
    0x000193ba adds r2, 7                                        |     r2 += 7;
    0x000193bc add r3, pc                                        |     r3 = 0x3327e;
    0x000193be str r3, [sp]                                      |     *(sp) = r3;
    0x000193c0 movs r3, 0x4a                                     |     r3 = 0x4a;
    0x000193c2 blx 0x6008                                        |     fcn_00006008 ();
    0x000193c6 ldrb r3, [r6]                                     |     r3 = *(r6);
    0x000193c8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000193ca bne.w 0x19a34                                     |         goto label_75;
                                                                 |     }
                                                                 | label_5:
    0x000193ce ldr.w r3, [pc, 0xaf0]                             |     r3 = *(0x19ec2);
    0x000193d2 add r7, sp, 0x5c                                  |     r7 += var_5ch;
    0x000193d4 ldr.w r2, [pc, 0xaec]                             |     
    0x000193d8 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000193dc ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x000193e0 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x000193e2 ldr r2, [r2]                                      |     r2 = *(0x19ec4);
    0x000193e4 str r2, [sp, 0x34]                                |     var_34h_2 = r2;
    0x000193e6 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000193e8 beq.w 0x19820                                     |         goto label_38;
                                                                 |     }
    0x000193ec ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x000193ee movs r1, 0                                        |     r1 = 0;
    0x000193f0 ldr.w r2, [pc, 0xad4]                             |     
    0x000193f4 add r7, sp, 0x5c                                  |     r7 += var_5ch;
    0x000193f6 vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x000193fa strd r4, r3, [sp, 8]                              |     __asm ("strd r4, r3, [var_8h_2]");
    0x000193fe ldr.w r3, [pc, 0xacc]                             |     
    0x00019402 add r2, pc                                        |     r2 = 0x332ce;
    0x00019404 str r1, [sp, 0x88]                                |     var_1f8h = r1;
    0x00019406 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x00019408 add r3, pc                                        |     r3 = 0x332da;
    0x0001940a ldr r1, [sp, 0x34]                                |     r1 = var_34h_2;
    0x0001940c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001940e add r3, sp, 0x80                                  |     r3 += var_80h;
    0x00019410 str.w sb, [sp, 0x10]                              |     __asm ("str.w sb, [var_10h_2]");
    0x00019414 mov r8, r3                                        |     r8 = r3;
    0x00019416 str r7, [sp]                                      |     *(sp) = r7;
    0x00019418 vstr d16, [sp, 0x80]                              |     __asm ("vstr d16, [sp, 0x80]");
    0x0001941c str r3, [sp, 0x44]                                |     var_44h = r3;
    0x0001941e blx 0x5fe4                                        |     r0 = fcn_00005fe4 ();
    0x00019422 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x00019424 blt.w 0x197fe                                     |         goto label_76;
                                                                 |     }
    0x00019428 ldr.w r1, [pc, 0xaa4]                             |     
    0x0001942c movs r3, 0                                        |     r3 = 0;
    0x0001942e add.w r8, sp, 0x6c                                |     r8 += var_6ch;
    0x00019432 add r7, sp, 0x68                                  |     r7 += var_68h;
    0x00019434 add r6, sp, 0x64                                  |     r6 += var_64h;
    0x00019436 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019438 add r1, pc                                        |     r1 = 0x3330c;
    0x0001943a ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x0001943c add r3, sp, 0x60                                  |     r3 += var_60h_2;
    0x0001943e mov r2, r8                                        |     r2 = r8;
    0x00019440 str r7, [sp, 8]                                   |     var_8h_2 = r7;
    0x00019442 str r6, [sp]                                      |     *(sp) = r6;
    0x00019444 blx 0x636c                                        |     r0 = fcn_0000636c ();
    0x00019448 subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 < r0) {
    0x0001944a blt.w 0x19b72                                     |         goto label_77;
                                                                 |     }
    0x0001944e blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019452 cmp r0, 5                                         |     
                                                                 |     if (r0 > 5) {
    0x00019454 bgt.w 0x19d8a                                     |         goto label_78;
                                                                 |     }
                                                                 | label_33:
    0x00019458 ldr.w r3, [pc, 0xa78]                             |     
    0x0001945c movs r1, 0x61                                     |     r1 = 0x61;
    0x0001945e ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x00019460 add r3, pc                                        |     r3 = 0x33338;
    0x00019462 mov r2, r3                                        |     r2 = r3;
    0x00019464 str r3, [sp, 0x34]                                |     var_34h_2 = r3;
    0x00019466 blx 0x603c                                        |     r0 = fcn_0000603c ();
    0x0001946a subs r1, r0, 0                                    |     r1 = r0 - 0;
                                                                 |     if (r1 >= r0) {
    0x0001946c bge 0x19480                                       |         goto label_32;
                                                                 |     }
    0x0001946e b.w 0x19e02                                       |     goto label_79;
                                                                 |     do {
                                                                 |         if (r1 == r0) {
    0x00019472 beq.w 0x19d46                                     |             goto label_80;
                                                                 |         }
    0x00019476 blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001947a cmp r0, 5                                         |         
                                                                 |         if (r0 > 5) {
    0x0001947c bgt.w 0x19d5e                                     |             goto label_81;
                                                                 |         }
                                                                 | label_32:
    0x00019480 movs r3, 0                                        |         r3 = 0;
    0x00019482 ldr r0, [sp, 0x5c]                                |         r0 = var_5ch;
    0x00019484 ldr r1, [sp, 0x34]                                |         r1 = var_34h_2;
    0x00019486 mov r2, r8                                        |         r2 = r8;
    0x00019488 str r7, [sp, 8]                                   |         var_8h_2 = r7;
    0x0001948a strd r6, r3, [sp]                                 |         __asm ("strd r6, r3, [sp]");
    0x0001948e blx 0x636c                                        |         r0 = fcn_0000636c ();
    0x00019492 cmp r0, 0                                         |         
    0x00019494 bge 0x19472                                       |         
                                                                 |     } while (r0 >= 0);
    0x00019496 str r0, [sp, 0x1c]                                |     var_1ch = r0;
    0x00019498 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001949c cmp r0, 2                                         |     
    0x0001949e ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
                                                                 |     if (r0 > 2) {
    0x000194a0 bgt.w 0x1a14a                                     |         goto label_82;
                                                                 |     }
                                                                 | label_21:
    0x000194a4 rsbs r6, r1, 0                                    |     r6 = r1 - ;
    0x000194a6 bic r6, r6, 0x40000000                            |     r6 = BIT_MASK (r6, 0x40000000);
    0x000194aa rsbs r6, r6, 0                                    |     r6 -= ;
                                                                 | label_22:
    0x000194ac add.w r8, sp, 0x70                                |     r8 += var_1e0h;
    0x000194b0 cmp r6, 0                                         |     
    0x000194b2 ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x000194b4 it ge                                             |     
                                                                 |     if (r6 < 0) {
    0x000194b6 mvnge r6, 0x55                                    |         r6 = ~0x55;
                                                                 |     }
    0x000194ba blx 0x5f0c                                        |     fcn_00005f0c ();
                                                                 | label_8:
    0x000194be ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
                                                                 |     if (r0 != 0) {
    0x000194c0 cbz r0, 0x194c6                                   |         
    0x000194c2 blx 0x62ac                                        |         fcn_000062ac ();
                                                                 |     }
    0x000194c6 ldr r3, [sp, 0x38]                                |     r3 = var_38h_2;
    0x000194c8 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000194ca bne.w 0x197b6                                     |         goto label_13;
                                                                 |     }
    0x000194ce mov r0, r6                                        |     r0 = r6;
    0x000194d0 mov r1, r8                                        |     r1 = r8;
    0x000194d2 bl 0x1ad44                                        |     fcn_0001ad44 (r0, r1);
    0x000194d6 str r0, [sp, 0x38]                                |     var_38h_2 = r0;
    0x000194d8 b 0x197b6                                         |     goto label_13;
                                                                 | label_60:
    0x000194da ldr r7, [r5]                                      |     r7 = *(r5);
    0x000194dc mov r0, r7                                        |     r0 = r7;
    0x000194de bl 0x191e4                                        |     r0 = fcn_000191e4 (r0);
    0x000194e2 cmn.w r0, 0x16                                    |     
                                                                 |     if (r0 == 0x16) {
    0x000194e6 beq.w 0x19628                                     |         goto label_83;
                                                                 |     }
    0x000194ea ldr.w r3, [pc, 0x9ec]                             |     
    0x000194ee add.w r0, r0, r0, lsl 1                           |     r0 += (r0 << 1);
    0x000194f2 lsls r0, r0, 2                                    |     r0 <<= 2;
    0x000194f4 add r3, pc                                        |     r3 = 0x333d2;
    0x000194f6 ldr r7, [r3, r0]                                  |     r7 = *(0x333d2);
    0x000194f8 add r3, r0                                        |     r3 += r0;
    0x000194fa ldr r6, [r3, 8]                                   |     r6 = *(0x333da);
    0x000194fc cmp r7, 0                                         |     
                                                                 |     if (r7 != 0) {
    0x000194fe bne.w 0x192da                                     |         goto label_0;
                                                                 |     }
                                                                 | label_17:
    0x00019502 ldr.w r3, [pc, 0x9a0]                             |     r3 = *(0x19ea6);
    0x00019506 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x0001950a ldrb r3, [r3]                                     |     r3 = *(r3);
    0x0001950c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001950e beq.w 0x19bf0                                     |         goto label_84;
                                                                 |     }
    0x00019512 ldr.w r3, [pc, 0x9c8]                             |     
    0x00019516 ldr.w sb, [pc, 0x9c8]                             |     
    0x0001951a add r3, pc                                        |     r3 = 0x333fc;
    0x0001951c add sb, pc                                        |     sb = 0x33402;
    0x0001951e str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00019520 b 0x192f8                                         |     goto label_1;
                                                                 | label_64:
    0x00019522 ldr.w r1, [pc, 0x9c0]                             |     
    0x00019526 mov.w r2, 0x146                                   |     r2 = 0x146;
    0x0001952a ldr.w r3, [pc, 0x9bc]                             |     
    0x0001952e movs r0, 3                                        |     r0 = 3;
    0x00019530 add r1, pc                                        |     r1 = 0x3341a;
    0x00019532 add r3, pc                                        |     r3 = 0x33420;
    0x00019534 adds r1, 7                                        |     r1 += 7;
    0x00019536 blx 0x6920                                        |     r0 = fcn_00006920 ();
    0x0001953a mov sl, r0                                        |     sl = r0;
                                                                 |     do {
                                                                 | label_59:
    0x0001953c ldr r0, [sp, 0x54]                                |         r0 = var_54h;
                                                                 |         if (r0 != 0) {
                                                                 | label_2:
    0x0001953e cbz r0, 0x19546                                   |             
    0x00019540 blx 0x67b4                                        |             mktime (r0);
    0x00019544 str r0, [sp, 0x54]                                |             var_54h = r0;
                                                                 |         }
                                                                 | label_10:
    0x00019546 ldr r0, [sp, 0x50]                                |         r0 = var_50h;
    0x00019548 blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001954c ldr r0, [sp, 0x4c]                                |         r0 = var_4ch;
    0x0001954e movs r3, 0                                        |         r3 = 0;
    0x00019550 str r3, [sp, 0x50]                                |         var_50h = r3;
                                                                 |         if (r0 != 0) {
    0x00019552 cbz r0, 0x1955a                                   |             
    0x00019554 blx 0x5dc8                                        |             fcn_00005dc8 ();
    0x00019558 str r0, [sp, 0x4c]                                |             var_4ch = r0;
                                                                 |         }
    0x0001955a ldr r0, [sp, 0x48]                                |         r0 = var_48h;
                                                                 |         if (r0 != 0) {
    0x0001955c cbz r0, 0x19562                                   |             
    0x0001955e blx 0x59ac                                        |             fcn_000059ac ();
                                                                 |         }
    0x00019562 ldr.w r2, [pc, 0x988]                             |         
    0x00019566 ldr.w r3, [pc, 0x918]                             |         r3 = *(0x19e82);
    0x0001956a add r2, pc                                        |         r2 = 0x3345c;
    0x0001956c ldr r3, [r2, r3]                                  |         r3 = *(0x3345c);
    0x0001956e ldr r2, [r3]                                      |         r2 = *(0x3345c);
    0x00019570 ldr r3, [sp, 0x9c]                                |         r3 = var_9ch;
    0x00019572 eors r2, r3                                       |         r2 ^= r3;
    0x00019574 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00019578 bne.w 0x1a256                                     |             goto label_85;
                                                                 |         }
    0x0001957c mov r0, sl                                        |         r0 = sl;
    0x0001957e add sp, 0xa4                                      |         
    0x00019580 vpop {d8}                                         |         __asm ("vpop {d8}");
    0x00019584 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_67:
    0x00019588 vmov.i32 d16, 0                                   |         __asm ("vmov.i32 d16, 0");
    0x0001958c movs r3, 0                                        |         r3 = 0;
    0x0001958e str r3, [sp, 0x6c]                                |         var_6ch = r3;
    0x00019590 str r3, [sp, 0x88]                                |         var_1f8h = r3;
    0x00019592 vstr d16, [sp, 0x80]                              |         __asm ("vstr d16, [sp, 0x80]");
    0x00019596 blx 0x5cd4                                        |         gethostname_full ();
    0x0001959a ldr.w r3, [pc, 0x910]                             |         r3 = *(0x19eae);
    0x0001959e cmp r0, 6                                         |         
    0x000195a0 ldr r5, [sp, 0x58]                                |         r5 = c;
    0x000195a2 ldr.w sl, [sp, 0x4c]                              |         sl = var_4ch;
    0x000195a6 ldr.w r6, [fp, r3]                                |         r6 = *((fp + r3));
                                                                 |         if (r0 > 6) {
    0x000195aa ble 0x195de                                       |             
    0x000195ac ldrb r3, [r6]                                     |             r3 = *(r6);
    0x000195ae cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x000195b0 beq.w 0x19cb2                                     |                 goto label_86;
                                                                 |             }
    0x000195b4 ldr.w r3, [pc, 0x938]                             |             
    0x000195b8 add r3, pc                                        |             r3 = 0x334ac;
                                                                 | label_27:
    0x000195ba str r3, [sp, 8]                                   |             var_8h_2 = r3;
    0x000195bc movs r1, 0                                        |             r1 = 0;
    0x000195be ldr.w r3, [pc, 0x934]                             |             
    0x000195c2 movs r0, 7                                        |             r0 = 7;
    0x000195c4 ldr.w r2, [pc, 0x930]                             |             
    0x000195c8 add r3, pc                                        |             r3 = 0x334c2;
    0x000195ca str r3, [sp, 4]                                   |             var_4h_2 = r3;
    0x000195cc add r2, pc                                        |             r2 = 0x334c8;
    0x000195ce ldr.w r3, [pc, 0x92c]                             |             
    0x000195d2 adds r2, 7                                        |             r2 += 7;
    0x000195d4 add r3, pc                                        |             r3 = 0x334d6;
    0x000195d6 str r3, [sp]                                      |             *(sp) = r3;
    0x000195d8 movs r3, 0xbb                                     |             r3 = 0xbb;
    0x000195da blx 0x6008                                        |             fcn_00006008 ();
                                                                 |         }
    0x000195de ldrb r6, [r6]                                     |         r6 = *(r6);
    0x000195e0 cmp r6, 0                                         |         
                                                                 |         if (r6 == 0) {
    0x000195e2 beq.w 0x19a68                                     |             goto label_87;
                                                                 |         }
    0x000195e6 add r7, sp, 0x80                                  |         r7 += var_80h;
                                                                 | label_15:
    0x000195e8 mov.w sl, 0                                       |         sl = 0;
                                                                 | label_28:
    0x000195ec mov r0, r7                                        |         r0 = r7;
    0x000195ee blx 0x5f0c                                        |         fcn_00005f0c ();
    0x000195f2 ldr r0, [sp, 0x6c]                                |         r0 = var_6ch;
                                                                 |         if (r0 != 0) {
    0x000195f4 cbz r0, 0x195fa                                   |             
    0x000195f6 blx 0x62ac                                        |             fcn_000062ac ();
                                                                 |         }
                                                                 | label_30:
    0x000195fa ldr r3, [sp, 0x30]                                |         r3 = var_30h;
    0x000195fc ldrb r3, [r3]                                     |         r3 = *(r3);
    0x000195fe cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00019600 beq.w 0x19bfe                                     |             goto label_88;
                                                                 |         }
                                                                 | label_26:
    0x00019604 ldrb r3, [r4]                                     |         r3 = *(r4);
    0x00019606 cmp r3, 0                                         |         
    0x00019608 beq 0x1953c                                       |         
                                                                 |     } while (r3 == 0);
    0x0001960a ldr r0, [sp, 0x48]                                |     r0 = var_48h;
    0x0001960c blx 0x62c4                                        |     r0 = fcn_000062c4 ();
    0x00019610 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00019612 blt.w 0x1a094                                     |         goto label_89;
                                                                 |     }
    0x00019614 strh r7, [r7, 0x28]                               |     *((r7 + 0x28)) = r7;
    0x00019616 cmp r4, 1                                         |     
    0x00019618 it eq                                             |     
                                                                 |     if (r4 == 1) {
    0x0001961a cmpeq sl, 0                                       |         __asm ("cmpeq sl, 0");
                                                                 |     }
    0x0001961e ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x00019620 it eq                                             |     
                                                                 |     if (r4 != 1) {
    0x00019622 moveq sl, 1                                       |         sl = 1;
                                                                 |     }
    0x00019626 b 0x1953e                                         |     goto label_2;
                                                                 | label_83:
    0x00019628 ldr.w r8, [pc, 0x8d4]                             |     
    0x0001962c mov r0, r7                                        |     r0 = r7;
    0x0001962e add r8, pc                                        |     r8 = 0x33532;
    0x00019630 mov r1, r8                                        |     r1 = r8;
    0x00019632 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x00019636 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019638 beq.w 0x19b04                                     |         goto label_90;
                                                                 |     }
    0x0001963c ldr.w r3, [pc, 0x864]                             |     r3 = *(0x19ea4);
    0x00019640 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019644 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00019646 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019648 bne.w 0x19cce                                     |         goto label_91;
                                                                 |     }
    0x0001964c ldr.w sb, [pc, 0x8b4]                             |     
    0x00019650 mov r6, r3                                        |     r6 = r3;
    0x00019652 mov r8, r3                                        |     r8 = r3;
    0x00019654 add sb, pc                                        |     sb = 0x3355c;
    0x00019656 b 0x19664                                         |     
                                                                 |     while (r0 == 0) {
                                                                 | label_3:
    0x00019658 adds r6, 3                                        |         r6 += 3;
    0x0001965a add.w r8, r8, 1                                   |         r8++;
    0x0001965e cmp r6, 0x24                                      |         
                                                                 |         if (r6 == 0x24) {
    0x00019660 beq.w 0x19e30                                     |             goto label_92;
                                                                 |         }
    0x00019664 ldr.w r0, [sb, r6, lsl 2]                         |         offset_0 = r6 << 2;
                                                                 |         r0 = *((sb + offset_0));
    0x00019668 cmp r0, 0                                         |         
    0x0001966a beq 0x19658                                       |         
                                                                 |     }
    0x0001966c mov r1, r7                                        |     r1 = r7;
    0x0001966e blx 0x6670                                        |     r0 = hashmap_contains ();
    0x00019672 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00019674 bne 0x19658                                       |         goto label_3;
                                                                 |     }
    0x00019676 add.w r8, r8, r8, lsl 1                           |     r8 += (r8 << 1);
    0x0001967a add.w sb, sb, r8, lsl 2                           |     sb += (r8 << 2);
    0x0001967e ldr.w sb, [sb, 4]                                 |     sb = *((sb + 4));
                                                                 | label_36:
    0x00019682 ldr.w sl, [pc, 0x884]                             |     
    0x00019686 movs r6, 0                                        |     r6 = 0;
    0x00019688 mov r8, r6                                        |     r8 = r6;
    0x0001968a add sl, pc                                        |     sl = 0x33598;
    0x0001968c b 0x1969a                                         |     
                                                                 |     while (r0 == 0) {
                                                                 | label_4:
    0x0001968e adds r6, 3                                        |         r6 += 3;
    0x00019690 add.w r8, r8, 1                                   |         r8++;
    0x00019694 cmp r6, 0x24                                      |         
                                                                 |         if (r6 == 0x24) {
    0x00019696 beq.w 0x19e38                                     |             goto label_93;
                                                                 |         }
    0x0001969a ldr.w r0, [sl, r6, lsl 2]                         |         offset_1 = r6 << 2;
                                                                 |         r0 = *((sl + offset_1));
    0x0001969e cmp r0, 0                                         |         
    0x000196a0 beq 0x1968e                                       |         
                                                                 |     }
    0x000196a2 mov r1, r7                                        |     r1 = r7;
    0x000196a4 blx 0x6670                                        |     r0 = hashmap_contains ();
    0x000196a8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000196aa bne 0x1968e                                       |         goto label_4;
                                                                 |     }
    0x000196ac add.w r3, r8, r8, lsl 1                           |     r3 = r8 + (r8 << 1);
    0x000196b0 add.w r3, sl, r3, lsl 2                           |     r3 = sl + (r3 << 2);
    0x000196b4 ldr r3, [r3, 8]                                   |     r3 = *((r3 + 8));
    0x000196b6 str r3, [sp, 0x2c]                                |     var_2ch = r3;
                                                                 | label_37:
    0x000196b8 ldr.w r3, [pc, 0x850]                             |     r3 = *(0x19f0c);
    0x000196bc ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000196c0 ldr r6, [r3]                                      |     r6 = *(0x19f0c);
    0x000196c2 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x000196c4 beq.w 0x1a12e                                     |         goto label_94;
                                                                 |     }
                                                                 | label_43:
    0x000196c8 movs r7, 0                                        |     r7 = 0;
                                                                 | label_25:
    0x000196ca mov r0, r5                                        |     r0 = r5;
    0x000196cc ldr r5, [sp, 0x58]                                |     r5 = c;
    0x000196ce movs r1, 1                                        |     r1 = 1;
    0x000196d0 blx 0x5f9c                                        |     fcn_00005f9c ();
    0x000196d4 mov r2, r7                                        |     r2 = r7;
    0x000196d6 add r7, sp, 0x80                                  |     r7 += var_80h;
    0x000196d8 mov r1, r0                                        |     r1 = r0;
    0x000196da add r3, sp, 0x54                                  |     r3 += var_54h;
    0x000196dc mov r0, r5                                        |     r0 = r5;
    0x000196de str r7, [sp]                                      |     *(sp) = r7;
    0x000196e0 bl 0x1c234                                        |     r0 = fcn_0001c234 (r0, r1, r2, r3, r4, r5, r6);
    0x000196e4 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x000196e6 blt.w 0x19d22                                     |         goto label_95;
                                                                 |     }
    0x000196ea ldr.w r3, [pc, 0x824]                             |     r3 = *(0x19f12);
    0x000196ee ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000196f2 ldrb r3, [r3]                                     |     r3 = *(r3);
    0x000196f4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000196f6 bne.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x000196fa ldrb.w r3, [sp, 0x80]                             |     r3 = var_80h;
    0x000196fe cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00019700 beq.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x00019704 ldr.w r1, [pc, 0x80c]                             |     
    0x00019708 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x0001970a add r1, pc                                        |     r1 = 0x33622;
    0x0001970c blx 0x6670                                        |     r0 = hashmap_contains ();
    0x00019710 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00019712 bne.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x00019716 ldr.w r3, [pc, 0x800]                             |     r3 = *(0x19f1a);
    0x0001971a ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x0001971e ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00019720 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019722 bne.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x00019726 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001972a cmp r0, 3                                         |     
                                                                 |     if (r0 <= 3) {
    0x0001972c ble.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x00019730 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00019734 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019736 beq.w 0x1a24e                                     |         goto label_96;
                                                                 |     }
    0x0001973a ldr.w r5, [pc, 0x7e0]                             |     
    0x0001973e add r5, pc                                        |     r5 = 0x33660;
                                                                 | label_48:
    0x00019740 blx 0x5ac4                                        |     r0 = table_add_cell_full ();
    0x00019744 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019746 beq.w 0x1a246                                     |         goto label_97;
                                                                 |     }
    0x0001974a ldr.w r3, [pc, 0x7d4]                             |     
    0x0001974e add r3, pc                                        |     r3 = 0x33674;
                                                                 | label_47:
    0x00019750 strd r5, r3, [sp, 8]                              |     __asm ("strd r5, r3, [var_8h_2]");
    0x00019754 movs r1, 0                                        |     r1 = 0;
    0x00019756 ldr.w r5, [pc, 0x7cc]                             |     
    0x0001975a movs r0, 4                                        |     r0 = 4;
    0x0001975c ldr.w r3, [pc, 0x7c8]                             |     
    0x00019760 ldr.w r7, [pc, 0x7c8]                             |     
    0x00019764 add r5, pc                                        |     r5 = 0x3368e;
    0x00019766 add r3, pc                                        |     r3 = 0x33692;
    0x00019768 adds r5, 7                                        |     r5 += 7;
    0x0001976a add r7, pc                                        |     r7 = 0x3369a;
    0x0001976c mov r2, r5                                        |     r2 = r5;
    0x0001976e str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019770 movw r3, 0x14f                                    |     r3 = 0x14f;
    0x00019774 str r7, [sp]                                      |     *(sp) = r7;
    0x00019776 blx 0x6008                                        |     fcn_00006008 ();
    0x0001977a blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001977e cmp r0, 4                                         |     
                                                                 |     if (r0 <= 4) {
    0x00019780 ble.w 0x192f8                                     |         goto label_1;
                                                                 |     }
    0x00019784 ldr.w r3, [pc, 0x7a8]                             |     
    0x00019788 mov r2, r5                                        |     r2 = r5;
    0x0001978a movs r1, 0                                        |     r1 = 0;
    0x0001978c str r7, [sp]                                      |     *(sp) = r7;
    0x0001978e movs r0, 5                                        |     r0 = 5;
    0x00019790 add r3, pc                                        |     r3 = 0x336c4;
    0x00019792 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019794 mov.w r3, 0x152                                   |     r3 = 0x152;
    0x00019798 blx 0x6008                                        |     fcn_00006008 ();
    0x0001979c b 0x192f8                                         |     goto label_1;
                                                                 | label_73:
    0x0001979e cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000197a0 beq.w 0x193ce                                     |         goto label_5;
                                                                 |     }
                                                                 | label_14:
    0x000197a4 add.w r8, sp, 0x70                                |     r8 += var_1e0h;
                                                                 | label_9:
    0x000197a8 ldr r1, [sp, 0x3c]                                |     r1 = var_3ch;
    0x000197aa mov r0, sl                                        |     r0 = sl;
    0x000197ac blx 0x6670                                        |     r0 = hashmap_contains ();
    0x000197b0 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000197b2 beq.w 0x19958                                     |         goto label_98;
                                                                 |     }
                                                                 | label_13:
    0x000197b6 mov r0, r8                                        |     r0 = r8;
    0x000197b8 blx 0x5f0c                                        |     fcn_00005f0c ();
    0x000197bc b 0x19340                                         |     goto label_6;
                                                                 | label_65:
    0x000197be ldr r0, [sp, 0x58]                                |     r0 = c;
    0x000197c0 add r1, sp, 0x4c                                  |     r1 += var_4ch;
    0x000197c2 blx 0x6060                                        |     r0 = fcn_00006060 ();
    0x000197c6 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 >= r0) {
    0x000197c8 bge.w 0x1930a                                     |         goto label_7;
                                                                 |     }
    0x000197cc blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000197d0 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000197d2 ble.w 0x19a50                                     |         goto label_99;
                                                                 |     }
    0x000197d6 ldr.w r2, [pc, 0x75c]                             |     
    0x000197da movw r3, 0x15b                                    |     r3 = 0x15b;
    0x000197de ldr.w r4, [pc, 0x758]                             |     
    0x000197e2 ldr.w r0, [pc, 0x758]                             |     
    0x000197e6 add r2, pc                                        |     r2 = 0x33720;
    0x000197e8 add r4, pc                                        |     r4 = 0x33726;
    0x000197ea add r0, pc                                        |     r0 = 0x3372c;
                                                                 | label_20:
    0x000197ec strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x000197f0 mov r1, r5                                        |     r1 = r5;
    0x000197f2 adds r2, 7                                        |     r2 += 7;
    0x000197f4 movs r0, 3                                        |     r0 = 3;
    0x000197f6 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x000197fa mov sl, r0                                        |     sl = r0;
    0x000197fc b 0x19a5a                                         |     goto label_39;
                                                                 | label_76:
    0x000197fe ldr.w r1, [pc, 0x740]                             |     
    0x00019802 mov r0, r8                                        |     r0 = r8;
    0x00019804 add r1, pc                                        |     r1 = 0x3374a;
    0x00019806 blx 0x5920                                        |     r0 = sd_bus_error_has_name ();
    0x0001980a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001980c beq.w 0x1998a                                     |         goto label_100;
                                                                 |     }
    0x00019810 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019814 cmp r0, 4                                         |     
                                                                 |     if (r0 > 4) {
    0x00019816 bgt.w 0x19e40                                     |         goto label_101;
                                                                 |     }
    0x0001981a ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x0001981c blx 0x5f0c                                        |     fcn_00005f0c ();
                                                                 | label_38:
    0x00019820 ldr.w r3, [pc, 0x720]                             |     
    0x00019824 add.w r8, sp, 0x70                                |     r8 += var_1e0h;
    0x00019828 ldr r1, [sp, 0x34]                                |     r1 = var_34h_2;
    0x0001982a mov r2, sl                                        |     r2 = sl;
    0x0001982c ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0001982e add r3, pc                                        |     r3 = 0x33776;
    0x00019830 str r7, [sp]                                      |     *(sp) = r7;
    0x00019832 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019834 mov r3, r8                                        |     r3 = r8;
    0x00019836 strd r4, sb, [sp, 8]                              |     __asm ("strd r4, sb, [var_8h_2]");
    0x0001983a blx 0x5fe4                                        |     r0 = fcn_00005fe4 ();
    0x0001983e subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x00019840 blt.w 0x1999e                                     |         goto label_102;
                                                                 |     }
    0x00019844 ldr.w r1, [pc, 0x700]                             |     
    0x00019848 add r2, sp, 0x60                                  |     r2 += var_60h_2;
    0x0001984a ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x0001984c add r1, pc                                        |     r1 = 0x33798;
    0x0001984e blx 0x636c                                        |     r0 = fcn_0000636c ();
    0x00019852 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x00019854 blt.w 0x19cf8                                     |         goto label_103;
                                                                 |     }
                                                                 | label_31:
    0x00019858 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0001985a mov r1, r4                                        |     r1 = r4;
    0x0001985c bl 0x1b23c                                        |     r0 = fcn_0001b23c (r0, r1);
    0x00019860 cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x00019862 bgt.w 0x19b0e                                     |         goto label_104;
                                                                 |     }
                                                                 | label_18:
    0x00019866 ldr r3, [sp, 0x20]                                |     r3 = var_20h;
                                                                 |     if (r3 != 0) {
    0x00019868 cbz r3, 0x19882                                   |         
    0x0001986a blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001986e cmp r0, 6                                         |         
                                                                 |         if (r0 > 6) {
    0x00019870 bgt.w 0x19b32                                     |             goto label_105;
                                                                 |         }
                                                                 | label_19:
    0x00019874 ldr r0, [sp, 0x20]                                |         r0 = var_20h;
    0x00019876 ldr r1, [sp, 0x60]                                |         r1 = var_60h_2;
    0x00019878 blx 0x5e4c                                        |         r0 = fcn_00005e4c ();
    0x0001987c subs r6, r0, 0                                    |         r6 = r0 - 0;
                                                                 |         if (r6 < r0) {
    0x0001987e blt.w 0x19ba4                                     |             goto label_106;
                                                                 |         }
                                                                 |     }
    0x00019882 ldr r3, [sp, 0x28]                                |     r3 = var_28h;
                                                                 |     if (r3 != 0) {
    0x00019884 cbz r3, 0x198b4                                   |         
    0x00019886 movs r3, 0                                        |         r3 = 0;
    0x00019888 ldr r0, [sp, 0x28]                                |         r0 = var_28h;
    0x0001988a movs r2, 6                                        |         r2 = 6;
    0x0001988c mov r1, r4                                        |         r1 = r4;
    0x0001988e str r3, [sp]                                      |         *(sp) = r3;
    0x00019890 blx 0x6354                                        |         r0 = fcn_00006354 ();
    0x00019894 subs r6, r0, 0                                    |         r6 = r0 - 0;
                                                                 |         if (r6 >= r0) {
    0x00019896 bge 0x198b4                                       |             goto label_107;
                                                                 |         }
    0x00019898 blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001989c cmp r0, 2                                         |         
                                                                 |         if (r0 > 2) {
    0x0001989e bgt.w 0x1a1ee                                     |             goto label_108;
                                                                 |         }
                                                                 | label_23:
    0x000198a2 rsbs r6, r6, 0                                    |         r6 -= ;
    0x000198a4 bic r6, r6, 0x40000000                            |         r6 = BIT_MASK (r6, 0x40000000);
    0x000198a8 rsbs r6, r6, 0                                    |         r6 -= ;
                                                                 | label_24:
    0x000198aa cmp r6, 0                                         |         
    0x000198ac it ge                                             |         
                                                                 |         if (r6 < 0) {
    0x000198ae mvnge r6, 0x55                                    |             r6 = ~0x55;
                                                                 |         }
    0x000198b2 b 0x194be                                         |         goto label_8;
                                                                 |     }
                                                                 | label_107:
    0x000198b4 ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x000198b6 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000198b8 beq.w 0x197a8                                     |         goto label_9;
                                                                 |     }
    0x000198bc blx 0x62ac                                        |     fcn_000062ac ();
    0x000198c0 b 0x197a8                                         |     goto label_9;
                                                                 | label_58:
    0x000198c2 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000198c6 cmp r0, 2                                         |     
    0x000198c8 it le                                             |     
                                                                 |     if (r0 <= 2) {
    0x000198ca mvnle sl, 0x15                                    |         sl = ~0x15;
                                                                 |         goto label_109;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_109:
    0x000198ce ble.w 0x19546                                     |         goto label_10;
                                                                 |     }
    0x000198d2 ldr.w r2, [pc, 0x678]                             |     
    0x000198d6 movs r1, 0x16                                     |     r1 = 0x16;
    0x000198d8 ldr.w r0, [pc, 0x674]                             |     
    0x000198dc movw r3, 0x10f                                    |     r3 = 0x10f;
    0x000198de asrs r7, r1, 0xc                                  |     r7 = r1 >> 0xc;
    0x000198e0 ldr.w r4, [pc, 0x670]                             |     
    0x000198e4 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x000198e8 add r2, pc                                        |     r2 = 0x3383a;
    0x000198ea add r0, pc                                        |     r0 = 0x3383e;
    0x000198ec adds r2, 7                                        |     r2 += 7;
    0x000198ee add r4, pc                                        |     r4 = 0x33846;
    0x000198f0 str r0, [sp, 4]                                   |     var_4h_2 = r0;
    0x000198f2 str r4, [sp]                                      |     *(sp) = r4;
    0x000198f4 movs r0, 3                                        |     r0 = 3;
    0x000198f6 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x000198fa subs.w sl, r0, 0                                  |     sl = r0 - 0;
    0x000198fe ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x00019900 it ge                                             |     
                                                                 |     if (sl < r0) {
    0x00019902 mvnge sl, 0x55                                    |         sl = ~0x55;
                                                                 |     }
    0x00019906 b 0x1953e                                         |     goto label_2;
                                                                 | label_66:
    0x00019908 ldr.w r3, [pc, 0x5b8]                             |     r3 = *(0x19ec4);
    0x0001990c movs r1, 0                                        |     r1 = 0;
    0x0001990e ldr r0, [sp, 0x58]                                |     r0 = c;
    0x00019910 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019914 strd r1, r1, [sp, 4]                              |     __asm ("strd r1, r1, [var_4h_2]");
    0x00019918 str r1, [sp]                                      |     *(sp) = r1;
    0x0001991a ldr r2, [r3]                                      |     r2 = *(0x19ec4);
    0x0001991c ldr.w r3, [pc, 0x638]                             |     
    0x00019920 add r3, pc                                        |     r3 = 0x3387c;
    0x00019922 blx 0x5d04                                        |     r0 = putchar (r0);
    0x00019926 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x00019928 blt.w 0x19a46                                     |         goto label_110;
                                                                 |     }
    0x0001992c ldr r0, [sp, 0x58]                                |     r0 = c;
    0x0001992e add r1, sp, 0x48                                  |     r1 += var_48h;
    0x00019930 blx 0x58f0                                        |     r0 = bus_wait_for_units_new ();
    0x00019934 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 >= r0) {
    0x00019936 bge.w 0x19312                                     |         goto label_11;
                                                                 |     }
    0x0001993a blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001993e cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00019940 bgt.w 0x1a136                                     |         goto label_111;
                                                                 |     }
                                                                 | label_29:
    0x00019944 rsbs r3, r5, 0                                    |     r3 = r5 - ;
    0x00019946 bic r3, r3, 0x40000000                            |     r3 = BIT_MASK (r3, 0x40000000);
    0x0001994a rsb.w sl, r3, 0                                   |     sl = r3 - ;
    0x0001994e b 0x19a5a                                         |     goto label_39;
                                                                 | label_74:
    0x00019950 ldr.w r3, [pc, 0x608]                             |     
    0x00019954 add r3, pc                                        |     r3 = 0x338b4;
    0x00019956 b 0x1939a                                         |     goto label_12;
                                                                 | label_98:
    0x00019958 ldr r1, [r5]                                      |     r1 = *(r5);
    0x0001995a add r0, sp, 0x50                                  |     r0 += var_50h;
    0x0001995c blx 0x5d98                                        |     r0 = fcn_00005d98 ();
    0x00019960 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x00019962 bge.w 0x197b6                                     |         goto label_13;
                                                                 |     }
    0x00019966 ldr.w r1, [pc, 0x5f8]                             |     
    0x0001996a mov.w r2, 0x176                                   |     r2 = 0x176;
    0x0001996e ldr.w r3, [pc, 0x5f4]                             |     
    0x00019972 movs r0, 3                                        |     r0 = 3;
    0x00019974 add r1, pc                                        |     r1 = 0x338da;
    0x00019976 add r3, pc                                        |     r3 = 0x338e0;
    0x00019978 adds r1, 7                                        |     r1 += 7;
    0x0001997a blx 0x6920                                        |     r0 = fcn_00006920 ();
    0x0001997e mov sl, r0                                        |     sl = r0;
    0x00019980 mov r0, r8                                        |     r0 = r8;
    0x00019982 blx 0x5f0c                                        |     fcn_00005f0c ();
    0x00019986 ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x00019988 b 0x1953e                                         |     goto label_2;
                                                                 | label_100:
    0x0001998a ldr r7, [sp, 0x44]                                |     r7 = var_44h;
    0x0001998c add.w r8, sp, 0x70                                |     r8 += var_1e0h;
    0x00019990 mov r0, r8                                        |     r0 = r8;
    0x00019992 mov r1, r7                                        |     r1 = r7;
    0x00019994 blx 0x6150                                        |     fcn_00006150 ();
    0x00019998 mov r0, r7                                        |     r0 = r7;
    0x0001999a blx 0x5f0c                                        |     fcn_00005f0c ();
                                                                 | label_102:
    0x0001999e ldr r3, [sp, 0x24]                                |     r3 = var_24h;
    0x000199a0 ldr r3, [r3]                                      |     r3 = *(r3);
    0x000199a2 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000199a4 bne.w 0x194be                                     |         goto label_8;
                                                                 |     }
    0x000199a8 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000199ac cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x000199ae bgt.w 0x19dd4                                     |         goto label_112;
                                                                 |     }
                                                                 | label_35:
    0x000199b2 movs r3, 0                                        |     r3 = 0;
    0x000199b4 ldr.w r2, [pc, 0x5b0]                             |     
    0x000199b8 ldr.w r1, [pc, 0x5b0]                             |     
    0x000199bc mov r0, r8                                        |     r0 = r8;
    0x000199be str r3, [sp]                                      |     *(sp) = r3;
    0x000199c0 ldr.w r3, [pc, 0x5ac]                             |     
    0x000199c4 add r2, pc                                        |     r2 = 0x33930;
    0x000199c6 add r1, pc                                        |     r1 = 0x33936;
    0x000199c8 add r3, pc                                        |     r3 = 0x3393c;
    0x000199ca blx 0x5dec                                        |     r0 = fcn_00005dec ();
    0x000199ce cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000199d0 bne.w 0x194be                                     |         goto label_8;
                                                                 |     }
    0x000199d4 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x000199d8 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x000199da ble.w 0x194be                                     |         goto label_8;
                                                                 |     }
    0x000199de ldr.w r3, [pc, 0x594]                             |     
    0x000199e2 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x000199e6 ldr r3, [r3]                                      |     r3 = *(0x19f76);
    0x000199e8 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000199ea beq.w 0x1a16a                                     |         goto label_113;
                                                                 |     }
    0x000199ee ldr.w r2, [pc, 0x588]                             |     
    0x000199f2 ldr.w r1, [pc, 0x588]                             |     r1 = sym.imp.boot_config_select_special_entries;
    0x000199f6 add r2, pc                                        |     r2 = 0x33974;
    0x000199f8 add r1, pc                                        |     r1 += pc;
                                                                 | label_44:
    0x000199fa ldrb r3, [r4]                                     |     r3 = *(r4);
    0x000199fc cmp r3, 0x2d                                      |     
                                                                 |     if (r3 == 0x2d) {
    0x000199fe beq.w 0x1a1e8                                     |         goto label_114;
                                                                 |     }
    0x00019a02 ldr.w r3, [pc, 0x57c]                             |     
    0x00019a06 add r3, pc                                        |     r3 = 0x3398c;
                                                                 | label_46:
    0x00019a08 strd r3, r4, [sp, 0x10]                           |     __asm ("strd r3, r4, [var_10h_2]");
    0x00019a0c movs r0, 3                                        |     r0 = 3;
    0x00019a0e ldr.w r3, [pc, 0x574]                             |     
    0x00019a12 strd r2, r1, [sp, 8]                              |     __asm ("strd r2, r1, [var_8h_2]");
    0x00019a16 movs r1, 0                                        |     r1 = 0;
    0x00019a18 ldr.w r2, [pc, 0x56c]                             |     
    0x00019a1c add r3, pc                                        |     r3 = 0x339a6;
    0x00019a1e str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019a20 ldr.w r3, [pc, 0x568]                             |     
    0x00019a24 add r2, pc                                        |     r2 = 0x339b0;
    0x00019a26 adds r2, 7                                        |     r2 += 7;
    0x00019a28 add r3, pc                                        |     r3 = 0x339b8;
    0x00019a2a str r3, [sp]                                      |     *(sp) = r3;
    0x00019a2c movs r3, 0xaa                                     |     r3 = 0xaa;
    0x00019a2e blx 0x6008                                        |     fcn_00006008 ();
    0x00019a32 b 0x194be                                         |     goto label_8;
                                                                 | label_75:
    0x00019a34 ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x00019a36 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019a38 beq.w 0x197a4                                     |         goto label_14;
                                                                 |     }
    0x00019a3c add.w r8, sp, 0x70                                |     r8 += var_1e0h;
    0x00019a40 blx 0x62ac                                        |     fcn_000062ac ();
    0x00019a44 b 0x197a8                                         |     goto label_9;
                                                                 | label_110:
    0x00019a46 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019a4a cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00019a4c bgt.w 0x19b5a                                     |         goto label_115;
                                                                 |     }
                                                                 | label_99:
    0x00019a50 rsbs r0, r5, 0                                    |     r0 = r5 - ;
    0x00019a52 bic r0, r0, 0x40000000                            |     r0 = BIT_MASK (r0, 0x40000000);
    0x00019a56 rsb.w sl, r0, 0                                   |     sl = r0 - ;
                                                                 | label_39:
    0x00019a5a cmp.w sl, 0                                       |     
    0x00019a5e ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x00019a60 it ge                                             |     
                                                                 |     if (sl < 0) {
    0x00019a62 mvnge sl, 0x55                                    |         sl = ~0x55;
                                                                 |     }
    0x00019a66 b 0x1953e                                         |     goto label_2;
                                                                 | label_87:
    0x00019a68 ldr.w r3, [pc, 0x458]                             |     r3 = *(0x19ec4);
    0x00019a6c add r7, sp, 0x80                                  |     r7 += var_80h;
    0x00019a6e ldr.w r2, [pc, 0x520]                             |     
    0x00019a72 mov r0, r5                                        |     r0 = r5;
    0x00019a74 ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019a78 add r2, pc                                        |     r2 = 0x33a0e;
    0x00019a7a str r6, [sp, 4]                                   |     var_4h_2 = r6;
    0x00019a7c ldr r1, [r3]                                      |     r1 = *(0x19ec4);
    0x00019a7e add r3, sp, 0x6c                                  |     r3 += var_6ch;
    0x00019a80 str r3, [sp]                                      |     *(sp) = r3;
    0x00019a82 mov r3, r7                                        |     r3 = r7;
    0x00019a84 blx 0x5fe4                                        |     r0 = fcn_00005fe4 ();
    0x00019a88 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x00019a8a blt.w 0x19cd6                                     |         goto label_116;
                                                                 |     }
    0x00019a8e ldr r0, [sp, 0x6c]                                |     r0 = var_6ch;
    0x00019a90 add r1, sp, 0x70                                  |     r1 += var_1e0h;
    0x00019a92 str r6, [sp, 0x70]                                |     var_1e0h = r6;
    0x00019a94 blx 0x6384                                        |     r0 = fcn_00006384 ();
    0x00019a98 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x00019a9a blt.w 0x1a0da                                     |         goto label_117;
                                                                 |     }
    0x00019a9e ldr r0, [sp, 0x70]                                |     r0 = var_1e0h;
    0x00019aa0 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x00019aa4 beq.w 0x19e68                                     |         goto label_118;
                                                                 |     }
    0x00019aa6 strh r0, [r4, 0xe]                                |     *((r4 + 0xe)) = r0;
    0x00019aa8 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019aaa beq.w 0x195e8                                     |         goto label_15;
                                                                 |     }
    0x00019aae ldr.w sb, [pc, 0x4e4]                             |     
    0x00019ab2 mov r5, r0                                        |     r5 = r0;
    0x00019ab4 ldr.w r6, [pc, 0x4e0]                             |     
    0x00019ab8 str r4, [sp, 0x1c]                                |     var_1ch = r4;
    0x00019aba add sb, pc                                        |     sb = 0x33a54;
    0x00019abc add.w sb, sb, 7                                   |     sb += 7;
    0x00019ac0 add r6, pc                                        |     r6 = 0x33a5c;
    0x00019ac2 b 0x19ad2                                         |     
                                                                 |     while (r0 <= 6) {
                                                                 | label_16:
    0x00019ac4 mov r1, r4                                        |         r1 = r4;
    0x00019ac6 mov r0, sl                                        |         r0 = sl;
    0x00019ac8 blx 0x5e4c                                        |         r0 = fcn_00005e4c ();
    0x00019acc cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00019ace blt.w 0x1a174                                     |             goto label_119;
                                                                 |         }
    0x00019ad2 mov r8, r5                                        |         r8 = r5;
    0x00019ad4 ldr r4, [r5], 4                                   |         r4 = *(r5);
                                                                 |         r5 += 4;
    0x00019ad8 cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x00019ada beq.w 0x19e64                                     |             goto label_120;
                                                                 |         }
    0x00019ade blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x00019ae2 cmp r0, 6                                         |         
    0x00019ae4 ble 0x19ac4                                       |         
                                                                 |     }
    0x00019ae6 ldr.w r3, [pc, 0x4b4]                             |     
    0x00019aea mov r2, sb                                        |     r2 = sb;
    0x00019aec strd r6, r4, [sp, 4]                              |     __asm ("strd r6, r4, [var_4h_2]");
    0x00019af0 movs r1, 0                                        |     r1 = 0;
    0x00019af2 movs r0, 7                                        |     r0 = 7;
    0x00019af4 add r3, pc                                        |     r3 = 0x33a96;
    0x00019af6 str r3, [sp]                                      |     *(sp) = r3;
    0x00019af8 movs r3, 0xcc                                     |     r3 = 0xcc;
    0x00019afa blx 0x6008                                        |     fcn_00006008 ();
    0x00019afe ldr r4, [r5, -0x4]                                |     r4 = *((r5 - 0x4));
    0x00019b02 b 0x19ac4                                         |     goto label_16;
                                                                 | label_90:
    0x00019b04 ldr.w r7, [pc, 0x498]                             |     
    0x00019b08 mov r6, r8                                        |     r6 = r8;
    0x00019b0a add r7, pc                                        |     r7 = 0x33aae;
    0x00019b0c b 0x19502                                         |     goto label_17;
                                                                 | label_104:
    0x00019b0e mov r0, r4                                        |     r0 = r4;
    0x00019b10 bl 0x1b304                                        |     fcn_0001b304 (r0, r1, r2);
    0x00019b14 b 0x19866                                         |     goto label_18;
                                                                 | label_63:
    0x00019b16 ldr.w r1, [pc, 0x48c]                             |     
    0x00019b1a movw r2, 0x13b                                    |     r2 = 0x13b;
    0x00019b1e ldr.w r3, [pc, 0x488]                             |     
    0x00019b22 ldr.w r0, [pc, 0x488]                             |     
    0x00019b26 add r1, pc                                        |     r1 = 0x33ad0;
    0x00019b28 add r3, pc                                        |     r3 = 0x33ad6;
    0x00019b2a adds r1, 7                                        |     r1 += 7;
    0x00019b2c add r0, pc                                        |     r0 = 0x33ade;
    0x00019b2e blx 0x59a0                                        |     fcn_000059a0 ();
    0x00019b30 invalid                                           |     
                                                                 | label_105:
    0x00019b32 ldr r3, [sp, 0x60]                                |     r3 = var_60h_2;
    0x00019b34 movs r1, 0                                        |     r1 = 0;
    0x00019b36 ldr.w r2, [pc, 0x478]                             |     
    0x00019b3a movs r0, 7                                        |     r0 = 7;
    0x00019b3c str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019b3e ldr.w r3, [pc, 0x474]                             |     
    0x00019b42 add r2, pc                                        |     r2 = 0x33af8;
    0x00019b44 adds r2, 7                                        |     r2 += 7;
    0x00019b46 add r3, pc                                        |     r3 = 0x33b00;
    0x00019b48 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019b4a ldr.w r3, [pc, 0x46c]                             |     
    0x00019b4e add r3, pc                                        |     r3 = 0x33b0c;
    0x00019b50 str r3, [sp]                                      |     *(sp) = r3;
    0x00019b52 movs r3, 0x92                                     |     r3 = 0x92;
    0x00019b54 blx 0x6008                                        |     fcn_00006008 ();
    0x00019b58 b 0x19874                                         |     goto label_19;
                                                                 | label_115:
    0x00019b5a ldr.w r2, [pc, 0x460]                             |     
    0x00019b5e movw r3, 0x161                                    |     r3 = 0x161;
    0x00019b62 ldr.w r4, [pc, 0x45c]                             |     
    0x00019b66 ldr.w r0, [pc, 0x45c]                             |     
    0x00019b6a add r2, pc                                        |     r2 = 0x33b2c;
    0x00019b6c add r4, pc                                        |     r4 = 0x33b32;
    0x00019b6e add r0, pc                                        |     r0 = 0x33b38;
    0x00019b70 b 0x197ec                                         |     goto label_20;
                                                                 | label_77:
    0x00019b72 str r1, [sp, 0x1c]                                |     var_1ch = r1;
    0x00019b74 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019b78 cmp r0, 2                                         |     
    0x00019b7a ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
                                                                 |     if (r0 <= 2) {
    0x00019b7c ble.w 0x194a4                                     |         goto label_21;
                                                                 |     }
    0x00019b80 ldr.w r3, [pc, 0x444]                             |     
    0x00019b84 movs r0, 3                                        |     r0 = 3;
    0x00019b86 ldr.w r2, [pc, 0x444]                             |     
    0x00019b8a add r3, pc                                        |     r3 = 0x33b56;
    0x00019b8c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019b8e add r2, pc                                        |     r2 = 0x33b60;
    0x00019b90 ldr.w r3, [pc, 0x43c]                             |     
    0x00019b94 adds r2, 7                                        |     r2 += 7;
    0x00019b96 add r3, pc                                        |     r3 = 0x33b6a;
    0x00019b98 str r3, [sp]                                      |     *(sp) = r3;
    0x00019b9a movs r3, 0x6b                                     |     r3 = 0x6b;
    0x00019b9c blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x00019ba0 mov r6, r0                                        |     r6 = r0;
    0x00019ba2 b 0x194ac                                         |     goto label_22;
                                                                 | label_106:
    0x00019ba4 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019ba8 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00019baa ble.w 0x198a2                                     |         goto label_23;
                                                                 |     }
    0x00019bae ldr.w r3, [pc, 0x424]                             |     
    0x00019bb2 mov r1, r6                                        |     r1 = r6;
    0x00019bb4 ldr.w r2, [pc, 0x420]                             |     
    0x00019bb8 movs r0, 3                                        |     r0 = 3;
    0x00019bba str r4, [sp, 8]                                   |     var_8h_2 = r4;
    0x00019bbc add r3, pc                                        |     r3 = 0x33b96;
    0x00019bbe str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019bc0 add r2, pc                                        |     r2 = 0x33b9c;
    0x00019bc2 ldr.w r3, [pc, 0x418]                             |     
    0x00019bc6 adds r2, 7                                        |     r2 += 7;
    0x00019bc8 add r3, pc                                        |     r3 = 0x33baa;
    0x00019bca str r3, [sp]                                      |     *(sp) = r3;
    0x00019bcc movs r3, 0x95                                     |     r3 = 0x95;
    0x00019bce blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x00019bd2 mov r6, r0                                        |     r6 = r0;
    0x00019bd4 b 0x198aa                                         |     goto label_24;
                                                                 | label_70:
    0x00019bd6 ldr.w r1, [pc, 0x408]                             |     
    0x00019bda movs r2, 0x45                                     |     r2 = 0x45;
    0x00019bdc ldr.w r3, [pc, 0x404]                             |     
    0x00019be0 ldr.w r0, [pc, 0x404]                             |     
    0x00019be4 add r1, pc                                        |     r1 = 0x33bca;
    0x00019be6 add r3, pc                                        |     r3 = 0x33bce;
    0x00019be8 adds r1, 7                                        |     r1 += 7;
    0x00019bea add r0, pc                                        |     r0 = 0x33bd6;
    0x00019bec blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_84:
    0x00019bf0 ldr r3, [pc, 0x3f8]                               |     
    0x00019bf2 ldr.w sb, [pc, 0x3fc]                             |     
    0x00019bf6 add r3, pc                                        |     r3 = 0x33be6;
    0x00019bf8 add sb, pc                                        |     sb = 0x33bee;
    0x00019bfa str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00019bfc b 0x196ca                                         |     goto label_25;
                                                                 | label_88:
    0x00019bfe ldr r3, [pc, 0x318]                               |     r3 = *(0x19f1a);
    0x00019c00 ldr r0, [sp, 0x4c]                                |     r0 = var_4ch;
    0x00019c02 ldr.w r5, [fp, r3]                                |     r5 = *((fp + r3));
    0x00019c06 ldr r3, [pc, 0x36c]                               |     
    0x00019c08 ldrb r1, [r5]                                     |     r1 = *(r5);
    0x00019c0a ldr.w r3, [fp, r3]                                |     r3 = *((fp + r3));
    0x00019c0e ldr r3, [r3]                                      |     r3 = *(0x19f76);
                                                                 |     if (r3 != 0) {
    0x00019c10 cbz r3, 0x19c1a                                   |         
    0x00019c12 ldr r3, [pc, 0x3e0]                               |         
    0x00019c14 add r3, pc                                        |         r3 = 0x33c0e;
    0x00019c16 str r3, [sp, 0x8c]                                |         var_8ch = r3;
    0x00019c18 movs r3, 1                                        |         r3 = 1;
                                                                 |     }
    0x00019c1a ldr r2, [pc, 0x3dc]                               |     
    0x00019c1c ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x00019c20 ldr r2, [r2]                                      |     r2 = *(0x19ffa);
    0x00019c22 cmp r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x00019c24 beq.w 0x19db6                                     |         goto label_121;
                                                                 |     }
    0x00019c28 cmp r2, 2                                         |     
                                                                 |     if (r2 == 2) {
    0x00019c2a beq.w 0x1a0d4                                     |         goto label_122;
                                                                 |     }
    0x00019c2e cmp r2, 0                                         |     
                                                                 |     if (r2 != 0) {
    0x00019c30 bne.w 0x1a232                                     |         goto label_123;
                                                                 |     }
                                                                 | label_34:
    0x00019c34 add r2, sp, 0xa0                                  |     r2 += var_a0h;
    0x00019c36 add.w r3, r2, r3, lsl 2                           |     r3 = r2 + (r3 << 2);
    0x00019c3a movs r2, 0                                        |     r2 = 0;
    0x00019c3c str r2, [r3, -0x14]                               |     var_14h = r2;
    0x00019c40 add r2, sp, 0x8c                                  |     r2 += var_8ch;
    0x00019c42 blx 0x68b0                                        |     r0 = strdup (r0);
    0x00019c46 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x00019c48 blt.w 0x1a0cc                                     |         goto label_124;
                                                                 |     }
    0x00019c4c ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00019c4e cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00019c50 bne.w 0x19604                                     |         goto label_26;
                                                                 |     }
    0x00019c54 ldr r5, [sp, 0x50]                                |     r5 = var_50h;
    0x00019c56 cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x00019c58 beq.w 0x19604                                     |         goto label_26;
                                                                 |     }
    0x00019c5c ldr r1, [r5]                                      |     r1 = *(r5);
    0x00019c5e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00019c60 beq.w 0x19604                                     |         goto label_26;
                                                                 |     }
                                                                 |     do {
    0x00019c64 ldr r0, [sp, 0x58]                                |         r0 = c;
    0x00019c66 bl 0x1afb8                                        |         fcn_0001afb8 (r0, r1, r2, r3, r4, r5);
    0x00019c6a ldr r1, [r5, 4]!                                  |         r1 = *((r5 += 4));
    0x00019c6e cmp r1, 0                                         |         
    0x00019c70 bne 0x19c64                                       |         
                                                                 |     } while (r1 != 0);
    0x00019c72 b 0x19604                                         |     goto label_26;
                                                                 | label_71:
    0x00019c74 ldr r1, [pc, 0x384]                               |     
    0x00019c76 movs r2, 0x46                                     |     r2 = 0x46;
    0x00019c78 ldr r3, [pc, 0x384]                               |     
    0x00019c7a ldr r0, [pc, 0x388]                               |     
    0x00019c7c add r1, pc                                        |     r1 = 0x33c7c;
    0x00019c7e add r3, pc                                        |     r3 = 0x33c82;
    0x00019c80 adds r1, 7                                        |     r1 += 7;
    0x00019c82 add r0, pc                                        |     r0 = 0x33c8c;
    0x00019c84 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_72:
    0x00019c88 ldr r1, [pc, 0x37c]                               |     
    0x00019c8a movs r2, 0x47                                     |     r2 = 0x47;
    0x00019c8c ldr r3, [pc, 0x37c]                               |     
    0x00019c8e ldr r0, [pc, 0x380]                               |     
    0x00019c90 add r1, pc                                        |     r1 = 0x33c9c;
    0x00019c92 add r3, pc                                        |     r3 = 0x33ca2;
    0x00019c94 adds r1, 7                                        |     r1 += 7;
    0x00019c96 add r0, pc                                        |     r0 = 0x33cac;
    0x00019c98 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_61:
    0x00019c9c ldr r1, [pc, 0x374]                               |     
    0x00019c9e movw r2, 0x139                                    |     r2 = 0x139;
    0x00019ca2 ldr r3, [pc, 0x374]                               |     
    0x00019ca4 ldr r0, [pc, 0x374]                               |     
    0x00019ca6 add r1, pc                                        |     r1 = 0x33cbe;
    0x00019ca8 add r3, pc                                        |     r3 = 0x33cc6;
    0x00019caa adds r1, 7                                        |     r1 += 7;
    0x00019cac add r0, pc                                        |     r0 = 0x33ccc;
    0x00019cae blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_86:
    0x00019cb2 ldr r3, [pc, 0x36c]                               |     
    0x00019cb4 add r3, pc                                        |     r3 = 0x33cda;
    0x00019cb6 b 0x195ba                                         |     goto label_27;
                                                                 | label_62:
    0x00019cb8 ldr r1, [pc, 0x368]                               |     
    0x00019cba mov.w r2, 0x13a                                   |     r2 = 0x13a;
    0x00019cbe ldr r3, [pc, 0x368]                               |     
    0x00019cc0 ldr r0, [pc, 0x368]                               |     
    0x00019cc2 add r1, pc                                        |     r1 = 0x33cea;
    0x00019cc4 add r3, pc                                        |     r3 = 0x33cf2;
    0x00019cc6 adds r1, 7                                        |     r1 += 7;
    0x00019cc8 add r0, pc                                        |     r0 = 0x33cf8;
    0x00019cca blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_91:
    0x00019cce mov sb, r6                                        |     sb = r6;
    0x00019cd0 str r6, [sp, 0x2c]                                |     var_2ch = r6;
    0x00019cd2 b.w 0x192f8                                       |     goto label_1;
                                                                 | label_116:
    0x00019cd6 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019cda cmp r0, 2                                         |     
    0x00019cdc ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00019cde rsble r3, r5, 0                                   |         __asm ("rsble r3, r5, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019ce0 bicle r3, r3, 0x40000000                          |         __asm ("bicle r3, r3, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00019ce4 rsb.w sl, r3, 0                                   |         sl = r3 - ;
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00019ce8 bgt.w 0x1a104                                     |         goto label_125;
                                                                 |     }
                                                                 | label_42:
    0x00019cec cmp.w sl, 0                                       |     
    0x00019cf0 it ge                                             |     
                                                                 |     if (sl < 0) {
    0x00019cf2 mvnge sl, 0x55                                    |         sl = ~0x55;
                                                                 |     }
    0x00019cf6 b 0x195ec                                         |     goto label_28;
                                                                 | label_103:
    0x00019cf8 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019cfc cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00019cfe ble.w 0x198a2                                     |         goto label_23;
                                                                 |     }
    0x00019d02 ldr r3, [pc, 0x32c]                               |     
    0x00019d04 mov r1, r6                                        |     r1 = r6;
    0x00019d06 ldr r2, [pc, 0x32c]                               |     
    0x00019d08 movs r0, 3                                        |     r0 = 3;
    0x00019d0a add r3, pc                                        |     r3 = 0x33d40;
    0x00019d0c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019d0e add r2, pc                                        |     r2 = 0x33d48;
    0x00019d10 ldr r3, [pc, 0x324]                               |     
    0x00019d12 adds r2, 7                                        |     r2 += 7;
    0x00019d14 add r3, pc                                        |     r3 = 0x33d50;
    0x00019d16 str r3, [sp]                                      |     *(sp) = r3;
    0x00019d18 movs r3, 0x8b                                     |     r3 = 0x8b;
    0x00019d1a blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x00019d1e mov r6, r0                                        |     r6 = r0;
    0x00019d20 b 0x198aa                                         |     goto label_24;
                                                                 | label_95:
    0x00019d22 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019d26 cmp r0, 2                                         |     
                                                                 |     if (r0 <= 2) {
    0x00019d28 ble.w 0x19944                                     |         goto label_29;
                                                                 |     }
    0x00019d2c ldr r2, [pc, 0x30c]                               |     
    0x00019d2e mov.w r3, 0x14c                                   |     r3 = 0x14c;
    0x00019d32 ldr r4, [pc, 0x30c]                               |     
    0x00019d34 ldr r0, [pc, 0x30c]                               |     
    0x00019d36 add r2, pc                                        |     r2 = 0x33d76;
    0x00019d38 add r4, pc                                        |     r4 = 0x33d7e;
    0x00019d3a add r0, pc                                        |     r0 = 0x33d82;
    0x00019d3c b 0x197ec                                         |     goto label_20;
                                                                 | label_69:
    0x00019d3e ldr.w sl, [sp, 0x38]                              |     sl = var_38h_2;
    0x00019d42 ldr r4, [sp, 0x40]                                |     r4 = var_40h_2;
    0x00019d44 b 0x195fa                                         |     goto label_30;
                                                                 | label_80:
    0x00019d46 ldr r0, [sp, 0x5c]                                |     r0 = var_5ch;
    0x00019d48 blx 0x5fb4                                        |     r0 = fcn_00005fb4 ();
    0x00019d4c subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x00019d4e blt.w 0x1a1b2                                     |         goto label_126;
                                                                 |     }
    0x00019d52 ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x00019d54 add.w r8, sp, 0x70                                |     r8 += var_1e0h;
    0x00019d58 blx 0x5f0c                                        |     fcn_00005f0c ();
    0x00019d5c b 0x19858                                         |     goto label_31;
                                                                 | label_81:
    0x00019d5e ldr r3, [sp, 0x68]                                |     r3 = var_68h;
    0x00019d60 movs r1, 0                                        |     r1 = 0;
    0x00019d62 ldr r2, [pc, 0x2e4]                               |     
    0x00019d64 movs r0, 6                                        |     r0 = 6;
    0x00019d66 str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x00019d68 ldr r3, [sp, 0x64]                                |     r3 = var_64h;
    0x00019d6a add r2, pc                                        |     r2 = 0x33db8;
    0x00019d6c adds r2, 7                                        |     r2 += 7;
    0x00019d6e str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00019d70 ldr r3, [sp, 0x6c]                                |     r3 = var_6ch;
    0x00019d72 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019d74 ldr r3, [pc, 0x2d4]                               |     
    0x00019d76 add r3, pc                                        |     r3 = 0x33dc6;
    0x00019d78 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019d7a ldr r3, [pc, 0x2d4]                               |     
    0x00019d7c add r3, pc                                        |     r3 = 0x33dd2;
    0x00019d7e str r3, [sp]                                      |     *(sp) = r3;
    0x00019d80 movs r3, 0x79                                     |     r3 = 0x79;
    0x00019d82 blx 0x6008                                        |     fcn_00006008 ();
    0x00019d86 b.w 0x19480                                       |     goto label_32;
                                                                 | label_78:
    0x00019d8a ldr r3, [sp, 0x68]                                |     r3 = var_68h;
    0x00019d8c movs r1, 0                                        |     r1 = 0;
    0x00019d8e ldr r2, [pc, 0x2c4]                               |     
    0x00019d90 movs r0, 6                                        |     r0 = 6;
    0x00019d92 str r3, [sp, 0x10]                                |     var_10h_2 = r3;
    0x00019d94 ldr r3, [sp, 0x64]                                |     r3 = var_64h;
    0x00019d96 add r2, pc                                        |     r2 = 0x33df0;
    0x00019d98 adds r2, 7                                        |     r2 += 7;
    0x00019d9a str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x00019d9c ldr r3, [sp, 0x6c]                                |     r3 = var_6ch;
    0x00019d9e str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019da0 ldr r3, [pc, 0x2b4]                               |     
    0x00019da2 add r3, pc                                        |     r3 = 0x33dfe;
    0x00019da4 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019da6 ldr r3, [pc, 0x2b4]                               |     
    0x00019da8 add r3, pc                                        |     r3 = 0x33e0a;
    0x00019daa str r3, [sp]                                      |     *(sp) = r3;
    0x00019dac movs r3, 0x6d                                     |     r3 = 0x6d;
    0x00019dae blx 0x6008                                        |     fcn_00006008 ();
    0x00019db2 b.w 0x19458                                       |     goto label_33;
                                                                 | label_121:
    0x00019db6 ldr r6, [pc, 0x2a8]                               |     
    0x00019db8 add r6, pc                                        |     r6 = 0x33e1e;
                                                                 | label_40:
    0x00019dba ldr r2, [pc, 0x2a8]                               |     
    0x00019dbc add r7, sp, 0xa0                                  |     r7 += var_a0h;
    0x00019dbe add.w r7, r7, r3, lsl 2                           |     r7 += (r3 << 2);
    0x00019dc2 adds r3, 2                                        |     r3 += 2;
    0x00019dc4 str r6, [r7, -0x14]                               |     var_8ch = r6;
    0x00019dc8 ldr.w r2, [fp, r2]                                |     r2 = *((fp + r2));
    0x00019dcc ldr r2, [r2]                                      |     r2 = *(0x1a066);
    0x00019dce str r2, [r7, -0x10]                               |     var_200h = r2;
    0x00019dd2 b 0x19c34                                         |     goto label_34;
                                                                 | label_112:
    0x00019dd4 mov r1, r6                                        |     r1 = r6;
    0x00019dd6 mov r0, r8                                        |     r0 = r8;
    0x00019dd8 blx 0x663c                                        |     fcn_0000663c ();
    0x00019ddc ldr r3, [sp, 0x2c]                                |     r3 = var_2ch;
    0x00019dde mov r1, r6                                        |     r1 = r6;
    0x00019de0 ldr r2, [pc, 0x284]                               |     
    0x00019de2 strd r4, r0, [sp, 0xc]                            |     __asm ("strd r4, r0, [var_10h_2]");
    0x00019de6 movs r0, 3                                        |     r0 = 3;
    0x00019de8 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x00019dea ldr r3, [pc, 0x280]                               |     
    0x00019dec add r2, pc                                        |     r2 = 0x33e58;
    0x00019dee adds r2, 7                                        |     r2 += 7;
    0x00019df0 add r3, pc                                        |     r3 = 0x33e62;
    0x00019df2 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019df4 ldr r3, [pc, 0x278]                               |     
    0x00019df6 add r3, pc                                        |     r3 = 0x33e6a;
    0x00019df8 str r3, [sp]                                      |     *(sp) = r3;
    0x00019dfa movs r3, 0xa5                                     |     r3 = 0xa5;
    0x00019dfc blx 0x6008                                        |     fcn_00006008 ();
    0x00019e00 b 0x199b2                                         |     goto label_35;
                                                                 | label_79:
    0x00019e02 str r1, [sp, 0x1c]                                |     var_1ch = r1;
    0x00019e04 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x00019e08 cmp r0, 2                                         |     
    0x00019e0a ldr r1, [sp, 0x1c]                                |     r1 = var_1ch;
                                                                 |     if (r0 <= 2) {
    0x00019e0c ble.w 0x194a4                                     |         goto label_21;
                                                                 |     }
    0x00019e10 ldr r3, [pc, 0x260]                               |     
    0x00019e12 movs r0, 3                                        |     r0 = 3;
    0x00019e14 ldr r2, [pc, 0x260]                               |     
    0x00019e16 add r3, pc                                        |     r3 = 0x33e8e;
    0x00019e18 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019e1a add r2, pc                                        |     r2 = 0x33e96;
    0x00019e1c ldr r3, [pc, 0x25c]                               |     
    0x00019e1e adds r2, 7                                        |     r2 += 7;
    0x00019e20 add r3, pc                                        |     r3 = 0x33ea0;
    0x00019e22 str r3, [sp]                                      |     *(sp) = r3;
    0x00019e24 movs r3, 0x71                                     |     r3 = 0x71;
    0x00019e26 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x00019e2a mov r6, r0                                        |     r6 = r0;
    0x00019e2c b.w 0x194ac                                       |     goto label_22;
                                                                 | label_92:
    0x00019e30 ldr.w sb, [pc, 0x24c]                             |     
    0x00019e34 add sb, pc                                        |     sb = 0x33eb8;
    0x00019e36 b 0x19682                                         |     goto label_36;
                                                                 | label_93:
    0x00019e38 ldr r3, [pc, 0x248]                               |     
    0x00019e3a add r3, pc                                        |     r3 = 0x33ec2;
    0x00019e3c str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00019e3e b 0x196b8                                         |     goto label_37;
                                                                 | label_101:
    0x00019e40 ldr r3, [pc, 0x244]                               |     
    0x00019e42 movs r1, 0                                        |     r1 = 0;
    0x00019e44 ldr r2, [pc, 0x244]                               |     
    0x00019e46 movs r0, 5                                        |     r0 = 5;
    0x00019e48 add r3, pc                                        |     r3 = 0x33ed4;
    0x00019e4a str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x00019e4c add r2, pc                                        |     r2 = 0x33edc;
    0x00019e4e ldr r3, [pc, 0x240]                               |     
    0x00019e50 adds r2, 7                                        |     r2 += 7;
    0x00019e52 add r3, pc                                        |     r3 = 0x33ee8;
    0x00019e54 str r3, [sp]                                      |     *(sp) = r3;
    0x00019e56 movs r3, 0x64                                     |     r3 = 0x64;
    0x00019e58 blx 0x6008                                        |     fcn_00006008 ();
    0x00019e5c ldr r0, [sp, 0x44]                                |     r0 = var_44h;
    0x00019e5e blx 0x5f0c                                        |     fcn_00005f0c ();
    0x00019e62 b 0x19820                                         |     goto label_38;
                                                                 | label_120:
    0x00019e64 ldr r4, [sp, 0x1c]                                |     r4 = var_1ch;
    0x00019e66 ldr r0, [sp, 0x70]                                |     r0 = var_1e0h;
                                                                 | label_118:
    0x00019e68 mov.w sl, 0                                       |     sl = 0;
                                                                 | label_41:
    0x00019e6c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00019e6e beq.w 0x195ec                                     |         goto label_28;
                                                                 |     }
    0x00019e72 blx 0x67b4                                        |     mktime (r0);
    0x00019e76 str r0, [sp, 0x70]                                |     var_1e0h = r0;
    0x00019e78 b.w 0x195ec                                       |     goto label_28;
                                                                 | label_89:
    0x0001a094 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a098 cmp r0, 2                                         |     
    0x0001a09a ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001a09c rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a09e bicle r3, r3, 0x40000000                          |         __asm ("bicle r3, r3, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001a0a2 rsb.w sl, r3, 0                                   |         sl = r3 - ;
                                                                 |         goto label_127;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_127:
    0x0001a0a6 ble.w 0x19a5a                                     |         goto label_39;
                                                                 |     }
    0x0001a0aa ldr r2, [pc, 0x1b0]                               |     
    0x0001a0ac movw r3, 0x18b                                    |     r3 = 0x18b;
    0x0001a0b0 ldr r5, [pc, 0x1ac]                               |     
    0x0001a0b2 mov r1, r4                                        |     r1 = r4;
    0x0001a0b4 ldr r0, [pc, 0x1ac]                               |     
    0x0001a0b6 add r2, pc                                        |     r2 = 0x34318;
    0x0001a0b8 add r5, pc                                        |     r5 = 0x3431c;
    0x0001a0ba adds r2, 7                                        |     r2 += 7;
    0x0001a0bc add r0, pc                                        |     r0 = 0x34324;
    0x0001a0be strd r0, r5, [sp]                                 |     __asm ("strd r0, r5, [sp]");
    0x0001a0c2 movs r0, 3                                        |     r0 = 3;
    0x0001a0c4 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a0c8 mov sl, r0                                        |     sl = r0;
    0x0001a0ca b 0x19a5a                                         |     goto label_39;
                                                                 | label_124:
    0x0001a0cc ldr r0, [sp, 0x54]                                |     r0 = var_54h;
    0x0001a0ce mov sl, r3                                        |     sl = r3;
    0x0001a0d0 b.w 0x1953e                                       |     goto label_2;
                                                                 | label_122:
    0x0001a0d4 ldr r6, [pc, 0x190]                               |     
    0x0001a0d6 add r6, pc                                        |     r6 = 0x34342;
    0x0001a0d8 b 0x19dba                                         |     goto label_40;
                                                                 | label_117:
    0x0001a0da blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a0de cmp r0, 2                                         |     
    0x0001a0e0 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001a0e2 rsble r3, r5, 0                                   |         __asm ("rsble r3, r5, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a0e4 bicle r3, r3, 0x40000000                          |         __asm ("bicle r3, r3, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a0e8 rsb.w sl, r3, 0                                   |         sl = r3 - ;
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001a0ec bgt.w 0x1a212                                     |         goto label_128;
                                                                 |     }
                                                                 |     do {
                                                                 | label_45:
    0x0001a0f0 cmp.w sl, 0                                       |         
    0x0001a0f4 ldr r0, [sp, 0x70]                                |         r0 = var_1e0h;
    0x0001a0f6 it ge                                             |         
                                                                 |         if (sl < 0) {
    0x0001a0f8 mvnge sl, 0x55                                    |             sl = ~0x55;
                                                                 |         }
    0x0001a0fc b 0x19e6c                                         |         goto label_41;
                                                                 | label_68:
    0x0001a0fe mov sl, r3                                        |         sl = r3;
    0x0001a100 b.w 0x195fa                                       |         goto label_30;
                                                                 | label_125:
    0x0001a104 mov r1, r5                                        |         r1 = r5;
    0x0001a106 mov r0, r7                                        |         r0 = r7;
    0x0001a108 blx 0x663c                                        |         fcn_0000663c ();
    0x0001a10c ldr r3, [pc, 0x15c]                               |         
    0x0001a10e mov r1, r5                                        |         r1 = r5;
    0x0001a110 ldr r2, [pc, 0x15c]                               |         
    0x0001a112 str r0, [sp, 8]                                   |         var_8h_2 = r0;
    0x0001a114 movs r0, 3                                        |         r0 = 3;
    0x0001a116 add r3, pc                                        |         r3 = 0x34386;
    0x0001a118 str r3, [sp, 4]                                   |         var_4h_2 = r3;
    0x0001a11a add r2, pc                                        |         r2 = 0x3438e;
    0x0001a11c ldr r3, [pc, 0x154]                               |         
    0x0001a11e adds r2, 7                                        |         r2 += 7;
    0x0001a120 add r3, pc                                        |         r3 = 0x34398;
    0x0001a122 str r3, [sp]                                      |         *(sp) = r3;
    0x0001a124 movs r3, 0xc3                                     |         r3 = 0xc3;
    0x0001a126 blx 0x6008                                        |         r0 = fcn_00006008 ();
    0x0001a12a mov sl, r0                                        |         sl = r0;
    0x0001a12c b 0x19cec                                         |         goto label_42;
                                                                 | label_94:
    0x0001a12e ldr r6, [pc, 0x148]                               |         
    0x0001a130 add r6, pc                                        |         r6 = 0x343ae;
    0x0001a132 b.w 0x196c8                                       |         goto label_43;
                                                                 | label_111:
    0x0001a136 ldr r2, [pc, 0x144]                               |         
    0x0001a138 movw r3, 0x165                                    |         r3 = 0x165;
    0x0001a13c ldr r4, [pc, 0x140]                               |         
    0x0001a13e ldr r0, [pc, 0x144]                               |         
    0x0001a140 add r2, pc                                        |         r2 = 0x343c2;
    0x0001a142 add r4, pc                                        |         r4 = 0x343c6;
    0x0001a144 add r0, pc                                        |         r0 = 0x343ce;
    0x0001a146 b.w 0x197ec                                       |         goto label_20;
                                                                 | label_82:
    0x0001a14a ldr r3, [pc, 0x13c]                               |         
    0x0001a14c movs r0, 3                                        |         r0 = 3;
    0x0001a14e ldr r2, [pc, 0x13c]                               |         
    0x0001a150 add r3, pc                                        |         r3 = 0x343de;
    0x0001a152 str r3, [sp, 4]                                   |         var_4h_2 = r3;
    0x0001a154 add r2, pc                                        |         r2 = 0x343e6;
    0x0001a156 ldr r3, [pc, 0x138]                               |         
    0x0001a158 adds r2, 7                                        |         r2 += 7;
    0x0001a15a add r3, pc                                        |         r3 = 0x343f0;
    0x0001a15c str r3, [sp]                                      |         *(sp) = r3;
    0x0001a15e movs r3, 0x75                                     |         r3 = 0x75;
    0x0001a160 blx 0x6008                                        |         r0 = fcn_00006008 ();
    0x0001a164 mov r6, r0                                        |         r6 = r0;
    0x0001a166 b.w 0x194ac                                       |         goto label_22;
                                                                 | label_113:
    0x0001a16a ldr r2, [pc, 0x128]                               |         
    0x0001a16c ldr r1, [pc, 0x128]                               |         
    0x0001a16e add r2, pc                                        |         r2 = 0x34408;
    0x0001a170 add r1, pc                                        |         r1 = 0x3440c;
    0x0001a172 b 0x199fa                                         |         goto label_44;
                                                                 | label_119:
    0x0001a174 mov r6, r0                                        |         r6 = r0;
    0x0001a176 ldr r4, [sp, 0x1c]                                |         r4 = var_1ch;
    0x0001a178 blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001a17c cmp r0, 2                                         |         
    0x0001a17e ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x0001a180 rsble r3, r6, 0                                   |             __asm ("rsble r3, r6, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x0001a182 bicle r3, r3, 0x40000000                          |             __asm ("bicle r3, r3, 0x40000000");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x0001a186 rsb.w sl, r3, 0                                   |             sl = r3 - ;
                                                                 |         }
    0x0001a18a ble 0x1a0f0                                       |         
                                                                 |     } while (r0 <= 2);
    0x0001a18c ldr.w r3, [r8]                                    |     r3 = *(r8);
    0x0001a190 mov r1, r6                                        |     r1 = r6;
    0x0001a192 ldr r2, [pc, 0x108]                               |     
    0x0001a194 movs r0, 3                                        |     r0 = 3;
    0x0001a196 str r3, [sp, 8]                                   |     var_8h_2 = r3;
    0x0001a198 ldr r3, [pc, 0x104]                               |     
    0x0001a19a add r2, pc                                        |     r2 = 0x3443c;
    0x0001a19c adds r2, 7                                        |     r2 += 7;
    0x0001a19e add r3, pc                                        |     r3 = 0x34442;
    0x0001a1a0 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001a1a2 ldr r3, [pc, 0x100]                               |     
    0x0001a1a4 add r3, pc                                        |     r3 = 0x3444e;
    0x0001a1a6 str r3, [sp]                                      |     *(sp) = r3;
    0x0001a1a8 movs r3, 0xcf                                     |     r3 = 0xcf;
    0x0001a1aa blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a1ae mov sl, r0                                        |     sl = r0;
    0x0001a1b0 b 0x1a0f0                                         |     goto label_45;
                                                                 | label_126:
    0x0001a1b2 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a1b6 cmp r0, 2                                         |     
    0x0001a1b8 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001a1ba rsble r6, r6, 0                                   |         __asm ("rsble r6, r6, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a1bc bicle r6, r6, 0x40000000                          |         __asm ("bicle r6, r6, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0001a1c0 rsbs r6, r6, 0                                    |         r6 -= ;
                                                                 |         goto label_129;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_129:
    0x0001a1c2 ble.w 0x194ac                                     |         goto label_22;
                                                                 |     }
    0x0001a1c6 ldr r3, [pc, 0xe0]                                |     
    0x0001a1c8 mov r1, r6                                        |     r1 = r6;
    0x0001a1ca ldr r2, [pc, 0xe0]                                |     
    0x0001a1cc movs r0, 3                                        |     r0 = 3;
    0x0001a1ce add r3, pc                                        |     r3 = 0x3447c;
    0x0001a1d0 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001a1d2 add r2, pc                                        |     r2 = 0x34484;
    0x0001a1d4 ldr r3, [pc, 0xd8]                                |     
    0x0001a1d6 adds r2, 7                                        |     r2 += 7;
    0x0001a1d8 add r3, pc                                        |     r3 = 0x3448c;
    0x0001a1da str r3, [sp]                                      |     *(sp) = r3;
    0x0001a1dc movs r3, 0x7e                                     |     r3 = 0x7e;
    0x0001a1de blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a1e2 mov r6, r0                                        |     r6 = r0;
    0x0001a1e4 b.w 0x194ac                                       |     goto label_22;
                                                                 | label_114:
    0x0001a1e8 ldr r3, [pc, 0xc8]                                |     
    0x0001a1ea add r3, pc                                        |     r3 = 0x344a2;
    0x0001a1ec b 0x19a08                                         |     goto label_46;
                                                                 | label_108:
    0x0001a1ee ldr r3, [pc, 0xc8]                                |     
    0x0001a1f0 mov r1, r6                                        |     r1 = r6;
    0x0001a1f2 ldr r2, [pc, 0xc8]                                |     
    0x0001a1f4 movs r0, 3                                        |     r0 = 3;
    0x0001a1f6 str r4, [sp, 8]                                   |     var_8h_2 = r4;
    0x0001a1f8 add r3, pc                                        |     r3 = 0x344b6;
    0x0001a1fa str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001a1fc add r2, pc                                        |     r2 = 0x344be;
    0x0001a1fe ldr r3, [pc, 0xc0]                                |     
    0x0001a200 adds r2, 7                                        |     r2 += 7;
    0x0001a202 add r3, pc                                        |     r3 = 0x344c8;
    0x0001a204 str r3, [sp]                                      |     *(sp) = r3;
    0x0001a206 movs r3, 0x9b                                     |     r3 = 0x9b;
    0x0001a208 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a20c mov r6, r0                                        |     r6 = r0;
    0x0001a20e b.w 0x198aa                                       |     goto label_24;
                                                                 | label_128:
    0x0001a212 ldr r3, [pc, 0xb0]                                |     
    0x0001a214 mov r1, r5                                        |     r1 = r5;
    0x0001a216 ldr r2, [pc, 0xb0]                                |     
    0x0001a218 movs r0, 3                                        |     r0 = 3;
    0x0001a21a add r3, pc                                        |     r3 = 0x344e4;
    0x0001a21c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0001a21e add r2, pc                                        |     r2 = 0x344ec;
    0x0001a220 ldr r3, [pc, 0xa8]                                |     
    0x0001a222 adds r2, 7                                        |     r2 += 7;
    0x0001a224 add r3, pc                                        |     r3 = 0x344f4;
    0x0001a226 str r3, [sp]                                      |     *(sp) = r3;
    0x0001a228 movs r3, 0xc8                                     |     r3 = 0xc8;
    0x0001a22a blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a22e mov sl, r0                                        |     sl = r0;
    0x0001a230 b 0x1a0f0                                         |     goto label_45;
                                                                 | label_123:
    0x0001a232 ldr r1, [pc, 0x9c]                                |     
    0x0001a234 movs r2, 0xff                                     |     r2 = 0xff;
    0x0001a236 ldr r3, [pc, 0x9c]                                |     
    0x0001a238 ldr r0, [pc, 0x9c]                                |     
    0x0001a23a add r1, pc                                        |     r1 = 0x34510;
    0x0001a23c add r3, pc                                        |     r3 = 0x34516;
    0x0001a23e adds r1, 7                                        |     r1 += 7;
    0x0001a240 add r0, pc                                        |     r0 = 0x3451c;
    0x0001a242 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_97:
    0x0001a246 ldr r3, [pc, 0x94]                                |     
    0x0001a248 add r3, pc                                        |     r3 = 0x3452a;
    0x0001a24a b.w 0x19750                                       |     goto label_47;
                                                                 | label_96:
    0x0001a24e ldr r5, [pc, 0x90]                                |     
    0x0001a250 add r5, pc                                        |     r5 = 0x34536;
    0x0001a252 b.w 0x19740                                       |     goto label_48;
                                                                 | label_85:
    0x0001a256 blx 0x60c0                                        |     fcn_000060c0 ();
    0x0001a25a nop                                               |     
    0x0001a25c add r1, sp, 0x338                                 |     r1 += arg_338h;
    0x0001a25e movs r0, r0                                       |     
    0x0001a260 ldr r7, [pc, 0x3c0]                               |     r7 = *(0x1a624);
    0x0001a262 movs r0, r0                                       |     
    0x0001a264 add r7, sp, 0x140                                 |     r7 += arg_140h;
    0x0001a266 movs r0, r0                                       |     
    0x0001a268 add r6, sp, 0x2e8                                 |     r6 += arg_2e8h;
    0x0001a26a movs r0, r0                                       |     
    0x0001a26c add r4, sp, 0xd8                                  |     r4 += arg_d8h;
    0x0001a26e movs r0, r0                                       |     
    0x0001a270 add r1, sp, 0x1a8                                 |     r1 += arg_1a8h;
    0x0001a272 movs r0, r0                                       |     
    0x0001a274 add r6, sp, 0x330                                 |     r6 += arg_330h;
    0x0001a276 movs r0, r0                                       |     
    0x0001a278 add r1, sp, 0x130                                 |     r1 += arg_130h;
    0x0001a27a movs r0, r0                                       |     
    0x0001a27c add r1, sp, 0x110                                 |     r1 += arg_110h;
    0x0001a27e movs r0, r0                                       |     
    0x0001a280 add r3, sp, 0x218                                 |     r3 += arg_218h;
    0x0001a282 movs r0, r0                                       |     
    0x0001a284 add r6, sp, 0x320                                 |     r6 += arg_320h;
    0x0001a286 movs r0, r0                                       |     
    0x0001a288 str r0, [r2, 0x7c]                                |     *((r2 + 0x7c)) = r0;
    0x0001a28a movs r0, r0                                       |     
    0x0001a28c add r1, sp, 0xc0                                  |     r1 += var_c0h;
    0x0001a28e movs r0, r0                                       |     
    0x0001a290 add r6, sp, 0x1c8                                 |     r6 += arg_1c8h;
    0x0001a292 movs r0, r0                                       |     
    0x0001a294 add r0, sp, 0x3e8                                 |     r0 += arg_3e8h;
    0x0001a296 movs r0, r0                                       |     
    0x0001a298 ldrh r4, [r4, 0x3a]                               |     r4 = *((r4 + 0x3a));
    0x0001a29a movs r0, r0                                       |     
    0x0001a29c add r0, sp, 0x3a8                                 |     r0 += arg_3a8h;
    0x0001a29e movs r0, r0                                       |     
    0x0001a2a0 add r3, sp, 0x388                                 |     r3 += arg_388h;
    0x0001a2a2 movs r0, r0                                       |     
    0x0001a2a4 add r6, sp, 0x120                                 |     r6 += arg_120h;
    0x0001a2a6 movs r0, r0                                       |     
    0x0001a2a8 str r2, [r2, 0x74]                                |     *((r2 + 0x74)) = r2;
    0x0001a2aa movs r0, r0                                       |     
    0x0001a2ac add r0, sp, 0x2c8                                 |     r0 += arg_2c8h;
    0x0001a2ae movs r0, r0                                       |     
    0x0001a2b0 add r5, sp, 0x3d0                                 |     r5 += arg_3d0h;
    0x0001a2b2 movs r0, r0                                       |     
    0x0001a2b4 add r0, sp, 0x238                                 |     r0 += arg_238h;
    0x0001a2b6 movs r0, r0                                       |     
    0x0001a2b8 ldr r6, [pc, 0x250]                               |     r6 = *(0x1a50c);
    0x0001a2ba movs r0, r0                                       |     
    0x0001a2bc add r0, sp, 0x220                                 |     r0 += arg_220h;
    0x0001a2be movs r0, r0                                       |     
    0x0001a2c0 add r5, sp, 0x328                                 |     r5 += arg_328h;
    0x0001a2c2 movs r0, r0                                       |     
    0x0001a2c4 str r6, [r0, 0x70]                                |     *((r0 + 0x70)) = r6;
    0x0001a2c6 movs r0, r0                                       |     
    0x0001a2c8 add r0, sp, 0x198                                 |     r0 += arg_198h;
    0x0001a2ca movs r0, r0                                       |     
    0x0001a2cc add r5, sp, 0x320                                 |     r5 += arg_320h;
    0x0001a2ce movs r0, r0                                       |     
    0x0001a2d0 add r0, sp, 0x128                                 |     r0 += arg_128h;
    0x0001a2d2 movs r0, r0                                       |     
    0x0001a2d4 add r5, sp, 0x200                                 |     r5 += arg_200h;
    0x0001a2d6 movs r0, r0                                       |     
    0x0001a2d8 add r5, sp, 0x150                                 |     r5 += arg_150h;
    0x0001a2da movs r0, r0                                       |     
    0x0001a2dc ldrh r4, [r1, 0x34]                               |     r4 = *((r1 + 0x34));
    0x0001a2de movs r0, r0                                       |     
    0x0001a2e0 ldrh r4, [r0, 0x34]                               |     r4 = *((r0 + 0x34));
    0x0001a2e2 movs r0, r0                                       |     
    0x0001a2e4 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0001a2e8 sub sp, 0x14c                                     |     
    0x0001a2ea ldr.w r5, [pc, 0x438]                             |     
    0x0001a2ee add r7, sp, 0x10                                  |     r7 += var_10h;
    0x0001a2f0 movs r4, 0                                        |     r4 = 0;
    0x0001a2f2 ldr.w r2, [pc, 0x434]                             |     r2 = *(0x1a72a);
    0x0001a2f6 add.w r8, r7, 0x10                                |     r8 += var_10h_3;
    0x0001a2fa add r5, pc                                        |     r5 = 0x34a24;
    0x0001a2fc ldr.w sb, [pc, 0x42c]                             |     
    0x0001a300 ldr.w r3, [pc, 0x42c]                             |     r3 = *(0x1a730);
    0x0001a304 add.w r6, r7, 8                                   |     r6 += var_8h_3;
    0x0001a308 ldr r2, [r5, r2]                                  |     
    0x0001a30a vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x0001a30e add sb, pc                                        |     sb = 0x34a3e;
    0x0001a310 ldr r2, [r2]                                      |     r2 = *(0x34a24);
    0x0001a312 str.w r2, [r7, 0x134]                             |     __asm ("str.w r2, [var_134h]");
    0x0001a316 mov.w r2, 0                                       |     r2 = 0;
    0x0001a31a str.w r4, [r8, 8]                                 |     __asm ("str.w r4, [var_8h_4]");
    0x0001a31e vstr d16, [r7, 0x10]                              |     __asm ("vstr d16, [r7, 0x10]");
    0x0001a322 str r4, [r6]                                      |     *(r6) = r4;
    0x0001a324 ldr.w r3, [sb, r3]                                |     r3 = *(0x34a3e);
    0x0001a328 ldr r5, [r3]                                      |     r5 = *(0x34a3e);
    0x0001a32a cmp r5, 0                                         |     
                                                                 |     if (r5 != 0) {
    0x0001a32c bne.w 0x1a530                                     |         goto label_130;
                                                                 |     }
    0x0001a330 subs r3, r0, 2                                    |     r3 = r0 - 2;
    0x0001a332 cmp r3, 1                                         |     
                                                                 |     if (r3 > 1) {
    0x0001a334 bhi.w 0x1a50e                                     |         goto label_131;
                                                                 |     }
    0x0001a338 cmp r0, 3                                         |     
    0x0001a33a ldr r4, [r1, 4]                                   |     r4 = var_4h_3;
                                                                 |     if (r0 != 3) {
    0x0001a33c bne.w 0x1a56c                                     |         goto label_132;
                                                                 |     }
    0x0001a340 ldr.w sl, [r1, 8]                                 |     sl = *((r1 + 8));
                                                                 | label_50:
    0x0001a344 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x0001a348 beq 0x1a41e                                       |         goto label_133;
                                                                 |     }
    0x0001a34a ldrb.w r1, [sl]                                   |     r1 = *(sl);
    0x0001a34e cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0001a350 beq 0x1a41e                                       |         goto label_133;
                                                                 |     }
    0x0001a352 ldr r3, [pc, 0x3e0]                               |     
    0x0001a354 add r3, pc                                        |     r3 = 0x34a8e;
    0x0001a356 adds r3, 1                                        |     r3++;
                                                                 |     do {
    0x0001a358 mov fp, r3                                        |         
    0x0001a35a ldrb r2, [r3, 1]!                                 |         r2 = *((r3 += 1));
    0x0001a35e cmp r2, 0x2f                                      |         
    0x0001a360 beq 0x1a358                                       |         
                                                                 |     } while (r2 == 0x2f);
    0x0001a362 mov r2, fp                                        |     r2 = fp;
                                                                 |     if (r4 != 0) {
    0x0001a364 cbz r4, 0x1a36e                                   |         
    0x0001a366 ldrb r3, [r4]                                     |         r3 = *(r4);
    0x0001a368 cmp r3, 0                                         |         
                                                                 |         if (r3 != 0) {
    0x0001a36a bne.w 0x1a5da                                     |             goto label_134;
                                                                 |         }
                                                                 |     }
    0x0001a36e cmp r1, 0x2f                                      |     
                                                                 |     if (r1 != 0x2f) {
    0x0001a370 bne.w 0x1a6c2                                     |         goto label_135;
                                                                 |     }
    0x0001a374 ldrb.w r3, [sl, 1]                                |     r3 = *((sl + 1));
    0x0001a378 cmp r3, 0x2f                                      |     
                                                                 |     if (r3 != 0x2f) {
    0x0001a37a bne.w 0x1a6c2                                     |         goto label_135;
                                                                 |     }
                                                                 | label_54:
    0x0001a37e add.w r3, sl, 1                                   |     r3 = sl + 1;
                                                                 |     do {
    0x0001a382 mov fp, r3                                        |         
    0x0001a384 ldrb ip, [r3, 1]!                                 |         ip = *((r3 += 1));
    0x0001a388 cmp.w ip, 0x2f                                    |         
    0x0001a38c beq 0x1a382                                       |         
                                                                 |     } while (ip == 0x2f);
    0x0001a38e cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001a390 beq 0x1a410                                       |         goto label_57;
                                                                 |     }
                                                                 | label_55:
    0x0001a392 ldrb r3, [r4]                                     |     r3 = *(r4);
    0x0001a394 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001a396 beq 0x1a410                                       |         goto label_57;
                                                                 |     }
    0x0001a398 mov r0, r4                                        |     r0 = r4;
    0x0001a39a str r2, [r7]                                      |     *(r7) = r2;
    0x0001a39c blx 0x64c8                                        |     fcn_000064c8 ();
    0x0001a3a0 str r0, [r7, 4]                                   |     var_4h_4 = r0;
    0x0001a3a2 mov r0, fp                                        |     r0 = fp;
    0x0001a3a4 blx 0x64c8                                        |     fcn_000064c8 ();
    0x0001a3a8 ldr r3, [r7, 4]                                   |     r3 = var_4h_4;
    0x0001a3aa ldr r2, [r7]                                      |     r2 = *(r7);
    0x0001a3ac add r0, r3                                        |     r0 += r3;
    0x0001a3ae adds r3, r0, 2                                    |     r3 = r0 + 2;
    0x0001a3b0 cmp.w r3, 0x400000                                |     
                                                                 |     if (r3 > 0x400000) {
    0x0001a3b4 bhi.w 0x1a704                                     |         goto label_136;
                                                                 |     }
    0x0001a3b8 adds r0, 9                                        |     r0 += 9;
    0x0001a3ba mov r1, r4                                        |     r1 = r4;
    0x0001a3bc bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x0001a3c0 str r2, [r7]                                      |     *(r7) = r2;
    0x0001a3c2 sub.w sp, sp, r0                                  |     
    0x0001a3c6 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0001a3c8 mov r0, r3                                        |     r0 = r3;
    0x0001a3ca str r3, [r7, 4]                                   |     var_4h_4 = r3;
    0x0001a3cc blx 0x5bbc                                        |     fcn_00005bbc ();
    0x0001a3d0 ldr r3, [r7, 4]                                   |     r3 = var_4h_4;
    0x0001a3d2 mov r1, r0                                        |     r1 = r0;
    0x0001a3d4 ldr r2, [r7]                                      |     r2 = *(r7);
    0x0001a3d6 cmp r0, r3                                        |     
                                                                 |     if (r0 > r3) {
    0x0001a3d8 bhi 0x1a3e0                                       |         goto label_137;
                                                                 |     }
    0x0001a3da b 0x1a3f2                                         |     goto label_138;
                                                                 |     do {
    0x0001a3dc cmp r1, r3                                        |         
                                                                 |         if (r1 == r3) {
    0x0001a3de beq 0x1a3f2                                       |             goto label_138;
                                                                 |         }
                                                                 | label_137:
    0x0001a3e0 ldrb ip, [r1, -0x1]                               |         ip = *((r1 - 0x1));
    0x0001a3e4 subs r0, r1, 1                                    |         r0 -= var_1h;
    0x0001a3e6 mov lr, r1                                        |         lr = r1;
    0x0001a3e8 mov r1, r0                                        |         r1 = r0;
    0x0001a3ea cmp.w ip, 0x2f                                    |         
    0x0001a3ec lsrs r7, r5, 0x1c                                 |         r7 = r5 >> 0x1c;
    0x0001a3ee beq 0x1a3dc                                       |         
                                                                 |     } while (r7 == r5);
    0x0001a3f0 mov r0, lr                                        |     r0 = lr;
                                                                 | label_138:
    0x0001a3f2 ldrb.w r1, [fp]                                   |     r1 = *(fp);
    0x0001a3f6 strd r3, r2, [r7]                                 |     __asm ("strd r3, r2, [r7]");
    0x0001a3fa cmp r1, 0x2f                                      |     
    0x0001a3fc itt ne                                            |     
                                                                 |     if (r1 == 0x2f) {
    0x0001a3fe movne r1, 0x2f                                    |         r1 = 0x2f;
                                                                 |     }
                                                                 |     if (r1 == 0x2f) {
    0x0001a400 strbne r1, [r0], 1                                |         *(r0) = r1;
                                                                 |         r0++;
                                                                 |     }
    0x0001a404 mov r1, fp                                        |     r1 = fp;
    0x0001a406 blx 0x5f18                                        |     fcn_00005f18 ();
    0x0001a40a ldr r3, [r7]                                      |     r3 = *(r7);
    0x0001a40c ldr r2, [r7, 4]                                   |     r2 = var_4h_4;
    0x0001a40e mov fp, r3                                        |     
                                                                 | label_57:
    0x0001a410 mov r1, r2                                        |     r1 = r2;
    0x0001a412 mov r0, fp                                        |     r0 = fp;
    0x0001a414 movs r2, 0                                        |     r2 = 0;
    0x0001a416 blx 0x5e94                                        |     r0 = fcn_00005e94 ();
    0x0001a41a cmp r0, 0                                         |     
                                                                 |     if (r0 > 0) {
    0x0001a41c ble 0x1a422                                       |         
                                                                 | label_133:
    0x0001a41e mov.w sl, 0                                       |         sl = 0;
                                                                 |     }
    0x0001a422 ldr r3, [pc, 0x314]                               |     
    0x0001a424 ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x0001a428 ldr r3, [r3]                                      |     r3 = *(0x1a73a);
    0x0001a42a cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001a42c beq.w 0x1a652                                     |         goto label_139;
                                                                 |     }
    0x0001a430 ldr r3, [r3]                                      |     r3 = *(r3);
    0x0001a432 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001a434 beq.w 0x1a666                                     |         goto label_140;
                                                                 |     }
    0x0001a438 movs r2, 0x40                                     |     r2 = 0x40;
    0x0001a43a add.w fp, r7, 0xc                                 |     
    0x0001a43e strb r2, [r3]                                     |     *(r3) = r2;
    0x0001a440 mov r1, fp                                        |     r1 = fp;
    0x0001a442 movs r0, 1                                        |     r0 = 1;
    0x0001a444 bl 0x1ab9c                                        |     r0 = fcn_0001ab9c (r0, r1);
    0x0001a448 subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x0001a44a blt.w 0x1a584                                     |         goto label_141;
                                                                 |     }
    0x0001a44e movs r2, 0x88                                     |     r2 = 0x88;
    0x0001a450 movs r1, 0                                        |     r1 = 0;
    0x0001a452 add.w r0, r7, 0x20                                |     r0 += var_20h_2;
    0x0001a456 blx 0x5d50                                        |     fcn_00005d50 ();
    0x0001a45a add.w r0, r7, 0x1c                                |     r0 += var_1ch_2;
    0x0001a45e movs r3, 1                                        |     r3 = 1;
    0x0001a460 movs r1, 0xf                                      |     r1 = 0xf;
    0x0001a462 str r3, [r0]                                      |     *(r0) = r3;
    0x0001a464 mov.w r2, -1                                      |     r2 = -1;
    0x0001a468 mov.w r3, 0x10000000                              |     r3 = 0x10000000;
    0x0001a46c str.w r3, [r0, 0x84]                              |     __asm ("str.w r3, [var_b0h]");
    0x0001a470 blx 0x5edc                                        |     fcn_00005edc ();
    0x0001a474 subs r1, r0, 0                                    |     r1 -= var_1ch_2;
                                                                 |     if (r1 < var_1ch_2) {
    0x0001a476 blt.w 0x1a5b0                                     |         goto label_142;
                                                                 |     }
                                                                 | label_53:
    0x0001a47a blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a47e cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x0001a480 ble 0x1a4ac                                       |         
    0x0001a482 mov r3, sl                                        |         r3 = sl;
    0x0001a484 cmp.w sl, 0                                       |         
                                                                 |         if (sl == 0) {
    0x0001a488 beq.w 0x1a6bc                                     |             goto label_143;
                                                                 |         }
                                                                 | label_56:
    0x0001a48c strd r4, r3, [sp, 8]                              |         __asm ("strd r4, r3, [var_8h]");
    0x0001a490 movs r1, 0                                        |         r1 = 0;
    0x0001a492 ldr r3, [pc, 0x2a8]                               |         
    0x0001a494 movs r0, 7                                        |         r0 = 7;
    0x0001a496 ldr r2, [pc, 0x2a8]                               |         
    0x0001a498 add r3, pc                                        |         r3 = 0x34bda;
    0x0001a49a str r3, [sp, 4]                                   |         var_4h = r3;
    0x0001a49c add r2, pc                                        |         r2 = 0x34be2;
    0x0001a49e ldr r3, [pc, 0x2a4]                               |         
    0x0001a4a0 adds r2, 7                                        |         r2 += 7;
    0x0001a4a2 add r3, pc                                        |         r3 = 0x34bec;
    0x0001a4a4 str r3, [sp]                                      |         *(sp) = r3;
    0x0001a4a6 movs r3, 0x43                                     |         r3 = 0x43;
    0x0001a4a8 blx 0x6008                                        |         fcn_00006008 ();
                                                                 |     }
                                                                 | label_52:
    0x0001a4ac ldr r3, [pc, 0x298]                               |     r3 = *(0x1a748);
    0x0001a4ae ldr.w r0, [fp]                                    |     r0 = *(fp);
    0x0001a4b2 ldr.w r2, [sb, r3]                                |     r2 = *((sb + r3));
    0x0001a4b6 mov.w sb, 0                                       |     sb = 0;
    0x0001a4ba ldr r3, [pc, 0x290]                               |     
    0x0001a4bc strd r4, sl, [sp, 8]                              |     __asm ("strd r4, sl, [var_8h]");
    0x0001a4c0 ldr r1, [r2]                                      |     r1 = *(r2);
    0x0001a4c2 ldr r2, [pc, 0x28c]                               |     
    0x0001a4c4 add r3, pc                                        |     r3 = 0x34c16;
    0x0001a4c6 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001a4c8 mov r3, r8                                        |     r3 = r8;
    0x0001a4ca str.w sb, [sp]                                    |     __asm ("str.w sb, [sp]");
    0x0001a4ce add r2, pc                                        |     r2 = 0x34c24;
    0x0001a4d0 blx 0x5fe4                                        |     r0 = fcn_00005fe4 ();
    0x0001a4d4 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0001a4d6 blt.w 0x1a67a                                     |         goto label_144;
                                                                 |     }
    0x0001a4da ldr r0, [r6]                                      |     r0 = *(r6);
                                                                 |     do {
                                                                 | label_49:
    0x0001a4dc blx 0x59e0                                        |         unit_file_state_to_string ();
    0x0001a4e0 movs r3, 0                                        |         r3 = 0;
    0x0001a4e2 mov r0, r8                                        |         r0 = r8;
    0x0001a4e4 str r3, [r6]                                      |         *(r6) = r3;
    0x0001a4e6 blx 0x5f0c                                        |         fcn_00005f0c ();
    0x0001a4ea ldr r2, [pc, 0x268]                               |         
    0x0001a4ec ldr r3, [pc, 0x238]                               |         r3 = *(0x1a728);
    0x0001a4ee add r2, pc                                        |         r2 = 0x34c48;
    0x0001a4f0 ldr r3, [r2, r3]                                  |         r3 = *(0x34c48);
    0x0001a4f2 ldr r2, [r3]                                      |         r2 = *(0x34c48);
    0x0001a4f4 ldr.w r3, [r7, 0x134]                             |         r3 = var_134h;
    0x0001a4f8 eors r2, r3                                       |         r2 ^= r3;
    0x0001a4fa mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0001a4fe bne.w 0x1a71e                                     |             goto label_145;
                                                                 |         }
    0x0001a502 mov r0, r5                                        |         r0 = r5;
    0x0001a504 add.w r7, r7, 0x13c                               |         r7 += var_13ch;
    0x0001a508 mov sp, r7                                        |         
    0x0001a50a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_131:
    0x0001a50e blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001a512 cmp r0, 2                                         |         
    0x0001a514 itt le                                            |         
                                                                 |         if (r0 > 2) {
    0x0001a516 movle r0, r5                                      |             r0 = r5;
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x0001a518 mvnle r5, 0x15                                    |             r5 = ~0x15;
                                                                 |         }
    0x0001a51c ble 0x1a4dc                                       |         
                                                                 |     } while (r0 <= 2);
    0x0001a51e ldr r2, [pc, 0x238]                               |     
    0x0001a520 movs r1, 0x16                                     |     r1 = 0x16;
    0x0001a522 ldr r4, [pc, 0x238]                               |     
    0x0001a524 movs r3, 0x19                                     |     r3 = 0x19;
    0x0001a526 ldr r0, [pc, 0x238]                               |     
    0x0001a528 add r2, pc                                        |     r2 = 0x34c86;
    0x0001a52a add r4, pc                                        |     r4 = 0x34c8c;
    0x0001a52c add r0, pc                                        |     r0 = 0x34c92;
    0x0001a52e b 0x1a550                                         |     goto label_146;
                                                                 | label_130:
    0x0001a530 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a534 cmp r0, 2                                         |     
    0x0001a536 itt le                                            |     
                                                                 |     if (r0 > 2) {
    0x0001a538 movle r0, r4                                      |         r0 = r4;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a53a mvnle r5, 0x15                                    |         r5 = ~0x15;
                                                                 |         goto label_147;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_147:
    0x0001a53e ble 0x1a4dc                                       |         goto label_49;
                                                                 |     }
    0x0001a540 ldr r2, [pc, 0x220]                               |     
    0x0001a542 movs r1, 0x16                                     |     r1 = 0x16;
    0x0001a544 ldr r4, [pc, 0x220]                               |     
    0x0001a546 mov r3, r1                                        |     r3 = r1;
    0x0001a548 ldr r0, [pc, 0x220]                               |     
    0x0001a54a add r2, pc                                        |     r2 = 0x34cb2;
    0x0001a54c add r4, pc                                        |     r4 = 0x34cb8;
    0x0001a54e add r0, pc                                        |     r0 = 0x34cbe;
                                                                 | label_146:
    0x0001a550 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x0001a554 movt r1, 0x4000                                   |     r1 = (r1 & 0xFFFF) | 0x40000000;
    0x0001a558 adds r2, 7                                        |     r2 += 7;
    0x0001a55a movs r0, 3                                        |     r0 = 3;
    0x0001a55c blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001a560 subs r5, r0, 0                                    |     r5 = r0 - 0;
    0x0001a562 ldr r0, [r6]                                      |     r0 = *(r6);
    0x0001a564 it ge                                             |     
                                                                 |     if (r5 < r0) {
    0x0001a566 mvnge r5, 0x55                                    |         r5 = ~0x55;
                                                                 |     }
    0x0001a56a b 0x1a4dc                                         |     goto label_49;
                                                                 | label_132:
    0x0001a56c ldr r0, [pc, 0x200]                               |     
    0x0001a56e mov r2, r6                                        |     r2 = r6;
    0x0001a570 mov r1, r5                                        |     r1 = r5;
    0x0001a572 add r0, pc                                        |     r0 = 0x34ce6;
    0x0001a574 blx 0x5de0                                        |     fcn_00005de0 ();
    0x0001a576 ldc p1, c15, [r4], -0x2c0                         |     __asm ("ldc p1, c15, [r4], -0x2c0");
    0x0001a57a lsrs r0, r0, 8                                    |     r0 >>= 8;
    0x0001a57c blt 0x1a58a                                       |     
                                                                 |     while (r0 <= 6) {
                                                                 | label_51:
    0x0001a57e ldr.w sl, [r6]                                    |         sl = *(r6);
    0x0001a582 b 0x1a344                                         |         goto label_50;
                                                                 | label_141:
    0x0001a584 ldr r0, [r6]                                      |         r0 = *(r6);
    0x0001a586 mov r5, r3                                        |         r5 = r3;
    0x0001a588 b 0x1a4dc                                         |         goto label_49;
    0x0001a58a blx 0x5cd4                                        |         r0 = gethostname_full ();
    0x0001a58e cmp r0, 6                                         |         
    0x0001a590 ble 0x1a57e                                       |         
                                                                 |     }
    0x0001a592 ldr r3, [pc, 0x1e0]                               |     
    0x0001a594 mov r1, sl                                        |     r1 = sl;
    0x0001a596 ldr r2, [pc, 0x1e0]                               |     
    0x0001a598 movs r0, 7                                        |     r0 = 7;
    0x0001a59a add r3, pc                                        |     r3 = 0x34d14;
    0x0001a59c str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001a59e add r2, pc                                        |     r2 = 0x34d1c;
    0x0001a5a0 ldr r3, [pc, 0x1d8]                               |     
    0x0001a5a2 adds r2, 7                                        |     r2 += 7;
    0x0001a5a4 add r3, pc                                        |     r3 = 0x34d24;
    0x0001a5a6 str r3, [sp]                                      |     *(sp) = r3;
    0x0001a5a8 movs r3, 0x22                                     |     r3 = 0x22;
    0x0001a5aa blx 0x6008                                        |     fcn_00006008 ();
    0x0001a5ae b 0x1a57e                                         |     goto label_51;
                                                                 | label_142:
    0x0001a5b0 str r1, [r7, 4]                                   |     var_4h_4 = r1;
    0x0001a5b2 blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a5b6 cmp r0, 3                                         |     
    0x0001a5b8 ldr r1, [r7, 4]                                   |     r1 = var_4h_4;
                                                                 |     if (r0 <= 3) {
    0x0001a5ba ble.w 0x1a4ac                                     |         goto label_52;
                                                                 |     }
    0x0001a5be ldr r3, [pc, 0x1c0]                               |     
    0x0001a5c0 movs r0, 4                                        |     r0 = 4;
    0x0001a5c2 ldr r2, [pc, 0x1c0]                               |     
    0x0001a5c4 add r3, pc                                        |     r3 = 0x34d4a;
    0x0001a5c6 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001a5c8 add r2, pc                                        |     r2 = 0x34d52;
    0x0001a5ca ldr r3, [pc, 0x1bc]                               |     
    0x0001a5cc adds r2, 7                                        |     r2 += 7;
    0x0001a5ce add r3, pc                                        |     r3 = 0x34d5c;
    0x0001a5d0 str r3, [sp]                                      |     *(sp) = r3;
    0x0001a5d2 movs r3, 0x41                                     |     r3 = 0x41;
    0x0001a5d4 blx 0x6008                                        |     fcn_00006008 ();
    0x0001a5d8 b 0x1a47a                                         |     goto label_53;
                                                                 | label_134:
    0x0001a5da mov r0, r4                                        |     r0 = r4;
    0x0001a5dc blx 0x64c8                                        |     fcn_000064c8 ();
    0x0001a5e0 str r0, [r7, 4]                                   |     var_4h_4 = r0;
    0x0001a5e2 mov r0, fp                                        |     r0 = fp;
    0x0001a5e4 blx 0x64c8                                        |     fcn_000064c8 ();
    0x0001a5e8 ldr r3, [r7, 4]                                   |     r3 = var_4h_4;
    0x0001a5ea add r3, r0                                        |     r3 += r0;
    0x0001a5ec adds r1, r3, 2                                    |     r1 = r3 + 2;
    0x0001a5ee cmp.w r1, 0x400000                                |     
                                                                 |     if (r1 > 0x400000) {
    0x0001a5f2 bhi 0x1a6f0                                       |         goto label_148;
                                                                 |     }
    0x0001a5f4 adds r3, 9                                        |     r3 += 9;
    0x0001a5f6 mov r1, r4                                        |     r1 = r4;
    0x0001a5f8 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0001a5fc str r0, [r7]                                      |     *(r7) = r0;
    0x0001a5fe sub.w sp, sp, r3                                  |     
    0x0001a602 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x0001a604 mov r0, r3                                        |     r0 = r3;
    0x0001a606 str r3, [r7, 4]                                   |     var_4h_4 = r3;
    0x0001a608 blx 0x5bbc                                        |     fcn_00005bbc ();
    0x0001a60c ldr r3, [r7, 4]                                   |     r3 = var_4h_4;
    0x0001a60e mov r1, r0                                        |     r1 = r0;
    0x0001a610 ldr r2, [r7]                                      |     r2 = *(r7);
    0x0001a612 cmp r3, r0                                        |     
                                                                 |     if (r3 <= r0) {
    0x0001a614 blo 0x1a61c                                       |         goto label_149;
                                                                 |     }
    0x0001a616 b 0x1a62e                                         |     goto label_150;
                                                                 |     do {
    0x0001a618 cmp r1, r3                                        |         
                                                                 |         if (r1 == r3) {
    0x0001a61a beq 0x1a62e                                       |             goto label_150;
                                                                 |         }
                                                                 | label_149:
    0x0001a61c ldrb ip, [r1, -0x1]                               |         ip = *((r1 - 0x1));
    0x0001a620 subs r0, r1, 1                                    |         r0 = r1 - 1;
    0x0001a622 mov lr, r1                                        |         lr = r1;
    0x0001a624 mov r1, r0                                        |         r1 = r0;
    0x0001a626 cmp.w ip, 0x2f                                    |         
    0x0001a62a beq 0x1a618                                       |         
                                                                 |     } while (ip == 0x2f);
    0x0001a62c mov r0, lr                                        |     r0 = lr;
                                                                 | label_150:
    0x0001a62e adds r2, 1                                        |     r2++;
    0x0001a630 mov r1, fp                                        |     r1 = fp;
    0x0001a632 str r3, [r7, 4]                                   |     var_4h_4 = r3;
    0x0001a634 blx 0x6450                                        |     fcn_00006450 ();
    0x0001a638 ldrb.w r2, [sl]                                   |     r2 = *(sl);
    0x0001a63c ldr r3, [r7, 4]                                   |     r3 = var_4h_4;
    0x0001a63e cmp r2, 0x2f                                      |     
                                                                 |     if (r2 != 0x2f) {
    0x0001a640 bne 0x1a718                                       |         goto label_151;
                                                                 |     }
    0x0001a642 ldrb.w r2, [sl, 1]                                |     r2 = *((sl + 1));
    0x0001a646 cmp r2, 0x2f                                      |     
    0x0001a648 mov r2, r3                                        |     r2 = r3;
                                                                 |     if (r2 == 0x2f) {
    0x0001a64a beq.w 0x1a37e                                     |         goto label_54;
                                                                 |     }
    0x0001a64e mov fp, sl                                        |     
    0x0001a650 b 0x1a392                                         |     goto label_55;
                                                                 | label_139:
    0x0001a652 ldr r1, [pc, 0x138]                               |     
    0x0001a654 movs r2, 0x35                                     |     r2 = 0x35;
    0x0001a656 ldr r3, [pc, 0x138]                               |     
    0x0001a658 ldr r0, [pc, 0x138]                               |     
    0x0001a65a add r1, pc                                        |     r1 = 0x34dec;
    0x0001a65c add r3, pc                                        |     r3 = 0x34df2;
    0x0001a65e adds r1, 7                                        |     r1 += 7;
    0x0001a660 add r0, pc                                        |     r0 = 0x34df8;
    0x0001a662 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_140:
    0x0001a666 ldr r1, [pc, 0x130]                               |     
    0x0001a668 movs r2, 0x36                                     |     r2 = 0x36;
    0x0001a66a ldr r3, [pc, 0x130]                               |     
    0x0001a66c ldr r0, [pc, 0x130]                               |     
    0x0001a66e add r1, pc                                        |     r1 = 0x34e0c;
    0x0001a670 add r3, pc                                        |     r3 = 0x34e12;
    0x0001a672 adds r1, 7                                        |     r1 += 7;
    0x0001a674 add r0, pc                                        |     r0 = 0x34e18;
    0x0001a676 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_144:
    0x0001a67a add.w r3, r7, 0xa8                                |     r3 += var_b8h;
    0x0001a67e movs r2, 0x8c                                     |     r2 = 0x8c;
    0x0001a680 mov r1, sb                                        |     r1 = sb;
    0x0001a682 mov r0, r3                                        |     r0 = r3;
    0x0001a684 blx 0x5d50                                        |     r0 = fcn_00005d50 ();
    0x0001a688 mov r3, r0                                        |     r3 = r0;
    0x0001a68a mov.w r0, 0x10000000                              |     r0 = 0x10000000;
    0x0001a68e mov.w r2, -1                                      |     r2 = -1;
    0x0001a692 movs r1, 0xf                                      |     r1 = 0xf;
    0x0001a694 str.w r0, [r7, 0x12c]                             |     __asm ("str.w r0, [var_12ch]");
    0x0001a698 mov r0, r3                                        |     r0 = r3;
    0x0001a69a blx 0x5edc                                        |     fcn_00005edc ();
    0x0001a69e blx 0x5cd4                                        |     r0 = gethostname_full ();
    0x0001a6a2 cmp r0, 2                                         |     
    0x0001a6a4 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0001a6a6 rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a6a8 bicle r3, r3, 0x40000000                          |         __asm ("bicle r3, r3, 0x40000000");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0001a6ac rsbs r5, r3, 0                                    |         r5 = r3 - ;
                                                                 |     }
    0x0001a6ae bgt 0x1a6c6                                       |     
                                                                 |     while (1) {
    0x0001a6b0 cmp r5, 0                                         |         
    0x0001a6b2 ldr r0, [r6]                                      |         r0 = *(r6);
    0x0001a6b4 it ge                                             |         
                                                                 |         if (r5 < 0) {
    0x0001a6b6 mvnge r5, 0x55                                    |             r5 = ~0x55;
                                                                 |         }
    0x0001a6ba b 0x1a4dc                                         |         goto label_49;
                                                                 | label_143:
    0x0001a6bc ldr r3, [pc, 0xe4]                                |         
    0x0001a6be add r3, pc                                        |         r3 = 0x34e66;
    0x0001a6c0 b 0x1a48c                                         |         goto label_56;
                                                                 | label_135:
    0x0001a6c2 mov fp, sl                                        |         
    0x0001a6c4 b 0x1a410                                         |         goto label_57;
    0x0001a6c6 mov r1, r4                                        |         r1 = r4;
    0x0001a6c8 mov r0, r8                                        |         r0 = r8;
    0x0001a6ca blx 0x663c                                        |         fcn_0000663c ();
    0x0001a6ce ldr r2, [pc, 0xd8]                                |         
    0x0001a6d0 mov r1, r4                                        |         r1 = r4;
    0x0001a6d2 str r0, [sp, 8]                                   |         var_8h = r0;
    0x0001a6d4 ldr r3, [pc, 0xd4]                                |         
    0x0001a6d6 ldr r0, [pc, 0xd8]                                |         
    0x0001a6d8 add r2, pc                                        |         r2 = 0x34e86;
    0x0001a6da adds r2, 7                                        |         r2 += 7;
    0x0001a6dc add r3, pc                                        |         r3 = 0x34e8c;
    0x0001a6de add r0, pc                                        |         r0 = 0x34e94;
    0x0001a6e0 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0001a6e2 str r0, [sp]                                      |         *(sp) = r0;
    0x0001a6e4 movs r3, 0x49                                     |         r3 = 0x49;
    0x0001a6e6 movs r0, 3                                        |         r0 = 3;
    0x0001a6e8 blx 0x6008                                        |         r0 = fcn_00006008 ();
    0x0001a6ec mov r5, r0                                        |         r5 = r0;
    0x0001a6ee b 0x1a6b0                                         |         
                                                                 |     }
                                                                 | label_148:
    0x0001a6f0 ldr r1, [pc, 0xc0]                                |     
    0x0001a6f2 movs r2, 0x2b                                     |     r2 = 0x2b;
    0x0001a6f4 ldr r3, [pc, 0xc0]                                |     
    0x0001a6f6 ldr r0, [pc, 0xc4]                                |     
    0x0001a6f8 add r1, pc                                        |     r1 = 0x34eb0;
    0x0001a6fa add r3, pc                                        |     r3 = 0x34eb6;
    0x0001a6fc adds r1, 7                                        |     r1 += 7;
    0x0001a6fe add r0, pc                                        |     r0 = 0x34ec0;
    0x0001a700 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_136:
    0x0001a704 ldr r1, [pc, 0xb8]                                |     
    0x0001a706 movs r2, 0x2c                                     |     r2 = 0x2c;
    0x0001a708 ldr r3, [pc, 0xb8]                                |     
    0x0001a70a ldr r0, [pc, 0xbc]                                |     
    0x0001a70c add r1, pc                                        |     r1 = 0x34ed0;
    0x0001a70e add r3, pc                                        |     r3 = 0x34ed6;
    0x0001a710 adds r1, 7                                        |     r1 += 7;
    0x0001a712 add r0, pc                                        |     r0 = 0x34ee0;
    0x0001a714 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_151:
    0x0001a718 mov r2, r3                                        |     r2 = r3;
    0x0001a71a mov fp, sl                                        |     
    0x0001a71c b 0x1a392                                         |     goto label_55;
                                                                 | label_145:
    0x0001a71e blx 0x60c0                                        |     fcn_000060c0 ();
    0x0001a722 nop                                               |     
    0x0001a724 asrs r2, r2, 0x19                                 |     r2 >>= 0x19;
    0x0001a726 movs r1, r0                                       |     r1 = r0;
    0x0001a728 lsls r4, r5, 0x16                                 |     r4 = r5 << 0x16;
    0x0001a72a movs r0, r0                                       |     
    0x0001a72c asrs r6, r7, 0x18                                 |     r6 = r7 >> 0x18;
    0x0001a72e movs r1, r0                                       |     r1 = r0;
    0x0001a730 lsls r0, r0, 0x18                                 |     r0 <<= 0x18;
    0x0001a732 movs r0, r0                                       |     
    0x0001a734 add r7, sp, 0x1e0                                 |     r7 += var_1e0h;
    0x0001a736 movs r0, r0                                       |     
    0x0001a738 lsls r0, r1, 0x17                                 |     r0 = r1 << 0x17;
    0x0001a73a movs r0, r0                                       |     
    0x0001a73c add r6, sp, 0x290                                 |     r6 += arg_120h;
    0x0001a73e movs r0, r0                                       |     
    0x0001a740 add r5, sp, 0x200                                 |     r5 += var_200h;
    0x0001a742 movs r0, r0                                       |     
    0x0001a744 add r6, sp, 0x3e8                                 |     r6 += arg_3e8h_2;
    0x0001a746 movs r0, r0                                       |     
    0x0001a748 lsls r0, r2, 0x16                                 |     r0 = r2 << 0x16;
    0x0001a74a movs r0, r0                                       |     
    0x0001a74c add r1, sp, 0x350                                 |     r1 += arg_350h;
    0x0001a74e movs r0, r0                                       |     
    0x0001a750 add r6, sp, 0x248                                 |     r6 += arg_d8h;
    0x0001a752 movs r0, r0                                       |     
    0x0001a754 asrs r6, r3, 0x11                                 |     r6 = r3 >> 0x11;
    0x0001a756 movs r1, r0                                       |     r1 = r0;
    0x0001a758 add r4, sp, 0x3d0                                 |     r4 += arg_3d0h_2;
    0x0001a75a movs r0, r0                                       |     
    0x0001a75c add r5, sp, 0x168                                 |     r5 += var_168h;
    0x0001a75e movs r0, r0                                       |     
    0x0001a760 add r6, sp, 0x1c0                                 |     r6 += var_50h;
    0x0001a762 movs r0, r0                                       |     
    0x0001a764 add r4, sp, 0x348                                 |     r4 += arg_348h;
    0x0001a766 movs r0, r0                                       |     
    0x0001a768 add r5, sp, 0x60                                  |     r5 += var_60h;
    0x0001a76a movs r0, r0                                       |     
    0x0001a76c add r6, sp, 0x138                                 |     r6 += var_138h;
    0x0001a76e movs r0, r0                                       |     
    0x0001a770 add r5, sp, 0xb8                                  |     r5 += var_b8h;
    0x0001a772 movs r0, r0                                       |     
    0x0001a774 add r5, sp, 0x38                                  |     r5 += var_38h;
    0x0001a776 movs r0, r0                                       |     
    0x0001a778 add r4, sp, 0x1f8                                 |     r4 += var_1f8h;
    0x0001a77a movs r0, r0                                       |     
    0x0001a77c add r5, sp, 0x3e0                                 |     r5 += arg_3e0h;
    0x0001a77e movs r0, r0                                       |     
    0x0001a780 add r5, sp, 0x100                                 |     r5 += var_100h;
    0x0001a782 movs r0, r0                                       |     
    0x0001a784 add r4, sp, 0x150                                 |     r4 += var_150h;
    0x0001a786 movs r0, r0                                       |     
    0x0001a788 add r5, sp, 0x338                                 |     r5 += arg_1c8h;
    0x0001a78a movs r0, r0                                       |     
    0x0001a78c add r3, sp, 0x308                                 |     r3 += arg_198h;
    0x0001a78e movs r0, r0                                       |     
    0x0001a790 add r5, sp, 0xb0                                  |     r5 += var_b0h;
    0x0001a792 movs r0, r0                                       |     
    0x0001a794 add r4, sp, 0x220                                 |     r4 += var_220h;
    0x0001a796 movs r0, r0                                       |     
    0x0001a798 add r3, sp, 0x2b8                                 |     r3 += arg_2b8h;
    0x0001a79a movs r0, r0                                       |     
    0x0001a79c add r5, sp, 0x60                                  |     r5 += var_60h;
    0x0001a79e movs r0, r0                                       |     
    0x0001a7a0 add r4, sp, 0x200                                 |     r4 += var_200h;
    0x0001a7a2 movs r0, r0                                       |     
    0x0001a7a4 ldr r2, [r7, 0x58]                                |     r2 = *((r7 + 0x58));
    0x0001a7a6 movs r0, r0                                       |     
    0x0001a7a8 add r3, sp, 0x110                                 |     r3 += var_110h;
    0x0001a7aa movs r0, r0                                       |     
    0x0001a7ac add r4, sp, 0x240                                 |     r4 += arg_240h;
    0x0001a7ae movs r0, r0                                       |     
    0x0001a7b0 add r4, sp, 0x2f8                                 |     r4 += arg_2f8h;
    0x0001a7b2 movs r0, r0                                       |     
    0x0001a7b4 add r3, sp, 0x90                                  |     r3 += var_90h;
    0x0001a7b6 movs r0, r0                                       |     
    0x0001a7b8 add r4, sp, 0x238                                 |     r4 += arg_0h;
    0x0001a7ba movs r0, r0                                       |     
    0x0001a7bc ldrsb r6, [r2, r6]                                |     r6 = *((r2 + r6));
    0x0001a7be movs r0, r0                                       |     
    0x0001a7c0 add r3, sp, 0x40                                  |     r3 += var_40h;
    0x0001a7c2 movs r0, r0                                       |     
    0x0001a7c4 add r4, sp, 0x1e8                                 |     r4 += var_1e8h;
    0x0001a7c6 movs r0, r0                                       |     
    0x0001a7c8 ldrsb r2, [r0, r6]                                |     r2 = *((r0 + r6));
    0x0001a7ca movs r0, r0                                       |     
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x1c234 */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0001c234 ()                                      | void fcn_0001c234 (int16_t arg_50h, int16_t arg_70h, int16_t arg_e8h, int16_t arg_1c8h, int16_t arg_210h, int16_t arg_240h, int16_t arg_268h, int16_t arg_288h, int16_t arg_2f0h, int16_t arg_320h, int16_t arg_378h, int16_t arg_3f8h, uint32_t arg1, uint32_t arg2, uint32_t arg3, int16_t arg4) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_48h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
                                                                 |     r3 = arg4;
    0x0001c234 svcmi 0xf0e92d                                    |     __asm ("svcmi 0xf0e92d");
    0x0001c238 sub sp, 0x2c                                      |     
    0x0001c23a ldr r4, [sp, 0x50]                                |     r4 = *(arg_50h);
    0x0001c23c mov sl, r3                                        |     sl = r3;
    0x0001c23e ldr r3, [pc, 0x268]                               |     r3 = *(0x1c4aa);
    0x0001c240 str r4, [sp, 8]                                   |     var_8h = r4;
    0x0001c242 ldr r4, [pc, 0x268]                               |     
    0x0001c244 ldr r6, [pc, 0x268]                               |     
    0x0001c246 add r4, pc                                        |     r4 = 0x386f8;
    0x0001c248 ldr r3, [r4, r3]                                  |     
    0x0001c24a add r6, pc                                        |     r6 = 0x386fe;
    0x0001c24c ldr r3, [r3]                                      |     r3 = *(0x386f8);
    0x0001c24e str r3, [sp, 0x24]                                |     var_24h = r3;
    0x0001c250 mov.w r3, 0                                       |     r3 = 0;
    0x0001c254 movs r3, 0                                        |     r3 = 0;
    0x0001c256 strd r3, r3, [sp, 0x14]                           |     __asm ("strd r3, r3, [var_14h]");
    0x0001c25a cmp r0, 0                                         |     
                                                                 |     if (arg_50h == ) {
    0x0001c25c beq.w 0x1c3f0                                     |         goto label_7;
                                                                 |     }
    0x0001c260 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x0001c264 beq.w 0x1c404                                     |         goto label_8;
                                                                 |     }
    0x0001c268 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0001c26a beq.w 0x1c492                                     |         goto label_9;
                                                                 |     }
    0x0001c26e ldr r5, [pc, 0x244]                               |     
    0x0001c270 mov sb, r0                                        |     sb = r0;
    0x0001c272 ldr.w r8, [pc, 0x244]                             |     
    0x0001c276 subs r4, r1, 4                                    |     r4 = r1 - 4;
    0x0001c278 add r7, sp, 0x20                                  |     r7 += var_20h;
    0x0001c27a add r5, pc                                        |     r5 = 0x38734;
    0x0001c27c cmp r2, 0                                         |     
    0x0001c27e it ne                                             |     
                                                                 |     if (r2 == 0) {
    0x0001c280 movne r5, r2                                      |         r5 = r2;
                                                                 |     }
    0x0001c282 add r8, pc                                        |     r8 = 0x38740;
    0x0001c284 b 0x1c290                                         |     
                                                                 |     while (r0 != 0) {
    0x0001c286 add r0, sp, 0x18                                  |         r0 += var_18h;
    0x0001c288 blx 0x6014                                        |         r0 = fcn_00006014 ();
    0x0001c28c cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0001c28e blt 0x1c2d2                                       |             goto label_10;
                                                                 |         }
                                                                 | label_0:
    0x0001c290 ldr r1, [r4, 4]!                                  |         r1 = *((r4 += 4));
                                                                 |         if (r1 == 0) {
    0x0001c294 cbz r1, 0x1c2e8                                   |             goto label_11;
                                                                 |         }
    0x0001c296 ldr r2, [pc, 0x224]                               |         r2 = *(0x1c4be);
    0x0001c298 mov r0, r1                                        |         r0 = r1;
    0x0001c29a mov r3, r5                                        |         r3 = r5;
    0x0001c29c movs r1, 0                                        |         r1 = 0;
    0x0001c29e ldr r2, [r6, r2]                                  |         r2 = *((r6 + r2));
    0x0001c2a0 str r7, [sp]                                      |         *(sp) = r7;
    0x0001c2a2 ldrb r2, [r2]                                     |         r2 = *(r2);
    0x0001c2a4 cmp r2, 0                                         |         
    0x0001c2a6 ite eq                                            |         
                                                                 |         if (r2 != 0) {
    0x0001c2a8 moveq r2, 3                                       |             r2 = 3;
                                                                 |         }
                                                                 |         if (r2 == 0) {
    0x0001c2aa movne r2, 1                                       |             r2 = 1;
                                                                 |         }
    0x0001c2ac blx 0x63fc                                        |         r0 = fcn_000063fc ();
    0x0001c2b0 subs r1, r0, 0                                    |         r1 = r0 - 0;
                                                                 |         if (r1 < r0) {
    0x0001c2b2 blt.w 0x1c3be                                     |             goto label_12;
                                                                 |         }
    0x0001c2b6 ldr.w fp, [sp, 0x20]                              |         fp = var_20h;
    0x0001c2ba mov r1, r8                                        |         r1 = r8;
    0x0001c2bc mov r0, fp                                        |         r0 = fp;
    0x0001c2be blx 0x5ea0                                        |         fcn_00005ea0 ();
    0x0001c2c2 mov r1, fp                                        |         r1 = fp;
    0x0001c2c4 cmp r0, 0                                         |         
    0x0001c2c6 bne 0x1c286                                       |         
                                                                 |     }
    0x0001c2c8 add r0, sp, 0x14                                  |     r0 += var_14h;
    0x0001c2ca blx 0x6014                                        |     r0 = fcn_00006014 ();
    0x0001c2ce cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0001c2d0 bge 0x1c290                                       |         goto label_0;
                                                                 |     }
                                                                 | label_10:
    0x0001c2d2 ldr r1, [pc, 0x1ec]                               |     
    0x0001c2d4 movs r2, 0xff                                     |     r2 = 0xff;
    0x0001c2d6 ldr r3, [pc, 0x1ec]                               |     
    0x0001c2d8 movs r0, 3                                        |     r0 = 3;
    0x0001c2da add r1, pc                                        |     r1 = 0x387a0;
    0x0001c2dc add r3, pc                                        |     r3 = 0x387a6;
    0x0001c2de adds r1, 7                                        |     r1 += 7;
    0x0001c2e0 blx 0x6920                                        |     r0 = fcn_00006920 ();
    0x0001c2e4 mov r4, r0                                        |     r4 = r0;
    0x0001c2e6 b 0x1c390                                         |     goto label_13;
                                                                 | label_11:
    0x0001c2e8 ldr r0, [sp, 0x18]                                |     r0 = var_18h;
    0x0001c2ea cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0001c2ec beq 0x1c3de                                       |         goto label_14;
                                                                 |     }
    0x0001c2ee ldr r3, [r0]                                      |     r3 = *(r0);
    0x0001c2f0 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001c2f2 beq.w 0x1c418                                     |         goto label_15;
                                                                 |     }
    0x0001c2f6 add r3, sp, 0x1c                                  |     r3 += var_1ch;
    0x0001c2f8 mov r2, r0                                        |     r2 = r0;
    0x0001c2fa str r3, [sp, 4]                                   |     var_4h = r3;
    0x0001c2fc mov r0, sb                                        |     r0 = sb;
    0x0001c2fe add r3, sp, 0x20                                  |     r3 += var_20h;
    0x0001c300 str r1, [sp]                                      |     *(sp) = r1;
    0x0001c302 strd r1, r1, [sp, 0x1c]                           |     __asm ("strd r1, r1, [var_20h]");
    0x0001c306 str r1, [sp, 0xc]                                 |     var_ch = r1;
    0x0001c308 bl 0x1bd44                                        |     r0 = fcn_0001bd44 (r0, r1, r2, r3, r4, r5);
    0x0001c30c subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0001c30e blt 0x1c37e                                       |         goto label_5;
                                                                 |     }
    0x0001c310 ldr r0, [sp, 0x14]                                |     r0 = var_14h;
    0x0001c312 blx 0x6168                                        |     fcn_00006168 ();
    0x0001c316 ldr r1, [sp, 0xc]                                 |     r1 = var_ch;
    0x0001c318 mov r5, r0                                        |     r5 = r0;
    0x0001c31a cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0001c31c beq.w 0x1c44c                                     |         goto label_16;
                                                                 |     }
    0x0001c320 mov r6, r1                                        |     r6 = r1;
    0x0001c322 add r4, r0                                        |     r4 += r0;
    0x0001c324 add r7, sp, 0x14                                  |     r7 += var_14h;
    0x0001c326 mov r8, r1                                        |     r8 = r1;
    0x0001c328 b 0x1c35a                                         |     
                                                                 |     while (r0 != 0) {
    0x0001c32a ldr r3, [sp, 0x20]                                |         r3 = var_20h;
    0x0001c32c ldr.w sb, [sp, 0x14]                              |         sb = var_14h;
    0x0001c330 add r3, r6                                        |         r3 += r6;
    0x0001c332 ldr r0, [r3, 4]                                   |         r0 = *((r3 + 4));
    0x0001c334 blx 0x68d4                                        |         bus_parse_unit_info ();
    0x0001c338 str.w r0, [sb, r5, lsl 2]                         |         __asm ("str.w r0, [sb, r5, lsl 2]");
    0x0001c33c lsls r1, r5, 2                                    |         r1 = r5 << 2;
    0x0001c33e ldr r3, [sp, 0x14]                                |         r3 = var_14h;
    0x0001c340 ldr.w r2, [r3, r5, lsl 2]                         |         offset_0 = r5 << 2;
                                                                 |         r2 = *((r3 + offset_0));
    0x0001c344 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x0001c346 beq.w 0x1c47a                                     |             goto label_17;
                                                                 |         }
    0x0001c34a adds r5, 1                                        |         r5++;
    0x0001c34c add r3, r1                                        |         r3 += r1;
    0x0001c34e cmp r5, r4                                        |         
    0x0001c350 add.w r6, r6, 0x2c                                |         r6 += 0x2c;
    0x0001c354 str.w r8, [r3, 4]                                 |         __asm ("str.w r8, [r3, 4]");
                                                                 |         if (r5 == r4) {
    0x0001c358 beq 0x1c44c                                       |             goto label_16;
                                                                 |         }
    0x0001c35a movs r2, 4                                        |         r2 = 4;
    0x0001c35c adds r1, r5, 2                                    |         r1 = r5 + 2;
    0x0001c35e mov r0, r7                                        |         r0 = r7;
    0x0001c360 blx 0x6078                                        |         r0 = fcn_00006078 ();
    0x0001c364 cmp r0, 0                                         |         
    0x0001c366 bne 0x1c32a                                       |         
                                                                 |     }
    0x0001c368 ldr r1, [pc, 0x15c]                               |     
    0x0001c36a movw r2, 0x111                                    |     r2 = 0x111;
    0x0001c36e ldr r3, [pc, 0x15c]                               |     
    0x0001c370 movs r0, 3                                        |     r0 = 3;
    0x0001c372 add r1, pc                                        |     r1 = 0x3883e;
    0x0001c374 add r3, pc                                        |     r3 = 0x38846;
    0x0001c376 adds r1, 7                                        |     r1 += 7;
    0x0001c378 blx 0x6920                                        |     r0 = fcn_00006920 ();
    0x0001c37c mov r4, r0                                        |     r4 = r0;
                                                                 | label_5:
    0x0001c37e ldr r0, [sp, 0x20]                                |     r0 = var_20h;
    0x0001c380 blx 0x59e0                                        |     unit_file_state_to_string ();
    0x0001c384 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0001c386 movs r3, 0                                        |     r3 = 0;
    0x0001c388 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 |     if (r0 == 0) {
    0x0001c38a cbz r0, 0x1c390                                   |         goto label_13;
                                                                 |     }
    0x0001c38c blx 0x62ac                                        |     fcn_000062ac ();
                                                                 |     do {
                                                                 | label_13:
    0x0001c390 ldr r0, [sp, 0x18]                                |         r0 = var_18h;
                                                                 |         if (r0 != 0) {
    0x0001c392 cbz r0, 0x1c39a                                   |             
                                                                 | label_2:
    0x0001c394 blx 0x67b4                                        |             mktime (r0);
    0x0001c398 str r0, [sp, 0x18]                                |             var_18h = r0;
                                                                 |         }
    0x0001c39a ldr r0, [sp, 0x14]                                |         r0 = var_14h;
                                                                 |         if (r0 != 0) {
    0x0001c39c cbz r0, 0x1c3a2                                   |             
    0x0001c39e blx 0x67b4                                        |             mktime (r0);
                                                                 |         }
                                                                 | label_1:
    0x0001c3a2 ldr r2, [pc, 0x12c]                               |         
    0x0001c3a4 ldr r3, [pc, 0x100]                               |         r3 = *(0x1c4a8);
    0x0001c3a6 add r2, pc                                        |         r2 = 0x3887c;
    0x0001c3a8 ldr r3, [r2, r3]                                  |         r3 = *(0x3887c);
    0x0001c3aa ldr r2, [r3]                                      |         r2 = *(0x3887c);
    0x0001c3ac ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x0001c3ae eors r2, r3                                       |         r2 ^= r3;
    0x0001c3b0 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0001c3b4 bne 0x1c4a2                                       |             goto label_18;
                                                                 |         }
    0x0001c3b6 mov r0, r4                                        |         r0 = r4;
    0x0001c3b8 add sp, 0x2c                                      |         
    0x0001c3ba pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_12:
    0x0001c3be str r1, [sp, 8]                                   |         var_8h = r1;
    0x0001c3c0 blx 0x5cd4                                        |         gethostname_full ();
    0x0001c3c4 ldr r1, [sp, 8]                                   |         r1 = var_8h;
    0x0001c3c6 cmp r0, 2                                         |         
    0x0001c3c8 ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x0001c3ca rsble r4, r1, 0                                   |             __asm ("rsble r4, r1, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x0001c3cc bicle r4, r4, 0x40000000                          |             __asm ("bicle r4, r4, 0x40000000");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x0001c3d0 rsbs r4, r4, 0                                    |             r4 -= ;
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x0001c3d2 bgt 0x1c42e                                       |             goto label_19;
                                                                 |         }
                                                                 | label_3:
    0x0001c3d4 cmp r4, 0                                         |         
    0x0001c3d6 it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x0001c3d8 mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
    0x0001c3dc b 0x1c390                                         |         
                                                                 |     } while (1);
                                                                 | label_14:
    0x0001c3de ldr r2, [sp, 8]                                   |     r2 = var_8h;
    0x0001c3e0 ldr r3, [sp, 0x14]                                |     r3 = var_14h;
                                                                 |     if (r2 != 0) {
    0x0001c3e2 cbz r2, 0x1c3e8                                   |         
    0x0001c3e4 ldr r2, [sp, 8]                                   |         r2 = var_8h;
    0x0001c3e6 strb r0, [r2]                                     |         *(r2) = r0;
                                                                 |     }
                                                                 | label_6:
    0x0001c3e8 str.w r3, [sl]                                    |     __asm ("str.w r3, [sl]");
                                                                 | label_4:
    0x0001c3ec movs r4, 0                                        |     r4 = 0;
    0x0001c3ee b 0x1c3a2                                         |     goto label_1;
                                                                 | label_7:
    0x0001c3f0 ldr r1, [pc, 0xe0]                                |     
    0x0001c3f2 movs r2, 0xef                                     |     r2 = 0xef;
    0x0001c3f4 ldr r3, [pc, 0xe0]                                |     
    0x0001c3f6 ldr r0, [pc, 0xe4]                                |     
    0x0001c3f8 add r1, pc                                        |     r1 = 0x388d0;
    0x0001c3fa add r3, pc                                        |     r3 = 0x388d6;
    0x0001c3fc adds r1, 7                                        |     r1 += 7;
    0x0001c3fe add r0, pc                                        |     r0 = 0x388e0;
    0x0001c400 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_8:
    0x0001c404 ldr r1, [pc, 0xd8]                                |     
    0x0001c406 movs r2, 0xf0                                     |     r2 = 0xf0;
    0x0001c408 ldr r3, [pc, 0xd8]                                |     
    0x0001c40a ldr r0, [pc, 0xdc]                                |     
    0x0001c40c add r1, pc                                        |     r1 = 0x388f0;
    0x0001c40e add r3, pc                                        |     r3 = 0x388f6;
    0x0001c410 adds r1, 7                                        |     r1 += 7;
    0x0001c412 add r0, pc                                        |     r0 = 0x38900;
    0x0001c414 blx 0x59a0                                        |     fcn_000059a0 ();
                                                                 | label_15:
    0x0001c418 ldr r1, [sp, 8]                                   |     r1 = var_8h;
    0x0001c41a ldr r2, [sp, 0x14]                                |     r2 = var_14h;
                                                                 |     if (r1 != 0) {
    0x0001c41c cbz r1, 0x1c422                                   |         
    0x0001c41e ldr r1, [sp, 8]                                   |         r1 = var_8h;
    0x0001c420 strb r3, [r1]                                     |         *(r1) = r3;
                                                                 |     }
    0x0001c422 movs r3, 0                                        |     r3 = 0;
    0x0001c424 str.w r2, [sl]                                    |     __asm ("str.w r2, [sl]");
    0x0001c428 mov r4, r3                                        |     r4 = r3;
    0x0001c42a str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0001c42c b 0x1c394                                         |     goto label_2;
                                                                 | label_19:
    0x0001c42e ldr r2, [pc, 0xbc]                                |     
    0x0001c430 movs r3, 0xf8                                     |     r3 = 0xf8;
    0x0001c432 ldr r4, [pc, 0xbc]                                |     
    0x0001c434 ldr r0, [pc, 0xbc]                                |     
    0x0001c436 add r2, pc                                        |     r2 = 0x38928;
    0x0001c438 add r4, pc                                        |     r4 = 0x3892e;
    0x0001c43a adds r2, 7                                        |     r2 += 7;
    0x0001c43c add r0, pc                                        |     r0 = 0x38934;
    0x0001c43e strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x0001c442 movs r0, 3                                        |     r0 = 3;
    0x0001c444 blx 0x6008                                        |     r0 = fcn_00006008 ();
    0x0001c448 mov r4, r0                                        |     r4 = r0;
    0x0001c44a b 0x1c3d4                                         |     goto label_3;
                                                                 | label_16:
    0x0001c44c ldr r0, [sp, 0x20]                                |     r0 = var_20h;
    0x0001c44e blx 0x59e0                                        |     unit_file_state_to_string ();
    0x0001c452 ldr r0, [sp, 0x1c]                                |     r0 = var_1ch;
    0x0001c454 movs r3, 0                                        |     r3 = 0;
    0x0001c456 str r3, [sp, 0x20]                                |     var_20h = r3;
                                                                 |     if (r0 != 0) {
    0x0001c458 cbz r0, 0x1c45e                                   |         
    0x0001c45a blx 0x62ac                                        |         fcn_000062ac ();
                                                                 |     }
    0x0001c45e ldr r2, [sp, 8]                                   |     r2 = var_8h;
    0x0001c460 ldrd r3, r0, [sp, 0x14]                           |     __asm ("ldrd r3, r0, [var_14h]");
                                                                 |     if (r2 != 0) {
    0x0001c464 cbz r2, 0x1c46c                                   |         
    0x0001c466 ldr r1, [sp, 8]                                   |         r1 = var_8h;
    0x0001c468 movs r2, 1                                        |         r2 = 1;
    0x0001c46a strb r2, [r1]                                     |         *(r1) = r2;
                                                                 |     }
    0x0001c46c movs r4, 0                                        |     r4 = 0;
    0x0001c46e str.w r3, [sl]                                    |     __asm ("str.w r3, [sl]");
    0x0001c472 str r4, [sp, 0x14]                                |     var_14h = r4;
    0x0001c474 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0001c476 bne 0x1c394                                       |         goto label_2;
                                                                 |     }
    0x0001c478 b 0x1c3ec                                         |     goto label_4;
                                                                 | label_17:
    0x0001c47a ldr r1, [pc, 0x7c]                                |     
    0x0001c47c movw r2, 0x115                                    |     r2 = 0x115;
    0x0001c480 ldr r3, [pc, 0x78]                                |     
    0x0001c482 movs r0, 3                                        |     r0 = 3;
    0x0001c484 add r1, pc                                        |     r1 = 0x38982;
    0x0001c486 add r3, pc                                        |     r3 = 0x38986;
    0x0001c488 adds r1, 7                                        |     r1 += 7;
    0x0001c48a blx 0x6920                                        |     r0 = fcn_00006920 ();
    0x0001c48e mov r4, r0                                        |     r4 = r0;
    0x0001c490 b 0x1c37e                                         |     goto label_5;
                                                                 | label_9:
    0x0001c492 ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0001c494 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x0001c496 beq 0x1c3e8                                       |         goto label_6;
                                                                 |     }
    0x0001c498 ldr r3, [sp, 8]                                   |     r3 = var_8h;
    0x0001c49a strb r1, [r3]                                     |     *(r3) = r1;
    0x0001c49c str.w r1, [sl]                                    |     __asm ("str.w r1, [sl]");
    0x0001c4a0 b 0x1c3ec                                         |     goto label_4;
                                                                 | label_18:
    0x0001c4a2 blx 0x60c0                                        |     fcn_000060c0 ();
    0x0001c4a6 nop                                               |     
    0x0001c4a8 lsls r4, r5, 0x16                                 |     r4 = r5 << 0x16;
    0x0001c4aa movs r0, r0                                       |     
    0x0001c4ac ssat r0, 1, r6                                    |     __asm ("ssat r0, 1, r6");
    0x0001c4b0 ssat r0, 1, r2                                    |     __asm ("ssat r0, 1, r2");
    0x0001c4b4 ldrsh r6, [r7, r2]                                |     r6 = *((r7 + r2));
    0x0001c4b6 movs r0, r0                                       |     
    0x0001c4b8 str r6, [sp, 0x268]                               |     *(arg_268h) = r6;
    0x0001c4ba movs r0, r0                                       |     
    0x0001c4bc lsls r4, r5, 0x18                                 |     r4 = r5 << 0x18;
    0x0001c4be movs r0, r0                                       |     
    0x0001c4c0 str r2, [sp, 0xe8]                                |     *(arg_e8h) = r2;
    0x0001c4c2 movs r0, r0                                       |     
    0x0001c4c4 ldr r2, [sp, 0x70]                                |     r2 = *(arg_70h);
    0x0001c4c6 movs r0, r0                                       |     
    0x0001c4c8 str r1, [sp, 0x288]                               |     *(arg_288h) = r1;
    0x0001c4ca movs r0, r0                                       |     
    0x0001c4cc ldr r1, [sp, 0x210]                               |     r1 = *(arg_210h);
    0x0001c4ce movs r0, r0                                       |     
    0x0001c4d0 sub.w r0, r6, 0x800000                            |     r0 = r6 - 0x800000;
    0x0001c4d4 str r1, [sp, 0x70]                                |     *(arg_70h) = r1;
    0x0001c4d6 movs r0, r0                                       |     
    0x0001c4d8 ldr r1, [sp, 0x48]                                |     r1 = var_48h;
    0x0001c4da movs r0, r0                                       |     
    0x0001c4dc ldr r4, [pc, 0x328]                               |     r4 = *(0x1c808);
    0x0001c4de movs r0, r0                                       |     
    0x0001c4e0 str r1, [sp, 0x20]                                |     var_20h = r1;
    0x0001c4e2 movs r0, r0                                       |     
    0x0001c4e4 ldr r0, [sp, 0x3f8]                               |     r0 = *(arg_3f8h);
    0x0001c4e6 movs r0, r0                                       |     
    0x0001c4e8 ldrh r6, [r4, 0x3e]                               |     r6 = *((r4 + 0x3e));
    0x0001c4ea movs r0, r0                                       |     
    0x0001c4ec str r0, [sp, 0x378]                               |     *(arg_378h) = r0;
    0x0001c4ee movs r0, r0                                       |     
    0x0001c4f0 str r4, [sp, 0x320]                               |     *(arg_320h) = r4;
    0x0001c4f2 movs r0, r0                                       |     
    0x0001c4f4 ldr r0, [sp, 0x2f0]                               |     r0 = *(arg_2f0h);
    0x0001c4f6 movs r0, r0                                       |     
    0x0001c4f8 str r0, [sp, 0x240]                               |     *(arg_240h) = r0;
    0x0001c4fa movs r0, r0                                       |     
    0x0001c4fc ldr r0, [sp, 0x1c8]                               |     r0 = *(arg_1c8h);
    0x0001c4fe movs r0, r0                                       |     
                                                                 | }
    ; assembly                                           | /* r2dec pseudo code output */
                                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/bin/systemctl @ 0x1ec88 */
                                                         | #include <stdint.h>
                                                         |  
    ; (fcn) fcn.0001ec88 ()                              | void fcn_0001ec88 (int16_t arg_1ch, uint32_t arg1, int16_t arg2, int16_t arg3, uint32_t arg4) {
                                                         |     r0 = arg1;
                                                         |     r1 = arg2;
                                                         |     r2 = arg3;
                                                         |     r3 = arg4;
    0x0001ec88 mvnsmi lr, 0xb4000                        |     __asm ("mvnsmi lr, 0xb4000");
    0x0001ec8c cmp r0, r2                                |     
    0x0001ec8e mov r5, r1                                |     r5 = r1;
    0x0001ec90 mov r4, r0                                |     r4 = r0;
    0x0001ec92 sbcs.w r1, r5, r3                         |     __asm ("sbcs.w r1, r5, r3");
    0x0001ec96 it lo                                     |     
                                                         |     if (r0 >= r2) {
    0x0001ec98 movlo r0, 0                               |         r0 = 0;
                                                         |     }
    0x0001ec9a ldr r7, [sp, 0x1c]                        |     r7 = *(arg_1ch);
    0x0001ec9c it lo                                     |     
                                                         |     if (r0 >= r2) {
    0x0001ec9e movlo r1, r0                              |         r1 = r0;
                                                         |     }
                                                         |     if (r0 <= r2) {
    0x0001eca0 blo 0x1ed68                               |         goto label_3;
                                                         |     }
    0x0001eca2 clz r6, r3                                |     r6 &= r3;
    0x0001eca6 cmp r3, 0                                 |     
                                                         |     if (r3 == 0) {
    0x0001eca8 beq 0x1ed7a                               |         goto label_4;
                                                         |     }
    0x0001ecaa clz r1, r5                                |     r1 &= r5;
    0x0001ecae cmp r5, 0                                 |     
                                                         |     if (r5 == 0) {
    0x0001ecb0 beq 0x1ed72                               |         goto label_2;
                                                         |     }
                                                         | label_1:
    0x0001ecb2 subs r6, r6, r1                           |     r6 -= r1;
    0x0001ecb4 sub.w ip, r6, 0x20                        |     
    0x0001ecb8 lsls r3, r6                               |     r3 <<= r6;
    0x0001ecba lsl.w r1, r2, ip                          |     r1 = r2 << ip;
    0x0001ecbe rsb.w lr, r6, 0x20                        |     lr = 0x20 - r6;
    0x0001ecc2 orrs r3, r1                               |     r3 |= r1;
    0x0001ecc4 lsr.w r1, r2, lr                          |     r1 = r2 >> lr;
    0x0001ecc8 lsls r2, r6                               |     r2 <<= r6;
    0x0001ecca orrs r3, r1                               |     r3 |= r1;
    0x0001eccc cmp r4, r2                                |     
    0x0001ecce sbcs.w r1, r5, r3                         |     __asm ("sbcs.w r1, r5, r3");
    0x0001ecd2 itt lo                                    |     
                                                         |     if (r4 >= r2) {
    0x0001ecd4 movlo r0, 0                               |         r0 = 0;
                                                         |     }
                                                         |     if (r4 >= r2) {
    0x0001ecd6 movlo r1, r0                              |         r1 = r0;
                                                         |     }
                                                         |     if (r4 > r2) {
    0x0001ecd8 blo 0x1ecf2                               |         
    0x0001ecda movs r0, 1                                |         r0 = 1;
    0x0001ecdc subs r4, r4, r2                           |         r4 -= r2;
    0x0001ecde lsl.w r1, r0, ip                          |         r1 = r0 << ip;
    0x0001ece2 lsr.w r8, r0, lr                          |         r8 = r0 >> lr;
    0x0001ece6 lsl.w r0, r0, r6                          |         r0 <<= r6;
    0x0001ecea sbc.w r5, r5, r3                          |         __asm ("sbc.w r5, r5, r3");
    0x0001ecee orr.w r1, r1, r8                          |         r1 |= r8;
                                                         |     }
                                                         |     if (r6 == 0) {
    0x0001ecf2 cbz r6, 0x1ed68                           |         goto label_3;
                                                         |     }
    0x0001ecf4 lsrs r2, r2, 1                            |     r2 >>= 1;
    0x0001ecf6 mov r8, r6                                |     r8 = r6;
    0x0001ecf8 orr.w r2, r2, r3, lsl 31                  |     r2 |= (r3 << 31);
    0x0001ecfc lsrs r3, r3, 1                            |     r3 >>= 1;
    0x0001ecfe b 0x1ed16                                 |     
                                                         |     while (r4 >= r2) {
    0x0001ed00 subs r4, r4, r2                           |         r4 -= r2;
    0x0001ed02 sbc.w r5, r5, r3                          |         __asm ("sbc.w r5, r5, r3");
    0x0001ed06 adds r4, r4, r4                           |         r4 += r4;
    0x0001ed08 adcs r5, r5                               |         __asm ("adcs r5, r5");
    0x0001ed0a adds r4, 1                                |         r4++;
    0x0001ed0c adc r5, r5, 0                             |         __asm ("adc r5, r5, 0");
    0x0001ed10 subs.w r8, r8, 1                          |         r8--;
                                                         |         if (r8 == r8) {
    0x0001ed14 beq 0x1ed28                               |             goto label_5;
                                                         |         }
                                                         | label_0:
    0x0001ed16 cmp r4, r2                                |         
    0x0001ed18 sbcs.w sb, r5, r3                         |         __asm ("sbcs.w sb, r5, r3");
    0x0001ed1c bhs 0x1ed00                               |         
                                                         |     }
    0x0001ed1e adds r4, r4, r4                           |     r4 += r4;
    0x0001ed20 adcs r5, r5                               |     __asm ("adcs r5, r5");
    0x0001ed22 subs.w r8, r8, 1                          |     r8--;
                                                         |     if (r8 != r8) {
    0x0001ed26 bne 0x1ed16                               |         goto label_0;
                                                         |     }
                                                         | label_5:
    0x0001ed28 adds r0, r0, r4                           |     r0 += r4;
    0x0001ed2a lsl.w lr, r5, lr                          |     lr = r5 << lr;
    0x0001ed2e lsr.w r4, r4, r6                          |     r4 >>= r6;
    0x0001ed32 lsr.w ip, r5, ip                          |     
    0x0001ed36 adc.w r1, r1, r5                          |     __asm ("adc.w r1, r1, r5");
    0x0001ed3a orr.w r4, r4, lr                          |     r4 |= lr;
    0x0001ed3e lsrs r5, r6                               |     r5 >>= r6;
    0x0001ed40 orr.w r4, r4, ip                          |     r4 |= ip;
    0x0001ed44 sub.w ip, r6, 0x20                        |     
    0x0001ed48 lsl.w ip, r4, ip                          |     
    0x0001ed4c lsl.w r2, r5, r6                          |     r2 = r5 << r6;
    0x0001ed50 rsb.w r3, r6, 0x20                        |     r3 = 0x20 - r6;
    0x0001ed54 orr.w r2, r2, ip                          |     r2 |= ip;
    0x0001ed58 lsr.w r3, r4, r3                          |     r3 = r4 >> r3;
    0x0001ed5c orrs r2, r3                               |     r2 |= r3;
    0x0001ed5e lsl.w r3, r4, r6                          |     r3 = r4 << r6;
    0x0001ed62 subs r0, r0, r3                           |     r0 -= r3;
    0x0001ed64 sbc.w r1, r1, r2                          |     __asm ("sbc.w r1, r1, r2");
                                                         |     if (r7 != 0) {
                                                         | label_3:
    0x0001ed68 cbz r7, 0x1ed6e                           |         
    0x0001ed6a strd r4, r5, [r7]                         |         __asm ("strd r4, r5, [r7]");
                                                         |     }
    0x0001ed6e pop.w {r4, r5, r6, r7, r8, sb, pc}        |     
                                                         | label_2:
    0x0001ed72 clz r1, r4                                |     r1 &= r4;
    0x0001ed76 adds r1, 0x20                             |     r1 += 0x20;
    0x0001ed78 b 0x1ecb2                                 |     goto label_1;
                                                         | label_4:
    0x0001ed7a clz r6, r2                                |     r6 &= r2;
    0x0001ed7e clz r1, r5                                |     r1 &= r5;
    0x0001ed82 adds r6, 0x20                             |     r6 += 0x20;
    0x0001ed84 cmp r5, 0                                 |     
                                                         |     if (r5 != 0) {
    0x0001ed86 bne 0x1ecb2                               |         goto label_1;
                                                         |     }
    0x0001ed88 b 0x1ed72                                 |     goto label_2;
                                                         | }

[*] Function system used 10 times systemctl