[*] Binary protection state of timedatectl

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


[*] Function printf tear down of timedatectl

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/timedatectl @ 0x2f38 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 | #define SWAP32(n) ((uint32_t) (((n & 0x000000ff) << 24) | \
                                                                 |                                ((n & 0x0000ff00) <<  8) | \
                                                                 |                                ((n & 0x00ff0000) >>  8) | \
                                                                 |                                ((n & 0xff000000) >> 24)))
                                                                 |  
    ; (fcn) fcn.00002f38 ()                                      | void fcn_00002f38 (char * dest, int16_t arg1) {
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_17h;
                                                                 |     int16_t var_18h_2;
                                                                 |     int16_t var_1ch_3;
                                                                 |     void * var_20h_3;
                                                                 |     int16_t var_70h_2;
                                                                 |     int16_t var_bch;
                                                                 |     int16_t var_e4h;
                                                                 |     int16_t var_124h;
                                                                 |     int16_t var_0h_3;
                                                                 |     int16_t var_4h_2;
                                                                 |     int16_t var_8h_3;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h_2;
                                                                 |     int16_t var_1ch;
                                                                 |     void * s;
                                                                 |     int16_t var_44h;
                                                                 |     int32_t var_83ch;
                                                                 |     int16_t var_0h_4;
                                                                 |     int16_t var_4h_3;
                                                                 |     int16_t var_10h_3;
                                                                 |     int16_t var_14h_3;
                                                                 |     int16_t var_18h_3;
                                                                 |     int16_t var_1ch_4;
                                                                 |     r0 = arg1;
    0x00002f38 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00002f3c mov r4, r0                                        |     r4 = r0;
    0x00002f3e ldr.w r5, [pc, 0x5bc]                             |     r5 = *(0x000034fc);
    0x00002f42 subw sp, sp, 0x86c                                |     __asm ("subw sp, sp, 0x86c");
    0x00002f46 movs r2, 0                                        |     r2 = 0;
    0x00002f48 ldr.w r3, [pc, 0x5b4]                             |     
    0x00002f4c add r7, sp, 0x28                                  |     r7 += dest;
    0x00002f4e add r5, pc                                        |     r5 += pc;
    0x00002f50 ldr.w r1, [pc, 0x5b0]                             |     
    0x00002f54 ldr.w r0, [pc, 0x5b0]                             |     
    0x00002f58 ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x00002f5a add r1, pc                                        |     r1 = 0x6462;
    0x00002f5c add r0, pc                                        |     r0 = 0x6468;
    0x00002f5e ldr r3, [r3]                                      |     r3 = *(0x3500);
    0x00002f60 str.w r3, [r7, 0x83c]                             |     __asm ("str.w r3, [var_83ch]");
    0x00002f64 mov.w r3, 0                                       |     r3 = 0;
    0x00002f68 blx 0x1980                                        |     r0 = table_new_internal ();
    0x00002f6c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002f6e beq.w 0x32c2                                      |         goto label_21;
                                                                 |     }
    0x00002f72 movs r1, 0                                        |     r1 = 0;
    0x00002f74 mov r5, r0                                        |     r5 = r0;
    0x00002f76 blx 0x19c8                                        |     table_set_header ();
    0x00002f7a movs r2, 0                                        |     r2 = 0;
    0x00002f7c mov r0, r5                                        |     r0 = r5;
    0x00002f7e mov r1, r2                                        |     r1 = r2;
    0x00002f80 blx 0x19a4                                        |     r0 = table_get_cell ();
    0x00002f84 mov r6, r0                                        |     r6 = r0;
    0x00002f86 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002f88 beq.w 0x3390                                      |         goto label_22;
                                                                 |     }
    0x00002f8c mov r1, r0                                        |     r1 = r0;
    0x00002f8e movs r2, 0x64                                     |     r2 = 0x64;
    0x00002f90 mov r0, r5                                        |     r0 = r5;
    0x00002f92 blx 0x1710                                        |     table_set_ellipsize_percent ();
    0x00002f96 movs r2, 0x64                                     |     r2 = 0x64;
    0x00002f98 mov r1, r6                                        |     r1 = r6;
    0x00002f9a mov r0, r5                                        |     r0 = r5;
    0x00002f9c blx 0x1878                                        |     table_set_align_percent ();
    0x00002f9e stcl p1, c2, [ip], -0                             |     __asm ("stcl p1, c2, [ip], -0");
    0x00002fa2 movs r2, 1                                        |     r2 = 1;
    0x00002fa4 mov r0, r5                                        |     r0 = r5;
    0x00002fa6 blx 0x19a4                                        |     r0 = table_get_cell ();
    0x00002faa mov r1, r0                                        |     r1 = r0;
    0x00002fac cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002fae beq.w 0x33a4                                      |         goto label_23;
                                                                 |     }
    0x00002fb2 movs r2, 0x64                                     |     r2 = 0x64;
    0x00002fb4 mov r0, r5                                        |     r0 = r5;
    0x00002fb6 blx 0x1710                                        |     table_set_ellipsize_percent ();
    0x00002fba ldr.w r0, [pc, 0x550]                             |     
    0x00002fbe add r0, pc                                        |     r0 = 0x64d0;
    0x00002fc0 blx 0x1734                                        |     r0 = getenv (r0);
    0x00002fc4 mov r6, r0                                        |     r6 = r0;
                                                                 |     if (r0 != 0) {
    0x00002fc6 cbz r0, 0x2fe4                                    |         
    0x00002fc8 blx 0x1818                                        |         r0 = strlen (r0);
    0x00002fcc add.w r3, r0, 8                                   |         r3 = r0 + 8;
    0x00002fd0 mov r1, r6                                        |         r1 = r6;
    0x00002fd2 bic r3, r3, 7                                     |         r3 = BIT_MASK (r3, 7);
    0x00002fd6 adds r2, r0, 1                                    |         r2 = r0 + 1;
    0x00002fd8 sub.w sp, sp, r3                                  |         
    0x00002fdc add r0, sp, 0x28                                  |         r0 += dest;
    0x00002fde blx 0x1830                                        |         r0 = memcpy (r0, r1, r2);
    0x00002fe2 mov r6, r0                                        |         r6 = r0;
                                                                 |     }
    0x00002fe4 ldr r1, [r4, 8]                                   |     r1 = *((r4 + 8));
    0x00002fe6 cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x00002fe8 beq.w 0x3282                                      |         goto label_24;
                                                                 |     }
    0x00002fec ldrb r3, [r1]                                     |     r3 = *(r1);
    0x00002fee cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00002ff0 beq.w 0x327a                                      |         goto label_25;
                                                                 |     }
    0x00002ff4 mov r0, r1                                        |     r0 = r1;
    0x00002ff6 str r1, [r7, 4]                                   |     *((r7 + 4)) = r1;
    0x00002ff8 blx 0x1818                                        |     strlen (r0);
    0x00002ffc adds r0, 2                                        |     r0 += 2;
    0x00002ffe ldr r1, [r7, 4]                                   |     r1 = *((r7 + 4));
    0x00003000 cmp.w r0, 0x400000                                |     
                                                                 |     if (r0 > 0x400000) {
    0x00003004 bhi.w 0x32ae                                      |         goto label_26;
                                                                 |     }
                                                                 | label_2:
    0x00003008 adds r0, 7                                        |     r0 += 7;
    0x0000300a movs r3, 0x3a                                     |     r3 = 0x3a;
    0x0000300c bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x00003010 sub.w sp, sp, r0                                  |     
    0x00003014 add.w r8, sp, 0x28                                |     r8 += dest;
    0x00003016 lsrs r0, r5, 0x20                                 |     r0 = r5 >> 0x20;
    0x00003018 mov r0, r8                                        |     r0 = r8;
    0x0000301a strb r3, [r0], 1                                  |     *(r0) = r3;
                                                                 |     r0++;
    0x0000301e blx 0x189c                                        |     strcpy (r0, r1);
    0x00003022 ldr.w r0, [pc, 0x4ec]                             |     
    0x00003026 movs r2, 1                                        |     r2 = 1;
    0x00003028 mov r1, r8                                        |     r1 = r8;
    0x0000302a add r0, pc                                        |     r0 = 0x6540;
    0x0000302c blx 0x1a40                                        |     r0 = setenv (r0, r1, r2);
    0x00003030 cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x00003032 bge.w 0x3274                                      |         goto label_27;
                                                                 |     }
    0x00003036 blx 0x171c                                        |     r0 = log_get_max_level ();
    0x0000303a cmp r0, 3                                         |     
                                                                 |     if (r0 > 3) {
    0x0000303c bgt.w 0x332c                                      |         goto label_28;
                                                                 |     }
                                                                 | label_1:
    0x00003040 ldrd r0, r1, [r4]                                 |     __asm ("ldrd r0, r1, [r4]");
    0x00003044 orrs.w r3, r0, r1                                 |     r3 = r0 | r1;
                                                                 |     if (r3 == r0) {
    0x00003048 beq 0x30f2                                        |         goto label_29;
                                                                 |     }
    0x0000304a movw r2, 0x4240                                   |     
    0x0000304e movs r3, 0                                        |     r3 = 0;
    0x00003050 movt r2, 0xf                                      |     r2 = 0xf4240;
    0x00003054 bl 0x4c1c                                         |     fcn_00004c1c (r0, r1, r2, r3);
                                                                 | label_10:
    0x00003058 add.w r8, r7, 8                                   |     r8 = r7 + 8;
    0x0000305c add.w sl, r7, 0x10                                |     sl = r7 + 0x10;
    0x00003060 mov r1, sl                                        |     r1 = sl;
    0x00003062 str.w r0, [r8]                                    |     __asm ("str.w r0, [r8]");
    0x00003066 mov r0, r8                                        |     r0 = r8;
    0x00003068 add.w sb, r7, 0x3c                                |     sb = r7 + 0x3c;
    0x0000306c blx 0x168c                                        |     localtime_r ();
    0x00003070 ldr.w r2, [pc, 0x4a0]                             |     
    0x00003074 mov r3, r0                                        |     r3 = r0;
    0x00003076 mov.w r1, 0x800                                   |     r1 = 0x800;
    0x0000307a mov r0, sb                                        |     r0 = sb;
    0x0000307c add r2, pc                                        |     r2 = 0x6594;
    0x0000307e blx 0x1998                                        |     strftime (r0, r1, r2, r3);
    0x00003080 stc p6, c4, [ip], {0x4b}                          |     __asm ("stc p6, c4, [ip], {0x4b}");
    0x00003084 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00003086 beq.w 0x328a                                      |         goto label_30;
                                                                 |     }
                                                                 | label_3:
    0x0000308a movs r2, 0x21                                     |     r2 = 0x21;
    0x0000308c str r3, [sp]                                      |     *(sp) = r3;
    0x0000308e str r2, [sp, 4]                                   |     var_4h_3 = r2;
    0x00003090 movs r3, 1                                        |     r3 = 1;
    0x00003092 ldr.w r2, [pc, 0x484]                             |     
    0x00003096 mov r1, r3                                        |     r1 = r3;
    0x00003098 mov r0, r5                                        |     r0 = r5;
    0x0000309a add r2, pc                                        |     r2 = 0x65b8;
    0x0000309c blx 0x18c0                                        |     r0 = table_add_many_internal ();
    0x000030a0 subs.w fp, r0, 0                                  |     
                                                                 |     if (fp >= r0) {
    0x000030a4 bge.w 0x32d8                                      |         goto label_31;
                                                                 |     }
                                                                 |     do {
    0x000030a8 blx 0x171c                                        |         r0 = log_get_max_level ();
    0x000030ac cmp r0, 2                                         |         
    0x000030ae ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x000030b0 rsble r4, fp, 0                                   |             __asm ("rsble r4, fp, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x000030b4 uxtble r0, r4                                     |             __asm ("uxtble r0, r4");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x000030b6 rsbs r4, r0, 0                                    |             r4 = r0 - ;
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x000030b8 bgt.w 0x33e6                                      |             goto label_32;
                                                                 |         }
                                                                 | label_7:
    0x000030bc cmp r4, 0                                         |         
    0x000030be it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x000030c0 mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
                                                                 | label_0:
    0x000030c4 mov r0, r5                                        |         r0 = r5;
    0x000030c6 blx 0x1794                                        |         table_unref ();
                                                                 | label_5:
    0x000030ca ldr.w r2, [pc, 0x450]                             |         r2 = *(0x0000351c);
    0x000030ce ldr.w r3, [pc, 0x430]                             |         r3 = *(0x3502);
    0x000030d2 add r2, pc                                        |         r2 += pc;
    0x000030d4 ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x000030d6 ldr r2, [r3]                                      |         r2 = *(0x3502);
    0x000030d8 ldr.w r3, [r7, 0x83c]                             |         r3 = var_83ch;
    0x000030dc eors r2, r3                                       |         r2 ^= r3;
    0x000030de mov.w r3, 0                                       |         r3 = 0;
    0x000030e0 lsls r0, r0, 0xc                                  |         r0 <<= 0xc;
                                                                 |         if (r0 != r0) {
    0x000030e2 bne.w 0x34f6                                      |             goto label_33;
                                                                 |         }
    0x000030e6 mov r0, r4                                        |         r0 = r4;
    0x000030e8 addw r7, r7, 0x844                                |         __asm ("addw r7, var_0h_4");
    0x000030ec mov sp, r7                                        |         
    0x000030ee pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_29:
    0x000030f2 ldr.w r3, [pc, 0x42c]                             |         r3 = *(0x00003520);
    0x000030f6 add r3, pc                                        |         r3 += pc;
    0x000030f8 ldr r0, [r3]                                      |         r0 = *(r3);
    0x000030fa bics r0, r0, 2                                    |         __asm ("bics r0, r0, 2");
                                                                 |         if (r0 == r0) {
    0x000030fe beq.w 0x338a                                      |             goto label_34;
                                                                 |         }
    0x00003102 blx 0x171c                                        |         r0 = log_get_max_level ();
    0x00003106 cmp r0, 3                                         |         
                                                                 |         if (r0 > 3) {
    0x00003108 bgt.w 0x3290                                      |             goto label_35;
                                                                 |         }
                                                                 | label_4:
    0x0000310c movs r2, 0x21                                     |         r2 = 0x21;
    0x0000310e ldr.w sb, [pc, 0x414]                             |         
    0x00003112 str r2, [sp, 4]                                   |         var_4h_3 = r2;
    0x00003114 movs r3, 1                                        |         r3 = 1;
    0x00003116 ldr.w r2, [pc, 0x410]                             |         
    0x0000311a mov r1, r3                                        |         r1 = r3;
    0x0000311c add sb, pc                                        |         sb = 0x6646;
    0x0000311e mov r0, r5                                        |         r0 = r5;
    0x00003120 str.w sb, [sp]                                    |         __asm ("str.w sb, [sp]");
    0x00003124 add r2, pc                                        |         r2 = 0x6652;
    0x00003126 blx 0x18c0                                        |         r0 = table_add_many_internal ();
    0x0000312a subs.w fp, r0, 0                                  |         
    0x0000312e blt 0x30a8                                        |         
                                                                 |     } while (fp < r0);
    0x00003130 mov.w r8, 0                                       |     r8 = 0;
    0x00003134 mov r0, sb                                        |     r0 = sb;
                                                                 | label_6:
    0x00003136 movs r2, 0x21                                     |     r2 = 0x21;
    0x00003138 movs r3, 1                                        |     r3 = 1;
    0x0000313a str r2, [sp, 4]                                   |     var_4h_3 = r2;
    0x0000313c mov r1, r3                                        |     r1 = r3;
    0x0000313e ldr r2, [pc, 0x3ec]                               |     
    0x00003140 str r0, [sp]                                      |     *(sp) = r0;
    0x00003142 mov r0, r5                                        |     r0 = r5;
    0x00003144 add r2, pc                                        |     r2 = 0x6676;
    0x00003146 blx 0x18c0                                        |     r0 = table_add_many_internal ();
    0x0000314a subs.w sb, r0, 0                                  |     sb = r0 - 0;
                                                                 |     if (sb < r0) {
    0x0000314e blt.w 0x3312                                      |         goto label_36;
                                                                 |     }
    0x00003150 strh r0, [r4, 6]                                  |     *((r4 + 6)) = r0;
    0x00003152 ldrd r0, r1, [r4, 0x10]                           |     __asm ("ldrd r0, r1, [r4, 0x10]");
    0x00003156 orrs.w r3, r0, r1                                 |     r3 = r0 | r1;
                                                                 |     if (r3 != r0) {
    0x0000315a bne.w 0x334e                                      |         goto label_37;
                                                                 |     }
                                                                 | label_8:
    0x0000315e ldr r0, [pc, 0x3d0]                               |     
    0x00003160 add r0, pc                                        |     r0 = 0x6696;
                                                                 | label_9:
    0x00003162 movs r2, 0x21                                     |     r2 = 0x21;
    0x00003164 movs r3, 1                                        |     r3 = 1;
    0x00003166 str r2, [sp, 4]                                   |     var_4h_3 = r2;
    0x00003168 mov r1, r3                                        |     r1 = r3;
    0x0000316a ldr r2, [pc, 0x3c8]                               |     
    0x0000316c str r0, [sp]                                      |     *(sp) = r0;
    0x0000316e mov r0, r5                                        |     r0 = r5;
    0x00003170 add r2, pc                                        |     r2 = 0x66aa;
    0x00003172 blx 0x18c0                                        |     r0 = table_add_many_internal ();
    0x00003176 subs.w sb, r0, 0                                  |     sb = r0 - 0;
                                                                 |     if (sb < r0) {
    0x0000317a blt.w 0x32fe                                      |         goto label_38;
                                                                 |     }
    0x0000317e ldr r3, [pc, 0x3b8]                               |     
    0x00003180 mov.w r2, -1                                      |     r2 = -1;
    0x00003184 strd r2, r2, [sp, 0xc]                            |     __asm ("strd r2, r2, [sp, 0xc]");
    0x00003188 movs r1, 0                                        |     r1 = 0;
    0x0000318a strd r2, r2, [sp, 4]                              |     __asm ("strd r2, r2, [sp, 4]");
    0x0000318e mov r0, r5                                        |     r0 = r5;
    0x00003190 str r2, [sp]                                      |     *(sp) = r2;
    0x00003192 add r3, pc                                        |     r3 = 0x66d0;
    0x00003194 movs r2, 1                                        |     r2 = 1;
    0x00003196 blx 0x1a28                                        |     r0 = table_add_cell_full ();
    0x0000319a subs.w sb, r0, 0                                  |     sb = r0 - 0;
                                                                 |     if (sb < r0) {
    0x0000319e blt.w 0x340c                                      |         goto label_39;
                                                                 |     }
    0x000031a2 cmp.w r8, 0                                       |     
                                                                 |     if (r8 != 0) {
    0x000031a6 bne.w 0x3432                                      |         goto label_40;
                                                                 |     }
    0x000031aa ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x000031ac cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000031ae beq.w 0x348c                                      |         goto label_41;
                                                                 |     }
    0x000031b2 ldr r0, [pc, 0x388]                               |     
    0x000031b4 add r0, pc                                        |     r0 = 0x66f6;
                                                                 | label_13:
    0x000031b6 ldr r2, [pc, 0x388]                               |     
    0x000031b8 movs r1, 0                                        |     r1 = 0;
    0x000031ba str r0, [sp]                                      |     *(sp) = r0;
    0x000031bc mov r0, r5                                        |     r0 = r5;
    0x000031be add r2, pc                                        |     r2 = 0x6704;
    0x000031c0 blx 0x16e0                                        |     r0 = table_add_cell_stringf ();
    0x000031c4 subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x000031c8 blt.w 0x33c0                                      |         goto label_42;
                                                                 |     }
    0x000031cc ldr r0, [pc, 0x374]                               |     
    0x000031ce mov r1, r6                                        |     r1 = r6;
    0x000031d0 movs r2, 1                                        |     r2 = 1;
    0x000031d2 add r0, pc                                        |     r0 = 0x671a;
    0x000031d4 blx 0x17b8                                        |     r0 = set_unset_env ();
    0x000031d8 subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 >= r0) {
    0x000031da bge.w 0x3406                                      |         goto label_43;
                                                                 |     }
    0x000031de blx 0x171c                                        |     r0 = log_get_max_level ();
    0x000031e2 cmp r0, 3                                         |     
                                                                 |     if (r0 > 3) {
    0x000031e4 bgt.w 0x349a                                      |         goto label_44;
                                                                 |     }
                                                                 | label_11:
    0x000031e8 ldrb r3, [r4, 0x19]                               |     r3 = *((r4 + 0x19));
    0x000031ea ldrb r1, [r4, 0x1b]                               |     r1 = *((r4 + 0x1b));
    0x000031ec cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x000031ee beq.w 0x3476                                      |         goto label_45;
                                                                 |     }
    0x000031f2 ldrb r3, [r4, 0x1a]                               |     r3 = *((r4 + 0x1a));
    0x000031f4 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x000031f6 bne.w 0x3494                                      |         goto label_46;
                                                                 |     }
    0x000031fa ldr r6, [pc, 0x34c]                               |     
    0x000031fc add r6, pc                                        |     r6 = 0x674a;
                                                                 | label_14:
    0x000031fe ldr r2, [pc, 0x34c]                               |     
    0x00003200 movs r3, 5                                        |     r3 = 5;
    0x00003202 ldrb r0, [r4, 0x18]                               |     r0 = *((r4 + 0x18));
    0x00003204 str r1, [sp]                                      |     *(sp) = r1;
    0x00003206 movs r1, 1                                        |     r1 = 1;
    0x00003208 add r2, pc                                        |     r2 = 0x675a;
    0x0000320a str r6, [sp, 0x10]                                |     var_10h_3 = r6;
    0x0000320c str r2, [sp, 0x18]                                |     var_18h_3 = r2;
    0x0000320e movs r6, 0x21                                     |     r6 = 0x21;
    0x00003210 ldr r2, [pc, 0x33c]                               |     
    0x00003212 strd r0, r6, [sp, 0x20]                           |     __asm ("strd r0, r6, [sp, 0x20]");
    0x00003216 mov r0, r5                                        |     r0 = r5;
    0x00003218 str r3, [sp, 0x1c]                                |     var_1ch_4 = r3;
    0x0000321a add r2, pc                                        |     r2 = 0x676e;
    0x0000321c str r1, [sp, 0x14]                                |     var_14h_3 = r1;
    0x0000321e strd r2, r1, [sp, 8]                              |     __asm ("strd r2, r1, [sp, 8]");
    0x00003222 ldr r2, [pc, 0x330]                               |     
    0x00003224 str r1, [sp, 4]                                   |     var_4h_3 = r1;
    0x00003226 add r2, pc                                        |     r2 = 0x6780;
    0x00003228 blx 0x18c0                                        |     r0 = table_add_many_internal ();
    0x0000322c subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x0000322e blt.w 0x347c                                      |         goto label_47;
                                                                 |     }
    0x00003232 movs r1, 0                                        |     r1 = 0;
    0x00003234 mov r0, r5                                        |     r0 = r5;
    0x00003236 blx 0x16a4                                        |     r0 = table_print ();
    0x0000323a subs r6, r0, 0                                    |     r6 = r0 - 0;
                                                                 |     if (r6 < r0) {
    0x0000323c blt.w 0x34b8                                      |         goto label_48;
                                                                 |     }
    0x00003240 ldrb r4, [r4, 0x18]                               |     r4 = *((r4 + 0x18));
    0x00003242 cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x00003244 beq.w 0x30c4                                      |         goto label_0;
                                                                 |     }
    0x00003248 blx 0x1890                                        |     r0 = get_color_mode ();
    0x0000324c cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000324e bne.w 0x34e4                                      |         goto label_49;
                                                                 |     }
    0x00003252 ldr r4, [pc, 0x304]                               |     
    0x00003254 add r4, pc                                        |     r4 = 0x67b2;
                                                                 | label_15:
    0x00003256 blx 0x1890                                        |     r0 = get_color_mode ();
    0x0000325a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000325c bne.w 0x34ea                                      |         goto label_50;
                                                                 |     }
    0x00003260 ldr r3, [pc, 0x2f8]                               |     
    0x00003262 add r3, pc                                        |     r3 = 0x67c2;
                                                                 | label_16:
    0x00003264 ldr r1, [pc, 0x2f8]                               |     
    0x00003266 mov r2, r4                                        |     r2 = r4;
    0x00003268 movs r0, 1                                        |     r0 = 1;
    0x0000326a movs r4, 0                                        |     r4 = 0;
    0x0000326c add r1, pc                                        |     r1 = 0x67d0;
    0x0000326e blx 0x1740                                        |     printf_chk ()
    0x00003272 b 0x30c4                                          |     goto label_0;
                                                                 | label_27:
    0x00003274 blx 0x16f8                                        |     tzset ();
    0x00003278 b 0x3040                                          |     goto label_1;
                                                                 | label_25:
    0x0000327a ldr r1, [pc, 0x2e8]                               |     
    0x0000327c movs r0, 5                                        |     r0 = 5;
    0x0000327e add r1, pc                                        |     r1 = 0x67e8;
    0x00003280 b 0x3008                                          |     goto label_2;
                                                                 | label_24:
    0x00003282 ldr r1, [pc, 0x2e4]                               |     
    0x00003284 movs r0, 5                                        |     r0 = 5;
    0x00003286 add r1, pc                                        |     r1 = 0x67f4;
    0x00003288 b 0x3008                                          |     goto label_2;
                                                                 | label_30:
    0x0000328a ldr r3, [pc, 0x2e0]                               |     
    0x0000328c add r3, pc                                        |     r3 = 0x67fe;
    0x0000328e b 0x308a                                          |     goto label_3;
                                                                 | label_35:
    0x00003290 ldr r2, [pc, 0x2dc]                               |     
    0x00003292 movs r0, 4                                        |     r0 = 4;
    0x00003294 ldr r1, [pc, 0x2dc]                               |     
    0x00003296 ldr r3, [pc, 0x2e0]                               |     
    0x00003298 add r2, pc                                        |     r2 = 0x680c;
    0x0000329a add r1, pc                                        |     r1 = 0x6812;
    0x0000329c adds r2, 7                                        |     r2 += 7;
    0x0000329e add r3, pc                                        |     r3 = 0x681c;
    0x000032a0 strd r3, r1, [sp]                                 |     __asm ("strd r3, r1, [sp]");
    0x000032a4 movs r3, 0x60                                     |     r3 = 0x60;
    0x000032a6 movs r1, 0                                        |     r1 = 0;
    0x000032a8 blx 0x195c                                        |     log_internal ();
    0x000032ac b 0x310c                                          |     goto label_4;
                                                                 | label_26:
    0x000032ae ldr r1, [pc, 0x2cc]                               |     
    0x000032b0 movs r2, 0x53                                     |     r2 = 0x53;
    0x000032b2 ldr r3, [pc, 0x2cc]                               |     
    0x000032b4 ldr r0, [pc, 0x2cc]                               |     
    0x000032b6 add r1, pc                                        |     r1 = 0x6838;
    0x000032b8 add r3, pc                                        |     r3 = 0x683e;
    0x000032ba adds r1, 7                                        |     r1 += 7;
    0x000032bc add r0, pc                                        |     r0 = 0x6844;
    0x000032be blx 0x1860                                        |     log_assert_failed ();
                                                                 | label_21:
    0x000032c2 ldr r1, [pc, 0x2c4]                               |     
    0x000032c4 movs r2, 0x42                                     |     r2 = 0x42;
    0x000032c6 ldr r3, [pc, 0x2c4]                               |     
    0x000032c8 movs r0, 3                                        |     r0 = 3;
    0x000032ca add r1, pc                                        |     r1 = 0x6858;
    0x000032cc add r3, pc                                        |     r3 = 0x685e;
    0x000032ce adds r1, 7                                        |     r1 += 7;
    0x000032d0 blx 0x1a70                                        |     r0 = log_oom_internal ();
    0x000032d4 mov r4, r0                                        |     r4 = r0;
    0x000032d6 b 0x30ca                                          |     goto label_5;
                                                                 | label_31:
    0x000032d8 mov r1, sl                                        |     r1 = sl;
    0x000032da mov r0, r8                                        |     r0 = r8;
    0x000032dc blx 0x1950                                        |     gmtime_r ();
    0x000032e0 ldr r2, [pc, 0x2ac]                               |     
    0x000032e2 mov r3, r0                                        |     r3 = r0;
    0x000032e4 mov.w r1, 0x800                                   |     r1 = 0x800;
    0x000032e8 mov r0, sb                                        |     r0 = sb;
    0x000032ea add r2, pc                                        |     r2 = 0x687e;
    0x000032ec blx 0x1998                                        |     r0 = strftime (r0, r1, r2, r3);
    0x000032f0 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000032f2 bne 0x33b8                                        |         goto label_51;
                                                                 |     }
    0x000032f4 ldr r0, [pc, 0x29c]                               |     
    0x000032f6 mov.w r8, 1                                       |     r8 = 1;
    0x000032fa add r0, pc                                        |     r0 = 0x6892;
    0x000032fc b 0x3136                                          |     goto label_6;
                                                                 | label_38:
    0x000032fe blx 0x171c                                        |     r0 = log_get_max_level ();
    0x00003302 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00003304 bgt.w 0x3464                                      |         goto label_52;
                                                                 |     }
                                                                 |     do {
    0x00003308 rsb.w r0, sb, 0                                   |         r0 = sb - ;
    0x0000330c uxtb r0, r0                                       |         r0 = (int8_t) r0;
    0x0000330e rsbs r4, r0, 0                                    |         r4 = r0 - ;
    0x00003310 b 0x30bc                                          |         goto label_7;
                                                                 | label_36:
    0x00003312 blx 0x171c                                        |         r0 = log_get_max_level ();
    0x00003316 cmp r0, 2                                         |         
    0x00003318 ble 0x3308                                        |         
                                                                 |     } while (r0 <= 2);
    0x0000331a ldr r2, [pc, 0x27c]                               |     
    0x0000331c movs r3, 0x6e                                     |     r3 = 0x6e;
    0x0000331e ldr r4, [pc, 0x27c]                               |     
    0x00003320 mov r1, sb                                        |     r1 = sb;
    0x00003322 ldr r0, [pc, 0x27c]                               |     
    0x00003324 add r2, pc                                        |     r2 = 0x68c2;
    0x00003326 add r4, pc                                        |     r4 = 0x68c8;
    0x00003328 add r0, pc                                        |     r0 = 0x68ce;
    0x0000332a b 0x33f6                                          |     goto label_12;
                                                                 | label_28:
    0x0000332c blx 0x1a64                                        |     errno_location ();
    0x00003330 ldr r3, [pc, 0x270]                               |     
    0x00003332 ldr r1, [r0]                                      |     r1 = *(r0);
    0x00003334 movs r0, 4                                        |     r0 = 4;
    0x00003336 ldr r2, [pc, 0x270]                               |     
    0x00003338 add r3, pc                                        |     r3 = 0x68e0;
    0x0000333a str r3, [sp, 4]                                   |     var_4h_3 = r3;
    0x0000333c ldr r3, [pc, 0x26c]                               |     
    0x0000333e add r2, pc                                        |     r2 = 0x68ec;
    0x00003340 adds r2, 7                                        |     r2 += 7;
    0x00003342 add r3, pc                                        |     r3 = 0x68f2;
    0x00003344 str r3, [sp]                                      |     *(sp) = r3;
    0x00003346 movs r3, 0x55                                     |     r3 = 0x55;
    0x00003348 blx 0x195c                                        |     log_internal ();
    0x0000334c b 0x3040                                          |     goto label_1;
                                                                 | label_37:
    0x0000334e movw r2, 0x4240                                   |     
    0x00003352 movs r3, 0                                        |     r3 = 0;
    0x00003354 movt r2, 0xf                                      |     r2 = 0xf4240;
    0x00003358 add.w sl, r7, 0xc                                 |     sl = r7 + 0xc;
    0x0000335c bl 0x4c1c                                         |     fcn_00004c1c (r0, r1, r2, r3);
    0x00003360 add.w r1, r7, 0x10                                |     r1 = r7 + 0x10;
    0x00003364 str r0, [r7, 0xc]                                 |     *((r7 + 0xc)) = r0;
    0x00003366 mov r0, sl                                        |     r0 = sl;
    0x00003368 add.w sb, r7, 0x3c                                |     sb = r7 + 0x3c;
    0x0000336c blx 0x1950                                        |     gmtime_r ();
    0x00003370 ldr r2, [pc, 0x23c]                               |     
    0x00003372 mov r3, r0                                        |     r3 = r0;
    0x00003374 mov.w r1, 0x800                                   |     r1 = 0x800;
    0x00003378 mov r0, sb                                        |     r0 = sb;
    0x0000337a add r2, pc                                        |     r2 = 0x692e;
    0x0000337c blx 0x1998                                        |     r0 = strftime (r0, r1, r2, r3);
    0x00003380 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00003382 beq.w 0x315e                                      |         goto label_8;
                                                                 |     }
    0x00003386 mov r0, sb                                        |     r0 = sb;
    0x00003388 b 0x3162                                          |     goto label_9;
                                                                 | label_34:
    0x0000338a blx 0x192c                                        |     time (r0);
    0x0000338e b 0x3058                                          |     goto label_10;
                                                                 | label_22:
    0x00003390 ldr r1, [pc, 0x220]                               |     
    0x00003392 movs r2, 0x46                                     |     r2 = 0x46;
    0x00003394 ldr r3, [pc, 0x220]                               |     
    0x00003396 ldr r0, [pc, 0x224]                               |     
    0x00003398 add r1, pc                                        |     r1 = 0x6950;
    0x0000339a add r3, pc                                        |     r3 = 0x6956;
    0x0000339c adds r1, 7                                        |     r1 += 7;
    0x0000339e add r0, pc                                        |     r0 = 0x6960;
    0x000033a0 blx 0x1860                                        |     log_assert_failed ();
    0x000033a2 invalid                                           |     
                                                                 | label_23:
    0x000033a4 ldr r1, [pc, 0x218]                               |     
    0x000033a6 movs r2, 0x4a                                     |     r2 = 0x4a;
    0x000033a8 ldr r3, [pc, 0x218]                               |     
    0x000033aa ldr r0, [pc, 0x21c]                               |     
    0x000033ac add r1, pc                                        |     r1 = 0x6970;
    0x000033ae add r3, pc                                        |     r3 = 0x6976;
    0x000033b0 adds r1, 7                                        |     r1 += 7;
    0x000033b2 add r0, pc                                        |     r0 = 0x6980;
    0x000033b4 blx 0x1860                                        |     log_assert_failed ();
                                                                 | label_51:
    0x000033b8 mov.w r8, 1                                       |     r8 = 1;
    0x000033bc mov r0, sb                                        |     r0 = sb;
    0x000033be b 0x3136                                          |     goto label_6;
                                                                 | label_42:
    0x000033c0 blx 0x171c                                        |     r0 = log_get_max_level ();
    0x000033c4 cmp r0, 2                                         |     
    0x000033c6 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x000033c8 rsble r0, r8, 0                                   |         __asm ("rsble r0, r8, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x000033cc uxtble r0, r0                                     |         __asm ("uxtble r0, r0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x000033ce rsbs r4, r0, 0                                    |         r4 = r0 - ;
                                                                 |         goto label_53;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_53:
    0x000033d0 ble.w 0x30bc                                      |         goto label_7;
                                                                 |     }
    0x000033d4 ldr r2, [pc, 0x1f4]                               |     
    0x000033d6 movs r3, 0x84                                     |     r3 = 0x84;
    0x000033d8 ldr r4, [pc, 0x1f4]                               |     
    0x000033da mov r1, r8                                        |     r1 = r8;
    0x000033dc ldr r0, [pc, 0x1f4]                               |     
    0x000033de add r2, pc                                        |     r2 = 0x69ae;
    0x000033e0 add r4, pc                                        |     r4 = 0x69b4;
    0x000033e2 add r0, pc                                        |     r0 = 0x69ba;
    0x000033e4 b 0x33f6                                          |     goto label_12;
                                                                 | label_32:
    0x000033e6 ldr r2, [pc, 0x1f0]                               |     
    0x000033e8 movs r3, 0x67                                     |     r3 = 0x67;
    0x000033ea ldr r4, [pc, 0x1f0]                               |     
    0x000033ec mov r1, fp                                        |     r1 = fp;
    0x000033ee ldr r0, [pc, 0x1f0]                               |     
    0x000033f0 add r2, pc                                        |     r2 = 0x69ce;
    0x000033f2 add r4, pc                                        |     r4 = 0x69d4;
    0x000033f4 add r0, pc                                        |     r0 = 0x69da;
                                                                 | label_12:
    0x000033f6 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x000033fa adds r2, 7                                        |     r2 += 7;
    0x000033fc movs r0, 3                                        |     r0 = 3;
    0x000033fe blx 0x195c                                        |     r0 = log_internal ();
    0x00003402 mov r4, r0                                        |     r4 = r0;
    0x00003404 b 0x30bc                                          |     goto label_7;
                                                                 | label_43:
    0x00003406 blx 0x16f8                                        |     tzset ();
    0x0000340a b 0x31e8                                          |     goto label_11;
                                                                 | label_39:
    0x0000340c blx 0x171c                                        |     r0 = log_get_max_level ();
    0x00003410 cmp r0, 2                                         |     
    0x00003412 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00003414 rsble r3, sb, 0                                   |         __asm ("rsble r3, sb, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x00003416 lslle r0, r0, 0xc                                 |         r0 <<= 0xc;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00003418 uxtble r0, r3                                     |         __asm ("uxtble r0, r3");
                                                                 |     }
    0x0000341a rsbs r4, r0, 0                                    |     r4 = r0 - ;
                                                                 |     if (r0 <= 2) {
    0x0000341c ble.w 0x30bc                                      |         goto label_7;
                                                                 |     }
    0x00003420 ldr r2, [pc, 0x1c0]                               |     
    0x00003422 movs r3, 0x7f                                     |     r3 = 0x7f;
    0x00003424 ldr r4, [pc, 0x1c0]                               |     
    0x00003426 mov r1, sb                                        |     r1 = sb;
    0x00003428 ldr r0, [pc, 0x1c0]                               |     
    0x0000342a add r2, pc                                        |     r2 = 0x6a12;
    0x0000342c add r4, pc                                        |     r4 = 0x6a18;
    0x0000342e add r0, pc                                        |     r0 = 0x6a1e;
    0x00003430 b 0x33f6                                          |     goto label_12;
                                                                 | label_40:
    0x00003432 add.w r1, r7, 0x10                                |     r1 = r7 + 0x10;
    0x00003436 add.w r0, r7, 8                                   |     r0 = r7 + 8;
    0x0000343a blx 0x168c                                        |     localtime_r ();
    0x0000343e ldr r2, [pc, 0x1b0]                               |     
    0x00003440 add.w sb, r7, 0x3c                                |     sb = r7 + 0x3c;
    0x00003444 mov r3, r0                                        |     r3 = r0;
    0x00003446 mov.w r1, 0x800                                   |     r1 = 0x800;
    0x00003448 str r0, [r0, 0x10]                                |     *((r0 + 0x10)) = r0;
    0x0000344a mov r0, sb                                        |     r0 = sb;
    0x0000344c add r2, pc                                        |     r2 = 0x6a42;
    0x0000344e blx 0x1998                                        |     strftime (r0, r1, r2, r3);
    0x00003452 ldr r3, [r4, 8]                                   |     r3 = *((r4 + 8));
    0x00003454 cbz r3, 0x345e                                    |     
                                                                 |     while (1) {
    0x00003456 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00003458 beq 0x34f0                                        |             goto label_54;
                                                                 |         }
    0x0000345a mov r0, sb                                        |         r0 = sb;
    0x0000345c b 0x31b6                                          |         goto label_13;
    0x0000345e ldr r3, [pc, 0x194]                               |         
    0x00003460 add r3, pc                                        |         r3 = 0x6a5a;
    0x00003462 b 0x3456                                          |         
                                                                 |     }
                                                                 | label_52:
    0x00003464 ldr r2, [pc, 0x190]                               |     
    0x00003466 movs r3, 0x7b                                     |     r3 = 0x7b;
    0x00003468 ldr r4, [pc, 0x190]                               |     
    0x0000346a mov r1, sb                                        |     r1 = sb;
    0x0000346c ldr r0, [pc, 0x190]                               |     
    0x0000346e add r2, pc                                        |     r2 = 0x6a6a;
    0x00003470 add r4, pc                                        |     r4 = 0x6a70;
    0x00003472 add r0, pc                                        |     r0 = 0x6a76;
    0x00003474 b 0x33f6                                          |     goto label_12;
                                                                 | label_45:
    0x00003476 ldr r6, [pc, 0x18c]                               |     
    0x00003478 add r6, pc                                        |     r6 = 0x6a82;
    0x0000347a b 0x31fe                                          |     goto label_14;
                                                                 | label_47:
    0x0000347c blx 0x171c                                        |     r0 = log_get_max_level ();
    0x00003480 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x00003482 bgt 0x34d2                                        |         goto label_55;
                                                                 |     }
                                                                 |     do {
    0x00003484 rsbs r4, r6, 0                                    |         r4 = r6 - ;
    0x00003486 uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x00003488 rsbs r4, r4, 0                                    |         r4 -= ;
    0x0000348a b 0x30bc                                          |         goto label_7;
                                                                 | label_41:
    0x0000348c ldr r3, [pc, 0x178]                               |         
    0x0000348e add r3, pc                                        |         r3 = 0x6a9a;
    0x00003490 mov r0, r3                                        |         r0 = r3;
    0x00003492 b 0x31b6                                          |         goto label_13;
                                                                 | label_46:
    0x00003494 ldr r6, [pc, 0x174]                               |         
    0x00003496 add r6, pc                                        |         r6 = 0x6aa6;
    0x00003498 b 0x31fe                                          |         goto label_14;
                                                                 | label_44:
    0x0000349a ldr r2, [pc, 0x174]                               |         
    0x0000349c mov r1, r6                                        |         r1 = r6;
    0x0000349e ldr r0, [pc, 0x174]                               |         
    0x000034a0 ldr r3, [pc, 0x174]                               |         
    0x000034a2 add r2, pc                                        |         r2 = 0x6ab8;
    0x000034a4 add r0, pc                                        |         r0 = 0x6abe;
    0x000034a6 adds r2, 7                                        |         r2 += 7;
    0x000034a8 add r3, pc                                        |         r3 = 0x6ac4;
    0x000034aa strd r3, r0, [sp]                                 |         __asm ("strd r3, r0, [sp]");
    0x000034ae movs r3, 0x89                                     |         r3 = 0x89;
    0x000034b0 movs r0, 4                                        |         r0 = 4;
    0x000034b2 blx 0x195c                                        |         log_internal ();
    0x000034b6 b 0x31e8                                          |         goto label_11;
                                                                 | label_48:
    0x000034b8 blx 0x171c                                        |         r0 = log_get_max_level ();
    0x000034bc cmp r0, 2                                         |         
    0x000034be ble 0x3484                                        |         
                                                                 |     } while (r0 <= 2);
    0x000034c0 ldr r2, [pc, 0x158]                               |     
    0x000034c2 movs r3, 0x99                                     |     r3 = 0x99;
    0x000034c4 ldr r4, [pc, 0x158]                               |     
    0x000034c6 mov r1, r6                                        |     r1 = r6;
    0x000034c8 ldr r0, [pc, 0x158]                               |     
    0x000034ca add r2, pc                                        |     r2 = 0x6aea;
    0x000034cc add r4, pc                                        |     r4 = 0x6af0;
    0x000034ce add r0, pc                                        |     r0 = 0x6af6;
    0x000034d0 b 0x33f6                                          |     goto label_12;
                                                                 | label_55:
    0x000034d2 ldr r2, [pc, 0x154]                               |     
    0x000034d4 movs r3, 0x95                                     |     r3 = 0x95;
    0x000034d6 ldr r4, [pc, 0x154]                               |     
    0x000034d8 mov r1, r6                                        |     r1 = r6;
    0x000034da ldr r0, [pc, 0x154]                               |     
    0x000034dc add r2, pc                                        |     r2 = 0x6b0a;
    0x000034de add r4, pc                                        |     r4 = 0x6b10;
    0x000034e0 add r0, pc                                        |     r0 = 0x6b16;
    0x000034e2 b 0x33f6                                          |     goto label_12;
                                                                 | label_49:
    0x000034e4 ldr r4, [pc, 0x14c]                               |     
    0x000034e6 add r4, pc                                        |     r4 = 0x6b1e;
    0x000034e8 b 0x3256                                          |     goto label_15;
                                                                 | label_50:
    0x000034ea ldr r3, [pc, 0x14c]                               |     
    0x000034ec add r3, pc                                        |     r3 = 0x6b2a;
    0x000034ee b 0x3264                                          |     goto label_16;
                                                                 | label_54:
    0x000034f0 ldr r0, [pc, 0x148]                               |     
    0x000034f2 add r0, pc                                        |     r0 = 0x6b32;
    0x000034f4 b 0x31b6                                          |     goto label_13;
                                                                 | label_33:
    0x000034f6 blx 0x1944                                        |     stack_chk_fail ();
    0x000034fa nop                                               |     
    0x000034fc subs r7, 2                                        |     r7 -= 2;
    0x000034fe movs r1, r0                                       |     r1 = r0;
    0x00003500 lsls r4, r0, 6                                    |     r4 = r0 << 6;
    0x00003502 movs r0, r0                                       |     
    0x00003504 movs r7, 0xa                                      |     r7 = 0xa;
    0x00003506 movs r0, r0                                       |     
    0x00003508 movs r7, 0x10                                     |     r7 = 0x10;
    0x0000350a movs r0, r0                                       |     
    0x0000350c movs r6, 0xfa                                     |     r6 = 0xfa;
    0x0000350e movs r0, r0                                       |     
    0x00003510 movs r6, 0x8e                                     |     r6 = 0x8e;
    0x00003512 movs r0, r0                                       |     
    0x00003514 movs r6, 0xdc                                     |     r6 = 0xdc;
    0x00003516 movs r0, r0                                       |     
    0x00003518 cmp r1, 0x66                                      |     
    0x0000351a movs r0, r0                                       |     
    0x0000351c subs r5, 0x7e                                     |     r5 -= 0x7e;
    0x0000351e movs r1, r0                                       |     r1 = r0;
    0x00003520 subs r7, 0x26                                     |     r7 -= 0x26;
    0x00003522 movs r1, r0                                       |     r1 = r0;
    0x00003524 movs r5, 0x2c                                     |     r5 = 0x2c;
    0x00003526 movs r0, r0                                       |     
    0x00003528 cmp r0, 0xdc                                      |     
    0x0000352a movs r0, r0                                       |     
    0x0000352c movs r6, 0x6c                                     |     r6 = 0x6c;
    0x0000352e movs r0, r0                                       |     
    0x00003530 movs r4, 0xe8                                     |     r4 = 0xe8;
    0x00003532 movs r0, r0                                       |     
    0x00003534 movs r6, 0x68                                     |     r6 = 0x68;
    0x00003536 movs r0, r0                                       |     
    0x00003538 movs r6, 0x52                                     |     r6 = 0x52;
    0x0000353a movs r0, r0                                       |     
    0x0000353c movs r4, 0x94                                     |     r4 = 0x94;
    0x0000353e movs r0, r0                                       |     
    0x00003540 movs r6, 0x3a                                     |     r6 = 0x3a;
    0x00003542 movs r0, r0                                       |     
    0x00003544 movs r4, 0xe6                                     |     r4 = 0xe6;
    0x00003546 movs r0, r0                                       |     
    0x00003548 movs r4, 0x50                                     |     r4 = 0x50;
    0x0000354a movs r0, r0                                       |     
    0x0000354c movs r6, 0x14                                     |     r6 = 0x14;
    0x0000354e movs r0, r0                                       |     
    0x00003550 movs r6, 0x16                                     |     r6 = 0x16;
    0x00003552 movs r0, r0                                       |     
    0x00003554 movs r5, 0xda                                     |     r5 = 0xda;
    0x00003556 movs r0, r0                                       |     
    0x00003558 movs r0, 0xc4                                     |     r0 = 0xc4;
    0x0000355a movs r0, r0                                       |     
    0x0000355c movs r0, 0xb6                                     |     r0 = 0xb6;
    0x0000355e movs r0, r0                                       |     
    0x00003560 movs r5, 0xf0                                     |     r5 = 0xf0;
    0x00003562 movs r0, r0                                       |     
    0x00003564 movs r3, 0xe2                                     |     r3 = 0xe2;
    0x00003566 movs r0, r0                                       |     
    0x00003568 movs r3, 0xda                                     |     r3 = 0xda;
    0x0000356a movs r0, r0                                       |     
    0x0000356c movs r3, 0xbc                                     |     r3 = 0xbc;
    0x0000356e movs r0, r0                                       |     
    0x00003570 subs r0, r5, r4                                   |     r0 = r5 - r4;
    0x00003572 movs r0, r0                                       |     
    0x00003574 movs r4, 0x76                                     |     r4 = 0x76;
    0x00003576 movs r0, r0                                       |     
    0x00003578 cmp r7, 0xaa                                      |     
    0x0000357a movs r0, r0                                       |     
    0x0000357c subs r2, r1, r4                                   |     r2 = r1 - r4;
    0x0000357e movs r0, r0                                       |     
    0x00003580 cmp r6, 0x70                                      |     
    0x00003582 movs r0, r0                                       |     
    0x00003584 movs r4, 0                                        |     r4 = 0;
    0x00003586 movs r0, r0                                       |     
    0x00003588 subs r6, r6, r3                                   |     r6 -= r3;
    0x0000358a movs r0, r0                                       |     
    0x0000358c cmp r7, 0x7c                                      |     
    0x0000358e movs r0, r0                                       |     
    0x00003590 movs r4, 0xaa                                     |     r4 = 0xaa;
    0x00003592 movs r0, r0                                       |     
    0x00003594 movs r3, 0x4e                                     |     r3 = 0x4e;
    0x00003596 movs r0, r0                                       |     
    0x00003598 subs r4, r3, r2                                   |     r4 = r3 - r2;
    0x0000359a movs r0, r0                                       |     
    0x0000359c movs r4, 0x4a                                     |     r4 = 0x4a;
    0x0000359e movs r0, r0                                       |     
    0x000035a0 cmp r7, 0x20                                      |     
    0x000035a2 movs r0, r0                                       |     
    0x000035a4 movs r3, 0xa4                                     |     r3 = 0xa4;
    0x000035a6 movs r0, r0                                       |     
    0x000035a8 subs r2, r0, r2                                   |     r2 = r0 - r2;
    0x000035aa movs r0, r0                                       |     
    0x000035ac cmp r7, 6                                         |     
    0x000035ae movs r0, r0                                       |     
    0x000035b0 movs r4, 0x46                                     |     r4 = 0x46;
    0x000035b2 movs r0, r0                                       |     
    0x000035b4 subs r0, r5, r0                                   |     r0 = r5 - r0;
    0x000035b6 movs r0, r0                                       |     
    0x000035b8 cmp r5, 0x8e                                      |     
    0x000035ba movs r0, r0                                       |     
    0x000035bc movs r2, 0xd2                                     |     r2 = 0xd2;
    0x000035be movs r0, r0                                       |     
    0x000035c0 subs r4, r2, r0                                   |     r4 = r2 - r0;
    0x000035c2 movs r0, r0                                       |     
    0x000035c4 cmp r5, 0x7a                                      |     
    0x000035c6 movs r0, r0                                       |     
    0x000035c8 movs r2, 0xe2                                     |     r2 = 0xe2;
    0x000035ca movs r0, r0                                       |     
    0x000035cc adds r2, r4, r7                                   |     r2 = r4 + r7;
    0x000035ce movs r0, r0                                       |     
    0x000035d0 movs r3, 0x90                                     |     r3 = 0x90;
    0x000035d2 movs r0, r0                                       |     
    0x000035d4 cmp r6, 0x66                                      |     
    0x000035d6 movs r0, r0                                       |     
    0x000035d8 adds r0, r2, r7                                   |     r0 = r2 + r7;
    0x000035da movs r0, r0                                       |     
    0x000035dc movs r3, 0x7e                                     |     r3 = 0x7e;
    0x000035de movs r0, r0                                       |     
    0x000035e0 cmp r6, 0x54                                      |     
    0x000035e2 movs r0, r0                                       |     
    0x000035e4 adds r6, r2, r6                                   |     r6 = r2 + r6;
    0x000035e6 movs r0, r0                                       |     
    0x000035e8 movs r3, 0x44                                     |     r3 = 0x44;
    0x000035ea movs r0, r0                                       |     
    0x000035ec cmp r6, 0x1a                                      |     
    0x000035ee movs r0, r0                                       |     
    0x000035f0 movs r3, 0xa4                                     |     r3 = 0xa4;
    0x000035f2 movs r0, r0                                       |     
    0x000035f4 movs r1, 0xe8                                     |     r1 = 0xe8;
    0x000035f6 movs r0, r0                                       |     
    0x000035f8 adds r2, r2, r5                                   |     r2 += r5;
    0x000035fa movs r0, r0                                       |     
    0x000035fc movs r3, 0                                        |     r3 = 0;
    0x000035fe movs r0, r0                                       |     
    0x00003600 cmp r5, 0xd6                                      |     
    0x00003602 movs r0, r0                                       |     
    0x00003604 movs r1, 0xd0                                     |     r1 = 0xd0;
    0x00003606 movs r0, r0                                       |     
    0x00003608 movs r1, 0xba                                     |     r1 = 0xba;
    0x0000360a movs r0, r0                                       |     
    0x0000360c movs r1, 0xc2                                     |     r1 = 0xc2;
    0x0000360e movs r0, r0                                       |     
    0x00003610 adds r6, r3, r4                                   |     r6 = r3 + r4;
    0x00003612 movs r0, r0                                       |     
    0x00003614 movs r2, 0x38                                     |     r2 = 0x38;
    0x00003616 movs r0, r0                                       |     
    0x00003618 cmp r5, 0xa0                                      |     
    0x0000361a movs r0, r0                                       |     
    0x0000361c adds r6, r6, r3                                   |     r6 += r3;
    0x0000361e movs r0, r0                                       |     
    0x00003620 movs r3, 0x74                                     |     r3 = 0x74;
    0x00003622 movs r0, r0                                       |     
    0x00003624 cmp r5, 0x7a                                      |     
    0x00003626 movs r0, r0                                       |     
    0x00003628 adds r4, r4, r3                                   |     r4 += r3;
    0x0000362a movs r0, r0                                       |     
    0x0000362c movs r2, 0x92                                     |     r2 = 0x92;
    0x0000362e movs r0, r0                                       |     
    0x00003630 cmp r5, 0x68                                      |     
    0x00003632 movs r0, r0                                       |     
    0x00003634 adds r2, r7, r2                                   |     r2 = r7 + r2;
    0x00003636 movs r0, r0                                       |     
    0x00003638 adds r0, r0, r3                                   |     r0 += r3;
    0x0000363a movs r0, r0                                       |     
    0x0000363c movs r1, 0x56                                     |     r1 = 0x56;
    0x0000363e movs r0, r0                                       |     
    0x00003640 push {r4, r5, r6, lr}                             |     
    0x00003642 sub sp, 0x48                                      |     
    0x00003644 ldr r5, [pc, 0xd8]                                |     
    0x00003646 add r6, sp, 0x20                                  |     r6 += s;
    0x00003648 mov r4, r2                                        |     r4 = r2;
    0x0000364a movs r1, 0                                        |     r1 = 0;
    0x0000364c ldr r3, [pc, 0xd4]                                |     r3 = *(0x3724);
    0x0000364e movs r2, 0x20                                     |     r2 = 0x20;
    0x00003650 add r5, pc                                        |     r5 = 0x6d74;
    0x00003652 mov r0, r6                                        |     r0 = r6;
    0x00003654 ldr r3, [r5, r3]                                  |     
    0x00003656 ldr r3, [r3]                                      |     r3 = *(0x6d74);
    0x00003658 str r3, [sp, 0x44]                                |     var_44h = r3;
    0x0000365a mov.w r3, 0                                       |     r3 = 0;
    0x0000365e blx 0x1764                                        |     memset (r0, r1, r2);
    0x00003662 movs r3, 0                                        |     r3 = 0;
    0x00003664 strd r3, r3, [sp, 0x14]                           |     __asm ("strd r3, r3, [sp, 0x14]");
    0x00003668 str r3, [sp, 0x1c]                                |     var_1ch = r3;
    0x0000366a str r3, [sp, 0x10]                                |     var_10h = r3;
    0x0000366c cmp r4, 0                                         |     
                                                                 |     if (r4 == 0) {
    0x0000366e beq 0x3708                                        |         goto label_56;
                                                                 |     }
    0x00003670 movs r2, 2                                        |     r2 = 2;
    0x00003672 add r3, sp, 0x10                                  |     r3 += var_10h;
    0x00003674 add r5, sp, 0x14                                  |     r5 += var_14h_2;
    0x00003676 str r2, [sp]                                      |     *(sp) = r2;
    0x00003678 strd r5, r3, [sp, 4]                              |     __asm ("strd r5, r3, [sp, 4]");
    0x0000367c mov r0, r4                                        |     r0 = r4;
    0x0000367e ldr r3, [pc, 0xa8]                                |     
    0x00003680 ldr r2, [pc, 0xa8]                                |     
    0x00003682 ldr r1, [pc, 0xac]                                |     
    0x00003684 add r3, pc                                        |     r3 = 0x6db2;
    0x00003686 str r6, [sp, 0xc]                                 |     var_ch_2 = r6;
    0x00003688 add r2, pc                                        |     r2 = 0x6db8;
    0x0000368a add r1, pc                                        |     r1 = 0x6dc0;
    0x0000368c blx 0x17dc                                        |     r0 = bus_map_all_properties ();
    0x00003690 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00003692 blt 0x36c4                                        |         goto label_57;
                                                                 |     }
    0x00003694 mov r0, r6                                        |     r0 = r6;
    0x00003696 bl 0x2f38                                         |     r0 = fcn_00002f38 (r0, r1);
    0x0000369a mov r4, r0                                        |     r4 = r0;
                                                                 |     do {
    0x0000369c ldr r0, [sp, 0x10]                                |         r0 = var_10h;
                                                                 |         if (r0 != 0) {
    0x0000369e cbz r0, 0x36a4                                    |             
    0x000036a0 blx 0x16bc                                        |             sd_bus_message_unref ();
                                                                 |         }
    0x000036a4 mov r0, r5                                        |         r0 = r5;
    0x000036a6 blx 0x1914                                        |         sd_bus_error_free ();
    0x000036aa ldr r2, [pc, 0x88]                                |         
    0x000036ac ldr r3, [pc, 0x74]                                |         r3 = *(0x3724);
    0x000036ae add r2, pc                                        |         r2 = 0x6de8;
    0x000036b0 ldr r3, [r2, r3]                                  |         r3 = *(0x6de8);
    0x000036b2 ldr r2, [r3]                                      |         r2 = *(0x6de8);
    0x000036b4 ldr r3, [sp, 0x44]                                |         r3 = var_44h;
    0x000036b6 eors r2, r3                                       |         r2 ^= r3;
    0x000036b8 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000036bc bne 0x371c                                        |             goto label_58;
                                                                 |         }
    0x000036be mov r0, r4                                        |         r0 = r4;
    0x000036c0 add sp, 0x48                                      |         
    0x000036c2 pop {r4, r5, r6, pc}                              |         
                                                                 | label_57:
    0x000036c4 blx 0x171c                                        |         r0 = log_get_max_level ();
    0x000036c8 cmp r0, 2                                         |         
    0x000036ca ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x000036cc rsble r4, r4, 0                                   |             __asm ("rsble r4, r4, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x000036ce uxtble r4, r4                                     |             __asm ("uxtble r4, r4");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x000036d0 rsble r4, r4, 0                                   |             __asm ("rsble r4, r4, 0");
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x000036d2 bgt 0x36de                                        |             goto label_59;
                                                                 |         }
                                                                 | label_17:
    0x000036d4 cmp r4, 0                                         |         
    0x000036d6 it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x000036d8 mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
    0x000036dc b 0x369c                                          |         
                                                                 |     } while (1);
                                                                 | label_59:
    0x000036de mov r1, r4                                        |     r1 = r4;
    0x000036e0 mov r0, r5                                        |     r0 = r5;
    0x000036e2 blx 0x1680                                        |     bus_error_message ();
    0x000036e6 ldr r2, [pc, 0x50]                                |     
    0x000036e8 mov r1, r4                                        |     r1 = r4;
    0x000036ea str r0, [sp, 8]                                   |     var_8h_3 = r0;
    0x000036ec ldr r3, [pc, 0x4c]                                |     
    0x000036ee ldr r0, [pc, 0x50]                                |     
    0x000036f0 add r2, pc                                        |     r2 = 0x6e2e;
    0x000036f2 adds r2, 7                                        |     r2 += 7;
    0x000036f4 add r3, pc                                        |     r3 = 0x6e34;
    0x000036f6 add r0, pc                                        |     r0 = 0x6e3c;
    0x000036f8 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x000036fa str r0, [sp]                                      |     *(sp) = r0;
    0x000036fc movs r3, 0xc4                                     |     r3 = 0xc4;
    0x000036fe movs r0, 3                                        |     r0 = 3;
    0x00003700 blx 0x195c                                        |     r0 = log_internal ();
    0x00003704 mov r4, r0                                        |     r4 = r0;
    0x00003706 b 0x36d4                                          |     goto label_17;
                                                                 | label_56:
    0x00003708 ldr r1, [pc, 0x38]                                |     
    0x0000370a movs r2, 0xb9                                     |     r2 = 0xb9;
    0x0000370c ldr r3, [pc, 0x38]                                |     
    0x0000370e ldr r0, [pc, 0x3c]                                |     
    0x00003710 add r1, pc                                        |     r1 = 0x6e58;
    0x00003712 add r3, pc                                        |     r3 = 0x6e5e;
    0x00003714 adds r1, 7                                        |     r1 += 7;
    0x00003716 add r0, pc                                        |     r0 = 0x6e68;
    0x00003718 blx 0x1860                                        |     log_assert_failed ();
    0x0000371a invalid                                           |     
                                                                 | label_58:
    0x0000371c blx 0x1944                                        |     stack_chk_fail ();
    0x00003720 subs r0, 0                                        |     
    0x00003722 movs r1, r0                                       |     r1 = r0;
    0x00003724 lsls r4, r0, 6                                    |     r4 = r0 << 6;
    0x00003726 movs r0, r0                                       |     
    0x00003728 adds r3, 0xd0                                     |     r3 += 0xd0;
    0x0000372a movs r1, r0                                       |     r1 = r0;
    0x0000372c adds r0, r7, 7                                    |     r0 = r7 + 7;
    0x0000372e movs r0, r0                                       |     
    0x00003730 subs r2, r2, 0                                    |     
    0x00003732 movs r0, r0                                       |     
    0x00003734 adds r7, 0xa2                                     |     r7 += 0xa2;
    0x00003736 movs r1, r0                                       |     r1 = r0;
    0x00003738 asrs r0, r2, 0x1b                                 |     r0 = r2 >> 0x1b;
    0x0000373a movs r0, r0                                       |     
    0x0000373c movs r3, 0x18                                     |     r3 = 0x18;
    0x0000373e movs r0, r0                                       |     
    0x00003740 cmp r3, 0xe2                                      |     
    0x00003742 movs r0, r0                                       |     
    0x00003744 asrs r0, r6, 0x1a                                 |     r0 = r6 >> 0x1a;
    0x00003746 movs r0, r0                                       |     
    0x00003748 cmp r3, 0x1a                                      |     
    0x0000374a movs r0, r0                                       |     
    0x0000374c adds r2, r6, 0                                    |     r2 = r6 + 0;
    0x0000374e movs r0, r0                                       |     
    0x00003750 push.w {r4, r5, r6, r7, r8, sb, sl, lr}           |     
    0x00003754 mov r5, r2                                        |     r5 = r2;
    0x00003756 ldr r2, [pc, 0x280]                               |     
    0x00003758 mov r7, r3                                        |     r7 = r3;
    0x0000375a ldr r3, [pc, 0x280]                               |     r3 = *(0x39de);
    0x0000375c add r2, pc                                        |     r2 = 0x713a;
    0x0000375e vpush {d8}                                        |     __asm ("vpush {d8}");
    0x00003762 ldr.w sl, [pc, 0x27c]                             |     sl = *(0x000039e0);
    0x00003766 sub sp, 0x128                                     |     
    0x00003768 ldr r3, [r2, r3]                                  |     
    0x0000376a add sl, pc                                        |     sl += pc;
    0x0000376c ldr r3, [r3]                                      |     r3 = *(0x713a);
    0x0000376e str r3, [sp, 0x124]                               |     var_124h = r3;
    0x00003770 mov.w r3, 0                                       |     r3 = 0;
    0x00003774 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00003776 beq.w 0x397c                                      |         goto label_60;
                                                                 |     }
    0x0000377a cmp r5, 0                                         |     
                                                                 |     if (r5 == 0) {
    0x0000377c beq.w 0x3992                                      |         goto label_61;
                                                                 |     }
    0x00003780 add.w sb, sp, 0x17                                |     sb += var_17h;
    0x00003784 mov r8, r1                                        |     r8 = r1;
    0x00003786 mov r6, r0                                        |     r6 = r0;
    0x00003788 add r2, sp, 0x18                                  |     r2 += var_18h_2;
    0x0000378a mov r1, sb                                        |     r1 = sb;
    0x0000378c mov r0, r5                                        |     r0 = r5;
    0x0000378e blx 0x19d4                                        |     r0 = sd_bus_message_peek_type ();
    0x00003792 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00003794 blt 0x37a0                                        |         goto label_18;
                                                                 |     }
    0x00003796 ldrb.w r4, [sp, 0x17]                             |     r4 = var_17h;
    0x0000379a cmp r4, 0x72                                      |     
    0x0000379c beq 0x37c2                                        |     
                                                                 |     while (r0 != 0) {
    0x0000379e movs r4, 0                                        |         r4 = 0;
                                                                 | label_18:
    0x000037a0 ldr r2, [pc, 0x240]                               |         
    0x000037a2 ldr r3, [pc, 0x238]                               |         r3 = *(0x39de);
    0x000037a4 add r2, pc                                        |         r2 = 0x718c;
    0x000037a6 ldr r3, [r2, r3]                                  |         r3 = *(0x718c);
    0x000037a8 ldr r2, [r3]                                      |         r2 = *(0x718c);
    0x000037aa ldr r3, [sp, 0x124]                               |         r3 = var_124h;
    0x000037ac eors r2, r3                                       |         r2 ^= r3;
    0x000037ae mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x000037b2 bne.w 0x39d2                                      |             goto label_62;
                                                                 |         }
    0x000037b6 mov r0, r4                                        |         r0 = r4;
    0x000037b8 add sp, 0x128                                     |         
    0x000037ba vpop {d8}                                         |         __asm ("vpop {d8}");
    0x000037be pop.w {r4, r5, r6, r7, r8, sb, sl, pc}            |         
    0x000037c2 ldr r1, [pc, 0x224]                               |         
    0x000037c4 mov r0, r6                                        |         r0 = r6;
    0x000037c6 add r1, pc                                        |         r1 = 0x71b4;
    0x000037c8 blx 0x1a4c                                        |         r0 = strcmp (r0, r1);
    0x000037cc mov sb, r0                                        |         sb = r0;
                                                                 |         if (r0 == 0) {
    0x000037ce cbz r0, 0x381a                                    |             goto label_63;
                                                                 |         }
    0x000037d0 ldr r1, [pc, 0x218]                               |         
    0x000037d2 mov r0, r6                                        |         r0 = r6;
    0x000037d4 add r1, pc                                        |         r1 = 0x71c4;
    0x000037d6 blx 0x1a4c                                        |         r0 = strcmp (r0, r1);
    0x000037da cmp r0, 0                                         |         
    0x000037dc bne 0x379e                                        |         
                                                                 |     }
    0x000037de ldr r2, [pc, 0x210]                               |     
    0x000037e0 mov r1, r4                                        |     r1 = r4;
    0x000037e2 str r0, [sp, 0x1c]                                |     var_1ch_3 = r0;
    0x000037e4 mov r0, r5                                        |     r0 = r5;
    0x000037e6 add.w sb, sp, 0x1c                                |     sb += var_1ch_3;
    0x000037ea add r2, pc                                        |     r2 = 0x71e0;
    0x000037ec blx 0x16c8                                        |     r0 = sd_bus_message_enter_container ();
    0x000037f0 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 >= r0) {
    0x000037f2 blt 0x3810                                        |         
    0x000037f4 mov r0, r5                                        |         r0 = r5;
    0x000037f6 mov r1, sb                                        |         r1 = sb;
    0x000037f8 bl 0x2dc4                                         |         r0 = fcn_00002dc4 (r0, r1);
    0x000037fc subs r4, r0, 0                                    |         r4 = r0 - 0;
                                                                 |         if (r4 < r0) {
    0x000037fe blt 0x3810                                        |             goto label_64;
                                                                 |         }
    0x00003800 movs r4, 1                                        |         r4 = 1;
    0x00003802 ldr.w r3, [sb]                                    |         r3 = *(sb);
    0x00003806 mov r2, r7                                        |         r2 = r7;
    0x00003808 mov r1, r8                                        |         r1 = r8;
    0x0000380a mov r0, r6                                        |         r0 = r6;
    0x0000380c blx 0x1a58                                        |         bus_print_property_value ();
                                                                 |     }
                                                                 | label_64:
    0x00003810 ldr.w r0, [sb]                                    |     r0 = *(sb);
    0x00003814 blx 0x17c4                                        |     free (r0);
    0x00003816 vqdmlsl.s16 q15, d22, d2[0]                       |     __asm ("vqdmlsl.s16 q15, d22, d2[0]");
                                                                 | label_63:
    0x0000381a add.w r8, sp, 0x20                                |     r8 += var_20h_3;
    0x0000381e mov r1, r0                                        |     r1 = r0;
    0x00003820 movs r2, 0x98                                     |     r2 = 0x98;
    0x00003822 mov r0, r8                                        |     r0 = r8;
    0x00003824 blx 0x1764                                        |     memset (r0, r1, r2);
    0x00003828 mov r2, r5                                        |     r2 = r5;
    0x0000382a mov r3, sb                                        |     r3 = sb;
    0x0000382c mov r1, sb                                        |     r1 = sb;
    0x0000382e mov r0, sb                                        |     r0 = sb;
    0x00003830 str.w r8, [sp]                                    |     __asm ("str.w r8, [sp]");
    0x00003834 bl 0x2ca0                                         |     r0 = fcn_00002ca0 (r0, r1);
    0x00003838 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000383a blt.w 0x3972                                      |         goto label_65;
                                                                 |     }
    0x0000383e ldrd r3, r2, [r8, 0x80]                           |     __asm ("ldrd r3, r2, [r8, 0x80]");
    0x00003842 orrs r3, r2                                       |     r3 |= r2;
    0x00003844 it eq                                             |     
                                                                 |     if (r3 != r2) {
    0x00003846 moveq r4, 1                                       |         r4 = 1;
                                                                 |     }
                                                                 |     if (r3 == r2) {
    0x00003848 beq.w 0x3972                                      |         goto label_65;
                                                                 |     }
    0x0000384c lsls r3, r7, 0x1f                                 |     r3 = r7 << 0x1f;
                                                                 |     if (r3 >= r7) {
    0x0000384e bpl.w 0x39ba                                      |         goto label_66;
                                                                 |     }
                                                                 | label_20:
    0x00003852 ldrd r0, r2, [r8, 0x34]                           |     __asm ("ldrd r0, r2, [r8, 0x34]");
    0x00003856 add r6, sp, 0xe4                                  |     r6 += var_e4h;
    0x00003858 ldr.w r1, [r8, 0x30]                              |     r1 = *((r8 + 0x30));
    0x0000385c ldr.w r3, [r8, 0x2c]                              |     r3 = *((r8 + 0x2c));
    0x00003860 str r2, [sp, 8]                                   |     var_8h_2 = r2;
    0x00003862 ldr.w r2, [r8, 0x28]                              |     r2 = *((r8 + 0x28));
    0x00003866 strd r1, r0, [sp]                                 |     __asm ("strd r1, r0, [sp]");
    0x0000386a movs r0, 1                                        |     r0 = 1;
    0x0000386c ldr r1, [pc, 0x184]                               |     
    0x0000386e vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x00003872 add r1, pc                                        |     r1 = 0x726a;
    0x00003874 blx 0x1740                                        |     printf_chk ()
    0x00003878 ldrd r2, r3, [r8, 0x40]                           |     __asm ("ldrd r2, r3, [r8, 0x40]");
    0x0000387c movs r1, 0x40                                     |     r1 = 0x40;
    0x0000387e mov r0, r6                                        |     r0 = r6;
    0x00003880 vstr d8, [sp]                                     |     __asm ("vstr d8, [sp]");
    0x00003882 ldrh r0, [r0, 0x18]                               |     r0 = *((r0 + 0x18));
    0x00003884 blx 0x16b0                                        |     format_timespan ();
    0x00003888 ldr r1, [pc, 0x16c]                               |     
    0x0000388a mov r2, r0                                        |     r2 = r0;
    0x0000388c movs r0, 1                                        |     r0 = 1;
    0x0000388e add r1, pc                                        |     r1 = 0x728a;
    0x00003890 blx 0x1740                                        |     printf_chk ()
    0x00003894 ldrd r2, r3, [r8, 0x48]                           |     __asm ("ldrd r2, r3, [r8, 0x48]");
    0x00003898 movs r1, 0x40                                     |     r1 = 0x40;
    0x0000389a mov r0, r6                                        |     r0 = r6;
    0x0000389c vstr d8, [sp]                                     |     __asm ("vstr d8, [sp]");
    0x000038a0 blx 0x16b0                                        |     format_timespan ();
    0x000038a4 ldr r1, [pc, 0x154]                               |     
    0x000038a6 mov r2, r0                                        |     r2 = r0;
    0x000038a8 movs r0, 1                                        |     r0 = 1;
    0x000038aa add r1, pc                                        |     r1 = 0x72aa;
    0x000038ac blx 0x1740                                        |     printf_chk ()
    0x000038b0 ldr.w r0, [r8, 0x34]                              |     r0 = *((r8 + 0x34));
    0x000038b4 cmp r0, 1                                         |     
                                                                 |     if (r0 == 1) {
    0x000038b6 beq 0x39ae                                        |         goto label_67;
                                                                 |     }
    0x000038b8 ldr.w r2, [r8, 0x50]                              |     r2 = *((r8 + 0x50));
    0x000038bc movs r0, 1                                        |     r0 = 1;
    0x000038be ldr r1, [pc, 0x140]                               |     
    0x000038c0 rev r2, r2                                        |     r2 = SWAP32 (r2);
    0x000038c2 add r1, pc                                        |     r1 = 0x72c8;
    0x000038c4 blx 0x1740                                        |     printf_chk ()
                                                                 | label_19:
    0x000038c8 movs r5, 0                                        |     r5 = 0;
    0x000038ca add r4, sp, 0xbc                                  |     r4 += var_bch;
    0x000038cc movs r1, 0x26                                     |     r1 = 0x26;
    0x000038ce str r5, [sp]                                      |     *(sp) = r5;
    0x000038d0 mov r0, r4                                        |     r0 = r4;
    0x000038d2 ldrd r2, r3, [r8, 0x58]                           |     __asm ("ldrd r2, r3, [r8, 0x58]");
    0x000038d6 blx 0x1a1c                                        |     format_timestamp_style ();
    0x000038da ldr r1, [pc, 0x128]                               |     
    0x000038dc mov r2, r0                                        |     r2 = r0;
    0x000038de movs r0, 1                                        |     r0 = 1;
    0x000038e0 add r1, pc                                        |     r1 = 0x72ea;
    0x000038e2 blx 0x1740                                        |     printf_chk ()
    0x000038e6 movs r1, 0x26                                     |     r1 = 0x26;
    0x000038e8 str r5, [sp]                                      |     *(sp) = r5;
    0x000038ea mov r0, r4                                        |     r0 = r4;
    0x000038ec ldrd r2, r3, [r8, 0x60]                           |     __asm ("ldrd r2, r3, [r8, 0x60]");
    0x000038f0 blx 0x1a1c                                        |     format_timestamp_style ();
    0x000038f4 ldr r1, [pc, 0x110]                               |     
    0x000038f6 mov r2, r0                                        |     r2 = r0;
    0x000038f8 movs r0, 1                                        |     r0 = 1;
    0x000038fa add r1, pc                                        |     r1 = 0x7306;
    0x000038fc blx 0x1740                                        |     printf_chk ()
    0x00003900 movs r1, 0x26                                     |     r1 = 0x26;
    0x00003902 str r5, [sp]                                      |     *(sp) = r5;
    0x00003904 mov r0, r4                                        |     r0 = r4;
    0x00003906 ldrd r2, r3, [r8, 0x68]                           |     __asm ("ldrd r2, r3, [r8, 0x68]");
    0x0000390a blx 0x1a1c                                        |     format_timestamp_style ();
    0x0000390e ldr r1, [pc, 0xfc]                                |     
    0x00003910 mov r2, r0                                        |     r2 = r0;
    0x00003912 movs r0, 1                                        |     r0 = 1;
    0x00003914 add r1, pc                                        |     r1 = 0x7326;
    0x00003916 blx 0x1740                                        |     printf_chk ()
    0x0000391a movs r1, 0x26                                     |     r1 = 0x26;
    0x0000391c str r5, [sp]                                      |     *(sp) = r5;
    0x0000391e mov r0, r4                                        |     r0 = r4;
    0x00003920 ldrd r2, r3, [r8, 0x70]                           |     __asm ("ldrd r2, r3, [r8, 0x70]");
    0x00003924 blx 0x1a1c                                        |     format_timestamp_style ();
    0x00003928 ldr r1, [pc, 0xe4]                                |     
    0x0000392a mov r2, r0                                        |     r2 = r0;
    0x0000392c movs r0, 1                                        |     r0 = 1;
    0x0000392e add r1, pc                                        |     r1 = 0x7342;
    0x00003930 blx 0x1740                                        |     printf_chk ()
    0x00003934 ldrb.w r3, [r8, 0x78]                             |     r3 = *((r8 + 0x78));
                                                                 |     if (r3 != 0) {
    0x00003938 cbnz r3, 0x39a8                                   |         goto label_68;
                                                                 |     }
    0x0000393a ldr r2, [pc, 0xd8]                                |     
    0x0000393c add r2, pc                                        |     r2 = 0x7356;
                                                                 |     do {
    0x0000393e ldrd r0, r1, [r8, 0x80]                           |         __asm ("ldrd r0, r1, [r8, 0x80]");
    0x00003942 strd r0, r1, [sp]                                 |         __asm ("strd r0, r1, [sp]");
    0x00003946 movs r0, 1                                        |         r0 = 1;
    0x00003948 ldr r1, [pc, 0xcc]                                |         
    0x0000394a add r1, pc                                        |         r1 = 0x7366;
    0x0000394c blx 0x1740                                        |         printf_chk ()
    0x00003950 vmov.i32 d16, 0                                   |         __asm ("vmov.i32 d16, 0");
    0x00003954 movs r1, 0x40                                     |         r1 = 0x40;
    0x00003956 ldrd r2, r3, [r8, 0x88]                           |         __asm ("ldrd r2, r3, [r8, 0x88]");
    0x0000395a mov r0, r6                                        |         r0 = r6;
    0x0000395c vstr d16, [sp]                                    |         __asm ("vstr d16, [sp]");
    0x00003960 blx 0x16b0                                        |         format_timespan ();
    0x00003964 ldr r1, [pc, 0xb4]                                |         
    0x00003966 mov r2, r0                                        |         r2 = r0;
    0x00003968 movs r0, 1                                        |         r0 = 1;
    0x0000396a mov r4, r0                                        |         r4 = r0;
    0x0000396c add r1, pc                                        |         r1 = 0x738c;
    0x0000396e blx 0x1740                                        |         printf_chk ()
                                                                 | label_65:
    0x00003972 ldr.w r0, [r8, 4]                                 |         r0 = *((r8 + 4));
    0x00003976 blx 0x17c4                                        |         free (r0);
    0x0000397a b 0x37a0                                          |         goto label_18;
                                                                 | label_60:
    0x0000397c ldr r1, [pc, 0xa0]                                |         
    0x0000397e mov.w r2, 0x2c4                                   |         r2 = 0x2c4;
    0x00003982 ldr r3, [pc, 0xa0]                                |         
    0x00003984 ldr r0, [pc, 0xa0]                                |         
    0x00003986 add r1, pc                                        |         r1 = 0x73aa;
    0x00003988 add r3, pc                                        |         r3 = 0x73b2;
    0x0000398a adds r1, 7                                        |         r1 += 7;
    0x0000398c add r0, pc                                        |         r0 = 0x73b8;
    0x0000398e blx 0x1860                                        |         log_assert_failed ();
                                                                 | label_61:
    0x00003992 ldr r1, [pc, 0x98]                                |         
    0x00003994 movw r2, 0x2c5                                    |         r2 = 0x2c5;
    0x00003998 ldr r3, [pc, 0x94]                                |         
    0x0000399a ldr r0, [pc, 0x98]                                |         
    0x0000399c add r1, pc                                        |         r1 = 0x73ce;
    0x0000399e add r3, pc                                        |         r3 = 0x73d2;
    0x000039a0 adds r1, 7                                        |         r1 += 7;
    0x000039a2 add r0, pc                                        |         r0 = 0x73dc;
    0x000039a4 blx 0x1860                                        |         log_assert_failed ();
                                                                 | label_68:
    0x000039a8 ldr r2, [pc, 0x8c]                                |         
    0x000039aa add r2, pc                                        |         r2 = 0x73e6;
    0x000039ac b 0x393e                                          |         
                                                                 |     } while (1);
                                                                 | label_67:
    0x000039ae ldr r1, [pc, 0x8c]                                |     
    0x000039b0 add r2, sp, 0x70                                  |     r2 += var_70h_2;
    0x000039b2 add r1, pc                                        |     r1 = 0x73f4;
    0x000039b4 blx 0x1740                                        |     printf_chk ()
    0x000039b8 b 0x38c8                                          |     goto label_19;
                                                                 | label_66:
    0x000039ba ldr r3, [pc, 0x84]                                |     r3 = imp.__progname;
    0x000039bc mov r0, r6                                        |     r0 = r6;
    0x000039be ldr.w r4, [sl, r3]                                |     r4 = *((sl + r3));
    0x000039c2 ldr r1, [r4]                                      |     r1 = *(r4);
    0x000039c4 blx 0x1a94                                        |     fputs (r0, r1);
    0x000039c8 ldr r1, [r4]                                      |     r1 = *(r4);
    0x000039ca movs r0, 0x3d                                     |     r0 = 0x3d;
    0x000039cc blx 0x1968                                        |     fputc (r0, r1);
    0x000039d0 b 0x3852                                          |     goto label_20;
                                                                 | label_62:
    0x000039d2 blx 0x1944                                        |     stack_chk_fail ();
    0x000039d6 nop                                               |     
    0x000039d8 adds r6, 0xf4                                     |     r6 += 0xf4;
    0x000039da movs r1, r0                                       |     r1 = r0;
    0x000039dc lsls r4, r0, 6                                    |     r4 = r0 << 6;
    0x000039de movs r0, r0                                       |     
    0x000039e0 adds r6, 0xe6                                     |     r6 += 0xe6;
    0x000039e2 movs r1, r0                                       |     r1 = r0;
    0x000039e4 adds r6, 0xac                                     |     r6 += 0xac;
    0x000039e6 movs r1, r0                                       |     r1 = r0;
    0x000039e8 movs r2, 0x72                                     |     r2 = 0x72;
    0x000039ea movs r0, r0                                       |     
    0x000039ec movs r3, 0x84                                     |     r3 = 0x84;
    0x000039ee movs r0, r0                                       |     
    0x000039f0 subs r2, r3, 1                                    |     r2 = r3 - 1;
    0x000039f2 movs r0, r0                                       |     
    0x000039f4 movs r1, 0xd2                                     |     r1 = 0xd2;
    0x000039f6 movs r0, r0                                       |     
    0x000039f8 movs r1, 0xf2                                     |     r1 = 0xf2;
    0x000039fa movs r0, r0                                       |     
    0x000039fc movs r1, 0xe6                                     |     r1 = 0xe6;
    0x000039fe movs r0, r0                                       |     
    0x00003a00 movs r1, 0xf2                                     |     r1 = 0xf2;
    0x00003a02 movs r0, r0                                       |     
    0x00003a04 movs r1, 0xe4                                     |     r1 = 0xe4;
    0x00003a06 movs r0, r0                                       |     
    0x00003a08 movs r1, 0xe2                                     |     r1 = 0xe2;
    0x00003a0a movs r0, r0                                       |     
    0x00003a0c movs r1, 0xe0                                     |     r1 = 0xe0;
    0x00003a0e movs r0, r0                                       |     
    0x00003a10 movs r1, 0xde                                     |     r1 = 0xde;
    0x00003a12 movs r0, r0                                       |     
    0x00003a14 movs r0, 0xf0                                     |     r0 = 0xf0;
    0x00003a16 movs r0, r0                                       |     
    0x00003a18 movs r1, 0xde                                     |     r1 = 0xde;
    0x00003a1a movs r0, r0                                       |     
    0x00003a1c movs r1, 0xdc                                     |     r1 = 0xdc;
    0x00003a1e movs r0, r0                                       |     
    0x00003a20 asrs r2, r7, 0x10                                 |     r2 = r7 >> 0x10;
    0x00003a22 movs r0, r0                                       |     
    0x00003a24 cmp r0, 0x3c                                      |     
    0x00003a26 movs r0, r0                                       |     
    0x00003a28 movs r0, 0xa4                                     |     r0 = 0xa4;
    0x00003a2a movs r0, r0                                       |     
    0x00003a2c asrs r4, r4, 0x10                                 |     r4 >>= 0x10;
    0x00003a2e movs r0, r0                                       |     
    0x00003a30 cmp r0, 0x26                                      |     
    0x00003a32 movs r0, r0                                       |     
    0x00003a34 subs r6, r6, 2                                    |     r6 -= 2;
    0x00003a36 movs r0, r0                                       |     
    0x00003a38 movs r0, 0x7e                                     |     r0 = 0x7e;
    0x00003a3a movs r0, r0                                       |     
    0x00003a3c movs r0, 0xf2                                     |     r0 = 0xf2;
    0x00003a3e movs r0, r0                                       |     
    0x00003a40 lsls r0, r3, 6                                    |     r0 = r3 << 6;
    0x00003a42 movs r0, r0                                       |     
    0x00003a44 movs r0, r0                                       |     
    0x00003a46 movs r0, r0                                       |     
                                                                 | }

[*] Function printf used 13 times timedatectl