[*] Binary protection state of busctl

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


[*] Function printf tear down of busctl

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x67a0 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.000067a0 ()                                      | void fcn_000067a0 (int16_t arg_4h, int16_t arg1, int16_t arg2, int16_t arg3) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_8h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 |     r2 = arg3;
    0x000067a0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x000067a4 mov sb, r0                                        |     sb = r0;
    0x000067a6 sub sp, 0x24                                      |     
    0x000067a8 mov r5, r2                                        |     r5 = r2;
    0x000067aa add r7, sp, 8                                     |     r7 += var_8h;
    0x000067ac ldr r0, [r2]                                      |     r0 = *(r2);
    0x000067ae ldr r2, [pc, 0x1ec]                               |     
    0x000067b0 ldr r3, [pc, 0x1ec]                               |     r3 = *(0x69a0);
    0x000067b2 add r2, pc                                        |     r2 = 0xd154;
    0x000067b4 ldr r3, [r2, r3]                                  |     
    0x000067b6 ldr r3, [r3]                                      |     r3 = *(0xd154);
    0x000067b8 str r3, [r7, 0x14]                                |     *((r7 + 0x14)) = r3;
    0x000067ba mov.w r3, 0                                       |     r3 = 0;
    0x000067be cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x000067c0 beq.w 0x68f6                                      |         goto label_5;
                                                                 |     }
    0x000067c4 mov r6, r1                                        |     r6 = r1;
    0x000067c6 b 0x67d2                                          |     
                                                                 |     while (r0 == 0) {
    0x000067c8 ldr r0, [r5, 4]!                                  |         r0 = *((r5 += 4));
    0x000067cc cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x000067ce beq.w 0x68f6                                      |             goto label_5;
                                                                 |         }
    0x000067d2 mov r1, r6                                        |         r1 = r6;
    0x000067d4 blx 0x2e8c                                        |         r0 = parse_boolean_argument ();
    0x000067d8 cmp r0, 0                                         |         
    0x000067da beq 0x67c8                                        |         
                                                                 |     }
    0x000067dc movs r0, 0                                        |     r0 = 0;
    0x000067de blx 0x2ed8                                        |     r0 = fcn_00002ed8 ();
    0x000067e2 mov r8, r0                                        |     r8 = r0;
    0x000067e4 mov r0, sb                                        |     r0 = sb;
    0x000067e6 blx 0x298c                                        |     r0 = fcn_0000298c ();
    0x000067ea mov r4, r0                                        |     r4 = r0;
    0x000067ec add.w fp, r0, 1                                   |     
    0x000067f0 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x000067f4 beq.w 0x6958                                      |         goto label_6;
                                                                 |     }
    0x000067f8 mov r0, r8                                        |     r0 = r8;
    0x000067fa blx 0x298c                                        |     fcn_0000298c ();
    0x000067fe add r0, fp                                        |     r0 += fp;
    0x00006800 cmp.w r0, 0x400000                                |     
    0x00006802 lsrs r0, r0, 0x1e                                 |     r0 >>= 0x1e;
                                                                 |     if (r0 > r0) {
    0x00006804 bhi.w 0x692c                                      |         goto label_7;
                                                                 |     }
    0x00006808 adds r0, 7                                        |     r0 += 7;
    0x0000680a mov r1, sb                                        |     r1 = sb;
    0x0000680c bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x00006810 sub.w sp, sp, r0                                  |     
    0x00006814 add.w sl, sp, 8                                   |     sl += var_8h;
    0x00006816 lsrs r0, r1, 8                                    |     r0 = r1 >> 8;
    0x00006818 mov r0, sl                                        |     r0 = sl;
    0x0000681a blx 0x282c                                        |     stpcpy ();
    0x0000681e mov r1, r8                                        |     r1 = r8;
    0x00006820 blx 0x282c                                        |     stpcpy ();
                                                                 | label_2:
    0x00006824 movs r3, 0                                        |     r3 = 0;
    0x00006826 strb r3, [r0]                                     |     *(r0) = r3;
    0x00006828 movs r0, 3                                        |     r0 = 3;
    0x0000682a blx 0x2ed8                                        |     r0 = fcn_00002ed8 ();
    0x0000682e mov r8, r0                                        |     r8 = r0;
    0x00006830 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00006832 beq.w 0x6978                                      |         goto label_8;
                                                                 |     }
    0x00006836 blx 0x298c                                        |     fcn_0000298c ();
    0x0000683a add r0, fp                                        |     r0 += fp;
    0x0000683c cmp.w r0, 0x400000                                |     
                                                                 |     if (r0 > 0x400000) {
    0x00006840 bhi 0x6942                                        |         goto label_3;
                                                                 |     }
    0x00006842 adds r0, 7                                        |     r0 += 7;
    0x00006844 mov r1, sb                                        |     r1 = sb;
    0x00006846 bic r0, r0, 7                                     |     r0 = BIT_MASK (r0, 7);
    0x0000684a sub.w sp, sp, r0                                  |     
    0x0000684e add r3, sp, 8                                     |     r3 += var_8h;
    0x00006850 mov r0, r3                                        |     r0 = r3;
    0x00006852 str r3, [r7, 0xc]                                 |     *((r7 + 0xc)) = r3;
    0x00006854 blx 0x282c                                        |     stpcpy ();
    0x00006858 mov r1, r8                                        |     r1 = r8;
    0x0000685a blx 0x282c                                        |     stpcpy ();
                                                                 | label_4:
    0x0000685e ldr.w r8, [r5]                                    |     r8 = *(r5);
    0x00006862 movs r3, 0                                        |     r3 = 0;
    0x00006864 strb r3, [r0]                                     |     *(r0) = r3;
    0x00006866 cmp.w r8, 0                                       |     
                                                                 |     if (r8 == 0) {
    0x0000686a beq 0x68f6                                        |         goto label_5;
                                                                 |     }
    0x0000686c ldr r3, [pc, 0x134]                               |     
    0x0000686e movs r2, 1                                        |     r2 = 1;
    0x00006870 mov r1, r6                                        |     r1 = r6;
    0x00006872 add r3, pc                                        |     r3 = 0xd21a;
    0x00006874 str r3, [r7, 8]                                   |     *((r7 + 8)) = r3;
    0x00006876 ldr r3, [pc, 0x130]                               |     
    0x00006878 add r3, pc                                        |     r3 = 0xd226;
    0x0000687a str r3, [r7, 4]                                   |     *((r7 + 4)) = r3;
    0x0000687c mov r3, r5                                        |     r3 = r5;
    0x0000687e mov r5, r8                                        |     r5 = r8;
    0x00006880 mov r8, r3                                        |     r8 = r3;
    0x00006882 mov r0, r5                                        |     r0 = r5;
    0x00006884 blx 0x29f8                                        |     r0 = fcn_000029f8 ();
                                                                 |     if (r0 == 0) {
    0x00006888 cbz r0, 0x68f6                                    |         goto label_5;
                                                                 |     }
                                                                 | label_0:
    0x0000688a ldr.w fp, [r8, 4]                                 |     fp = *((r8 + 4));
    0x0000688e add.w r4, r8, 4                                   |     r4 = r8 + 4;
    0x00006892 cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x00006896 beq 0x68c2                                        |         goto label_9;
                                                                 |     }
    0x00006898 mov r3, r4                                        |     r3 = r4;
    0x0000689a mov r4, fp                                        |     r4 = fp;
    0x0000689c mov fp, r3                                        |     
    0x0000689e b 0x68b2                                          |     
                                                                 |     while (r0 != 0) {
    0x000068a0 movs r2, 1                                        |         r2 = 1;
    0x000068a2 mov r1, r5                                        |         r1 = r5;
    0x000068a4 mov r0, r4                                        |         r0 = r4;
    0x000068a6 blx 0x29f8                                        |         r0 = fcn_000029f8 ();
                                                                 |         if (r0 == 0) {
    0x000068aa cbz r0, 0x6912                                    |             goto label_10;
                                                                 |         }
    0x000068ac ldr r4, [fp, 4]!                                  |         r4 = *(arg_4h);
                                                                 |         if (r4 == 0) {
    0x000068b0 cbz r4, 0x68c0                                    |             goto label_11;
                                                                 |         }
    0x000068b2 movs r2, 1                                        |         r2 = 1;
    0x000068b4 mov r1, r6                                        |         r1 = r6;
    0x000068b6 mov r0, r4                                        |         r0 = r4;
    0x000068b8 blx 0x29f8                                        |         r0 = fcn_000029f8 ();
    0x000068bc cmp r0, 0                                         |         
    0x000068be bne 0x68a0                                        |         
                                                                 |     }
                                                                 | label_11:
    0x000068c0 mov r4, fp                                        |     r4 = fp;
                                                                 | label_9:
    0x000068c2 movs r0, 2                                        |     r0 = 2;
    0x000068c4 blx 0x2ed8                                        |     fcn_00002ed8 ();
    0x000068c8 ldr r1, [r7, 4]                                   |     r1 = *((r7 + 4));
    0x000068ca mov r3, r0                                        |     r3 = r0;
    0x000068cc mov r2, sb                                        |     r2 = sb;
    0x000068ce movs r0, 1                                        |     r0 = 1;
    0x000068d0 str r5, [sp]                                      |     *(sp) = r5;
    0x000068d2 blx 0x27fc                                        |     printf_chk ()
    0x000068d6 ldr r0, [r7, 0xc]                                 |     r0 = *((r7 + 0xc));
                                                                 | label_1:
    0x000068d8 ldr.w r1, [r8]                                    |     r1 = *(r8);
    0x000068dc mov r2, r8                                        |     r2 = r8;
    0x000068de bl 0x67a0                                         |     fcn_000067a0 (r0, r1, r2, r3);
    0x000068e2 ldr r5, [r4]                                      |     r5 = *(r4);
                                                                 |     if (r5 == 0) {
    0x000068e4 cbz r5, 0x68f6                                    |         goto label_5;
                                                                 |     }
    0x000068e6 movs r2, 1                                        |     r2 = 1;
    0x000068e8 mov r1, r6                                        |     r1 = r6;
    0x000068ea mov r0, r5                                        |     r0 = r5;
    0x000068ec mov r8, r4                                        |     r8 = r4;
    0x000068ee blx 0x29f8                                        |     r0 = fcn_000029f8 ();
    0x000068f2 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x000068f4 bne 0x688a                                        |         goto label_0;
                                                                 |     }
                                                                 | label_5:
    0x000068f6 ldr r2, [pc, 0xb4]                                |     
    0x000068f8 ldr r3, [pc, 0xa4]                                |     r3 = *(0x69a0);
    0x000068fa add r2, pc                                        |     r2 = "/org/freedesktop/DBus";
    0x000068fc ldr r3, [r2, r3]                                  |     r3 = "/org/freedesktop/DBus";
    0x000068fe ldr r2, [r3]                                      |     r2 = "/org/freedesktop/DBus";
    0x00006900 ldr r3, [r7, 0x14]                                |     r3 = *((r7 + 0x14));
    0x00006902 eors r2, r3                                       |     r2 ^= r3;
    0x00006904 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00006908 bne 0x6998                                        |         goto label_12;
                                                                 |     }
    0x0000690a adds r7, 0x1c                                     |     r7 += 0x1c;
    0x0000690c mov sp, r7                                        |     
    0x0000690e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
    0x00006910 ldrh r0, [r6, 0x3e]                               |     r0 = *((r6 + 0x3e));
                                                                 | label_10:
    0x00006912 movs r0, 1                                        |     r0 = 1;
    0x00006914 mov r4, fp                                        |     r4 = fp;
    0x00006916 blx 0x2ed8                                        |     fcn_00002ed8 ();
    0x0000691a ldr r1, [r7, 8]                                   |     r1 = *((r7 + 8));
    0x0000691c mov r3, r0                                        |     r3 = r0;
    0x0000691e mov r2, sb                                        |     r2 = sb;
    0x00006920 movs r0, 1                                        |     r0 = 1;
    0x00006922 str r5, [sp]                                      |     *(sp) = r5;
    0x00006924 blx 0x27fc                                        |     printf_chk ()
    0x00006926 vmin.s32 q10, q5, q0                              |     __asm ("vmin.s32 q10, q5, q0");
    0x0000692a b 0x68d8                                          |     goto label_1;
                                                                 |     do {
                                                                 | label_7:
    0x0000692c ldr r1, [pc, 0x80]                                |         
    0x0000692e mov.w r2, 0x178                                   |         r2 = 0x178;
    0x00006932 ldr r3, [pc, 0x80]                                |         
    0x00006934 ldr r0, [pc, 0x80]                                |         
    0x00006936 add r1, pc                                        |         r1 = 0xd2ea;
    0x00006938 add r3, pc                                        |         r3 = 0xd2f2;
    0x0000693a adds r1, 7                                        |         r1 += 7;
    0x0000693c add r0, pc                                        |         r0 = 0xd2f8;
    0x0000693e blx 0x2a34                                        |         fcn_00002a34 ();
                                                                 | label_3:
    0x00006942 ldr r1, [pc, 0x78]                                |         
    0x00006944 movw r2, 0x179                                    |         r2 = 0x179;
    0x00006948 ldr r3, [pc, 0x74]                                |         
    0x0000694a ldr r0, [pc, 0x78]                                |         
    0x0000694c add r1, pc                                        |         r1 = 0xd30e;
    0x0000694e add r3, pc                                        |         r3 = 0xd312;
    0x00006950 adds r1, 7                                        |         r1 += 7;
    0x00006952 add r0, pc                                        |         r0 = 0xd31c;
    0x00006954 blx 0x2a34                                        |         fcn_00002a34 ();
                                                                 | label_6:
    0x00006958 cmp.w fp, 0x400000                                |         
    0x0000695c bhi 0x692c                                        |         
                                                                 |     } while (fp > 0x400000);
    0x0000695e add.w r3, r4, 8                                   |     r3 = r4 + 8;
    0x00006962 mov r1, sb                                        |     r1 = sb;
    0x00006964 bl 0x2a776                                        |     void (*0x2a776)(uint32_t, uint32_t) (r1, r3);
    0x00006968 sub.w sp, sp, r3                                  |     
    0x0000696c add.w sl, sp, 8                                   |     sl += var_8h;
    0x00006970 mov r0, sl                                        |     r0 = sl;
    0x00006972 blx 0x282c                                        |     stpcpy ();
    0x00006976 b 0x6824                                          |     goto label_2;
                                                                 | label_8:
    0x00006978 cmp.w fp, 0x400000                                |     
                                                                 |     if (fp > 0x400000) {
    0x0000697c bhi 0x6942                                        |         goto label_3;
                                                                 |     }
    0x0000697e add.w r3, r4, 8                                   |     r3 = r4 + 8;
    0x00006982 mov r1, sb                                        |     r1 = sb;
    0x00006984 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x00006988 sub.w sp, sp, r3                                  |     
    0x0000698c add r3, sp, 8                                     |     r3 += var_8h;
    0x0000698e mov r0, r3                                        |     r0 = r3;
    0x00006990 str r3, [r7, 0xc]                                 |     *((r7 + 0xc)) = r3;
    0x00006992 blx 0x282c                                        |     stpcpy ();
    0x00006996 b 0x685e                                          |     goto label_4;
                                                                 | label_12:
    0x00006998 blx 0x2c24                                        |     fcn_00002c24 ();
    0x0000699c strh r6, [r4, 0x28]                               |     *((r4 + 0x28)) = r6;
    0x0000699e movs r1, r0                                       |     r1 = r0;
    0x000069a0 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x000069a2 movs r0, r0                                       |     
    0x000069a4 str r2, [r0, 0x6c]                                |     *((r0 + 0x6c)) = r2;
    0x000069a6 movs r0, r0                                       |     
    0x000069a8 str r4, [r7, 0x68]                                |     *((r7 + 0x68)) = r4;
    0x000069aa movs r0, r0                                       |     
    0x000069ac strh r6, [r3, 0x1e]                               |     *((r3 + 0x1e)) = r6;
    0x000069ae movs r1, r0                                       |     r1 = r0;
    0x000069b0 ldr r6, [r4, r1]                                  |     r6 = *((r4 + r1));
    0x000069b2 movs r0, r0                                       |     
    0x000069b4 ldrb r4, [r4, 2]                                  |     r4 = *((r4 + 2));
    0x000069b6 movs r0, r0                                       |     
    0x000069b8 str r0, [r3, 0x5c]                                |     *((r3 + 0x5c)) = r0;
    0x000069ba movs r0, r0                                       |     
    0x000069bc ldr r0, [r2, r1]                                  |     r0 = *((r2 + r1));
    0x000069be movs r0, r0                                       |     
    0x000069c0 ldrb r6, [r1, 2]                                  |     r6 = *((r1 + 2));
    0x000069c2 movs r0, r0                                       |     
    0x000069c4 str r2, [r0, 0x5c]                                |     *((r0 + 0x5c)) = r2;
    0x000069c6 movs r0, r0                                       |     
    0x000069c8 ldr r3, [pc, 8]                                   |     r3 = *(0x000069d4);
    0x000069ca mov r2, r1                                        |     r2 = r1;
    0x000069cc add r3, pc                                        |     r3 += pc;
    0x000069ce ldr r1, [r3]                                      |     r1 = *(r3);
    0x000069d0 b.w 0x2928                                        |     return void (*0x2928)() ();
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x7efc */
                                                                 | #include <stdint.h>
                                                                 |  
    ; (fcn) fcn.00007efc ()                                      | void fcn_00007efc (int16_t arg1, int16_t arg2) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
                                                                 | label_7:
    0x00002e88 invalid                                           |     void (*0x2e8c)() ();
    0x00007efc push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00007f00 sub sp, 0x4c                                      |     
    0x00007f02 ldr r6, [pc, 0x2e8]                               |     
    0x00007f04 movs r2, 0                                        |     r2 = 0;
    0x00007f06 mov fp, r1                                        |     
    0x00007f08 ldr r5, [pc, 0x2e4]                               |     
    0x00007f0a ldr r4, [pc, 0x2e8]                               |     r4 = *(0x81f6);
    0x00007f0c add r6, pc                                        |     r6 = 0x100fe;
    0x00007f0e str r6, [sp, 0x1c]                                |     var_1ch = r6;
    0x00007f10 add r5, pc                                        |     r5 = 0x10104;
    0x00007f12 ldr r3, [pc, 0x2e4]                               |     r3 = *(0x81fa);
    0x00007f14 ldr r4, [r5, r4]                                  |     
    0x00007f16 ldr r4, [r4]                                      |     r4 = *(0x10104);
    0x00007f18 str r4, [sp, 0x44]                                |     var_44h = r4;
    0x00007f1a mov.w r4, 0                                       |     r4 = 0;
    0x00007f1e str r2, [sp, 0x2c]                                |     var_2ch = r2;
    0x00007f20 ldr r2, [pc, 0x2d8]                               |     
    0x00007f22 ldr r4, [r6, r3]                                  |     r4 = *(0x100fe);
    0x00007f24 str r0, [sp, 0x14]                                |     var_14h = r0;
    0x00007f26 add r0, sp, 0x2c                                  |     r0 += var_2ch;
    0x00007f28 add r2, pc                                        |     r2 = 0x10128;
    0x00007f2a mov r1, r4                                        |     r1 = r4;
    0x00007f2c blx 0x2c9c                                        |     r0 = fcn_00002c9c ();
    0x00007f30 subs r7, r0, 0                                    |     r7 = r0 - 0;
                                                                 |     if (r7 < r0) {
    0x00007f32 blt.w 0x80de                                      |         goto label_8;
                                                                 |     }
    0x00007f36 mov r0, r4                                        |     r0 = r4;
    0x00007f38 blx 0x29b0                                        |     r0 = fcn_000029b0 ();
    0x00007f3c mov r6, r0                                        |     r6 = r0;
    0x00007f3e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00007f40 beq.w 0x8196                                      |         goto label_9;
                                                                 |     }
    0x00007f44 mov r0, r4                                        |     r0 = r4;
    0x00007f46 blx 0x29b0                                        |     r0 = fcn_000029b0 ();
    0x00007f4a mov r8, r0                                        |     r8 = r0;
    0x00007f4c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00007f4e beq.w 0x81ae                                      |         goto label_10;
                                                                 |     }
    0x00007f52 ldr r3, [pc, 0x2ac]                               |     
    0x00007f54 add r3, pc                                        |     r3 = 0x1015a;
    0x00007f56 adds r3, 7                                        |     r3 += 7;
    0x00007f58 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x00007f5a ldr r3, [pc, 0x2a8]                               |     
    0x00007f5c add r3, pc                                        |     r3 = 0x10166;
    0x00007f5e str r3, [sp, 0x18]                                |     var_18h = r3;
                                                                 |     do {
                                                                 | label_0:
    0x00007f60 ldr r0, [sp, 0x2c]                                |         r0 = var_2ch;
    0x00007f62 movs r2, 0                                        |         r2 = 0;
    0x00007f64 movs r1, 1                                        |         r1 = 1;
    0x00007f66 blx 0x28b0                                        |         r0 = hashmap_first_key_and_value ();
    0x00007f6a mov r4, r0                                        |         r4 = r0;
    0x00007f6c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x00007f6e beq.w 0x811c                                      |             goto label_11;
                                                                 |         }
    0x00007f72 mov r1, r0                                        |         r1 = r0;
    0x00007f74 mov r0, r6                                        |         r0 = r6;
    0x00007f76 blx 0x2e7c                                        |         r0 = fcn_00002e7c ();
    0x00007f7a cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00007f7c bne 0x8046                                        |             goto label_12;
                                                                 |         }
    0x00007f7e mov r1, r4                                        |         r1 = r4;
    0x00007f80 mov r0, r8                                        |         r0 = r8;
    0x00007f82 blx 0x2e7c                                        |         r0 = fcn_00002e7c ();
    0x00007f86 cmp r0, 0                                         |         
                                                                 |         if (r0 != 0) {
    0x00007f88 bne 0x8046                                        |             goto label_12;
                                                                 |         }
    0x00007f8a add r3, sp, 0x30                                  |         r3 += var_30h;
    0x00007f8c add.w sb, sp, 0x38                                |         sb += var_38h;
    0x00007f90 str r3, [sp, 8]                                   |         var_8h = r3;
    0x00007f92 mov r2, r4                                        |         r2 = r4;
    0x00007f94 ldr r3, [pc, 0x270]                               |         
    0x00007f96 mov r1, fp                                        |         r1 = fp;
    0x00007f98 str r0, [sp, 0xc]                                 |         var_ch = r0;
    0x00007f9a str r0, [sp, 0x30]                                |         var_30h = r0;
    0x00007f9c add r3, pc                                        |         r3 = 0x101a8;
    0x00007f9e strd r0, r0, [sp, 0x38]                           |         __asm ("strd r0, r0, [sp, 0x38]");
    0x00007fa2 str r0, [sp, 0x40]                                |         var_40h = r0;
    0x00007fa4 str r3, [sp]                                      |         *(sp) = r3;
    0x00007fa6 ldr r0, [sp, 0x14]                                |         r0 = var_14h;
    0x00007fa8 ldr r3, [sp, 0x18]                                |         r3 = var_18h;
    0x00007faa str.w sb, [sp, 4]                                 |         __asm ("str.w sb, [var_4h]");
    0x00007fae ldr.w sl, [sp, 0x2c]                              |         sl = var_2ch;
    0x00007fb2 blx 0x2e4c                                        |         r0 = fcn_00002e4c ();
    0x00007fb6 subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 < r0) {
    0x00007fb8 blt 0x806c                                        |             goto label_13;
                                                                 |         }
    0x00007fba ldr r1, [pc, 0x250]                               |         
    0x00007fbc add r2, sp, 0x34                                  |         r2 += var_34h;
    0x00007fbe ldr r0, [sp, 0x30]                                |         r0 = var_30h;
    0x00007fc0 add r1, pc                                        |         r1 = 0x101d2;
    0x00007fc2 blx 0x28a4                                        |         r0 = sd_bus_message_read ();
    0x00007fc6 subs r5, r0, 0                                    |         r5 = r0 - 0;
                                                                 |         if (r5 < r0) {
    0x00007fc8 blt 0x804e                                        |             goto label_14;
                                                                 |         }
    0x00007fca ldr r2, [pc, 0x244]                               |         
    0x00007fcc mov r3, sl                                        |         r3 = sl;
    0x00007fce ldr r1, [sp, 0x34]                                |         r1 = var_34h;
    0x00007fd0 mov r0, r4                                        |         r0 = r4;
    0x00007fd2 add r2, pc                                        |         r2 = 0x101e8;
    0x00007fd4 bl 0x58dc                                         |         r0 = fcn_000058dc (r0, r1, r2, r3, r4);
    0x00007fd8 lsr.w sl, r0, 0x1f                                |         sl = r0 >> 0x1f;
    0x00007fdc mov r5, r0                                        |         r5 = r0;
                                                                 | label_1:
    0x00007fde mov r0, sb                                        |         r0 = sb;
    0x00007fe0 blx 0x2b88                                        |         fcn_00002b88 ();
    0x00007fe4 ldr r0, [sp, 0x30]                                |         r0 = var_30h;
                                                                 |         if (r0 != 0) {
    0x00007fe6 cbz r0, 0x7fec                                    |             
    0x00007fe8 blx 0x2718                                        |             sd_bus_message_unref ();
                                                                 |         }
    0x00007fec cmp r7, 0                                         |         
    0x00007fee ite lt                                            |         
                                                                 |         if (r7 >= 0) {
    0x00007ff0 movlt r3, 0                                       |             r3 = 0;
                                                                 |         }
                                                                 |         if (r7 < 0) {
    0x00007ff2 andge r3, sl, 1                                   |             r3 = sl & 1;
                                                                 |         }
    0x00007ff6 bics.w r0, r6, r5, asr 32                         |         __asm ("bics.w r0, r6, r5, asr 32");
    0x00007ffa it hs                                             |         
                                                                 |         if (r7 < 0) {
    0x00007ffc movhs r0, r8                                      |             r0 = r8;
                                                                 |         }
                                                                 |         if (r3 != 0) {
    0x00007ffe cbz r3, 0x8004                                    |             
    0x00008000 mov r7, r5                                        |             r7 = r5;
    0x00008002 mov r0, r8                                        |             r0 = r8;
                                                                 |         }
    0x00008004 mov r1, r4                                        |         r1 = r4;
    0x00008006 blx 0x27c0                                        |         r0 = set_consume ();
    0x0000800a cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000800c beq.w 0x815c                                      |             goto label_15;
                                                                 |         }
    0x00008010 bge 0x7f60                                        |         
                                                                 |     } while (r0 >= 0);
    0x00008012 ldr r1, [pc, 0x200]                               |     
    0x00008014 mov.w r2, 0x1f0                                   |     r2 = 0x1f0;
    0x00008016 strb r0, [r7, 0xb]                                |     *((r7 + 0xb)) = r0;
    0x00008018 ldr r3, [pc, 0x1fc]                               |     
    0x0000801a movs r0, 3                                        |     r0 = 3;
    0x0000801c movs r4, 0                                        |     r4 = 0;
    0x0000801e add r1, pc                                        |     r1 = 0x10238;
    0x00008020 add r3, pc                                        |     r3 = 0x1023c;
    0x00008022 adds r1, 7                                        |     r1 += 7;
    0x00008024 blx 0x2ea8                                        |     fcn_00002ea8 ();
    0x00008026 vmax.s8 d20, d0, d7                               |     __asm ("vmax.s8 d20, d0, d7");
                                                                 | label_3:
    0x0000802a mov r0, r4                                        |     r0 = r4;
    0x0000802c blx 0x28d4                                        |     free (r0);
    0x00008030 movs r2, 0                                        |     r2 = 0;
    0x00008032 mov r0, r8                                        |     r0 = r8;
    0x00008034 mov r1, r2                                        |     r1 = r2;
    0x00008036 blx 0x2e1c                                        |     fcn_00002e1c ();
    0x00008038 invalid                                           |     
                                                                 | label_5:
    0x0000803a movs r2, 0                                        |     r2 = 0;
    0x0000803c mov r0, r6                                        |     r0 = r6;
    0x0000803e mov r1, r2                                        |     r1 = r2;
    0x00008040 blx 0x2e1c                                        |     fcn_00002e1c ();
    0x00008044 b 0x80f4                                          |     goto label_4;
                                                                 | label_12:
    0x00008046 mov r0, r4                                        |     r0 = r4;
    0x00008048 blx 0x28d4                                        |     free (r0);
    0x0000804c b 0x7f60                                          |     goto label_0;
                                                                 | label_14:
    0x0000804e blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x00008052 cmp r0, 2                                         |     
    0x00008054 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x00008056 rsble r5, r5, 0                                   |         __asm ("rsble r5, r5, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x00008058 uxtble r5, r5                                     |         __asm ("uxtble r5, r5");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000805a rsble r5, r5, 0                                   |         __asm ("rsble r5, r5, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0000805c bgt 0x80ae                                        |         goto label_16;
                                                                 |     }
    0x0000805e cmp r5, 0                                         |     
    0x00008060 mov.w sl, 1                                       |     sl = 1;
    0x00008064 it ge                                             |     
                                                                 |     if (r5 < 0) {
    0x00008066 mvnge r5, 0x55                                    |         r5 = ~0x55;
                                                                 |     }
    0x00008068 lsls r5, r2, 0x15                                 |     r5 = r2 << 0x15;
    0x0000806a b 0x7fde                                          |     goto label_1;
                                                                 | label_13:
    0x0000806c blx 0x2a98                                        |     r0 = fcn_00002a98 ();
                                                                 |     if (r0 != 0) {
    0x00008070 cbnz r0, 0x80a8                                   |         goto label_17;
                                                                 |     }
    0x00008072 ldr r2, [pc, 0x1a8]                               |     
    0x00008074 add r2, pc                                        |     r2 = 0x10296;
                                                                 |     do {
    0x00008076 mov r1, r5                                        |         r1 = r5;
    0x00008078 mov r0, sb                                        |         r0 = sb;
    0x0000807a str r2, [sp, 0x20]                                |         var_20h = r2;
    0x0000807c blx 0x2688                                        |         r0 = bus_error_message ();
    0x00008080 mov sl, r0                                        |         sl = r0;
    0x00008082 blx 0x2a98                                        |         fcn_00002a98 ();
    0x00008084 vstr s18, [sl, -0x20]                             |         __asm ("vstr s18, [sl, -0x20]");
                                                                 |         if (r0 != 0) {
    0x00008088 cbnz r0, 0x80d8                                   |             goto label_18;
                                                                 |         }
    0x0000808a ldr r3, [pc, 0x194]                               |         
    0x0000808c add r3, pc                                        |         r3 = 0x102b2;
                                                                 | label_2:
    0x0000808e ldr r1, [pc, 0x194]                               |         
    0x00008090 movs r0, 1                                        |         r0 = 1;
    0x00008092 strd sl, r3, [sp, 4]                              |         __asm ("strd sl, r3, [sp, 4]");
    0x00008094 adr r3, 4                                         |         r3 = 4;
    0x00008096 mov r3, r4                                        |         r3 = r4;
    0x00008098 str.w fp, [sp]                                    |         __asm ("str.w fp, [sp]");
    0x0000809c mov.w sl, 1                                       |         sl = 1;
    0x0000809e lsrs r1, r0, 8                                    |         r1 = r0 >> 8;
    0x000080a0 add r1, pc                                        |         r1 = 0x102ca;
    0x000080a2 blx 0x27fc                                        |         printf_chk ()
    0x000080a6 b 0x7fde                                          |         goto label_1;
                                                                 | label_17:
    0x000080a8 ldr r2, [pc, 0x17c]                               |         
    0x000080aa add r2, pc                                        |         r2 = 0x102d6;
    0x000080ac b 0x8076                                          |         
                                                                 |     } while (1);
                                                                 | label_16:
    0x000080ae ldr r3, [pc, 0x17c]                               |     
    0x000080b0 mov r1, r5                                        |     r1 = r5;
    0x000080b2 ldr r2, [sp, 0x24]                                |     r2 = var_24h;
    0x000080b4 movs r0, 3                                        |     r0 = 3;
    0x000080b6 mov.w sl, 1                                       |     sl = 1;
    0x000080ba add r3, pc                                        |     r3 = 0x102ec;
    0x000080bc str r3, [sp, 4]                                   |     var_4h = r3;
    0x000080be ldr r3, [pc, 0x170]                               |     
    0x000080c0 add r3, pc                                        |     r3 = 0x102f6;
    0x000080c2 str r3, [sp]                                      |     *(sp) = r3;
    0x000080c4 movw r3, 0x1c7                                    |     r3 = 0x1c7;
    0x000080c8 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x000080cc mov r5, r0                                        |     r5 = r0;
    0x000080ce cmp r5, 0                                         |     
    0x000080d0 it ge                                             |     
                                                                 |     if (r5 < 0) {
    0x000080d2 mvnge r5, 0x55                                    |         r5 = ~0x55;
                                                                 |     }
    0x000080d6 b 0x7fde                                          |     goto label_1;
                                                                 | label_18:
    0x000080d8 ldr r3, [pc, 0x158]                               |     
    0x000080da add r3, pc                                        |     r3 = 0x10312;
    0x000080dc b 0x808e                                          |     goto label_2;
                                                                 | label_8:
    0x000080de ldr r1, [pc, 0x158]                               |     
    0x000080e0 movw r2, 0x1d3                                    |     r2 = 0x1d3;
    0x000080e2 asrs r3, r2, 0xb                                  |     r3 = r2 >> 0xb;
    0x000080e4 ldr r3, [pc, 0x154]                               |     
    0x000080e6 movs r0, 3                                        |     r0 = 3;
    0x000080e8 add r1, pc                                        |     r1 = 0x10326;
    0x000080ea add r3, pc                                        |     r3 = 0x1032a;
    0x000080ec adds r1, 7                                        |     r1 += 7;
    0x000080ee blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x000080f2 mov r7, r0                                        |     r7 = r0;
                                                                 | label_4:
    0x000080f4 ldr r0, [sp, 0x2c]                                |     r0 = var_2ch;
                                                                 |     if (r0 != 0) {
    0x000080f6 cbz r0, 0x8100                                    |         
    0x000080f8 movs r2, 0                                        |         r2 = 0;
    0x000080fa mov r1, r2                                        |         r1 = r2;
    0x000080fc blx 0x2e1c                                        |         fcn_00002e1c ();
                                                                 |     }
    0x00008100 ldr r2, [pc, 0x13c]                               |     
    0x00008102 ldr r3, [pc, 0xf0]                                |     r3 = *(0x81f6);
    0x00008104 add r2, pc                                        |     r2 = 0x10348;
    0x00008106 ldr r3, [r2, r3]                                  |     r3 = *(0x10348);
    0x00008108 ldr r2, [r3]                                      |     r2 = *(0x10348);
    0x0000810a ldr r3, [sp, 0x44]                                |     r3 = var_44h;
    0x0000810c eors r2, r3                                       |     r2 ^= r3;
    0x0000810e mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00008112 bne 0x81e8                                        |         goto label_19;
                                                                 |     }
    0x00008114 mov r0, r7                                        |     r0 = r7;
    0x00008116 add sp, 0x4c                                      |     
    0x00008118 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
    0x0000811a ldrh r0, [r6, 0x3e]                               |     r0 = *((r6 + 0x3e));
                                                                 | label_11:
    0x0000811c ldr r3, [pc, 0x124]                               |     
    0x0000811e add r3, pc                                        |     r3 = 0x10366;
    0x00008120 ldr r0, [r3]                                      |     r0 = *(0x10366);
    0x00008122 blx 0x2a80                                        |     fcn_00002a80 ();
    0x00008124 stc p6, c4, [lr], 0xc0                            |     __asm ("stc p6, c4, [lr], 0xc0");
    0x00008128 blx 0x2b70                                        |     r0 = fcn_00002b70 ();
    0x0000812c mov r4, r0                                        |     r4 = r0;
    0x0000812e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00008130 beq 0x81d0                                        |         goto label_20;
                                                                 |     }
    0x00008132 blx 0x2d80                                        |     fcn_00002d80 ();
    0x00008136 ldr r3, [pc, 0x110]                               |     
    0x00008138 add r3, pc                                        |     r3 = 0x10386;
    0x0000813a ldrb r3, [r3]                                     |     r3 = *(r3);
                                                                 |     if (r3 == 0) {
    0x0000813c cbnz r3, 0x8172                                   |         
    0x0000813e ldr r3, [r4]                                      |         r3 = *(r4);
    0x00008140 cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00008142 beq 0x81c6                                        |             goto label_21;
                                                                 |         }
    0x00008144 ldrb r2, [r3]                                     |         r2 = *(r3);
    0x00008146 cmp r2, 0x2f                                      |         
                                                                 |         if (r2 != 0x2f) {
    0x00008148 bne 0x8186                                        |             goto label_22;
                                                                 |         }
    0x0000814a ldrb r3, [r3, 1]                                  |         r3 = *((r3 + 1));
                                                                 |         if (r3 != 0) {
    0x0000814c cbnz r3, 0x8186                                   |             goto label_22;
                                                                 |         }
    0x0000814e ldr r3, [r4, 4]                                   |         r3 = *((r4 + 4));
                                                                 |         if (r3 != 0) {
    0x00008150 cbnz r3, 0x8186                                   |             goto label_22;
                                                                 |         }
    0x00008152 ldr r0, [pc, 0xf8]                                |         
    0x00008154 add r0, pc                                        |         r0 = 0x103a6;
    0x00008156 blx 0x2cc0                                        |         fcn_00002cc0 ();
    0x0000815a b 0x8178                                          |         goto label_6;
                                                                 | label_15:
    0x0000815c ldr r1, [pc, 0xf0]                                |         
    0x0000815e mov.w r2, 0x1ee                                   |         r2 = 0x1ee;
    0x00008162 ldr r3, [pc, 0xf0]                                |         
    0x00008164 ldr r0, [pc, 0xf0]                                |         
    0x00008166 add r1, pc                                        |         r1 = 0x103ba;
    0x00008168 add r3, pc                                        |         r3 = 0x103c2;
    0x0000816a adds r1, 7                                        |         r1 += 7;
    0x0000816c add r0, pc                                        |         r0 = 0x103c8;
    0x0000816e blx 0x2a34                                        |         fcn_00002a34 ();
                                                                 |     }
    0x00008172 mov r0, r4                                        |     r0 = r4;
    0x00008174 blx 0x28bc                                        |     strv_print ();
                                                                 |     do {
                                                                 | label_6:
    0x00008178 ldr r2, [sp, 0x1c]                                |         r2 = var_1ch;
    0x0000817a ldr r3, [pc, 0xe0]                                |         r3 = *(0x825e);
    0x0000817c ldr r3, [r2, r3]                                  |         r3 = *((r2 + r3));
    0x0000817e ldr r0, [r3]                                      |         r0 = *(0x825e);
    0x00008180 blx 0x2944                                        |         fcn_00002944 ();
    0x00008184 b 0x802a                                          |         goto label_3;
                                                                 | label_22:
    0x00008186 ldr r1, [pc, 0xd8]                                |         
    0x00008188 mov r2, r4                                        |         r2 = r4;
    0x0000818a ldr r0, [pc, 0xd8]                                |         
    0x0000818c add r1, pc                                        |         r1 = 0x103f2;
    0x0000818e add r0, pc                                        |         r0 = 0x103f8;
    0x00008190 bl 0x67a0                                         |         fcn_000067a0 (r0, r1, r2, r3);
    0x00008194 b 0x8178                                          |         
                                                                 |     } while (1);
                                                                 | label_9:
    0x00008196 ldr r1, [pc, 0xd0]                                |     
    0x00008198 movw r2, 0x1d7                                    |     r2 = 0x1d7;
    0x0000819c ldr r3, [pc, 0xcc]                                |     
    0x0000819e movs r0, 3                                        |     r0 = 3;
    0x000081a0 add r1, pc                                        |     r1 = 0x1040e;
    0x000081a2 add r3, pc                                        |     r3 = 0x10412;
    0x000081a4 adds r1, 7                                        |     r1 += 7;
    0x000081a6 blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x000081aa mov r7, r0                                        |     r7 = r0;
    0x000081ac b 0x80f4                                          |     goto label_4;
                                                                 | label_10:
    0x000081ae ldr r1, [pc, 0xc0]                                |     
    0x000081b0 movw r2, 0x1db                                    |     r2 = 0x1db;
    0x000081b4 ldr r3, [pc, 0xbc]                                |     
    0x000081b6 movs r0, 3                                        |     r0 = 3;
    0x000081b8 add r1, pc                                        |     r1 = 0x1042e;
    0x000081ba add r3, pc                                        |     r3 = 0x10432;
    0x000081bc adds r1, 7                                        |     r1 += 7;
    0x000081be blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x000081c2 mov r7, r0                                        |     r7 = r0;
    0x000081c4 b 0x803a                                          |     goto label_5;
                                                                 | label_21:
    0x000081c6 ldr r0, [pc, 0xb0]                                |     
    0x000081c8 add r0, pc                                        |     r0 = 0x10446;
    0x000081ca blx 0x2cc0                                        |     fcn_00002cc0 ();
    0x000081ce b 0x8178                                          |     goto label_6;
                                                                 | label_20:
    0x000081d0 ldr r1, [pc, 0xa8]                                |     
    0x000081d2 movw r2, 0x1f7                                    |     r2 = 0x1f7;
    0x000081d6 ldr r3, [pc, 0xa8]                                |     
    0x000081d8 movs r0, 3                                        |     r0 = 3;
    0x000081da add r1, pc                                        |     r1 = 0x1045a;
    0x000081dc add r3, pc                                        |     r3 = 0x10462;
    0x000081de adds r1, 7                                        |     r1 += 7;
    0x000081e0 blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x000081e4 mov r7, r0                                        |     r7 = r0;
    0x000081e6 b 0x802a                                          |     goto label_3;
                                                                 | label_19:
    0x000081e8 blx 0x2c24                                        |     fcn_00002c24 ();
    0x000081ec ldr r4, [r1, 0x5c]                                |     r4 = *((r1 + 0x5c));
    0x000081ee movs r1, r0                                       |     r1 = r0;
    0x000081f0 ldr r0, [r1, 0x5c]                                |     r0 = *((r1 + 0x5c));
    0x000081f2 movs r1, r0                                       |     r1 = r0;
    0x000081f4 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x000081f6 movs r0, r0                                       |     
    0x000081f8 lsls r0, r6, 0xb                                  |     r0 = r6 << 0xb;
    0x000081fa movs r0, r0                                       |     
    0x000081fc ldrsb r0, [r6, r3]                                |     r0 = *((r6 + r3));
    0x000081fe movs r0, r0                                       |     
    0x00008200 rsbs r0, r1, 0                                    |     r0 = r1 - ;
    0x00008202 movs r0, r0                                       |     
    0x00008204 ldrsb r0, [r0, r3]                                |     r0 = *((r0 + r3));
    0x00008206 movs r0, r0                                       |     
    0x00008208 ldrsb r4, [r4, r2]                                |     r4 = *((r4 + r2));
    0x0000820a movs r0, r0                                       |     
    0x0000820c ldrh r4, [r1, r7]                                 |     r4 = *((r1 + r7));
    0x0000820e movs r0, r0                                       |     
    0x00008210 ldr r2, [r4, 0x10]                                |     r2 = *((r4 + 0x10));
    0x00008212 movs r1, r0                                       |     r1 = r0;
    0x00008214 adcs r6, r7                                       |     __asm ("adcs r6, r7");
    0x00008216 movs r0, r0                                       |     
    0x00008218 str r0, [r6, 0x1c]                                |     *((r6 + 0x1c)) = r0;
    0x0000821a movs r0, r0                                       |     
    0x0000821c ldr r0, [r0, r2]                                  |     r0 = *((r0 + r2));
    0x0000821e movs r0, r0                                       |     
    0x00008220 ldr r0, [r5, r1]                                  |     r0 = *((r5 + r1));
    0x00008222 movs r0, r0                                       |     
    0x00008224 strb r4, [r5, r6]                                 |     *((r5 + r6)) = r4;
    0x00008226 movs r0, r0                                       |     
    0x00008228 strb r2, [r4, r5]                                 |     *((r4 + r5)) = r2;
    0x0000822a movs r0, r0                                       |     
    0x0000822c strh r2, [r6, r4]                                 |     *((r6 + r4)) = r2;
    0x0000822e movs r0, r0                                       |     
    0x00008230 str r4, [r0, 0x14]                                |     *((r0 + 0x14)) = r4;
    0x00008232 movs r0, r0                                       |     
    0x00008234 lsls r6, r5                                       |     r6 <<= r5;
    0x00008236 movs r0, r0                                       |     
    0x00008238 lsls r4, r6                                       |     r4 <<= r6;
    0x0000823a movs r0, r0                                       |     
    0x0000823c str r6, [r4, 0x10]                                |     *((r4 + 0x10)) = r6;
    0x0000823e movs r0, r0                                       |     
    0x00008240 ldr r4, [r2, 0x3c]                                |     r4 = *((r2 + 0x3c));
    0x00008242 movs r1, r0                                       |     r1 = r0;
    0x00008244 ldr r2, [r3, 0x70]                                |     r2 = *((r3 + 0x70));
    0x00008246 movs r1, r0                                       |     r1 = r0;
    0x00008248 ldr r0, [r7, 0x6c]                                |     r0 = *((r7 + 0x6c));
    0x0000824a movs r1, r0                                       |     r1 = r0;
    0x0000824c strb r0, [r7, r4]                                 |     *((r7 + r4)) = r0;
    0x0000824e movs r0, r0                                       |     
    0x00008250 ands r6, r6                                       |     r6 &= r6;
    0x00008252 movs r0, r0                                       |     
    0x00008254 ldrsh r0, [r0, r5]                                |     r0 = *((r0 + r5));
    0x00008256 movs r0, r0                                       |     
    0x00008258 strb r0, [r3, r4]                                 |     *((r3 + r4)) = r0;
    0x0000825a movs r0, r0                                       |     
    0x0000825c lsls r0, r2, 0xc                                  |     r0 = r2 << 0xc;
    0x0000825e movs r0, r0                                       |     
    0x00008260 strb r4, [r1, r2]                                 |     *((r1 + r2)) = r4;
    0x00008262 movs r0, r0                                       |     
    0x00008264 ldrsb r6, [r4, r5]                                |     r6 = *((r4 + r5));
    0x00008266 movs r0, r0                                       |     
    0x00008268 subs r7, 0xfc                                     |     r7 -= 0xfc;
    0x0000826a movs r0, r0                                       |     
    0x0000826c str r6, [r5, 4]                                   |     *((r5 + 4)) = r6;
    0x0000826e movs r0, r0                                       |     
    0x00008270 subs r7, 0xe4                                     |     r7 -= 0xe4;
    0x00008272 movs r0, r0                                       |     
    0x00008274 str r6, [r2, 4]                                   |     *((r2 + 4)) = r6;
    0x00008276 movs r0, r0                                       |     
    0x00008278 strb r4, [r4, r3]                                 |     *((r4 + r3)) = r4;
    0x0000827a movs r0, r0                                       |     
    0x0000827c subs r7, 0xc2                                     |     r7 -= 0xc2;
    0x0000827e movs r0, r0                                       |     
    0x00008280 str r4, [r6]                                      |     *(r6) = r4;
    0x00008282 movs r0, r0                                       |     
    0x00008284 push {r3, r4, r5, r6, r7, lr}                     |     
                                                                 |     if (r0 == 0) {
    0x00008286 cbz r0, 0x82e6                                    |         goto label_23;
                                                                 |     }
    0x00008288 mov r5, r1                                        |     r5 = r1;
    0x0000828a cmp r1, 0                                         |     
                                                                 |     if (r1 == 0) {
    0x0000828c beq 0x82fc                                        |         goto label_24;
                                                                 |     }
    0x0000828e mov r4, r0                                        |     r4 = r0;
    0x00008290 ldr r6, [r0]                                      |     r6 = *(r0);
    0x00008292 cmp r6, 0                                         |     
                                                                 |     if (r6 == 0) {
    0x00008294 beq 0x8312                                        |         goto label_25;
                                                                 |     }
    0x00008296 ldr r7, [r1]                                      |     r7 = *(r1);
    0x00008298 cmp r7, 0                                         |     
                                                                 |     if (r7 == 0) {
    0x0000829a beq 0x8328                                        |         goto label_26;
                                                                 |     }
    0x0000829c ldr r0, [r0, 4]                                   |     r0 = *((r0 + 4));
    0x0000829e ldr r1, [r1, 4]                                   |     r1 = *((r1 + 4));
    0x000082a0 cmp r0, 0                                         |     
    0x000082a2 it ne                                             |     
                                                                 |     if (r0 != 0) {
    0x000082a4 cmpne r1, 0                                       |         __asm ("cmpne r1, 0");
                                                                 |     }
                                                                 |     if (r0 != 0) {
    0x000082a6 bne 0x82d0                                        |         goto label_27;
                                                                 |     }
    0x000082a8 cmp r0, r1                                        |     
                                                                 |     if (r0 <= r1) {
    0x000082aa blo 0x833e                                        |         goto label_28;
                                                                 |     }
                                                                 |     if (r0 > r1) {
    0x000082ac bhi 0x82e2                                        |         goto label_29;
                                                                 |     }
                                                                 |     do {
    0x000082ae mov r1, r7                                        |         r1 = r7;
    0x000082b0 mov r0, r6                                        |         r0 = r6;
    0x000082b2 blx 0x2e8c                                        |         r0 = parse_boolean_argument ();
                                                                 |         if (r0 == 0) {
    0x000082b6 cbnz r0, 0x82ce                                   |             
    0x000082b8 ldr r0, [r4, 8]                                   |             r0 = *((r4 + 8));
    0x000082ba ldr r1, [r5, 8]                                   |             r1 = *((r5 + 8));
    0x000082bc cmp r0, 0                                         |             
    0x000082be it ne                                             |             
                                                                 |             if (r0 != 0) {
    0x000082c0 cmpne r1, 0                                       |                 __asm ("cmpne r1, 0");
                                                                 |             }
                                                                 |             if (r0 != 0) {
    0x000082c2 bne 0x82da                                        |                 goto label_30;
                                                                 |             }
    0x000082c4 cmp r0, r1                                        |             
                                                                 |             if (r0 <= r1) {
    0x000082c6 blo 0x833e                                        |                 goto label_28;
                                                                 |             }
    0x000082c8 ite hi                                            |             
                                                                 |             if (r0 <= r1) {
    0x000082ca movhi r0, 1                                       |                 r0 = 1;
                                                                 |             }
                                                                 |             if (r0 <= r1) {
    0x000082cc movls r0, 0                                       |                 r0 = 0;
                                                                 |                 goto label_31;
                                                                 |             }
                                                                 |         }
                                                                 | label_31:
    0x000082ce pop {r3, r4, r5, r6, r7, pc}                      |         
                                                                 | label_27:
    0x000082d0 blx 0x2e8c                                        |         r0 = parse_boolean_argument ();
    0x000082d4 cmp r0, 0                                         |         
    0x000082d6 beq 0x82ae                                        |         
                                                                 |     } while (r0 == 0);
    0x000082d8 pop {r3, r4, r5, r6, r7, pc}                      |     
                                                                 | label_30:
    0x000082da pop.w {r3, r4, r5, r6, r7, lr}                    |     
    0x000082de b.w 0x2e88                                        |     goto label_7;
                                                                 | label_29:
    0x000082e2 movs r0, 1                                        |     r0 = 1;
    0x000082e4 pop {r3, r4, r5, r6, r7, pc}                      |     
                                                                 | label_23:
    0x000082e6 ldr r1, [pc, 0x5c]                                |     
    0x000082e8 movw r2, 0x2f9                                    |     r2 = 0x2f9;
    0x000082ec ldr r3, [pc, 0x58]                                |     
    0x000082ee ldr r0, [pc, 0x5c]                                |     
    0x000082f0 add r1, pc                                        |     r1 = 0x1063a;
    0x000082f2 add r3, pc                                        |     r3 = 0x1063e;
    0x000082f4 adds r1, 7                                        |     r1 += 7;
    0x000082f6 add r0, pc                                        |     r0 = 0x10648;
    0x000082f8 blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_24:
    0x000082fc ldr r1, [pc, 0x50]                                |     
    0x000082fe movw r2, 0x2fa                                    |     r2 = 0x2fa;
    0x00008302 ldr r3, [pc, 0x50]                                |     
    0x00008304 ldr r0, [pc, 0x50]                                |     
    0x00008306 add r1, pc                                        |     r1 = 0x1065a;
    0x00008308 add r3, pc                                        |     r3 = 0x10662;
    0x0000830a adds r1, 7                                        |     r1 += 7;
    0x0000830c add r0, pc                                        |     r0 = 0x10668;
    0x0000830e blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_25:
    0x00008312 ldr r1, [pc, 0x48]                                |     
    0x00008314 movw r2, 0x2fb                                    |     r2 = 0x2fb;
    0x00008316 movs r2, 0xfb                                     |     r2 = 0xfb;
    0x00008318 ldr r3, [pc, 0x44]                                |     
    0x0000831a ldr r0, [pc, 0x48]                                |     
    0x0000831c add r1, pc                                        |     r1 = 0x1067e;
    0x0000831e add r3, pc                                        |     r3 = 0x10682;
    0x00008320 adds r1, 7                                        |     r1 += 7;
    0x00008322 add r0, pc                                        |     r0 = 0x1068c;
    0x00008324 blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_26:
    0x00008328 ldr r1, [pc, 0x3c]                                |     
    0x0000832a mov.w r2, 0x2fc                                   |     r2 = 0x2fc;
    0x0000832e ldr r3, [pc, 0x3c]                                |     
    0x00008330 ldr r0, [pc, 0x3c]                                |     
    0x00008332 add r1, pc                                        |     r1 = 0x1069e;
    0x00008334 add r3, pc                                        |     r3 = 0x106a6;
    0x00008336 adds r1, 7                                        |     r1 += 7;
    0x00008338 add r0, pc                                        |     r0 = 0x106ac;
    0x0000833a blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_28:
    0x0000833e mov.w r0, -1                                      |     r0 = -1;
    0x00008342 pop {r3, r4, r5, r6, r7, pc}                      |     
                                                                 | }
    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/busctl @ 0x9b54 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define SWAP32(n) ((uint32_t) (((n & 0x000000ff) << 24) | \
                                                                 |                                ((n & 0x0000ff00) <<  8) | \
                                                                 |                                ((n & 0x00ff0000) >>  8) | \
                                                                 |                                ((n & 0xff000000) >> 24)))
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00009b54 ()                                      | void fcn_00009b54 (int16_t arg_14h, uint32_t arg1, int16_t arg2) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h_2;
                                                                 |     int16_t var_40h_2;
                                                                 |     int32_t var_4h_5;
                                                                 |     int32_t var_8h_4;
                                                                 |     int32_t var_ch_4;
                                                                 |     int32_t var_10h_4;
                                                                 |     int32_t var_14h_5;
                                                                 |     int32_t var_18h_4;
                                                                 |     int32_t var_1ch_4;
                                                                 |     int32_t var_20h_5;
                                                                 |     int32_t var_24h_3;
                                                                 |     int32_t var_28h_2;
                                                                 |     void * base;
                                                                 |     int32_t var_30h_3;
                                                                 |     int32_t var_34h_3;
                                                                 |     int32_t var_38h_3;
                                                                 |     int32_t var_3ch_2;
                                                                 |     int32_t var_40h_5;
                                                                 |     int32_t var_44h;
                                                                 |     int16_t var_4ch_3;
                                                                 |     int32_t var_4ch_4;
                                                                 |     int16_t var_54h;
                                                                 |     int16_t var_58h_2;
                                                                 |     int32_t var_5ch_2;
                                                                 |     void * ptr;
                                                                 |     int32_t var_60h_3;
                                                                 |     int16_t var_68h_2;
                                                                 |     int32_t var_6ch_2;
                                                                 |     int32_t var_70h_2;
                                                                 |     int32_t var_74h_2;
                                                                 |     int32_t var_74h_3;
                                                                 |     int32_t var_7ch_2;
                                                                 |     int16_t var_80h_2;
                                                                 |     void * s;
                                                                 |     int32_t var_88h;
                                                                 |     int32_t var_ach_2;
                                                                 |     int16_t var_0h_6;
                                                                 |     int16_t var_0h_2;
                                                                 |     int16_t var_4h_2;
                                                                 |     int32_t var_4h_6;
                                                                 |     int16_t var_ch_2;
                                                                 |     int16_t var_10h_2;
                                                                 |     int16_t var_14h_2;
                                                                 |     int16_t var_1ch_2;
                                                                 |     int16_t var_20h_3;
                                                                 |     int16_t var_24h_2;
                                                                 |     int16_t var_2fh;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_6h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int32_t var_40h_4;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_0h_3;
                                                                 |     int16_t var_4h_3;
                                                                 |     int16_t var_8h_2;
                                                                 |     int16_t var_ch_3;
                                                                 |     int16_t var_10h_3;
                                                                 |     int16_t var_14h_3;
                                                                 |     int16_t var_18h_2;
                                                                 |     int16_t var_1ch_3;
                                                                 |     int16_t var_20h_4;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h_2;
                                                                 |     int16_t var_34h_2;
                                                                 |     int16_t var_38h_2;
                                                                 |     int16_t var_40h_3;
                                                                 |     int32_t var_44h_2;
                                                                 |     int32_t var_44h_3;
                                                                 |     int16_t var_4ch_2;
                                                                 |     int16_t var_50h;
                                                                 |     int16_t var_58h;
                                                                 |     int16_t var_5ch;
                                                                 |     int16_t var_60h;
                                                                 |     int16_t var_64h;
                                                                 |     int16_t var_68h;
                                                                 |     int16_t var_6ch;
                                                                 |     int16_t var_70h;
                                                                 |     int16_t var_74h;
                                                                 |     int16_t var_78h;
                                                                 |     int16_t var_7ch;
                                                                 |     int16_t var_80h;
                                                                 |     int32_t var_88h_2;
                                                                 |     int32_t var_88h_3;
                                                                 |     int16_t var_90h;
                                                                 |     int16_t var_94h;
                                                                 |     int16_t var_98h;
                                                                 |     int16_t var_9ch;
                                                                 |     int16_t var_a0h;
                                                                 |     int16_t var_a4h;
                                                                 |     int16_t var_a8h;
                                                                 |     int16_t var_ach;
                                                                 |     int16_t var_b0h;
                                                                 |     int16_t var_b4h;
                                                                 |     int16_t var_b8h;
                                                                 |     int16_t var_bch;
                                                                 |     int16_t var_c0h;
                                                                 |     int16_t var_c4h;
                                                                 |     int16_t var_c8h;
                                                                 |     int16_t var_cch;
                                                                 |     int16_t var_d0h;
                                                                 |     int16_t var_d4h;
                                                                 |     int16_t var_d8h;
                                                                 |     int16_t var_dch;
                                                                 |     int16_t var_e0h;
                                                                 |     int16_t var_e4h;
                                                                 |     int16_t var_e8h;
                                                                 |     int16_t var_ech;
                                                                 |     int16_t var_f0h;
                                                                 |     int16_t var_f4h;
                                                                 |     int16_t var_f8h;
                                                                 |     int16_t var_fch;
                                                                 |     int16_t var_100h;
                                                                 |     int32_t var_108h;
                                                                 |     int32_t var_108h_2;
                                                                 |     int16_t var_110h;
                                                                 |     int16_t var_114h;
                                                                 |     int16_t var_118h;
                                                                 |     int16_t var_11ch;
                                                                 |     int32_t var_120h;
                                                                 |     int32_t var_120h_2;
                                                                 |     int16_t var_128h;
                                                                 |     int16_t var_12ch;
                                                                 |     int16_t var_130h;
                                                                 |     int16_t var_134h;
                                                                 |     int16_t var_138h;
                                                                 |     int16_t var_13ch;
                                                                 |     int16_t var_140h;
                                                                 |     int16_t var_144h;
                                                                 |     int16_t var_148h;
                                                                 |     int16_t var_14ch;
                                                                 |     int16_t var_150h;
                                                                 |     int16_t var_154h;
                                                                 |     int16_t var_158h;
                                                                 |     int16_t var_15ch;
                                                                 |     int16_t var_160h;
                                                                 |     int16_t var_164h;
                                                                 |     int16_t var_168h;
                                                                 |     int16_t var_16ch;
                                                                 |     int16_t var_170h;
                                                                 |     int16_t var_174h;
                                                                 |     int16_t var_178h;
                                                                 |     int16_t var_17ch;
                                                                 |     int16_t var_180h;
                                                                 |     int16_t var_184h;
                                                                 |     int16_t var_188h;
                                                                 |     int16_t var_18ch;
                                                                 |     int16_t var_190h;
                                                                 |     int16_t var_194h;
                                                                 |     int16_t var_198h;
                                                                 |     int16_t var_19ch;
                                                                 |     int16_t var_1a0h;
                                                                 |     int16_t var_1a4h;
                                                                 |     int16_t var_1a8h;
                                                                 |     int16_t var_1a9h;
                                                                 |     int16_t var_1ach;
                                                                 |     int16_t var_0h_4;
                                                                 |     int16_t var_0h_5;
                                                                 |     int16_t var_4h_4;
                                                                 |     int16_t var_8h_3;
                                                                 |     int32_t var_ch_5;
                                                                 |     int32_t var_ch_6;
                                                                 |     int16_t var_14h_4;
                                                                 |     int16_t var_18h_3;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     r0 = arg1;
                                                                 |     r1 = arg2;
    0x00009b54 blmi 0xd1c428                                     |     __asm ("blmi 0xd1c428");
    0x00009b58 push {r4, r5, r6, r7, lr}                         |     
    0x00009b5a movs r6, 0                                        |     r6 = 0;
    0x00009b5c add r2, pc                                        |     r2 += pc;
    0x00009b5e sub sp, 0x2c                                      |     
    0x00009b60 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00009b62 ldr r3, [r3]                                      |     r3 = *(r3);
    0x00009b64 str r3, [sp, 0x24]                                |     var_24h = r3;
    0x00009b66 mov.w r3, 0                                       |     r3 = 0;
    0x00009b6a str r6, [sp, 0x20]                                |     var_20h = r6;
    0x00009b6c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009b6e beq 0x9bf4                                        |         goto label_42;
                                                                 |     }
    0x00009b70 mov r7, r1                                        |     r7 = r1;
    0x00009b72 mov r1, r6                                        |     r1 = r6;
    0x00009b74 mov r4, r0                                        |     r4 = r0;
    0x00009b76 blx 0x2ce4                                        |     r0 = fcn_00002ce4 ();
    0x00009b7a mov r5, r0                                        |     r5 = r0;
    0x00009b7c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009b7e beq 0x9c0a                                        |         goto label_43;
                                                                 |     }
    0x00009b80 mov r0, r4                                        |     r0 = r4;
    0x00009b82 add r1, sp, 0x20                                  |     r1 += var_20h;
    0x00009b84 bl 0x9a3c                                         |     r0 = fcn_00009a3c (r0, r1);
    0x00009b88 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x00009b8a blt 0x9bba                                        |         goto label_44;
                                                                 |     }
    0x00009b8c ldr r3, [pc, 0x9c]                                |     
    0x00009b8e movs r0, 0xc                                      |     r0 = 0xc;
    0x00009b90 ldr r1, [sp, 0x20]                                |     r1 = var_20h;
    0x00009b92 movs r2, 8                                        |     r2 = 8;
    0x00009b94 str r2, [sp, 0x18]                                |     var_18h_3 = r2;
    0x00009b96 movs r2, 9                                        |     r2 = 9;
    0x00009b98 add r3, pc                                        |     r3 = 0x137c8;
    0x00009b9a str r5, [sp, 4]                                   |     var_4h_4 = r5;
    0x00009b9c strd r3, r0, [sp, 0xc]                            |     __asm ("strd r3, r0, [var_ch_5]");
    0x00009ba0 mov r0, r7                                        |     r0 = r7;
    0x00009ba2 ldr r3, [pc, 0x8c]                                |     
    0x00009ba4 str r1, [sp, 0x14]                                |     var_14h_4 = r1;
    0x00009ba6 movs r1, 7                                        |     r1 = 7;
    0x00009ba8 str r2, [sp, 8]                                   |     var_8h_3 = r2;
    0x00009baa add r3, pc                                        |     r3 = 0x137e0;
    0x00009bac str r6, [sp]                                      |     *(sp) = r6;
    0x00009bae blx 0x2b64                                        |     r0 = fcn_00002b64 ();
    0x00009bb2 cmp r0, 0                                         |     
    0x00009bb4 it ge                                             |     
                                                                 |     if (r0 < 0) {
    0x00009bb6 movge r4, r6                                      |         r4 = r6;
                                                                 |     }
    0x00009bb8 blt 0x9bdc                                        |     
                                                                 |     while (1) {
                                                                 | label_44:
    0x00009bba ldr r0, [sp, 0x20]                                |         r0 = var_20h;
                                                                 |         if (r0 != 0) {
    0x00009bbc cbz r0, 0x9bc2                                    |             
    0x00009bbe blx 0x2e10                                        |             fcn_00002e10 ();
                                                                 |         }
    0x00009bc2 ldr r2, [pc, 0x70]                                |         
    0x00009bc4 ldr r3, [pc, 0x60]                                |         r3 = *(0x9c28);
    0x00009bc6 add r2, pc                                        |         r2 = 0x13800;
    0x00009bc8 ldr r3, [r2, r3]                                  |         r3 = *(0x13800);
    0x00009bca ldr r2, [r3]                                      |         r2 = *(0x13800);
    0x00009bcc ldr r3, [sp, 0x24]                                |         r3 = var_24h;
    0x00009bce eors r2, r3                                       |         r2 ^= r3;
    0x00009bd0 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00009bd4 bne 0x9c20                                        |             goto label_45;
                                                                 |         }
    0x00009bd6 mov r0, r4                                        |         r0 = r4;
    0x00009bd8 add sp, 0x2c                                      |         
    0x00009bda pop {r4, r5, r6, r7, pc}                          |         
    0x00009bdc ldr r1, [pc, 0x58]                                |         
    0x00009bde mov.w r2, 0x7c0                                   |         r2 = 0x7c0;
    0x00009be2 ldr r3, [pc, 0x58]                                |         
    0x00009be4 movs r0, 3                                        |         r0 = 3;
    0x00009be6 add r1, pc                                        |         r1 = 0x13822;
    0x00009be8 add r3, pc                                        |         r3 = 0x1382a;
    0x00009bea adds r1, 7                                        |         r1 += 7;
    0x00009bec blx 0x2ea8                                        |         r0 = fcn_00002ea8 ();
    0x00009bf0 mov r4, r0                                        |         r4 = r0;
    0x00009bf2 b 0x9bba                                          |         
                                                                 |     }
                                                                 | label_42:
    0x00009bf4 ldr r1, [pc, 0x48]                                |     
    0x00009bf6 movw r2, 0x7b4                                    |     r2 = 0x7b4;
    0x00009bf8 strb r4, [r6, 0xa]                                |     *((r6 + 0xa)) = r4;
    0x00009bfa ldr r3, [pc, 0x48]                                |     
    0x00009bfc ldr r0, [pc, 0x48]                                |     
    0x00009bfe add r1, pc                                        |     r1 = 0x13842;
    0x00009c00 add r3, pc                                        |     r3 = 0x1384a;
    0x00009c02 adds r1, 7                                        |     r1 += 7;
    0x00009c04 add r0, pc                                        |     r0 = 0x13850;
    0x00009c06 blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_43:
    0x00009c0a ldr r1, [pc, 0x40]                                |     
    0x00009c0c movw r2, 0x7b7                                    |     r2 = 0x7b7;
    0x00009c10 ldr r3, [pc, 0x3c]                                |     
    0x00009c12 ldr r0, [pc, 0x40]                                |     
    0x00009c14 add r1, pc                                        |     r1 = 0x13866;
    0x00009c16 add r3, pc                                        |     r3 = 0x1386a;
    0x00009c18 adds r1, 7                                        |     r1 += 7;
    0x00009c1a add r0, pc                                        |     r0 = 0x13874;
    0x00009c1c blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_45:
    0x00009c20 blx 0x2c24                                        |     fcn_00002c24 ();
    0x00009c24 str r4, [r7, r5]                                  |     *((r7 + r5)) = r4;
    0x00009c26 movs r1, r0                                       |     r1 = r0;
    0x00009c28 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x00009c2a movs r0, r0                                       |     
    0x00009c2c subs r6, 0xd0                                     |     r6 -= 0xd0;
    0x00009c2e movs r0, r0                                       |     
    0x00009c30 movs r1, 0x52                                     |     r1 = 0x52;
    0x00009c32 movs r0, r0                                       |     
    0x00009c34 str r2, [r2, r4]                                  |     *((r2 + r4)) = r2;
    0x00009c36 movs r1, r0                                       |     r1 = r0;
    0x00009c38 movs r5, 0xb6                                     |     r5 = 0xb6;
    0x00009c3a movs r0, r0                                       |     
    0x00009c3c mov ip, r0                                        |     
    0x00009c3e movs r0, r0                                       |     
    0x00009c40 movs r5, 0x9e                                     |     r5 = 0x9e;
    0x00009c42 movs r0, r0                                       |     
    0x00009c44 cmp r4, r3                                        |     
    0x00009c46 movs r0, r0                                       |     
    0x00009c48 rsbs r0, r3, 0                                    |     r0 = r3 - ;
    0x00009c4a movs r0, r0                                       |     
    0x00009c4c movs r5, 0x88                                     |     r5 = 0x88;
    0x00009c4e movs r0, r0                                       |     
    0x00009c50 cmp r6, r0                                        |     
    0x00009c52 movs r0, r0                                       |     
    0x00009c54 subs r6, 0x56                                     |     r6 -= 0x56;
    0x00009c56 movs r0, r0                                       |     
    0x00009c58 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00009c5c mov r3, r1                                        |     r3 = r1;
    0x00009c5e sub sp, 0x1b4                                     |     
    0x00009c60 ldr r2, [pc, 0x2f8]                               |     
    0x00009c62 movs r6, 0                                        |     r6 = 0;
    0x00009c64 add r1, sp, 0x1a0                                 |     r1 += var_1a0h;
    0x00009c66 str r3, [sp, 0x19c]                               |     var_19ch = r3;
    0x00009c68 mov r4, r0                                        |     r4 = r0;
    0x00009c6a ldr r3, [pc, 0x2f4]                               |     r3 = *(0x9f62);
    0x00009c6c add r2, pc                                        |     r2 = 0x13bcc;
    0x00009c6e ldr r3, [r2, r3]                                  |     
    0x00009c70 ldr r3, [r3]                                      |     r3 = *(0x13bcc);
    0x00009c72 str r3, [sp, 0x1ac]                               |     var_1ach = r3;
    0x00009c74 mov.w r3, 0                                       |     r3 = 0;
    0x00009c78 strd r6, r6, [sp, 0x1a0]                          |     __asm ("strd r6, r6, [var_1a0h]");
    0x00009c7c bl 0x9b54                                         |     r0 = fcn_00009b54 (r0, r1, r2);
    0x00009c80 subs r5, r0, 0                                    |     r5 = r0 - 0;
                                                                 |     if (r5 < r0) {
    0x00009c82 blt.w 0x9ec2                                      |         goto label_46;
                                                                 |     }
    0x00009c86 ldr.w r5, [r4, 0x104]                             |     r5 = *((r4 + 0x104));
    0x00009c8a ldrd sl, r7, [r4, 0xe8]                           |     __asm ("ldrd sl, r7, [r4, 0xe8]");
    0x00009c8e ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00009c90 strb.w r6, [sp, 0x1a9]                            |     var_1a9h = r6;
    0x00009c94 strb.w r3, [sp, 0x1a8]                            |     var_1a8h = r3;
    0x00009c98 orrs.w r3, sl, r7                                 |     r3 = sl | r7;
    0x00009c9c itt ne                                            |     
                                                                 |     if (r3 == sl) {
    0x00009c9e movne sb, sl                                      |         sb = sl;
                                                                 |     }
                                                                 |     if (r3 == sl) {
    0x00009ca0 movne r8, r7                                      |         r8 = r7;
                                                                 |     }
                                                                 |     if (r3 == sl) {
    0x00009ca2 beq.w 0x9f0a                                      |         goto label_47;
                                                                 |     }
                                                                 | label_0:
    0x00009ca6 ldrb r0, [r5, 1]                                  |     r0 = *((r5 + 1));
    0x00009ca8 blx 0x2a28                                        |     fcn_00002a28 ();
    0x00009cac ldrb r2, [r5, 3]                                  |     r2 = *((r5 + 3));
    0x00009cae mov.w lr, 0                                       |     lr = 0;
    0x00009cb2 ldrb r3, [r5, 2]                                  |     r3 = *((r5 + 2));
    0x00009cb4 str r0, [sp, 0x188]                               |     var_188h = r0;
    0x00009cb6 cmp r2, 2                                         |     
    0x00009cb8 str r2, [sp, 0x180]                               |     var_180h = r2;
    0x00009cba str r3, [sp, 0x18c]                               |     var_18ch = r3;
    0x00009cbc ldrb r3, [r5]                                     |     r3 = *(r5);
    0x00009cbe ldr r2, [r5, 8]                                   |     r2 = *((r5 + 8));
                                                                 |     if (r2 == 2) {
    0x00009cc0 beq.w 0x9f1e                                      |         goto label_48;
                                                                 |     }
    0x00009cc4 cmp r3, 0x6c                                      |     
    0x00009cc6 mov.w r3, 0                                       |     r3 = 0;
    0x00009cca it ne                                             |     
                                                                 |     if (r3 != 0x6c) {
    0x00009ccc revne r2, r2                                      |         __asm ("revne r2, r2");
                                                                 |     }
    0x00009cce str r3, [sp, 0x17c]                               |     var_17ch = r3;
    0x00009cd0 str r2, [sp, 0x178]                               |     var_178h = r2;
                                                                 | label_1:
    0x00009cd2 strd sb, r8, [sp, 0x120]                          |     __asm ("strd sb, r8, [var_120h]");
    0x00009cd6 ldr.w r1, [r4, 0xf0]                              |     r1 = *((r4 + 0xf0));
    0x00009cda ldr.w ip, [pc, 0x288]                             |     
    0x00009cde str r1, [sp, 0x138]                               |     var_138h = r1;
    0x00009ce0 ldr.w r2, [r4, 0xf4]                              |     r2 = *((r4 + 0xf4));
    0x00009ce4 add ip, pc                                        |     ip = 0x13c4e;
    0x00009ce6 str r2, [sp, 0x13c]                               |     var_13ch = r2;
    0x00009ce8 ldr r3, [r4, 0x2c]                                |     r3 = *((r4 + 0x2c));
    0x00009cea str r3, [sp, 0x150]                               |     var_150h = r3;
    0x00009cec subs r3, 0                                        |     
    0x00009cee it ne                                             |     
                                                                 |     if (r3 == 0) {
    0x00009cf0 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
    0x00009cf2 orrs r2, r1                                       |     r2 |= r1;
    0x00009cf4 str r3, [sp, 0x144]                               |     var_144h = r3;
    0x00009cf6 ldrd r3, r5, [r4, 0x24]                           |     __asm ("ldrd r3, r5, [r4, 0x24]");
    0x00009cfa ldrd r2, r6, [r4, 0xe0]                           |     __asm ("ldrd r2, r6, [r4, 0xe0]");
    0x00009cfe ldrd r1, r0, [r4, 0x10]                           |     __asm ("ldrd r1, r0, [r4, 0x10]");
    0x00009d02 str r3, [sp, 0x168]                               |     var_168h = r3;
    0x00009d04 ldr r3, [r4, 0x18]                                |     r3 = *((r4 + 0x18));
    0x00009d06 str r2, [sp, 0x198]                               |     var_198h = r2;
    0x00009d08 str r3, [sp, 0x16c]                               |     var_16ch = r3;
    0x00009d0a ldr r3, [r4, 0x1c]                                |     r3 = *((r4 + 0x1c));
    0x00009d0c str r3, [sp, 0x170]                               |     var_170h = r3;
    0x00009d0e ldr r3, [r4, 0x20]                                |     r3 = *((r4 + 0x20));
    0x00009d10 str r3, [sp, 0x174]                               |     var_174h = r3;
    0x00009d12 ite ne                                            |     
                                                                 |     if (r2 == r1) {
    0x00009d14 movne r3, 1                                       |         r3 = 1;
                                                                 |     }
                                                                 |     if (r2 != r1) {
    0x00009d16 moveq r3, 0                                       |         r3 = 0;
                                                                 |     }
    0x00009d18 orrs.w r8, sb, r8                                 |     r8 = sb | r8;
    0x00009d1c str r3, [sp, 0x12c]                               |     var_12ch = r3;
    0x00009d1e it ne                                             |     
                                                                 |     if (r8 == sb) {
    0x00009d20 movne r4, 1                                       |         r4 = 1;
                                                                 |     }
    0x00009d22 ldr r3, [sp, 0x1a0]                               |     r3 = var_1a0h;
    0x00009d24 it eq                                             |     
                                                                 |     if (r8 != sb) {
    0x00009d26 moveq r4, 0                                       |         r4 = 0;
                                                                 |     }
    0x00009d28 str r4, [sp, 0x114]                               |     var_114h = r4;
    0x00009d2a ldr.w r8, [pc, 0x23c]                             |     
    0x00009d2e str r3, [sp, 0x160]                               |     var_160h = r3;
    0x00009d30 orrs.w r3, r2, r6                                 |     r3 = r2 | r6;
    0x00009d34 ldr r3, [pc, 0x234]                               |     
    0x00009d36 mov.w r2, 9                                       |     r2 = 9;
    0x00009d3a ite ne                                            |     
                                                                 |     if (r3 == r2) {
    0x00009d3c movne r4, 1                                       |         r4 = 1;
                                                                 |     }
                                                                 |     if (r3 != r2) {
    0x00009d3e moveq r4, 0                                       |         r4 = 0;
                                                                 |     }
    0x00009d40 str r2, [sp, 0x154]                               |     var_154h = r2;
    0x00009d42 add r8, pc                                        |     r8 = 0x13cb0;
    0x00009d44 add r3, pc                                        |     r3 = 0x13cb4;
    0x00009d46 str r4, [sp, 0xf8]                                |     var_f8h = r4;
    0x00009d48 str r3, [sp, 0x158]                               |     var_158h = r3;
    0x00009d4a ldr r3, [pc, 0x224]                               |     
    0x00009d4c ldr.w sb, [pc, 0x224]                             |     
    0x00009d50 add r3, pc                                        |     r3 = 0x13cc6;
    0x00009d52 str r3, [sp, 0x148]                               |     var_148h = r3;
    0x00009d54 add sb, pc                                        |     sb = 0x13ccc;
    0x00009d56 ldr r3, [pc, 0x220]                               |     
    0x00009d58 add r3, pc                                        |     r3 = 0x13cd6;
    0x00009d5a str r3, [sp, 0x130]                               |     var_130h = r3;
    0x00009d5c ldr r3, [sp, 0x174]                               |     r3 = var_174h;
    0x00009d5e str r5, [sp, 0x184]                               |     var_184h = r5;
    0x00009d60 strd r1, r0, [sp, 0x190]                          |     __asm ("strd r1, r0, [var_190h]");
    0x00009d64 subs r4, r3, 0                                    |     r4 = r3 - 0;
    0x00009d66 ldr r3, [sp, 0x168]                               |     r3 = var_168h;
    0x00009d68 it ne                                             |     
                                                                 |     if (r4 == r3) {
    0x00009d6a movne r4, 1                                       |         r4 = 1;
                                                                 |     }
    0x00009d6c str.w ip, [sp, 0x118]                             |     __asm ("str.w ip, [var_118h]");
    0x00009d70 str r4, [sp, 0xe4]                                |     var_e4h = r4;
    0x00009d72 ldr r4, [sp, 0x170]                               |     r4 = var_170h;
    0x00009d74 subs.w fp, r4, 0                                  |     
    0x00009d78 ldr r4, [sp, 0x16c]                               |     r4 = var_16ch;
    0x00009d7a it ne                                             |     
                                                                 |     if (fp == r4) {
    0x00009d7c movne fp, 1                                       |         
                                                                 |     }
    0x00009d80 str.w fp, [sp, 0xd0]                              |     __asm ("str.w fp, [var_d0h]");
    0x00009d84 subs.w fp, r4, 0                                  |     
    0x00009d88 mov.w r4, 0                                       |     r4 = 0;
    0x00009d8c it ne                                             |     
                                                                 |     if (fp == r4) {
    0x00009d8e movne fp, 1                                       |         
                                                                 |     }
    0x00009d92 str r4, [sp, 0x14c]                               |     var_14ch = r4;
    0x00009d94 str.w fp, [sp, 0xbc]                              |     __asm ("str.w fp, [var_bch]");
    0x00009d98 subs.w fp, r3, 0                                  |     
    0x00009d9c it ne                                             |     
                                                                 |     if (fp == r3) {
    0x00009d9e movne fp, 1                                       |         
                                                                 |     }
    0x00009da2 str.w fp, [sp, 0xa8]                              |     __asm ("str.w fp, [var_a8h]");
    0x00009da6 subs.w fp, r5, 0                                  |     
    0x00009daa ldr r5, [sp, 0x198]                               |     r5 = var_198h;
    0x00009dac it ne                                             |     
                                                                 |     if (fp == r5) {
    0x00009dae movne fp, 1                                       |         
                                                                 |     }
    0x00009db2 orrs.w r3, r1, r0                                 |     r3 = r1 | r0;
    0x00009db6 mov.w r0, 1                                       |     r0 = 1;
    0x00009dba str.w fp, [sp, 0x94]                              |     __asm ("str.w fp, [var_94h]");
    0x00009dbe it ne                                             |     
                                                                 |     if (r3 == r1) {
    0x00009dc0 movne fp, r0                                      |         
                                                                 |     }
    0x00009dc2 strd r5, r6, [sp, 0x108]                          |     __asm ("strd r5, r6, [var_108h]");
    0x00009dc6 it eq                                             |     
                                                                 |     if (r3 != r1) {
    0x00009dc8 moveq fp, r4                                      |         
                                                                 |     }
    0x00009dca ldr r5, [sp, 0x174]                               |     r5 = var_174h;
    0x00009dcc movs r1, 0xa                                      |     r1 = 0xa;
    0x00009dce ldr r6, [pc, 0x1ac]                               |     
    0x00009dd0 str.w fp, [sp, 0x64]                              |     __asm ("str.w fp, [var_64h]");
    0x00009dd4 mov.w fp, 8                                       |     
    0x00009dd8 str r5, [sp, 0xf0]                                |     var_f0h = r5;
    0x00009dda ldr r5, [pc, 0x1a4]                               |     
    0x00009ddc add r6, pc                                        |     r6 = 0x13d5e;
    0x00009dde str r6, [sp, 0xfc]                                |     var_fch = r6;
    0x00009de0 ldr r6, [sp, 0x170]                               |     r6 = var_170h;
    0x00009de2 add r5, pc                                        |     r5 = 0x13d68;
    0x00009de4 str.w fp, [sp, 0x164]                             |     __asm ("str.w fp, [var_164h]");
    0x00009de8 str r5, [sp, 0xe8]                                |     var_e8h = r5;
    0x00009dea mov.w fp, 0xc                                     |     
    0x00009dee ldr r5, [pc, 0x194]                               |     
    0x00009df0 str r6, [sp, 0xdc]                                |     var_dch = r6;
    0x00009df2 ldr r6, [sp, 0x16c]                               |     r6 = var_16ch;
    0x00009df4 add r5, pc                                        |     r5 = 0x13d7e;
    0x00009df6 str r1, [sp, 0x140]                               |     var_140h = r1;
    0x00009df8 str r5, [sp, 0xd4]                                |     var_d4h = r5;
    0x00009dfa ldr r5, [pc, 0x18c]                               |     
    0x00009dfc str r1, [sp, 0x128]                               |     var_128h = r1;
    0x00009dfe str r0, [sp, 0x134]                               |     var_134h = r0;
    0x00009e00 add r5, pc                                        |     r5 = 0x13d8e;
    0x00009e02 str r0, [sp, 0x11c]                               |     var_11ch = r0;
    0x00009e04 str.w fp, [sp, 0x15c]                             |     __asm ("str.w fp, [var_15ch]");
    0x00009e08 str r6, [sp, 0xc8]                                |     var_c8h = r6;
    0x00009e0a str r5, [sp, 0xc0]                                |     var_c0h = r5;
    0x00009e0c ldr r5, [pc, 0x17c]                               |     
    0x00009e0e ldr r6, [sp, 0x168]                               |     r6 = var_168h;
    0x00009e10 str r1, [sp, 0x110]                               |     var_110h = r1;
    0x00009e12 add r5, pc                                        |     r5 = 0x13da2;
    0x00009e14 str r1, [sp, 0xf4]                                |     var_f4h = r1;
    0x00009e16 str r5, [sp, 0xac]                                |     var_ach = r5;
    0x00009e18 ldr r5, [pc, 0x174]                               |     
    0x00009e1a str r1, [sp, 0xe0]                                |     var_e0h = r1;
    0x00009e1c str r1, [sp, 0xcc]                                |     var_cch = r1;
    0x00009e1e add r5, pc                                        |     r5 = 0x13db2;
    0x00009e20 str r1, [sp, 0xb8]                                |     var_b8h = r1;
    0x00009e22 str r5, [sp, 0x98]                                |     var_98h = r5;
    0x00009e24 ldr r5, [pc, 0x16c]                               |     
    0x00009e26 str r1, [sp, 0xa4]                                |     var_a4h = r1;
    0x00009e28 str r1, [sp, 0x90]                                |     var_90h = r1;
    0x00009e2a add r5, pc                                        |     r5 = 0x13dc2;
    0x00009e2c str r1, [sp, 0x60]                                |     var_60h = r1;
    0x00009e2e str r5, [sp, 0x7c]                                |     var_7ch = r5;
    0x00009e30 ldr r5, [sp, 0x190]                               |     r5 = var_190h;
    0x00009e32 ldr r1, [sp, 0x178]                               |     r1 = var_178h;
    0x00009e34 str r6, [sp, 0xb4]                                |     var_b4h = r6;
    0x00009e36 str r5, [sp, 0x70]                                |     var_70h = r5;
    0x00009e38 ldr r5, [sp, 0x194]                               |     r5 = var_194h;
    0x00009e3a ldr r6, [sp, 0x184]                               |     r6 = var_184h;
    0x00009e3c str r1, [sp, 0x58]                                |     var_58h = r1;
    0x00009e3e str r5, [sp, 0x74]                                |     var_74h = r5;
    0x00009e40 ldr r5, [pc, 0x154]                               |     
    0x00009e42 ldr r1, [sp, 0x17c]                               |     r1 = var_17ch;
    0x00009e44 str r0, [sp, 0x100]                               |     var_100h = r0;
    0x00009e46 add r5, pc                                        |     r5 = 0x13de2;
    0x00009e48 str r6, [sp, 0xa0]                                |     var_a0h = r6;
    0x00009e4a str r5, [sp, 0x68]                                |     var_68h = r5;
    0x00009e4c str r4, [sp, 0xec]                                |     var_ech = r4;
    0x00009e4e str r4, [sp, 0xd8]                                |     var_d8h = r4;
    0x00009e50 str r4, [sp, 0xc4]                                |     var_c4h = r4;
    0x00009e52 str r4, [sp, 0xb0]                                |     var_b0h = r4;
    0x00009e54 str r4, [sp, 0x9c]                                |     var_9ch = r4;
    0x00009e56 strd sl, r7, [sp, 0x88]                           |     __asm ("strd sl, r7, [var_88h_2]");
    0x00009e5a str r1, [sp, 0x5c]                                |     var_5ch = r1;
    0x00009e5c ldr r1, [pc, 0x13c]                               |     
    0x00009e5e ldr r3, [pc, 0x140]                               |     
    0x00009e60 str r0, [sp, 0x6c]                                |     var_6ch = r0;
    0x00009e62 add r1, pc                                        |     r1 = 0x13e02;
    0x00009e64 str r0, [sp, 0x50]                                |     var_50h = r0;
    0x00009e66 str r1, [sp, 0x4c]                                |     var_4ch_2 = r1;
    0x00009e68 add r3, pc                                        |     r3 = 0x13e0e;
    0x00009e6a ldr r1, [sp, 0x180]                               |     r1 = var_180h;
    0x00009e6c str r0, [sp, 0x38]                                |     var_38h_2 = r0;
    0x00009e6e str r0, [sp, 0x20]                                |     var_20h_4 = r0;
    0x00009e70 add r0, sp, 0x1a4                                 |     r0 += var_1a4h;
    0x00009e72 str r1, [sp, 0x40]                                |     var_40h_3 = r1;
    0x00009e74 ldr r1, [pc, 0x12c]                               |     
    0x00009e76 str.w r8, [sp, 0xc]                               |     __asm ("str.w r8, [var_ch_3]");
    0x00009e7a str r2, [sp, 0x18]                                |     var_18h_2 = r2;
    0x00009e7c add r1, pc                                        |     r1 = 0x13e24;
    0x00009e7e str r4, [sp, 0x10]                                |     var_10h_3 = r4;
    0x00009e80 str r1, [sp, 0x34]                                |     var_34h_2 = r1;
    0x00009e82 ldr r1, [sp, 0x18c]                               |     r1 = var_18ch;
    0x00009e84 str r2, [sp, 8]                                   |     var_8h_2 = r2;
    0x00009e86 str r4, [sp]                                      |     *(sp) = r4;
    0x00009e88 str r1, [sp, 0x28]                                |     var_28h = r1;
    0x00009e8a ldr r1, [sp, 0x188]                               |     r1 = var_188h;
    0x00009e8c str.w sb, [sp, 0x1c]                              |     __asm ("str.w sb, [var_1ch_3]");
    0x00009e90 str r2, [sp, 0x78]                                |     var_78h = r2;
    0x00009e92 str r1, [sp, 4]                                   |     var_4h_3 = r1;
    0x00009e94 movs r1, 2                                        |     r1 = 2;
    0x00009e96 str r1, [sp, 0x80]                                |     var_80h = r1;
    0x00009e98 add r1, sp, 0x1a8                                 |     r1 += var_1a8h;
    0x00009e9a str r1, [sp, 0x14]                                |     var_14h_3 = r1;
    0x00009e9c movs r1, 7                                        |     r1 = 7;
    0x00009e9e strd lr, r2, [sp, 0x44]                           |     __asm ("strd lr, r2, [var_44h_2]");
    0x00009ea2 str.w lr, [sp, 0x2c]                              |     __asm ("str.w lr, [var_2ch]");
    0x00009ea6 str r2, [sp, 0x30]                                |     var_30h_2 = r2;
    0x00009ea8 blx 0x2b64                                        |     fcn_00002b64 ();
    0x00009eac subs r5, r0, 0                                    |     r5 -= var_1a4h;
                                                                 |     if (r5 < var_1a4h) {
    0x00009eae blt 0x9ef0                                        |         goto label_49;
                                                                 |     }
    0x00009eb0 ldr r1, [pc, 0xf4]                                |     
    0x00009eb2 mov r3, r4                                        |     r3 = r4;
    0x00009eb4 ldr r0, [sp, 0x1a4]                               |     r0 = var_1a4h;
    0x00009eb6 mov r5, r4                                        |     r5 = r4;
    0x00009eb8 ldr r2, [sp, 0x19c]                               |     r2 = var_19ch;
    0x00009eba add r1, pc                                        |     
    0x00009ebc ldr r1, [r1]                                      |     r1 = *(0x13e66);
    0x00009ebe blx 0x2bac                                        |     fcn_00002bac ();
                                                                 |     do {
                                                                 | label_46:
    0x00009ec2 ldr r0, [sp, 0x1a4]                               |         r0 = var_1a4h;
                                                                 |         if (r0 != 0) {
    0x00009ec4 cbz r0, 0x9ecc                                    |             
    0x00009ec6 blx 0x2e10                                        |             fcn_00002e10 ();
    0x00009eca str r0, [sp, 0x1a4]                               |             var_1a4h = r0;
                                                                 |         }
    0x00009ecc ldr r0, [sp, 0x1a0]                               |         r0 = var_1a0h;
                                                                 |         if (r0 != 0) {
    0x00009ece cbz r0, 0x9ed4                                    |             
    0x00009ed0 blx 0x2e10                                        |             fcn_00002e10 ();
                                                                 |         }
    0x00009ed4 ldr r2, [pc, 0xd4]                                |         
    0x00009ed6 ldr r3, [pc, 0x88]                                |         r3 = *(0x9f62);
    0x00009ed8 add r2, pc                                        |         r2 = 0x13e88;
    0x00009eda ldr r3, [r2, r3]                                  |         r3 = *(0x13e88);
    0x00009edc ldr r2, [r3]                                      |         r2 = *(0x13e88);
    0x00009ede ldr r3, [sp, 0x1ac]                               |         r3 = var_1ach;
    0x00009ee0 eors r2, r3                                       |         r2 ^= r3;
    0x00009ee2 mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x00009ee6 bne 0x9f56                                        |             goto label_50;
                                                                 |         }
    0x00009ee8 mov r0, r5                                        |         r0 = r5;
    0x00009eea add sp, 0x1b4                                     |         
    0x00009eec pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_49:
    0x00009ef0 blx 0x27cc                                        |         r0 = log_get_max_level ();
    0x00009ef4 cmp r0, 2                                         |         
    0x00009ef6 ittt le                                           |         
                                                                 |         if (r0 <= 2) {
    0x00009ef8 rsble r5, r5, 0                                   |             __asm ("rsble r5, r5, 0");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00009efa uxtble r5, r5                                     |             __asm ("uxtble r5, r5");
                                                                 |         }
                                                                 |         if (r0 <= 2) {
    0x00009efc rsble r5, r5, 0                                   |             __asm ("rsble r5, r5, 0");
                                                                 |         }
                                                                 |         if (r0 > 2) {
    0x00009efe bgt 0x9f34                                        |             goto label_51;
                                                                 |         }
                                                                 | label_2:
    0x00009f00 cmp r5, 0                                         |         
    0x00009f02 it ge                                             |         
                                                                 |         if (r5 < 0) {
    0x00009f04 mvnge r5, 0x55                                    |             r5 = ~0x55;
                                                                 |         }
    0x00009f08 b 0x9ec2                                          |         
                                                                 |     } while (1);
                                                                 | label_47:
    0x00009f0a mov r0, r6                                        |     r0 = r6;
    0x00009f0c blx 0x2c48                                        |     fcn_00002c48 ();
    0x00009f10 ldr.w r5, [r4, 0x104]                             |     r5 = *((r4 + 0x104));
    0x00009f14 mov sl, r0                                        |     sl = r0;
    0x00009f16 ldrd sb, r8, [r4, 0xe8]                           |     __asm ("ldrd sb, r8, [r4, 0xe8]");
    0x00009f1a mov r7, r1                                        |     r7 = r1;
    0x00009f1c b 0x9ca6                                          |     goto label_0;
                                                                 | label_48:
    0x00009f1e str r2, [sp, 0x178]                               |     var_178h = r2;
    0x00009f20 cmp r3, 0x6c                                      |     
    0x00009f22 ldr r1, [r5, 0xc]                                 |     r1 = *((r5 + 0xc));
    0x00009f24 str r1, [sp, 0x17c]                               |     var_17ch = r1;
                                                                 |     if (r3 == 0x6c) {
    0x00009f26 beq.w 0x9cd2                                      |         goto label_1;
                                                                 |     }
    0x00009f2a rev r3, r2                                        |     r2 = SWAP32 (r3);
    0x00009f2c rev r2, r1                                        |     r1 = SWAP32 (r2);
    0x00009f2e strd r2, r3, [sp, 0x178]                          |     __asm ("strd r2, r3, [var_178h]");
    0x00009f32 b 0x9cd2                                          |     goto label_1;
                                                                 | label_51:
    0x00009f34 ldr r2, [pc, 0x78]                                |     
    0x00009f36 mov r1, r5                                        |     r1 = r5;
    0x00009f38 ldr r4, [pc, 0x78]                                |     
    0x00009f3a movw r3, 0x4b9                                    |     r3 = 0x4b9;
    0x00009f3e ldr r0, [pc, 0x78]                                |     
    0x00009f40 add r2, pc                                        |     r2 = 0x13ef4;
    0x00009f42 add r4, pc                                        |     r4 = 0x13efa;
    0x00009f44 adds r2, 7                                        |     r2 += 7;
    0x00009f46 add r0, pc                                        |     r0 = 0x13f04;
    0x00009f48 strd r0, r4, [sp]                                 |     __asm ("strd r0, r4, [sp]");
    0x00009f4c movs r0, 3                                        |     r0 = 3;
    0x00009f4e blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x00009f52 mov r5, r0                                        |     r5 = r0;
    0x00009f54 b 0x9f00                                          |     goto label_2;
                                                                 | label_50:
    0x00009f56 blx 0x2c24                                        |     fcn_00002c24 ();
    0x00009f5a nop                                               |     
    0x00009f5c str r4, [r5, r1]                                  |     *((r5 + r1)) = r4;
    0x00009f5e movs r1, r0                                       |     r1 = r0;
    0x00009f60 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x00009f62 movs r0, r0                                       |     
    0x00009f64 subs r5, 0xd8                                     |     r5 -= 0xd8;
    0x00009f66 movs r0, r0                                       |     
    0x00009f68 subs r5, 0xf2                                     |     r5 -= 0xf2;
    0x00009f6a movs r0, r0                                       |     
    0x00009f6c subs r5, 0x5c                                     |     r5 -= 0x5c;
    0x00009f6e movs r0, r0                                       |     
    0x00009f70 subs r5, 0x58                                     |     r5 -= 0x58;
    0x00009f72 movs r0, r0                                       |     
    0x00009f74 subs r5, 0xd8                                     |     r5 -= 0xd8;
    0x00009f76 movs r0, r0                                       |     
    0x00009f78 subs r5, 0x5c                                     |     r5 -= 0x5c;
    0x00009f7a movs r0, r0                                       |     
    0x00009f7c subs r4, 0xec                                     |     r4 -= 0xec;
    0x00009f7e movs r0, r0                                       |     
    0x00009f80 subs r4, 0xf2                                     |     r4 -= 0xf2;
    0x00009f82 movs r0, r0                                       |     
    0x00009f84 tst r0, r6                                        |     
    0x00009f86 movs r0, r0                                       |     
    0x00009f88 subs r4, 0xdc                                     |     r4 -= 0xdc;
    0x00009f8a movs r0, r0                                       |     
    0x00009f8c subs r4, 0xd2                                     |     r4 -= 0xd2;
    0x00009f8e movs r0, r0                                       |     
    0x00009f90 subs r4, 0xd2                                     |     r4 -= 0xd2;
    0x00009f92 movs r0, r0                                       |     
    0x00009f94 subs r4, 0xce                                     |     r4 -= 0xce;
    0x00009f96 movs r0, r0                                       |     
    0x00009f98 subs r4, 0xc6                                     |     r4 -= 0xc6;
    0x00009f9a movs r0, r0                                       |     
    0x00009f9c subs r4, 0xba                                     |     r4 -= 0xba;
    0x00009f9e movs r0, r0                                       |     
    0x00009fa0 subs r4, r2, 2                                    |     r4 = r2 - 2;
    0x00009fa2 movs r0, r0                                       |     
    0x00009fa4 subs r4, 0xa8                                     |     r4 -= 0xa8;
    0x00009fa6 movs r0, r0                                       |     
    0x00009fa8 str r2, [r1, r5]                                  |     *((r1 + r5)) = r2;
    0x00009faa movs r1, r0                                       |     r1 = r0;
    0x00009fac ldr r6, [pc, 0]                                   |     r6 = *(0x9fb0);
    0x00009fae movs r1, r0                                       |     r1 = r0;
    0x00009fb0 movs r2, 0x5c                                     |     r2 = 0x5c;
    0x00009fb2 movs r0, r0                                       |     
    0x00009fb4 subs r3, 0xfa                                     |     r3 -= 0xfa;
    0x00009fb6 movs r0, r0                                       |     
    0x00009fb8 orrs r6, r7                                       |     r6 |= r7;
    0x00009fba movs r0, r0                                       |     
    0x00009fbc ldr r2, [pc, 0x300]                               |     
    0x00009fbe movs r0, 0                                        |     r0 = 0;
    0x00009fc0 ldr r3, [pc, 0x300]                               |     r3 = *(0xa2c4);
    0x00009fc2 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00009fc6 sub sp, 0x54                                      |     
    0x00009fc8 add r2, pc                                        |     r2 = 0x1428c;
    0x00009fca ldr.w sb, [pc, 0x2fc]                             |     sb = *(0x0000a2c8);
    0x00009fce mov r4, r1                                        |     r4 = r1;
    0x00009fd0 add r1, sp, 0x30                                  |     r1 += var_30h;
    0x00009fd2 ldr r3, [r2, r3]                                  |     
    0x00009fd4 add sb, pc                                        |     sb += pc;
    0x00009fd6 ldr r3, [r3]                                      |     r3 = *(0x1428c);
    0x00009fd8 str r3, [sp, 0x4c]                                |     var_4ch = r3;
    0x00009fda mov.w r3, 0                                       |     r3 = 0;
    0x00009fde str r0, [sp, 0x30]                                |     var_30h = r0;
    0x00009fe0 strd r0, r0, [sp, 0x40]                           |     __asm ("strd r0, r0, [var_40h]");
    0x00009fe4 str r0, [sp, 0x48]                                |     var_48h = r0;
    0x00009fe6 bl 0x6bf8                                         |     r0 = fcn_00006bf8 (r0, r1);
    0x00009fea subs.w r8, r0, 0                                  |     r8 = r0 - 0;
                                                                 |     if (r8 < r0) {
    0x00009fee blt.w 0xa16e                                      |         goto label_52;
                                                                 |     }
    0x00009ff2 ldr r0, [r4, 0x10]                                |     r0 = *((r4 + 0x10));
    0x00009ff4 add.w r5, r4, 0x10                                |     r5 = r4 + 0x10;
    0x00009ff8 ldr r6, [sp, 0x30]                                |     r6 = var_30h;
    0x00009ffa cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00009ffc beq.w 0xa2b4                                      |         goto label_53;
                                                                 |     }
    0x0000a000 ldr r3, [pc, 0x2c8]                               |     
    0x0000a002 add r7, sp, 0x40                                  |     r7 += var_40h;
    0x0000a004 ldr.w sl, [pc, 0x2c8]                             |     
    0x0000a008 mov r8, r6                                        |     r8 = r6;
    0x0000a00a ldr.w fp, [pc, 0x2c8]                             |     
    0x0000a00e add r3, pc                                        |     r3 = 0x142de;
    0x0000a010 str r3, [sp, 0x1c]                                |     var_1ch_2 = r3;
    0x0000a012 add r3, sp, 0x34                                  |     r3 += var_34h;
    0x0000a014 add sl, pc                                        |     sl = 0x142e8;
    0x0000a016 str r3, [sp, 0x20]                                |     var_20h_3 = r3;
    0x0000a018 mov r3, r7                                        |     r3 = r7;
    0x0000a01a add fp, pc                                        |     fp = 0x142f4;
    0x0000a01c mov r7, sl                                        |     r7 = sl;
    0x0000a01e mov sl, r3                                        |     sl = r3;
    0x0000a020 b 0xa070                                          |     
                                                                 |     while (r2 == r3) {
    0x0000a022 tst.w r3, 6                                       |         
    0x0000a026 str r2, [sp, 0x3c]                                |         var_3ch = r2;
                                                                 |         if ((r3 & 6) != 0) {
    0x0000a028 bne.w 0xa162                                      |             goto label_54;
                                                                 |         }
                                                                 | label_5:
    0x0000a02c ldrd r0, r1, [sp, 0x34]                           |         __asm ("ldrd r0, r1, [var_34h]");
    0x0000a030 add r2, sp, 0x3c                                  |         r2 += var_3ch;
    0x0000a032 bl 0x9934                                         |         r0 = fcn_00009934 (r0, r1, r2);
    0x0000a036 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a038 blt.w 0xa234                                      |             goto label_55;
                                                                 |         }
    0x0000a03c ldr r2, [pc, 0x298]                               |         
    0x0000a03e movs r3, 0                                        |         r3 = 0;
    0x0000a040 ldr r0, [sp, 0x3c]                                |         r0 = var_3ch;
    0x0000a042 add r2, pc                                        |         r2 = 0x1431e;
    0x0000a044 ldr r1, [r2]                                      |         r1 = *(0x1431e);
    0x0000a046 mov r2, r3                                        |         r2 = r3;
    0x0000a048 blx 0x2bac                                        |         fcn_00002bac ();
    0x0000a04c ldr r0, [sp, 0x3c]                                |         r0 = var_3ch;
                                                                 |         if (r0 != 0) {
    0x0000a04e cbz r0, 0xa054                                    |             
    0x0000a050 blx 0x2e10                                        |             fcn_00002e10 ();
                                                                 |         }
                                                                 | label_3:
    0x0000a054 ldr r0, [sp, 0x34]                                |         r0 = var_34h;
    0x0000a056 blx 0x29c8                                        |         r0 = fcn_000029c8 ();
    0x0000a05a cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a05c blt 0xa132                                        |             goto label_56;
                                                                 |         }
                                                                 | label_4:
    0x0000a05e ldr r0, [sp, 0x34]                                |         r0 = var_34h;
                                                                 |         if (r0 != 0) {
    0x0000a060 cbz r0, 0xa066                                    |             
    0x0000a062 blx 0x2718                                        |             sd_bus_message_unref ();
                                                                 |         }
    0x0000a066 ldr r0, [r5, 4]!                                  |         r0 = *((r5 += 4));
    0x0000a06a cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a06c beq.w 0xa22c                                      |             goto label_57;
                                                                 |         }
    0x0000a070 ldr r6, [r4, 0xc]                                 |         r6 = *((r4 + 0xc));
    0x0000a072 movs r1, 0                                        |         r1 = 0;
    0x0000a074 str r0, [sp, 0x14]                                |         var_14h_2 = r0;
    0x0000a076 mov r3, fp                                        |         r3 = fp;
    0x0000a078 ldr r0, [sp, 0x20]                                |         r0 = var_20h_3;
    0x0000a07a ldr r2, [r4, 8]                                   |         r2 = *((r4 + 8));
    0x0000a07c strd r1, r1, [sp, 0x34]                           |         __asm ("strd r1, r1, [var_34h]");
    0x0000a080 strd sl, r0, [sp, 4]                              |         __asm ("strd sl, r0, [var_4h_2]");
    0x0000a084 ldr r0, [sp, 0x1c]                                |         r0 = var_1ch_2;
    0x0000a086 strd r7, r6, [sp, 0xc]                            |         __asm ("strd r7, r6, [var_10h_2]");
    0x0000a08a str r0, [sp]                                      |         *(sp) = r0;
    0x0000a08c mov r0, r8                                        |         r0 = r8;
    0x0000a08e ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x0000a090 blx 0x2e4c                                        |         r0 = fcn_00002e4c ();
    0x0000a094 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a096 blt.w 0xa19e                                      |             goto label_58;
                                                                 |         }
    0x0000a09a ldr r0, [sp, 0x34]                                |         r0 = var_34h;
    0x0000a09c add r2, sp, 0x38                                  |         r2 += var_38h;
    0x0000a09e add.w r1, sp, 0x2f                                |         r1 += var_2fh;
    0x0000a0a2 blx 0x2da4                                        |         r0 = fcn_00002da4 ();
    0x0000a0a6 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a0a8 blt.w 0xa1cc                                      |             goto label_59;
                                                                 |         }
    0x0000a0ac ldrd r0, r2, [sp, 0x34]                           |         __asm ("ldrd r0, r2, [var_34h]");
    0x0000a0b0 movs r1, 0x76                                     |         r1 = 0x76;
    0x0000a0b2 blx 0x2724                                        |         r0 = sd_bus_message_enter_container ();
    0x0000a0b6 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a0b8 blt.w 0xa1fc                                      |             goto label_60;
                                                                 |         }
    0x0000a0bc ldr r3, [pc, 0x21c]                               |         
    0x0000a0be add r3, pc                                        |         
    0x0000a0c0 ldr r3, [r3]                                      |         r3 = *(0x1439e);
    0x0000a0c2 ands r2, r3, 0x200                                |         r2 = r3 & 0x200;
    0x0000a0c6 beq 0xa022                                        |         
                                                                 |     }
    0x0000a0c8 ldr r3, [pc, 0x214]                               |     
    0x0000a0ca add r3, pc                                        |     r3 = 0x143ae;
    0x0000a0cc ldrb r2, [r3]                                     |     r2 = *(r3);
                                                                 |     if (r2 == 0) {
    0x0000a0ce cbz r2, 0xa0f8                                    |         goto label_61;
                                                                 |     }
    0x0000a0d0 ldr r3, [pc, 0x210]                               |     
    0x0000a0d2 add r3, pc                                        |     r3 = 0x143ba;
    0x0000a0d4 ldr r0, [r3]                                      |     r0 = *(0x143ba);
    0x0000a0d6 blx 0x2a80                                        |     fcn_00002a80 ();
    0x0000a0da ldr r3, [pc, 0x20c]                               |     r3 = *(0xa2ea);
    0x0000a0dc movs r2, 2                                        |     r2 = 2;
    0x0000a0de ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x0000a0e0 ldr.w r3, [sb, r3]                                |     r3 = *((sb + r3));
    0x0000a0e4 ldr r1, [r3]                                      |     r1 = *(0xa2ea);
    0x0000a0e6 movs r3, 0                                        |     r3 = 0;
    0x0000a0e8 blx 0x2a74                                        |     r0 = fcn_00002a74 ();
    0x0000a0ec cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0000a0ee bge 0xa054                                        |         goto label_3;
                                                                 |     }
    0x0000a0f0 mov r6, r8                                        |     r6 = r8;
    0x0000a0f2 mov r7, sl                                        |     r7 = sl;
    0x0000a0f4 mov r8, r0                                        |     r8 = r0;
    0x0000a0f6 b 0xa1c0                                          |     goto label_9;
                                                                 | label_61:
    0x0000a0f8 ldr r3, [pc, 0x1ec]                               |     r3 = *(0xa2e8);
    0x0000a0fa str r2, [sp, 0x24]                                |     var_24h_2 = r2;
    0x0000a0fc ldr r0, [sp, 0x38]                                |     r0 = var_38h;
    0x0000a0fe ldr.w r6, [sb, r3]                                |     r6 = *((sb + r3));
    0x0000a102 ldr r1, [r6]                                      |     r1 = *(r6);
    0x0000a104 blx 0x2ee4                                        |     fcn_00002ee4 ();
    0x0000a108 ldr r1, [r6]                                      |     r1 = *(r6);
    0x0000a10a movs r0, 0x20                                     |     r0 = 0x20;
    0x0000a10c blx 0x2c6c                                        |     fcn_00002c6c ();
    0x0000a110 ldr r2, [sp, 0x24]                                |     r2 = var_24h_2;
    0x0000a112 ldr r1, [r6]                                      |     r1 = *(r6);
    0x0000a114 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x0000a116 bl 0x643c                                         |     r0 = fcn_0000643c (r0, r1, r2);
    0x0000a11a cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0000a11c blt.w 0xa27a                                      |         goto label_62;
                                                                 |     }
    0x0000a120 ldr r1, [r6]                                      |     r1 = *(r6);
    0x0000a122 movs r0, 0xa                                      |     r0 = 0xa;
    0x0000a124 blx 0x2c6c                                        |     fcn_00002c6c ();
    0x0000a128 ldr r0, [sp, 0x34]                                |     r0 = var_34h;
    0x0000a12a blx 0x29c8                                        |     r0 = fcn_000029c8 ();
    0x0000a12e cmp r0, 0                                         |     
                                                                 |     if (r0 >= 0) {
    0x0000a130 bge 0xa05e                                        |         goto label_4;
                                                                 |     }
                                                                 | label_56:
    0x0000a132 mov r6, r8                                        |     r6 = r8;
    0x0000a134 mov r8, r0                                        |     r8 = r0;
    0x0000a136 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a13a cmp r0, 2                                         |     
    0x0000a13c mov r7, sl                                        |     r7 = sl;
                                                                 |     if (r0 <= 2) {
    0x0000a13e ble 0xa1ac                                        |         goto label_7;
                                                                 |     }
    0x0000a140 ldr r3, [pc, 0x1a8]                               |     
    0x0000a142 mov r1, r8                                        |     r1 = r8;
    0x0000a144 ldr r2, [pc, 0x1a8]                               |     
    0x0000a146 movs r0, 3                                        |     r0 = 3;
    0x0000a148 add r3, pc                                        |     r3 = 0x14438;
    0x0000a14a str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0000a14c add r2, pc                                        |     r2 = 0x14440;
    0x0000a14e ldr r3, [pc, 0x1a4]                               |     
    0x0000a150 adds r2, 7                                        |     r2 += 7;
    0x0000a152 add r3, pc                                        |     r3 = 0x1444c;
    0x0000a154 str r3, [sp]                                      |     *(sp) = r3;
    0x0000a156 movw r3, 0x88b                                    |     r3 = 0x88b;
    0x0000a15a blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a15e mov r8, r0                                        |     r8 = r0;
    0x0000a160 b 0xa1b6                                          |     goto label_8;
                                                                 | label_54:
    0x0000a162 ldr r3, [pc, 0x194]                               |     
    0x0000a164 add r3, pc                                        |     r3 = 0x14462;
    0x0000a166 ldr r0, [r3]                                      |     r0 = *(0x14462);
    0x0000a168 blx 0x2a80                                        |     fcn_00002a80 ();
    0x0000a16c b 0xa02c                                          |     goto label_5;
                                                                 | label_52:
    0x0000a16e ldr r6, [sp, 0x30]                                |     r6 = var_30h;
    0x0000a170 add r7, sp, 0x40                                  |     r7 += var_40h;
                                                                 |     do {
                                                                 | label_6:
    0x0000a172 mov r0, r7                                        |         r0 = r7;
    0x0000a174 blx 0x2b88                                        |         fcn_00002b88 ();
                                                                 |         if (r6 != 0) {
    0x0000a178 cbz r6, 0xa180                                    |             
    0x0000a17a mov r0, r6                                        |             r0 = r6;
    0x0000a17c blx 0x2bdc                                        |             fcn_00002bdc ();
                                                                 |         }
    0x0000a180 ldr r2, [pc, 0x178]                               |         
    0x0000a182 ldr r3, [pc, 0x140]                               |         r3 = *(0xa2c6);
    0x0000a184 add r2, pc                                        |         r2 = 0x14484;
    0x0000a186 ldr r3, [r2, r3]                                  |         r3 = *(0x14484);
    0x0000a188 ldr r2, [r3]                                      |         r2 = *(0x14484);
    0x0000a18a ldr r3, [sp, 0x4c]                                |         r3 = var_4ch;
    0x0000a18c eors r2, r3                                       |         r2 ^= r3;
    0x0000a18e mov.w r3, 0                                       |         r3 = 0;
                                                                 |         if (r2 != r3) {
    0x0000a192 bne.w 0xa2ba                                      |             goto label_63;
                                                                 |         }
    0x0000a196 mov r0, r8                                        |         r0 = r8;
    0x0000a198 add sp, 0x54                                      |         
    0x0000a19a pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |         
                                                                 | label_58:
    0x0000a19e mov r6, r8                                        |         r6 = r8;
    0x0000a1a0 mov r8, r0                                        |         r8 = r0;
    0x0000a1a2 blx 0x27cc                                        |         r0 = log_get_max_level ();
    0x0000a1a6 cmp r0, 2                                         |         
    0x0000a1a8 mov r7, sl                                        |         r7 = sl;
                                                                 |         if (r0 > 2) {
    0x0000a1aa bgt 0xa246                                        |             goto label_64;
                                                                 |         }
                                                                 | label_7:
    0x0000a1ac rsb.w r0, r8, 0                                   |         r0 = r8 - ;
    0x0000a1b0 uxtb r0, r0                                       |         r0 = (int8_t) r0;
    0x0000a1b2 rsb.w r8, r0, 0                                   |         r8 = r0 - ;
                                                                 | label_8:
    0x0000a1b6 cmp.w r8, 0                                       |         
    0x0000a1ba it ge                                             |         
                                                                 |         if (r8 < 0) {
    0x0000a1bc mvnge r8, 0x55                                    |             r8 = ~0x55;
                                                                 |         }
                                                                 | label_9:
    0x0000a1c0 ldr r0, [sp, 0x34]                                |         r0 = var_34h;
    0x0000a1c2 cmp r0, 0                                         |         
    0x0000a1c4 beq 0xa172                                        |         
                                                                 |     } while (r0 == 0);
    0x0000a1c6 blx 0x2718                                        |     sd_bus_message_unref ();
    0x0000a1ca b 0xa172                                          |     goto label_6;
                                                                 | label_59:
    0x0000a1cc mov r6, r8                                        |     r6 = r8;
    0x0000a1ce mov r8, r0                                        |     r8 = r0;
    0x0000a1d0 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a1d4 cmp r0, 2                                         |     
    0x0000a1d6 mov r7, sl                                        |     r7 = sl;
                                                                 |     if (r0 <= 2) {
    0x0000a1d8 ble 0xa1ac                                        |         goto label_7;
                                                                 |     }
    0x0000a1da ldr r3, [pc, 0x124]                               |     
    0x0000a1dc mov r1, r8                                        |     r1 = r8;
    0x0000a1de ldr r2, [pc, 0x124]                               |     
    0x0000a1e0 movs r0, 3                                        |     r0 = 3;
    0x0000a1e2 add r3, pc                                        |     r3 = 0x144e8;
    0x0000a1e4 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0000a1e6 add r2, pc                                        |     r2 = 0x144f0;
    0x0000a1e8 ldr r3, [pc, 0x11c]                               |     
    0x0000a1ea adds r2, 7                                        |     r2 += 7;
    0x0000a1ec add r3, pc                                        |     r3 = 0x144f8;
    0x0000a1ee str r3, [sp]                                      |     *(sp) = r3;
    0x0000a1f0 movw r3, 0x866                                    |     r3 = 0x866;
    0x0000a1f4 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a1f8 mov r8, r0                                        |     r8 = r0;
    0x0000a1fa b 0xa1b6                                          |     goto label_8;
                                                                 | label_60:
    0x0000a1fc mov r6, r8                                        |     r6 = r8;
    0x0000a1fe mov r8, r0                                        |     r8 = r0;
    0x0000a200 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a204 cmp r0, 2                                         |     
    0x0000a206 mov r7, sl                                        |     r7 = sl;
                                                                 |     if (r0 <= 2) {
    0x0000a208 ble 0xa1ac                                        |         goto label_7;
                                                                 |     }
    0x0000a20a ldr r3, [pc, 0x100]                               |     
    0x0000a20c mov r1, r8                                        |     r1 = r8;
    0x0000a20e ldr r2, [pc, 0x100]                               |     
    0x0000a210 movs r0, 3                                        |     r0 = 3;
    0x0000a212 add r3, pc                                        |     r3 = 0x14524;
    0x0000a214 str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0000a216 add r2, pc                                        |     r2 = 0x1452c;
    0x0000a218 ldr r3, [pc, 0xf8]                                |     
    0x0000a21a adds r2, 7                                        |     r2 += 7;
    0x0000a21c add r3, pc                                        |     r3 = 0x14534;
    0x0000a21e str r3, [sp]                                      |     *(sp) = r3;
    0x0000a220 movw r3, 0x86a                                    |     r3 = 0x86a;
    0x0000a224 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a228 mov r8, r0                                        |     r8 = r0;
    0x0000a22a b 0xa1b6                                          |     goto label_8;
                                                                 | label_57:
    0x0000a22c mov r6, r8                                        |     r6 = r8;
    0x0000a22e mov r7, sl                                        |     r7 = sl;
    0x0000a230 mov r8, r0                                        |     r8 = r0;
    0x0000a232 b 0xa172                                          |     goto label_6;
                                                                 | label_55:
    0x0000a234 mov r6, r8                                        |     r6 = r8;
    0x0000a236 mov r8, r0                                        |     r8 = r0;
    0x0000a238 ldr r0, [sp, 0x3c]                                |     r0 = var_3ch;
    0x0000a23a mov r7, sl                                        |     r7 = sl;
    0x0000a23c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a23e beq 0xa1c0                                        |         goto label_9;
                                                                 |     }
    0x0000a240 blx 0x2e10                                        |     fcn_00002e10 ();
    0x0000a244 b 0xa1c0                                          |     goto label_9;
                                                                 | label_64:
    0x0000a246 mov r1, r8                                        |     r1 = r8;
    0x0000a248 mov r0, sl                                        |     r0 = sl;
    0x0000a24a ldr r5, [r5]                                      |     r5 = *(r5);
    0x0000a24c ldr r4, [r4, 0xc]                                 |     r4 = *((r4 + 0xc));
    0x0000a24e invalid                                           |     
    0x0000a252 ldr r2, [pc, 0xc4]                                |     
    0x0000a254 mov r1, r8                                        |     r1 = r8;
    0x0000a256 ldr r3, [pc, 0xc4]                                |     
    0x0000a258 str r0, [sp, 0x10]                                |     var_10h_2 = r0;
    0x0000a25a movs r0, 3                                        |     r0 = 3;
    0x0000a25c add r2, pc                                        |     r2 = 0x1457a;
    0x0000a25e str r4, [sp, 0xc]                                 |     var_ch_2 = r4;
    0x0000a260 str r2, [sp]                                      |     *(sp) = r2;
    0x0000a262 add r3, pc                                        |     r3 = 0x14584;
    0x0000a264 ldr r2, [pc, 0xb8]                                |     
    0x0000a266 strd r3, r5, [sp, 4]                              |     __asm ("strd r3, r5, [var_4h_2]");
    0x0000a26a mov.w r3, 0x860                                   |     r3 = 0x860;
    0x0000a26e add r2, pc                                        |     r2 = 0x14592;
    0x0000a270 adds r2, 7                                        |     r2 += 7;
    0x0000a272 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a276 mov r8, r0                                        |     r8 = r0;
    0x0000a278 b 0xa1b6                                          |     goto label_8;
                                                                 | label_62:
    0x0000a27a str r0, [sp, 0x1c]                                |     var_1ch_2 = r0;
    0x0000a27c mov r6, r8                                        |     r6 = r8;
    0x0000a27e blx 0x27cc                                        |     log_get_max_level ();
    0x0000a282 ldr r1, [sp, 0x1c]                                |     r1 = var_1ch_2;
    0x0000a284 cmp r0, 2                                         |     
    0x0000a286 mov r7, sl                                        |     r7 = sl;
    0x0000a288 ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0000a28a rsble r0, r1, 0                                   |         __asm ("rsble r0, r1, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000a28c uxtble r0, r0                                     |         __asm ("uxtble r0, r0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0000a28e rsble r8, r0, 0                                   |         __asm ("rsble r8, r0, 0");
                                                                 |         goto label_65;
                                                                 |     }
                                                                 |     if (r0 <= 2) {
                                                                 | label_65:
    0x0000a292 ble 0xa1b6                                        |         goto label_8;
                                                                 |     }
    0x0000a294 ldr r3, [pc, 0x8c]                                |     
    0x0000a296 movs r0, 3                                        |     r0 = 3;
    0x0000a298 ldr r2, [pc, 0x8c]                                |     
    0x0000a29a add r3, pc                                        |     r3 = 0x145c2;
    0x0000a29c str r3, [sp, 4]                                   |     var_4h_2 = r3;
    0x0000a29e add r2, pc                                        |     r2 = 0x145ca;
    0x0000a2a0 ldr r3, [pc, 0x88]                                |     
    0x0000a2a2 adds r2, 7                                        |     r2 += 7;
    0x0000a2a4 add r3, pc                                        |     r3 = 0x145d4;
    0x0000a2a6 str r3, [sp]                                      |     *(sp) = r3;
    0x0000a2a8 movw r3, 0x884                                    |     r3 = 0x884;
    0x0000a2ac blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a2b0 mov r8, r0                                        |     r8 = r0;
    0x0000a2b2 b 0xa1b6                                          |     goto label_8;
                                                                 | label_53:
    0x0000a2b4 mov r8, r0                                        |     r8 = r0;
    0x0000a2b6 add r7, sp, 0x40                                  |     r7 += var_40h;
    0x0000a2b8 b 0xa172                                          |     goto label_6;
                                                                 | label_63:
    0x0000a2ba blx 0x2c24                                        |     fcn_00002c24 ();
    0x0000a2be nop                                               |     
    0x0000a2c0 ldr r5, [pc, 0x40]                                |     r5 = *(0xa304);
    0x0000a2c2 movs r1, r0                                       |     r1 = r0;
    0x0000a2c4 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x0000a2c6 movs r0, r0                                       |     
    0x0000a2c8 ldr r5, [pc, 0x10]                                |     r5 = *(0xa2dc);
    0x0000a2ca movs r1, r0                                       |     r1 = r0;
    0x0000a2cc subs r3, 0x4e                                     |     r3 -= 0x4e;
    0x0000a2ce movs r0, r0                                       |     
    0x0000a2d0 subs r0, r7, 6                                    |     r0 -= var_6h;
    0x0000a2d2 movs r0, r0                                       |     
    0x0000a2d4 adds r5, 0x62                                     |     r5 += 0x62;
    0x0000a2d6 movs r0, r0                                       |     
    0x0000a2d8 ldr r7, [pc, 0x308]                               |     r7 = *(0xa5e4);
    0x0000a2da movs r1, r0                                       |     r1 = r0;
    0x0000a2dc ldr r7, [pc, 0x118]                               |     r7 = *(0xa3f8);
    0x0000a2de movs r1, r0                                       |     r1 = r0;
    0x0000a2e0 ldr r7, [pc, 0x220]                               |     r7 = *(0xa504);
    0x0000a2e2 movs r1, r0                                       |     r1 = r0;
    0x0000a2e4 ldr r7, [pc, 0x198]                               |     r7 = *(0xa480);
    0x0000a2e6 movs r1, r0                                       |     r1 = r0;
    0x0000a2e8 lsls r0, r2, 0xc                                  |     r0 = r2 << 0xc;
    0x0000a2ea movs r0, r0                                       |     
    0x0000a2ec adds r2, 0xa4                                     |     r2 += 0xa4;
    0x0000a2ee movs r0, r0                                       |     
    0x0000a2f0 movs r0, 0x50                                     |     r0 = 0x50;
    0x0000a2f2 movs r0, r0                                       |     
    0x0000a2f4 rors r6, r0                                       |     __asm ("rors r6, r0");
    0x0000a2f6 movs r0, r0                                       |     
    0x0000a2f8 ldr r6, [pc, 0x350]                               |     r6 = *(0xa64c);
    0x0000a2fa movs r1, r0                                       |     r1 = r0;
    0x0000a2fc ldr r3, [pc, 0x150]                               |     r3 = *(0xa450);
    0x0000a2fe movs r1, r0                                       |     r1 = r0;
    0x0000a300 adds r2, 0xa                                      |     r2 += 0xa;
    0x0000a302 movs r0, r0                                       |     
    0x0000a304 subs r6, r6, 6                                    |     r6 -= 6;
    0x0000a306 movs r0, r0                                       |     
    0x0000a308 asrs r4, r5                                       |     r4 >>= r5;
    0x0000a30a movs r0, r0                                       |     
    0x0000a30c adds r1, 0xda                                     |     r1 += 0xda;
    0x0000a30e movs r0, r0                                       |     
    0x0000a310 subs r6, r0, 6                                    |     r6 = r0 - 6;
    0x0000a312 movs r0, r0                                       |     
    0x0000a314 lsrs r4, r7                                       |     r4 >>= r7;
    0x0000a316 movs r0, r0                                       |     
    0x0000a318 lsls r4, r7                                       |     r4 <<= r7;
    0x0000a31a movs r0, r0                                       |     
    0x0000a31c subs r0, 0xfe                                     |     r0 -= 0xfe;
    0x0000a31e movs r0, r0                                       |     
    0x0000a320 subs r6, r5, 4                                    |     r6 = r5 - 4;
    0x0000a322 movs r0, r0                                       |     
    0x0000a324 adds r1, 0x52                                     |     r1 += 0x52;
    0x0000a326 movs r0, r0                                       |     
    0x0000a328 subs r6, r7, 3                                    |     r6 = r7 - 3;
    0x0000a32a movs r0, r0                                       |     
    0x0000a32c eors r4, r6                                       |     r4 ^= r6;
    0x0000a32e movs r0, r0                                       |     
    0x0000a330 ldr.w r2, [pc, 0xa3c]                             |     r2 = *(0x0000ad70);
    0x0000a334 ldr.w r3, [pc, 0xa3c]                             |     
    0x0000a338 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x0000a33c sub sp, 0xf4                                      |     
    0x0000a33e add r2, pc                                        |     r2 += pc;
    0x0000a340 movs r5, 0                                        |     r5 = 0;
    0x0000a342 add r7, sp, 0x40                                  |     r7 += var_40h_2;
    0x0000a344 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000a346 mov sb, r1                                        |     sb = r1;
    0x0000a348 mov r0, r5                                        |     r0 = r5;
    0x0000a34a add.w r1, r7, 0x4c                                |     r1 += var_4ch_3;
    0x0000a34e ldr r3, [r3]                                      |     r3 = *(0xad74);
    0x0000a350 str.w r3, [r7, 0xac]                              |     __asm ("str.w r3, [var_ach_2]");
    0x0000a354 mov.w r3, 0                                       |     r3 = 0;
    0x0000a358 strd r5, r5, [r7, 0x4c]                           |     __asm ("strd r5, r5, [var_4ch_3]");
    0x0000a35c strd r5, r5, [r7, 0x74]                           |     __asm ("strd r5, r5, [var_74h_2]");
    0x0000a360 str r5, [r7, 0x7c]                                |     var_7ch_2 = r5;
    0x0000a362 bl 0x6bf8                                         |     r0 = fcn_00006bf8 (r0, r1);
    0x0000a366 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000a368 blt.w 0xa5ae                                      |         goto label_66;
                                                                 |     }
    0x0000a36c ldr.w r0, [pc, 0xa08]                             |     r0 = *(0x0000ad78);
    0x0000a370 add r0, pc                                        |     r0 += pc;
    0x0000a372 blx 0x29b0                                        |     fcn_000029b0 ();
    0x0000a376 ldr.w fp, [r7, 0x4c]                              |     fp = var_4ch_3;
    0x0000a37a mov r8, r0                                        |     r8 = r0;
    0x0000a37c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a37e beq.w 0xa636                                      |         goto label_67;
                                                                 |     }
    0x0000a382 ldr.w r3, [pc, 0x9f8]                             |     
    0x0000a386 add.w sl, r7, 0x74                                |     sl += var_74h_2;
    0x0000a38a add.w r2, r7, 0x50                                |     r2 += var_4ch_4;
    0x0000a38e str r5, [sp, 0xc]                                 |     var_ch = r5;
    0x0000a390 str r2, [sp, 8]                                   |     var_8h = r2;
    0x0000a392 mov r0, fp                                        |     r0 = fp;
    0x0000a394 add r3, pc                                        |     r3 = 0x15116;
    0x0000a396 strd r3, sl, [sp]                                 |     __asm ("strd r3, sl, [sp]");
    0x0000a39a ldr.w r3, [pc, 0x9e4]                             |     
    0x0000a39e ldrd r1, r2, [sb, 4]                              |     __asm ("ldrd r1, r2, [sb, 4]");
    0x0000a3a2 add r3, pc                                        |     r3 = 0x15128;
    0x0000a3a4 blx 0x2e4c                                        |     r0 = fcn_00002e4c ();
    0x0000a3a8 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000a3aa blt.w 0xa66c                                      |         goto label_68;
                                                                 |     }
    0x0000a3ae ldr.w r1, [pc, 0x9d4]                             |     
    0x0000a3b2 add.w r2, r7, 0x58                                |     r2 += var_58h_2;
    0x0000a3b6 ldr r0, [r7, 0x50]                                |     r0 = var_4ch_4;
    0x0000a3b8 add r1, pc                                        |     r1 = 0x15142;
    0x0000a3ba blx 0x28a4                                        |     r0 = sd_bus_message_read ();
    0x0000a3be subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000a3c0 blt.w 0xa684                                      |         goto label_69;
                                                                 |     }
    0x0000a3c4 ldr.w r3, [pc, 0x9c0]                             |     r3 = *(0x0000ad88);
    0x0000a3c8 add r3, pc                                        |     r3 += pc;
    0x0000a3ca ldrb r6, [r3]                                     |     r6 = *(r3);
    0x0000a3cc cmp r6, 0                                         |     
                                                                 |     if (r6 != 0) {
    0x0000a3ce bne.w 0xa656                                      |         goto label_70;
                                                                 |     }
    0x0000a3d2 ldr.w r2, [pc, 0x9b8]                             |     r2 = *(0x0000ad8c);
    0x0000a3d6 mov r3, r8                                        |     r3 = r8;
    0x0000a3d8 ldr r1, [r7, 0x58]                                |     r1 = var_58h_2;
    0x0000a3da ldr.w r0, [sb, 8]                                 |     r0 = *((sb + 8));
    0x0000a3de add r2, pc                                        |     r2 += pc;
    0x0000a3e0 bl 0x58dc                                         |     r0 = fcn_000058dc (r0, r1, r2, r3, r4);
    0x0000a3e4 subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000a3e6 blt.w 0xa61a                                      |         goto label_12;
                                                                 |     }
    0x0000a3ea mvn r3, 1                                         |     r3 = ~1;
    0x0000a3ee str r6, [r7, 0x70]                                |     var_70h_2 = r6;
    0x0000a3f0 str r3, [r7, 0x6c]                                |     var_6ch_2 = r3;
    0x0000a3f2 add.w r6, r7, 0x6c                                |     r6 += var_6ch_2;
    0x0000a3f6 ldr.w r3, [pc, 0x998]                             |     
    0x0000a3fa add.w r2, r7, 0x54                                |     r2 += var_54h;
    0x0000a3fe str r2, [r7, 0x44]                                |     var_44h = r2;
    0x0000a400 str.w sl, [r7, 0x38]                              |     __asm ("str.w sl, [var_38h_3]");
    0x0000a404 add r3, pc                                        |     r3 = 0x1519a;
    0x0000a406 str r3, [r7, 0x40]                                |     var_40h_5 = r3;
    0x0000a408 ldr.w r3, [pc, 0x988]                             |     
    0x0000a40c add r3, pc                                        |     r3 = 0x151a4;
    0x0000a40e str r3, [r7, 0x34]                                |     var_34h_3 = r3;
    0x0000a410 ldr.w r3, [pc, 0x984]                             |     
    0x0000a414 add r3, pc                                        |     r3 = 0x151b0;
    0x0000a416 str r3, [r7, 0x30]                                |     var_30h_3 = r3;
    0x0000a418 ldr.w r3, [pc, 0x980]                             |     
    0x0000a41c add r3, pc                                        |     r3 = 0x151bc;
    0x0000a41e str r3, [r7, 0x2c]                                |     base = r3;
                                                                 |     do {
                                                                 | label_10:
    0x0000a420 ldr r2, [r7, 0x44]                                |         r2 = var_44h;
    0x0000a422 movs r3, 0                                        |         r3 = 0;
    0x0000a424 mov r1, r6                                        |         r1 = r6;
    0x0000a426 mov r0, r8                                        |         r0 = r8;
    0x0000a428 blx 0x2dec                                        |         r0 = fcn_00002dec ();
    0x0000a42c cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a42e beq.w 0xa6ee                                      |             goto label_71;
                                                                 |         }
    0x0000a432 ldr r4, [r7, 0x54]                                |         r4 = var_54h;
    0x0000a434 movs r3, 0                                        |         r3 = 0;
    0x0000a436 str r3, [r7, 0x5c]                                |         var_5ch_2 = r3;
    0x0000a438 ldr r1, [r7, 0x40]                                |         r1 = var_40h_5;
    0x0000a43a ldr r0, [r4]                                      |         r0 = *(r4);
    0x0000a43c blx 0x2e8c                                        |         r0 = parse_boolean_argument ();
    0x0000a440 cmp r0, 0                                         |         
    0x0000a442 bne 0xa420                                        |         
                                                                 |     } while (r0 != 0);
    0x0000a444 ldr r3, [r4, 0x14]                                |     r3 = *((r4 + 0x14));
    0x0000a446 str r3, [r7, 0x3c]                                |     var_3ch_2 = r3;
    0x0000a448 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000a44a bne 0xa420                                        |         goto label_10;
                                                                 |     }
    0x0000a44c ldr.w r0, [sb, 0xc]                               |     r0 = *((sb + 0xc));
    0x0000a450 ldr r4, [r4, 4]                                   |     r4 = *((r4 + 4));
                                                                 |     if (r0 == 0) {
    0x0000a452 cbz r0, 0xa45e                                    |         goto label_72;
                                                                 |     }
    0x0000a454 mov r1, r4                                        |     r1 = r4;
    0x0000a456 blx 0x2e8c                                        |     r0 = parse_boolean_argument ();
    0x0000a45a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000a45c bne 0xa420                                        |         goto label_10;
                                                                 |     }
                                                                 | label_72:
    0x0000a45e ldr r3, [r7, 0x38]                                |     r3 = var_38h_3;
    0x0000a460 mov r0, fp                                        |     r0 = fp;
    0x0000a462 str r4, [sp, 0x10]                                |     var_10h = r4;
    0x0000a464 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000a466 ldr.w r3, [pc, 0x938]                             |     
    0x0000a46a add r3, pc                                        |     r3 = 0x15210;
    0x0000a46c str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000a46e ldr.w r3, [pc, 0x934]                             |     
    0x0000a472 add r3, pc                                        |     r3 = 0x1521c;
    0x0000a474 str r3, [sp]                                      |     *(sp) = r3;
    0x0000a476 add.w r3, r7, 0x5c                                |     r3 += var_5ch_2;
    0x0000a47a str r3, [sp, 8]                                   |     var_8h = r3;
    0x0000a47c ldr r3, [r7, 0x34]                                |     r3 = var_34h_3;
    0x0000a47e ldrd r1, r2, [sb, 4]                              |     __asm ("ldrd r1, r2, [sb, 4]");
    0x0000a482 blx 0x2e4c                                        |     r0 = fcn_00002e4c ();
    0x0000a486 cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0000a488 blt.w 0xaca2                                      |         goto label_73;
                                                                 |     }
    0x0000a48c ldr.w r2, [pc, 0x918]                             |     
    0x0000a490 movs r1, 0x61                                     |     r1 = 0x61;
    0x0000a492 ldr r0, [r7, 0x5c]                                |     r0 = var_5ch_2;
    0x0000a494 add r2, pc                                        |     r2 = 0x15240;
    0x0000a496 blx 0x2724                                        |     r0 = sd_bus_message_enter_container ();
    0x0000a49a cmp r0, 0                                         |     
                                                                 |     if (r0 < 0) {
    0x0000a49c blt.w 0xac84                                      |         goto label_74;
                                                                 |     }
    0x0000a4a0 ldr.w sl, [pc, 0x908]                             |     
    0x0000a4a4 strd sb, fp, [r7, 0x24]                           |     __asm ("strd sb, fp, [var_24h_3]");
    0x0000a4a8 str r6, [r7, 0x20]                                |     var_20h_5 = r6;
    0x0000a4aa add sl, pc                                        |     sl = 0x1525a;
    0x0000a4ac ldrd sb, r6, [r7, 0x2c]                           |     __asm ("ldrd sb, r6, [var_30h_3]");
    0x0000a4b0 b 0xa562                                          |     
                                                                 |     if (r0 == 0) {
                                                                 |         while (r5 >= r0) {
    0x0000a4b2 beq.w 0xa7d6                                      |             goto label_75;
                                                                 |         }
    0x0000a4b6 ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a4b8 add.w r2, r7, 0x68                                |         r2 += var_68h_2;
    0x0000a4bc mov r1, r6                                        |         r1 = r6;
    0x0000a4be blx 0x28a4                                        |         r0 = sd_bus_message_read ();
    0x0000a4c2 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a4c4 blt.w 0xa800                                      |             goto label_76;
                                                                 |         }
    0x0000a4c8 ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a4ca mov r2, r4                                        |         r2 = r4;
    0x0000a4cc movs r1, 0x76                                     |         r1 = 0x76;
    0x0000a4ce blx 0x2724                                        |         r0 = sd_bus_message_enter_container ();
    0x0000a4d2 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a4d4 blt.w 0xa83c                                      |             goto label_77;
                                                                 |         }
    0x0000a4d8 add.w r1, r7, 0x64                                |         r1 += var_60h_3;
    0x0000a4dc add.w r0, r7, 0x60                                |         r0 += ptr;
    0x0000a4e0 blx 0x2998                                        |         r0 = fcn_00002998 ();
    0x0000a4e4 mov r5, r0                                        |         r5 = r0;
    0x0000a4e6 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a4e8 beq.w 0xa878                                      |             goto label_78;
                                                                 |         }
    0x0000a4ec ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a4ee mov r2, r4                                        |         r2 = r4;
    0x0000a4f0 mov r1, r5                                        |         r1 = r5;
    0x0000a4f2 bl 0x643c                                         |         r0 = fcn_0000643c (r0, r1, r2);
    0x0000a4f6 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a4f8 blt.w 0xab3a                                      |             goto label_79;
                                                                 |         }
    0x0000a4fc mov r0, r5                                        |         r0 = r5;
    0x0000a4fe blx 0x2670                                        |         safe_fclose ();
    0x0000a502 movs r2, 0x24                                     |         r2 = 0x24;
    0x0000a504 mov r1, r4                                        |         r1 = r4;
    0x0000a506 mov r5, r0                                        |         r5 = r0;
    0x0000a508 add.w r0, r7, 0x84                                |         r0 += s;
    0x0000a50c blx 0x2838                                        |         memset (r0, r1, r2);
    0x0000a510 ldr r3, [r7, 0x54]                                |         r3 = var_54h;
    0x0000a512 add.w r1, r7, 0x80                                |         r1 += var_80h_2;
    0x0000a516 str.w sb, [r7, 0x80]                              |         __asm ("str.w sb, [var_80h_2]");
    0x0000a51a mov r0, r8                                        |         r0 = r8;
    0x0000a51c ldr r3, [r3, 4]                                   |         r3 = *((r3 + 4));
    0x0000a51e str.w r3, [r7, 0x84]                              |         __asm ("str.w r3, [s]");
    0x0000a522 ldr r3, [r7, 0x68]                                |         r3 = var_68h_2;
    0x0000a524 str.w r3, [r7, 0x88]                              |         __asm ("str.w r3, [var_88h]");
    0x0000a528 blx 0x2e04                                        |         r0 = fcn_00002e04 ();
    0x0000a52c mov fp, r0                                        |         
                                                                 |         if (r0 != 0) {
    0x0000a52e cbz r0, 0xa53e                                    |             
    0x0000a530 ldr r0, [r0, 0x14]                                |             r0 = *((r0 + 0x14));
    0x0000a532 blx 0x28d4                                        |             free (r0);
    0x0000a536 ldr r2, [r7, 0x60]                                |             r2 = ptr;
    0x0000a538 str r4, [r7, 0x60]                                |             ptr = r4;
    0x0000a53a str.w r2, [fp, 0x14]                              |             __asm ("str.w r2, [arg_14h]");
                                                                 |         }
    0x0000a53e ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a540 blx 0x29c8                                        |         r0 = fcn_000029c8 ();
    0x0000a544 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a546 blt.w 0xab5a                                      |             goto label_80;
                                                                 |         }
    0x0000a54a ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a54c blx 0x29c8                                        |         r0 = fcn_000029c8 ();
    0x0000a550 cmp r0, 0                                         |         
                                                                 |         if (r0 < 0) {
    0x0000a552 blt.w 0xab74                                      |             goto label_81;
                                                                 |         }
    0x0000a556 mov r0, r5                                        |         r0 = r5;
    0x0000a558 blx 0x2670                                        |         safe_fclose ();
    0x0000a55c ldr r0, [r7, 0x60]                                |         r0 = ptr;
    0x0000a55e blx 0x28d4                                        |         free (r0);
    0x0000a562 ldr r0, [r7, 0x5c]                                |         r0 = var_5ch_2;
    0x0000a564 movs r4, 0                                        |         r4 = 0;
    0x0000a566 mov r2, sl                                        |         r2 = sl;
    0x0000a568 movs r1, 0x65                                     |         r1 = 0x65;
    0x0000a56a strd r4, r4, [r7, 0x60]                           |         __asm ("strd r4, r4, [ptr]");
    0x0000a56e blx 0x2724                                        |         r0 = sd_bus_message_enter_container ();
    0x0000a572 subs r5, r0, 0                                    |         r5 = r0 - 0;
    0x0000a574 bge 0xa4b2                                        |         
                                                                 |     }
    0x0000a576 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a57a cmp r0, 2                                         |     
    0x0000a57c ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000a580 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
                                                                 |     if (r0 > 2) {
    0x0000a584 bgt.w 0xabb0                                      |         goto label_82;
                                                                 |     }
                                                                 | label_16:
    0x0000a588 rsbs r4, r5, 0                                    |     r4 = r5 - ;
    0x0000a58a uxtb r4, r4                                       |     r4 = (int8_t) r4;
    0x0000a58c rsbs r4, r4, 0                                    |     r4 -= ;
                                                                 | label_17:
    0x0000a58e cmp r4, 0                                         |     
    0x0000a590 it ge                                             |     
                                                                 |     if (r4 < 0) {
    0x0000a592 mvnge r4, 0x55                                    |         r4 = ~0x55;
                                                                 |     }
                                                                 | label_18:
    0x0000a596 ldr r0, [r7, 0x3c]                                |     r0 = var_3ch_2;
    0x0000a598 blx 0x2670                                        |     safe_fclose ();
    0x0000a59c ldr r0, [r7, 0x60]                                |     r0 = ptr;
    0x0000a59e blx 0x28d4                                        |     free (r0);
                                                                 | label_38:
    0x0000a5a2 ldr r0, [r7, 0x5c]                                |     r0 = var_5ch_2;
    0x0000a5a4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a5a6 beq 0xa61a                                        |         goto label_12;
                                                                 |     }
    0x0000a5a8 blx 0x2718                                        |     sd_bus_message_unref ();
    0x0000a5ac b 0xa61a                                          |     goto label_12;
                                                                 | label_66:
    0x0000a5ae ldr.w fp, [r7, 0x4c]                              |     fp = var_4ch_3;
    0x0000a5b2 add.w sl, r7, 0x74                                |     sl += var_74h_2;
                                                                 | label_11:
    0x0000a5b6 mov r0, sl                                        |     r0 = sl;
    0x0000a5b8 blx 0x2b88                                        |     fcn_00002b88 ();
    0x0000a5bc ldr r0, [r7, 0x50]                                |     r0 = var_4ch_4;
                                                                 |     if (r0 != 0) {
    0x0000a5be cbz r0, 0xa5c4                                    |         
    0x0000a5c0 blx 0x2718                                        |         sd_bus_message_unref ();
                                                                 |     }
    0x0000a5c4 cmp.w fp, 0                                       |     
                                                                 |     if (fp != 0) {
    0x0000a5c8 beq 0xa5d0                                        |         
    0x0000a5ca mov r0, fp                                        |         r0 = fp;
    0x0000a5cc blx 0x2bdc                                        |         fcn_00002bdc ();
                                                                 |     }
    0x0000a5d0 ldr.w r2, [pc, 0x7dc]                             |     r2 = *(0x0000adb0);
    0x0000a5d4 ldr.w r3, [pc, 0x79c]                             |     r3 = *(0xad74);
    0x0000a5d8 add r2, pc                                        |     r2 += pc;
    0x0000a5da ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x0000a5dc ldr r2, [r3]                                      |     r2 = *(0xad74);
    0x0000a5de ldr.w r3, [r7, 0xac]                              |     r3 = var_ach_2;
    0x0000a5e2 eors r2, r3                                       |     r2 ^= r3;
    0x0000a5e4 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x0000a5e8 bne.w 0xad34                                      |         goto label_83;
                                                                 |     }
    0x0000a5ec mov r0, r4                                        |     r0 = r4;
    0x0000a5ee adds r7, 0xb4                                     |     r7 += 0xb4;
    0x0000a5f0 mov sp, r7                                        |     
    0x0000a5f2 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 |     do {
    0x0000a5f6 ldr r0, [r5, 4]                                   |         r0 = *((r5 + 4));
    0x0000a5f8 blx 0x28d4                                        |         free (r0);
    0x0000a5fc ldr r0, [r5, 8]                                   |         r0 = *((r5 + 8));
    0x0000a5fe blx 0x28d4                                        |         free (r0);
    0x0000a602 ldr r0, [r5, 0xc]                                 |         r0 = *((r5 + 0xc));
    0x0000a604 blx 0x28d4                                        |         free (r0);
    0x0000a608 ldr r0, [r5, 0x10]                                |         r0 = *((r5 + 0x10));
    0x0000a60a blx 0x28d4                                        |         free (r0);
    0x0000a60e ldr r0, [r5, 0x14]                                |         r0 = *((r5 + 0x14));
    0x0000a610 blx 0x28d4                                        |         free (r0);
    0x0000a614 mov r0, r5                                        |         r0 = r5;
    0x0000a616 blx 0x28d4                                        |         free (r0);
                                                                 | label_12:
    0x0000a61a movs r2, 0                                        |         r2 = 0;
    0x0000a61c movs r1, 1                                        |         r1 = 1;
    0x0000a61e mov r0, r8                                        |         r0 = r8;
    0x0000a620 blx 0x28b0                                        |         r0 = hashmap_first_key_and_value ();
    0x0000a624 mov r5, r0                                        |         r5 = r0;
    0x0000a626 cmp r0, 0                                         |         
    0x0000a628 bne 0xa5f6                                        |         
                                                                 |     } while (r0 != 0);
    0x0000a62a mov r2, r0                                        |     r2 = r0;
    0x0000a62c mov r1, r0                                        |     r1 = r0;
    0x0000a62e mov r0, r8                                        |     r0 = r8;
    0x0000a630 blx 0x2e1c                                        |     fcn_00002e1c ();
    0x0000a634 b 0xa5b6                                          |     goto label_11;
                                                                 | label_67:
    0x0000a636 ldr.w r1, [pc, 0x77c]                             |     
    0x0000a63a movw r2, 0x3d1                                    |     r2 = 0x3d1;
    0x0000a63e ldr.w r3, [pc, 0x778]                             |     
    0x0000a642 movs r0, 3                                        |     r0 = 3;
    0x0000a644 add.w sl, r7, 0x74                                |     sl += var_74h_2;
    0x0000a648 add r1, pc                                        |     r1 = 0x15402;
    0x0000a64a add r3, pc                                        |     r3 = 0x15408;
    0x0000a64c adds r1, 7                                        |     r1 += 7;
    0x0000a64e blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x0000a652 mov r4, r0                                        |     r4 = r0;
    0x0000a654 b 0xa5b6                                          |     goto label_11;
                                                                 | label_70:
    0x0000a656 ldr.w r3, [pc, 0x764]                             |     r3 = *(0x0000adbc);
    0x0000a65a mov r4, r5                                        |     r4 = r5;
    0x0000a65c add r3, pc                                        |     r3 += pc;
    0x0000a65e ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000a660 blx 0x2a80                                        |     fcn_00002a80 ();
    0x0000a664 ldr r0, [r7, 0x58]                                |     r0 = var_58h_2;
    0x0000a666 blx 0x2cc0                                        |     fcn_00002cc0 ();
    0x0000a66a b 0xa61a                                          |     goto label_12;
                                                                 | label_68:
    0x0000a66c blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a670 cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x0000a672 bgt 0xa6b4                                        |         goto label_84;
                                                                 |     }
                                                                 |     do {
    0x0000a674 rsbs r4, r4, 0                                    |         r4 -= ;
    0x0000a676 uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x0000a678 rsbs r4, r4, 0                                    |         r4 -= ;
                                                                 | label_13:
    0x0000a67a cmp r4, 0                                         |         
    0x0000a67c it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x0000a67e mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
    0x0000a682 b 0xa61a                                          |         goto label_12;
                                                                 | label_69:
    0x0000a684 blx 0x27cc                                        |         r0 = log_get_max_level ();
    0x0000a688 cmp r0, 2                                         |         
    0x0000a68a ble 0xa674                                        |         
                                                                 |     } while (r0 <= 2);
    0x0000a68c ldr.w r3, [pc, 0x730]                             |     r3 = s;
    0x0000a690 mov r1, r4                                        |     r1 = r4;
    0x0000a692 ldr.w r2, [pc, 0x730]                             |     
    0x0000a696 movs r0, 3                                        |     r0 = 3;
    0x0000a698 add r3, pc                                        |     r3 += pc;
    0x0000a69a str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000a69c add r2, pc                                        |     r2 = 0x15466;
    0x0000a69e ldr.w r3, [pc, 0x728]                             |     
    0x0000a6a2 adds r2, 7                                        |     r2 += 7;
    0x0000a6a4 add r3, pc                                        |     r3 = 0x15472;
    0x0000a6a6 str r3, [sp]                                      |     *(sp) = r3;
    0x0000a6a8 mov.w r3, 0x3dc                                   |     r3 = 0x3dc;
    0x0000a6ac blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a6b0 mov r4, r0                                        |     r4 = r0;
    0x0000a6b2 b 0xa67a                                          |     goto label_13;
                                                                 | label_84:
    0x0000a6b4 mov r1, r4                                        |     r1 = r4;
    0x0000a6b6 mov r0, sl                                        |     r0 = sl;
    0x0000a6b8 ldrd r6, r5, [sb, 4]                              |     __asm ("ldrd r6, r5, [sb, 4]");
    0x0000a6bc blx 0x2688                                        |     bus_error_message ();
    0x0000a6c0 ldr.w r2, [pc, 0x708]                             |     
    0x0000a6c4 mov r1, r4                                        |     r1 = r4;
    0x0000a6c6 ldr.w r3, [pc, 0x708]                             |     
    0x0000a6ca str r0, [sp, 0x10]                                |     var_10h = r0;
    0x0000a6cc movs r0, 3                                        |     r0 = 3;
    0x0000a6ce add r2, pc                                        |     r2 = 0x1549e;
    0x0000a6d0 str r6, [sp, 0xc]                                 |     var_ch = r6;
    0x0000a6d2 str r2, [sp]                                      |     *(sp) = r2;
    0x0000a6d4 add r3, pc                                        |     r3 = 0x154aa;
    0x0000a6d6 ldr.w r2, [pc, 0x6fc]                             |     
    0x0000a6da strd r3, r5, [sp, 4]                              |     __asm ("strd r3, r5, [var_4h]");
    0x0000a6de movw r3, 0x3d7                                    |     r3 = 0x3d7;
    0x0000a6e2 add r2, pc                                        |     r2 = 0x154bc;
    0x0000a6e4 adds r2, 7                                        |     r2 += 7;
    0x0000a6e6 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a6ea mov r4, r0                                        |     r4 = r0;
    0x0000a6ec b 0xa67a                                          |     goto label_13;
                                                                 | label_71:
    0x0000a6ee mov r0, r8                                        |     r0 = r8;
    0x0000a6f0 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
    0x0000a6f4 blx 0x276c                                        |     r0 = hashmap_size ();
    0x0000a6f8 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000a6fa bne.w 0xace2                                      |         goto label_85;
                                                                 |     }
                                                                 | label_40:
    0x0000a6fe cmp r0, 1                                         |     
    0x0000a700 mov.w r5, 0xc                                     |     r5 = 0xc;
    0x0000a704 it lo                                             |     
                                                                 |     if (r0 >= 1) {
    0x0000a706 movlo r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x0000a708 add.w r6, r7, 0x80                                |     r6 += var_80h_2;
    0x0000a70c adds r3, r0, 7                                    |     r3 = r0 + 7;
    0x0000a70e movs r2, 9                                        |     r2 = 9;
    0x0000a710 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x0000a714 str r2, [r7, 0x34]                                |     var_34h_3 = r2;
    0x0000a716 sub.w sp, sp, r3                                  |     
    0x0000a71a add r3, sp, 0x40                                  |     r3 += var_40h_2;
    0x0000a71c str r3, [r7, 0x2c]                                |     base = r3;
    0x0000a71e movs r3, 0                                        |     r3 = 0;
    0x0000a720 str.w r3, [r7, 0x84]                              |     __asm ("str.w r3, [s]");
    0x0000a724 str r3, [r7, 0x40]                                |     var_40h_5 = r3;
    0x0000a726 mvn r3, 1                                         |     r3 = ~1;
    0x0000a72a str.w r3, [r7, 0x80]                              |     __asm ("str.w r3, [var_80h_2]");
    0x0000a72e movs r3, 4                                        |     r3 = 4;
    0x0000a730 str r3, [r7, 0x38]                                |     var_38h_3 = r3;
    0x0000a732 str r3, [r7, 0x3c]                                |     var_3ch_2 = r3;
                                                                 |     do {
                                                                 | label_14:
    0x0000a734 ldr r2, [r7, 0x44]                                |         r2 = var_44h;
    0x0000a736 movs r3, 0                                        |         r3 = 0;
    0x0000a738 mov r1, r6                                        |         r1 = r6;
    0x0000a73a mov r0, r8                                        |         r0 = r8;
    0x0000a73c blx 0x2dec                                        |         r0 = fcn_00002dec ();
    0x0000a740 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a742 beq.w 0xa89e                                      |             goto label_86;
                                                                 |         }
    0x0000a746 ldr.w r0, [sb, 0xc]                               |         r0 = *((sb + 0xc));
    0x0000a74a ldr r4, [r7, 0x54]                                |         r4 = var_54h;
    0x0000a74c ldr r1, [r4, 4]                                   |         r1 = *((r4 + 4));
    0x0000a74e cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a750 beq 0xa7d0                                        |             goto label_87;
                                                                 |         }
    0x0000a752 str r1, [r7, 0x30]                                |         var_30h_3 = r1;
    0x0000a754 blx 0x2e8c                                        |         parse_boolean_argument ();
    0x0000a758 ldr r1, [r7, 0x30]                                |         r1 = var_30h_3;
    0x0000a75a cmp r0, 0                                         |         
    0x0000a75c bne 0xa734                                        |         
                                                                 |     } while (r0 != 0);
                                                                 | label_15:
    0x0000a75e mov r0, r1                                        |     r0 = r1;
    0x0000a760 blx 0x298c                                        |     fcn_0000298c ();
    0x0000a764 ldr r3, [r7, 0x3c]                                |     r3 = var_3ch_2;
    0x0000a766 cmp r3, r0                                        |     
    0x0000a768 it lo                                             |     
                                                                 |     if (r3 >= r0) {
    0x0000a76a movlo r3, r0                                      |         r3 = r0;
                                                                 |     }
    0x0000a76c str r3, [r7, 0x3c]                                |     var_3ch_2 = r3;
                                                                 |     do {
    0x0000a76e ldr r0, [r4, 8]                                   |         r0 = *((r4 + 8));
                                                                 |         if (r0 != 0) {
    0x0000a770 cbz r0, 0xa782                                    |             
    0x0000a772 blx 0x298c                                        |             fcn_0000298c ();
    0x0000a776 ldr r2, [r7, 0x3c]                                |             r2 = var_3ch_2;
    0x0000a778 adds r3, r0, 1                                    |             r3 = r0 + 1;
    0x0000a77a cmp r2, r3                                        |             
    0x0000a77c it lo                                             |             
                                                                 |             if (r2 >= r3) {
    0x0000a77e movlo r2, r3                                      |                 r2 = r3;
                                                                 |             }
    0x0000a780 str r2, [r7, 0x3c]                                |             var_3ch_2 = r2;
                                                                 |         }
    0x0000a782 ldr r0, [r4]                                      |         r0 = *(r4);
                                                                 |         if (r0 != 0) {
    0x0000a784 cbz r0, 0xa794                                    |             
    0x0000a786 blx 0x298c                                        |             fcn_0000298c ();
    0x0000a78a ldr r3, [r7, 0x38]                                |             r3 = var_38h_3;
    0x0000a78c cmp r3, r0                                        |             
    0x0000a78e it lo                                             |             
                                                                 |             if (r3 >= r0) {
    0x0000a790 movlo r3, r0                                      |                 r3 = r0;
                                                                 |             }
    0x0000a792 str r3, [r7, 0x38]                                |             var_38h_3 = r3;
                                                                 |         }
    0x0000a794 ldr r0, [r4, 0xc]                                 |         r0 = *((r4 + 0xc));
                                                                 |         if (r0 != 0) {
    0x0000a796 cbz r0, 0xa7a6                                    |             
    0x0000a798 blx 0x298c                                        |             fcn_0000298c ();
    0x0000a79c ldr r3, [r7, 0x34]                                |             r3 = var_34h_3;
    0x0000a79e cmp r3, r0                                        |             
    0x0000a7a0 it lo                                             |             
                                                                 |             if (r3 >= r0) {
    0x0000a7a2 movlo r3, r0                                      |                 r3 = r0;
                                                                 |             }
    0x0000a7a4 str r3, [r7, 0x34]                                |             var_34h_3 = r3;
                                                                 |         }
    0x0000a7a6 ldr r0, [r4, 0x10]                                |         r0 = *((r4 + 0x10));
                                                                 |         if (r0 != 0) {
    0x0000a7a8 cbz r0, 0xa7b4                                    |             
    0x0000a7aa blx 0x298c                                        |             r0 = fcn_0000298c ();
    0x0000a7ae cmp r5, r0                                        |             
    0x0000a7b0 it lo                                             |             
                                                                 |             if (r5 < r0) {
    0x0000a7b2 movlo r5, r0                                      |                 r5 = r0;
                                                                 |                 goto label_88;
                                                                 |             }
                                                                 |         }
                                                                 | label_88:
    0x0000a7b4 ldr r0, [r4, 0x14]                                |         r0 = *((r4 + 0x14));
                                                                 |         if (r0 != 0) {
    0x0000a7b6 cbz r0, 0xa7c2                                    |             
    0x0000a7b8 blx 0x298c                                        |             r0 = fcn_0000298c ();
    0x0000a7bc cmp r5, r0                                        |             
    0x0000a7be it lo                                             |             
                                                                 |             if (r5 < r0) {
    0x0000a7c0 movlo r5, r0                                      |                 r5 = r0;
                                                                 |                 goto label_89;
                                                                 |             }
                                                                 |         }
                                                                 | label_89:
    0x0000a7c2 ldr r3, [r7, 0x40]                                |         r3 = var_40h_5;
    0x0000a7c4 ldr r2, [r7, 0x2c]                                |         r2 = base;
    0x0000a7c6 str.w r4, [r2, r3, lsl 2]                         |         __asm ("str.w r4, [r2, r3, lsl 2]");
    0x0000a7ca adds r3, 1                                        |         r3++;
    0x0000a7cc str r3, [r7, 0x40]                                |         var_40h_5 = r3;
    0x0000a7ce b 0xa734                                          |         goto label_14;
                                                                 | label_87:
    0x0000a7d0 cmp r1, 0                                         |         
    0x0000a7d2 beq 0xa76e                                        |         
                                                                 |     } while (r1 == 0);
    0x0000a7d4 b 0xa75e                                          |     goto label_15;
                                                                 | label_75:
    0x0000a7d6 ldrd sb, fp, [r7, 0x24]                           |     __asm ("ldrd sb, fp, [var_24h_3]");
    0x0000a7da ldr r6, [r7, 0x20]                                |     r6 = var_20h_5;
    0x0000a7dc blx 0x2670                                        |     safe_fclose ();
    0x0000a7e0 ldr r0, [r7, 0x60]                                |     r0 = ptr;
    0x0000a7e2 blx 0x28d4                                        |     free (r0);
    0x0000a7e6 ldr r0, [r7, 0x5c]                                |     r0 = var_5ch_2;
    0x0000a7e8 blx 0x29c8                                        |     r0 = fcn_000029c8 ();
    0x0000a7ec subs r4, r0, 0                                    |     r4 = r0 - 0;
                                                                 |     if (r4 < r0) {
    0x0000a7ee blt.w 0xad06                                      |         goto label_90;
                                                                 |     }
    0x0000a7f2 ldr r0, [r7, 0x5c]                                |     r0 = var_5ch_2;
    0x0000a7f4 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x0000a7f6 beq.w 0xa420                                      |         goto label_10;
                                                                 |     }
    0x0000a7fa blx 0x2718                                        |     sd_bus_message_unref ();
    0x0000a7fe b 0xa420                                          |     goto label_10;
                                                                 | label_76:
    0x0000a800 mov r5, r0                                        |     r5 = r0;
    0x0000a802 ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000a806 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a80a cmp r0, 2                                         |     
    0x0000a80c ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
                                                                 |     if (r0 <= 2) {
    0x0000a810 ble.w 0xa588                                      |         goto label_16;
                                                                 |     }
    0x0000a814 ldr.w r3, [pc, 0x5c0]                             |     
    0x0000a818 mov r1, r5                                        |     r1 = r5;
    0x0000a81a movs r0, 3                                        |     r0 = 3;
    0x0000a81c add r3, pc                                        |     
    0x0000a81e adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000a820 ldr.w r3, [pc, 0x5b8]                             |     r3 = s;
    0x0000a824 add r3, pc                                        |     r3 = 0x1fe20;
    0x0000a826 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000a828 ldr.w r3, [pc, 0x5b4]                             |     
    0x0000a82c add r3, pc                                        |     r3 = 0x15610;
    0x0000a82e str r3, [sp]                                      |     *(sp) = r3;
    0x0000a830 movw r3, 0x412                                    |     r3 = 0x412;
    0x0000a834 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a838 mov r4, r0                                        |     r4 = r0;
    0x0000a83a b 0xa58e                                          |     goto label_17;
                                                                 | label_77:
    0x0000a83c mov r5, r0                                        |     r5 = r0;
    0x0000a83e ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000a842 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000a846 cmp r0, 2                                         |     
    0x0000a848 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
                                                                 |     if (r0 <= 2) {
    0x0000a84c ble.w 0xa588                                      |         goto label_16;
                                                                 |     }
    0x0000a850 ldr.w r3, [pc, 0x590]                             |     
    0x0000a854 mov r1, r5                                        |     r1 = r5;
    0x0000a856 movs r0, 3                                        |     r0 = 3;
    0x0000a858 add r3, pc                                        |     
    0x0000a85a adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000a85c ldr.w r3, [pc, 0x588]                             |     r3 = s;
    0x0000a860 add r3, pc                                        |     r3 = 0x1fea4;
    0x0000a862 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000a864 ldr.w r3, [pc, 0x584]                             |     
    0x0000a868 add r3, pc                                        |     r3 = 0x15658;
    0x0000a86a str r3, [sp]                                      |     *(sp) = r3;
    0x0000a86c movw r3, 0x416                                    |     r3 = 0x416;
    0x0000a870 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000a874 mov r4, r0                                        |     r4 = r0;
    0x0000a876 b 0xa58e                                          |     goto label_17;
                                                                 | label_78:
    0x0000a878 ldr.w r1, [pc, 0x574]                             |     
    0x0000a87c movw r2, 0x41a                                    |     r2 = 0x41a;
    0x0000a880 ldr.w r3, [pc, 0x570]                             |     
    0x0000a884 str r0, [r7, 0x3c]                                |     var_3ch_2 = r0;
    0x0000a886 movs r0, 3                                        |     r0 = 3;
    0x0000a888 add r1, pc                                        |     r1 = 0x1567c;
    0x0000a88a ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000a88e add r3, pc                                        |     r3 = 0x15686;
    0x0000a890 adds r1, 7                                        |     r1 += 7;
    0x0000a892 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
    0x0000a896 blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x0000a89a mov r4, r0                                        |     r4 = r0;
    0x0000a89c b 0xa596                                          |     goto label_18;
                                                                 | label_86:
    0x0000a89e ldr r1, [r7, 0x40]                                |     r1 = var_40h_5;
    0x0000a8a0 cmp r5, 0x28                                      |     
    0x0000a8a2 it hs                                             |     
                                                                 |     if (r5 < 0x28) {
    0x0000a8a4 movhs r5, 0x28                                    |         r5 = 0x28;
                                                                 |     }
    0x0000a8a6 str r5, [r7, 0x20]                                |     var_20h_5 = r5;
    0x0000a8a8 cmp r1, 1                                         |     
                                                                 |     if (r1 < 1) {
    0x0000a8aa bls.w 0xac14                                      |         goto label_91;
                                                                 |     }
    0x0000a8ae ldr.w r3, [pc, 0x548]                             |     r3 = *(0x0000adf8);
    0x0000a8b2 movs r2, 4                                        |     r2 = 4;
    0x0000a8b4 ldr r0, [r7, 0x2c]                                |     r0 = base;
    0x0000a8b6 add r3, pc                                        |     r3 += pc;
    0x0000a8b8 blx 0x2694                                        |     qsort ();
    0x0000a8bc ldr.w r3, [pc, 0x53c]                             |     r3 = *(0x0000adfc);
    0x0000a8c0 add r3, pc                                        |     r3 += pc;
    0x0000a8c2 ldr r0, [r3]                                      |     r0 = *(r3);
    0x0000a8c4 blx 0x2a80                                        |     fcn_00002a80 ();
    0x0000a8c8 ldr.w r3, [pc, 0x534]                             |     r3 = *(0x0000ae00);
    0x0000a8cc add r3, pc                                        |     r3 += pc;
    0x0000a8ce ldrb r3, [r3]                                     |     r3 = *(r3);
    0x0000a8d0 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000a8d2 bne.w 0xac26                                      |         goto label_92;
                                                                 |     }
                                                                 | label_36:
    0x0000a8d6 ldr.w r2, [pc, 0x52c]                             |     
    0x0000a8da ldr r3, [r7, 0x2c]                                |     r3 = base;
    0x0000a8dc str.w r8, [r7, 0xc]                               |     __asm ("str.w r8, [var_ch_4]");
    0x0000a8e0 add r2, pc                                        |     r2 = 0x156ea;
    0x0000a8e2 str.w sl, [r7, 4]                                 |     __asm ("str.w sl, [var_4h_5]");
    0x0000a8e6 str r2, [r7, 0x18]                                |     var_18h_4 = r2;
    0x0000a8e8 subs r3, 4                                        |     r3 -= 4;
    0x0000a8ea ldr.w r2, [pc, 0x51c]                             |     
    0x0000a8ee mov sl, r3                                        |     sl = r3;
    0x0000a8f0 str.w fp, [r7, 8]                                 |     __asm ("str.w fp, [var_8h_4]");
    0x0000a8f4 str.w sb, [r7, 0x24]                              |     __asm ("str.w sb, [var_24h_3]");
    0x0000a8f8 add r2, pc                                        |     r2 = 0x15706;
    0x0000a8fa str r2, [r7, 0x1c]                                |     var_1ch_4 = r2;
    0x0000a8fc ldr.w r2, [pc, 0x50c]                             |     
    0x0000a900 add r2, pc                                        |     r2 = 0x15710;
    0x0000a902 str r2, [r7, 0x14]                                |     var_14h_5 = r2;
    0x0000a904 ldr.w r2, [pc, 0x508]                             |     
    0x0000a908 add r2, pc                                        |     r2 = 0x1571c;
    0x0000a90a str r2, [r7, 0x10]                                |     var_10h_4 = r2;
    0x0000a90c movs r2, 0                                        |     r2 = 0;
    0x0000a90e mov r8, r2                                        |     r8 = r2;
                                                                 |     do {
    0x0000a910 ldr r3, [r7, 0x24]                                |         r3 = var_24h_3;
    0x0000a912 ldr r5, [sl, 4]!                                  |         r5 = *((sl += 4));
    0x0000a916 ldr r0, [r3, 0xc]                                 |         r0 = *((r3 + 0xc));
    0x0000a918 str r5, [r7, 0x54]                                |         var_54h = r5;
    0x0000a91a cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a91c beq.w 0xaac4                                      |             goto label_93;
                                                                 |         }
    0x0000a920 ldr r1, [r5, 4]                                   |         r1 = *((r5 + 4));
    0x0000a922 blx 0x2e8c                                        |         r0 = parse_boolean_argument ();
    0x0000a926 cmp r0, 0                                         |         
                                                                 |         if (r0 == 0) {
    0x0000a928 bne.w 0xaa60                                      |             
    0x0000a92c ldr.w r1, [pc, 0x4e4]                             |             
    0x0000a930 ldr r0, [r5]                                      |             r0 = *(r5);
    0x0000a932 add r1, pc                                        |             r1 = 0x1574a;
    0x0000a934 blx 0x2e8c                                        |             r0 = parse_boolean_argument ();
    0x0000a938 mov r4, r0                                        |             r4 = r0;
    0x0000a93a cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000a93c beq.w 0xaa60                                      |                 goto label_94;
                                                                 |             }
                                                                 | label_25:
    0x0000a940 ldr.w sb, [r5, 0x14]                              |             sb = *((r5 + 0x14));
    0x0000a944 cmp.w sb, 0                                       |             
                                                                 |             if (sb == 0) {
    0x0000a948 beq.w 0xaaa8                                      |                 goto label_95;
                                                                 |             }
    0x0000a94c mov r0, sb                                        |             r0 = sb;
    0x0000a94e blx 0x298c                                        |             fcn_0000298c ();
    0x0000a952 ldr r2, [r7, 0x20]                                |             r2 = var_20h_5;
    0x0000a954 mov r1, r0                                        |             r1 = r0;
    0x0000a956 movs r3, 0x64                                     |             r3 = 0x64;
    0x0000a958 mov r0, sb                                        |             r0 = sb;
    0x0000a95a blx 0x2e70                                        |             r0 = fcn_00002e70 ();
    0x0000a95e mov fp, r0                                        |             
    0x0000a960 cmp r0, 0                                         |             
                                                                 |             if (r0 == 0) {
    0x0000a962 beq.w 0xac64                                      |                 goto label_96;
                                                                 |             }
    0x0000a966 mov sb, r0                                        |             sb = r0;
                                                                 | label_24:
    0x0000a968 cmp r4, 0                                         |             
                                                                 |             if (r4 == 0) {
    0x0000a96a beq.w 0xaad0                                      |                 goto label_97;
                                                                 |             }
    0x0000a96e ldr.w r3, [pc, 0x4a8]                             |             
    0x0000a972 add r3, pc                                        |             r3 = 0x15790;
    0x0000a974 str r3, [r7, 0x28]                                |             var_28h_2 = r3;
    0x0000a976 ldr.w r3, [pc, 0x4a4]                             |             
    0x0000a97a add r3, pc                                        |             r3 = 0x1579c;
    0x0000a97c str r3, [r7, 0x2c]                                |             base = r3;
                                                                 | label_26:
    0x0000a97e ldr r5, [r7, 0x54]                                |             r5 = var_54h;
    0x0000a980 ldr r3, [r7, 0x3c]                                |             r3 = var_3ch_2;
    0x0000a982 ldr r6, [r5]                                      |             r6 = *(r5);
    0x0000a984 cmp r4, 0                                         |             
    0x0000a986 it ne                                             |             
                                                                 |             if (r4 == 0) {
    0x0000a988 subne r3, 1                                       |                 r3--;
                                                                 |             }
    0x0000a98a str r3, [r7, 0x44]                                |             var_44h = r3;
    0x0000a98c cmp r6, 0                                         |             
                                                                 |             if (r6 == 0) {
    0x0000a98e beq.w 0xaa9e                                      |                 goto label_98;
                                                                 |             }
    0x0000a992 ldr.w r1, [pc, 0x48c]                             |             
    0x0000a996 mov r0, r6                                        |             r0 = r6;
    0x0000a998 add r1, pc                                        |             r1 = 0x157be;
    0x0000a99a blx 0x2e8c                                        |             r0 = parse_boolean_argument ();
    0x0000a99e cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000a9a0 bne 0xaa9e                                        |                 goto label_98;
                                                                 |             }
    0x0000a9a2 ldr r1, [r5, 4]                                   |             r1 = *((r5 + 4));
                                                                 | label_22:
    0x0000a9a4 cmp r1, 0                                         |             
                                                                 |             if (r1 == 0) {
    0x0000a9a6 beq.w 0xab00                                      |                 goto label_99;
                                                                 |             }
    0x0000a9aa ldrb r3, [r1]                                     |             r3 = *(r1);
                                                                 |             if (r3 == 0) {
    0x0000a9ac cbnz r3, 0xa9b4                                   |                 
    0x0000a9ae ldr.w r1, [pc, 0x474]                             |                 
    0x0000a9b2 add r1, pc                                        |                 r1 = 0x157dc;
                                                                 |             }
                                                                 | label_30:
    0x0000a9b4 cmp r4, 0                                         |             
                                                                 |             if (r4 == 0) {
    0x0000a9b6 beq.w 0xaade                                      |                 goto label_100;
                                                                 |             }
    0x0000a9ba ldr.w r3, [pc, 0x46c]                             |             
    0x0000a9be add r3, pc                                        |             r3 = 0x157ec;
    0x0000a9c0 str r3, [r7, 0x30]                                |             var_30h_3 = r3;
                                                                 | label_27:
    0x0000a9c2 cmp r6, 0                                         |             
                                                                 |             if (r6 == 0) {
    0x0000a9c4 beq.w 0xaafa                                      |                 goto label_101;
                                                                 |             }
    0x0000a9c8 ldrb r3, [r6]                                     |             r3 = *(r6);
                                                                 |             if (r3 == 0) {
    0x0000a9ca cbnz r3, 0xa9d2                                   |                 
    0x0000a9cc ldr.w r6, [pc, 0x45c]                             |                 r6 = s;
    0x0000a9d0 add r6, pc                                        |                 r6 += pc;
                                                                 |             }
                                                                 | label_29:
    0x0000a9d2 ldr r2, [r5, 0xc]                                 |             r2 = *((r5 + 0xc));
    0x0000a9d4 cmp r2, 0                                         |             
                                                                 |             if (r2 == 0) {
    0x0000a9d6 beq.w 0xaaf4                                      |                 goto label_102;
                                                                 |             }
    0x0000a9da ldrb r3, [r2]                                     |             r3 = *(r2);
                                                                 |             if (r3 == 0) {
    0x0000a9dc cbnz r3, 0xa9e4                                   |                 
    0x0000a9de ldr.w r2, [pc, 0x450]                             |                 
    0x0000a9e2 add r2, pc                                        |                 r2 = 0x15818;
                                                                 |             }
                                                                 | label_28:
    0x0000a9e4 ldrd r3, r4, [r5, 0x20]                           |             __asm ("ldrd r3, r4, [r5, 0x20]");
    0x0000a9e8 ldrb r0, [r5, 0x18]                               |             r0 = *((r5 + 0x18));
    0x0000a9ea lsls r5, r3, 0x1f                                 |             r5 = r3 << 0x1f;
                                                                 |             if (r5 < r3) {
    0x0000a9ec bmi 0xaa86                                        |                 goto label_103;
                                                                 |             }
    0x0000a9ee orrs r4, r3                                       |             r4 |= r3;
                                                                 |             if (r4 != r3) {
    0x0000a9f0 bne.w 0xab06                                      |                 goto label_104;
                                                                 |             }
    0x0000a9f4 cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000a9f6 bne.w 0xaba8                                      |                 goto label_105;
                                                                 |             }
    0x0000a9fa ldr.w ip, [pc, 0x438]                             |             
    0x0000a9fe add ip, pc                                        |             ip = 0x15838;
                                                                 | label_35:
    0x0000aa00 ldr r4, [r7, 0x14]                                |             r4 = var_14h_5;
    0x0000aa02 mov r5, r4                                        |             r5 = r4;
                                                                 | label_21:
    0x0000aa04 tst.w r3, 0x20                                    |             
                                                                 |             if ((r3 & 0x20) != 0) {
    0x0000aa08 bne 0xaa7e                                        |                 goto label_106;
                                                                 |             }
    0x0000aa0a ldr.w lr, [pc, 0x42c]                             |             
    0x0000aa0e add lr, pc                                        |             lr = 0x1584c;
                                                                 | label_20:
    0x0000aa10 lsls r3, r3, 0x19                                 |             r3 <<= 0x19;
                                                                 |             if (r3 < r3) {
    0x0000aa12 bmi 0xaa78                                        |                 goto label_107;
                                                                 |             }
    0x0000aa14 ldr.w r3, [pc, 0x424]                             |             
    0x0000aa18 add r3, pc                                        |             r3 = 0x15858;
                                                                 | label_19:
    0x0000aa1a cmp r0, 0                                         |             
                                                                 |             if (r0 != 0) {
    0x0000aa1c bne 0xaaa2                                        |                 goto label_108;
                                                                 |             }
    0x0000aa1e ldr.w r0, [pc, 0x420]                             |             
    0x0000aa22 add r0, pc                                        |             r0 = 0x15868;
                                                                 | label_23:
    0x0000aa24 strd r3, r0, [sp, 0x34]                           |             __asm ("strd r3, r0, [sp, 0x34]");
    0x0000aa28 movs r0, 1                                        |             r0 = 1;
    0x0000aa2a ldr r3, [r7, 0x30]                                |             r3 = var_30h_3;
    0x0000aa2c str r2, [sp, 0x18]                                |             var_18h = r2;
    0x0000aa2e str.w fp, [sp, 0x20]                              |             __asm ("str.w fp, [var_20h_2]");
    0x0000aa32 strd r1, r3, [sp, 4]                              |             __asm ("strd r1, r3, [sp, 4]");
    0x0000aa36 ldr r1, [r7, 0x20]                                |             r1 = var_20h_5;
    0x0000aa38 ldr r3, [r7, 0x44]                                |             r3 = var_44h;
    0x0000aa3a str r6, [sp, 0x10]                                |             var_10h = r6;
    0x0000aa3c str r1, [sp, 0x1c]                                |             var_1ch = r1;
    0x0000aa3e ldr r1, [r7, 0x34]                                |             r1 = var_34h_3;
    0x0000aa40 str r3, [sp]                                      |             *(sp) = r3;
    0x0000aa42 ldrd r2, r3, [r7, 0x28]                           |             __asm ("ldrd r2, r3, [base]");
    0x0000aa44 movs r3, 0xa                                      |             r3 = 0xa;
    0x0000aa46 str r1, [sp, 0x14]                                |             var_14h = r1;
    0x0000aa48 ldr r1, [r7, 0x38]                                |             r1 = var_38h_3;
    0x0000aa4a strd r4, lr, [sp, 0x2c]                           |             __asm ("strd r4, lr, [sp, 0x2c]");
    0x0000aa4e strd ip, r5, [sp, 0x24]                           |             __asm ("strd ip, r5, [sp, 0x24]");
    0x0000aa52 str r1, [sp, 0xc]                                 |             var_ch = r1;
    0x0000aa54 ldr r1, [r7, 0x1c]                                |             r1 = var_1ch_4;
    0x0000aa56 blx 0x27fc                                        |             printf_chk ()
    0x0000aa5a mov r0, sb                                        |             r0 = sb;
    0x0000aa5c blx 0x28d4                                        |             free (r0);
                                                                 |         }
                                                                 | label_94:
    0x0000aa60 ldr r3, [r7, 0x40]                                |         r3 = var_40h_5;
    0x0000aa62 add.w r8, r8, 1                                   |         r8++;
    0x0000aa66 cmp r3, r8                                        |         
    0x0000aa68 bhi.w 0xa910                                      |         
                                                                 |     } while (r3 > r8);
    0x0000aa6a add r7, sp, 0x148                                 |     r7 = sp + 0x148;
    0x0000aa6c ldrd fp, r8, [r7, 8]                              |     __asm ("ldrd fp, r8, [var_ch_4]");
    0x0000aa70 ldr.w sl, [r7, 4]                                 |     sl = var_4h_5;
                                                                 | label_37:
    0x0000aa74 movs r4, 0                                        |     r4 = 0;
    0x0000aa76 b 0xa61a                                          |     goto label_12;
                                                                 | label_107:
    0x0000aa78 ldr r3, [pc, 0x3c8]                               |     
    0x0000aa7a add r3, pc                                        |     r3 = 0x158c2;
    0x0000aa7c b 0xaa1a                                          |     goto label_19;
                                                                 | label_106:
    0x0000aa7e ldr.w lr, [pc, 0x3c8]                             |     
    0x0000aa82 add lr, pc                                        |     lr = 0x158d0;
    0x0000aa84 b 0xaa10                                          |     goto label_20;
                                                                 | label_103:
    0x0000aa86 ldr.w ip, [pc, 0x3c4]                             |     
    0x0000aa8a add ip, pc                                        |     ip = 0x158dc;
                                                                 | label_31:
    0x0000aa8c lsls r5, r3, 0x1c                                 |     r5 = r3 << 0x1c;
                                                                 |     if (r5 >= r3) {
    0x0000aa8e bpl 0xab14                                        |         goto label_109;
                                                                 |     }
    0x0000aa90 ldr r5, [pc, 0x3bc]                               |     
    0x0000aa92 add r5, pc                                        |     r5 = 0x158e6;
                                                                 | label_32:
    0x0000aa94 lsls r4, r3, 0x1b                                 |     r4 = r3 << 0x1b;
                                                                 |     if (r4 >= r3) {
    0x0000aa96 bpl 0xab0e                                        |         goto label_110;
                                                                 |     }
    0x0000aa98 ldr r4, [pc, 0x3b8]                               |     
    0x0000aa9a add r4, pc                                        |     r4 = 0x158f2;
    0x0000aa9c b 0xaa04                                          |     goto label_21;
                                                                 | label_98:
    0x0000aa9e ldr r1, [r5, 8]                                   |     r1 = *((r5 + 8));
    0x0000aaa0 b 0xa9a4                                          |     goto label_22;
                                                                 | label_108:
    0x0000aaa2 ldr r0, [pc, 0x3b4]                               |     
    0x0000aaa4 add r0, pc                                        |     r0 = 0x15902;
    0x0000aaa6 b 0xaa24                                          |     goto label_23;
                                                                 | label_95:
    0x0000aaa8 ldr.w fp, [r5, 0x10]                              |     fp = *((r5 + 0x10));
    0x0000aaac cmp.w fp, 0                                       |     
                                                                 |     if (fp == 0) {
    0x0000aab0 beq 0xab32                                        |         goto label_111;
                                                                 |     }
    0x0000aab2 ldrb.w r3, [fp]                                   |     r3 = *(fp);
    0x0000aab6 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000aab8 bne.w 0xa968                                      |         goto label_24;
                                                                 |     }
    0x0000aabc ldr.w fp, [pc, 0x39c]                             |     fp = s;
    0x0000aac0 add fp, pc                                        |     
    0x0000aac2 b 0xa968                                          |     goto label_24;
                                                                 | label_93:
    0x0000aac4 ldr r0, [r5]                                      |     r0 = *(r5);
    0x0000aac6 ldr r1, [r7, 0x18]                                |     r1 = var_18h_4;
    0x0000aac8 blx 0x2e8c                                        |     r0 = parse_boolean_argument ();
    0x0000aacc mov r4, r0                                        |     r4 = r0;
    0x0000aace b 0xa940                                          |     goto label_25;
                                                                 | label_97:
    0x0000aad0 blx 0x2a98                                        |     r0 = fcn_00002a98 ();
                                                                 |     if (r0 == 0) {
    0x0000aad4 cbnz r0, 0xab24                                   |         
    0x0000aad6 ldr r3, [r7, 0x10]                                |         r3 = var_10h_4;
    0x0000aad8 strd r3, r3, [r7, 0x28]                           |         __asm ("strd r3, r3, [base]");
    0x0000aadc b 0xa97e                                          |         goto label_26;
                                                                 | label_100:
    0x0000aade str r1, [r7, 0x30]                                |         var_30h_3 = r1;
    0x0000aae0 blx 0x2a98                                        |         fcn_00002a98 ();
    0x0000aae4 ldr r1, [r7, 0x30]                                |         r1 = var_30h_3;
    0x0000aae6 ldr r5, [r7, 0x54]                                |         r5 = var_54h;
                                                                 |         if (r0 != 0) {
    0x0000aae8 cbz r0, 0xab1a                                    |             
    0x0000aaea ldr r3, [pc, 0x374]                               |             
    0x0000aaec add r3, pc                                        |             r3 = 0x15952;
    0x0000aaee str r3, [r7, 0x30]                                |             var_30h_3 = r3;
    0x0000aaf0 ldr r6, [r5]                                      |             r6 = *(r5);
    0x0000aaf2 b 0xa9c2                                          |             goto label_27;
                                                                 | label_102:
    0x0000aaf4 ldr r2, [pc, 0x36c]                               |             
    0x0000aaf6 add r2, pc                                        |             r2 = 0x1595e;
    0x0000aaf8 b 0xa9e4                                          |             goto label_28;
                                                                 | label_101:
    0x0000aafa ldr r6, [pc, 0x36c]                               |             
    0x0000aafc add r6, pc                                        |             r6 = 0x1596a;
    0x0000aafe b 0xa9d2                                          |             goto label_29;
                                                                 | label_99:
    0x0000ab00 ldr r1, [pc, 0x368]                               |             
    0x0000ab02 add r1, pc                                        |             r1 = 0x15972;
    0x0000ab04 b 0xa9b4                                          |             goto label_30;
                                                                 | label_104:
    0x0000ab06 ldr.w ip, [pc, 0x368]                             |             
    0x0000ab0a add ip, pc                                        |             ip = 0x15980;
    0x0000ab0c b 0xaa8c                                          |             goto label_31;
                                                                 | label_110:
    0x0000ab0e ldr r4, [pc, 0x364]                               |             
    0x0000ab10 add r4, pc                                        |             r4 = 0x1598a;
    0x0000ab12 b 0xaa04                                          |             goto label_21;
                                                                 | label_109:
    0x0000ab14 ldr r5, [pc, 0x360]                               |             
    0x0000ab16 add r5, pc                                        |             r5 = 0x15992;
    0x0000ab18 b 0xaa94                                          |             goto label_32;
                                                                 |         }
    0x0000ab1a ldr r3, [pc, 0x360]                               |         
    0x0000ab1c add r3, pc                                        |         r3 = 0x1599e;
    0x0000ab1e str r3, [r7, 0x30]                                |         var_30h_3 = r3;
    0x0000ab20 ldr r6, [r5]                                      |         r6 = *(r5);
    0x0000ab22 b 0xa9c2                                          |         goto label_27;
                                                                 |     }
    0x0000ab24 ldr r3, [pc, 0x358]                               |     
    0x0000ab26 add r3, pc                                        |     r3 = 0x159aa;
    0x0000ab28 str r3, [r7, 0x28]                                |     var_28h_2 = r3;
    0x0000ab2a ldr r3, [pc, 0x358]                               |     
    0x0000ab2c add r3, pc                                        |     r3 = 0x159b6;
    0x0000ab2e str r3, [r7, 0x2c]                                |     base = r3;
    0x0000ab30 b 0xa97e                                          |     goto label_26;
                                                                 | label_111:
    0x0000ab32 ldr.w fp, [pc, 0x354]                             |     
    0x0000ab36 add fp, pc                                        |     fp = 0x159c4;
    0x0000ab38 b 0xa968                                          |     goto label_24;
                                                                 | label_79:
    0x0000ab3a str r0, [r7, 0x44]                                |     var_44h = r0;
    0x0000ab3c blx 0x27cc                                        |     log_get_max_level ();
    0x0000ab40 ldr r1, [r7, 0x44]                                |     r1 = var_44h;
    0x0000ab42 cmp r0, 2                                         |     
    0x0000ab44 ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000ab48 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
    0x0000ab4c ittt le                                           |     
                                                                 |     if (r0 <= 2) {
    0x0000ab4e rsble r4, r1, 0                                   |         __asm ("rsble r4, r1, 0");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000ab50 uxtble r4, r4                                     |         __asm ("uxtble r4, r4");
                                                                 |     }
                                                                 |     if (r0 <= 2) {
    0x0000ab52 rsble r4, r4, 0                                   |         __asm ("rsble r4, r4, 0");
                                                                 |     }
                                                                 |     if (r0 > 2) {
    0x0000ab54 bgt 0xabd2                                        |         goto label_112;
                                                                 |     }
                                                                 |     do {
                                                                 | label_34:
    0x0000ab56 str r5, [r7, 0x3c]                                |         var_3ch_2 = r5;
    0x0000ab58 b 0xa58e                                          |         goto label_17;
                                                                 | label_80:
    0x0000ab5a mov r4, r0                                        |         r4 = r0;
    0x0000ab5c ldr.w fp, [r7, 0x28]                              |         fp = var_28h_2;
    0x0000ab60 blx 0x27cc                                        |         r0 = log_get_max_level ();
    0x0000ab64 cmp r0, 2                                         |         
    0x0000ab66 ldr.w sl, [r7, 0x38]                              |         sl = var_38h_3;
                                                                 |         if (r0 > 2) {
    0x0000ab6a bgt 0xabf2                                        |             goto label_113;
                                                                 |         }
                                                                 | label_33:
    0x0000ab6c rsbs r4, r4, 0                                    |         r4 -= ;
    0x0000ab6e uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x0000ab70 rsbs r4, r4, 0                                    |         r4 -= ;
    0x0000ab72 b 0xab56                                          |         
                                                                 |     } while (1);
                                                                 | label_81:
    0x0000ab74 mov r4, r0                                        |     r4 = r0;
    0x0000ab76 ldr.w fp, [r7, 0x28]                              |     fp = var_28h_2;
    0x0000ab7a blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000ab7e cmp r0, 2                                         |     
    0x0000ab80 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
                                                                 |     if (r0 <= 2) {
    0x0000ab84 ble 0xab6c                                        |         goto label_33;
                                                                 |     }
    0x0000ab86 ldr r3, [pc, 0x304]                               |     
    0x0000ab88 mov r1, r4                                        |     r1 = r4;
    0x0000ab8a movs r0, 3                                        |     r0 = 3;
    0x0000ab8c add r3, pc                                        |     r3 = 0x15a1e;
    0x0000ab8e adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000ab90 ldr r3, [pc, 0x2fc]                               |     
    0x0000ab92 add r3, pc                                        |     r3 = 0x15a26;
    0x0000ab94 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000ab96 ldr r3, [pc, 0x2fc]                               |     
    0x0000ab98 add r3, pc                                        |     r3 = 0x15a32;
    0x0000ab9a str r3, [sp]                                      |     *(sp) = r3;
    0x0000ab9c movw r3, 0x42f                                    |     r3 = 0x42f;
    0x0000aba0 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000aba4 mov r4, r0                                        |     r4 = r0;
    0x0000aba6 b 0xab56                                          |     goto label_34;
                                                                 | label_105:
    0x0000aba8 ldr.w ip, [pc, 0x2ec]                             |     ip = s;
    0x0000abac add ip, pc                                        |     
    0x0000abae b 0xaa00                                          |     goto label_35;
                                                                 | label_82:
    0x0000abb0 ldr r3, [pc, 0x2e8]                               |     
    0x0000abb2 mov r1, r5                                        |     r1 = r5;
    0x0000abb4 movs r0, 3                                        |     r0 = 3;
    0x0000abb6 add r3, pc                                        |     r3 = 0x15a56;
    0x0000abb8 adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000abba ldr r3, [pc, 0x2e4]                               |     
    0x0000abbc add r3, pc                                        |     r3 = 0x15a62;
    0x0000abbe str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000abc0 ldr r3, [pc, 0x2e0]                               |     
    0x0000abc2 add r3, pc                                        |     r3 = 0x15a6a;
    0x0000abc4 str r3, [sp]                                      |     *(sp) = r3;
    0x0000abc6 movw r3, 0x40b                                    |     r3 = 0x40b;
    0x0000abca blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000abce mov r4, r0                                        |     r4 = r0;
    0x0000abd0 b 0xa58e                                          |     goto label_17;
                                                                 | label_112:
    0x0000abd2 ldr r3, [pc, 0x2d4]                               |     
    0x0000abd4 movs r0, 3                                        |     r0 = 3;
    0x0000abd6 add r3, pc                                        |     r3 = 0x15a84;
    0x0000abd8 adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000abda ldr r3, [pc, 0x2d0]                               |     
    0x0000abdc add r3, pc                                        |     r3 = 0x15a8e;
    0x0000abde str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000abe0 ldr r3, [pc, 0x2cc]                               |     
    0x0000abe2 add r3, pc                                        |     r3 = 0x15a96;
    0x0000abe4 str r3, [sp]                                      |     *(sp) = r3;
    0x0000abe6 movw r3, 0x41e                                    |     r3 = 0x41e;
    0x0000abea blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000abee mov r4, r0                                        |     r4 = r0;
    0x0000abf0 b 0xab56                                          |     goto label_34;
                                                                 | label_113:
    0x0000abf2 ldr r3, [pc, 0x2c0]                               |     
    0x0000abf4 mov r1, r4                                        |     r1 = r4;
    0x0000abf6 movs r0, 3                                        |     r0 = 3;
    0x0000abf8 add r3, pc                                        |     r3 = 0x15ab2;
    0x0000abfa adds r2, r3, 7                                    |     r2 = r3 + 7;
    0x0000abfc ldr r3, [pc, 0x2b8]                               |     
    0x0000abfe add r3, pc                                        |     r3 = 0x15aba;
    0x0000ac00 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000ac02 ldr r3, [pc, 0x2b8]                               |     
    0x0000ac04 add r3, pc                                        |     r3 = 0x15ac6;
    0x0000ac06 str r3, [sp]                                      |     *(sp) = r3;
    0x0000ac08 movw r3, 0x42b                                    |     r3 = 0x42b;
    0x0000ac0c blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000ac10 mov r4, r0                                        |     r4 = r0;
    0x0000ac12 b 0xab56                                          |     goto label_34;
                                                                 | label_91:
    0x0000ac14 ldr r3, [pc, 0x2a8]                               |     
    0x0000ac16 add r3, pc                                        |     r3 = 0x15ada;
    0x0000ac18 ldr r0, [r3]                                      |     r0 = *(0x15ada);
    0x0000ac1a blx 0x2a80                                        |     fcn_00002a80 ();
    0x0000ac1e ldr r3, [pc, 0x2a4]                               |     
    0x0000ac20 add r3, pc                                        |     r3 = 0x15aea;
    0x0000ac22 ldrb r3, [r3]                                     |     r3 = *(r3);
                                                                 |     if (r3 != 0) {
    0x0000ac24 cbz r3, 0xac5a                                    |         
                                                                 | label_92:
    0x0000ac26 ldr r3, [r7, 0x20]                                |         r3 = var_20h_5;
    0x0000ac28 movs r0, 1                                        |         r0 = 1;
    0x0000ac2a ldr r1, [pc, 0x29c]                               |         
    0x0000ac2c ldr r2, [r7, 0x3c]                                |         r2 = var_3ch_2;
    0x0000ac2e str r3, [sp, 0x10]                                |         var_10h = r3;
    0x0000ac30 ldr r3, [r7, 0x34]                                |         r3 = var_34h_3;
    0x0000ac32 add r1, pc                                        |         r1 = 0x15b00;
    0x0000ac34 str r3, [sp, 8]                                   |         var_8h = r3;
    0x0000ac36 ldr r3, [r7, 0x38]                                |         r3 = var_38h_3;
    0x0000ac38 str r3, [sp]                                      |         *(sp) = r3;
    0x0000ac3a ldr r3, [pc, 0x290]                               |         
    0x0000ac3c add r3, pc                                        |         r3 = 0x15b0e;
    0x0000ac3e str r3, [sp, 0x18]                                |         var_18h = r3;
    0x0000ac40 ldr r3, [pc, 0x28c]                               |         
    0x0000ac42 add r3, pc                                        |         r3 = 0x15b16;
    0x0000ac44 str r3, [sp, 0x14]                                |         var_14h = r3;
    0x0000ac46 ldr r3, [pc, 0x28c]                               |         
    0x0000ac48 add r3, pc                                        |         r3 = 0x15b22;
    0x0000ac4a str r3, [sp, 0xc]                                 |         var_ch = r3;
    0x0000ac4c ldr r3, [pc, 0x288]                               |         
    0x0000ac4e add r3, pc                                        |         r3 = 0x15b2a;
    0x0000ac50 str r3, [sp, 4]                                   |         var_4h = r3;
    0x0000ac52 ldr r3, [pc, 0x288]                               |         
    0x0000ac54 add r3, pc                                        |         r3 = 0x15b36;
    0x0000ac56 blx 0x27fc                                        |         printf_chk ()
                                                                 |     }
    0x0000ac5a ldr r3, [r7, 0x40]                                |     r3 = var_40h_5;
    0x0000ac5c cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x0000ac5e bne.w 0xa8d6                                      |         goto label_36;
                                                                 |     }
    0x0000ac62 b 0xaa74                                          |     goto label_37;
                                                                 | label_96:
    0x0000ac64 ldr r1, [pc, 0x278]                               |     
    0x0000ac66 movw r2, 0x473                                    |     r2 = 0x473;
    0x0000ac6a ldr r3, [pc, 0x278]                               |     
    0x0000ac6c movs r0, 3                                        |     r0 = 3;
    0x0000ac6e ldrd fp, r8, [r7, 8]                              |     __asm ("ldrd fp, r8, [var_ch_4]");
    0x0000ac72 add r1, pc                                        |     r1 = 0x15b56;
    0x0000ac74 ldr.w sl, [r7, 4]                                 |     sl = var_4h_5;
    0x0000ac78 add r3, pc                                        |     r3 = 0x15b62;
    0x0000ac7a adds r1, 7                                        |     r1 += 7;
    0x0000ac7c blx 0x2ea8                                        |     r0 = fcn_00002ea8 ();
    0x0000ac80 mov r4, r0                                        |     r4 = r0;
    0x0000ac82 b 0xa61a                                          |     goto label_12;
                                                                 | label_74:
    0x0000ac84 mov r4, r0                                        |     r4 = r0;
    0x0000ac86 ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
    0x0000ac8a blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000ac8e cmp r0, 2                                         |     
                                                                 |     if (r0 > 2) {
    0x0000ac90 bgt 0xad38                                        |         goto label_114;
                                                                 |     }
                                                                 |     do {
                                                                 | label_41:
    0x0000ac92 rsbs r4, r4, 0                                    |         r4 -= ;
    0x0000ac94 uxtb r4, r4                                       |         r4 = (int8_t) r4;
    0x0000ac96 rsbs r4, r4, 0                                    |         r4 -= ;
                                                                 | label_39:
    0x0000ac98 cmp r4, 0                                         |         
    0x0000ac9a it ge                                             |         
                                                                 |         if (r4 < 0) {
    0x0000ac9c mvnge r4, 0x55                                    |             r4 = ~0x55;
                                                                 |         }
    0x0000aca0 b 0xa5a2                                          |         goto label_38;
                                                                 | label_73:
    0x0000aca2 mov r4, r0                                        |         r4 = r0;
    0x0000aca4 ldr.w sl, [r7, 0x38]                              |         sl = var_38h_3;
    0x0000aca8 blx 0x27cc                                        |         r0 = log_get_max_level ();
    0x0000acac cmp r0, 2                                         |         
    0x0000acae ble 0xac92                                        |         
                                                                 |     } while (r0 <= 2);
    0x0000acb0 ldr r3, [r7, 0x54]                                |     r3 = var_54h;
    0x0000acb2 mov r1, r4                                        |     r1 = r4;
    0x0000acb4 mov r0, sl                                        |     r0 = sl;
    0x0000acb6 ldr r5, [r3, 4]                                   |     r5 = *((r3 + 4));
    0x0000acb8 blx 0x2688                                        |     bus_error_message ();
    0x0000acbc ldr r2, [pc, 0x228]                               |     
    0x0000acbe mov r1, r4                                        |     r1 = r4;
    0x0000acc0 ldr r3, [pc, 0x228]                               |     
    0x0000acc2 str r0, [sp, 0xc]                                 |     var_ch = r0;
    0x0000acc4 movs r0, 3                                        |     r0 = 3;
    0x0000acc6 add r2, pc                                        |     r2 = 0x15bb2;
    0x0000acc8 str r2, [sp]                                      |     *(sp) = r2;
    0x0000acca add r3, pc                                        |     r3 = 0x15bba;
    0x0000accc ldr r2, [pc, 0x220]                               |     
    0x0000acce strd r3, r5, [sp, 4]                              |     __asm ("strd r3, r5, [var_4h]");
    0x0000acd2 movw r3, 0x3fb                                    |     r3 = 0x3fb;
    0x0000acd6 add r2, pc                                        |     r2 = 0x15bca;
    0x0000acd8 adds r2, 7                                        |     r2 += 7;
    0x0000acda blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000acde mov r4, r0                                        |     r4 = r0;
    0x0000ace0 b 0xac98                                          |     goto label_39;
                                                                 | label_85:
    0x0000ace2 lsrs r3, r0, 0x1e                                 |     r3 = r0 >> 0x1e;
                                                                 |     if (r3 != r0) {
    0x0000ace4 bne 0xad5a                                        |         goto label_115;
                                                                 |     }
    0x0000ace6 lsls r0, r0, 2                                    |     r0 <<= 2;
    0x0000ace8 cmp.w r0, 0x400000                                |     
                                                                 |     if (r0 < 0x400000) {
    0x0000acec bls.w 0xa6fe                                      |         goto label_40;
                                                                 |     }
    0x0000acf0 ldr r1, [pc, 0x200]                               |     
    0x0000acf2 movw r2, 0x43c                                    |     r2 = 0x43c;
    0x0000acf6 ldr r3, [pc, 0x200]                               |     
    0x0000acf8 ldr r0, [pc, 0x200]                               |     
    0x0000acfa add r1, pc                                        |     r1 = 0x15bf2;
    0x0000acfc add r3, pc                                        |     r3 = 0x15bfa;
    0x0000acfe adds r1, 7                                        |     r1 += 7;
    0x0000ad00 add r0, pc                                        |     r0 = 0x15c00;
    0x0000ad02 blx 0x2a34                                        |     fcn_00002a34 ();
                                                                 | label_90:
    0x0000ad06 blx 0x27cc                                        |     r0 = log_get_max_level ();
    0x0000ad0a cmp r0, 2                                         |     
    0x0000ad0c ldr.w sl, [r7, 0x38]                              |     sl = var_38h_3;
                                                                 |     if (r0 <= 2) {
    0x0000ad10 ble 0xac92                                        |         goto label_41;
                                                                 |     }
    0x0000ad12 ldr r3, [pc, 0x1ec]                               |     
    0x0000ad14 mov r1, r4                                        |     r1 = r4;
    0x0000ad16 ldr r2, [pc, 0x1ec]                               |     
    0x0000ad18 movs r0, 3                                        |     r0 = 3;
    0x0000ad1a add r3, pc                                        |     r3 = 0x15c20;
    0x0000ad1c str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000ad1e add r2, pc                                        |     r2 = 0x15c28;
    0x0000ad20 ldr r3, [pc, 0x1e4]                               |     
    0x0000ad22 adds r2, 7                                        |     r2 += 7;
    0x0000ad24 add r3, pc                                        |     r3 = 0x15c30;
    0x0000ad26 str r3, [sp]                                      |     *(sp) = r3;
    0x0000ad28 movw r3, 0x434                                    |     r3 = 0x434;
    0x0000ad2c blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000ad30 mov r4, r0                                        |     r4 = r0;
    0x0000ad32 b 0xac98                                          |     goto label_39;
                                                                 | label_83:
    0x0000ad34 blx 0x2c24                                        |     fcn_00002c24 ();
                                                                 | label_114:
    0x0000ad38 ldr r3, [pc, 0x1d0]                               |     
    0x0000ad3a mov r1, r4                                        |     r1 = r4;
    0x0000ad3c ldr r2, [pc, 0x1d0]                               |     
    0x0000ad3e movs r0, 3                                        |     r0 = 3;
    0x0000ad40 add r3, pc                                        |     r3 = 0x15c50;
    0x0000ad42 str r3, [sp, 4]                                   |     var_4h = r3;
    0x0000ad44 add r2, pc                                        |     r2 = 0x15c58;
    0x0000ad46 ldr r3, [pc, 0x1cc]                               |     
    0x0000ad48 adds r2, 7                                        |     r2 += 7;
    0x0000ad4a add r3, pc                                        |     r3 = 0x15c64;
    0x0000ad4c str r3, [sp]                                      |     *(sp) = r3;
    0x0000ad4e mov.w r3, 0x400                                   |     r3 = 0x400;
    0x0000ad52 blx 0x2c54                                        |     r0 = fcn_00002c54 ();
    0x0000ad56 mov r4, r0                                        |     r4 = r0;
    0x0000ad58 b 0xac98                                          |     goto label_39;
                                                                 | label_115:
    0x0000ad5a ldr r1, [pc, 0x1bc]                               |     
    0x0000ad5c movw r2, 0x43c                                    |     r2 = 0x43c;
    0x0000ad60 ldr r3, [pc, 0x1b8]                               |     
    0x0000ad62 ldr r0, [pc, 0x1bc]                               |     
    0x0000ad64 add r1, pc                                        |     r1 = 0x15c82;
    0x0000ad66 add r3, pc                                        |     r3 = 0x15c86;
    0x0000ad68 adds r1, 7                                        |     r1 += 7;
    0x0000ad6a add r0, pc                                        |     r0 = 0x15c90;
    0x0000ad6c blx 0x2a34                                        |     fcn_00002a34 ();
    0x0000ad70 ldr r1, [pc, 0x268]                               |     r1 = *(0xafdc);
    0x0000ad72 movs r1, r0                                       |     r1 = r0;
    0x0000ad74 lsls r0, r0, 0xc                                  |     r0 <<= 0xc;
    0x0000ad76 movs r0, r0                                       |     
    0x0000ad78 cmp r0, ip                                        |     
    0x0000ad7a movs r1, r0                                       |     r1 = r0;
    0x0000ad7c adds r2, 0xac                                     |     r2 += 0xac;
    0x0000ad7e movs r0, r0                                       |     
    0x0000ad80 adds r2, 0x7a                                     |     r2 += 0x7a;
    0x0000ad82 movs r0, r0                                       |     
    0x0000ad84 adds r7, 0xd4                                     |     r7 += 0xd4;
    0x0000ad86 movs r0, r0                                       |     
    0x0000ad88 ldr r4, [pc, 0x230]                               |     r4 = *(0xafbc);
    0x0000ad8a movs r1, r0                                       |     r1 = r0;
    0x0000ad8c cmp r2, r0                                        |     
    0x0000ad8e movs r1, r0                                       |     r1 = r0;
    0x0000ad90 subs r3, 0x7c                                     |     r3 -= 0x7c;
    0x0000ad92 movs r0, r0                                       |     
    0x0000ad94 adds r1, 0x70                                     |     r1 += 0x70;
    0x0000ad96 movs r0, r0                                       |     
    0x0000ad98 adds r7, 0x78                                     |     r7 += 0x78;
    0x0000ad9a movs r0, r0                                       |     
    0x0000ad9c subs r3, 0x64                                     |     r3 -= 0x64;
    0x0000ad9e movs r0, r0                                       |     
    0x0000ada0 adds r7, 0x22                                     |     r7 += 0x22;
    0x0000ada2 movs r0, r0                                       |     
    0x0000ada4 adds r7, 0xa6                                     |     r7 += 0xa6;
    0x0000ada6 movs r0, r0                                       |     
    0x0000ada8 adds r7, 0xc0                                     |     r7 += 0xc0;
    0x0000adaa movs r0, r0                                       |     
    0x0000adac adds r7, 0xb2                                     |     r7 += 0xb2;
    0x0000adae movs r0, r0                                       |     
    0x0000adb0 bx r0                                             |     return uint32_t (*r0)() ();
                                                                 | }

[*] Function printf used 6 times busctl