[*] Binary protection state of systemd-delta

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


[*] Function printf tear down of systemd-delta

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemd-delta @ 0x192c */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.0000192c ()                                      | void fcn_0000192c (char * 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_14h;
                                                                 |     int16_t var_18h;
                                                                 |     char * s1;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     char * s;
                                                                 |     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_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_64h;
                                                                 |     int16_t var_6ch;
                                                                 |     void * ptr;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_78h;
                                                                 |     void * var_7ch;
                                                                 |     void * var_80h;
                                                                 |     int16_t var_84h;
                                                                 |     int16_t var_88h;
                                                                 |     void * var_8ch;
                                                                 |     int32_t var_8ch_2;
                                                                 |     int16_t var_94h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x0000192c ldr.w r3, [pc, 0xc6c]                             |     r3 = *(0x0000259c);
    0x00001930 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00001934 sub sp, 0x9c                                      |     
    0x00001936 ldr.w r2, [pc, 0xc68]                             |     r2 = *(0x000025a0);
    0x0000193a add r3, pc                                        |     r3 += pc;
    0x0000193c str r3, [sp, 0x34]                                |     var_34h = r3;
    0x0000193e ldr.w r3, [pc, 0xc64]                             |     
    0x00001942 add r2, pc                                        |     r2 += pc;
    0x00001944 str r1, [sp, 0x3c]                                |     var_3ch = r1;
    0x00001946 str r0, [sp, 0x24]                                |     s1 = r0;
    0x00001948 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000194a ldr r3, [r3]                                      |     r3 = *(0x25a6);
    0x0000194c str r3, [sp, 0x94]                                |     var_94h = r3;
    0x0000194e mov.w r3, 0                                       |     r3 = 0;
    0x00001952 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001954 beq.w 0x2002                                      |         goto label_39;
                                                                 |     }
    0x00001958 ldr.w r1, [pc, 0xc4c]                             |     
    0x0000195c add r1, pc                                        |     r1 = 0x3f08;
    0x0000195e blx 0x1180                                        |     r0 = startswith ();
    0x00001962 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00001964 bne.w 0x2060                                      |         goto label_40;
                                                                 |     }
    0x00001968 ldr.w r1, [pc, 0xc40]                             |     
    0x0000196c ldr r0, [sp, 0x24]                                |     r0 = s1;
    0x0000196e add r1, pc                                        |     r1 = 0x3f1e;
    0x00001970 blx 0x10d8                                        |     r0 = strstr (r0, r1);
    0x00001974 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00001976 bne.w 0x207c                                      |         goto label_41;
                                                                 |     }
    0x0000197a ldr.w r0, [pc, 0xc34]                             |     
    0x0000197e ldr r1, [sp, 0x24]                                |     r1 = s1;
    0x00001980 add r0, pc                                        |     r0 = 0x3f36;
    0x00001982 blx 0x1030                                        |     nulstr_contains ();
    0x00001986 ldr r2, [sp, 0x34]                                |     r2 = var_34h;
    0x00001988 ldr.w r3, [pc, 0xc28]                             |     r3 = *(0x25b4);
    0x0000198c str r0, [sp, 0x44]                                |     var_44h = r0;
    0x0000198e ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00001990 mov r4, r3                                        |     r4 = r3;
    0x00001992 mov r0, r3                                        |     r0 = r3;
    0x00001994 str r3, [sp, 0x40]                                |     var_40h = r3;
    0x00001996 blx 0x10f0                                        |     r0 = ordered_hashmap_new ();
    0x0000199a mov r5, r0                                        |     r5 = r0;
    0x0000199c str r0, [sp, 0x2c]                                |     var_2ch = r0;
    0x0000199e mov r0, r4                                        |     r0 = r4;
    0x000019a0 blx 0x10f0                                        |     r0 = ordered_hashmap_new ();
    0x000019a4 mov sb, r0                                        |     sb = r0;
    0x000019a6 mov r0, r4                                        |     r0 = r4;
    0x000019a8 blx 0x10f0                                        |     ordered_hashmap_new ();
    0x000019ac cmp.w sb, 0                                       |     
    0x000019b0 it ne                                             |     
                                                                 |     if (sb != 0) {
    0x000019b2 cmpne r5, 0                                       |         __asm ("cmpne r5, 0");
                                                                 |     }
    0x000019b4 mov r3, r5                                        |     r3 = r5;
    0x000019b6 ite eq                                            |     
                                                                 |     if (sb != 0) {
    0x000019b8 moveq r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (sb == 0) {
    0x000019ba movne r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x000019bc cmp r0, 0                                         |     
    0x000019be it eq                                             |     
                                                                 |     if (r0 != 0) {
    0x000019c0 orreq r3, r3, 1                                   |         r3 |= 1;
                                                                 |     }
    0x000019c4 mov sl, r0                                        |     sl = r0;
    0x000019c6 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000019c8 bne.w 0x1c40                                      |         goto label_42;
                                                                 |     }
    0x000019cc str r3, [sp, 0x28]                                |     var_28h = r3;
    0x000019ce mov sl, sb                                        |     sl = sb;
    0x000019d0 ldr.w r3, [pc, 0xbe4]                             |     
    0x000019d4 str r0, [sp, 0x38]                                |     var_38h = r0;
    0x000019d6 add r3, pc                                        |     r3 = 0x3f92;
    0x000019d8 adds r3, 7                                        |     r3 += 7;
    0x000019da str r3, [sp, 0x54]                                |     var_54h = r3;
    0x000019dc ldr.w r3, [pc, 0xbdc]                             |     
    0x000019e0 add r3, pc                                        |     r3 = 0x3fa0;
    0x000019e2 adds r3, 7                                        |     r3 += 7;
    0x000019e4 str r3, [sp, 0x58]                                |     var_58h = r3;
    0x000019e6 ldr.w r3, [pc, 0xbd8]                             |     
    0x000019ea add r3, pc                                        |     r3 = 0x3fb0;
    0x000019ec str r3, [sp, 0x30]                                |     s = r3;
                                                                 | label_2:
    0x000019ee ldr r2, [sp, 0x24]                                |     r2 = s1;
    0x000019f0 mov.w r3, -1                                      |     r3 = -1;
    0x000019f4 ldr r1, [sp, 0x30]                                |     r1 = s;
    0x000019f6 movs r0, 0                                        |     r0 = 0;
    0x000019f8 blx 0x1090                                        |     r0 = path_extend_internal ();
    0x000019fc mov r7, r0                                        |     r7 = r0;
    0x000019fe cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001a00 beq.w 0x1c3a                                      |         goto label_43;
                                                                 |     }
    0x00001a04 movs r4, 0                                        |     r4 = 0;
    0x00001a06 strd r4, r4, [sp, 0x80]                           |     __asm ("strd r4, r4, [var_84h]");
    0x00001a0a blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001a0e cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00001a10 bgt.w 0x1fcc                                      |         goto label_44;
                                                                 |     }
                                                                 | label_12:
    0x00001a14 mov r0, r7                                        |     r0 = r7;
    0x00001a16 blx 0xf94                                         |     r0 = opendir ();
    0x00001a1a mov r6, r0                                        |     r6 = r0;
    0x00001a1c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001a1e beq.w 0x1d22                                      |         goto label_45;
                                                                 |     }
    0x00001a22 blx 0x121c                                        |     r0 = readdir_ensure_type ();
    0x00001a26 mov r4, r0                                        |     r4 = r0;
                                                                 |     if (r0 == 0) {
    0x00001a28 cbz r0, 0x1a92                                    |         goto label_46;
                                                                 |     }
    0x00001a2a ldr.w sb, [pc, 0xb98]                             |     
    0x00001a2e mov fp, r6                                        |     
    0x00001a30 ldr r6, [sp, 0x44]                                |     r6 = var_44h;
    0x00001a32 movs r5, 0                                        |     r5 = 0;
    0x00001a34 mov r8, r5                                        |     r8 = r5;
    0x00001a36 add r3, sp, 0x84                                  |     r3 += var_84h;
    0x00001a38 add sb, pc                                        |     sb = 0x4002;
    0x00001a3a strd r3, r7, [sp, 0x48]                           |     __asm ("strd r3, r7, [var_48h]");
    0x00001a3e str.w sl, [sp, 0x50]                              |     __asm ("str.w sl, [var_50h]");
                                                                 |     do {
                                                                 |         if (r6 != 0) {
    0x00001a42 cbz r6, 0x1a4c                                    |             
    0x00001a44 ldrb r7, [r4, 0x12]                               |             r7 = *((r4 + 0x12));
    0x00001a46 cmp r7, 4                                         |             
                                                                 |             if (r7 == 4) {
    0x00001a48 beq.w 0x1cde                                      |                 goto label_47;
                                                                 |             }
                                                                 |         }
                                                                 | label_1:
    0x00001a4c mov r0, r4                                        |         r0 = r4;
    0x00001a4e blx 0x11e0                                        |         r0 = dirent_is_file ();
                                                                 |         if (r0 != 0) {
    0x00001a52 cbz r0, 0x1a80                                    |             
    0x00001a54 movs r2, 4                                        |             r2 = 4;
    0x00001a56 adds r1, r5, 2                                    |             r1 = r5 + 2;
    0x00001a58 add r0, sp, 0x80                                  |             r0 += var_80h;
    0x00001a5a blx 0xfa0                                         |             r0 = greedy_realloc0 ();
    0x00001a5e cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x00001a60 beq.w 0x1ff4                                      |                 goto label_48;
                                                                 |             }
    0x00001a64 add.w r0, r4, 0x13                                |             r0 = r4 + 0x13;
    0x00001a68 ldr r4, [sp, 0x80]                                |             r4 = var_80h;
    0x00001a6a blx 0x10fc                                        |             strdup (r0);
    0x00001a6e str.w r0, [r4, r5, lsl 2]                         |             __asm ("str.w r0, [r4, r5, lsl 2]");
    0x00001a72 ldr r3, [sp, 0x80]                                |             r3 = var_80h;
    0x00001a74 ldr.w r3, [r3, r5, lsl 2]                         |             offset_0 = r5 << 2;
                                                                 |             r3 = *((r3 + offset_0));
    0x00001a78 cmp r3, 0                                         |             
                                                                 |             if (r3 == 0) {
    0x00001a7a beq.w 0x1ff4                                      |                 goto label_48;
                                                                 |             }
    0x00001a7e adds r5, 1                                        |             r5++;
                                                                 |         }
    0x00001a80 mov r0, fp                                        |         r0 = fp;
    0x00001a82 blx 0x121c                                        |         r0 = readdir_ensure_type ();
    0x00001a86 mov r4, r0                                        |         r4 = r0;
    0x00001a88 cmp r0, 0                                         |         
    0x00001a8a bne 0x1a42                                        |         
                                                                 |     } while (r0 != 0);
    0x00001a8c ldrd r7, sl, [sp, 0x4c]                           |     __asm ("ldrd r7, sl, [var_50h]");
    0x00001a90 mov r6, fp                                        |     r6 = fp;
                                                                 | label_46:
    0x00001a92 blx 0x1240                                        |     r0 = errno_location ();
    0x00001a96 ldr r3, [r0]                                      |     r3 = *(r0);
    0x00001a98 ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x00001a9a cmp r3, 0                                         |     
    0x00001a9c it gt                                             |     
                                                                 |     if (r3 > 0) {
    0x00001a9e rsbgt fp, r3, 0                                   |         __asm ("rsbgt fp, r3, 0");
                                                                 |     }
                                                                 |     if (r3 > 0) {
    0x00001aa2 bgt.w 0x1d52                                      |         goto label_7;
                                                                 |     }
    0x00001aa6 blx 0x1198                                        |     strv_sort ();
    0x00001aaa ldr r0, [sp, 0x80]                                |     r0 = var_80h;
    0x00001aac blx 0x1198                                        |     strv_sort ();
    0x00001ab0 ldr r3, [sp, 0x84]                                |     r3 = var_84h;
    0x00001ab2 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00001ab4 beq.w 0x22fe                                      |         goto label_49;
                                                                 |     }
    0x00001ab8 subs r3, 4                                        |     r3 -= 4;
    0x00001aba mov sb, r7                                        |     sb = r7;
    0x00001abc str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x00001abe ldr.w r3, [pc, 0xb08]                             |     
    0x00001ac2 str r6, [sp, 0x64]                                |     var_64h = r6;
    0x00001ac4 add r3, pc                                        |     r3 = 0x4092;
    0x00001ac6 adds r3, 7                                        |     r3 += 7;
    0x00001ac8 str r3, [sp, 0x60]                                |     var_60h = r3;
    0x00001aca ldr.w r3, [pc, 0xb00]                             |     
    0x00001ace add r3, pc                                        |     r3 = 0x40a0;
    0x00001ad0 adds r3, 7                                        |     r3 += 7;
    0x00001ad2 str r3, [sp, 0x5c]                                |     var_5ch = r3;
                                                                 | label_14:
    0x00001ad4 ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
    0x00001ad6 ldr r4, [r3, 4]!                                  |     r4 = *((r3 += 4));
    0x00001ada str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x00001adc cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x00001ade beq.w 0x22fa                                      |         goto label_50;
                                                                 |     }
    0x00001ae2 ldr.w r1, [pc, 0xaec]                             |     
    0x00001ae6 movs r3, 0                                        |     r3 = 0;
    0x00001ae8 mov r0, r4                                        |     r0 = r4;
    0x00001aea str r3, [sp, 0x8c]                                |     var_8ch = r3;
    0x00001aec add r1, pc                                        |     r1 = 0x40c2;
    0x00001aee blx 0x1138                                        |     r0 = endswith ();
    0x00001af2 mov r5, r0                                        |     r5 = r0;
    0x00001af4 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00001af6 bne.w 0x22d0                                      |         goto label_51;
                                                                 |     }
    0x00001afa mov.w r3, -1                                      |     r3 = -1;
    0x00001afe mov r2, r4                                        |     r2 = r4;
    0x00001b00 mov r1, sb                                        |     r1 = sb;
    0x00001b02 blx 0x1090                                        |     r0 = path_extend_internal ();
    0x00001b06 mov r7, r0                                        |     r7 = r0;
    0x00001b08 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001b0a beq.w 0x1fbc                                      |         goto label_52;
                                                                 |     }
    0x00001b0e blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001b12 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00001b14 bgt.w 0x2098                                      |         goto label_53;
                                                                 |     }
    0x00001b16 strh r0, [r0, 0x16]                               |     *((r0 + 0x16)) = r0;
                                                                 | label_13:
    0x00001b18 mov r0, r4                                        |     r0 = r4;
    0x00001b1a blx 0x10fc                                        |     r0 = strdup (r0);
    0x00001b1e mov r6, r0                                        |     r6 = r0;
    0x00001b20 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001b22 beq.w 0x1fbc                                      |         goto label_52;
                                                                 |     }
    0x00001b26 movs r1, 0x2e                                     |     r1 = 0x2e;
    0x00001b28 blx 0xfe8                                         |     r0 = strrchr (r0, r1);
    0x00001b2c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001b2e beq.w 0x2538                                      |         goto label_54;
                                                                 |     }
    0x00001b32 movs r3, 0                                        |     r3 = 0;
    0x00001b34 add r1, sp, 0x8c                                  |     r1 += var_8ch;
    0x00001b36 strb r3, [r0]                                     |     *(r0) = r3;
    0x00001b38 mov r0, r7                                        |     r0 = r7;
    0x00001b3a blx 0x112c                                        |     r0 = get_files_in_directory ();
    0x00001b3e subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00001b40 blt.w 0x201e                                      |         goto label_55;
                                                                 |     }
    0x00001b44 ldr r0, [sp, 0x8c]                                |     r0 = var_8ch;
    0x00001b46 blx 0x1198                                        |     strv_sort ();
    0x00001b4a ldr r3, [sp, 0x8c]                                |     r3 = var_8ch;
    0x00001b4c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00001b4e beq.w 0x20c6                                      |         goto label_37;
                                                                 |     }
    0x00001b52 ldr.w fp, [pc, 0xa80]                             |     
    0x00001b56 sub.w r8, r3, 4                                   |     r8 = r3 - 4;
    0x00001b5a ldr.w r3, [pc, 0xa7c]                             |     
    0x00001b5e add fp, pc                                        |     fp = 0x4138;
    0x00001b60 add r3, pc                                        |     r3 = 0x413e;
    0x00001b62 str r3, [sp, 0x50]                                |     var_50h = r3;
                                                                 |     do {
                                                                 | label_0:
    0x00001b64 ldr r4, [r8, 4]!                                  |         r4 = *((r8 += 4));
    0x00001b68 cmp r4, 0                                         |         
                                                                 |         if (r4 == 0) {
    0x00001b6a beq.w 0x20be                                      |             goto label_56;
                                                                 |         }
    0x00001b6e mov r1, fp                                        |         r1 = fp;
    0x00001b70 mov r0, r4                                        |         r0 = r4;
    0x00001b72 blx 0x1138                                        |         r0 = endswith ();
    0x00001b76 cmp r0, 0                                         |         
    0x00001b78 beq 0x1b64                                        |         
                                                                 |     } while (r0 == 0);
    0x00001b7a mov r2, r4                                        |     r2 = r4;
    0x00001b7c mov.w r3, -1                                      |     r3 = -1;
    0x00001b80 mov r1, r7                                        |     r1 = r7;
    0x00001b82 movs r0, 0                                        |     r0 = 0;
    0x00001b84 blx 0x1090                                        |     r0 = path_extend_internal ();
    0x00001b88 mov r4, r0                                        |     r4 = r0;
    0x00001b8a cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001b8c beq.w 0x226c                                      |         goto label_57;
                                                                 |     }
    0x00001b90 mov r0, sb                                        |     r0 = sb;
    0x00001b92 blx 0x1048                                        |     r0 = strlen (r0);
    0x00001b96 adds r5, r0, 1                                    |     r5 = r0 + 1;
    0x00001b98 blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001b9c cmp r0, 6                                         |     
    0x00001b9e add r5, r4                                        |     r5 += r4;
                                                                 |     if (r0 > 6) {
    0x00001ba0 bgt.w 0x1f30                                      |         goto label_58;
                                                                 |     }
                                                                 | label_9:
    0x00001ba4 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x00001ba6 mov r2, r4                                        |     r2 = r4;
    0x00001ba8 mov r1, r5                                        |     r1 = r5;
    0x00001baa blx 0x1108                                        |     r0 = hashmap_put ();
    0x00001bae subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 >= r0) {
    0x00001bb0 bge.w 0x1ee4                                      |         goto label_59;
                                                                 |     }
    0x00001bb4 cmn.w r3, 0x11                                    |     
                                                                 |     if (r3 != 0x11) {
    0x00001bb8 bne.w 0x2232                                      |         goto label_60;
                                                                 |     }
    0x00001bbc blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001bc0 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00001bc2 bgt.w 0x1f06                                      |         goto label_61;
                                                                 |     }
                                                                 | label_8:
    0x00001bc6 mov r1, r5                                        |     r1 = r5;
    0x00001bc8 mov r0, sl                                        |     r0 = sl;
    0x00001bca blx 0x1120                                        |     hashmap_remove ();
    0x00001bce blx 0x100c                                        |     free (r0);
    0x00001bd2 mov r2, r4                                        |     r2 = r4;
    0x00001bd4 mov r1, r5                                        |     r1 = r5;
    0x00001bd6 mov r0, sl                                        |     r0 = sl;
    0x00001bd8 blx 0x1108                                        |     r0 = hashmap_put ();
    0x00001bdc subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 < r0) {
    0x00001bde blt.w 0x2232                                      |         goto label_60;
                                                                 |     }
    0x00001be2 ldr r0, [sp, 0x38]                                |     r0 = var_38h;
    0x00001be4 mov r1, r6                                        |     r1 = r6;
    0x00001be6 blx 0x11d4                                        |     r0 = hashmap_get ();
    0x00001bea mov r5, r0                                        |     r5 = r0;
    0x00001bec cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001bee beq.w 0x1f96                                      |         goto label_62;
                                                                 |     }
                                                                 | label_11:
    0x00001bf2 mov r0, r4                                        |     r0 = r4;
    0x00001bf4 blx 0x10fc                                        |     r0 = strdup (r0);
    0x00001bf8 mov r4, r0                                        |     r4 = r0;
    0x00001bfa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001bfc beq.w 0x226c                                      |         goto label_57;
                                                                 |     }
    0x00001c00 blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001c04 cmp r0, 6                                         |     
                                                                 |     if (r0 > 6) {
    0x00001c06 bgt.w 0x1f60                                      |         goto label_63;
                                                                 |     }
                                                                 | label_10:
    0x00001c0a mov r0, r4                                        |     r0 = r4;
    0x00001c0c blx 0x1264                                        |     basename (r0);
    0x00001c10 mov r2, r4                                        |     r2 = r4;
    0x00001c12 mov r1, r0                                        |     r1 = r0;
    0x00001c14 mov r0, r5                                        |     r0 = r5;
    0x00001c16 blx 0x1108                                        |     r0 = hashmap_put ();
    0x00001c1a subs r3, r0, 0                                    |     r3 = r0 - 0;
                                                                 |     if (r3 >= r0) {
    0x00001c1c bge 0x1b64                                        |         goto label_0;
                                                                 |     }
    0x00001c1e mov r0, r4                                        |     r0 = r4;
    0x00001c20 str r3, [sp, 0x48]                                |     var_48h = r3;
    0x00001c22 blx 0x100c                                        |     free (r0);
    0x00001c26 ldr r3, [sp, 0x48]                                |     r3 = var_48h;
    0x00001c28 cmn.w r3, 0x11                                    |     
                                                                 |     if (r3 == 0x11) {
    0x00001c2c beq 0x1b64                                        |         goto label_0;
                                                                 |     }
    0x00001c2e mov r5, r7                                        |     r5 = r7;
    0x00001c30 mov r8, r6                                        |     r8 = r6;
    0x00001c32 mov fp, r3                                        |     
    0x00001c34 ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x00001c36 mov r7, sb                                        |     r7 = sb;
    0x00001c38 b 0x2048                                          |     goto label_19;
                                                                 | label_43:
    0x00001c3a mov sb, sl                                        |     sb = sl;
    0x00001c3c ldr.w sl, [sp, 0x38]                              |     sl = var_38h;
                                                                 | label_42:
    0x00001c40 mov.w fp, 0                                       |     
    0x00001c44 add r4, sp, 0x70                                  |     r4 += ptr;
    0x00001c46 mvn r3, 0xb                                       |     r3 = ~0xb;
    0x00001c4a str r3, [sp, 0x28]                                |     var_28h = r3;
                                                                 | label_26:
    0x00001c4c ldr.w r3, [pc, 0x98c]                             |     r3 = *(0x25dc);
    0x00001c50 movs r1, 0                                        |     r1 = 0;
    0x00001c52 ldr r2, [sp, 0x34]                                |     r2 = var_34h;
    0x00001c54 add r7, sp, 0x8c                                  |     r7 += var_8ch;
    0x00001c56 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
    0x00001c58 add r6, sp, 0x74                                  |     r6 += var_74h;
    0x00001c5a ldr r5, [r2, r3]                                  |     r5 = *((r2 + r3));
    0x00001c5c mov r2, r5                                        |     r2 = r5;
    0x00001c5e blx 0x11ec                                        |     hashmap_free ();
    0x00001c62 mov r2, r5                                        |     r2 = r5;
    0x00001c64 mov r0, sb                                        |     r0 = sb;
    0x00001c66 movs r1, 0                                        |     r1 = 0;
    0x00001c68 blx 0x11ec                                        |     hashmap_free ();
    0x00001c6c mvn r2, 1                                         |     r2 = ~1;
    0x00001c70 movs r3, 0                                        |     r3 = 0;
    0x00001c72 strd r2, r3, [sp, 0x8c]                           |     __asm ("strd r2, r3, [var_8ch]");
    0x00001c76 b 0x1c96                                          |     
                                                                 |     while (r0 != 0) {
    0x00001c78 ldr r1, [sp, 0x70]                                |         r1 = ptr;
    0x00001c7a mov r0, sl                                        |         r0 = sl;
    0x00001c7c blx 0x1120                                        |         hashmap_remove ();
    0x00001c80 mov r2, r5                                        |         r2 = r5;
    0x00001c82 movs r1, 0                                        |         r1 = 0;
    0x00001c84 blx 0x11ec                                        |         hashmap_free ();
    0x00001c88 ldr r1, [sp, 0x70]                                |         r1 = ptr;
    0x00001c8a mov r0, sl                                        |         r0 = sl;
    0x00001c8c blx 0x1120                                        |         hashmap_remove ();
    0x00001c90 ldr r0, [sp, 0x70]                                |         r0 = ptr;
    0x00001c92 blx 0x100c                                        |         free (r0);
    0x00001c96 mov r3, r4                                        |         r3 = r4;
    0x00001c98 mov r2, r6                                        |         r2 = r6;
    0x00001c9a mov r1, r7                                        |         r1 = r7;
    0x00001c9c mov r0, sl                                        |         r0 = sl;
    0x00001c9e blx 0x11c8                                        |         r0 = hashmap_iterate ();
    0x00001ca2 cmp r0, 0                                         |         
    0x00001ca4 bne 0x1c78                                        |         
                                                                 |     }
    0x00001ca6 ldr r2, [sp, 0x28]                                |     r2 = var_28h;
    0x00001ca8 mov r1, r0                                        |     r1 = r0;
    0x00001caa mov r3, r2                                        |     r3 = r2;
    0x00001cac cmp r2, 0                                         |     
    0x00001cae it eq                                             |     
                                                                 |     if (r2 != 0) {
    0x00001cb0 moveq r3, fp                                      |         r3 = fp;
                                                                 |     }
    0x00001cb2 mov r2, r0                                        |     r2 = r0;
    0x00001cb4 mov r0, sl                                        |     r0 = sl;
    0x00001cb6 str r3, [sp, 0x28]                                |     var_28h = r3;
    0x00001cb8 blx 0x11ec                                        |     hashmap_free ();
    0x00001cbc ldr.w r2, [pc, 0x920]                             |     r2 = *(0x000025e0);
    0x00001cc0 ldr.w r3, [pc, 0x8e0]                             |     r3 = *(0x25a4);
    0x00001cc4 add r2, pc                                        |     r2 += pc;
    0x00001cc6 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00001cc8 ldr r2, [r3]                                      |     r2 = *(0x25a4);
    0x00001cca ldr r3, [sp, 0x94]                                |     r3 = var_94h;
    0x00001ccc eors r2, r3                                       |     r2 ^= r3;
    0x00001cce mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00001cd2 bne.w 0x2566                                      |         goto label_64;
                                                                 |     }
    0x00001cd6 ldr r0, [sp, 0x28]                                |     r0 = var_28h;
    0x00001cd8 add sp, 0x9c                                      |     
    0x00001cda pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_47:
    0x00001cde add.w sl, r4, 0x13                                |     sl = r4 + 0x13;
    0x00001ce2 mov r1, sb                                        |     r1 = sb;
    0x00001ce4 mov r0, sl                                        |     r0 = sl;
    0x00001ce6 blx 0x1138                                        |     r0 = endswith ();
    0x00001cea cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001cec beq.w 0x1a4c                                      |         goto label_1;
                                                                 |     }
    0x00001cf0 ldr r0, [sp, 0x48]                                |     r0 = var_48h;
    0x00001cf2 mov r2, r7                                        |     r2 = r7;
    0x00001cf4 add.w r1, r8, 2                                   |     r1 = r8 + 2;
    0x00001cf8 blx 0xfa0                                         |     r0 = greedy_realloc0 ();
    0x00001cfc cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001cfe beq.w 0x1ff4                                      |         goto label_48;
                                                                 |     }
    0x00001d02 mov r0, sl                                        |     r0 = sl;
    0x00001d04 ldr.w sl, [sp, 0x84]                              |     sl = var_84h;
    0x00001d08 blx 0x10fc                                        |     strdup (r0);
    0x00001d0c str.w r0, [sl, r8, lsl 2]                         |     __asm ("str.w r0, [sl, r8, lsl 2]");
    0x00001d10 ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x00001d12 ldr.w r3, [r0, r8, lsl 2]                         |     offset_1 = r8 << 2;
                                                                 |     r3 = *((r0 + offset_1));
    0x00001d16 cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00001d18 beq.w 0x24d2                                      |         goto label_65;
                                                                 |     }
    0x00001d1c add.w r8, r8, 1                                   |     r8++;
    0x00001d20 b 0x1a4c                                          |     goto label_1;
                                                                 | label_45:
    0x00001d22 blx 0x1240                                        |     r0 = errno_location ();
    0x00001d26 ldr r4, [r0]                                      |     r4 = *(r0);
    0x00001d28 cmp r4, 2                                         |     
                                                                 |     if (r4 == 2) {
    0x00001d2a beq.w 0x1ede                                      |         goto label_66;
                                                                 |     }
    0x00001d2e blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001d32 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00001d34 bgt.w 0x20d4                                      |         goto label_67;
                                                                 |     }
    0x00001d38 eor.w r3, r4, r4, asr 31                          |     r3 = r4 ^ (r4 >> 31);
    0x00001d3c sub.w r3, r3, r4, asr 31                          |     r3 -= (r4 >> 31);
    0x00001d40 uxtb r3, r3                                       |     r3 = (int8_t) r3;
    0x00001d42 rsb.w fp, r3, 0                                   |     
                                                                 | label_15:
    0x00001d46 ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x00001d48 cmp.w fp, 0                                       |     
    0x00001d4c it ge                                             |     
                                                                 |     if (fp < 0) {
    0x00001d4e mvnge fp, 0x55                                    |         
                                                                 |     }
                                                                 |     if (r0 != 0) {
                                                                 | label_7:
    0x00001d52 cbz r0, 0x1d5a                                    |         
                                                                 | label_35:
    0x00001d54 blx 0x1060                                        |         strv_free ();
    0x00001d58 str r0, [sp, 0x84]                                |         var_84h = r0;
                                                                 |     }
    0x00001d5a ldr r0, [sp, 0x80]                                |     r0 = var_80h;
                                                                 |     if (r0 != 0) {
    0x00001d5c cbz r0, 0x1d64                                    |         
    0x00001d5e blx 0x1060                                        |         strv_free ();
    0x00001d62 str r0, [sp, 0x80]                                |         var_80h = r0;
                                                                 |     }
                                                                 |     if (r6 != 0) {
    0x00001d64 cbz r6, 0x1d6c                                    |         
                                                                 | label_38:
    0x00001d66 mov r0, r6                                        |         r0 = r6;
    0x00001d68 blx 0x10e4                                        |         closedir ();
                                                                 |     }
    0x00001d6c ldr r2, [sp, 0x28]                                |     r2 = var_28h;
    0x00001d6e mov r0, r7                                        |     r0 = r7;
    0x00001d70 mov r3, r2                                        |     r3 = r2;
    0x00001d72 cmp r2, 0                                         |     
    0x00001d74 it eq                                             |     
                                                                 |     if (r2 != 0) {
    0x00001d76 moveq r3, fp                                      |         r3 = fp;
                                                                 |     }
    0x00001d78 str r3, [sp, 0x28]                                |     var_28h = r3;
    0x00001d7a blx 0x100c                                        |     free (r0);
    0x00001d7e ldr r4, [sp, 0x30]                                |     r4 = s;
    0x00001d80 mov r0, r4                                        |     r0 = r4;
    0x00001d82 blx 0x1048                                        |     strlen (r0);
    0x00001d86 mov r3, r4                                        |     r3 = r4;
    0x00001d88 adds r0, 1                                        |     r0++;
    0x00001d8a add r3, r0                                        |     r3 += r0;
    0x00001d8c str r3, [sp, 0x30]                                |     s = r3;
    0x00001d8e ldrb r3, [r3]                                     |     r3 = *(r3);
    0x00001d90 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00001d92 bne.w 0x19ee                                      |         goto label_2;
                                                                 |     }
    0x00001d96 mov fp, r3                                        |     
    0x00001d98 str r3, [sp, 0x88]                                |     var_88h = r3;
    0x00001d9a mvn r3, 1                                         |     r3 = ~1;
    0x00001d9e mov sb, sl                                        |     sb = sl;
    0x00001da0 str r3, [sp, 0x84]                                |     var_84h = r3;
    0x00001da2 add r4, sp, 0x70                                  |     r4 += ptr;
    0x00001da4 ldr.w r3, [pc, 0x83c]                             |     r3 = *(0x000025e4);
    0x00001da8 ldr.w sl, [sp, 0x38]                              |     sl = var_38h;
    0x00001dac add r3, pc                                        |     r3 += pc;
    0x00001dae str r3, [sp, 0x54]                                |     var_54h = r3;
    0x00001db0 ldr.w r3, [pc, 0x834]                             |     
    0x00001db4 strd sb, sl, [sp, 0x48]                           |     __asm ("strd sb, sl, [var_48h]");
    0x00001db8 mov sl, r4                                        |     sl = r4;
    0x00001dba ldr r4, [sp, 0x3c]                                |     r4 = var_3ch;
    0x00001dbc add r3, pc                                        |     
    0x00001dbe str r3, [sp, 0x58]                                |     var_58h = r3;
    0x00001dc0 ldr.w r3, [pc, 0x828]                             |     r3 = *(0x000025ec);
    0x00001dc4 add r3, pc                                        |     r3 = 0x6170;
    0x00001dc6 str r3, [sp, 0x50]                                |     var_50h = r3;
    0x00001dc8 ldr.w r3, [pc, 0x824]                             |     
    0x00001dcc add r3, pc                                        |     r3 = 0x43c0;
    0x00001dce str r3, [sp, 0x38]                                |     var_38h = r3;
    0x00001dd0 add r3, sp, 0x84                                  |     r3 += var_84h;
    0x00001dd2 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x00001dd4 add r3, sp, 0x6c                                  |     r3 += var_6ch;
    0x00001dd6 str r3, [sp, 0x40]                                |     var_40h = r3;
                                                                 |     do {
                                                                 | label_16:
    0x00001dd8 ldrd r2, r1, [sp, 0x40]                           |         __asm ("ldrd r2, r1, [var_44h]");
    0x00001ddc mov r3, sl                                        |         r3 = sl;
    0x00001dde ldr r0, [sp, 0x2c]                                |         r0 = var_2ch;
    0x00001de0 blx 0x11c8                                        |         r0 = hashmap_iterate ();
    0x00001de4 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00001de6 beq.w 0x2468                                      |             goto label_68;
                                                                 |         }
    0x00001dea ldr r1, [sp, 0x70]                                |         r1 = ptr;
    0x00001dec ldr r0, [sp, 0x48]                                |         r0 = var_48h;
    0x00001dee blx 0x11d4                                        |         r0 = hashmap_get ();
    0x00001df2 mov r5, r0                                        |         r5 = r0;
    0x00001df4 str r0, [sp, 0x78]                                |         var_78h = r0;
    0x00001df6 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00001df8 beq.w 0x22e4                                      |             goto label_69;
                                                                 |         }
                                                                 |         if (r4 != 0) {
    0x00001dfc cbz r4, 0x1e06                                    |             
    0x00001dfe mov r1, r4                                        |             r1 = r4;
    0x00001e00 blx 0x1180                                        |             r0 = startswith ();
                                                                 |             if (r0 == 0) {
    0x00001e04 cbz r0, 0x1e30                                    |                 goto label_17;
                                                                 |             }
                                                                 |         }
    0x00001e06 ldr r7, [sp, 0x6c]                                |         r7 = var_6ch;
    0x00001e08 mov r0, r5                                        |         r0 = r5;
    0x00001e0a mov r1, r7                                        |         r1 = r7;
    0x00001e0c blx 0x1174                                        |         r0 = path_compare ();
    0x00001e10 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00001e12 bne.w 0x2104                                      |             goto label_70;
                                                                 |         }
    0x00001e16 ldr.w r3, [pc, 0x7dc]                             |         r3 = *(0x000025f4);
    0x00001e1a add r3, pc                                        |         r3 += pc;
    0x00001e1c ldr r3, [r3]                                      |         r3 = *(r3);
    0x00001e1e lsls r0, r3, 0x1b                                 |         r0 = r3 << 0x1b;
                                                                 |         if (r0 < r3) {
    0x00001e20 bpl 0x1e30                                        |             
    0x00001e22 ldr.w r1, [pc, 0x7d4]                             |             
    0x00001e26 mov r2, r7                                        |             r2 = r7;
    0x00001e28 movs r0, 1                                        |             r0 = 1;
    0x00001e2a add r1, pc                                        |             r1 = 0x4428;
    0x00001e2c blx 0xfdc                                         |             printf_chk ()
                                                                 |         }
                                                                 | label_17:
    0x00001e30 ldr r1, [sp, 0x70]                                |         r1 = ptr;
    0x00001e32 ldr r0, [sp, 0x4c]                                |         r0 = var_4ch;
    0x00001e34 blx 0x11d4                                        |         hashmap_get ();
    0x00001e38 str r0, [sp, 0x74]                                |         var_74h = r0;
    0x00001e3a cmp r0, 0                                         |         
    0x00001e3c beq 0x1dd8                                        |         
                                                                 |     } while (r0 == 0);
    0x00001e3e movs r3, 0                                        |     r3 = 0;
    0x00001e40 mvn r5, 1                                         |     r5 = ~1;
    0x00001e44 strd r5, r3, [sp, 0x8c]                           |     __asm ("strd r5, r3, [var_8ch]");
    0x00001e48 add r6, sp, 0x8c                                  |     r6 += var_8ch;
    0x00001e4a ldr.w r3, [pc, 0x7b0]                             |     
    0x00001e4e add r7, sp, 0x78                                  |     r7 += var_78h;
    0x00001e50 ldr.w sb, [sp, 0x50]                              |     sb = var_50h;
    0x00001e54 str.w sl, [sp, 0x3c]                              |     __asm ("str.w sl, [var_3ch]");
    0x00001e58 add r3, pc                                        |     r3 = 0x445a;
    0x00001e5a str r3, [sp, 0x30]                                |     s = r3;
    0x00001e5c b 0x1e94                                          |     goto label_71;
                                                                 | label_4:
    0x00001e5e ldr.w r8, [pc, 0x7a0]                             |     
    0x00001e62 add r8, pc                                        |     r8 = 0x4468;
    0x00001e64 blx 0x109c                                        |     r0 = get_color_mode ();
    0x00001e68 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00001e6a bne 0x1ed6                                        |         goto label_72;
                                                                 |     }
                                                                 | label_5:
    0x00001e6c ldr.w sl, [pc, 0x794]                             |     
    0x00001e70 add sl, pc                                        |     sl = 0x4478;
                                                                 | label_6:
    0x00001e72 movs r0, 0xd                                      |     r0 = 0xd;
    0x00001e74 add.w fp, fp, 1                                   |     
    0x00001e78 blx 0x127c                                        |     special_glyph ();
    0x00001e7c ldr r3, [sp, 0x24]                                |     r3 = s1;
    0x00001e7e mov r2, r8                                        |     r2 = r8;
    0x00001e80 strd r0, r5, [sp, 8]                              |     __asm ("strd r0, r5, [var_8h]");
    0x00001e84 movs r0, 1                                        |     r0 = 1;
    0x00001e86 ldr r1, [sp, 0x30]                                |     r1 = s;
    0x00001e88 strd sl, r3, [sp]                                 |     __asm ("strd sl, r3, [sp]");
    0x00001e8c ldr r3, [sp, 0x38]                                |     r3 = var_38h;
    0x00001e8e blx 0xfdc                                         |     printf_chk ()
                                                                 |     do {
                                                                 | label_3:
    0x00001e92 ldr r0, [sp, 0x74]                                |         r0 = var_74h;
                                                                 | label_71:
    0x00001e94 movs r3, 0                                        |         r3 = 0;
    0x00001e96 mov r2, r7                                        |         r2 = r7;
    0x00001e98 mov r1, r6                                        |         r1 = r6;
    0x00001e9a blx 0x11c8                                        |         r0 = hashmap_iterate ();
    0x00001e9e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00001ea0 beq.w 0x20fe                                      |             goto label_73;
                                                                 |         }
    0x00001ea4 ldr r5, [sp, 0x78]                                |         r5 = var_78h;
                                                                 |         if (r4 == 0) {
    0x00001ea6 cbz r4, 0x1eb4                                    |             goto label_74;
                                                                 |         }
    0x00001ea8 mov r1, r4                                        |         r1 = r4;
    0x00001eaa mov r0, r5                                        |         r0 = r5;
    0x00001eac blx 0x1180                                        |         r0 = startswith ();
    0x00001eb0 cmp r0, 0                                         |         
    0x00001eb2 beq 0x1e92                                        |         
                                                                 |     } while (r0 == 0);
                                                                 | label_74:
    0x00001eb4 ldr.w r3, [sb]                                    |     r3 = *(sb);
    0x00001eb8 lsls r1, r3, 0x1a                                 |     r1 = r3 << 0x1a;
                                                                 |     if (r1 >= r3) {
    0x00001eba bpl 0x1e92                                        |         goto label_3;
                                                                 |     }
    0x00001ebc ldr r3, [sp, 0x6c]                                |     r3 = var_6ch;
    0x00001ebe str r3, [sp, 0x24]                                |     s1 = r3;
    0x00001ec0 blx 0x109c                                        |     r0 = get_color_mode ();
    0x00001ec4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001ec6 beq 0x1e5e                                        |         goto label_4;
                                                                 |     }
    0x00001ec8 ldr.w r8, [pc, 0x73c]                             |     
    0x00001ecc add r8, pc                                        |     r8 = 0x44d8;
    0x00001ece blx 0x109c                                        |     r0 = get_color_mode ();
    0x00001ed2 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001ed4 beq 0x1e6c                                        |         goto label_5;
                                                                 |     }
                                                                 | label_72:
    0x00001ed6 ldr.w sl, [pc, 0x734]                             |     
    0x00001eda add sl, pc                                        |     sl = 0x44ec;
    0x00001edc b 0x1e72                                          |     goto label_6;
                                                                 | label_66:
    0x00001ede ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x00001ee0 mov fp, r6                                        |     
    0x00001ee2 b 0x1d52                                          |     goto label_7;
                                                                 | label_59:
    0x00001ee4 mov r0, r4                                        |     r0 = r4;
    0x00001ee6 blx 0x10fc                                        |     r0 = strdup (r0);
    0x00001eea mov r4, r0                                        |     r4 = r0;
    0x00001eec cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001eee beq.w 0x226c                                      |         goto label_57;
                                                                 |     }
    0x00001ef2 mov r0, sb                                        |     r0 = sb;
    0x00001ef4 blx 0x1048                                        |     r0 = strlen (r0);
    0x00001ef8 adds r5, r0, 1                                    |     r5 = r0 + 1;
    0x00001efa blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00001efe cmp r0, 6                                         |     
    0x00001f00 add r5, r4                                        |     r5 += r4;
                                                                 |     if (r0 <= 6) {
    0x00001f02 ble.w 0x1bc6                                      |         goto label_8;
                                                                 |     }
                                                                 | label_61:
    0x00001f06 movs r0, 0xd                                      |     r0 = 0xd;
    0x00001f08 blx 0x127c                                        |     special_glyph ();
    0x00001f0c ldr.w r3, [pc, 0x700]                             |     
    0x00001f10 movs r1, 0                                        |     r1 = 0;
    0x00001f12 strd r0, r4, [sp, 0xc]                            |     __asm ("strd r0, r4, [var_10h]");
    0x00001f16 movs r0, 7                                        |     r0 = 7;
    0x00001f18 ldr r2, [sp, 0x5c]                                |     r2 = var_5ch;
    0x00001f1a add r3, pc                                        |     r3 = 0x452e;
    0x00001f1c str r5, [sp, 8]                                   |     var_8h = r5;
    0x00001f1e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001f20 ldr.w r3, [pc, 0x6f0]                             |     
    0x00001f24 add r3, pc                                        |     r3 = 0x453c;
    0x00001f26 str r3, [sp]                                      |     *(sp) = r3;
    0x00001f28 movs r3, 0xfa                                     |     r3 = 0xfa;
    0x00001f2a blx 0x1144                                        |     log_internal ();
    0x00001f2e b 0x1bc6                                          |     goto label_8;
                                                                 | label_58:
    0x00001f30 movs r0, 0xd                                      |     r0 = 0xd;
    0x00001f32 blx 0x127c                                        |     special_glyph ();
    0x00001f36 ldr.w r3, [pc, 0x6e0]                             |     
    0x00001f3a movs r1, 0                                        |     r1 = 0;
    0x00001f3c ldr.w r2, [pc, 0x6dc]                             |     
    0x00001f40 strd r0, r4, [sp, 0xc]                            |     __asm ("strd r0, r4, [var_10h]");
    0x00001f44 movs r0, 7                                        |     r0 = 7;
    0x00001f46 add r3, pc                                        |     r3 = 0x4564;
    0x00001f48 str r5, [sp, 8]                                   |     var_8h = r5;
    0x00001f4a str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001f4c add r2, pc                                        |     r2 = 0x456c;
    0x00001f4e ldr.w r3, [pc, 0x6d0]                             |     
    0x00001f52 adds r2, 7                                        |     r2 += 7;
    0x00001f54 add r3, pc                                        |     r3 = 0x457a;
    0x00001f56 str r3, [sp]                                      |     *(sp) = r3;
    0x00001f58 movs r3, 0xee                                     |     r3 = 0xee;
    0x00001f5a blx 0x1144                                        |     log_internal ();
    0x00001f5e b 0x1ba4                                          |     goto label_9;
                                                                 | label_63:
    0x00001f60 movs r0, 0xd                                      |     r0 = 0xd;
    0x00001f62 blx 0x127c                                        |     special_glyph ();
    0x00001f66 str r0, [sp, 0x48]                                |     var_48h = r0;
    0x00001f68 mov r0, r4                                        |     r0 = r4;
    0x00001f6a blx 0x1264                                        |     basename (r0);
    0x00001f6e ldr r3, [sp, 0x48]                                |     r3 = var_48h;
    0x00001f70 movs r1, 0                                        |     r1 = 0;
    0x00001f72 str r0, [sp, 0x10]                                |     var_10h = r0;
    0x00001f74 movs r0, 7                                        |     r0 = 7;
    0x00001f76 ldr r2, [sp, 0x60]                                |     r2 = var_60h;
    0x00001f78 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x00001f7a strd r6, r3, [sp, 8]                              |     __asm ("strd r6, r3, [var_8h]");
    0x00001f7e ldr r3, [sp, 0x50]                                |     r3 = var_50h;
    0x00001f80 str r4, [sp, 0x18]                                |     var_18h = r4;
    0x00001f82 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001f84 ldr.w r3, [pc, 0x69c]                             |     
    0x00001f88 add r3, pc                                        |     r3 = 0x45b0;
    0x00001f8a str r3, [sp]                                      |     *(sp) = r3;
    0x00001f8c movw r3, 0x111                                    |     r3 = 0x111;
    0x00001f90 blx 0x1144                                        |     log_internal ();
    0x00001f94 b 0x1c0a                                          |     goto label_10;
                                                                 | label_62:
    0x00001f96 ldr r0, [sp, 0x40]                                |     r0 = var_40h;
    0x00001f98 blx 0x10f0                                        |     r0 = ordered_hashmap_new ();
    0x00001f9c mov r5, r0                                        |     r5 = r0;
    0x00001f9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00001fa0 beq.w 0x226c                                      |         goto label_57;
                                                                 |     }
    0x00001fa4 mov r1, r6                                        |     r1 = r6;
    0x00001fa6 mov r2, r0                                        |     r2 = r0;
    0x00001fa8 ldr r0, [sp, 0x38]                                |     r0 = var_38h;
    0x00001faa blx 0x1108                                        |     hashmap_put ();
    0x00001fae mov r0, r6                                        |     r0 = r6;
    0x00001fb0 blx 0x10fc                                        |     r0 = strdup (r0);
    0x00001fb4 mov r6, r0                                        |     r6 = r0;
    0x00001fb6 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00001fb8 bne.w 0x1bf2                                      |         goto label_11;
                                                                 |     }
                                                                 | label_52:
    0x00001fbc mov r5, r7                                        |     r5 = r7;
    0x00001fbe ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x00001fc0 mov r7, sb                                        |     r7 = sb;
    0x00001fc2 mov.w r8, 0                                       |     r8 = 0;
    0x00001fc6 mvn fp, 0xb                                       |     
    0x00001fca b 0x2048                                          |     goto label_19;
                                                                 | label_44:
    0x00001fcc ldr.w r3, [pc, 0x658]                             |     
    0x00001fd0 mov r1, r4                                        |     r1 = r4;
    0x00001fd2 ldr.w r2, [pc, 0x658]                             |     
    0x00001fd6 movs r0, 7                                        |     r0 = 7;
    0x00001fd8 str r7, [sp, 8]                                   |     var_8h = r7;
    0x00001fda add r3, pc                                        |     r3 = 0x4606;
    0x00001fdc str r3, [sp, 4]                                   |     var_4h = r3;
    0x00001fde add r2, pc                                        |     r2 = 0x4610;
    0x00001fe0 ldr.w r3, [pc, 0x64c]                             |     
    0x00001fe4 adds r2, 7                                        |     r2 += 7;
    0x00001fe6 add r3, pc                                        |     r3 = 0x461a;
    0x00001fe8 str r3, [sp]                                      |     *(sp) = r3;
    0x00001fea movw r3, 0x12f                                    |     r3 = 0x12f;
    0x00001fee blx 0x1144                                        |     log_internal ();
    0x00001ff2 b 0x1a14                                          |     goto label_12;
                                                                 | label_48:
    0x00001ff4 mov r6, fp                                        |     r6 = fp;
    0x00001ff6 ldrd r7, sl, [sp, 0x4c]                           |     __asm ("ldrd r7, sl, [var_50h]");
    0x00001ffa ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x00001ffc mvn fp, 0xb                                       |     
    0x00002000 b 0x1d52                                          |     goto label_7;
                                                                 | label_39:
    0x00002002 ldr.w r1, [pc, 0x630]                             |     
    0x00002006 mov.w r2, 0x198                                   |     r2 = 0x198;
    0x0000200a ldr.w r3, [pc, 0x62c]                             |     
    0x0000200e ldr.w r0, [pc, 0x62c]                             |     
    0x00002012 add r1, pc                                        |     r1 = 0x464c;
    0x00002014 add r3, pc                                        |     r3 = 0x4652;
    0x00002016 adds r1, 7                                        |     r1 += 7;
    0x00002018 add r0, pc                                        |     r0 = 0x465a;
    0x0000201a blx 0x1078                                        |     log_assert_failed ();
                                                                 | label_55:
    0x0000201e blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x00002022 cmp r0, 2                                         |     
    0x00002024 mov r5, r7                                        |     r5 = r7;
    0x00002026 it le                                             |     
                                                                 |     if (r0 <= 2) {
    0x00002028 rsble r3, r4, 0                                   |         __asm ("rsble r3, r4, 0");
                                                                 |     }
    0x0000202a mov r8, r6                                        |     r8 = r6;
    0x0000202c it le                                             |     
                                                                 |     if (r0 <= 2) {
    0x0000202e uxtble r3, r3                                     |         __asm ("uxtble r3, r3");
                                                                 |     }
    0x00002030 ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x00002032 mov r7, sb                                        |     r7 = sb;
    0x00002034 it le                                             |     
                                                                 |     if (r0 <= 2) {
    0x00002036 rsble fp, r3, 0                                   |         __asm ("rsble fp, r3, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0000203a bgt.w 0x2244                                      |         goto label_75;
                                                                 |     }
                                                                 | label_18:
    0x0000203e cmp.w fp, 0                                       |     
    0x00002042 it ge                                             |     
    0x00002044 mvnge fp, 0x55                                    |     
                                                                 |     while (1) {
                                                                 | label_19:
    0x00002048 ldr r0, [sp, 0x8c]                                |         r0 = var_8ch;
    0x0000204a cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x0000204c bne.w 0x255a                                      |             goto label_76;
                                                                 |         }
                                                                 | label_36:
    0x00002050 mov r0, r5                                        |         r0 = r5;
    0x00002052 blx 0x100c                                        |         free (r0);
    0x00002056 mov r0, r8                                        |         r0 = r8;
    0x00002058 blx 0x100c                                        |         free (r0);
    0x0000205c ldr r0, [sp, 0x84]                                |         r0 = var_84h;
    0x0000205e b 0x1d52                                          |         goto label_7;
                                                                 | label_40:
    0x00002060 ldr.w r1, [pc, 0x5dc]                             |         
    0x00002064 movw r2, 0x199                                    |         r2 = 0x199;
    0x00002068 ldr.w r3, [pc, 0x5d8]                             |         
    0x0000206c ldr.w r0, [pc, 0x5d8]                             |         
    0x00002070 add r1, pc                                        |         r1 = 0x46b4;
    0x00002072 add r3, pc                                        |         r3 = 0x46ba;
    0x00002074 adds r1, 7                                        |         r1 += 7;
    0x00002076 add r0, pc                                        |         r0 = 0x46c2;
    0x00002078 blx 0x1078                                        |         log_assert_failed ();
                                                                 | label_41:
    0x0000207c ldr.w r1, [pc, 0x5cc]                             |         
    0x00002080 mov.w r2, 0x19a                                   |         r2 = 0x19a;
    0x00002084 ldr.w r3, [pc, 0x5c8]                             |         
    0x00002088 ldr.w r0, [pc, 0x5c8]                             |         
    0x0000208c add r1, pc                                        |         r1 = 0x46dc;
    0x0000208e add r3, pc                                        |         r3 = 0x46e2;
    0x00002090 adds r1, 7                                        |         r1 += 7;
    0x00002092 add r0, pc                                        |         r0 = 0x46ea;
    0x00002094 blx 0x1078                                        |         log_assert_failed ();
                                                                 | label_53:
    0x00002098 ldr.w r3, [pc, 0x5bc]                             |         
    0x0000209c mov r1, r5                                        |         r1 = r5;
    0x0000209e ldr.w r2, [pc, 0x5bc]                             |         
    0x000020a2 movs r0, 7                                        |         r0 = 7;
    0x000020a4 str r7, [sp, 8]                                   |         var_8h = r7;
    0x000020a6 add r3, pc                                        |         r3 = 0x4702;
    0x000020a8 str r3, [sp, 4]                                   |         var_4h = r3;
    0x000020aa add r2, pc                                        |         r2 = 0x470c;
    0x000020ac ldr.w r3, [pc, 0x5b0]                             |         
    0x000020b0 adds r2, 7                                        |         r2 += 7;
    0x000020b2 add r3, pc                                        |         r3 = 0x4716;
    0x000020b4 str r3, [sp]                                      |         *(sp) = r3;
    0x000020b6 movs r3, 0xcf                                     |         r3 = 0xcf;
    0x000020b8 blx 0x1144                                        |         log_internal ();
    0x000020bc b 0x1b18                                          |         goto label_13;
                                                                 | label_56:
    0x000020be ldr r0, [sp, 0x8c]                                |         r0 = var_8ch;
    0x000020c0 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x000020c2 bne.w 0x2560                                      |             goto label_77;
                                                                 |         }
                                                                 | label_37:
    0x000020c6 mov r0, r7                                        |         r0 = r7;
    0x000020c8 blx 0x100c                                        |         free (r0);
    0x000020cc mov r0, r6                                        |         r0 = r6;
    0x000020ce blx 0x100c                                        |         free (r0);
    0x000020d2 b 0x1ad4                                          |         goto label_14;
                                                                 | label_67:
    0x000020d4 ldr.w r3, [pc, 0x58c]                             |         
    0x000020d8 mov r1, r4                                        |         r1 = r4;
    0x000020da ldr.w r2, [pc, 0x58c]                             |         
    0x000020de movs r0, 3                                        |         r0 = 3;
    0x000020e0 str r7, [sp, 8]                                   |         var_8h = r7;
    0x000020e2 add r3, pc                                        |         r3 = 0x474a;
    0x000020e4 str r3, [sp, 4]                                   |         var_4h = r3;
    0x000020e6 add r2, pc                                        |         r2 = 0x4754;
    0x000020e8 ldr.w r3, [pc, 0x580]                             |         
    0x000020ec adds r2, 7                                        |         r2 += 7;
    0x000020ee add r3, pc                                        |         r3 = 0x475e;
    0x000020f0 str r3, [sp]                                      |         *(sp) = r3;
    0x000020f2 mov.w r3, 0x136                                   |         r3 = 0x136;
    0x000020f6 blx 0x1144                                        |         r0 = log_internal ();
    0x000020fa mov fp, r0                                        |         
    0x000020fc b 0x1d46                                          |         goto label_15;
                                                                 | label_73:
    0x000020fe ldr.w sl, [sp, 0x3c]                              |         sl = var_3ch;
    0x00002102 b 0x1dd8                                          |         goto label_16;
                                                                 | label_70:
    0x00002104 movs r6, 0                                        |         r6 = 0;
    0x00002106 str r6, [sp, 0x7c]                                |         var_7ch = r6;
    0x00002108 cmp r7, 0                                         |         
                                                                 |         if (r7 == 0) {
    0x0000210a beq.w 0x24de                                      |             goto label_78;
                                                                 |         }
    0x0000210e mov r0, r7                                        |         r0 = r7;
    0x00002110 blx 0x1258                                        |         r0 = null_or_empty_path ();
    0x00002114 cmp r0, 0                                         |         
                                                                 |         if (r0 > 0) {
    0x00002116 bgt.w 0x227a                                      |             goto label_79;
                                                                 |         }
    0x0000211a add r1, sp, 0x7c                                  |         r1 += var_7ch;
    0x0000211c mov r0, r7                                        |         r0 = r7;
    0x0000211e blx 0x11b0                                        |         r0 = readlink_malloc ();
    0x00002122 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00002124 blt.w 0x240c                                      |             goto label_80;
                                                                 |         }
    0x00002128 ldr r0, [sp, 0x7c]                                |         r0 = var_7ch;
    0x0000212a add r3, sp, 0x80                                  |         r3 += var_80h;
    0x0000212c movs r2, 0x10                                     |         r2 = 0x10;
    0x0000212e mov r1, r6                                        |         r1 = r6;
    0x00002130 str r6, [sp]                                      |         *(sp) = r6;
    0x00002132 str r6, [sp, 0x80]                                |         var_80h = r6;
    0x00002134 str r6, [sp, 0x8c]                                |         var_8ch = r6;
    0x00002136 blx 0xfb8                                         |         r0 = chase_symlinks ();
    0x0000213a cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000213c blt.w 0x2476                                      |             goto label_81;
                                                                 |         }
    0x00002140 mov r1, r6                                        |         r1 = r6;
    0x00002142 add r3, sp, 0x8c                                  |         r3 += var_8ch;
    0x00002144 movs r2, 0x10                                     |         r2 = 0x10;
    0x00002146 mov r0, r5                                        |         r0 = r5;
    0x00002148 str r6, [sp]                                      |         *(sp) = r6;
    0x0000214a blx 0xfb8                                         |         r0 = chase_symlinks ();
    0x0000214e cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00002150 blt.w 0x2476                                      |             goto label_81;
                                                                 |         }
    0x00002154 ldr.w r8, [sp, 0x8c]                              |         r8 = var_8ch;
    0x00002158 ldr r0, [sp, 0x80]                                |         r0 = var_80h;
    0x0000215a mov r1, r8                                        |         r1 = r8;
    0x0000215c blx 0x1174                                        |         r0 = path_compare ();
    0x00002160 mov r6, r0                                        |         r6 = r0;
    0x00002162 mov r0, r8                                        |         r0 = r8;
    0x00002164 blx 0x100c                                        |         free (r0);
    0x00002168 ldr r0, [sp, 0x80]                                |         r0 = var_80h;
    0x0000216a blx 0x100c                                        |         free (r0);
    0x0000216e ldr.w r3, [pc, 0x500]                             |         r3 = *(0x00002670);
    0x00002172 add r3, pc                                        |         r3 += pc;
    0x00002174 ldr r3, [r3]                                      |         r3 = *(r3);
    0x00002176 cmp r6, 0                                         |         
                                                                 |         if (r6 != 0) {
    0x00002178 bne.w 0x2482                                      |             goto label_82;
                                                                 |         }
    0x0000217c lsls r2, r3, 0x1e                                 |         r2 = r3 << 0x1e;
                                                                 |         if (r2 < r3) {
    0x0000217e bpl 0x222a                                        |             
    0x00002180 blx 0x109c                                        |             r0 = get_color_mode ();
    0x00002184 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x00002186 bne.w 0x2524                                      |                 goto label_83;
                                                                 |             }
    0x0000218a ldr.w r6, [pc, 0x4e8]                             |             
    0x0000218e add r6, pc                                        |             r6 = 0x4808;
                                                                 | label_33:
    0x00002190 blx 0x109c                                        |             r0 = get_color_mode ();
    0x00002194 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x00002196 bne.w 0x251c                                      |                 goto label_84;
                                                                 |             }
    0x0000219a ldr.w r8, [pc, 0x4dc]                             |             
    0x0000219e add r8, pc                                        |             r8 = 0x481c;
                                                                 | label_32:
    0x000021a0 movs r0, 0xd                                      |             r0 = 0xd;
    0x000021a2 add.w fp, fp, 1                                   |             
    0x000021a6 blx 0x127c                                        |             special_glyph ();
    0x000021aa ldr.w r3, [pc, 0x4d0]                             |             
    0x000021ae mov r2, r6                                        |             r2 = r6;
    0x000021b0 ldr.w r1, [pc, 0x4cc]                             |             
    0x000021b4 strd r0, r5, [sp, 8]                              |             __asm ("strd r0, r5, [var_8h]");
    0x000021b8 movs r0, 1                                        |             r0 = 1;
    0x000021ba add r3, pc                                        |             r3 = 0x483c;
    0x000021bc strd r8, r7, [sp]                                 |             __asm ("strd r8, r7, [sp]");
    0x000021c0 add r1, pc                                        |             r1 = 0x4844;
    0x000021c2 blx 0xfdc                                         |             printf_chk ()
    0x000021c6 ldr r0, [sp, 0x7c]                                |             r0 = var_7ch;
    0x000021c8 blx 0x100c                                        |             free (r0);
    0x000021cc b 0x1e30                                          |             goto label_17;
                                                                 | label_24:
    0x000021ce ldr.w r3, [pc, 0x4b4]                             |             r3 = *(0x00002684);
    0x000021d2 add r3, pc                                        |             r3 += pc;
    0x000021d4 ldr r3, [r3]                                      |             r3 = *(r3);
                                                                 |             if (r3 == 0) {
    0x000021d6 cbz r3, 0x222a                                    |                 goto label_20;
                                                                 |             }
                                                                 | label_25:
    0x000021d8 ldr.w r3, [pc, 0x4ac]                             |             r3 = *(0x2688);
    0x000021dc movs r0, 0xa                                      |             r0 = 0xa;
    0x000021de ldr r2, [sp, 0x34]                                |             r2 = var_34h;
    0x000021e0 add r6, sp, 0x8c                                  |             r6 += var_8ch;
    0x000021e2 ldr.w r8, [r2, r3]                                |             r8 = *((r2 + r3));
    0x000021e6 ldr.w r1, [r8]                                    |             r1 = *(r8);
    0x000021ea blx 0x11a4                                        |             putc (r0, r1);
    0x000021ee ldr.w r0, [r8]                                    |             r0 = *(r8);
    0x000021f2 blx 0x103c                                        |             fflush (r0);
    0x000021f6 movs r2, 0                                        |             r2 = 0;
    0x000021f8 ldr r0, [sp, 0x58]                                |             r0 = var_58h;
    0x000021fa movw r3, 0x447                                    |             r3 = 0x447;
    0x000021fe mov r1, r2                                        |             r1 = r2;
    0x00002200 str r6, [sp]                                      |             *(sp) = r6;
    0x00002202 blx 0x1168                                        |             r0 = safe_fork_full ();
    0x00002206 cmp r0, 0                                         |             
                                                                 |             if (r0 < 0) {
    0x00002208 blt.w 0x2546                                      |                 goto label_85;
                                                                 |             }
                                                                 |             if (r0 == 0) {
    0x0000220c beq.w 0x256a                                      |                 goto label_86;
                                                                 |             }
    0x00002210 add fp, r0                                        |             
    0x00002212 ldr.w r0, [pc, 0x478]                             |             
    0x00002216 ldr r1, [sp, 0x8c]                                |             r1 = var_8ch;
    0x00002218 movs r2, 1                                        |             r2 = 1;
    0x0000221a add r0, pc                                        |             r0 = 0x48ac;
    0x0000221c blx 0x106c                                        |             wait_for_terminate_and_check ();
    0x00002220 ldr.w r1, [r8]                                    |             r1 = *(r8);
    0x00002224 movs r0, 0xa                                      |             r0 = 0xa;
    0x00002226 blx 0x11a4                                        |             putc (r0, r1);
                                                                 |         }
                                                                 | label_20:
    0x0000222a ldr r0, [sp, 0x7c]                                |         r0 = var_7ch;
    0x0000222c blx 0x100c                                        |         free (r0);
    0x00002230 b 0x1e30                                          |         goto label_17;
                                                                 | label_60:
    0x00002232 mov r0, r4                                        |         r0 = r4;
    0x00002234 mov r5, r7                                        |         r5 = r7;
    0x00002236 mov r8, r6                                        |         r8 = r6;
    0x00002238 mov fp, r3                                        |         
    0x0000223a ldr r6, [sp, 0x64]                                |         r6 = var_64h;
    0x0000223c mov r7, sb                                        |         r7 = sb;
    0x0000223e blx 0x100c                                        |         free (r0);
    0x00002242 b 0x2048                                          |         
                                                                 |     }
                                                                 | label_75:
    0x00002244 ldr.w r3, [pc, 0x448]                             |     
    0x00002248 mov r1, r4                                        |     r1 = r4;
    0x0000224a ldr.w r2, [pc, 0x448]                             |     
    0x0000224e movs r0, 3                                        |     r0 = 3;
    0x00002250 str r5, [sp, 8]                                   |     var_8h = r5;
    0x00002252 add r3, pc                                        |     r3 = 0x48e6;
    0x00002254 str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002256 add r2, pc                                        |     r2 = 0x48f0;
    0x00002258 ldr.w r3, [pc, 0x43c]                             |     
    0x0000225c adds r2, 7                                        |     r2 += 7;
    0x0000225e add r3, pc                                        |     r3 = 0x48fa;
    0x00002260 str r3, [sp]                                      |     *(sp) = r3;
    0x00002262 movs r3, 0xdc                                     |     r3 = 0xdc;
    0x00002264 blx 0x1144                                        |     r0 = log_internal ();
    0x00002268 mov fp, r0                                        |     
    0x0000226a b 0x203e                                          |     goto label_18;
                                                                 | label_57:
    0x0000226c mov r5, r7                                        |     r5 = r7;
    0x0000226e mov r8, r6                                        |     r8 = r6;
    0x00002270 mov r7, sb                                        |     r7 = sb;
    0x00002272 ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x00002274 mvn fp, 0xb                                       |     
    0x00002278 b 0x2048                                          |     goto label_19;
                                                                 | label_79:
    0x0000227a ldr.w r3, [pc, 0x420]                             |     r3 = *(0x0000269c);
    0x0000227e add r3, pc                                        |     r3 += pc;
    0x00002280 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00002282 lsls r1, r3, 0x1f                                 |     r1 = r3 << 0x1f;
                                                                 |     if (r1 >= r3) {
    0x00002284 bpl 0x222a                                        |         goto label_20;
                                                                 |     }
    0x00002286 blx 0x109c                                        |     r0 = get_color_mode ();
    0x0000228a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000228c bne.w 0x2500                                      |         goto label_87;
                                                                 |     }
    0x00002290 ldr.w r6, [pc, 0x40c]                             |     
    0x00002294 add r6, pc                                        |     r6 = 0x4938;
                                                                 | label_29:
    0x00002296 blx 0x109c                                        |     r0 = get_color_mode ();
    0x0000229a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000229c bne.w 0x24f8                                      |         goto label_88;
                                                                 |     }
    0x000022a0 ldr.w r8, [pc, 0x400]                             |     
    0x000022a4 add r8, pc                                        |     r8 = 0x494c;
                                                                 | label_28:
    0x000022a6 movs r0, 0xd                                      |     r0 = 0xd;
    0x000022a8 add.w fp, fp, 1                                   |     
    0x000022ac blx 0x127c                                        |     special_glyph ();
    0x000022b0 ldr r3, [pc, 0x3f4]                               |     
    0x000022b2 mov r2, r6                                        |     r2 = r6;
    0x000022b4 ldr r1, [pc, 0x3f4]                               |     
    0x000022b6 strd r0, r5, [sp, 8]                              |     __asm ("strd r0, r5, [var_8h]");
    0x000022ba movs r0, 1                                        |     r0 = 1;
    0x000022bc add r3, pc                                        |     r3 = 0x4968;
    0x000022be strd r8, r7, [sp]                                 |     __asm ("strd r8, r7, [sp]");
    0x000022c2 add r1, pc                                        |     r1 = 0x4972;
    0x000022c4 blx 0xfdc                                         |     printf_chk ()
    0x000022c8 ldr r0, [sp, 0x7c]                                |     r0 = var_7ch;
    0x000022ca blx 0x100c                                        |     free (r0);
    0x000022ce b 0x1e30                                          |     goto label_17;
                                                                 | label_51:
    0x000022d0 ldr r1, [pc, 0x3dc]                               |     
    0x000022d2 movs r2, 0xc9                                     |     r2 = 0xc9;
    0x000022d4 ldr r3, [pc, 0x3dc]                               |     
    0x000022d6 ldr r0, [pc, 0x3e0]                               |     
    0x000022d8 add r1, pc                                        |     r1 = 0x498c;
    0x000022da add r3, pc                                        |     r3 = 0x4992;
    0x000022dc adds r1, 7                                        |     r1 += 7;
    0x000022de add r0, pc                                        |     r0 = 0x499c;
    0x000022e0 blx 0x1078                                        |     log_assert_failed ();
                                                                 | label_69:
    0x000022e4 ldr r1, [pc, 0x3d4]                               |     
    0x000022e6 movw r2, 0x1bb                                    |     r2 = 0x1bb;
    0x000022ea ldr r3, [pc, 0x3d4]                               |     
    0x000022ec ldr r0, [pc, 0x3d4]                               |     
    0x000022ee add r1, pc                                        |     r1 = 0x49ae;
    0x000022f0 add r3, pc                                        |     r3 = 0x49b6;
    0x000022f2 adds r1, 7                                        |     r1 += 7;
    0x000022f4 add r0, pc                                        |     r0 = 0x49bc;
    0x000022f6 blx 0x1078                                        |     log_assert_failed ();
                                                                 | label_50:
    0x000022fa ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x000022fc mov r7, sb                                        |     r7 = sb;
                                                                 | label_49:
    0x000022fe ldr r4, [sp, 0x80]                                |     r4 = var_80h;
    0x00002300 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x00002302 beq.w 0x2550                                      |         goto label_89;
                                                                 |     }
    0x00002306 ldr.w r8, [pc, 0x3c0]                             |     
    0x0000230a subs r4, 4                                        |     r4 -= 4;
    0x0000230c ldr.w sb, [pc, 0x3bc]                             |     
    0x00002310 ldr.w fp, [sp, 0x2c]                              |     fp = var_2ch;
    0x00002314 add r8, pc                                        |     r8 = 0x49e2;
    0x00002316 str r6, [sp, 0x50]                                |     var_50h = r6;
    0x00002318 add sb, pc                                        |     sb = 0x49e8;
    0x0000231a strd r8, sb, [sp, 0x48]                           |     __asm ("strd r8, sb, [var_48h]");
    0x0000231e ldrd r8, sb, [sp, 0x54]                           |     __asm ("ldrd r8, sb, [var_54h]");
    0x00002322 b 0x235c                                          |     
                                                                 |     while (r0 < 0) {
    0x00002324 cmn.w r0, 0x11                                    |         
                                                                 |         if (r0 != 0x11) {
    0x00002328 bne.w 0x24f2                                      |             goto label_90;
                                                                 |         }
                                                                 | label_21:
    0x0000232c blx 0xfd0                                         |         r0 = log_get_max_level ();
    0x00002330 cmp r0, 6                                         |         
                                                                 |         if (r0 > 6) {
    0x00002332 bgt 0x23dc                                        |             goto label_91;
                                                                 |         }
                                                                 | label_23:
    0x00002334 mov r0, r5                                        |         r0 = r5;
    0x00002336 blx 0x1264                                        |         r0 = basename (r0);
    0x0000233a mov r1, r0                                        |         r1 = r0;
    0x0000233c mov r0, sl                                        |         r0 = sl;
    0x0000233e blx 0x1120                                        |         hashmap_remove ();
    0x00002342 blx 0x100c                                        |         free (r0);
    0x00002346 mov r0, r5                                        |         r0 = r5;
    0x00002348 blx 0x1264                                        |         basename (r0);
    0x0000234c mov r2, r5                                        |         r2 = r5;
    0x0000234e mov r1, r0                                        |         r1 = r0;
    0x00002350 mov r0, sl                                        |         r0 = sl;
    0x00002352 blx 0x1108                                        |         r0 = hashmap_put ();
    0x00002356 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x00002358 blt.w 0x24f2                                      |             goto label_90;
                                                                 |         }
    0x0000235c ldr r2, [r4, 4]!                                  |         r2 = *((r4 += 4));
    0x00002360 cmp r2, 0                                         |         
                                                                 |         if (r2 == 0) {
    0x00002362 beq.w 0x2506                                      |             goto label_92;
                                                                 |         }
    0x00002366 mov.w r3, -1                                      |         r3 = -1;
    0x0000236a mov r1, r7                                        |         r1 = r7;
    0x0000236c movs r0, 0                                        |         r0 = 0;
    0x0000236e blx 0x1090                                        |         r0 = path_extend_internal ();
    0x00002372 mov r5, r0                                        |         r5 = r0;
                                                                 |         if (r0 == 0) {
    0x00002374 cbz r0, 0x239e                                    |             goto label_93;
                                                                 |         }
    0x00002376 blx 0xfd0                                         |         r0 = log_get_max_level ();
    0x0000237a cmp r0, 6                                         |         
                                                                 |         if (r0 > 6) {
    0x0000237c bgt 0x23b0                                        |             goto label_94;
                                                                 |         }
                                                                 | label_22:
    0x0000237e mov r0, r5                                        |         r0 = r5;
    0x00002380 blx 0x1264                                        |         basename (r0);
    0x00002384 mov r2, r5                                        |         r2 = r5;
    0x00002386 mov r1, r0                                        |         r1 = r0;
    0x00002388 mov r0, fp                                        |         r0 = fp;
    0x0000238a blx 0x1108                                        |         r0 = hashmap_put ();
    0x0000238e cmp r0, 0                                         |         
    0x00002390 blt 0x2324                                        |         
                                                                 |     }
    0x00002392 mov r0, r5                                        |     r0 = r5;
    0x00002394 blx 0x10fc                                        |     r0 = strdup (r0);
    0x00002398 mov r5, r0                                        |     r5 = r0;
    0x0000239a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000239c bne 0x232c                                        |         goto label_21;
                                                                 |     }
                                                                 | label_93:
    0x0000239e ldr r6, [sp, 0x50]                                |     r6 = var_50h;
    0x000023a0 movs r5, 0                                        |     r5 = 0;
    0x000023a2 mvn fp, 0xb                                       |     
                                                                 | label_27:
    0x000023a6 mov r0, r5                                        |     r0 = r5;
    0x000023a8 blx 0x100c                                        |     free (r0);
    0x000023ac ldr r0, [sp, 0x84]                                |     r0 = var_84h;
    0x000023ae b 0x1d52                                          |     goto label_7;
                                                                 | label_94:
    0x000023b0 mov r0, r5                                        |     r0 = r5;
    0x000023b2 blx 0x1264                                        |     r0 = basename (r0);
    0x000023b6 mov r6, r0                                        |     r6 = r0;
    0x000023b8 movs r0, 0xd                                      |     r0 = 0xd;
    0x000023ba blx 0x127c                                        |     special_glyph ();
    0x000023be ldr r3, [sp, 0x48]                                |     r3 = var_48h;
    0x000023c0 mov r2, r8                                        |     r2 = r8;
    0x000023c2 strd r6, r0, [sp, 8]                              |     __asm ("strd r6, r0, [var_8h]");
    0x000023c6 movs r1, 0                                        |     r1 = 0;
    0x000023c8 str r5, [sp, 0x10]                                |     var_10h = r5;
    0x000023ca movs r0, 7                                        |     r0 = 7;
    0x000023cc str r3, [sp, 4]                                   |     var_4h = r3;
    0x000023ce ldr r3, [sp, 0x4c]                                |     r3 = var_4ch;
    0x000023d0 str r3, [sp]                                      |     *(sp) = r3;
    0x000023d2 mov.w r3, 0x160                                   |     r3 = 0x160;
    0x000023d6 blx 0x1144                                        |     log_internal ();
    0x000023da b 0x237e                                          |     goto label_22;
                                                                 | label_91:
    0x000023dc mov r0, r5                                        |     r0 = r5;
    0x000023de blx 0x1264                                        |     r0 = basename (r0);
    0x000023e2 mov r6, r0                                        |     r6 = r0;
    0x000023e4 movs r0, 0xd                                      |     r0 = 0xd;
    0x000023e6 blx 0x127c                                        |     special_glyph ();
    0x000023ea ldr r3, [pc, 0x2e4]                               |     
    0x000023ec mov r2, sb                                        |     r2 = sb;
    0x000023ee strd r6, r0, [sp, 8]                              |     __asm ("strd r6, r0, [var_8h]");
    0x000023f2 movs r1, 0                                        |     r1 = 0;
    0x000023f4 str r5, [sp, 0x10]                                |     var_10h = r5;
    0x000023f6 movs r0, 7                                        |     r0 = 7;
    0x000023f8 add r3, pc                                        |     r3 = 0x4ace;
    0x000023fa str r3, [sp, 4]                                   |     var_4h = r3;
    0x000023fc ldr r3, [pc, 0x2d4]                               |     
    0x000023fe add r3, pc                                        |     r3 = 0x4ad6;
    0x00002400 str r3, [sp]                                      |     *(sp) = r3;
    0x00002402 movw r3, 0x169                                    |     r3 = 0x169;
    0x00002406 blx 0x1144                                        |     log_internal ();
    0x0000240a b 0x2334                                          |     goto label_23;
                                                                 | label_80:
    0x0000240c ldr r3, [sp, 0x54]                                |     r3 = var_54h;
    0x0000240e ldr r3, [r3]                                      |     r3 = *(r3);
    0x00002410 lsls r6, r3, 0x1c                                 |     r6 = r3 << 0x1c;
                                                                 |     if (r6 >= r3) {
    0x00002412 bpl.w 0x21ce                                      |         goto label_24;
                                                                 |     }
    0x00002416 blx 0x109c                                        |     r0 = get_color_mode ();
    0x0000241a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000241c bne 0x250e                                        |         goto label_95;
                                                                 |     }
    0x0000241e ldr r6, [pc, 0x2b8]                               |     
    0x00002420 add r6, pc                                        |     r6 = 0x4afe;
                                                                 | label_30:
    0x00002422 blx 0x109c                                        |     r0 = get_color_mode ();
    0x00002426 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002428 bne 0x2514                                        |         goto label_96;
                                                                 |     }
    0x0000242a ldr.w r8, [pc, 0x2b0]                             |     
    0x0000242e add r8, pc                                        |     r8 = 0x4b10;
                                                                 | label_31:
    0x00002430 movs r0, 0xd                                      |     r0 = 0xd;
    0x00002432 blx 0x127c                                        |     special_glyph ();
    0x00002436 ldr r3, [pc, 0x2a8]                               |     
    0x00002438 mov r2, r6                                        |     r2 = r6;
    0x0000243a ldr r1, [pc, 0x2a8]                               |     
    0x0000243c str r0, [sp, 8]                                   |     var_8h = r0;
    0x0000243e movs r0, 1                                        |     r0 = 1;
    0x00002440 add r3, pc                                        |     r3 = 0x4b26;
    0x00002442 str.w r8, [sp]                                    |     __asm ("str.w r8, [sp]");
    0x00002446 add r1, pc                                        |     r1 = 0x4b30;
    0x00002448 str r5, [sp, 0xc]                                 |     var_ch = r5;
    0x0000244a str r7, [sp, 4]                                   |     var_4h = r7;
    0x0000244c blx 0xfdc                                         |     printf_chk ()
    0x00002450 ldr r3, [pc, 0x294]                               |     
    0x00002452 add r3, pc                                        |     
    0x00002454 ldr r3, [r3]                                      |     r3 = *(0x4b3e);
    0x00002456 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00002458 bne.w 0x21d8                                      |         goto label_25;
                                                                 |     }
    0x0000245c ldr r0, [sp, 0x7c]                                |     r0 = var_7ch;
    0x0000245e add.w fp, fp, 1                                   |     
    0x00002462 blx 0x100c                                        |     free (r0);
    0x00002466 b 0x1e30                                          |     goto label_17;
                                                                 | label_68:
    0x00002468 mov r4, sl                                        |     r4 = sl;
    0x0000246a ldr.w sb, [sp, 0x48]                              |     sb = var_48h;
    0x0000246e ldr.w sl, [sp, 0x4c]                              |     sl = var_4ch;
    0x00002472 b.w 0x1c4c                                        |     goto label_26;
                                                                 | label_81:
    0x00002476 ldr r0, [sp, 0x8c]                                |     r0 = var_8ch;
    0x00002478 blx 0x100c                                        |     free (r0);
    0x0000247c ldr r0, [sp, 0x80]                                |     r0 = var_80h;
    0x0000247e blx 0x100c                                        |     free (r0);
                                                                 | label_82:
    0x00002482 ldr r3, [pc, 0x268]                               |     
    0x00002484 add r3, pc                                        |     
    0x00002486 ldr r3, [r3]                                      |     r3 = *(0x4b76);
    0x00002488 lsls r3, r3, 0x1d                                 |     r3 <<= 0x1d;
                                                                 |     if (r3 >= r3) {
    0x0000248a bpl.w 0x222a                                      |         goto label_20;
                                                                 |     }
    0x0000248e blx 0x109c                                        |     r0 = get_color_mode ();
    0x00002492 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002494 bne 0x2532                                        |         goto label_97;
                                                                 |     }
    0x00002496 ldr r6, [pc, 0x258]                               |     
    0x00002498 add r6, pc                                        |     r6 = 0x4b8e;
                                                                 | label_34:
    0x0000249a blx 0x109c                                        |     r0 = get_color_mode ();
    0x0000249e cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000024a0 bne 0x252a                                        |         goto label_98;
                                                                 |     }
    0x000024a2 ldr.w r8, [pc, 0x250]                             |     
    0x000024a6 add r8, pc                                        |     r8 = 0x4ba0;
                                                                 |     do {
    0x000024a8 movs r0, 0xd                                      |         r0 = 0xd;
    0x000024aa add.w fp, fp, 1                                   |         
    0x000024ae blx 0x127c                                        |         special_glyph ();
    0x000024b2 ldr r3, [pc, 0x244]                               |         
    0x000024b4 mov r2, r6                                        |         r2 = r6;
    0x000024b6 ldr r1, [pc, 0x244]                               |         
    0x000024b8 strd r0, r5, [sp, 8]                              |         __asm ("strd r0, r5, [var_8h]");
    0x000024bc movs r0, 1                                        |         r0 = 1;
    0x000024be add r3, pc                                        |         r3 = 0x4bbc;
    0x000024c0 strd r8, r7, [sp]                                 |         __asm ("strd r8, r7, [sp]");
    0x000024c4 add r1, pc                                        |         r1 = 0x4bc6;
    0x000024c6 blx 0xfdc                                         |         printf_chk ()
    0x000024ca ldr r0, [sp, 0x7c]                                |         r0 = var_7ch;
    0x000024cc blx 0x100c                                        |         free (r0);
    0x000024d0 b 0x1e30                                          |         goto label_17;
                                                                 | label_65:
    0x000024d2 mov r6, fp                                        |         r6 = fp;
    0x000024d4 ldrd r7, sl, [sp, 0x4c]                           |         __asm ("ldrd r7, sl, [var_50h]");
    0x000024d8 mvn fp, 0xb                                       |         
    0x000024dc b 0x1d52                                          |         goto label_7;
                                                                 | label_78:
    0x000024de ldr r1, [pc, 0x220]                               |         
    0x000024e0 movs r2, 0x96                                     |         r2 = 0x96;
    0x000024e2 ldr r3, [pc, 0x220]                               |         
    0x000024e4 ldr r0, [pc, 0x220]                               |         
    0x000024e6 add r1, pc                                        |         r1 = 0x4bec;
    0x000024e8 add r3, pc                                        |         r3 = 0x4bf2;
    0x000024ea adds r1, 7                                        |         r1 += 7;
    0x000024ec add r0, pc                                        |         r0 = 0x4bf8;
    0x000024ee blx 0x1078                                        |         log_assert_failed ();
                                                                 | label_90:
    0x000024f2 ldr r6, [sp, 0x50]                                |         r6 = var_50h;
    0x000024f4 mov fp, r0                                        |         
    0x000024f6 b 0x23a6                                          |         goto label_27;
                                                                 | label_88:
    0x000024f8 ldr.w r8, [pc, 0x210]                             |         
    0x000024fc add r8, pc                                        |         r8 = 0x4c0c;
    0x000024fe b 0x22a6                                          |         goto label_28;
                                                                 | label_87:
    0x00002500 ldr r6, [pc, 0x20c]                               |         
    0x00002502 add r6, pc                                        |         r6 = 0x4c16;
    0x00002504 b 0x2296                                          |         goto label_29;
                                                                 | label_92:
    0x00002506 ldr r6, [sp, 0x50]                                |         r6 = var_50h;
    0x00002508 mov fp, r2                                        |         
    0x0000250a ldr r0, [sp, 0x84]                                |         r0 = var_84h;
    0x0000250c b 0x1d52                                          |         goto label_7;
                                                                 | label_95:
    0x0000250e ldr r6, [pc, 0x204]                               |         
    0x00002510 add r6, pc                                        |         r6 = 0x4c2a;
    0x00002512 b 0x2422                                          |         goto label_30;
                                                                 | label_96:
    0x00002514 ldr.w r8, [pc, 0x200]                             |         
    0x00002518 add r8, pc                                        |         r8 = 0x4c34;
    0x0000251a b 0x2430                                          |         goto label_31;
                                                                 | label_84:
    0x0000251c ldr.w r8, [pc, 0x1fc]                             |         
    0x00002520 add r8, pc                                        |         r8 = 0x4c40;
    0x00002522 b 0x21a0                                          |         goto label_32;
                                                                 | label_83:
    0x00002524 ldr r6, [pc, 0x1f8]                               |         
    0x00002526 add r6, pc                                        |         r6 = 0x4c4a;
    0x00002528 b 0x2190                                          |         goto label_33;
                                                                 | label_98:
    0x0000252a ldr.w r8, [pc, 0x1f8]                             |         
    0x0000252e add r8, pc                                        |         r8 = 0x4c58;
    0x00002530 b 0x24a8                                          |         
                                                                 |     } while (1);
                                                                 | label_97:
    0x00002532 ldr r6, [pc, 0x1f4]                               |     
    0x00002534 add r6, pc                                        |     r6 = 0x4c62;
    0x00002536 b 0x249a                                          |     goto label_34;
                                                                 | label_54:
    0x00002538 mov r5, r7                                        |     r5 = r7;
    0x0000253a mov r8, r6                                        |     r8 = r6;
    0x0000253c mov r7, sb                                        |     r7 = sb;
    0x0000253e ldr r6, [sp, 0x64]                                |     r6 = var_64h;
    0x00002540 mvn fp, 0x15                                      |     
    0x00002544 b 0x2048                                          |     goto label_19;
                                                                 | label_85:
    0x00002546 str r0, [sp, 0x28]                                |     var_28h = r0;
    0x00002548 ldr r0, [sp, 0x7c]                                |     r0 = var_7ch;
    0x0000254a blx 0x100c                                        |     free (r0);
    0x0000254e b 0x1e30                                          |     goto label_17;
                                                                 | label_89:
    0x00002550 ldr r0, [sp, 0x84]                                |     r0 = var_84h;
                                                                 |     if (r0 == 0) {
    0x00002552 cbz r0, 0x2596                                    |         goto label_99;
                                                                 |     }
    0x00002554 mov fp, r4                                        |     
    0x00002556 b.w 0x1d54                                        |     goto label_35;
                                                                 | label_76:
    0x0000255a blx 0x1060                                        |     strv_free ();
    0x0000255e b 0x2050                                          |     goto label_36;
                                                                 | label_77:
    0x00002560 blx 0x1060                                        |     strv_free ();
    0x00002564 b 0x20c6                                          |     goto label_37;
                                                                 | label_64:
    0x00002566 blx 0x1114                                        |     stack_chk_fail ();
                                                                 | label_86:
    0x0000256a ldr r1, [pc, 0x1c0]                               |     
    0x0000256c ldr r3, [pc, 0x1c0]                               |     
    0x0000256e ldr r2, [pc, 0x1c4]                               |     
    0x00002570 add r1, pc                                        |     r1 = 0x4ca2;
    0x00002572 strd r7, r0, [sp, 4]                              |     __asm ("strd r7, r0, [var_8h]");
    0x00002576 add r3, pc                                        |     r3 = 0x4caa;
    0x00002578 mov r0, r1                                        |     r0 = r1;
    0x0000257a add r2, pc                                        |     r2 = 0x4cb4;
    0x0000257c str r5, [sp]                                      |     *(sp) = r5;
    0x0000257e blx 0xff4                                         |     execlp ();
    0x00002582 blx 0x1228                                        |     log_open ();
    0x00002586 blx 0xfd0                                         |     r0 = log_get_max_level ();
    0x0000258a cmp r0, 2                                         |     
    0x0000258c bgt.w 0x2738                                      |     
                                                                 |     while (1) {
    0x00002590 movs r0, 1                                        |         r0 = 1;
    0x00002592 blx 0x1000                                        |         r0 = exit (r0);
                                                                 | label_99:
    0x00002596 mov fp, r0                                        |         
    0x00002598 b.w 0x1d66                                        |         goto label_38;
    0x00002738 blx 0x1240                                        |         errno_location ();
    0x0000273c ldr r2, [pc, 0x1c]                                |         
    0x0000273e mov r4, r0                                        |         r4 = r0;
    0x00002740 ldr r1, [pc, 0x1c]                                |         
    0x00002742 movs r3, 0xb2                                     |         r3 = 0xb2;
    0x00002744 ldr r0, [pc, 0x1c]                                |         
    0x00002746 add r2, pc                                        |         r2 = 0x4ea6;
    0x00002748 add r1, pc                                        |         r1 = 0x4eac;
    0x0000274a adds r2, 7                                        |         r2 += 7;
    0x0000274c add r0, pc                                        |         r0 = 0x4eb4;
    0x0000274e str r1, [sp]                                      |         *(sp) = r1;
    0x00002750 str r0, [sp, 4]                                   |         var_4h = r0;
    0x00002752 movs r0, 3                                        |         r0 = 3;
    0x00002754 ldr r1, [r4]                                      |         r1 = *(r4);
    0x00002756 blx 0x1144                                        |         log_internal ();
    0x0000275a b 0x2590                                          |         
                                                                 |     }
                                                                 | }

[*] Function printf used 7 times systemd-delta