[*] Binary protection state of systemd-cgtop

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


[*] Function printf tear down of systemd-cgtop

    ; assembly                                                   | /* r2dec pseudo code output */
                                                                 | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-50593792.squashfs_v4_le_extract/usr/bin/systemd-cgtop @ 0x2c48 */
                                                                 | #include <stdint.h>
                                                                 |  
                                                                 | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                 |  
    ; (fcn) fcn.00002c48 ()                                      | void fcn_00002c48 (int16_t arg_4h, uint32_t arg1) {
                                                                 |     int16_t var_0h;
                                                                 |     int16_t var_4h;
                                                                 |     int16_t var_8h;
                                                                 |     int16_t var_ch;
                                                                 |     int16_t var_10h;
                                                                 |     int16_t var_14h;
                                                                 |     int16_t var_18h;
                                                                 |     int16_t var_1ch;
                                                                 |     int16_t var_20h;
                                                                 |     int16_t var_24h;
                                                                 |     int16_t var_28h;
                                                                 |     int16_t var_2ch;
                                                                 |     int16_t var_30h;
                                                                 |     int16_t var_34h;
                                                                 |     int16_t var_38h;
                                                                 |     int16_t var_3ch;
                                                                 |     int16_t var_40h;
                                                                 |     int16_t var_44h;
                                                                 |     int16_t var_48h;
                                                                 |     int16_t var_4ch;
                                                                 |     int16_t var_50h;
                                                                 |     int32_t var_4h_2;
                                                                 |     int32_t var_8h_2;
                                                                 |     int32_t var_8h_3;
                                                                 |     int32_t var_10h_2;
                                                                 |     int32_t var_14h_2;
                                                                 |     int32_t var_18h_2;
                                                                 |     int32_t var_1ch_2;
                                                                 |     int32_t var_20h_2;
                                                                 |     int32_t var_24h_2;
                                                                 |     int32_t var_28h_2;
                                                                 |     int32_t var_2ch_2;
                                                                 |     int32_t var_30h_2;
                                                                 |     int16_t var_34h_2;
                                                                 |     int32_t var_38h_2;
                                                                 |     int16_t var_3ch_2;
                                                                 |     int32_t var_7ch;
                                                                 |     int16_t var_0h_2;
                                                                 |     r0 = arg1;
    0x00002c48 ldr.w r3, [pc, 0x454]                             |     r3 = *(0x000030a0);
    0x00002c4c push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}       |     
    0x00002c50 vpush {d8}                                        |     __asm ("vpush {d8}");
    0x00002c54 sub sp, 0xd4                                      |     
    0x00002c56 add r3, pc                                        |     r3 += pc;
    0x00002c58 ldr.w r2, [pc, 0x448]                             |     r2 = *(0x000030a4);
    0x00002c5c add r7, sp, 0x50                                  |     r7 += var_50h;
    0x00002c5e str r3, [r7, 0x2c]                                |     var_2ch_2 = r3;
    0x00002c60 ldr.w r3, [pc, 0x444]                             |     
    0x00002c64 add r2, pc                                        |     r2 += pc;
    0x00002c66 ldr r3, [r2, r3]                                  |     r3 = *((r2 + r3));
    0x00002c68 ldr r3, [r3]                                      |     r3 = *(0x30a8);
    0x00002c6a str r3, [r7, 0x7c]                                |     var_7ch = r3;
    0x00002c6c mov.w r3, 0                                       |     r3 = 0;
    0x00002c70 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002c72 beq.w 0x3256                                      |         goto label_20;
                                                                 |     }
    0x00002c76 mov r4, r0                                        |     r4 = r0;
    0x00002c78 blx 0x179c                                        |     r0 = fcn_0000179c ();
    0x00002c7c cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002c7e beq.w 0x3216                                      |         goto label_21;
                                                                 |     }
                                                                 | label_10:
    0x00002c82 mov r0, r4                                        |     r0 = r4;
    0x00002c84 blx 0x14f8                                        |     r0 = hashmap_size ();
    0x00002c88 cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002c8a bne.w 0x326c                                      |         goto label_22;
                                                                 |     }
                                                                 | label_14:
    0x00002c8e cmp r0, 1                                         |     
    0x00002c90 mov.w sl, 0                                       |     sl = 0;
    0x00002c94 it lo                                             |     
                                                                 |     if (r0 >= 1) {
    0x00002c96 movlo r0, 1                                       |         r0 = 1;
                                                                 |     }
    0x00002c98 mvn r2, 1                                         |     r2 = ~1;
    0x00002c9c adds r3, r0, 7                                    |     r3 = r0 + 7;
    0x00002c9e add.w sb, r7, 0x30                                |     sb += var_30h_2;
    0x00002ca2 bic r3, r3, 7                                     |     r3 = BIT_MASK (r3, 7);
    0x00002ca6 add.w r5, r7, 0x34                                |     r5 += var_34h_2;
    0x00002caa sub.w sp, sp, r3                                  |     
    0x00002cae str r2, [r7, 0x34]                                |     var_34h_2 = r2;
    0x00002cb0 add r6, sp, 0x4c                                  |     r6 += var_4ch;
    0x00002cb2 add.w r8, sp, 0x50                                |     r8 += var_50h;
    0x00002cb6 str.w sl, [r7, 0x38]                              |     __asm ("str.w sl, [var_38h_2]");
    0x00002cba str r6, [r7, 0x18]                                |     var_18h_2 = r6;
    0x00002cbc b 0x2cce                                          |     
                                                                 |     while (r0 != 0) {
    0x00002cbe ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002cc0 ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002cc2 lsls r0, r2, 0x1c                                 |         r0 = r2 << 0x1c;
    0x00002cc4 itt ne                                            |         
                                                                 |         if (r0 == r2) {
    0x00002cc6 addne sl, sl, 1                                   |             sl++;
                                                                 |         }
                                                                 |         if (r0 != r2) {
    0x00002cca str r3, [r6, 4]!                                  |             *((r6 += 4)) = r3;
                                                                 |         }
    0x00002cce movs r3, 0                                        |         r3 = 0;
    0x00002cd0 mov r2, sb                                        |         r2 = sb;
    0x00002cd2 mov r1, r5                                        |         r1 = r5;
    0x00002cd4 mov r0, r4                                        |         r0 = r4;
    0x00002cd6 blx 0x1848                                        |         r0 = fcn_00001848 ();
    0x00002cda cmp r0, 0                                         |         
    0x00002cdc bne 0x2cbe                                        |         
                                                                 |     }
    0x00002cde cmp.w sl, 1                                       |     
                                                                 |     if (sl < 1) {
    0x00002ce2 bls 0x2d76                                        |         goto label_23;
                                                                 |     }
    0x00002ce4 ldr r3, [pc, 0x3c4]                               |     
    0x00002ce6 movs r2, 4                                        |     r2 = 4;
    0x00002ce8 mov r0, r8                                        |     r0 = r8;
    0x00002cea mov r1, sl                                        |     r1 = sl;
    0x00002cec add r3, pc                                        |     r3 = 0x5d9c;
    0x00002cee blx 0x14b0                                        |     qsort ();
                                                                 | label_1:
    0x00002cf2 ldr r3, [pc, 0x3bc]                               |     
    0x00002cf4 mov.w fp, 0                                       |     
    0x00002cf8 ldr.w sb, [pc, 0x3b8]                             |     sb = *(0x000030b4);
    0x00002cfc mov.w r8, 3                                       |     r8 = 3;
    0x00002d00 ldr r5, [r7, 0x18]                                |     r5 = var_18h_2;
    0x00002d02 mov r4, fp                                        |     r4 = fp;
    0x00002d04 add r3, pc                                        |     r3 = 0x5dba;
    0x00002d06 vmov.i32 d8, 0                                    |     __asm ("vmov.i32 d8, 0");
    0x00002d0a add sb, pc                                        |     sb += pc;
    0x00002d0c add.w r6, r7, 0x3c                                |     r6 += var_3ch_2;
    0x00002d10 str r3, [r7, 0x28]                                |     var_28h_2 = r3;
    0x00002d12 b 0x2d40                                          |     
                                                                 |     while (ip == 0) {
    0x00002d14 movs r1, 0x40                                     |         r1 = 0x40;
    0x00002d16 mov r0, r6                                        |         r0 = r6;
    0x00002d18 vstr d8, [sp]                                     |         __asm ("vstr d8, [sp]");
    0x00002d1c blx 0x14d4                                        |         format_timespan ();
                                                                 | label_0:
    0x00002d20 mov r0, r6                                        |         r0 = r6;
    0x00002d22 adds r4, 1                                        |         r4++;
    0x00002d24 blx 0x15bc                                        |         fcn_000015bc ();
    0x00002d28 ldr r3, [r5]                                      |         r3 = *(r5);
    0x00002d2a cmp fp, r0                                        |         
    0x00002d2c it lo                                             |         
                                                                 |         if (fp >= r0) {
    0x00002d2e movlo fp, r0                                      |             
                                                                 |         }
    0x00002d30 ldr r0, [r3]                                      |         r0 = *(r3);
    0x00002d32 blx 0x15bc                                        |         fcn_000015bc ();
    0x00002d34 mcrr p5, 8, r4, r4, c0                            |         __asm ("mcrr p5, 8, r4, r4, c0");
    0x00002d38 it lo                                             |         
                                                                 |         if (fp >= r0) {
    0x00002d3a movlo r8, r0                                      |             r8 = r0;
                                                                 |         }
    0x00002d3c cmp sl, r4                                        |         
                                                                 |         if (sl < r4) {
    0x00002d3e bls 0x2d86                                        |             goto label_24;
                                                                 |         }
    0x00002d40 ldr r1, [r5, 4]!                                  |         r1 = *((r5 += 4));
    0x00002d44 mov.w r2, 0x3e8                                   |         r2 = 0x3e8;
    0x00002d48 movs r3, 0                                        |         r3 = 0;
    0x00002d4a ldrd r0, r1, [r1, 0x18]                           |         __asm ("ldrd r0, r1, [r1, 0x18]");
    0x00002d4e bl 0x420c                                         |         fcn_0000420c (r0, r1, r2, r3);
    0x00002d52 ldrb.w ip, [sb]                                   |         ip = *(sb);
    0x00002d56 mov r2, r0                                        |         r2 = r0;
    0x00002d58 mov r3, r1                                        |         r3 = r1;
    0x00002d5a cmp.w ip, 0                                       |         
    0x00002d5e beq 0x2d14                                        |         
                                                                 |     }
    0x00002d60 ldr r3, [r7, 0x28]                                |     r3 = var_28h_2;
    0x00002d62 movs r2, 1                                        |     r2 = 1;
    0x00002d64 strd r0, r1, [sp, 8]                              |     __asm ("strd r0, r1, [sp, 8]");
    0x00002d68 mov r0, r6                                        |     r0 = r6;
    0x00002d6a str r3, [sp]                                      |     *(sp) = r3;
    0x00002d6c movs r3, 0x40                                     |     r3 = 0x40;
    0x00002d6e mov r1, r3                                        |     r1 = r3;
    0x00002d70 blx 0x1658                                        |     fcn_00001658 ();
    0x00002d74 b 0x2d20                                          |     goto label_0;
                                                                 | label_23:
    0x00002d76 cmp.w sl, 0                                       |     
                                                                 |     if (sl != 0) {
    0x00002d7a bne 0x2cf2                                        |         goto label_1;
                                                                 |     }
    0x00002d7c mov fp, sl                                        |     
    0x00002d7e mov.w r8, 3                                       |     r8 = 3;
    0x00002d82 add.w r6, r7, 0x3c                                |     r6 += var_3ch_2;
                                                                 | label_24:
    0x00002d86 ldr r3, [pc, 0x330]                               |     
    0x00002d88 add r3, pc                                        |     
    0x00002d8a ldr r3, [r3]                                      |     r3 = *(0x5e46);
    0x00002d8c cmp r3, 0                                         |     
                                                                 |     if (r3 == 0) {
    0x00002d8e beq.w 0x2f46                                      |         goto label_25;
                                                                 |     }
    0x00002d92 ldr r3, [pc, 0x328]                               |     
    0x00002d94 movs r2, 1                                        |     r2 = 1;
    0x00002d96 mov r0, r6                                        |     r0 = r6;
    0x00002d98 str.w fp, [sp, 4]                                 |     __asm ("str.w fp, [var_4h]");
    0x00002d9c add r3, pc                                        |     r3 = 0x5e5e;
    0x00002d9e str r3, [sp, 8]                                   |     var_8h = r3;
    0x00002da0 ldr r3, [pc, 0x31c]                               |     
    0x00002da2 add r3, pc                                        |     r3 = 0x5e66;
    0x00002da4 str r3, [sp]                                      |     *(sp) = r3;
    0x00002da6 movs r3, 0x40                                     |     r3 = 0x40;
    0x00002da8 mov r1, r3                                        |     r1 = r3;
    0x00002daa blx 0x1658                                        |     fcn_00001658 ();
                                                                 | label_3:
    0x00002dae blx 0x15ec                                        |     r0 = fcn_000015ec ();
    0x00002db2 cmp r0, 0xa                                       |     
    0x00002db4 it lo                                             |     
                                                                 |     if (r0 >= 0xa) {
    0x00002db6 movlo r0, 0xa                                     |         r0 = 0xa;
                                                                 |     }
    0x00002db8 str r0, [r7, 0x24]                                |     var_24h_2 = r0;
    0x00002dba blx 0x16f4                                        |     r0 = fcn_000016f4 ();
    0x00002dbe cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x00002dc0 bne.w 0x2f60                                      |         goto label_26;
                                                                 |     }
                                                                 | label_4:
    0x00002dc4 cmp.w sl, 0                                       |     
                                                                 |     if (sl == 0) {
    0x00002dc8 beq.w 0x31f4                                      |         goto label_27;
                                                                 |     }
    0x00002dcc add.w r3, sl, 6                                   |     r3 = sl + 6;
    0x00002dd0 ldr.w sl, [pc, 0x2f0]                             |     
    0x00002dd4 str r3, [r7, 0x28]                                |     var_28h_2 = r3;
    0x00002dd6 mov.w sb, 6                                       |     sb = 6;
    0x00002dda ldr r3, [pc, 0x2ec]                               |     
    0x00002ddc str.w fp, [r7, 0x1c]                              |     __asm ("str.w fp, [var_1ch_2]");
    0x00002de0 add sl, pc                                        |     sl = 0x5ea8;
    0x00002de2 vldr d8, [pc, 0x2b4]                              |     __asm ("vldr d8, [0x0000309c]");
    0x00002de6 add r3, pc                                        |     r3 = 0x5eb4;
    0x00002de8 ldr.w fp, [r7, 0x18]                              |     fp = var_18h_2;
    0x00002dec str r3, [r7, 0x20]                                |     var_20h_2 = r3;
    0x00002dee b 0x2ee0                                          |     
                                                                 |     while (r1 < r2) {
    0x00002df0 ldr r1, [pc, 0x2d8]                               |         
    0x00002df2 movs r0, 1                                        |         r0 = 1;
    0x00002df4 ldrd r2, r3, [r3, 8]                              |         __asm ("ldrd r2, r3, [r3, 8]");
    0x00002df8 add r1, pc                                        |         r1 = 0x5ec8;
    0x00002dfa blx 0x1534                                        |         printf_chk ()
    0x00002dfe ldr r3, [pc, 0x2d0]                               |         r3 = *(0x30d2);
    0x00002e00 ldr r2, [r7, 0x2c]                                |         r2 = var_2ch_2;
    0x00002e02 ldr r5, [r2, r3]                                  |         r5 = *((r2 + r3));
                                                                 | label_2:
    0x00002e04 ldr r2, [pc, 0x2cc]                               |         
    0x00002e06 ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002e08 add r2, pc                                        |         
    0x00002e0a ldr r2, [r2]                                      |         r2 = *(0x5ee0);
    0x00002e0c cmp r2, 0                                         |         
                                                                 |         if (r2 != 0) {
    0x00002e0e bne.w 0x3148                                      |             goto label_28;
                                                                 |         }
    0x00002e12 ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002e14 lsls r2, r2, 0x1e                                 |         r2 <<= 0x1e;
                                                                 |         if (r2 >= r2) {
    0x00002e16 bpl.w 0x3082                                      |             goto label_29;
                                                                 |         }
    0x00002e1a vldr d16, [r3, 0x28]                              |         __asm ("vldr d16, [r3, 0x28]");
    0x00002e1e movs r0, 1                                        |         r0 = 1;
    0x00002e20 ldr r1, [pc, 0x2b4]                               |         
    0x00002e22 vmul.f64 d16, d16, d8                             |         __asm ("vmul.f64 d16, d16, d8");
    0x00002e26 add r1, pc                                        |         r1 = 0x5f02;
    0x00002e28 vmov r2, r3, d16                                  |         __asm ("vmov r2, r3, d16");
    0x00002e2c blx 0x1534                                        |         printf_chk ()
                                                                 | label_9:
    0x00002e30 ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002e32 ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002e34 lsls r0, r2, 0x1d                                 |         r0 = r2 << 0x1d;
                                                                 |         if (r0 >= r2) {
    0x00002e36 bpl.w 0x307c                                      |             goto label_30;
                                                                 |         }
    0x00002e3a ldr r2, [pc, 0x2a0]                               |         
    0x00002e3c add r2, pc                                        |         r2 = 0x5f1e;
    0x00002e3e ldrb r1, [r2]                                     |         r1 = *(r2);
    0x00002e40 ldrd r2, r3, [r3, 0x30]                           |         __asm ("ldrd r2, r3, [r3, 0x30]");
    0x00002e44 cmp r1, 0                                         |         
                                                                 |         if (r1 != 0) {
    0x00002e46 bne.w 0x318c                                      |             goto label_31;
                                                                 |         }
    0x00002e4a movs r1, 7                                        |         r1 = 7;
    0x00002e4c mov r0, r6                                        |         r0 = r6;
    0x00002e4e str r1, [sp]                                      |         *(sp) = r1;
    0x00002e50 movs r1, 0x40                                     |         r1 = 0x40;
    0x00002e52 blx 0x1860                                        |         r0 = fcn_00001860 ();
    0x00002e56 mov r2, r0                                        |         r2 = r0;
                                                                 | label_8:
    0x00002e58 ldr r1, [pc, 0x284]                               |         
    0x00002e5a movs r0, 1                                        |         r0 = 1;
    0x00002e5c add r1, pc                                        |         r1 = 0x5f40;
    0x00002e5e blx 0x1534                                        |         printf_chk ()
    0x00002e62 ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002e64 ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002e66 lsls r1, r2, 0x1c                                 |         r1 = r2 << 0x1c;
                                                                 |         if (r1 >= r2) {
    0x00002e68 bpl.w 0x3076                                      |             goto label_32;
                                                                 |         }
    0x00002e6c ldr r2, [pc, 0x274]                               |         
    0x00002e6e add r2, pc                                        |         r2 = 0x5f56;
    0x00002e70 ldrb r1, [r2]                                     |         r1 = *(r2);
    0x00002e72 ldrd r2, r3, [r3, 0x58]                           |         __asm ("ldrd r2, r3, [r3, 0x58]");
    0x00002e74 movs r3, 0x16                                     |         r3 = 0x16;
    0x00002e76 cmp r1, 0                                         |         
                                                                 |         if (r1 != 0) {
    0x00002e78 bne.w 0x31c0                                      |             goto label_33;
                                                                 |         }
    0x00002e7c movs r1, 7                                        |         r1 = 7;
    0x00002e7e mov r0, r6                                        |         r0 = r6;
    0x00002e80 str r1, [sp]                                      |         *(sp) = r1;
    0x00002e82 movs r1, 0x40                                     |         r1 = 0x40;
    0x00002e84 blx 0x1860                                        |         r0 = fcn_00001860 ();
    0x00002e88 mov r2, r0                                        |         r2 = r0;
                                                                 | label_7:
    0x00002e8a ldr r1, [pc, 0x25c]                               |         
    0x00002e8c movs r0, 1                                        |         r0 = 1;
    0x00002e8e add r1, pc                                        |         r1 = 0x5f7c;
    0x00002e90 blx 0x1534                                        |         printf_chk ()
    0x00002e94 ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002e96 ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002e98 lsls r2, r2, 0x1c                                 |         r2 <<= 0x1c;
                                                                 |         if (r2 >= r2) {
    0x00002e9a bpl.w 0x3070                                      |             goto label_34;
                                                                 |         }
    0x00002e9e ldr r2, [pc, 0x24c]                               |         
    0x00002ea0 add r2, pc                                        |         r2 = 0x5f92;
    0x00002ea2 ldrb r1, [r2]                                     |         r1 = *(r2);
    0x00002ea4 ldrd r2, r3, [r3, 0x60]                           |         __asm ("ldrd r2, r3, [r3, 0x60]");
    0x00002ea8 cmp r1, 0                                         |         
                                                                 |         if (r1 != 0) {
    0x00002eaa bne.w 0x31a6                                      |             goto label_35;
                                                                 |         }
    0x00002eae movs r1, 7                                        |         r1 = 7;
    0x00002eb0 mov r0, r6                                        |         r0 = r6;
    0x00002eb2 str r1, [sp]                                      |         *(sp) = r1;
    0x00002eb4 movs r1, 0x40                                     |         r1 = 0x40;
    0x00002eb6 blx 0x1860                                        |         r0 = fcn_00001860 ();
    0x00002eba mov r2, r0                                        |         r2 = r0;
                                                                 | label_6:
    0x00002ebc ldr r1, [pc, 0x230]                               |         
    0x00002ebe movs r0, 1                                        |         r0 = 1;
    0x00002ec0 add.w sb, sb, 1                                   |         sb++;
    0x00002ec4 add r1, pc                                        |         r1 = 0x5fb8;
    0x00002ec6 blx 0x1534                                        |         printf_chk ()
    0x00002eca ldr r1, [r5]                                      |         r1 = *(r5);
    0x00002ecc movs r0, 0xa                                      |         r0 = 0xa;
    0x00002ece blx 0x1818                                        |         fcn_00001818 ();
    0x00002ed0 stc p6, c4, [r4], 0x80                            |         __asm ("stc p6, c4, [r4], 0x80");
    0x00002ed4 blx 0x1580                                        |         fcn_00001580 ();
    0x00002ed8 ldr r3, [r7, 0x28]                                |         r3 = var_28h_2;
    0x00002eda cmp r3, sb                                        |         
                                                                 |         if (r3 == sb) {
    0x00002edc beq.w 0x31f4                                      |             goto label_27;
                                                                 |         }
    0x00002ee0 blx 0x16f4                                        |         r0 = fcn_000016f4 ();
                                                                 |         if (r0 != 0) {
    0x00002ee4 cbz r0, 0x2eee                                    |             
    0x00002ee6 ldr r3, [r7, 0x24]                                |             r3 = var_24h_2;
    0x00002ee8 cmp r3, sb                                        |             
                                                                 |             if (r3 <= sb) {
    0x00002eea blo.w 0x31f4                                      |                 goto label_27;
                                                                 |             }
                                                                 |         }
    0x00002eee ldr r3, [fp, 4]!                                  |         r3 = *(arg_4h);
    0x00002ef2 str r3, [r7, 0x30]                                |         var_30h_2 = r3;
    0x00002ef4 ldr r5, [r3]                                      |         r5 = *(r3);
    0x00002ef6 cmp r5, 0                                         |         
                                                                 |         if (r5 == 0) {
    0x00002ef8 beq.w 0x3184                                      |             goto label_36;
                                                                 |         }
    0x00002efc ldrb r3, [r5]                                     |         r3 = *(r5);
    0x00002efe cmp r3, 0                                         |         
                                                                 |         if (r3 == 0) {
    0x00002f00 beq.w 0x3068                                      |             goto label_37;
                                                                 |         }
    0x00002f04 mov r0, r5                                        |         r0 = r5;
    0x00002f06 blx 0x15bc                                        |         r0 = fcn_000015bc ();
    0x00002f0a mov r1, r0                                        |         r1 = r0;
                                                                 | label_5:
    0x00002f0c movs r3, 0x21                                     |         r3 = 0x21;
    0x00002f0e mov r2, r8                                        |         r2 = r8;
    0x00002f10 mov r0, r5                                        |         r0 = r5;
    0x00002f12 blx 0x189c                                        |         r0 = fcn_0000189c ();
    0x00002f16 subs r4, r0, 0                                    |         r4 = r0 - 0;
    0x00002f18 mov r2, r8                                        |         r2 = r8;
    0x00002f1a ite eq                                            |         
                                                                 |         if (r4 != r0) {
    0x00002f1c moveq r3, r5                                      |             r3 = r5;
                                                                 |         }
                                                                 |         if (r4 == r0) {
    0x00002f1e movne r3, r4                                      |             r3 = r4;
                                                                 |         }
    0x00002f20 mov r1, sl                                        |         r1 = sl;
    0x00002f22 movs r0, 1                                        |         r0 = 1;
    0x00002f24 blx 0x1534                                        |         printf_chk ()
    0x00002f28 ldr r3, [r7, 0x30]                                |         r3 = var_30h_2;
    0x00002f2a ldrb r2, [r3, 4]                                  |         r2 = *((r3 + 4));
    0x00002f2c lsls r1, r2, 0x1f                                 |         r1 = r2 << 0x1f;
    0x00002f2e bmi.w 0x2df0                                      |         
                                                                 |     }
    0x00002f32 ldr r2, [r7, 0x2c]                                |     r2 = var_2ch_2;
    0x00002f34 movs r1, 1                                        |     r1 = 1;
    0x00002f36 ldr r3, [pc, 0x198]                               |     r3 = *(0x30d2);
    0x00002f38 ldr r0, [r7, 0x20]                                |     r0 = var_20h_2;
    0x00002f3a ldr r5, [r2, r3]                                  |     r5 = *((r2 + r3));
    0x00002f3c movs r2, 8                                        |     r2 = 8;
    0x00002f3e ldr r3, [r5]                                      |     r3 = *(r5);
    0x00002f40 blx 0x1694                                        |     fcn_00001694 ();
    0x00002f44 b 0x2e04                                          |     goto label_2;
                                                                 | label_25:
    0x00002f46 ldr r3, [pc, 0x1ac]                               |     
    0x00002f48 movs r2, 1                                        |     r2 = 1;
    0x00002f4a mov r0, r6                                        |     r0 = r6;
    0x00002f4c add r3, pc                                        |     r3 = 0x6046;
    0x00002f4e str r3, [sp, 4]                                   |     var_4h = r3;
    0x00002f50 ldr r3, [pc, 0x1a4]                               |     
    0x00002f52 add r3, pc                                        |     r3 = 0x604e;
    0x00002f54 str r3, [sp]                                      |     *(sp) = r3;
    0x00002f56 movs r3, 0x40                                     |     r3 = 0x40;
    0x00002f58 mov r1, r3                                        |     r1 = r3;
    0x00002f5a blx 0x1658                                        |     fcn_00001658 ();
    0x00002f5e b 0x2dae                                          |     goto label_3;
                                                                 | label_26:
    0x00002f60 blx 0x17a8                                        |     r0 = fcn_000017a8 ();
    0x00002f64 mov r4, r0                                        |     r4 = r0;
    0x00002f66 mov r0, r6                                        |     r0 = r6;
    0x00002f68 subs r4, 0x24                                     |     r4 -= 0x24;
    0x00002f6a blx 0x15bc                                        |     r0 = fcn_000015bc ();
    0x00002f6e sub.w r8, r4, r0                                  |     r8 = r4 - r0;
    0x00002f72 cmp.w r8, 0xa                                     |     
    0x00002f76 it lt                                             |     
                                                                 |     if (r8 >= 0xa) {
    0x00002f78 movlt r8, 0xa                                     |         r8 = 0xa;
                                                                 |     }
    0x00002f7c blx 0x1640                                        |     r0 = fcn_00001640 ();
    0x00002f80 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002f82 beq.w 0x322c                                      |         goto label_38;
                                                                 |     }
    0x00002f86 ldr.w sb, [pc, 0x174]                             |     
    0x00002f8a add sb, pc                                        |     sb = 0x608c;
                                                                 | label_11:
    0x00002f8c blx 0x1640                                        |     r0 = fcn_00001640 ();
    0x00002f90 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002f92 beq.w 0x32c2                                      |         goto label_39;
                                                                 |     }
    0x00002f96 ldr r5, [pc, 0x168]                               |     
    0x00002f98 add r5, pc                                        |     r5 = 0x609e;
                                                                 | label_17:
    0x00002f9a blx 0x1640                                        |     r0 = fcn_00001640 ();
    0x00002f9e cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00002fa0 beq.w 0x32b4                                      |         goto label_40;
                                                                 |     }
    0x00002fa4 ldr r3, [pc, 0x15c]                               |     
    0x00002fa6 add r3, pc                                        |     r3 = 0x60ae;
    0x00002fa8 str r3, [r7, 4]                                   |     var_4h_2 = r3;
                                                                 | label_16:
    0x00002faa ldr r3, [pc, 0x15c]                               |     
    0x00002fac ldr r2, [pc, 0x15c]                               |     
    0x00002fae add r3, pc                                        |     
    0x00002fb0 ldr r3, [r3]                                      |     r3 = *(0x60bc);
    0x00002fb2 add r2, pc                                        |     
    0x00002fb4 ldr r2, [r2]                                      |     r2 = *(0x60c2);
    0x00002fb6 cmp r3, 0                                         |     
                                                                 |     if (r3 != 0) {
    0x00002fb8 bne.w 0x3242                                      |         goto label_41;
                                                                 |     }
    0x00002fbc cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00002fbe beq.w 0x3334                                      |         goto label_42;
                                                                 |     }
    0x00002fc2 ldr r1, [pc, 0x14c]                               |     
    0x00002fc4 str r5, [r7, 0x1c]                                |     var_1ch_2 = r5;
    0x00002fc6 add r1, pc                                        |     r1 = 0x60dc;
    0x00002fc8 str r1, [r7, 0x14]                                |     var_14h_2 = r1;
    0x00002fca mov r1, sb                                        |     r1 = sb;
                                                                 | label_13:
    0x00002fcc cmp r2, 1                                         |     
                                                                 |     if (r2 == 1) {
    0x00002fce beq.w 0x3306                                      |         goto label_43;
                                                                 |     }
    0x00002fd2 ldr r2, [pc, 0x140]                               |     
    0x00002fd4 add r2, pc                                        |     r2 = 0x60ee;
    0x00002fd6 str r2, [r7]                                      |     *(r7) = r2;
                                                                 | label_18:
    0x00002fd8 cmp r3, 1                                         |     
                                                                 |     if (r3 == 1) {
    0x00002fda beq.w 0x32de                                      |         goto label_44;
                                                                 |     }
                                                                 | label_19:
    0x00002fde cmp r3, 2                                         |     
                                                                 |     if (r3 == 2) {
    0x00002fe0 beq.w 0x32a4                                      |         goto label_45;
                                                                 |     }
    0x00002fe4 cmp r3, 3                                         |     
                                                                 |     if (r3 != 3) {
    0x00002fe6 bne.w 0x3290                                      |         goto label_46;
                                                                 |     }
    0x00002fea ldr r4, [pc, 0x12c]                               |     
    0x00002fec mov r2, sb                                        |     r2 = sb;
    0x00002fee mov r3, r5                                        |     r3 = r5;
    0x00002ff0 add r4, pc                                        |     r4 = 0x610e;
    0x00002ff2 mov sb, r4                                        |     sb = r4;
    0x00002ff4 mov r5, r4                                        |     r5 = r4;
    0x00002ff6 str r4, [r7, 0x20]                                |     var_20h_2 = r4;
    0x00002ff8 str r4, [r7, 0x28]                                |     var_28h_2 = r4;
                                                                 | label_15:
    0x00002ffa strd r3, r2, [r7, 8]                              |     __asm ("strd r3, r2, [var_8h_2]");
    0x00002ffe str r1, [r7, 0x10]                                |     var_10h_2 = r1;
    0x00003000 blx 0x161c                                        |     fcn_0000161c ();
    0x00003002 add.w sb, ip, r7, lsr 27                          |     sb = ip + (r7 >> 27);
    0x00003006 movs r1, 3                                        |     r1 = 3;
    0x00003008 ldr r3, [r7, 8]                                   |     r3 = var_8h_2;
    0x0000300a cmp r0, 0                                         |     
                                                                 |     if (r0 != 0) {
    0x0000300c bne.w 0x323c                                      |         goto label_47;
                                                                 |     }
    0x00003010 ldr r0, [pc, 0x108]                               |     
    0x00003012 add r0, pc                                        |     r0 = 0x6132;
                                                                 | label_12:
    0x00003014 str r3, [sp, 0x2c]                                |     var_2ch = r3;
    0x00003016 ldr r3, [r7, 0x20]                                |     r3 = var_20h_2;
    0x00003018 str r2, [sp, 0x24]                                |     var_24h = r2;
    0x0000301a str r0, [sp, 0x48]                                |     var_48h = r0;
    0x0000301c movs r0, 1                                        |     r0 = 1;
    0x0000301e str r3, [sp, 0x20]                                |     var_20h = r3;
    0x00003020 ldr r3, [r7, 0x28]                                |     r3 = var_28h_2;
    0x00003022 ldr r2, [r7, 4]                                   |     r2 = var_4h_2;
    0x00003024 str.w sb, [sp, 0x18]                              |     __asm ("str.w sb, [var_18h]");
    0x00003028 str r3, [sp, 0x14]                                |     var_14h = r3;
    0x0000302a ldr r3, [r7]                                      |     r3 = *(r7);
    0x0000302c str.w r8, [sp]                                    |     __asm ("str.w r8, [sp]");
    0x00003030 str r4, [sp, 0x30]                                |     var_30h = r4;
    0x00003032 str r3, [sp, 0x10]                                |     var_10h = r3;
    0x00003034 ldr r3, [r7, 0x14]                                |     r3 = var_14h_2;
    0x00003036 str r4, [sp, 0x3c]                                |     var_3ch = r4;
    0x00003038 str r6, [sp, 0x1c]                                |     var_1ch = r6;
    0x0000303a str r3, [sp, 0xc]                                 |     var_ch = r3;
    0x0000303c ldr r3, [r7, 0x1c]                                |     r3 = var_1ch_2;
    0x0000303e str r5, [sp, 0x44]                                |     var_44h = r5;
    0x00003040 str r5, [sp, 0x38]                                |     var_38h = r5;
    0x00003042 str r3, [sp, 8]                                   |     var_8h = r3;
    0x00003044 mov r3, r1                                        |     r3 = r1;
    0x00003046 ldr r1, [pc, 0xd8]                                |     
    0x00003048 add r1, pc                                        |     r1 = 0x616e;
    0x0000304a str r1, [sp, 0x28]                                |     var_28h = r1;
    0x0000304c ldr r1, [pc, 0xd4]                                |     
    0x0000304e add r1, pc                                        |     r1 = 0x6176;
    0x00003050 str r1, [sp, 4]                                   |     var_4h = r1;
    0x00003052 ldr r1, [pc, 0xd4]                                |     
    0x00003054 add r1, pc                                        |     r1 = 0x6182;
    0x00003056 str r1, [sp, 0x40]                                |     var_40h = r1;
    0x00003058 ldr r1, [pc, 0xd0]                                |     
    0x0000305a add r1, pc                                        |     r1 = 0x618a;
    0x0000305c str r1, [sp, 0x34]                                |     var_34h = r1;
    0x0000305e ldr r1, [pc, 0xd0]                                |     
    0x00003060 add r1, pc                                        |     r1 = 0x6196;
    0x00003062 blx 0x1534                                        |     printf_chk ()
    0x00003066 b 0x2dc4                                          |     goto label_4;
                                                                 | label_37:
    0x00003068 ldr r5, [pc, 0xc8]                                |     
    0x0000306a movs r1, 1                                        |     r1 = 1;
    0x0000306c add r5, pc                                        |     r5 = 0x61a4;
    0x0000306e b 0x2f0c                                          |     goto label_5;
                                                                 | label_34:
    0x00003070 ldr r2, [pc, 0xc4]                                |     
    0x00003072 add r2, pc                                        |     r2 = 0x61ae;
    0x00003074 b 0x2ebc                                          |     goto label_6;
                                                                 | label_32:
    0x00003076 ldr r2, [pc, 0xc4]                                |     
    0x00003078 add r2, pc                                        |     r2 = 0x61ba;
    0x0000307a b 0x2e8a                                          |     goto label_7;
                                                                 | label_30:
    0x0000307c ldr r2, [pc, 0xc0]                                |     
    0x0000307e add r2, pc                                        |     r2 = 0x61c2;
    0x00003080 b 0x2e58                                          |     goto label_8;
                                                                 | label_29:
    0x00003082 ldr r0, [pc, 0xc0]                                |     
    0x00003084 movs r2, 7                                        |     r2 = 7;
    0x00003086 ldr r3, [r5]                                      |     r3 = *(r5);
    0x00003088 movs r1, 1                                        |     r1 = 1;
    0x0000308a add r0, pc                                        |     r0 = 0x61d4;
    0x0000308c blx 0x1694                                        |     fcn_00001694 ();
    0x00003090 b 0x2e30                                          |     goto label_9;
                                                                 | label_28:
    0x00003148 ldrd r0, r1, [r3, 0x18]                           |     __asm ("ldrd r0, r1, [r3, 0x18]");
    0x0000314c mov.w r2, 0x3e8                                   |     r2 = 0x3e8;
    0x00003150 movs r3, 0                                        |     r3 = 0;
    0x00003152 bl 0x420c                                         |     fcn_0000420c (r0, r1, r2, r3);
    0x00003156 mov r3, r1                                        |     r3 = r1;
    0x00003158 ldr r1, [pc, 0x21c]                               |     
    0x0000315a mov r2, r0                                        |     r2 = r0;
    0x0000315c add r1, pc                                        |     r1 = 0x64d8;
    0x0000315e ldrb r1, [r1]                                     |     r1 = *(r1);
    0x00003160 cmp r1, 0                                         |     
                                                                 |     if (r1 != 0) {
    0x00003162 bne 0x31da                                        |         goto label_48;
                                                                 |     }
    0x00003164 vmov.i32 d16, 0                                   |     __asm ("vmov.i32 d16, 0");
    0x00003168 movs r1, 0x40                                     |     r1 = 0x40;
    0x0000316a mov r0, r6                                        |     r0 = r6;
    0x0000316c vstr d16, [sp]                                    |     __asm ("vstr d16, [sp]");
    0x00003170 blx 0x14d4                                        |     r0 = format_timespan ();
    0x00003174 mov r3, r0                                        |     r3 = r0;
                                                                 |     do {
    0x00003176 ldr r1, [pc, 0x204]                               |         
    0x00003178 movs r0, 1                                        |         r0 = 1;
    0x0000317a ldr r2, [r7, 0x1c]                                |         r2 = var_1ch_2;
    0x0000317c add r1, pc                                        |         r1 = 0x64fe;
    0x0000317e blx 0x1534                                        |         printf_chk ()
    0x00003182 b 0x2e30                                          |         goto label_9;
                                                                 | label_36:
    0x00003184 ldr r5, [pc, 0x1f8]                               |         
    0x00003186 movs r1, 1                                        |         r1 = 1;
    0x00003188 add r5, pc                                        |         r5 = 0x650c;
    0x0000318a b 0x2f0c                                          |         goto label_5;
                                                                 | label_31:
    0x0000318c strd r2, r3, [sp, 8]                              |         __asm ("strd r2, r3, [var_ch]");
    0x00003190 mov r0, r6                                        |         r0 = r6;
    0x00003192 ldr r3, [pc, 0x1f0]                               |         
    0x00003194 movs r2, 1                                        |         r2 = 1;
    0x00003196 add r3, pc                                        |         r3 = 0x6520;
    0x00003198 str r3, [sp]                                      |         *(sp) = r3;
    0x0000319a movs r3, 0x40                                     |         r3 = 0x40;
    0x0000319c mov r1, r3                                        |         r1 = r3;
    0x0000319e blx 0x1658                                        |         fcn_00001658 ();
    0x000031a2 mov r2, r6                                        |         r2 = r6;
    0x000031a4 b 0x2e58                                          |         goto label_8;
                                                                 | label_35:
    0x000031a6 strd r2, r3, [sp, 8]                              |         __asm ("strd r2, r3, [var_ch]");
    0x000031aa mov r0, r6                                        |         r0 = r6;
    0x000031ac ldr r3, [pc, 0x1d8]                               |         
    0x000031ae movs r2, 1                                        |         r2 = 1;
    0x000031b0 add r3, pc                                        |         r3 = 0x653c;
    0x000031b2 str r3, [sp]                                      |         *(sp) = r3;
    0x000031b4 movs r3, 0x40                                     |         r3 = 0x40;
    0x000031b6 mov r1, r3                                        |         r1 = r3;
    0x000031b8 blx 0x1658                                        |         fcn_00001658 ();
    0x000031bc mov r2, r6                                        |         r2 = r6;
    0x000031be b 0x2ebc                                          |         goto label_6;
                                                                 | label_33:
    0x000031c0 strd r2, r3, [sp, 8]                              |         __asm ("strd r2, r3, [var_ch]");
    0x000031c4 mov r0, r6                                        |         r0 = r6;
    0x000031c6 ldr r3, [pc, 0x1c4]                               |         
    0x000031c8 movs r2, 1                                        |         r2 = 1;
    0x000031ca add r3, pc                                        |         r3 = 0x655c;
    0x000031cc str r3, [sp]                                      |         *(sp) = r3;
    0x000031ce movs r3, 0x40                                     |         r3 = 0x40;
    0x000031d0 mov r1, r3                                        |         r1 = r3;
    0x000031d2 blx 0x1658                                        |         fcn_00001658 ();
    0x000031d6 mov r2, r6                                        |         r2 = r6;
    0x000031d8 b 0x2e8a                                          |         goto label_7;
                                                                 | label_48:
    0x000031da strd r2, r3, [sp, 8]                              |         __asm ("strd r2, r3, [var_ch]");
    0x000031de mov r0, r6                                        |         r0 = r6;
    0x000031e0 ldr r3, [pc, 0x1ac]                               |         
    0x000031e2 movs r2, 1                                        |         r2 = 1;
    0x000031e4 add r3, pc                                        |         r3 = 0x6578;
    0x000031e6 str r3, [sp]                                      |         *(sp) = r3;
    0x000031e8 movs r3, 0x40                                     |         r3 = 0x40;
    0x000031ea mov r1, r3                                        |         r1 = r3;
    0x000031ec blx 0x1658                                        |         fcn_00001658 ();
    0x000031f0 mov r3, r6                                        |         r3 = r6;
    0x000031f2 b 0x3176                                          |         
                                                                 |     } while (1);
                                                                 | label_27:
    0x000031f4 ldr r2, [pc, 0x19c]                               |     
    0x000031f6 ldr r3, [pc, 0x1a0]                               |     r3 = *(0x339a);
    0x000031f8 add r2, pc                                        |     r2 = 0x6590;
    0x000031fa ldr r3, [r2, r3]                                  |     r3 = *(0x6590);
    0x000031fc ldr r2, [r3]                                      |     r2 = *(0x6590);
    0x000031fe ldr r3, [r7, 0x7c]                                |     r3 = var_7ch;
    0x00003200 eors r2, r3                                       |     r2 ^= r3;
    0x00003202 mov.w r3, 0                                       |     r3 = 0;
                                                                 |     if (r2 != r3) {
    0x00003206 bne.w 0x3352                                      |         goto label_49;
                                                                 |     }
    0x0000320a adds r7, 0x84                                     |     r7 += 0x84;
    0x0000320c mov sp, r7                                        |     
    0x0000320e vpop {d8}                                         |     __asm ("vpop {d8}");
    0x00003212 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}        |     
                                                                 | label_21:
    0x00003216 ldr r5, [r7, 0x2c]                                |     r5 = var_2ch_2;
    0x00003218 movs r2, 7                                        |     r2 = 7;
    0x0000321a ldr r3, [pc, 0x180]                               |     
    0x0000321c movs r1, 1                                        |     r1 = 1;
    0x0000321e ldr r0, [pc, 0x180]                               |     
    0x00003220 ldr r3, [r5, r3]                                  |     r3 = *((r5 + r3));
    0x00003222 add r0, pc                                        |     r0 = 0x65c8;
    0x00003224 ldr r3, [r3]                                      |     r3 = *(0x339e);
    0x00003226 blx 0x1694                                        |     fcn_00001694 ();
    0x0000322a b 0x2c82                                          |     goto label_10;
                                                                 | label_38:
    0x0000322c blx 0x161c                                        |     r0 = fcn_0000161c ();
    0x00003230 cmp r0, 0                                         |     
                                                                 |     if (r0 == 0) {
    0x00003232 beq 0x32f0                                        |         goto label_50;
                                                                 |     }
    0x00003234 ldr.w sb, [pc, 0x16c]                             |     
    0x00003238 add sb, pc                                        |     sb = 0x65e0;
    0x0000323a b 0x2f8c                                          |     goto label_11;
                                                                 | label_47:
    0x0000323c ldr r0, [pc, 0x168]                               |     
    0x0000323e add r0, pc                                        |     r0 = 0x65ea;
    0x00003240 b 0x3014                                          |     goto label_12;
                                                                 | label_41:
    0x00003242 cmp r3, 1                                         |     
                                                                 |     if (r3 != 1) {
    0x00003244 bne 0x330e                                        |         goto label_51;
                                                                 |     }
    0x00003246 cmp r2, 0                                         |     
                                                                 |     if (r2 == 0) {
    0x00003248 beq 0x32ce                                        |         goto label_52;
                                                                 |     }
    0x0000324a ldr r1, [pc, 0x160]                               |     
    0x0000324c str.w sb, [r7, 0x14]                              |     __asm ("str.w sb, [var_14h_2]");
    0x00003250 add r1, pc                                        |     r1 = 0x6602;
    0x00003252 str r1, [r7, 0x1c]                                |     var_1ch_2 = r1;
    0x00003254 b 0x2fcc                                          |     goto label_13;
                                                                 | label_20:
    0x00003256 ldr r1, [pc, 0x158]                               |     
    0x00003258 movw r2, 0x259                                    |     r2 = 0x259;
    0x0000325c ldr r3, [pc, 0x154]                               |     
    0x0000325e ldr r0, [pc, 0x158]                               |     
    0x00003260 add r1, pc                                        |     r1 = 0x6616;
    0x00003262 add r3, pc                                        |     r3 = 0x661a;
    0x00003264 adds r1, 7                                        |     r1 += 7;
    0x00003266 add r0, pc                                        |     r0 = 0x6624;
    0x00003268 blx 0x15f8                                        |     r0 = fcn_000015f8 ();
                                                                 | label_22:
    0x0000326c lsrs r3, r0, 0x1e                                 |     r3 = r0 >> 0x1e;
                                                                 |     if (r3 != r0) {
    0x0000326e bne 0x3356                                        |         goto label_53;
                                                                 |     }
    0x00003270 lsls r0, r0, 2                                    |     r0 <<= 2;
    0x00003272 cmp.w r0, 0x400000                                |     
                                                                 |     if (r0 < 0x400000) {
    0x00003276 bls.w 0x2c8e                                      |         goto label_14;
                                                                 |     }
    0x0000327a ldr r1, [pc, 0x140]                               |     
    0x0000327c movw r2, 0x25e                                    |     r2 = 0x25e;
    0x00003280 ldr r3, [pc, 0x13c]                               |     
    0x00003282 ldr r0, [pc, 0x140]                               |     
    0x00003284 add r1, pc                                        |     r1 = 0x6646;
    0x00003286 add r3, pc                                        |     r3 = 0x664a;
    0x00003288 adds r1, 7                                        |     r1 += 7;
    0x0000328a add r0, pc                                        |     r0 = 0x6654;
    0x0000328c blx 0x15f8                                        |     fcn_000015f8 ();
                                                                 | label_46:
    0x00003290 cmp r3, 4                                         |     
                                                                 |     if (r3 == 4) {
    0x00003292 bne 0x3322                                        |         
    0x00003294 ldr r3, [pc, 0x130]                               |         
    0x00003296 mov r4, sb                                        |         r4 = sb;
    0x00003298 add r3, pc                                        |         r3 = 0x6664;
    0x0000329a mov sb, r3                                        |         sb = r3;
    0x0000329c mov r2, r3                                        |         r2 = r3;
    0x0000329e str r3, [r7, 0x20]                                |         var_20h_2 = r3;
    0x000032a0 str r3, [r7, 0x28]                                |         var_28h_2 = r3;
    0x000032a2 b 0x2ffa                                          |         goto label_15;
                                                                 | label_45:
    0x000032a4 ldr r4, [pc, 0x124]                               |         
    0x000032a6 str r5, [r7, 0x20]                                |         var_20h_2 = r5;
    0x000032a8 add r4, pc                                        |         r4 = 0x6678;
    0x000032aa mov r3, r4                                        |         r3 = r4;
    0x000032ac mov r2, r4                                        |         r2 = r4;
    0x000032ae mov r5, r4                                        |         r5 = r4;
    0x000032b0 str r4, [r7, 0x28]                                |         var_28h_2 = r4;
    0x000032b2 b 0x2ffa                                          |         goto label_15;
                                                                 | label_40:
    0x000032b4 blx 0x161c                                        |         r0 = fcn_0000161c ();
                                                                 |         if (r0 != 0) {
    0x000032b8 cbz r0, 0x32fe                                    |             
    0x000032ba ldr r3, [pc, 0x114]                               |             
    0x000032bc add r3, pc                                        |             r3 = 0x6692;
    0x000032be str r3, [r7, 4]                                   |             var_4h_2 = r3;
    0x000032c0 b 0x2faa                                          |             goto label_16;
                                                                 | label_39:
    0x000032c2 blx 0x161c                                        |             r0 = fcn_0000161c ();
                                                                 |             if (r0 != 0) {
    0x000032c6 cbz r0, 0x32f8                                    |                 
    0x000032c8 ldr r5, [pc, 0x108]                               |                 
    0x000032ca add r5, pc                                        |                 r5 = 0x66a2;
    0x000032cc b 0x2f9a                                          |                 goto label_17;
                                                                 | label_52:
    0x000032ce ldr r1, [pc, 0x108]                               |                 
    0x000032d0 ldr r3, [pc, 0x108]                               |                 
    0x000032d2 str.w sb, [r7, 0x14]                              |                 __asm ("str.w sb, [var_14h_2]");
    0x000032d6 add r1, pc                                        |                 r1 = 0x66b4;
    0x000032d8 add r3, pc                                        |                 r3 = 0x66b8;
    0x000032da str r1, [r7, 0x1c]                                |                 var_1ch_2 = r1;
    0x000032dc str r3, [r7]                                      |                 *(r7) = r3;
                                                                 | label_44:
    0x000032de ldr r4, [pc, 0x100]                               |                 
    0x000032e0 str r5, [r7, 0x28]                                |                 var_28h_2 = r5;
    0x000032e2 add r4, pc                                        |                 r4 = 0x66c8;
    0x000032e4 mov r3, r4                                        |                 r3 = r4;
    0x000032e6 mov r2, r4                                        |                 r2 = r4;
    0x000032e8 mov sb, r4                                        |                 sb = r4;
    0x000032ea mov r5, r4                                        |                 r5 = r4;
    0x000032ec str r4, [r7, 0x20]                                |                 var_20h_2 = r4;
    0x000032ee b 0x2ffa                                          |                 goto label_15;
                                                                 | label_50:
    0x000032f0 ldr.w sb, [pc, 0xf0]                              |                 
    0x000032f4 add sb, pc                                        |                 sb = 0x66dc;
    0x000032f6 b 0x2f8c                                          |                 goto label_11;
                                                                 |             }
    0x000032f8 ldr r5, [pc, 0xec]                                |             
    0x000032fa add r5, pc                                        |             r5 = 0x66e6;
    0x000032fc b 0x2f9a                                          |             goto label_17;
                                                                 |         }
    0x000032fe ldr r3, [pc, 0xec]                                |         
    0x00003300 add r3, pc                                        |         r3 = 0x66f2;
    0x00003302 str r3, [r7, 4]                                   |         var_4h_2 = r3;
    0x00003304 b 0x2faa                                          |         goto label_16;
                                                                 | label_43:
    0x00003306 ldr r2, [pc, 0xe8]                                |         
    0x00003308 add r2, pc                                        |         r2 = 0x66fe;
    0x0000330a str r2, [r7]                                      |         *(r7) = r2;
    0x0000330c b 0x2fd8                                          |         goto label_18;
                                                                 |         if (r2 != 0) {
                                                                 | label_51:
    0x0000330e cbnz r2, 0x336c                                   |             goto label_54;
                                                                 |         }
    0x00003310 ldr r2, [pc, 0xe0]                                |         
    0x00003312 ldr r1, [pc, 0xe4]                                |         
    0x00003314 add r2, pc                                        |         r2 = 0x670c;
    0x00003316 add r1, pc                                        |         r1 = 0x6714;
    0x00003318 str r2, [r7, 0x14]                                |         var_14h_2 = r2;
    0x0000331a str r1, [r7]                                      |         *(r7) = r1;
    0x0000331c mov r1, r2                                        |         r1 = r2;
    0x0000331e str r2, [r7, 0x1c]                                |         var_1ch_2 = r2;
    0x00003320 b 0x2fde                                          |         goto label_19;
                                                                 |     }
    0x00003322 ldr r4, [pc, 0xd8]                                |     
    0x00003324 add r4, pc                                        |     r4 = 0x6726;
    0x00003326 mov sb, r4                                        |     sb = r4;
    0x00003328 mov r3, r4                                        |     r3 = r4;
    0x0000332a mov r2, r4                                        |     r2 = r4;
    0x0000332c mov r5, r4                                        |     r5 = r4;
    0x0000332e str r4, [r7, 0x20]                                |     var_20h_2 = r4;
    0x00003330 str r4, [r7, 0x28]                                |     var_28h_2 = r4;
    0x00003332 b 0x2ffa                                          |     goto label_15;
                                                                 | label_42:
    0x00003334 ldr r4, [pc, 0xc8]                                |     
    0x00003336 mov r1, sb                                        |     r1 = sb;
    0x00003338 ldr r3, [pc, 0xc8]                                |     
    0x0000333a str r5, [r7, 0x1c]                                |     var_1ch_2 = r5;
    0x0000333c add r4, pc                                        |     r4 = 0x6740;
    0x0000333e add r3, pc                                        |     r3 = 0x6746;
    0x00003340 mov sb, r4                                        |     sb = r4;
    0x00003342 str r3, [r7]                                      |     *(r7) = r3;
    0x00003344 mov r2, r4                                        |     r2 = r4;
    0x00003346 mov r3, r4                                        |     r3 = r4;
    0x00003348 mov r5, r4                                        |     r5 = r4;
    0x0000334a str r4, [r7, 0x20]                                |     var_20h_2 = r4;
    0x0000334c str r4, [r7, 0x28]                                |     var_28h_2 = r4;
    0x0000334e str r4, [r7, 0x14]                                |     var_14h_2 = r4;
    0x00003350 b 0x2ffa                                          |     goto label_15;
                                                                 | label_49:
    0x00003352 blx 0x16e8                                        |     fcn_000016e8 ();
                                                                 | label_53:
    0x00003356 ldr r1, [pc, 0xb0]                                |     
    0x00003358 movw r2, 0x25e                                    |     r2 = 0x25e;
    0x0000335c ldr r3, [pc, 0xac]                                |     
    0x0000335e ldr r0, [pc, 0xb0]                                |     
    0x00003360 add r1, pc                                        |     r1 = 0x676e;
    0x00003362 add r3, pc                                        |     r3 = 0x6772;
    0x00003364 adds r1, 7                                        |     r1 += 7;
    0x00003366 add r0, pc                                        |     r0 = 0x677c;
    0x00003368 blx 0x15f8                                        |     fcn_000015f8 ();
                                                                 | label_54:
    0x0000336c ldr r1, [pc, 0xa4]                                |     
    0x0000336e add r1, pc                                        |     r1 = 0x6786;
    0x00003370 str r1, [r7, 0x14]                                |     var_14h_2 = r1;
    0x00003372 str r1, [r7, 0x1c]                                |     var_1ch_2 = r1;
    0x00003374 b 0x2fcc                                          |     goto label_13;
                                                                 | }

[*] Function printf used 9 times systemd-cgtop