[*] Binary protection state of e2image

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


[*] Function sprintf tear down of e2image

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/e2image @ 0x4134 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define SWAP32(n) ((uint32_t) (((n & 0x000000ff) << 24) | \
                                                             |                                ((n & 0x0000ff00) <<  8) | \
                                                             |                                ((n & 0x00ff0000) >>  8) | \
                                                             |                                ((n & 0xff000000) >> 24)))
                                                             | #define SWAP64(val) ((uint64_t) (((val & 0x00000000000000ffull) << 56) | \
                                                             |                                  ((val & 0x000000000000ff00ull) << 40) | \
                                                             |                                  ((val & 0x0000000000ff0000ull) << 24) | \
                                                             |                                  ((val & 0x00000000ff000000ull) <<  8) | \
                                                             |                                  ((val & 0x000000ff00000000ull) >>  8) | \
                                                             |                                  ((val & 0x0000ff0000000000ull) >> 24) | \
                                                             |                                  ((val & 0x00ff000000000000ull) >> 40) | \
                                                             |                                  ((val & 0xff00000000000000ull) >> 56)))
                                                             |  
    ; (fcn) fcn.00004134 ()                                  | void fcn_00004134 (int16_t arg_bp_4h, int16_t arg_bp_8h, int16_t arg_10h, int16_t arg_bp_14h, int16_t arg_420h, int16_t arg_0h, int16_t arg_4h, int16_t arg_8h, int16_t arg_14h, int16_t arg_18h, FILE * arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, FILE * stream, FILE * arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_48h, int16_t c, int16_t arg_50h, int16_t arg_54h, int16_t arg_58h, int16_t arg_5ch, char * optstring, int16_t arg_68h, int16_t arg_6ch, int16_t arg_70h, int16_t arg_74h, int16_t arg_78h, int16_t arg_7ch, int16_t arg_80h, int16_t arg_84h, int16_t arg_88h, time_t * timer, int16_t arg_94h, int16_t arg_9ch, int16_t arg_a0h, int16_t arg_a4h, int16_t arg_a8h, int16_t arg_ach, int16_t arg_b0h, pid_t pid, int16_t arg_b8h, int16_t arg_110h, int16_t arg_168h, int16_t arg_16ch, int16_t arg_17ch, int16_t arg_1e4h, int16_t arg_224h, int16_t arg_2b4h, int16_t arg_2d4h, int16_t arg_314h) {
                                                             | label_9:
    0x00001eba subs r4, 2                                    |     r4 -= 2;
    0x00001ebc cmp r2, r4                                    |     
                                                             |     if (r2 != r4) {
    0x00001ebe bne.w 0x357e                                  |         goto label_68;
                                                             |     }
                                                             | label_10:
    0x00001ec2 ldr.w r3, [pc, 0xa48]                         |     
    0x00001ec6 add r3, pc                                    |     r3 = 0x47d8;
    0x00001ec8 ldrb.w r1, [r3, 0x420]                        |     r1 = *((r3 + 0x420));
    0x00001ecc cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00001ece beq.w 0x203a                                  |         goto label_69;
                                                             |     }
    0x00001ed2 cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x00001ed4 beq.w 0x3e3c                                  |         goto label_70;
                                                             |     }
                                                             |     do {
                                                             | label_0:
    0x00001ed8 ldr.w r4, [pc, 0xa34]                         |         r4 = "Could not open %s: %s\n";
    0x00001edc add r4, pc                                    |         r4 += pc;
    0x00001ede ldr.w r3, [r4, 0x430]                         |         r3 = *((r4 + 0x430));
    0x00001ee2 ldr.w r0, [r4, 0x428]                         |         r0 = *((r4 + 0x428));
    0x00001ee6 orr.w r6, r0, r3                              |         r6 = r0 | r3;
    0x00001eea ldr.w r3, [r4, 0x42c]                         |         r3 = *((r4 + 0x42c));
    0x00001eee ldr.w r0, [r4, 0x434]                         |         r0 = *((r4 + 0x434));
    0x00001ef2 orrs r3, r0                                   |         r3 |= r0;
    0x00001ef4 orrs r3, r6                                   |         r3 |= r6;
                                                             |         if (r3 != r6) {
    0x00001ef6 bne.w 0x22fe                                  |             goto label_71;
                                                             |         }
    0x00001efa ldrb.w r3, [r4, 0x439]                        |         r3 = *((r4 + 0x439));
    0x00001efe cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00001f00 bne.w 0x2bbe                                  |             goto label_72;
                                                             |         }
                                                             | label_3:
    0x00001f04 add.w r3, r5, r2, lsl 2                       |         r3 = r5 + (r2 << 2);
    0x00001f08 ldr.w r0, [r5, r2, lsl 2]                     |         offset_0 = r2 << 2;
                                                             |         r0 = *((r5 + offset_0));
    0x00001f0c ldr r4, [r3, 4]                               |         r4 = *((r3 + 4));
    0x00001f0e ldr.w r3, [pc, 0xa04]                         |         
    0x00001f12 add r3, pc                                    |         r3 = 0x482c;
    0x00001f14 str.w r0, [r3, 0x43c]                         |         __asm ("str.w r0, [r3, 0x43c]");
    0x00001f16 lsls r4, r7, 0x10                             |         r4 = r7 << 0x10;
                                                             | label_4:
    0x00001f18 ldr r1, [sp, 0x34]                            |         r1 = *(arg_34h);
    0x00001f1a blx 0x1c04                                    |         ext2fs_file_open ();
    0x00001f1c mrc p0, 3, sb, c4, c15, 0                     |         __asm ("mrc p0, 3, sb, c4, c15, 0");
    0x00001f1e str r0, [sp, 0x7c]                            |         *(arg_7ch) = r0;
    0x00001f20 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00001f22 bne.w 0x3cfe                                  |             goto label_73;
                                                             |         }
    0x00001f26 ldr r3, [sp, 0x30]                            |         r3 = *(arg_30h);
    0x00001f28 eor r3, r3, 1                                 |         r3 ^= 1;
    0x00001f2c cmp r7, 0                                     |         
    0x00001f2e ite eq                                        |         
                                                             |         if (r7 != 0) {
    0x00001f30 moveq r3, 0                                   |             r3 = 0;
                                                             |         }
                                                             |         if (r7 == 0) {
    0x00001f32 andne r3, r3, 1                               |             r3 &= 1;
                                                             |         }
    0x00001f36 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00001f38 beq.w 0x23ba                                  |             goto label_74;
                                                             |         }
    0x00001f3c ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x00001f3e ldr r5, [r3]                                  |         r5 = *(r3);
    0x00001f40 and r5, r5, 5                                 |         r5 &= 5;
    0x00001f44 cmp r5, 1                                     |         
                                                             |         if (r5 == 1) {
    0x00001f46 beq.w 0x3dd2                                  |             goto label_75;
                                                             |         }
    0x00001f4a ldr r3, [sp, 0x2c]                            |         r3 = *(arg_2ch);
    0x00001f4c lsls r5, r3, 0x1f                             |         r5 = r3 << 0x1f;
                                                             |         if (r5 < r3) {
    0x00001f4e bmi.w 0x3de8                                  |             goto label_76;
                                                             |         }
                                                             | label_6:
    0x00001f52 ands r3, r7, 1                                |         r3 = r7 & 1;
    0x00001f56 str r3, [sp, 0x74]                            |         *(arg_74h) = r3;
                                                             |         if (r3 == r7) {
    0x00001f58 beq.w 0x2068                                  |             goto label_77;
                                                             |         }
    0x00001f5c ldr.w r3, [pc, 0x9b8]                         |         
    0x00001f60 mov.w r2, 0x180                               |         r2 = 0x180;
    0x00001f64 movs r1, 0                                    |         r1 = 0;
    0x00001f66 add r3, pc                                    |         r3 = 0x4882;
    0x00001f68 ldr.w r0, [r3, 0x43c]                         |         r0 = *(0x4cbe);
    0x00001f6c blx 0x1850                                    |         r0 = ext2fs_open_file ();
    0x00001f6e ldcl p14, c1, [r0], -0xc                      |         __asm ("ldcl p14, c1, [r0], -0xc");
    0x00001f72 str r3, [sp, 0x74]                            |         *(arg_74h) = r3;
                                                             |         if (r1 < 0) {
    0x00001f74 blt 0x2068                                    |             goto label_77;
                                                             |         }
    0x00001f76 blx 0x1c34                                    |         ext2fs_fstat ();
    0x00001f7a str r0, [sp, 0x88]                            |         *(arg_88h) = r0;
    0x00001f7c cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00001f7e beq 0x2068                                    |             goto label_77;
                                                             |         }
    0x00001f80 ldr r3, [sp, 0x2c]                            |         r3 = *(arg_2ch);
    0x00001f82 orr r3, r3, 4                                 |         r3 |= 4;
    0x00001f86 str r3, [sp, 0x2c]                            |         *(arg_2ch) = r3;
    0x00001f88 b 0x20be                                      |         goto label_78;
                                                             | label_69:
    0x0000203a ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x0000203c orrs.w r3, fp, r3                             |         r3 = fp | r3;
    0x00002040 beq.w 0x1ed8                                  |         
                                                             |     } while (r3 == fp);
    0x00002044 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00002046 bne.w 0x1ed8                                  |         goto label_0;
                                                             |     }
    0x0000204a ldr.w r0, [pc, 0x8dc]                         |     
    0x0000204e ldr.w r3, [pc, 0x8dc]                         |     
    0x00002052 ldr.w r2, [pc, 0x8dc]                         |     
    0x00002056 add r0, pc                                    |     
    0x00002058 ldr r0, [r0]                                  |     r0 = *(0x4984);
    0x0000205a add r3, pc                                    |     r3 = 0x498c;
    0x0000205c add r2, pc                                    |     r2 = 0x4992;
    0x0000205e blx 0x1960                                    |     fcn_00001960 ();
    0x00002062 movs r0, 1                                    |     r0 = 1;
    0x00002064 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_77:
    0x00002068 ldr.w r6, [pc, 0x8c8]                         |     
    0x0000206c add.w sl, sp, 0x2d4                           |     sl += arg_2d4h;
    0x00002070 ldr.w r3, [pc, 0x8c4]                         |     
    0x00002074 movs r2, 0x40                                 |     r2 = 0x40;
    0x00002076 movs r1, 1                                    |     r1 = 1;
    0x00002078 mov r0, sl                                    |     r0 = sl;
    0x0000207a add r6, pc                                    |     r6 = 0x49b2;
    0x0000207c add r5, sp, 0x94                              |     r5 += arg_94h;
    0x0000207e add.w ip, r6, 0x430                           |     
    0x00002082 add r3, pc                                    |     r3 = 0x49be;
    0x00002084 vldr d16, [ip, -8]                            |     __asm ("vldr d16, [ip, -8]");
    0x00002088 vstr d16, [sp]                                |     __asm ("vstr d16, [sp]");
    0x0000208c blx 0x1c94                                    |     ext2fs_inode_bitmap_loc ();
    0x00002090 ldr.w r3, [pc, 0x8a8]                         |     
    0x00002094 movs r2, 0                                    |     r2 = 0;
    0x00002096 str r5, [sp, 8]                               |     *(arg_8h) = r5;
    0x00002098 mov r1, sl                                    |     r1 = sl;
    0x0000209a movt r2, 0x422                                |     r2 = (r2 & 0xFFFF) | 0x4220000;
    0x0000209e ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x000020a2 str.w sb, [sp]                                |     __asm ("str.w sb, [sp]");
    0x000020a6 ldr r3, [r3]                                  |     r3 = *(0x293c);
    0x000020a8 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x000020aa mov r3, fp                                    |     r3 = fp;
    0x000020ac ldr.w r0, [r6, 0x43c]                         |     r0 = *(0x4dee);
    0x000020b0 blx 0x18f0                                    |     r0 = fcn_000018f0 ();
    0x000020b4 mov r5, r0                                    |     r5 = r0;
    0x000020b6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000020b8 bne.w 0x3df6                                  |         goto label_79;
                                                             |     }
    0x000020bc str r0, [sp, 0x88]                            |     *(arg_88h) = r0;
                                                             | label_78:
    0x000020be ldr.w r1, [pc, 0x880]                         |     
    0x000020c2 mov r0, r4                                    |     r0 = r4;
    0x000020c4 add r1, pc                                    |     r1 = 0x4a0a;
    0x000020c6 blx 0x1d00                                    |     r0 = exit (r0);
    0x000020ca cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000020cc beq.w 0x272c                                  |         goto label_80;
                                                             |     }
    0x000020d0 cmp r7, 1                                     |     
    0x000020d2 mov.w r1, 0                                   |     r1 = 0;
    0x000020d6 mov r0, r4                                    |     r0 = r4;
    0x000020d8 movw r5, 0x242                                |     r5 = 0x242;
    0x000020dc it eq                                         |     
                                                             |     if (r7 != 1) {
    0x000020de moveq r5, 0x42                                |         r5 = 0x42;
                                                             |     }
    0x000020e0 blx 0x1a0c                                    |     r0 = ext2fs_block_iterate3 ();
    0x000020e4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000020e6 bne.w 0x2b9c                                  |         goto label_81;
                                                             |     }
                                                             | label_17:
    0x000020ea mov r1, r5                                    |     r1 = r5;
    0x000020ec mov.w r2, 0x180                               |     r2 = 0x180;
    0x000020f0 mov r0, r4                                    |     r0 = r4;
    0x000020f2 blx 0x1850                                    |     r0 = ext2fs_open_file ();
    0x000020f6 subs r3, r0, 0                                |     r3 = r0 - 0;
    0x000020f8 str r3, [sp, 0x5c]                            |     *(arg_5ch) = r3;
                                                             |     if (r3 < r0) {
    0x000020fa blt.w 0x3da4                                  |         goto label_82;
                                                             |     }
                                                             | label_12:
    0x000020fe ldr.w r3, [pc, 0x844]                         |     
    0x00002102 add r3, pc                                    |     
    0x00002104 ldr.w r2, [r3, 0x430]                         |     r2 = *(0x4e7c);
    0x00002108 ldr.w r3, [r3, 0x434]                         |     r3 = *(0x4e80);
    0x0000210c orrs.w r1, r2, r3                             |     r1 = r2 | r3;
                                                             |     if (r1 != r2) {
    0x00002110 bne.w 0x28cc                                  |         goto label_83;
                                                             |     }
                                                             | label_14:
    0x00002114 ands r3, r7, 2                                |     r3 = r7 & 2;
    0x00002118 str r3, [sp, 0x30]                            |     *(arg_30h) = r3;
    0x0000211a ldr r3, [sp, 0x5c]                            |     r3 = *(arg_5ch);
                                                             |     if (r3 == r7) {
    0x0000211c beq.w 0x26fe                                  |         goto label_84;
                                                             |     }
    0x00002120 cmp r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00002122 beq.w 0x3d18                                  |         goto label_85;
                                                             |     }
                                                             | label_11:
    0x00002126 add r5, sp, 0xb8                              |     r5 += arg_b8h;
    0x00002128 ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x0000212a mov r1, r5                                    |     r1 = r5;
    0x0000212c blx 0x18fc                                    |     r0 = fcn_000018fc ();
    0x00002130 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002132 bne.w 0x3d32                                  |         goto label_86;
                                                             |     }
    0x00002136 ldr r3, [r5, 0x10]                            |     r3 = *((r5 + 0x10));
    0x00002138 and r3, r3, 0xf000                            |     r3 &= 0xf000;
    0x0000213c cmp.w r3, 0x6000                              |     
                                                             |     if (r3 == 0x6000) {
    0x00002140 bne 0x214e                                    |         
    0x00002142 ldr.w r3, [pc, 0x804]                         |         
    0x00002146 movs r2, 1                                    |         r2 = 1;
    0x00002148 add r3, pc                                    |         r3 = 0x4a96;
    0x0000214a strb.w r2, [r3, 0x440]                        |         *((r3 + 0x440)) = r2;
                                                             |     }
    0x0000214e ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00002150 lsls r2, r3, 0x1d                             |     r2 = r3 << 0x1d;
                                                             |     if (r2 < r3) {
    0x00002152 bmi.w 0x32ec                                  |         goto label_87;
                                                             |     }
    0x00002156 ldr r3, [sp, 0x68]                            |     r3 = *(arg_68h);
    0x00002158 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000215a beq.w 0x2732                                  |         goto label_88;
                                                             |     }
    0x0000215e cmp r7, 1                                     |     
                                                             |     if (r7 != 1) {
    0x00002160 bne.w 0x3d74                                  |         goto label_89;
                                                             |     }
    0x00002164 ldr r3, [sp, 0x5c]                            |     r3 = *(arg_5ch);
    0x00002166 cmp r3, 1                                     |     
                                                             |     if (r3 == 1) {
    0x00002168 beq.w 0x2716                                  |         goto label_90;
                                                             |     }
    0x0000216c add r3, sp, 0x94                              |     r3 += arg_94h;
    0x0000216e ldr.w r1, [pc, 0x7dc]                         |     
    0x00002172 str r3, [sp, 0x8c]                            |     *(timer) = r3;
    0x00002174 ldr r3, [sp, 0x94]                            |     r3 = *(arg_94h);
    0x00002176 add r1, pc                                    |     r1 = 0x4ac8;
    0x00002178 addw r1, r1, 0x444                            |     __asm ("addw r1, r1, 0x444");
    0x0000217c ldr r0, [r3, 0x14]                            |     r0 = *((r3 + 0x14));
    0x0000217e blx 0x1b74                                    |     r0 = ext2fs_rewrite_to_io ();
    0x00002182 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002184 bne.w 0x3d5a                                  |         goto label_91;
                                                             |     }
                                                             | label_13:
    0x00002188 ldr r3, [sp, 0x8c]                            |     r3 = *(timer);
    0x0000218a ldr.w r4, [pc, 0x7c4]                         |     
    0x0000218e ldr.w r1, [pc, 0x7c4]                         |     
    0x00002192 ldr.w sl, [r3]                                |     sl = *(r3);
    0x00002196 vmov.i32 d16, 0                               |     __asm ("vmov.i32 d16, 0");
    0x0000219a add r4, pc                                    |     r4 = 0x4af0;
    0x0000219c add r1, pc                                    |     r1 = 0x4af6;
    0x0000219e add.w r2, r4, 8                               |     r2 = r4 + 8;
    0x000021a0 lsls r0, r1, 8                                |     r0 = r1 << 8;
    0x000021a2 mov r0, sl                                    |     r0 = sl;
    0x000021a4 vstr d16, [r4, 0x10]                          |     __asm ("vstr d16, [r4, 0x10]");
    0x000021a8 blx 0x1938                                    |     r0 = fcn_00001938 ();
    0x000021ac cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000021ae bne.w 0x3dc2                                  |         goto label_92;
                                                             |     }
    0x000021b2 ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x000021b4 lsls r5, r3, 0x1e                             |     r5 = r3 << 0x1e;
                                                             |     if (r5 < r3) {
    0x000021b6 bmi.w 0x32aa                                  |         goto label_93;
                                                             |     }
                                                             | label_37:
    0x000021ba ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000021bc orrs.w r3, fp, r3                             |     r3 = fp | r3;
                                                             |     if (r3 != fp) {
    0x000021c0 bne.w 0x324c                                  |         goto label_94;
                                                             |     }
                                                             | label_36:
    0x000021c4 ldr.w r3, [sl, 0x10]                          |     r3 = *((sl + 0x10));
    0x000021c8 ldr.w r7, [pc, 0x78c]                         |     
    0x000021cc ldr r6, [r3, 0x14]                            |     r6 = *((r3 + 0x14));
    0x000021ce movs r3, 0                                    |     r3 = 0;
    0x000021d0 add r7, pc                                    |     r7 = 0x4b2c;
    0x000021d2 ldr r0, [r7, 8]                               |     r0 = *(0x4b34);
    0x000021d4 mov r2, r6                                    |     r2 = r6;
    0x000021d6 blx 0x1bf8                                    |     ext2fs_check_if_mounted ();
    0x000021da ldr r3, [r7, 0x10]                            |     r3 = *(0x4b3c);
    0x000021dc adds r3, 1                                    |     r3++;
    0x000021de str r3, [r7, 0x10]                            |     *((r7 + 0x10)) = r3;
    0x000021e0 ldr r3, [r7, 0x14]                            |     r3 = *(0x4b40);
    0x000021e2 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x000021e6 str r3, [r7, 0x14]                            |     *((r7 + 0x14)) = r3;
    0x000021e8 ldr.w r3, [sl, 0x20]                          |     r3 = *((sl + 0x20));
                                                             |     if (r3 == 0) {
    0x000021ec cbz r3, 0x2212                                |         goto label_95;
                                                             |     }
    0x000021ee movs r4, 0                                    |     r4 = 0;
                                                             |     do {
    0x000021f0 str r4, [sp]                                  |         *(sp) = r4;
    0x000021f2 mov r2, r6                                    |         r2 = r6;
    0x000021f4 ldr r5, [r7, 8]                               |         r5 = *((r7 + 8));
    0x000021f6 movs r3, 0                                    |         r3 = 0;
    0x000021f8 mov r0, sl                                    |         r0 = sl;
    0x000021fa adds r4, 1                                    |         r4++;
    0x000021fc blx 0x1874                                    |         r0 = ext2fs_descriptor_block_loc2 ();
    0x00002200 mov r2, r0                                    |         r2 = r0;
    0x00002202 mov r3, r1                                    |         r3 = r1;
    0x00002204 mov r0, r5                                    |         r0 = r5;
    0x00002206 blx 0x1bf8                                    |         ext2fs_check_if_mounted ();
    0x0000220a ldr.w r3, [sl, 0x20]                          |         r3 = *((sl + 0x20));
    0x0000220e cmp r4, r3                                    |         
    0x00002210 blo 0x21f0                                    |         
                                                             |     } while (r4 <= r3);
                                                             | label_95:
    0x00002212 ldr.w r4, [pc, 0x748]                         |     
    0x00002216 ldr.w r1, [sl, 0x10]                          |     r1 = *((sl + 0x10));
    0x0000221a add r4, pc                                    |     r4 = 0x4b7c;
    0x0000221c ldr r2, [r4, 0x10]                            |     r2 = *(0x4b8c);
    0x0000221e adds r2, r2, r3                               |     r2 += r3;
    0x00002220 ldr r3, [r4, 0x14]                            |     r3 = *(0x4b90);
    0x00002222 str r2, [r4, 0x10]                            |     *((r4 + 0x10)) = r2;
    0x00002224 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x00002228 str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x0000222a ldr r3, [r1, 0x60]                            |     r3 = *((r1 + 0x60));
    0x0000222c lsls r0, r3, 0x17                             |     r0 = r3 << 0x17;
                                                             |     if (r0 < r3) {
    0x0000222e bmi.w 0x3230                                  |         goto label_96;
                                                             |     }
                                                             | label_35:
    0x00002232 ldr.w r3, [sl, 0x1c]                          |     r3 = *((sl + 0x1c));
    0x00002236 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00002238 beq.w 0x2494                                  |         goto label_97;
                                                             |     }
    0x0000223c ldr.w r3, [pc, 0x720]                         |     
    0x00002240 movs r5, 0                                    |     r5 = 0;
    0x00002242 ldr.w r8, [pc, 0x720]                         |     r8 = "while allocating ext2_qcow2_image";
    0x00002246 add r3, pc                                    |     r3 = 0x4baa;
    0x00002248 add r8, pc                                    |     r8 += pc;
    0x0000224a str r3, [sp, 0x18]                            |     *(arg_18h) = r3;
    0x0000224c b 0x2266                                      |     
                                                             |     while (r0 != 0) {
                                                             | label_1:
    0x0000224e movs r2, 1                                    |         r2 = 1;
    0x00002250 mov r1, r5                                    |         r1 = r5;
    0x00002252 mov r0, sl                                    |         r0 = sl;
    0x00002254 blx 0x1c64                                    |         r0 = ext2fs_write_inode ();
                                                             |         if (r0 == 0) {
    0x00002258 cbz r0, 0x22c8                                |             goto label_98;
                                                             |         }
                                                             | label_2:
    0x0000225a ldr.w r3, [sl, 0x1c]                          |         r3 = *((sl + 0x1c));
    0x0000225e adds r5, 1                                    |         r5++;
    0x00002260 cmp r5, r3                                    |         
                                                             |         if (r5 >= r3) {
    0x00002262 bhs.w 0x2494                                  |             goto label_97;
                                                             |         }
    0x00002266 ldrb.w r3, [r8, 0x440]                        |         r3 = *((r8 + 0x440));
                                                             |         if (r3 == 0) {
    0x0000226a cbnz r3, 0x2278                               |             
    0x0000226c movs r2, 1                                    |             r2 = 1;
    0x0000226e mov r1, r5                                    |             r1 = r5;
    0x00002270 mov r0, sl                                    |             r0 = sl;
    0x00002272 blx 0x1c64                                    |             r0 = ext2fs_write_inode ();
                                                             |             if (r0 != 0) {
    0x00002276 cbnz r0, 0x2284                               |                 goto label_5;
                                                             |             }
                                                             |         }
    0x00002278 mov r1, r5                                    |         r1 = r5;
    0x0000227a mov r0, sl                                    |         r0 = sl;
    0x0000227c blx 0x1944                                    |         fcn_00001944 ();
    0x00002280 orrs r0, r1                                   |         r0 |= r1;
                                                             |         if (r0 != r1) {
    0x00002282 bne 0x2326                                    |             goto label_99;
                                                             |         }
                                                             | label_5:
    0x00002284 movs r2, 2                                    |         r2 = 2;
    0x00002286 mov r1, r5                                    |         r1 = r5;
    0x00002288 mov r0, sl                                    |         r0 = sl;
    0x0000228a blx 0x1c64                                    |         r0 = ext2fs_write_inode ();
    0x0000228e cmp r0, 0                                     |         
    0x00002290 bne 0x224e                                    |         
                                                             |     }
    0x00002292 mov r1, r5                                    |     r1 = r5;
    0x00002294 mov r0, sl                                    |     r0 = sl;
    0x00002296 blx 0x1b08                                    |     ext2fs_file_llseek ();
    0x0000229a orrs r0, r1                                   |     r0 |= r1;
                                                             |     if (r0 == r1) {
    0x0000229c beq 0x224e                                    |         goto label_1;
                                                             |     }
    0x0000229e ldr.w r4, [pc, 0x6c8]                         |     
    0x000022a2 mov r1, r5                                    |     r1 = r5;
    0x000022a4 mov r0, sl                                    |     r0 = sl;
    0x000022a6 add r4, pc                                    |     r4 = 0x4c14;
    0x000022a8 ldr r6, [r4, 8]                               |     r6 = *(0x4c1c);
    0x000022aa blx 0x1b08                                    |     r0 = ext2fs_file_llseek ();
    0x000022ae mov r2, r0                                    |     r2 = r0;
    0x000022b0 mov r3, r1                                    |     r3 = r1;
    0x000022b2 mov r0, r6                                    |     r0 = r6;
    0x000022b4 blx 0x1bf8                                    |     ext2fs_check_if_mounted ();
    0x000022b8 ldr r3, [r4, 0x10]                            |     r3 = *(0x4c24);
    0x000022ba adds r3, 1                                    |     r3++;
    0x000022bc str r3, [r4, 0x10]                            |     *((r4 + 0x10)) = r3;
    0x000022be ldr r3, [r4, 0x14]                            |     r3 = *(0x4c28);
    0x000022c0 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x000022c4 str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x000022c6 b 0x224e                                      |     goto label_1;
                                                             | label_98:
    0x000022c8 mov r1, r5                                    |     r1 = r5;
    0x000022ca mov r0, sl                                    |     r0 = sl;
    0x000022cc blx 0x1ca0                                    |     gmtime (r0);
    0x000022d0 orrs r0, r1                                   |     r0 |= r1;
                                                             |     if (r0 == r1) {
    0x000022d2 beq 0x225a                                    |         goto label_2;
                                                             |     }
    0x000022d4 ldr.w r4, [pc, 0x694]                         |     
    0x000022d8 mov r1, r5                                    |     r1 = r5;
    0x000022da mov r0, sl                                    |     r0 = sl;
    0x000022dc add r4, pc                                    |     r4 = 0x4c4c;
    0x000022de ldr r6, [r4, 8]                               |     r6 = *(0x4c54);
    0x000022e0 blx 0x1ca0                                    |     gmtime (r0);
    0x000022e2 ldcl p6, c4, [lr], {2}                        |     __asm ("ldcl p6, c4, [lr], {2}");
    0x000022e6 mov r3, r1                                    |     r3 = r1;
    0x000022e8 mov r0, r6                                    |     r0 = r6;
    0x000022ea blx 0x1bf8                                    |     ext2fs_check_if_mounted ();
    0x000022ee ldr r3, [r4, 0x10]                            |     r3 = *(0x4c5c);
    0x000022f0 adds r3, 1                                    |     r3++;
    0x000022f2 str r3, [r4, 0x10]                            |     *((r4 + 0x10)) = r3;
    0x000022f4 ldr r3, [r4, 0x14]                            |     r3 = *(0x4c60);
    0x000022f6 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x000022fa str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x000022fc b 0x225a                                      |     goto label_2;
                                                             | label_71:
    0x000022fe cmp r7, 1                                     |     
                                                             |     if (r7 != 1) {
    0x00002300 bne.w 0x3f3e                                  |         goto label_100;
                                                             |     }
    0x00002304 ldrb.w r3, [r4, 0x439]                        |     r3 = *((r4 + 0x439));
    0x00002308 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000230a beq.w 0x1f04                                  |         goto label_3;
                                                             |     }
                                                             | label_19:
    0x0000230e cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00002310 beq.w 0x3f4c                                  |         goto label_101;
                                                             |     }
    0x00002314 ldr.w r3, [pc, 0x658]                         |     
    0x00002318 ldr.w r4, [r5, r2, lsl 2]                     |     offset_1 = r2 << 2;
                                                             |     r4 = *((r5 + offset_1));
    0x0000231c add r3, pc                                    |     r3 = 0x4c90;
    0x0000231e mov r0, r4                                    |     r0 = r4;
    0x00002320 str.w r4, [r3, 0x43c]                         |     __asm ("str.w r4, [r3, 0x43c]");
    0x00002324 b 0x1f18                                      |     goto label_4;
                                                             | label_99:
    0x00002326 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00002328 ldr.w r6, [sl, 0x28]                          |     r6 = *((sl + 0x28));
    0x0000232c ldrb.w r3, [r3, 0x440]                        |     r3 = *((r3 + 0x440));
                                                             |     if (r3 == 0) {
    0x00002330 cbnz r3, 0x236c                               |         
    0x00002332 ldr.w r3, [sl, 0x10]                          |         r3 = *((sl + 0x10));
    0x00002336 ldr r3, [r3, 0x64]                            |         r3 = *((r3 + 0x64));
    0x00002338 tst.w r3, 0x410                               |         
                                                             |         if ((r3 & 0x410) == 0) {
    0x0000233c beq 0x236c                                    |             goto label_102;
                                                             |         }
    0x0000233e mov r1, r5                                    |         r1 = r5;
    0x00002340 mov r0, sl                                    |         r0 = sl;
    0x00002342 blx 0x19a8                                    |         fcn_000019a8 ();
    0x00002346 ldr.w r3, [sl, 0x10]                          |         r3 = *((sl + 0x10));
    0x0000234a mov r4, r0                                    |         r4 = r0;
    0x0000234c mov.w r0, 0x400                               |         r0 = 0x400;
    0x00002350 ldr r2, [r3, 0x18]                            |         r2 = *((r3 + 0x18));
    0x00002352 lsls r0, r2                                   |         r0 <<= r2;
    0x00002354 ldr r2, [r3, 0x4c]                            |         r2 = *((r3 + 0x4c));
    0x00002356 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x00002358 bne.w 0x2ba8                                  |             goto label_103;
                                                             |         }
    0x0000235c movs r1, 0x80                                 |         r1 = 0x80;
                                                             | label_18:
    0x0000235e bl 0x6fd0                                     |         r0 = fcn_00006fd0 (r0, r1);
    0x00002362 mov r1, r0                                    |         r1 = r0;
    0x00002364 mov r0, r4                                    |         r0 = r4;
    0x00002366 bl 0x6d58                                     |         r0 = fcn_00006d58 (r0, r1, r2);
    0x0000236a subs r6, r6, r0                               |         r6 -= r0;
                                                             |     }
                                                             | label_102:
    0x0000236c mov r1, r5                                    |     r1 = r5;
    0x0000236e mov r0, sl                                    |     r0 = sl;
    0x00002370 blx 0x1944                                    |     r0 = fcn_00001944 ();
    0x00002374 mov r4, r0                                    |     r4 = r0;
    0x00002376 mov sb, r1                                    |     sb = r1;
    0x00002378 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x0000237a beq 0x2284                                    |         goto label_5;
                                                             |     }
    0x0000237c ldr.w fp, [pc, 0x5f4]                         |     
    0x00002380 adds r6, r6, r0                               |     r6 += r0;
    0x00002382 adc r7, r1, 0                                 |     __asm ("adc r7, r1, 0");
    0x00002386 add fp, pc                                    |     fp = 0x4cfe;
                                                             |     do {
    0x00002388 mov r2, r4                                    |         r2 = r4;
    0x0000238a mov r3, sb                                    |         r3 = sb;
    0x0000238c ldr.w r0, [fp, 8]                             |         r0 = *(arg_bp_8h);
    0x00002390 blx 0x1bf8                                    |         ext2fs_check_if_mounted ();
    0x00002394 ldr.w r2, [fp, 0x10]                          |         r2 = *(arg_10h);
    0x00002398 ldr.w r3, [fp, 0x14]                          |         r3 = *(arg_bp_14h);
    0x0000239c adds r2, 1                                    |         r2++;
    0x0000239e adc r3, r3, 0                                 |         __asm ("adc r3, r3, 0");
    0x000023a2 adds r4, 1                                    |         r4++;
    0x000023a4 adc sb, sb, 0                                 |         __asm ("adc sb, sb, 0");
    0x000023a8 str.w r2, [fp, 0x10]                          |         __asm ("str.w r2, [arg_10h]");
    0x000023ac cmp r7, sb                                    |         
    0x000023ae it eq                                         |         
                                                             |         if (r7 == sb) {
    0x000023b0 cmpeq r6, r4                                  |             __asm ("cmpeq r6, r4");
                                                             |         }
    0x000023b2 str.w r3, [fp, 0x14]                          |         __asm ("str.w r3, [arg_bp_14h]");
    0x000023b6 bne 0x2388                                    |         
                                                             |     } while (r7 != sb);
    0x000023b8 b 0x2284                                      |     goto label_5;
                                                             | label_74:
    0x000023ba ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x000023bc lsls r0, r3, 0x1f                             |     r0 = r3 << 0x1f;
                                                             |     if (r0 >= r3) {
    0x000023be bpl.w 0x1f52                                  |         goto label_6;
                                                             |     }
    0x000023c2 ldr.w r3, [pc, 0x5b4]                         |     
    0x000023c6 add r3, pc                                    |     r3 = 0x4d44;
    0x000023c8 ldr.w sb, [r3, 0x43c]                         |     sb = *(0x5180);
    0x000023cc cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x000023ce bne.w 0x3de8                                  |         goto label_76;
                                                             |     }
    0x000023d2 ldr.w r0, [pc, 0x5a8]                         |     
    0x000023d6 add r0, pc                                    |     r0 = 0x4d58;
    0x000023d8 blx 0x1914                                    |     r0 = fcn_00001914 ();
    0x000023dc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000023de beq.w 0x3554                                  |         goto label_104;
                                                             |     }
                                                             | label_42:
    0x000023e2 ldr.w r2, [pc, 0x59c]                         |     r2 = *(0x2982);
    0x000023e6 ldr.w r3, [pc, 0x59c]                         |     r3 = *(0x2986);
    0x000023ea ldr.w r2, [r8, r2]                            |     r2 = *((r8 + r2));
    0x000023ee ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x000023f2 ldr.w sl, [r2]                                |     sl = *(0x2982);
    0x000023f6 ldr.w r2, [pc, 0x544]                         |     
    0x000023fa ldr.w r2, [r8, r2]                            |     r2 = *((r8 + r2));
    0x000023fe ldr r2, [r2]                                  |     r2 = *(0x293e);
    0x00002400 str r2, [r3]                                  |     *(r3) = r2;
                                                             | label_43:
    0x00002402 movs r3, 0                                    |     r3 = 0;
    0x00002404 add r5, sp, 0xb8                              |     r5 += arg_b8h;
    0x00002406 mov.w r1, 0x2000                              |     r1 = 0x2000;
    0x0000240a mov r2, r3                                    |     r2 = r3;
    0x0000240c movt r1, 0x22                                 |     r1 = (r1 & 0xFFFF) | 0x220000;
    0x00002410 mov r0, r4                                    |     r0 = r4;
    0x00002412 strd sl, r5, [sp]                             |     __asm ("strd sl, r5, [sp]");
    0x00002416 blx 0x1cc4                                    |     r0 = ftruncate64 ();
    0x0000241a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000241c bne.w 0x3ecc                                  |         goto label_105;
                                                             |     }
    0x00002420 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00002422 blx 0x19e8                                    |     r0 = blkid_put_cache ();
    0x00002426 mov r7, r0                                    |     r7 = r0;
    0x00002428 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000242a bne.w 0x3eb2                                  |         goto label_106;
                                                             |     }
    0x0000242e mov r2, r0                                    |     r2 = r0;
    0x00002430 mov r1, r0                                    |     r1 = r0;
    0x00002432 mov r0, r4                                    |     r0 = r4;
    0x00002434 blx 0x1850                                    |     r0 = ext2fs_open_file ();
    0x00002438 subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 < r0) {
    0x0000243a blt.w 0x3ea6                                  |         goto label_107;
                                                             |     }
    0x0000243e ldr.w r3, [sl, 8]                             |     r3 = *((sl + 8));
    0x00002442 add.w sl, sp, 0x110                           |     sl += arg_110h;
    0x00002446 mov r2, sl                                    |     r2 = sl;
    0x00002448 movs r1, 1                                    |     r1 = 1;
    0x0000244a mov r0, sb                                    |     r0 = sb;
    0x0000244c blx r3                                        |     r0 = uint32_t (*r3)(uint32_t, uint32_t, uint32_t, uint32_t) (r0, r1, r2, r3);
    0x0000244e mov r8, r0                                    |     r8 = r0;
    0x00002450 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002452 bne.w 0x3e90                                  |         goto label_108;
                                                             |     }
    0x00002456 ldr.w r1, [sl]                                |     r1 = *(sl);
    0x0000245a ldr r0, [r5]                                  |     r0 = *(r5);
    0x0000245c blx 0x1b80                                    |     ext2fs_image_inode_read ();
    0x00002460 ldr r3, [r5]                                  |     r3 = *(r5);
    0x00002462 mov r0, r6                                    |     r0 = r6;
    0x00002464 ldr r3, [r3, 0x58]                            |     r3 = *((r3 + 0x58));
    0x00002466 ldr.w r2, [r3, 0x120]                         |     r2 = *((r3 + 0x120));
    0x00002468 movs r1, 0x20                                 |     r1 = 0x20;
    0x0000246a mov r3, r8                                    |     r3 = r8;
    0x0000246c bl 0x44a0                                     |     fcn_000044a0 ();
    0x00002470 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00002472 mov r2, r8                                    |     r2 = r8;
    0x00002474 mov r1, r6                                    |     r1 = r6;
    0x00002476 blx 0x1b8c                                    |     r0 = ext2fs_file_read ();
    0x0000247a mov r7, r0                                    |     r7 = r0;
    0x0000247c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000247e bne.w 0x3e54                                  |         goto label_109;
                                                             |     }
    0x00002482 mov r0, r6                                    |     r0 = r6;
    0x00002484 blx 0x1b44                                    |     blkid_get_cache ();
    0x00002488 mov r0, r5                                    |     r0 = r5;
    0x0000248a blx 0x1ad8                                    |     ctime (r0);
    0x0000248e mov r0, r7                                    |     r0 = r7;
    0x00002490 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_97:
    0x00002494 ldr.w r3, [pc, 0x4f0]                         |     
    0x00002498 add r3, pc                                    |     r3 = 0x4e24;
    0x0000249a ldrb.w r3, [r3, 0x438]                        |     r3 = *((r3 + 0x438));
    0x0000249e cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000024a0 bne.w 0x32d8                                  |         goto label_110;
                                                             |     }
                                                             | label_38:
    0x000024a4 add r3, sp, 0x9c                              |     r3 += arg_9ch;
    0x000024a6 movs r1, 0                                    |     r1 = 0;
    0x000024a8 mov r2, r3                                    |     r2 = r3;
    0x000024aa mov r0, sl                                    |     r0 = sl;
    0x000024ac str r3, [sp, 0x28]                            |     *(arg_28h) = r3;
    0x000024ae blx 0x1d30                                    |     r0 = cxa_finalize ();
    0x000024b2 mov r4, r0                                    |     r4 = r0;
    0x000024b4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000024b6 bne.w 0x3d88                                  |         goto label_111;
                                                             |     }
    0x000024ba ldr.w r0, [sl, 0x14]                          |     r0 = *((sl + 0x14));
    0x000024be add r3, sp, 0xa4                              |     r3 += arg_a4h;
    0x000024c0 mov r1, r3                                    |     r1 = r3;
    0x000024c2 str r3, [sp, 0x58]                            |     *(arg_58h) = r3;
    0x000024c4 add.w r0, r0, r0, lsl 1                       |     r0 += (r0 << 1);
    0x000024c8 blx 0x1b74                                    |     r0 = ext2fs_rewrite_to_io ();
    0x000024cc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000024ce bne.w 0x3d96                                  |         goto label_112;
                                                             |     }
    0x000024d2 ldr.w r2, [pc, 0x4b8]                         |     
    0x000024d6 movw r6, 0xb742                               |     
    0x000024da ldr.w fp, [pc, 0x4b4]                         |     fp = "Couldn't find valid filesystem superblock.\n";
    0x000024de mov.w r8, 0xf000                              |     r8 = 0xf000;
    0x000024e2 ldr.w r3, [pc, 0x4b0]                         |     
    0x000024e6 movt r6, 0x7f2b                               |     r6 = 0x7f2bb742;
    0x000024ea add r2, pc                                    |     r2 = 0x4e7c;
    0x000024ec movt r8, 0xffff                               |     r8 = (r8 & 0xFFFF) | 0xffff0000;
    0x000024f0 str.w r2, [sl, 0x34]                          |     __asm ("str.w r2, [sl, 0x34]");
    0x000024f4 add fp, pc                                    |     
    0x000024f6 ldr.w r2, [pc, 0x4a0]                         |     
    0x000024fa add r5, sp, 0xa0                              |     r5 += arg_a0h;
    0x000024fc add r3, pc                                    |     r3 = 0x4e96;
    0x000024fe add r4, sp, 0x168                             |     r4 += arg_168h;
    0x00002500 str r0, [r3]                                  |     *(r3) = r0;
    0x00002502 add r2, pc                                    |     r2 = 0x4ea0;
    0x00002504 str r4, [r3, 4]                               |     *((r3 + 4)) = r4;
    0x00002506 str.w r2, [sl, 0x38]                          |     __asm ("str.w r2, [sl, 0x38]");
    0x0000250a ldr.w r2, [pc, 0x490]                         |     
    0x0000250e add r2, pc                                    |     r2 = 0x4eb0;
    0x00002510 str.w r2, [sl, 0x40]                          |     __asm ("str.w r2, [sl, 0x40]");
    0x00002512 movs r0, 0x40                                 |     r0 = 0x40;
                                                             |     do {
                                                             | label_7:
    0x00002514 ldr r3, [sp, 0x28]                            |         r3 = *(arg_28h);
    0x00002516 mov r2, r4                                    |         r2 = r4;
    0x00002518 mov r1, r5                                    |         r1 = r5;
    0x0000251a ldr r0, [r3]                                  |         r0 = *(r3);
    0x0000251c blx 0x1838                                    |         r0 = ext2fs_get_next_inode ();
    0x00002520 cmp r0, r6                                    |         
    0x00002522 beq 0x2514                                    |         
                                                             |     } while (r0 == r6);
    0x00002524 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002526 bne.w 0x3c6a                                  |         goto label_113;
                                                             |     }
    0x0000252a ldr r7, [r5]                                  |     r7 = *(r5);
    0x0000252c cmp r7, 0                                     |     
                                                             |     if (r7 == 0) {
    0x0000252e beq.w 0x2658                                  |         goto label_114;
                                                             |     }
    0x00002532 ldrh r3, [r4, 0x1a]                           |     r3 = *((r4 + 0x1a));
    0x00002534 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00002536 beq 0x2514                                    |         goto label_7;
                                                             |     }
    0x00002538 mov r1, r4                                    |     r1 = r4;
    0x0000253a mov r0, sl                                    |     r0 = sl;
    0x0000253c blx 0x1a30                                    |     ext2fs_free_block_bitmap ();
    0x00002540 orrs r0, r1                                   |     r0 |= r1;
                                                             |     if (r0 != r1) {
    0x00002542 bne 0x262e                                    |         goto label_115;
                                                             |     }
                                                             | label_8:
    0x00002544 mov r1, r4                                    |     r1 = r4;
    0x00002546 mov r0, sl                                    |     r0 = sl;
    0x00002548 blx 0x196c                                    |     r0 = fcn_0000196c ();
    0x0000254c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000254e beq 0x2514                                    |         goto label_7;
                                                             |     }
    0x00002550 ldrh r3, [r4]                                 |     r3 = *(r4);
    0x00002552 add r7, sp, 0x110                             |     r7 += arg_110h;
    0x00002554 ldr r2, [r5]                                  |     r2 = *(r5);
    0x00002556 and.w r3, r8, r3                              |     r3 = r8 & r3;
    0x0000255a sub.w r1, r3, 0x4000                          |     r1 = r3 - 0x4000;
    0x0000255e str.w r2, [fp]                                |     __asm ("str.w r2, [fp]");
    0x00002562 clz r1, r1                                    |     r1 &= r1;
    0x00002566 lsrs r1, r1, 5                                |     r1 >>= 5;
    0x00002568 cmp.w r3, 0xa000                              |     
    0x0000256c ite ne                                        |     
                                                             |     if (r3 == sym..data) {
    0x0000256e movne r0, r1                                  |         r0 = r1;
                                                             |     }
                                                             |     if (r3 != sym..data) {
    0x00002570 orreq r0, r1, 1                               |         r0 = r1 | 1;
                                                             |     }
    0x00002574 strd r2, r1, [r7]                             |     __asm ("strd r2, r1, [r7]");
    0x00002578 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000257a bne 0x25fa                                    |         goto label_116;
                                                             |     }
    0x0000257c ldr.w r3, [sl, 0x10]                          |     r3 = *((sl + 0x10));
    0x00002580 ldr.w r1, [r3, 0xe0]                          |     r1 = *((r3 + 0xe0));
    0x00002584 cmp r2, r1                                    |     
                                                             |     if (r2 == r1) {
    0x00002586 beq 0x25fc                                    |         goto label_117;
                                                             |     }
    0x00002588 mov r1, r3                                    |     r1 = r3;
    0x0000258a bl 0x4da0                                     |     fcn_00004da0 (r0, r1);
    0x0000258c invalid                                       |     
    0x00002590 cmp r0, r1                                    |     
                                                             |     if (r0 == r1) {
    0x00002592 beq 0x25fc                                    |         goto label_117;
                                                             |     }
    0x00002594 ldr.w r1, [sl, 0x10]                          |     r1 = *((sl + 0x10));
    0x00002598 movs r0, 1                                    |     r0 = 1;
    0x0000259a bl 0x4da0                                     |     fcn_00004da0 (r0, r1);
    0x0000259e ldr r1, [r5]                                  |     r1 = *(r5);
    0x000025a0 cmp r0, r1                                    |     
                                                             |     if (r0 == r1) {
    0x000025a2 beq 0x25fc                                    |         goto label_117;
                                                             |     }
    0x000025a4 ldr.w r1, [sl, 0x10]                          |     r1 = *((sl + 0x10));
    0x000025a8 movs r0, 2                                    |     r0 = 2;
    0x000025aa bl 0x4da0                                     |     fcn_00004da0 (r0, r1);
    0x000025ae ldr r1, [r5]                                  |     r1 = *(r5);
    0x000025b0 cmp r0, r1                                    |     
                                                             |     if (r0 == r1) {
    0x000025b2 beq 0x25fc                                    |         goto label_117;
                                                             |     }
    0x000025b4 ldrd r3, r2, [r4, 0x58]                       |     __asm ("ldrd r3, r2, [r4, 0x58]");
    0x000025b8 orrs r3, r2                                   |     r3 |= r2;
    0x000025ba ldr r2, [r4, 0x60]                            |     r2 = *((r4 + 0x60));
    0x000025bc orrs r3, r2                                   |     r3 |= r2;
    0x000025be ldr r2, [r4, 0x20]                            |     r2 = *((r4 + 0x20));
    0x000025c0 and r2, r2, 0x80000                           |     r2 &= 0x80000;
    0x000025c4 orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 == r2) {
    0x000025c6 beq.w 0x3582                                  |         goto label_118;
                                                             |     }
                                                             | label_45:
    0x000025ca ldr r3, [pc, 0x3d4]                           |     
    0x000025cc movs r2, 8                                    |     r2 = 8;
    0x000025ce str r7, [sp, 4]                               |     *(arg_4h) = r7;
    0x000025d0 mov r0, sl                                    |     r0 = sl;
    0x000025d2 add r3, pc                                    |     
    0x000025d4 str r3, [sp]                                  |     *(sp) = r3;
    0x000025d6 ldr r3, [sp, 0x58]                            |     r3 = *(arg_58h);
    0x000025d8 ldr r3, [r3]                                  |     r3 = *(0x4f78);
    0x000025da blx 0x1a18                                    |     r0 = ext2fs_iblk_set ();
    0x000025de cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000025e0 beq 0x2514                                    |         goto label_7;
                                                             |     }
    0x000025e2 ldr r4, [pc, 0x3c0]                           |     
    0x000025e4 mov r1, r0                                    |     r1 = r0;
    0x000025e6 ldr r2, [pc, 0x3c0]                           |     
    0x000025e8 ldr r3, [r5]                                  |     r3 = *(r5);
    0x000025ea add r4, pc                                    |     r4 = 0x4f94;
    0x000025ec ldr r0, [r4]                                  |     r0 = *(0x4f94);
    0x000025ee add r2, pc                                    |     r2 = 0x4f9c;
    0x000025f0 blx 0x1960                                    |     fcn_00001960 ();
    0x000025f4 movs r0, 1                                    |     r0 = 1;
    0x000025f6 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_116:
    0x000025fa mov r1, r2                                    |     r1 = r2;
                                                             | label_117:
    0x000025fc ldr r3, [pc, 0x3ac]                           |     
    0x000025fe movs r2, 8                                    |     r2 = 8;
    0x00002600 str r7, [sp, 4]                               |     *(arg_4h) = r7;
    0x00002602 mov r0, sl                                    |     r0 = sl;
    0x00002604 add r3, pc                                    |     
    0x00002606 str r3, [sp]                                  |     *(sp) = r3;
    0x00002608 ldr r3, [sp, 0x58]                            |     r3 = *(arg_58h);
    0x0000260a ldr r3, [r3]                                  |     r3 = *(0x4fb4);
    0x0000260c blx 0x1a18                                    |     r0 = ext2fs_iblk_set ();
    0x00002610 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002612 beq.w 0x2514                                  |         goto label_7;
                                                             |     }
    0x00002616 ldr r4, [pc, 0x398]                           |     
    0x00002618 ldr r2, [pc, 0x398]                           |     
    0x0000261a ldr r3, [r5]                                  |     r3 = *(r5);
    0x0000261c add r4, pc                                    |     r4 = 0x4fd2;
    0x0000261e add r2, pc                                    |     r2 = 0x4fd6;
                                                             | label_61:
    0x00002620 mov r1, r0                                    |     r1 = r0;
    0x00002622 ldr r0, [r4]                                  |     r0 = *(r4);
    0x00002624 blx 0x1960                                    |     fcn_00001960 ();
                                                             | label_62:
    0x00002628 movs r0, 1                                    |     r0 = 1;
    0x0000262a blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_115:
    0x0000262e ldr r7, [pc, 0x388]                           |     
    0x00002630 mov r1, r4                                    |     r1 = r4;
    0x00002632 mov r0, sl                                    |     r0 = sl;
    0x00002634 add r7, pc                                    |     r7 = 0x4ff2;
    0x00002636 ldr.w sb, [r7, 8]                             |     sb = *(0x4ffa);
    0x0000263a blx 0x1a30                                    |     r0 = ext2fs_free_block_bitmap ();
    0x0000263e mov r2, r0                                    |     r2 = r0;
    0x00002640 mov r3, r1                                    |     r3 = r1;
    0x00002642 mov r0, sb                                    |     r0 = sb;
    0x00002644 blx 0x1bf8                                    |     ext2fs_check_if_mounted ();
    0x00002648 ldr r3, [r7, 0x10]                            |     r3 = *(0x5002);
    0x0000264a adds r3, 1                                    |     r3++;
    0x0000264c str r3, [r7, 0x10]                            |     *((r7 + 0x10)) = r3;
    0x0000264e ldr r3, [r7, 0x14]                            |     r3 = *(0x5006);
    0x00002650 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x00002654 str r3, [r7, 0x14]                            |     *((r7 + 0x14)) = r3;
    0x00002656 b 0x2544                                      |     goto label_8;
                                                             | label_114:
    0x00002658 vmov.i32 d16, 0                               |     __asm ("vmov.i32 d16, 0");
    0x0000265c add.w r3, sl, 0x34                            |     r3 = sl + 0x34;
    0x00002660 vst1.32 {d16}, [r3]                           |     __asm ("vst1.32 {d16}, [r3]");
    0x00002664 ldr r3, [sp, 0x30]                            |     r3 = *(arg_30h);
    0x00002666 str.w r7, [sl, 0x40]                          |     __asm ("str.w r7, [sl, 0x40]");
    0x0000266a cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000266c beq.w 0x29dc                                  |         goto label_119;
                                                             |     }
    0x00002670 add r3, sp, 0xac                              |     r3 += arg_ach;
    0x00002672 movs r0, 0x68                                 |     r0 = 0x68;
    0x00002674 mov r1, r3                                    |     r1 = r3;
    0x00002676 str r3, [sp, 0x50]                            |     *(arg_50h) = r3;
    0x00002678 blx 0x1b74                                    |     ext2fs_rewrite_to_io ();
    0x0000267a orns r6, ip, r4, lsl 16                       |     __asm ("orns r6, ip, r4, lsl 16");
    0x0000267e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002680 bne.w 0x3d4c                                  |         goto label_120;
                                                             |     }
    0x00002684 ldr.w r3, [sl, 0x14]                          |     r3 = *((sl + 0x14));
    0x00002688 ldr r2, [sp, 0x50]                            |     r2 = *(arg_50h);
    0x0000268a ldr.w r8, [r2]                                |     r8 = *(r2);
                                                             |     if (r3 != 0) {
    0x0000268e cbnz r3, 0x269e                               |         goto label_121;
                                                             |     }
    0x00002690 b.w 0x333e                                    |     goto label_122;
                                                             |     do {
    0x00002694 lsls r2, r3, 0x1f                             |         r2 = r3 << 0x1f;
                                                             |         if (r2 < r3) {
    0x00002696 bmi.w 0x333e                                  |             goto label_122;
                                                             |         }
    0x0000269a lsrs r3, r3, 1                                |         r3 >>= 1;
    0x0000269c adds r4, 1                                    |         r4++;
                                                             | label_121:
    0x0000269e cmp r3, 1                                     |         
    0x000026a0 bne 0x2694                                    |         
                                                             |     } while (r3 != 1);
    0x000026a2 add r3, sp, 0xb0                              |     r3 += arg_b0h;
    0x000026a4 movs r0, 0x48                                 |     r0 = 0x48;
    0x000026a6 mov r1, r3                                    |     r1 = r3;
    0x000026a8 ldr.w r6, [sl, 0x10]                          |     r6 = *((sl + 0x10));
    0x000026ac mov sb, r3                                    |     sb = r3;
    0x000026ae str r3, [sp, 0x78]                            |     *(arg_78h) = r3;
    0x000026b0 blx 0x1c58                                    |     r0 = ext2fs_bg_flags_test ();
    0x000026b4 mov r5, r0                                    |     r5 = r0;
    0x000026b6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000026b8 beq.w 0x33cc                                  |         goto label_123;
                                                             |     }
                                                             | label_41:
    0x000026bc ldr r0, [pc, 0x2fc]                           |     
    0x000026be mov r1, r5                                    |     r1 = r5;
    0x000026c0 ldr r3, [pc, 0x2fc]                           |     
    0x000026c2 ldr r2, [pc, 0x300]                           |     
    0x000026c4 add r0, pc                                    |     
    0x000026c6 ldr r0, [r0]                                  |     r0 = *(0x5084);
    0x000026c8 add r3, pc                                    |     r3 = 0x508c;
    0x000026ca add r2, pc                                    |     r2 = 0x5094;
    0x000026cc blx 0x1960                                    |     fcn_00001960 ();
    0x000026d0 movs r0, 1                                    |     r0 = 1;
    0x000026d2 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
    0x000026d6 ldr r3, [pc, 0x2f0]                           |     
    0x000026d8 add r3, pc                                    |     r3 = 0x50a6;
    0x000026da ldr.w r0, [r3, 0x430]                         |     r0 = *(0x54d6);
    0x000026de ldr.w r1, [r3, 0x428]                         |     r1 = *(0x54ce);
    0x000026e2 ldr.w r6, [r3, 0x434]                         |     r6 = *(0x54da);
    0x000026e6 orrs r1, r0                                   |     r1 |= r0;
    0x000026e8 ldr.w r0, [r3, 0x42c]                         |     r0 = *(0x54d2);
    0x000026ec orrs r0, r6                                   |     r0 |= r6;
    0x000026ee orrs r1, r0                                   |     r1 |= r0;
                                                             |     if (r1 == r0) {
    0x000026f0 beq.w 0x1eba                                  |         goto label_9;
                                                             |     }
    0x000026f4 movs r1, 1                                    |     r1 = 1;
    0x000026f6 strb.w r1, [r3, 0x439]                        |     *((r3 + 0x439)) = r1;
    0x000026fa b.w 0x1ec2                                    |     goto label_10;
                                                             | label_84:
    0x000026fe cmp r3, 1                                     |     
                                                             |     if (r3 != 1) {
    0x00002700 bne.w 0x2126                                  |         goto label_11;
                                                             |     }
    0x00002704 ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00002706 lsls r1, r3, 0x1d                             |     r1 = r3 << 0x1d;
                                                             |     if (r1 < r3) {
    0x00002708 bmi.w 0x32ec                                  |         goto label_87;
                                                             |     }
    0x0000270c ldr r3, [sp, 0x68]                            |     r3 = *(arg_68h);
                                                             |     if (r3 != 0) {
    0x0000270e cbz r3, 0x2732                                |         
    0x00002710 cmp r7, 1                                     |         
                                                             |         if (r7 != 1) {
    0x00002712 bne.w 0x3d74                                  |             goto label_89;
                                                             |         }
                                                             | label_90:
    0x00002716 ldr r3, [sp, 0x20]                            |         r3 = *(arg_20h);
    0x00002718 movs r2, 0x33                                 |         r2 = 0x33;
    0x0000271a ldr r0, [pc, 0x2b0]                           |         
    0x0000271c movs r1, 1                                    |         r1 = 1;
    0x0000271e ldr r3, [r3]                                  |         r3 = *(r3);
    0x00002720 add r0, pc                                    |         r0 = 0x50f2;
    0x00002722 blx 0x1b5c                                    |         time (r0);
    0x00002726 movs r0, 1                                    |         r0 = 1;
    0x00002728 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
    0x0000272a invalid                                       |         
                                                             | label_80:
    0x0000272c movs r3, 1                                    |         r3 = 1;
    0x0000272e str r3, [sp, 0x5c]                            |         *(arg_5ch) = r3;
    0x00002730 b 0x20fe                                      |         goto label_12;
                                                             |     }
                                                             | label_88:
    0x00002732 ldr r6, [pc, 0x29c]                           |     
    0x00002734 add r6, pc                                    |     r6 = 0x510a;
    0x00002736 ldrb.w r3, [r6, 0x438]                        |     r3 = *((r6 + 0x438));
    0x0000273a cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000273c bne.w 0x2bb0                                  |         goto label_124;
                                                             |     }
    0x00002740 add r3, sp, 0x94                              |     r3 += arg_94h;
    0x00002742 ldr r5, [sp, 0x94]                            |     r5 = *(arg_94h);
    0x00002744 str r3, [sp, 0x8c]                            |     *(timer) = r3;
    0x00002746 cmp r7, 0                                     |     
                                                             |     if (r7 != 0) {
    0x00002748 bne.w 0x2188                                  |         goto label_13;
                                                             |     }
    0x0000274c ldr.w r8, [sp, 0x5c]                          |     r8 = *(arg_5ch);
    0x00002750 mov.w r2, 0x14c                               |     r2 = 0x14c;
    0x00002754 ldr r3, [r5, 0x14]                            |     r3 = *((r5 + 0x14));
    0x00002756 mov r1, r7                                    |     r1 = r7;
    0x00002758 add r4, sp, 0x168                             |     r4 += arg_168h;
    0x0000275a mov r0, r8                                    |     r0 = r8;
    0x0000275c bl 0x4640                                     |     fcn_00004640 (r0, r1, r2, r3);
    0x00002760 mov.w r2, 0x14c                               |     r2 = 0x14c;
    0x00002764 mov r1, r7                                    |     r1 = r7;
    0x00002766 mov r0, r4                                    |     r0 = r4;
    0x00002768 blx 0x1954                                    |     fcn_00001954 ();
    0x0000276c mov r1, r7                                    |     r1 = r7;
    0x0000276e mov r0, r8                                    |     r0 = r8;
    0x00002770 bl 0x44d0                                     |     fcn_000044d0 (r0);
    0x00002774 mov r1, r8                                    |     r1 = r8;
    0x00002776 str.w r0, [r4, 0x11c]                         |     __asm ("str.w r0, [r4, 0x11c]");
    0x0000277a mov r2, r7                                    |     r2 = r7;
    0x0000277c mov r0, r5                                    |     r0 = r5;
    0x0000277e blx 0x18b0                                    |     r0 = ext2fs_image_super_write ();
    0x00002782 mov r1, r0                                    |     r1 = r0;
    0x00002784 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002786 bne.w 0x3e6a                                  |         goto label_125;
                                                             |     }
    0x0000278a ldr.w r8, [sp, 0x5c]                          |     r8 = *(arg_5ch);
    0x0000278e mov r1, r7                                    |     r1 = r7;
    0x00002790 mov r0, r8                                    |     r0 = r8;
    0x00002792 bl 0x44d0                                     |     fcn_000044d0 (r0);
    0x00002796 subs.w r2, r8, 1                              |     r2 = r8 - 1;
    0x0000279a mov r1, r8                                    |     r1 = r8;
    0x0000279c it ne                                         |     
                                                             |     if (r2 == r8) {
    0x0000279e movne r2, 1                                   |         r2 = 1;
                                                             |     }
    0x000027a0 str.w r0, [r4, 0x120]                         |     __asm ("str.w r0, [r4, 0x120]");
    0x000027a4 lsls r2, r2, 1                                |     r2 <<= 1;
    0x000027a6 mov r0, r5                                    |     r0 = r5;
    0x000027a8 blx 0x1bec                                    |     r0 = ext2fs_mark_generic_bmap ();
    0x000027ac mov r1, r0                                    |     r1 = r0;
    0x000027ae cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000027b0 bne.w 0x3f06                                  |         goto label_126;
                                                             |     }
    0x000027b4 ldr.w r8, [sp, 0x5c]                          |     r8 = *(arg_5ch);
    0x000027b8 mov r1, r7                                    |     r1 = r7;
    0x000027ba mov r0, r8                                    |     r0 = r8;
    0x000027bc bl 0x44d0                                     |     fcn_000044d0 (r0);
    0x000027c0 mov r1, r8                                    |     r1 = r8;
    0x000027c2 str.w r0, [r4, 0x128]                         |     __asm ("str.w r0, [r4, 0x128]");
    0x000027c6 mov r2, r7                                    |     r2 = r7;
    0x000027c8 mov r0, r5                                    |     r0 = r5;
    0x000027ca blx 0x1a54                                    |     r0 = ext2fs_set_rec_len ();
    0x000027ce mov r1, r0                                    |     r1 = r0;
    0x000027d0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000027d2 bne.w 0x3eee                                  |         goto label_127;
                                                             |     }
    0x000027d6 ldr.w r8, [sp, 0x5c]                          |     r8 = *(arg_5ch);
    0x000027da mov r1, r7                                    |     r1 = r7;
    0x000027dc mov r0, r8                                    |     r0 = r8;
    0x000027de bl 0x44d0                                     |     fcn_000044d0 (r0);
    0x000027e2 mov r1, r8                                    |     r1 = r8;
    0x000027e4 str.w r0, [r4, 0x124]                         |     __asm ("str.w r0, [r4, 0x124]");
    0x000027e8 movs r2, 1                                    |     r2 = 1;
    0x000027ea mov r0, r5                                    |     r0 = r5;
    0x000027ec blx 0x1a54                                    |     r0 = ext2fs_set_rec_len ();
    0x000027f0 mov r1, r0                                    |     r1 = r0;
    0x000027f2 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000027f4 bne.w 0x3ce8                                  |         goto label_128;
                                                             |     }
    0x000027f8 ldr r3, [pc, 0x1d8]                           |     
    0x000027fa movw r2, 0xb710                               |     
    0x000027fe movt r2, 0x7f2b                               |     r2 = 0x7f2bb710;
    0x00002802 add.w ip, sp, 0x16c                           |     
    0x00002806 str r2, [r4]                                  |     *(r4) = r2;
    0x00002808 add.w r8, sp, 0x110                           |     r8 += arg_110h;
    0x0000280c add r3, pc                                    |     r3 = 0x51e4;
    0x0000280e ldm r3, {r0, r1, r2, r3}                      |     r0 = *(r3);
                                                             |     r1 = *((r3 + 4));
                                                             |     r2 = *((r3 + 8));
                                                             |     r3 = *((r3 + 12));
    0x00002810 stm.w ip!, {r0, r1, r2}                       |     *(ip!) = r0;
                                                             |     *((ip! + 4)) = r1;
                                                             |     *((ip! + 8)) = r2;
    0x00002814 movs r1, 0x40                                 |     r1 = 0x40;
    0x00002816 strh r3, [ip], 2                              |     *(ip) = r3;
                                                             |     ip += 2;
    0x0000281a lsrs r3, r3, 0x10                             |     r3 >>= 0x10;
    0x0000281c add r0, sp, 0x17c                             |     r0 += arg_17ch;
    0x0000281e strb.w r3, [ip]                               |     *(ip) = r3;
    0x00002822 blx 0x1bbc                                    |     stack_chk_fail ();
    0x00002824 strd pc, r8, [ip, 0x358]                      |     __asm ("strd pc, r8, [ip, 0x358]");
    0x00002828 str r4, [r7, 0x40]                            |     *((r7 + 0x40)) = r4;
    0x0000282a movs r2, 0x3f                                 |     r2 = 0x3f;
    0x0000282c add r0, sp, 0x1e4                             |     r0 += arg_1e4h;
    0x0000282e mov r1, r6                                    |     r1 = r6;
    0x00002830 blx 0x1908                                    |     fcn_00001908 ();
    0x00002834 strb.w r7, [r4, 0xbb]                         |     *((r4 + 0xbb)) = r7;
    0x00002838 mov r0, r6                                    |     r0 = r6;
    0x0000283a ldr r3, [r5, 0x14]                            |     r3 = *((r5 + 0x14));
    0x0000283c mov r1, r8                                    |     r1 = r8;
    0x0000283e str.w r3, [r4, 0xcc]                          |     __asm ("str.w r3, [r4, 0xcc]");
    0x00002842 blx 0x1ce8                                    |     r0 = ext2fs_new_inode ();
                                                             |     if (r0 == 0) {
    0x00002846 cbnz r0, 0x284e                               |         
    0x00002848 ldr.w r3, [r8, 0x20]                          |         r3 = *((r8 + 0x20));
    0x0000284c str r3, [r4, 0x78]                            |         *((r4 + 0x78)) = r3;
                                                             |     }
    0x0000284e ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x00002850 mov r1, r8                                    |     r1 = r8;
    0x00002852 blx 0x18fc                                    |     r0 = fcn_000018fc ();
    0x00002856 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002858 beq.w 0x3590                                  |         goto label_129;
                                                             |     }
                                                             | label_46:
    0x0000285c ldr r3, [r5, 0x10]                            |     r3 = *((r5 + 0x10));
    0x0000285e add r6, sp, 0x224                             |     r6 += arg_224h;
    0x00002860 ldr r0, [r3, 0x68]                            |     r0 = *((r3 + 0x68));
    0x00002862 ldr r1, [r3, 0x6c]                            |     r1 = *((r3 + 0x6c));
    0x00002864 ldr r2, [r3, 0x70]                            |     r2 = *((r3 + 0x70));
    0x00002866 ldr r3, [r3, 0x74]                            |     r3 = *((r3 + 0x74));
    0x00002868 stm r6!, {r0, r1, r2, r3}                     |     *(r6!) = r0;
                                                             |     *((r6! + 4)) = r1;
                                                             |     *((r6! + 8)) = r2;
                                                             |     *((r6! + 12)) = r3;
    0x0000286a movs r0, 0                                    |     r0 = 0;
    0x0000286c blx 0x1b68                                    |     ext2fs_get_mem ();
    0x00002870 mov r1, r4                                    |     r1 = r4;
    0x00002872 mov.w r2, 0x14c                               |     r2 = 0x14c;
    0x00002876 str.w r0, [r4, 0xf8]                          |     __asm ("str.w r0, [r4, 0xf8]");
    0x0000287a ldr r3, [r5, 0x14]                            |     r3 = *((r5 + 0x14));
    0x0000287c ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x0000287e bl 0x4640                                     |     fcn_00004640 (r0, r1, r2, r3);
                                                             | label_34:
    0x00002882 ldr r0, [sp, 0x8c]                            |     r0 = *(timer);
    0x00002884 blx 0x1ad8                                    |     ctime (r0);
    0x00002888 ldr r3, [sp, 0x68]                            |     r3 = *(arg_68h);
    0x0000288a cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000288c bne.w 0x321a                                  |         goto label_130;
                                                             |     }
                                                             | label_39:
    0x00002890 ldr r3, [sp, 0x88]                            |     r3 = *(arg_88h);
                                                             |     if (r3 != 0) {
    0x00002892 cbz r3, 0x289a                                |         
    0x00002894 mov r0, r3                                    |         r0 = r3;
    0x00002896 blx 0x19d0                                    |         read (r0, r1, r2);
                                                             |     }
    0x0000289a ldr r3, [sp, 0x74]                            |     r3 = *(arg_74h);
    0x0000289c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000289e bne.w 0x30e6                                  |         goto label_131;
                                                             |     }
                                                             | label_33:
    0x000028a2 ldr r0, [sp, 0x80]                            |     r0 = *(arg_80h);
    0x000028a4 blx 0x1984                                    |     fcn_00001984 ();
    0x000028a8 ldr r2, [pc, 0x12c]                           |     
    0x000028aa ldr r3, [pc, 0x2c]                            |     r3 = *(0x28da);
    0x000028ac add r2, pc                                    |     r2 = 0x5288;
    0x000028ae ldr r3, [r2, r3]                              |     r3 = *(0x5288);
    0x000028b0 ldr r2, [r3]                                  |     r2 = *(0x5288);
    0x000028b2 ldr r3, [sp, 0x314]                           |     r3 = *(arg_314h);
    0x000028b4 eors r2, r3                                   |     r2 ^= r3;
    0x000028b6 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x000028ba bne.w 0x3cba                                  |         goto label_132;
                                                             |     }
    0x000028be ldr r0, [sp, 0x7c]                            |     r0 = *(arg_7ch);
    0x000028c0 add.w sp, sp, 0x31c                           |     
    0x000028c4 vpop {d8, d9}                                 |     __asm ("vpop {d8, d9}");
    0x000028c8 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |     
                                                             | label_83:
    0x000028cc ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x000028ce bl 0x44a0                                     |     fcn_000044a0 ();
    0x000028d2 b 0x2114                                      |     goto label_14;
                                                             | label_119:
    0x000029dc add r5, sp, 0xac                              |     r5 += arg_ach;
    0x000029de ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x000029e2 str r5, [sp, 0x50]                            |     *(arg_50h) = r5;
    0x000029e4 blx 0x1ab4                                    |     blkid_probe_lookup_value ();
    0x000029e8 ldr.w r4, [sl, 0x14]                          |     r4 = *((sl + 0x14));
    0x000029ec str r0, [sp, 0x18]                            |     *(arg_18h) = r0;
    0x000029ee str r1, [sp, 0x24]                            |     *(arg_24h) = r1;
    0x000029f0 mov r1, r5                                    |     r1 = r5;
    0x000029f2 mov r0, r4                                    |     r0 = r4;
    0x000029f4 blx 0x1b74                                    |     r0 = ext2fs_rewrite_to_io ();
    0x000029f8 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000029fa bne.w 0x3f1e                                  |         goto label_133;
                                                             |     }
    0x000029fe add r3, sp, 0xb0                              |     r3 += arg_b0h;
    0x00002a00 mov r0, r4                                    |     r0 = r4;
    0x00002a02 mov r1, r3                                    |     r1 = r3;
    0x00002a04 str r3, [sp, 0x78]                            |     *(arg_78h) = r3;
    0x00002a06 blx 0x1c58                                    |     r0 = ext2fs_bg_flags_test ();
    0x00002a0a cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002a0c bne.w 0x3f2e                                  |         goto label_134;
                                                             |     }
    0x00002a10 ldr r4, [pc, 0x330]                           |     
    0x00002a12 add r4, pc                                    |     r4 = 0x575a;
    0x00002a14 ldrb.w r3, [r4, 0x438]                        |     r3 = *((r4 + 0x438));
    0x00002a16 adds r4, 0x38                                 |     r4 += 0x38;
    0x00002a18 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00002a1a bne.w 0x2bd4                                  |         goto label_135;
                                                             |     }
    0x00002a1e ldr r3, [sp, 0x30]                            |     r3 = *(arg_30h);
    0x00002a20 str r3, [sp, 0x4c]                            |     *(c) = r3;
    0x00002a22 str r3, [sp, 0x84]                            |     *(arg_84h) = r3;
    0x00002a24 str r3, [sp, 0x54]                            |     *(arg_54h) = r3;
                                                             | label_20:
    0x00002a26 ldr r3, [pc, 0x320]                           |     
    0x00002a28 add r3, pc                                    |     r3 = 0x5776;
    0x00002a2a ldrb.w r2, [r3, 0x439]                        |     r2 = *((r3 + 0x439));
    0x00002a2e cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00002a30 beq.w 0x3332                                  |         goto label_136;
                                                             |     }
    0x00002a34 ldr.w r2, [r3, 0x430]                         |     r2 = *((r3 + 0x430));
    0x00002a38 add.w r3, r3, 0x430                           |     r3 += 0x430;
    0x00002a3c ldr r0, [r3, -0x8]                            |     r0 = *((r3 - 0x8));
    0x00002a40 ldr r1, [r3, 4]                               |     r1 = *((r3 + 4));
    0x00002a42 ldr r3, [r3, -0x4]                            |     r3 = *((r3 - 0x4));
    0x00002a46 cmp r0, r2                                    |     
    0x00002a48 sbcs.w r4, r3, r1                             |     __asm ("sbcs.w r4, r3, r1");
                                                             |     if (r0 <= r2) {
    0x00002a4c blo.w 0x3bb0                                  |         goto label_137;
                                                             |     }
    0x00002a50 movs r3, 0                                    |     r3 = 0;
    0x00002a52 strd r3, r3, [sp, 0x40]                       |     __asm ("strd r3, r3, [sp, 0x40]");
    0x00002a56 strd r3, r3, [sp, 0x30]                       |     __asm ("strd r3, r3, [sp, 0x30]");
                                                             | label_57:
    0x00002a5a ldr r1, [pc, 0x2f0]                           |     
    0x00002a5c movs r0, 2                                    |     r0 = 2;
    0x00002a5e add r1, pc                                    |     r1 = 0x57b0;
    0x00002a60 blx 0x18c0                                    |     fcn_000018c0 ();
                                                             | label_40:
    0x00002a64 ldr r2, [pc, 0x2e8]                           |     
    0x00002a66 movs r3, 0                                    |     r3 = 0;
    0x00002a68 ldr r7, [pc, 0x2e8]                           |     
    0x00002a6a vldr d8, [pc, 0x2cc]                          |     __asm ("vldr d8, [0x00002d3c]");
    0x00002a6e add r2, pc                                    |     r2 = 0x57c2;
    0x00002a70 ldr.w fp, [sp, 0x5c]                          |     fp = *(arg_5ch);
    0x00002a74 str r2, [sp, 0x48]                            |     *(arg_48h) = r2;
    0x00002a76 add r7, pc                                    |     r7 = 0x57ce;
    0x00002a78 ldr r2, [pc, 0x2dc]                           |     
    0x00002a7a str r3, [sp, 0x3c]                            |     *(arg_3ch) = r3;
    0x00002a7c str r3, [sp, 0x38]                            |     *(stream) = r3;
    0x00002a7e add r2, pc                                    |     r2 = 0x57da;
    0x00002a80 str r2, [sp, 0x6c]                            |     *(arg_6ch) = r2;
                                                             | label_27:
    0x00002a82 ldrd r3, r2, [sp, 0x30]                       |     __asm ("ldrd r3, r2, [arg_30h]");
    0x00002a86 orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 != r2) {
    0x00002a88 bne 0x2b54                                    |         goto label_138;
                                                             |     }
    0x00002a8a ldr r3, [sp, 0x40]                            |     r3 = *(arg_40h);
    0x00002a8c ldr r2, [sp, 0x18]                            |     r2 = *(arg_18h);
    0x00002a8e cmp r3, r2                                    |     
    0x00002a90 ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00002a92 ldr r2, [sp, 0x24]                            |     r2 = *(arg_24h);
    0x00002a94 sbcs r3, r2                                   |     __asm ("sbcs r3, r2");
                                                             |     if (r3 >= r2) {
    0x00002a96 bhs.w 0x30f0                                  |         goto label_139;
                                                             |     }
                                                             | label_15:
    0x00002a9a ldrd r4, r5, [sp, 0x40]                       |     __asm ("ldrd r4, r5, [arg_40h]");
    0x00002a9e movs r6, 0                                    |     r6 = 0;
    0x00002aa0 mov sb, fp                                    |     sb = fp;
                                                             |     do {
    0x00002aa2 ldrb r3, [r7, 0x1c]                           |         r3 = *((r7 + 0x1c));
    0x00002aa4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00002aa6 bne.w 0x2c4c                                  |             goto label_140;
                                                             |         }
    0x00002aaa ldrb.w r3, [r7, 0x438]                        |         r3 = *((r7 + 0x438));
                                                             |         if (r3 != 0) {
                                                             | label_26:
    0x00002aae cbz r3, 0x2abe                                |             
    0x00002ab0 movs r0, 0                                    |             r0 = 0;
    0x00002ab2 blx 0x1b68                                    |             ext2fs_get_mem ();
    0x00002ab6 ldr r3, [sp, 0x54]                            |             r3 = *(arg_54h);
    0x00002ab8 cmp r0, r3                                    |             
                                                             |             if (r0 != r3) {
    0x00002aba bne.w 0x2f52                                  |                 goto label_141;
                                                             |             }
                                                             |         }
    0x00002abe ldr.w r3, [sl, 0x10]                          |         r3 = *((sl + 0x10));
    0x00002ac2 ldr r3, [r3, 0x14]                            |         r3 = *((r3 + 0x14));
    0x00002ac4 cmp r4, r3                                    |         
    0x00002ac6 sbcs r3, r5, 0                                |         __asm ("sbcs r3, r5, 0");
                                                             |         if (r4 >= r3) {
    0x00002aca bhs.w 0x2cc0                                  |             goto label_142;
                                                             |         }
                                                             | label_21:
    0x00002ace cmp.w sb, 1                                   |         
                                                             |         if (sb == 1) {
    0x00002ad2 beq.w 0x2eac                                  |             goto label_143;
                                                             |         }
    0x00002ad6 ldr.w r3, [sl, 0x14]                          |         r3 = *((sl + 0x14));
    0x00002ada add r6, r3                                    |         r6 += r3;
    0x00002adc cmp.w r6, 0x100000                            |         
                                                             |         if (r6 > 0x100000) {
    0x00002ae0 bgt.w 0x2e3a                                  |             goto label_144;
                                                             |         }
                                                             | label_23:
    0x00002ae4 ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x00002ae6 adds r4, 1                                    |         r4++;
    0x00002ae8 adc r5, r5, 0                                 |         __asm ("adc r5, r5, 0");
    0x00002aec cmp r4, r3                                    |         
    0x00002aee ldr r3, [sp, 0x24]                            |         r3 = *(arg_24h);
    0x00002af0 sbcs.w r3, r5, r3                             |         __asm ("sbcs.w r3, r5, r3");
    0x00002af4 blo 0x2aa2                                    |         
                                                             |     } while (r4 <= r3);
    0x00002af6 mov fp, sb                                    |     
                                                             | label_16:
    0x00002af8 ldrd r1, r0, [sp, 0x30]                       |     __asm ("ldrd r1, r0, [arg_30h]");
    0x00002afc ldrd r2, r5, [sp, 0x40]                       |     __asm ("ldrd r2, r5, [arg_40h]");
    0x00002b00 orrs.w r3, r1, r0                             |     r3 = r1 | r0;
    0x00002b04 ite ne                                        |     
                                                             |     if (r3 == r1) {
    0x00002b06 movne r4, 1                                   |         r4 = 1;
                                                             |     }
                                                             |     if (r3 != r1) {
    0x00002b08 moveq r4, 0                                   |         r4 = 0;
                                                             |     }
    0x00002b0a orrs.w r3, r2, r5                             |     r3 = r2 | r5;
    0x00002b0e and r3, r4, 1                                 |     r3 = r4 & 1;
    0x00002b12 it eq                                         |     
                                                             |     if (r3 != r2) {
    0x00002b14 moveq r3, 0                                   |         r3 = 0;
                                                             |     }
    0x00002b16 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00002b18 beq.w 0x30f4                                  |         goto label_145;
                                                             |     }
    0x00002b1a strh r4, [r5, 0x16]                           |     *((r5 + 0x16)) = r4;
    0x00002b1c cmp r2, r1                                    |     
    0x00002b1e mov r4, r2                                    |     r4 = r2;
    0x00002b20 sbcs.w r3, r5, r0                             |     __asm ("sbcs.w r3, r5, r0");
    0x00002b22 lsls r0, r0, 0xc                              |     r0 <<= 0xc;
                                                             |     if (r0 <= r0) {
    0x00002b24 blo.w 0x3002                                  |         goto label_146;
                                                             |     }
    0x00002b28 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00002b2a subs r2, r3, r1                               |     r2 = r3 - r1;
    0x00002b2c ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x00002b2e sbc.w r3, r3, r0                              |     __asm ("sbc.w r3, r3, r0");
    0x00002b32 subs r4, r4, r1                               |     r4 -= r1;
    0x00002b34 str r4, [sp, 0x18]                            |     *(arg_18h) = r4;
    0x00002b36 sbc.w r4, r5, r0                              |     __asm ("sbc.w r4, r5, r0");
    0x00002b3a cmp r2, r1                                    |     
    0x00002b3c str r4, [sp, 0x24]                            |     *(arg_24h) = r4;
    0x00002b3e sbcs.w r1, r3, r0                             |     __asm ("sbcs.w r1, r3, r0");
    0x00002b42 mov.w r4, 0                                   |     r4 = 0;
    0x00002b46 strd r4, r4, [sp, 0x40]                       |     __asm ("strd r4, r4, [sp, 0x40]");
    0x00002b4a it hs                                         |     
                                                             |     if (r2 >= r1) {
    0x00002b4c strdhs r2, r3, [sp, 0x40]                     |         __asm ("strdhs r2, r3, [sp, 0x40]");
                                                             |     }
                                                             |     if (r2 >= r1) {
    0x00002b50 bhs.w 0x3008                                  |         goto label_147;
                                                             |     }
                                                             | label_138:
    0x00002b54 ldr r3, [pc, 0x204]                           |     
    0x00002b56 mov.w r8, 0                                   |     r8 = 0;
    0x00002b5a ldr.w r1, [sl, 0x14]                          |     r1 = *((sl + 0x14));
    0x00002b5e mov r0, fp                                    |     r0 = fp;
    0x00002b60 str.w r8, [sp]                                |     __asm ("str.w r8, [sp]");
    0x00002b64 add r3, pc                                    |     r3 = 0x58c4;
    0x00002b66 ldr r6, [sp, 0x44]                            |     r6 = *(arg_44h);
    0x00002b68 ldr.w r4, [r3, 0x430]                         |     r4 = *(0x5cf4);
    0x00002b6c ldr.w r5, [r3, 0x434]                         |     r5 = *(0x5cf8);
    0x00002b70 ldr r3, [sp, 0x40]                            |     r3 = *(arg_40h);
    0x00002b72 umull r2, r3, r1, r3                          |     r2:r3 = r1 * r3;
    0x00002b76 mla r3, r1, r6, r3                            |     __asm ("mla r3, r1, r6, r3");
    0x00002b7a adds r2, r2, r4                               |     r2 += r4;
    0x00002b7c adc.w r3, r3, r5                              |     __asm ("adc.w r3, r3, r5");
    0x00002b80 blx 0x1a84                                    |     getopt (r0, r1, r2);
    0x00002b84 cmp r1, r8                                    |     
                                                             |     if (r1 < r8) {
    0x00002b86 blt.w 0x3e82                                  |         goto label_148;
                                                             |     }
    0x00002b8a ldr r3, [sp, 0x40]                            |     r3 = *(arg_40h);
    0x00002b8c ldr r2, [sp, 0x18]                            |     r2 = *(arg_18h);
    0x00002b8e cmp r3, r2                                    |     
    0x00002b90 ldr r3, [sp, 0x44]                            |     r3 = *(arg_44h);
    0x00002b92 ldr r2, [sp, 0x24]                            |     r2 = *(arg_24h);
    0x00002b94 sbcs r3, r2                                   |     __asm ("sbcs r3, r2");
                                                             |     if (r3 <= r2) {
    0x00002b96 blo 0x2a9a                                    |         goto label_15;
                                                             |     }
    0x00002b98 mov r6, r8                                    |     r6 = r8;
    0x00002b9a b 0x2af8                                      |     goto label_16;
                                                             | label_81:
    0x00002b9c ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00002b9e orr r3, r3, 8                                 |     r3 |= 8;
    0x00002ba2 str r3, [sp, 0x2c]                            |     *(arg_2ch) = r3;
    0x00002ba4 b.w 0x20ea                                    |     goto label_17;
                                                             | label_103:
    0x00002ba8 ldrh.w r1, [r3, 0x58]                         |     r1 = *((r3 + 0x58));
    0x00002bac b.w 0x235e                                    |     goto label_18;
                                                             | label_124:
    0x00002bb0 cmp r7, 1                                     |     
                                                             |     if (r7 != 1) {
    0x00002bb2 bne.w 0x3ee4                                  |         goto label_149;
                                                             |     }
    0x00002bb6 add r3, sp, 0x94                              |     r3 += arg_94h;
    0x00002bb8 str r3, [sp, 0x8c]                            |     *(timer) = r3;
    0x00002bba b.w 0x2188                                    |     goto label_13;
                                                             | label_72:
    0x00002bbe cmp r7, 1                                     |     
                                                             |     if (r7 == 1) {
    0x00002bc0 beq.w 0x230e                                  |         goto label_19;
                                                             |     }
    0x00002bc4 ldr r0, [pc, 0x198]                           |     
    0x00002bc6 ldr r3, [pc, 0x19c]                           |     
    0x00002bc8 ldr r2, [pc, 0x19c]                           |     
    0x00002bca add r0, pc                                    |     r0 = 0x592e;
    0x00002bcc add r3, pc                                    |     r3 = 0x5936;
    0x00002bce add r2, pc                                    |     r2 = 0x593a;
    0x00002bd0 b.w 0x3d3e                                    |     goto label_64;
                                                             | label_135:
    0x00002bd4 ldr r5, [sp, 0x20]                            |     r5 = *(arg_20h);
    0x00002bd6 movs r2, 8                                    |     r2 = 8;
    0x00002bd8 ldr r0, [pc, 0x190]                           |     
    0x00002bda movs r1, 1                                    |     r1 = 1;
    0x00002bdc ldr r3, [r5]                                  |     r3 = *(r5);
    0x00002bde add r0, pc                                    |     r0 = 0x594e;
    0x00002be0 blx 0x1b5c                                    |     time (r0);
    0x00002be4 ldrd r6, r7, [r4, 0x10]                       |     __asm ("ldrd r6, r7, [r4, 0x10]");
    0x00002be8 ldr r4, [pc, 0x184]                           |     
    0x00002bea mov r1, r7                                    |     r1 = r7;
    0x00002bec mov r0, r6                                    |     r0 = r6;
    0x00002bee bl 0x7410                                     |     fcn_00007410 (r0, r1);
    0x00002bf2 vldr s13, [pc, 0x14c]                         |     __asm ("vldr s13, [0x00002d44]");
    0x00002bf4 ldr r3, [r2, 0x24]                            |     r3 = *((r2 + 0x24));
    0x00002bf6 add r4, pc                                    |     r4 = 0x596a;
    0x00002bf8 vmov s14, r0                                  |     __asm ("vmov s14, r0");
    0x00002bfc mov r2, r4                                    |     r2 = r4;
    0x00002bfe vmov.i32 d17, 0                               |     __asm ("vmov.i32 d17, 0");
    0x00002c02 movs r1, 1                                    |     r1 = 1;
    0x00002c04 vldr d18, [pc, 0x130]                         |     __asm ("vldr d18, [0x00002d3c]");
    0x00002c08 vdiv.f32 s15, s13, s14                        |     __asm ("vdiv.f32 s15, s13, s14");
    0x00002c0c vstr d17, [sp]                                |     __asm ("vstr d17, [sp]");
    0x00002c10 vmov.f64 d16, 5.000000e-01                    |     __asm ("vmov.f64 d16, 5");
    0x00002c14 strd r6, r7, [sp, 8]                          |     __asm ("strd r6, r7, [sp, 8]");
    0x00002c16 str r2, [r0, 0x70]                            |     *((r0 + 0x70)) = r2;
    0x00002c18 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00002c1a vcvt.f64.f32 d17, s15                         |     __asm ("vcvt.f64.f32 d17, s15");
    0x00002c1e vmla.f64 d16, d17, d18                        |     __asm ("vmla.f64 d16, d17, d18");
    0x00002c22 vcvt.s32.f64 s15, d16                         |     __asm ("vcvt.s32.f64 s15, d16");
    0x00002c26 vstr s15, [sp, 0x10]                          |     __asm ("vstr s15, [sp, 0x10]");
    0x00002c2a blx 0x1bd4                                    |     fputc (r0, r1);
    0x00002c2e str r0, [sp, 0x4c]                            |     *(c) = r0;
    0x00002c30 ldr r0, [r5]                                  |     r0 = *(r5);
    0x00002c32 blx 0x1a6c                                    |     blkid_get_tag_value ();
    0x00002c36 ldr r4, [sp, 0x30]                            |     r4 = *(arg_30h);
    0x00002c38 mov r0, r4                                    |     r0 = r4;
    0x00002c3a blx 0x1b68                                    |     r0 = ext2fs_get_mem ();
    0x00002c3e mov r3, r0                                    |     r3 = r0;
    0x00002c40 mov r0, r4                                    |     r0 = r4;
    0x00002c42 str r3, [sp, 0x54]                            |     *(arg_54h) = r3;
    0x00002c44 blx 0x1b68                                    |     ext2fs_get_mem ();
    0x00002c46 invalid                                       |     
    0x00002c4a b 0x2a26                                      |     goto label_20;
                                                             | label_140:
    0x00002c4c ldrd r3, r2, [sp, 0x30]                       |     __asm ("ldrd r3, r2, [arg_30h]");
    0x00002c50 orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 != r2) {
    0x00002c52 bne.w 0x2e56                                  |         goto label_150;
                                                             |     }
    0x00002c56 ldr.w r3, [r7, 0x430]                         |     r3 = *((r7 + 0x430));
    0x00002c5a ldr.w r0, [r7, 0x428]                         |     r0 = *((r7 + 0x428));
    0x00002c5e ldr.w r1, [r7, 0x42c]                         |     r1 = *((r7 + 0x42c));
    0x00002c62 ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00002c66 subs r0, r0, r3                               |     r0 -= r3;
    0x00002c68 ldr.w r3, [r7, 0x434]                         |     r3 = *((r7 + 0x434));
    0x00002c6c sbc.w r1, r1, r3                              |     __asm ("sbc.w r1, r1, r3");
    0x00002c70 movs r3, 0                                    |     r3 = 0;
    0x00002c72 bl 0x749c                                     |     r0 = fcn_0000749c (r0, r1, r2, r3);
    0x00002c76 cmp r4, r0                                    |     
    0x00002c78 sbcs.w r1, r5, r1                             |     __asm ("sbcs.w r1, r5, r1");
                                                             |     if (r4 <= r0) {
    0x00002c7c blo.w 0x2e8a                                  |         goto label_151;
                                                             |     }
                                                             | label_24:
    0x00002c80 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00002c82 ldrb.w r3, [r3, 0x438]                        |     r3 = *((r3 + 0x438));
    0x00002c86 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00002c88 bne.w 0x2ea0                                  |         goto label_152;
                                                             |     }
                                                             | label_25:
    0x00002c8c ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002c8e movs r2, 0x4a                                 |     r2 = 0x4a;
    0x00002c90 ldr.w r8, [pc, 0xe0]                          |     
    0x00002c94 movs r1, 1                                    |     r1 = 1;
    0x00002c96 ldr r0, [pc, 0xe0]                            |     
    0x00002c98 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00002c9a add r8, pc                                    |     r8 = 0x5a12;
    0x00002c9c add r0, pc                                    |     r0 = 0x5a1a;
    0x00002c9e blx 0x1b5c                                    |     time (r0);
    0x00002ca2 ldrb.w r3, [r8, 0x438]                        |     r3 = *((r8 + 0x438));
    0x00002ca6 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00002ca8 bne.w 0x2ecc                                  |         goto label_153;
                                                             |     }
    0x00002cac strb.w r3, [r8, 0x1c]                         |     *((r8 + 0x1c)) = r3;
    0x00002cb0 ldr.w r3, [sl, 0x10]                          |     r3 = *((sl + 0x10));
    0x00002cb4 ldr r3, [r3, 0x14]                            |     r3 = *((r3 + 0x14));
    0x00002cb6 cmp r4, r3                                    |     
    0x00002cb8 sbcs r3, r5, 0                                |     __asm ("sbcs r3, r5, 0");
                                                             |     if (r4 <= r3) {
    0x00002cbc blo.w 0x2ace                                  |         goto label_21;
                                                             |     }
                                                             | label_142:
    0x00002cc0 ldr r3, [pc, 0xb8]                            |     
    0x00002cc2 mov r2, r4                                    |     r2 = r4;
    0x00002cc4 add r3, pc                                    |     r3 = 0x5a44;
    0x00002cc6 ldr r0, [r3, 8]                               |     r0 = *(0x5a4c);
    0x00002cc8 mov r3, r5                                    |     r3 = r5;
    0x00002cca blx 0x18cc                                    |     r0 = fcn_000018cc ();
    0x00002cce cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00002cd0 beq.w 0x2ace                                  |         goto label_21;
                                                             |     }
    0x00002cd4 ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x00002cd6 mov r2, r4                                    |     r2 = r4;
    0x00002cd8 ldr.w r0, [sl, 4]                             |     r0 = *((sl + 4));
    0x00002cdc ldr r3, [r3]                                  |     r3 = *(r3);
    0x00002cde str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00002ce0 movs r3, 1                                    |     r3 = 1;
    0x00002ce2 str r3, [sp]                                  |     *(sp) = r3;
    0x00002ce4 mov r3, r5                                    |     r3 = r5;
    0x00002ce6 blx 0x1b20                                    |     r0 = blkid_do_fullprobe ();
    0x00002cea cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00002cec bne.w 0x302a                                  |         goto label_154;
                                                             |     }
                                                             | label_29:
    0x00002cf0 ldr r3, [sp, 0x3c]                            |     r3 = *(arg_3ch);
    0x00002cf2 adds r3, 1                                    |     r3++;
    0x00002cf4 str r3, [sp, 0x3c]                            |     *(arg_3ch) = r3;
    0x00002cf6 ldr r3, [sp, 0x38]                            |     r3 = *(stream);
    0x00002cf8 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x00002cfc str r3, [sp, 0x38]                            |     *(stream) = r3;
    0x00002cfe ldr r3, [pc, 0x80]                            |     
    0x00002d00 add r3, pc                                    |     r3 = 0x5a86;
    0x00002d02 ldr r0, [r3, 0x18]                            |     r0 = *(0x5a9e);
                                                             |     if (r0 != 0) {
    0x00002d04 cbz r0, 0x2d14                                |         
    0x00002d06 mov r2, r4                                    |         r2 = r4;
    0x00002d08 mov r3, r5                                    |         r3 = r5;
    0x00002d0a blx 0x18cc                                    |         r0 = fcn_000018cc ();
    0x00002d0e cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00002d10 bne.w 0x30d4                                  |             goto label_155;
                                                             |         }
                                                             |     }
                                                             | label_32:
    0x00002d14 ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00002d16 lsls r3, r3, 0x1c                             |     r3 <<= 0x1c;
                                                             |     if (r3 >= r3) {
    0x00002d18 bpl 0x2d96                                    |         goto label_156;
                                                             |     }
    0x00002d1a ldr r3, [pc, 0x68]                            |     
    0x00002d1c add r3, pc                                    |     r3 = 0x5aa6;
    0x00002d1e ldrb.w r3, [r3, 0x440]                        |     r3 = *((r3 + 0x440));
                                                             |     if (r3 != 0) {
    0x00002d22 cbnz r3, 0x2d96                               |         goto label_156;
                                                             |     }
    0x00002d24 ldr.w r1, [sl, 0x14]                          |     r1 = *((sl + 0x14));
    0x00002d28 ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x00002d2a cmp r1, 0                                     |     
    0x00002d2c ldr r3, [r3]                                  |     r3 = *(r3);
                                                             |     if (r1 <= 0) {
    0x00002d2e ble.w 0x2ace                                  |         goto label_21;
                                                             |     }
    0x00002d32 add r1, r3                                    |     r1 += r3;
    0x00002d34 b 0x2d8e                                      |     goto label_157;
                                                             | label_22:
    0x00002d88 cmp r1, r3                                    |     
                                                             |     if (r1 == r3) {
    0x00002d8a beq.w 0x2ace                                  |         goto label_21;
                                                             |     }
                                                             | label_157:
    0x00002d8e ldrb r2, [r3], 1                              |     r2 = *(r3);
                                                             |     r3++;
    0x00002d92 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00002d94 beq 0x2d88                                    |         goto label_22;
                                                             |     }
                                                             | label_156:
    0x00002d96 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00002d98 bne.w 0x3040                                  |         goto label_158;
                                                             |     }
                                                             | label_30:
    0x00002d9c ldr.w r3, [pc, 0x5bc]                         |     
    0x00002da0 ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00002da4 add r3, pc                                    |     r3 = 0x6104;
    0x00002da6 ldr.w r1, [r3, 0x444]                         |     r1 = *(0x6548);
    0x00002daa ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x00002dac ldr.w r8, [r3]                                |     r8 = *(0x6104);
    0x00002dae strh r0, [r0]                                 |     *(r0) = r0;
    0x00002db0 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00002db2 beq.w 0x301a                                  |         goto label_159;
                                                             |     }
    0x00002db6 cmp r2, 0                                     |     
                                                             |     if (r2 <= 0) {
    0x00002db8 ble 0x2de6                                    |         goto label_160;
                                                             |     }
    0x00002dba str r4, [sp, 0x60]                            |     *(optstring) = r4;
    0x00002dbc mov r6, r1                                    |     r6 = r1;
    0x00002dbe str r5, [sp, 0x70]                            |     *(arg_70h) = r5;
    0x00002dc0 mov r4, r2                                    |     r4 = r2;
    0x00002dc2 mov r5, r1                                    |     r5 = r1;
    0x00002dc4 mov fp, r2                                    |     
                                                             |     do {
    0x00002dc6 mov r2, r4                                    |         r2 = r4;
    0x00002dc8 mov r1, r5                                    |         r1 = r5;
    0x00002dca mov r0, sb                                    |         r0 = sb;
    0x00002dcc blx 0x19dc                                    |         r0 = ext2fs_read_bitmaps ();
    0x00002dd0 cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x00002dd2 blt.w 0x3c5c                                  |             goto label_161;
                                                             |         }
    0x00002dd6 subs r4, r4, r0                               |         r4 -= r0;
    0x00002dd8 add r5, r0                                    |         r5 += r0;
    0x00002dda cmp r4, 0                                     |         
    0x00002ddc bgt 0x2dc6                                    |         
                                                             |     } while (r4 > 0);
    0x00002dde ldr r4, [sp, 0x60]                            |     r4 = *(optstring);
    0x00002de0 mov r1, r6                                    |     r1 = r6;
    0x00002de2 ldr r5, [sp, 0x70]                            |     r5 = *(arg_70h);
    0x00002de4 mov r2, fp                                    |     r2 = fp;
                                                             | label_160:
    0x00002de6 mov r0, r8                                    |     r0 = r8;
    0x00002de8 str r2, [sp, 0x60]                            |     *(optstring) = r2;
    0x00002dea blx 0x1898                                    |     memcmp (r0, r1, r2);
    0x00002dee ldr r2, [sp, 0x60]                            |     r2 = *(optstring);
    0x00002df0 mov.w r8, 1                                   |     r8 = 1;
    0x00002df4 mov r6, r0                                    |     r6 = r0;
    0x00002df6 str.w r8, [sp]                                |     __asm ("str.w r8, [sp]");
    0x00002dfa mov r0, sb                                    |     r0 = sb;
    0x00002dfc rsbs r2, r2, 0                                |     r2 -= ;
    0x00002dfe asrs r3, r2, 0x1f                             |     r3 = r2 >> 0x1f;
    0x00002e00 blx 0x1a84                                    |     getopt (r0, r1, r2);
    0x00002e04 cmp r1, 0                                     |     
                                                             |     if (r1 < 0) {
    0x00002e06 blt.w 0x3c7a                                  |         goto label_162;
                                                             |     }
    0x00002e0a ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00002e0e cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00002e10 bne.w 0x301a                                  |         goto label_159;
                                                             |     }
    0x00002e14 asrs r3, r2, 0x1f                             |     r3 = r2 >> 0x1f;
    0x00002e16 mov r0, sb                                    |     r0 = sb;
    0x00002e18 str.w r8, [sp]                                |     __asm ("str.w r8, [sp]");
    0x00002e1c blx 0x1a84                                    |     getopt (r0, r1, r2);
    0x00002e20 cmp r1, 0                                     |     
                                                             |     if (r1 < 0) {
    0x00002e22 blt.w 0x3c7a                                  |         goto label_162;
                                                             |     }
    0x00002e26 ldr.w r2, [pc, 0x538]                         |     
    0x00002e2a add r2, pc                                    |     r2 = 0x6190;
    0x00002e2c ldr.w r3, [r2, 0x448]                         |     r3 = *(0x65d8);
    0x00002e30 adds r3, 1                                    |     r3++;
    0x00002e32 str.w r3, [r2, 0x448]                         |     __asm ("str.w r3, [r2, 0x448]");
                                                             | label_28:
    0x00002e36 movs r6, 0                                    |     r6 = 0;
    0x00002e38 b 0x2ae4                                      |     goto label_23;
                                                             | label_144:
    0x00002e3a movs r3, 1                                    |     r3 = 1;
    0x00002e3c mov r0, sb                                    |     r0 = sb;
    0x00002e3e str r3, [sp]                                  |     *(sp) = r3;
    0x00002e40 mov.w r2, 0x100000                            |     r2 = 0x100000;
    0x00002e44 movs r3, 0                                    |     r3 = 0;
    0x00002e46 blx 0x1a84                                    |     getopt (r0, r1, r2);
    0x00002e4a cmp r1, 0                                     |     
                                                             |     if (r1 < 0) {
    0x00002e4c blt.w 0x3c7a                                  |         goto label_162;
                                                             |     }
    0x00002e50 sub.w r6, r6, 0x100000                        |     r6 -= 0x100000;
    0x00002e54 b 0x2ae4                                      |     goto label_23;
                                                             | label_150:
    0x00002e56 ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x00002e5a blx 0x1ab4                                    |     blkid_probe_lookup_value ();
    0x00002e5e ldr r3, [sp, 0x30]                            |     r3 = *(arg_30h);
    0x00002e60 cmp r3, r0                                    |     
    0x00002e62 ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00002e64 sbcs.w r1, r3, r1                             |     __asm ("sbcs.w r1, r3, r1");
                                                             |     if (r3 >= r0) {
    0x00002e68 bhs 0x2e8a                                    |         goto label_151;
                                                             |     }
    0x00002e6a ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x00002e6e blx 0x1ab4                                    |     blkid_probe_lookup_value ();
    0x00002e72 ldr r3, [sp, 0x30]                            |     r3 = *(arg_30h);
    0x00002e74 subs r0, r0, r3                               |     r0 -= r3;
    0x00002e76 ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00002e78 sbc.w r1, r1, r3                              |     __asm ("sbc.w r1, r1, r3");
    0x00002e7c ldrd r3, r2, [sp, 0x40]                       |     __asm ("ldrd r3, r2, [arg_40h]");
    0x00002e80 cmp r2, r1                                    |     
    0x00002e82 it eq                                         |     
                                                             |     if (r2 != r1) {
    0x00002e84 cmpeq r3, r0                                  |         __asm ("cmpeq r3, r0");
                                                             |         goto label_163;
                                                             |     }
                                                             |     if (r2 != r1) {
                                                             | label_163:
    0x00002e86 bne.w 0x2c80                                  |         goto label_24;
                                                             |     }
                                                             | label_151:
    0x00002e8a blx 0x1c28                                    |     qcow2_read_header ();
    0x00002e8e movs r1, 2                                    |     r1 = 2;
    0x00002e90 blx 0x1cb8                                    |     ext2fs_open ();
    0x00002e94 ldr r3, [sp, 0x48]                            |     r3 = *(arg_48h);
    0x00002e96 ldrb.w r3, [r3, 0x438]                        |     r3 = *((r3 + 0x438));
    0x00002e9a cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00002e9c beq.w 0x2c8c                                  |         goto label_25;
                                                             |     }
                                                             | label_152:
    0x00002ea0 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002ea2 movs r0, 0xd                                  |     r0 = 0xd;
    0x00002ea4 ldr r1, [r3]                                  |     r1 = *(r3);
    0x00002ea6 blx 0x1be0                                    |     ext2fs_image_inode_write ();
    0x00002eaa b 0x2c8c                                      |     goto label_25;
                                                             | label_143:
    0x00002eac ldr r3, [sp, 0x6c]                            |     r3 = *(arg_6ch);
    0x00002eae ldrb.w r3, [r3, 0x421]                        |     r3 = *((r3 + 0x421));
    0x00002eb2 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00002eb4 bne.w 0x2ae4                                  |         goto label_23;
                                                             |     }
    0x00002eb6 add r6, sp, 0x58                              |     r6 = sp + 0x58;
    0x00002eb8 ldr r3, [sp, 0x78]                            |     r3 = *(arg_78h);
    0x00002eba mov r0, sb                                    |     r0 = sb;
    0x00002ebc ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00002ec0 strd r4, r5, [sp]                             |     __asm ("strd r4, r5, [sp]");
    0x00002ec4 ldr r1, [r3]                                  |     r1 = *(r3);
    0x00002ec6 bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00002eca b 0x2ae4                                      |     goto label_23;
                                                             | label_153:
    0x00002ecc ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002ece movs r2, 8                                    |     r2 = 8;
    0x00002ed0 ldr.w r0, [pc, 0x490]                         |     
    0x00002ed2 lsls r0, r2, 0x12                             |     r0 = r2 << 0x12;
    0x00002ed4 movs r1, 1                                    |     r1 = 1;
    0x00002ed6 ldr.w fp, [pc, 0x490]                         |     
    0x00002eda ldr r3, [r3]                                  |     r3 = *(r3);
    0x00002edc add r0, pc                                    |     r0 = 0x6244;
    0x00002ede blx 0x1b5c                                    |     r0 = time (r0);
    0x00002ee2 ldrd r1, r0, [sp, 0x38]                       |     __asm ("ldrd r1, r0, [stream]");
    0x00002ee4 asrs r6, r1, 0x20                             |     r6 = r1 >> 0x20;
    0x00002ee6 add fp, pc                                    |     fp = 0x6254;
    0x00002ee8 bl 0x7410                                     |     fcn_00007410 (r0, r1);
    0x00002eec ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002eee vmov s18, r0                                  |     __asm ("vmov s18, r0");
    0x00002ef2 ldr r2, [r3]                                  |     r2 = *(r3);
    0x00002ef4 str r2, [sp, 0x4c]                            |     *(c) = r2;
    0x00002ef6 ldrd r2, r3, [r8, 0x10]                       |     __asm ("ldrd r2, r3, [r8, 0x10]");
    0x00002efa mov r1, r3                                    |     r1 = r3;
    0x00002efc mov r0, r2                                    |     r0 = r2;
    0x00002efe strd r2, r3, [sp, 0x60]                       |     __asm ("strd r2, r3, [sp, 0x60]");
    0x00002f02 bl 0x7410                                     |     r0 = fcn_00007410 (r0, r1);
    0x00002f06 vmov s14, r0                                  |     __asm ("vmov s14, r0");
    0x00002f08 lsrs r0, r2, 8                                |     r0 = r2 >> 8;
    0x00002f0a vmov.f64 d16, 5.000000e-01                    |     __asm ("vmov.f64 d16, 5");
    0x00002f0e vdiv.f32 s15, s18, s14                        |     __asm ("vdiv.f32 s15, s18, s14");
    0x00002f12 ldr r1, [sp, 0x3c]                            |     r1 = *(arg_3ch);
    0x00002f14 ldrd r2, r3, [sp, 0x60]                       |     __asm ("ldrd r2, r3, [optstring]");
    0x00002f16 movs r3, 0x18                                 |     r3 = 0x18;
    0x00002f18 ldr r0, [sp, 0x4c]                            |     r0 = *(c);
    0x00002f1a str r1, [sp]                                  |     *(sp) = r1;
    0x00002f1c ldr r1, [sp, 0x38]                            |     r1 = *(stream);
    0x00002f1e strd r2, r3, [sp, 8]                          |     __asm ("strd r2, r3, [sp, 8]");
    0x00002f22 mov r2, fp                                    |     r2 = fp;
    0x00002f24 str r1, [sp, 4]                               |     *(arg_4h) = r1;
    0x00002f26 movs r1, 1                                    |     r1 = 1;
    0x00002f28 vcvt.f64.f32 d17, s15                         |     __asm ("vcvt.f64.f32 d17, s15");
    0x00002f2c vmla.f64 d16, d17, d8                         |     __asm ("vmla.f64 d16, d17, d8");
    0x00002f30 vcvt.s32.f64 s15, d16                         |     __asm ("vcvt.s32.f64 s15, d16");
    0x00002f34 vstr s15, [sp, 0x10]                          |     __asm ("vstr s15, [sp, 0x10]");
    0x00002f38 blx 0x1bd4                                    |     fputc (r0, r1);
    0x00002f3c ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002f3e str r0, [sp, 0x4c]                            |     *(c) = r0;
    0x00002f40 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00002f42 blx 0x1a6c                                    |     blkid_get_tag_value ();
    0x00002f46 movs r2, 0                                    |     r2 = 0;
    0x00002f48 ldrb.w r3, [r8, 0x438]                        |     r3 = *((r8 + 0x438));
    0x00002f4c strb.w r2, [r8, 0x1c]                         |     *((r8 + 0x1c)) = r2;
    0x00002f50 b 0x2aae                                      |     goto label_26;
                                                             | label_141:
    0x00002f52 movs r0, 0                                    |     r0 = 0;
    0x00002f54 blx 0x1b68                                    |     ext2fs_get_mem ();
    0x00002f58 ldr r3, [sp, 0x4c]                            |     r3 = *(c);
    0x00002f5a str r0, [sp, 0x54]                            |     *(arg_54h) = r0;
                                                             |     if (r3 == 0) {
    0x00002f5c cbz r3, 0x2f76                                |         goto label_164;
                                                             |     }
    0x00002f5e ldr.w r8, [sp, 0x4c]                          |     r8 = *(c);
    0x00002f62 ldr.w fp, [sp, 0x20]                          |     fp = *(arg_20h);
                                                             |     do {
    0x00002f66 ldr.w r1, [fp]                                |         r1 = *(fp);
    0x00002f6a movs r0, 8                                    |         r0 = 8;
    0x00002f6c blx 0x1be0                                    |         ext2fs_image_inode_write ();
    0x00002f70 subs.w r8, r8, 1                              |         r8--;
    0x00002f74 bne 0x2f66                                    |         
                                                             |     } while (r8 != r8);
                                                             | label_164:
    0x00002f76 ldrd r1, r0, [sp, 0x38]                       |     __asm ("ldrd r1, r0, [stream]");
    0x00002f7a bl 0x7410                                     |     fcn_00007410 (r0, r1);
    0x00002f7e ldr r2, [sp, 0x20]                            |     r2 = *(arg_20h);
    0x00002f80 ldr.w fp, [pc, 0x3e8]                         |     
    0x00002f84 vmov s18, r0                                  |     __asm ("vmov s18, r0");
    0x00002f88 ldr r2, [r2]                                  |     r2 = *(r2);
    0x00002f8a add fp, pc                                    |     fp = 0x62fa;
    0x00002f8c ldr.w r8, [pc, 0x3e0]                         |     
    0x00002f90 str r2, [sp, 0x4c]                            |     *(c) = r2;
    0x00002f92 ldrd r2, r3, [fp, 0x10]                       |     __asm ("ldrd r2, r3, [arg_10h]");
    0x00002f96 add r8, pc                                    |     r8 = 0x630a;
    0x00002f98 mov r1, r3                                    |     r1 = r3;
    0x00002f9a mov r0, r2                                    |     r0 = r2;
    0x00002f9c strd r2, r3, [sp, 0x60]                       |     __asm ("strd r2, r3, [sp, 0x60]");
    0x00002fa0 bl 0x7410                                     |     r0 = fcn_00007410 (r0, r1);
    0x00002fa4 vmov s14, r0                                  |     __asm ("vmov s14, r0");
    0x00002fa8 vmov.f64 d16, 5.000000e-01                    |     __asm ("vmov.f64 d16, 5");
    0x00002fac vdiv.f32 s15, s18, s14                        |     __asm ("vdiv.f32 s15, s18, s14");
    0x00002fb0 ldrd r2, r3, [sp, 0x60]                       |     __asm ("ldrd r2, r3, [optstring]");
    0x00002fb4 ldr r1, [sp, 0x38]                            |     r1 = *(stream);
    0x00002fb6 ldr r0, [sp, 0x4c]                            |     r0 = *(c);
    0x00002fb8 strd r2, r3, [sp, 8]                          |     __asm ("strd r2, r3, [sp, 8]");
    0x00002fbc mov r2, r8                                    |     r2 = r8;
    0x00002fbe ldr r3, [sp, 0x3c]                            |     r3 = *(arg_3ch);
    0x00002fc0 str r1, [sp, 4]                               |     *(arg_4h) = r1;
    0x00002fc2 movs r1, 1                                    |     r1 = 1;
    0x00002fc4 str r3, [sp]                                  |     *(sp) = r3;
    0x00002fc6 vcvt.f64.f32 d17, s15                         |     __asm ("vcvt.f64.f32 d17, s15");
    0x00002fca vmla.f64 d16, d17, d8                         |     __asm ("vmla.f64 d16, d17, d8");
    0x00002fce vcvt.s32.f64 s15, d16                         |     __asm ("vcvt.s32.f64 s15, d16");
    0x00002fd2 vstr s15, [sp, 0x10]                          |     __asm ("vstr s15, [sp, 0x10]");
    0x00002fd6 blx 0x1bd4                                    |     fputc (r0, r1);
    0x00002fda str r0, [sp, 0x4c]                            |     *(c) = r0;
    0x00002fdc movs r0, 0                                    |     r0 = 0;
    0x00002fde blx 0x1b68                                    |     ext2fs_get_mem ();
    0x00002fe2 ldr r2, [sp, 0x84]                            |     r2 = *(arg_84h);
    0x00002fe4 ldrd r1, r3, [sp, 0x38]                       |     __asm ("ldrd r1, r3, [stream]");
    0x00002fe8 sub.w r8, r0, r2                              |     r8 = r0 - r2;
    0x00002fec orrs r3, r1                                   |     r3 |= r1;
    0x00002fee cmp r3, 0                                     |     
    0x00002ff0 it ne                                         |     
                                                             |     if (r3 != 0) {
    0x00002ff2 cmpne r8, 5                                   |         __asm ("cmpne r8, 5");
                                                             |     }
                                                             |     if (r3 > 0) {
    0x00002ff6 bgt 0x3058                                    |         goto label_165;
                                                             |     }
                                                             | label_31:
    0x00002ff8 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00002ffa ldr r0, [r3]                                  |     r0 = *(r3);
    0x00002ffc blx 0x1a6c                                    |     r0 = blkid_get_tag_value ();
    0x00003000 movs r5, r0                                   |     r5 = r0;
                                                             | label_146:
    0x00003002 movs r0, r0                                   |     
    0x00003004 movs r0, r0                                   |     
    0x00003006 movs r0, r0                                   |     
                                                             | label_147:
    0x00003008 ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x0000300a ldrd r3, r0, [sp]                             |     __asm ("ldrd r3, r0, [sp]");
    0x0000300e movs r0, r0                                   |     
    0x00003010 ldr r1, [sp, 0x24]                            |     r1 = *(arg_24h);
    0x00003012 str r2, [sp, 0x18]                            |     *(arg_18h) = r2;
    0x00003014 str r3, [sp, 0x24]                            |     *(arg_24h) = r3;
    0x00003016 str r1, [sp, 0x44]                            |     *(arg_44h) = r1;
    0x00003018 b 0x2a82                                      |     goto label_27;
                                                             | label_159:
    0x0000301a ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x0000301c mov r0, sb                                    |     r0 = sb;
    0x0000301e strd r4, r5, [sp]                             |     __asm ("strd r4, r5, [sp]");
    0x00003022 ldr r1, [r3]                                  |     r1 = *(r3);
    0x00003024 bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00003028 b 0x2e36                                      |     goto label_28;
                                                             | label_154:
    0x0000302a ldr r3, [pc, 0x348]                           |     
    0x0000302c mov r1, r0                                    |     r1 = r0;
    0x0000302e ldr r2, [pc, 0x348]                           |     
    0x00003030 strd r4, r5, [sp]                             |     __asm ("strd r4, r5, [sp]");
    0x00003034 add r3, pc                                    |     r3 = 0x63ae;
    0x00003036 ldr r0, [r3]                                  |     r0 = *(0x63ae);
    0x00003038 add r2, pc                                    |     r2 = 0x63b6;
    0x0000303a blx 0x1960                                    |     fcn_00001960 ();
    0x0000303e b 0x2cf0                                      |     goto label_29;
                                                             | label_158:
    0x00003040 movs r3, 1                                    |     r3 = 1;
    0x00003042 mov r2, r6                                    |     r2 = r6;
    0x00003044 str r3, [sp]                                  |     *(sp) = r3;
    0x00003046 mov r0, sb                                    |     r0 = sb;
    0x00003048 adds r0, 0                                    |     r0 += 0;
    0x0000304a movs r0, r0                                   |     
    0x0000304c adds r0, 0                                    |     r0 += 0;
    0x0000304e movs r0, r0                                   |     
                                                             |     if (r0 >= r0) {
    0x00003050 bge.w 0x2d9c                                  |         goto label_30;
                                                             |     }
    0x00003054 bl 0x44bc                                     |     fcn_000044bc ();
                                                             | label_165:
    0x00003058 ldrd r0, r2, [fp, 0x10]                       |     __asm ("ldrd r0, r2, [arg_4h]");
    0x0000305c asr.w r1, r8, 0x1f                            |     r1 = r8 >> 0x1f;
    0x00003060 add.w fp, sp, 0x2b4                           |     
    0x00003064 mul r2, r8, r2                                |     r2 = r8 * r2;
    0x00003068 mla r2, r1, r0, r2                            |     __asm ("mla r2, r1, r0, r2");
    0x0000306c umull r0, r1, r0, r8                          |     r0:r1 = r0 * r8;
    0x00003070 add r1, r2                                    |     r1 += r2;
    0x00003072 ldrd r3, r2, [sp, 0x38]                       |     __asm ("ldrd r3, r2, [stream]");
    0x00003076 bl 0x749c                                     |     r0 = fcn_0000749c (r0, r1, r2, r3);
    0x0000307a sub.w r3, r0, r8                              |     r3 = r0 - r8;
    0x0000307e add r0, sp, 0xb4                              |     r0 += pid;
    0x00003080 str r3, [r0]                                  |     *(r0) = r3;
    0x00003082 blx 0x1cac                                    |     kill (r0, r1);
    0x00003086 ldr r2, [pc, 0x2f4]                           |     
    0x00003088 mov r3, r0                                    |     r3 = r0;
    0x0000308a movs r1, 0x1e                                 |     r1 = 0x1e;
    0x0000308c mov r0, fp                                    |     r0 = fp;
    0x0000308e add r2, pc                                    |     r2 = 0x6410;
    0x00003090 blx 0x1c1c                                    |     getpid ();
    0x00003094 vldr s14, [sl, 0x14]                          |     __asm ("vldr s14, [sl, 0x14]");
    0x00003098 mov r3, fp                                    |     r3 = fp;
    0x0000309a vldr s13, [pc, 0x2bc]                         |     __asm ("vldr s13, [0x0000335c]");
    0x0000309e vmov s15, r8                                  |     __asm ("vmov s15, r8");
    0x000030a2 ldr r1, [sp, 0x20]                            |     r1 = *(arg_20h);
    0x000030a4 vcvt.f32.u32 s14, s14                         |     __asm ("vcvt.f32.u32 s14, s14");
    0x000030a8 vcvt.f32.s32 s15, s15                         |     __asm ("vcvt.f32.s32 s15, s15");
    0x000030ac ldr r2, [pc, 0x2d0]                           |     
    0x000030ae vdiv.f32 s12, s13, s14                        |     __asm ("vdiv.f32 s12, s13, s14");
    0x000030b2 add r2, pc                                    |     r2 = 0x6436;
    0x000030b4 vdiv.f32 s13, s18, s12                        |     __asm ("vdiv.f32 s13, s18, s12");
    0x000030b6 ldr r6, [r0, 0x20]                            |     r6 = *((r0 + 0x20));
    0x000030b8 vdiv.f32 s14, s13, s15                        |     __asm ("vdiv.f32 s14, s13, s15");
    0x000030bc vcvt.f64.f32 d7, s14                          |     __asm ("vcvt.f64.f32 d7, s14");
    0x000030c0 vstr d7, [sp]                                 |     __asm ("vstr d7, [sp]");
    0x000030c4 ldr r0, [r1]                                  |     r0 = *(r1);
    0x000030c6 movs r1, 1                                    |     r1 = 1;
    0x000030c8 blx 0x1bd4                                    |     fputc (r0, r1);
    0x000030cc ldr r3, [sp, 0x4c]                            |     r3 = *(c);
    0x000030ce add r3, r0                                    |     r3 += r0;
    0x000030d0 str r3, [sp, 0x4c]                            |     *(c) = r3;
    0x000030d2 b 0x2ff8                                      |     goto label_31;
                                                             | label_155:
    0x000030d4 ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x000030d6 mov r2, r4                                    |     r2 = r4;
    0x000030d8 mov r0, sl                                    |     r0 = sl;
    0x000030da ldr r3, [r3]                                  |     r3 = *(r3);
    0x000030dc str r3, [sp]                                  |     *(sp) = r3;
    0x000030de mov r3, r5                                    |     r3 = r5;
    0x000030e0 bl 0x4348                                     |     fcn_00004348 (r0, r1, r2, r3);
    0x000030e4 b 0x2d14                                      |     goto label_32;
                                                             | label_131:
    0x000030e6 mov r0, r3                                    |     r0 = r3;
    0x000030e8 blx 0x1b44                                    |     blkid_get_cache ();
    0x000030ec b.w 0x28a2                                    |     goto label_33;
                                                             | label_139:
    0x000030f0 movs r6, 0                                    |     r6 = 0;
    0x000030f2 mov r4, r6                                    |     r4 = r6;
                                                             | label_145:
    0x000030f4 ldr r5, [pc, 0x28c]                           |     
    0x000030f6 movs r1, 0                                    |     r1 = 0;
    0x000030f8 movs r0, 2                                    |     r0 = 2;
    0x000030fa blx 0x18c0                                    |     fcn_000018c0 ();
    0x000030fe add r5, pc                                    |     r5 = 0x6486;
    0x00003100 ldrb.w r3, [r5, 0x438]                        |     r3 = *((r5 + 0x438));
                                                             |     if (r3 != 0) {
    0x00003104 cbnz r3, 0x3170                               |         goto label_166;
                                                             |     }
                                                             |     if (r6 != 0) {
    0x00003106 cbz r6, 0x3148                                |         
    0x00003108 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x0000310a beq.w 0x3570                                  |             goto label_167;
                                                             |         }
    0x0000310e ldrd r0, r4, [sl, 0x10]                       |         __asm ("ldrd r0, r4, [sl, 0x10]");
    0x00003112 blx 0x1ab4                                    |         r0 = blkid_probe_lookup_value ();
    0x00003116 mov r3, r0                                    |         r3 = r0;
    0x00003118 ldr r5, [pc, 0x26c]                           |         
    0x0000311a ldr r0, [sp, 0x5c]                            |         r0 = *(arg_5ch);
    0x0000311c umull r6, r3, r4, r3                          |         r6:r3 = r4 * r3;
    0x00003120 add r5, pc                                    |         r5 = 0x64ac;
    0x00003122 ldr.w r2, [r5, 0x430]                         |         r2 = *(0x68dc);
    0x00003126 mla r3, r4, r1, r3                            |         __asm ("mla r3, r4, r1, r3");
    0x0000312a ldr.w r1, [r5, 0x434]                         |         r1 = *(0x68e0);
    0x0000312e adds r2, r6, r2                               |         r2 = r6 + r2;
    0x00003130 adc.w r3, r3, r1                              |         __asm ("adc.w r3, r3, r1");
    0x00003134 bl 0x44a0                                     |         r0 = fcn_000044a0 ();
    0x00003138 mov r2, r0                                    |         r2 = r0;
    0x0000313a mov r3, r1                                    |         r3 = r1;
                                                             | label_44:
    0x0000313c ldr r0, [sp, 0x5c]                            |         r0 = *(arg_5ch);
    0x0000313e blx 0x1cd0                                    |         r0 = libc_start_main (r0, r1, r2, r3, r4, r5, r6);
    0x00003142 cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x00003144 blt.w 0x3bf0                                  |             goto label_168;
                                                             |         }
                                                             |     }
                                                             | label_58:
    0x00003148 ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x0000314a bl 0x452c                                     |     fcn_0000452c (r0);
    0x0000314e ldr r0, [sp, 0x50]                            |     r0 = *(arg_50h);
    0x00003150 bl 0x452c                                     |     fcn_0000452c (r0);
    0x00003154 ldr r0, [sp, 0x58]                            |     r0 = *(arg_58h);
    0x00003156 bl 0x452c                                     |     fcn_0000452c (r0);
    0x0000315a ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x0000315c ldr r0, [r3]                                  |     r0 = *(r3);
    0x0000315e blx 0x1c88                                    |     sprintf_chk ()
    0x00003162 ldr r3, [pc, 0x228]                           |     
    0x00003164 add r3, pc                                    |     r3 = 0x64f6;
    0x00003166 ldr r0, [r3, 8]                               |     r0 = *(0x64fe);
    0x00003168 blx 0x1a3c                                    |     ext2fs_get_arrayzero ();
    0x0000316c b.w 0x2882                                    |     goto label_34;
                                                             |     if (r1 != 0) {
    0x0000316e cbnz r1, 0x31d4                               |         void (*0x31d4)() ();
                                                             |     }
                                                             | label_166:
    0x00003170 movs r0, 0                                    |     r0 = 0;
    0x00003172 add.w r8, sp, 0xb4                            |     r8 += pid;
    0x00003176 blx 0x1b68                                    |     ext2fs_get_mem ();
    0x00003178 invalid                                       |     
    0x0000317c add r7, sp, 0x2b4                             |     r7 += arg_2b4h;
    0x0000317e subs r0, r0, r3                               |     r0 -= r3;
    0x00003180 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003182 str r0, [sp, 0xb4]                            |     *(pid) = r0;
    0x00003184 movs r0, 0xd                                  |     r0 = 0xd;
    0x00003186 ldr r1, [r3]                                  |     r1 = *(r3);
    0x00003188 blx 0x1be0                                    |     ext2fs_image_inode_write ();
    0x0000318c mov r0, r8                                    |     r0 = r8;
    0x0000318e blx 0x1cac                                    |     kill (r0, r1);
    0x00003192 ldr r2, [pc, 0x1fc]                           |     
    0x00003194 mov r3, r0                                    |     r3 = r0;
    0x00003196 movs r1, 0x1e                                 |     r1 = 0x1e;
    0x00003198 mov r0, r7                                    |     r0 = r7;
    0x0000319a add r2, pc                                    |     r2 = 0x6530;
    0x0000319c blx 0x1c1c                                    |     getpid ();
    0x000031a0 ldrd r1, sb, [sp, 0x38]                       |     __asm ("ldrd r1, sb, [stream]");
    0x000031a4 ldrd r2, r3, [r5, 0x10]                       |     __asm ("ldrd r2, r3, [r5, 0x10]");
    0x000031a8 ldr r5, [pc, 0x1e8]                           |     
    0x000031aa mov r0, sb                                    |     r0 = sb;
    0x000031ac strd r2, r3, [sp, 0x18]                       |     __asm ("strd r2, r3, [sp, 0x18]");
    0x000031ae movs r3, 6                                    |     r3 = 6;
    0x000031b0 bl 0x7410                                     |     r0 = fcn_00007410 (r0, r1);
    0x000031b4 vmov s16, r0                                  |     __asm ("vmov s16, r0");
    0x000031b8 add r5, pc                                    |     r5 = 0x6550;
    0x000031ba ldrd r0, r1, [sp, 0x18]                       |     __asm ("ldrd r0, r1, [arg_18h]");
    0x000031be str r7, [sp, 0x14]                            |     *(arg_14h) = r7;
    0x000031c0 bl 0x7410                                     |     r0 = fcn_00007410 (r0, r1);
    0x000031c4 vmov s14, r0                                  |     __asm ("vmov s14, r0");
    0x000031c8 movs r1, 1                                    |     r1 = 1;
    0x000031ca vldr d18, [pc, 0x184]                         |     __asm ("vldr d18, [0x00003354]");
    0x000031ce vdiv.f32 s15, s16, s14                        |     __asm ("vdiv.f32 s15, s16, s14");
    0x000031d2 vmov.f64 d16, 5.000000e-01                    |     __asm ("vmov.f64 d16, 5");
    0x000031d6 ldr r2, [sp, 0x38]                            |     r2 = *(stream);
    0x000031d8 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x000031da ldrd fp, ip, [sp, 0x18]                       |     __asm ("ldrd fp, ip, [arg_18h]");
    0x000031de str r2, [sp, 4]                               |     *(arg_4h) = r2;
    0x000031e0 mov r2, r5                                    |     r2 = r5;
    0x000031e2 str.w sb, [sp]                                |     __asm ("str.w sb, [sp]");
    0x000031e6 strd fp, ip, [sp, 8]                          |     __asm ("strd fp, ip, [sp, 8]");
    0x000031e8 pop {r1}                                      |     
    0x000031ea ldr r0, [r3]                                  |     r0 = *(r3);
    0x000031ec vcvt.f64.f32 d17, s15                         |     __asm ("vcvt.f64.f32 d17, s15");
    0x000031ee subs r7, r4, r3                               |     r7 = r4 - r3;
    0x000031f0 vmla.f64 d16, d17, d18                        |     __asm ("vmla.f64 d16, d17, d18");
    0x000031f2 lsrs r2, r4, 0xe                              |     r2 = r4 >> 0xe;
    0x000031f4 vcvt.s32.f64 s15, d16                         |     __asm ("vcvt.s32.f64 s15, d16");
    0x000031f8 vstr s15, [sp, 0x10]                          |     __asm ("vstr s15, [sp, 0x10]");
    0x000031fc blx 0x1bd4                                    |     fputc (r0, r1);
    0x00003200 ldr r3, [sp, 0xb4]                            |     r3 = *(pid);
    0x00003202 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00003204 bne.w 0x3740                                  |         goto label_169;
                                                             |     }
    0x00003206 strh r4, [r3, 0x14]                           |     *((r3 + 0x14)) = r4;
                                                             | label_48:
    0x00003208 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x0000320a movs r2, 8                                    |     r2 = 8;
    0x0000320c ldr r0, [pc, 0x188]                           |     
    0x0000320e movs r1, 1                                    |     r1 = 1;
    0x00003210 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003212 add r0, pc                                    |     r0 = 0x65ae;
    0x00003214 blx 0x1b5c                                    |     time (r0);
    0x00003216 stc p7, c14, [r2], 0x1d4                      |     __asm ("stc p7, c14, [r2], 0x1d4");
                                                             | label_130:
    0x0000321a ldr r3, [pc, 0x180]                           |     
    0x0000321c movs r0, 1                                    |     r0 = 1;
    0x0000321e ldr r1, [pc, 0x180]                           |     
    0x00003220 add r3, pc                                    |     r3 = 0x65c2;
    0x00003222 ldr.w r2, [r3, 0x448]                         |     r2 = *(0x6a0a);
    0x00003226 add r1, pc                                    |     r1 = 0x65cc;
    0x00003228 blx 0x1920                                    |     fcn_00001920 ();
    0x0000322a sbcs.w r7, sl, pc, ror 31                     |     __asm ("sbcs.w r7, sl, pc, ror 31");
                                                             |     if (r0 != 0) {
    0x0000322e cbnz r0, 0x327e                               |         goto label_170;
                                                             |     }
                                                             | label_96:
    0x00003230 ldrd r2, r3, [r1, 0x168]                      |     __asm ("ldrd r2, r3, [r1, 0x168]");
    0x00003234 ldr r0, [r4, 8]                               |     r0 = *((r4 + 8));
    0x00003236 blx 0x1bf8                                    |     r0 = ext2fs_check_if_mounted ();
    0x00003238 stcl p9, c6, [r0], 0x8c                       |     __asm ("stcl p9, c6, [r0], 0x8c");
    0x0000323c adds r3, 1                                    |     r3++;
    0x0000323e str r3, [r4, 0x10]                            |     *((r4 + 0x10)) = r3;
    0x00003240 ldr r3, [r4, 0x14]                            |     r3 = *((r4 + 0x14));
    0x00003242 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x00003244 lsls r0, r0, 0xc                              |     r0 <<= 0xc;
    0x00003246 str r3, [r4, 0x14]                            |     *((r4 + 0x14)) = r3;
    0x00003248 b.w 0x2232                                    |     goto label_35;
                                                             | label_94:
    0x0000324c ldr r6, [pc, 0x154]                           |     
    0x0000324e mov r2, fp                                    |     r2 = fp;
    0x00003250 ldr r7, [sp, 0x18]                            |     r7 = *(arg_18h);
    0x00003252 add r6, pc                                    |     r6 = 0x65fa;
    0x00003254 mov r3, r7                                    |     r3 = r7;
    0x00003256 ldr r0, [r6, 8]                               |     r0 = *(0x6602);
    0x00003258 blx 0x1bf8                                    |     ext2fs_check_if_mounted ();
    0x0000325c ldr r3, [r6, 0x10]                            |     r3 = *(0x660a);
    0x0000325e adds r3, 1                                    |     r3++;
    0x00003260 str r3, [r6, 0x10]                            |     *((r6 + 0x10)) = r3;
    0x00003262 ldr r3, [r6, 0x14]                            |     r3 = *(0x660e);
    0x00003264 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x00003268 str r3, [r6, 0x14]                            |     *((r6 + 0x14)) = r3;
    0x0000326a ldr.w r3, [sl, 0x20]                          |     r3 = *((sl + 0x20));
    0x0000326c adds r0, 0x20                                 |     r0 += 0x20;
                                                             |     if (r3 == 0) {
    0x0000326e cbz r3, 0x3294                                |         goto label_171;
                                                             |     }
    0x00003270 movs r4, 0                                    |     r4 = 0;
                                                             |     do {
    0x00003272 str r4, [sp]                                  |         *(sp) = r4;
    0x00003274 mov r2, fp                                    |         r2 = fp;
    0x00003276 ldr r5, [r6, 8]                               |         r5 = *((r6 + 8));
    0x00003278 mov r3, r7                                    |         r3 = r7;
    0x0000327a mov r0, sl                                    |         r0 = sl;
    0x0000327c adds r4, 1                                    |         r4++;
                                                             | label_170:
    0x0000327e blx 0x1874                                    |         r0 = ext2fs_descriptor_block_loc2 ();
    0x00003282 mov r2, r0                                    |         r2 = r0;
    0x00003284 mov r3, r1                                    |         r3 = r1;
    0x00003286 mov r0, r5                                    |         r0 = r5;
    0x00003288 blx 0x1bf8                                    |         ext2fs_check_if_mounted ();
    0x0000328c ldr.w r3, [sl, 0x20]                          |         r3 = *((sl + 0x20));
    0x00003290 cmp r4, r3                                    |         
    0x00003292 blo 0x3272                                    |         
                                                             |     } while (r4 <= r3);
                                                             | label_171:
    0x00003294 ldr r1, [pc, 0x110]                           |     
    0x00003296 add r1, pc                                    |     r1 = 0x6642;
    0x00003298 ldr r2, [r1, 0x10]                            |     r2 = *(0x6652);
    0x0000329a adds r2, r2, r3                               |     r2 += r3;
    0x0000329c ldr r3, [r1, 0x14]                            |     r3 = *(0x6656);
    0x0000329e str r2, [r1, 0x10]                            |     *((r1 + 0x10)) = r2;
    0x000032a0 adc r3, r3, 0                                 |     __asm ("adc r3, r3, 0");
    0x000032a4 str r3, [r1, 0x14]                            |     *((r1 + 0x14)) = r3;
    0x000032a6 b.w 0x21c4                                    |     goto label_36;
                                                             | label_93:
    0x000032aa ldr r1, [pc, 0x100]                           |     
    0x000032ac add.w r2, r4, 0x18                            |     r2 = r4 + 0x18;
    0x000032b0 mov r0, sl                                    |     r0 = sl;
    0x000032b2 add r1, pc                                    |     r1 = 0x6664;
    0x000032b4 blx 0x1938                                    |     r0 = fcn_00001938 ();
    0x000032b8 mov r1, r0                                    |     r1 = r0;
    0x000032ba cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000032bc beq.w 0x21ba                                  |         goto label_37;
                                                             |     }
    0x000032c0 ldr r0, [pc, 0xec]                            |     
    0x000032c2 ldr r3, [pc, 0xf0]                            |     
    0x000032c4 ldr r2, [pc, 0xf0]                            |     
    0x000032c6 add r0, pc                                    |     
    0x000032c8 ldr r0, [r0]                                  |     r0 = *(0x667a);
    0x000032ca add r3, pc                                    |     r3 = 0x6684;
    0x000032cc add r2, pc                                    |     r2 = 0x6688;
    0x000032ce blx 0x1960                                    |     fcn_00001960 ();
    0x000032d2 movs r0, 1                                    |     r0 = 1;
    0x000032d4 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_110:
    0x000032d8 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x000032da movs r2, 0x13                                 |     r2 = 0x13;
    0x000032dc ldr r0, [pc, 0xdc]                            |     
    0x000032de movs r1, 1                                    |     r1 = 1;
    0x000032e0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000032e2 add r0, pc                                    |     r0 = 0x66a2;
    0x000032e4 blx 0x1b5c                                    |     time (r0);
    0x000032e8 b.w 0x24a4                                    |     goto label_38;
                                                             | label_87:
    0x000032ec ldr r1, [sp, 0x5c]                            |     r1 = *(arg_5ch);
    0x000032ee ldr r2, [sp, 0x88]                            |     r2 = *(arg_88h);
    0x000032f0 ldr r0, [sp, 0x74]                            |     r0 = *(arg_74h);
    0x000032f2 blx 0x1d48                                    |     r0 = blkid_new_probe_from_filename ();
    0x000032f6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000032f8 beq.w 0x2890                                  |         goto label_39;
                                                             |     }
    0x000032fc adds r3, r0, 1                                |     r3 = r0 + 1;
                                                             |     if (r3 == r0) {
    0x000032fe beq.w 0x3c28                                  |         goto label_172;
                                                             |     }
    0x00003302 adds r7, r0, 2                                |     r7 = r0 + 2;
                                                             |     if (r7 == r0) {
    0x00003304 beq.w 0x377a                                  |         goto label_173;
                                                             |     }
    0x00003308 adds r6, r0, 3                                |     r6 = r0 + 3;
                                                             |     if (r6 == r0) {
    0x0000330a beq.w 0x3c14                                  |         goto label_174;
                                                             |     }
    0x0000330e ldr r2, [pc, 0xb0]                            |     
    0x00003310 mov r1, r0                                    |     r1 = r0;
    0x00003312 mov r3, r4                                    |     r3 = r4;
    0x00003314 add r2, pc                                    |     
    0x00003316 ldr.w r2, [r2, 0x43c]                         |     r2 = *(0x6b16);
    0x00003318 movs r4, 0x3c                                 |     r4 = 0x3c;
    0x0000331a str r2, [sp]                                  |     *(sp) = r2;
    0x0000331c ldr r2, [pc, 0xa4]                            |     
    0x0000331e add r2, pc                                    |     r2 = 0x66e6;
    0x00003320 ldr r0, [r2]                                  |     r0 = *(0x66e6);
    0x00003322 ldr r2, [pc, 0xa4]                            |     
    0x00003324 add r2, pc                                    |     r2 = 0x66f2;
    0x00003326 blx 0x1960                                    |     fcn_00001960 ();
                                                             | label_49:
    0x0000332a movs r3, 1                                    |     r3 = 1;
    0x0000332c str r3, [sp, 0x7c]                            |     *(arg_7ch) = r3;
    0x0000332e b.w 0x2890                                    |     goto label_39;
                                                             | label_136:
    0x00003332 strd r2, r2, [sp, 0x40]                       |     __asm ("strd r2, r2, [sp, 0x40]");
    0x00003336 strd r2, r2, [sp, 0x30]                       |     __asm ("strd r2, r2, [sp, 0x30]");
    0x0000333a b.w 0x2a64                                    |     goto label_40;
                                                             | label_122:
    0x0000333e movw r5, 0xb7b4                               |     
    0x00003342 movt r5, 0x7f2b                               |     r5 = 0x7f2bb7b4;
    0x00003346 b.w 0x26bc                                    |     goto label_41;
                                                             | label_123:
    0x000033cc mov r0, r6                                    |     r0 = r6;
    0x000033ce blx 0x1ab4                                    |     blkid_probe_lookup_value ();
    0x000033d0 sbcs.w r1, r2, r4, asr 30                     |     __asm ("sbcs.w r1, r2, r4, asr 30");
    0x000033d4 lsls r0, r4, 8                                |     r0 = r4 << 8;
    0x000033d6 lsl.w r3, r1, r4                              |     r3 = r1 << r4;
    0x000033da lsl.w r2, r0, r2                              |     r2 = r0 << r2;
    0x000033de ldr.w r1, [sb]                                |     r1 = *(sb);
    0x000033e2 mov.w lr, 1                                   |     lr = 1;
    0x000033e4 lsrs r1, r0, 0x18                             |     r1 = r0 >> 0x18;
    0x000033e6 ldr r6, [sp, 0x5c]                            |     r6 = *(arg_5ch);
    0x000033e8 orrs r3, r2                                   |     r3 |= r2;
    0x000033ea rsb.w r2, r4, 0x20                            |     r2 = 0x20 - r4;
    0x000033ee lsr.w r2, r0, r2                              |     r2 = r0 >> r2;
    0x000033f2 sub.w sb, r4, 3                               |     sb = r4 - 3;
    0x000033f6 vldr d16, [pc, 0x330]                         |     __asm ("vldr d16, [0x0000372c]");
    0x000033f8 lsrs r4, r1, 0xf                              |     r4 = r1 >> 0xf;
    0x000033fa lsls r0, r4                                   |     r0 <<= r4;
    0x000033fc orrs r3, r2                                   |     r3 |= r2;
    0x000033fe ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00003402 str.w r4, [r8, 0x3c]                          |     __asm ("str.w r4, [r8, 0x3c]");
    0x00003406 str.w r0, [r8, 1]                             |     __asm ("str.w r0, [r8, 1]");
    0x0000340a movs r0, r0                                   |     
    0x0000340c str.w r2, [sb, 0x38]                          |     __asm ("str.w r2, [sb, 0x38]");
    0x00003410 str r2, [sp, 0x18]                            |     *(arg_18h) = r2;
    0x00003412 lsl.w r2, lr, sb                              |     r2 = lr << sb;
    0x00003414 b.w 0xe0ca34                                  |     void (*0xe0ca34)() ();
    0x00003416 str r3, [sp, 0x38]                            |     *(stream) = r3;
    0x00003418 str.w r2, [r8, 0x44]                          |     __asm ("str.w r2, [r8, 0x44]");
    0x0000341c vstr d16, [r1]                                |     __asm ("vstr d16, [r1]");
    0x00003420 mov r1, r3                                    |     r1 = r3;
    0x00003422 str r0, [sp, 0x2c]                            |     *(arg_2ch) = r0;
    0x00003424 blx 0x1acc                                    |     ext2fs_close_free ();
    0x00003426 adcs.w sb, r2, r6, lsl 27                     |     __asm ("adcs.w sb, r2, r6, lsl 27");
    0x0000342a lsls r6, r0, 4                                |     r6 = r0 << 4;
    0x0000342c mov r3, r6                                    |     r3 = r6;
    0x0000342e ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00003430 str r3, [sp, 0x24]                            |     *(arg_24h) = r3;
    0x00003432 rsbs r2, r1, 0                                |     r2 = r1 - ;
    0x00003434 sbc.w r6, r6, r6                              |     __asm ("sbc.w r6, r6, r6");
    0x00003438 str r2, [sp, 0x34]                            |     *(arg_34h) = r2;
    0x0000343a mov r0, r6                                    |     r0 = r6;
    0x0000343c adds.w r6, r1, 0x47                           |     r6 = r1 + 0x47;
    0x0000343e lsls r7, r0, 0x19                             |     r7 = r0 << 0x19;
    0x00003440 adc r1, r5, 0                                 |     __asm ("adc r1, r5, 0");
    0x00003444 ands r6, r2                                   |     r6 &= r2;
    0x00003446 and.w fp, r1, r0                              |     
    0x0000344a rev r1, r4                                    |     r4 = SWAP32 (r1);
    0x0000344c str r1, [r3, 0x14]                            |     *((r3 + 0x14)) = r1;
    0x0000344e mov r1, fp                                    |     r1 = fp;
    0x00003450 str r0, [sp, 0x30]                            |     *(arg_30h) = r0;
    0x00003452 mov r0, r6                                    |     r0 = r6;
    0x00003454 blx 0x1acc                                    |     ext2fs_close_free ();
    0x00003458 ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x0000345a mov.w lr, 1                                   |     lr = 1;
    0x0000345e ldr r2, [sp, 0x2c]                            |     r2 = *(arg_2ch);
    0x00003460 strd r0, r1, [r3, 0x28]                       |     __asm ("strd r0, r1, [r3, 0x28]");
    0x00003464 add.w r1, sb, r4                              |     r1 = sb + r4;
    0x00003468 sub.w r0, r1, 0x20                            |     r0 = r1 - 0x20;
    0x0000346c rsb.w ip, r1, 0x20                            |     
    0x00003470 lsl.w r0, lr, r0                              |     r0 = lr << r0;
    0x00003474 lsr.w ip, lr, ip                              |     
    0x00003478 ldr r3, [sp, 0x38]                            |     r3 = *(stream);
    0x0000347a orr.w ip, r0, ip                              |     
    0x0000347e lsl.w r0, lr, r1                              |     r0 = lr << r1;
    0x00003482 strd r6, fp, [r8, 0x58]                       |     __asm ("strd r6, fp, [r8, 0x58]");
    0x00003486 subs r0, 1                                    |     r0--;
    0x00003488 adc ip, ip, -1                                |     __asm ("adc ip, ip, -1");
    0x0000348c adds r0, r0, r2                               |     r0 += r2;
    0x0000348e adc.w r3, r3, ip                              |     __asm ("adc.w r3, r3, ip");
    0x00003492 lsr.w ip, r0, r1                              |     
    0x00003496 rsb.w r0, r1, 0x20                            |     r0 = 0x20 - r1;
    0x0000349a ldr r2, [sp, 0x18]                            |     r2 = *(arg_18h);
    0x0000349c lsl.w r0, r3, r0                              |     r0 = r3 << r0;
    0x000034a0 subs r1, 0x20                                 |     r1 -= 0x20;
    0x000034a2 lsr.w r1, r3, r1                              |     r1 = r3 >> r1;
    0x000034a6 orr.w ip, ip, r0                              |     
    0x000034aa ldr r0, [sp, 0x30]                            |     r0 = *(arg_30h);
    0x000034ac orr.w ip, ip, r1                              |     
    0x000034b0 subs r1, r2, 1                                |     r1 = r2 - 1;
    0x000034b2 lsl.w r3, ip, 3                               |     r3 = ip << 3;
    0x000034b6 ldr r2, [sp, 0x34]                            |     r2 = *(arg_34h);
    0x000034b8 adc r5, r5, -1                                |     __asm ("adc r5, r5, -1");
    0x000034bc adds r3, r3, r1                               |     r3 += r1;
    0x000034be rsb.w r1, r4, 0x1b                            |     r1 = 0x1b - r4;
    0x000034c2 and.w r3, r3, r2                              |     r3 &= r2;
    0x000034c6 adc r2, r5, 0                                 |     __asm ("adc r2, r5, 0");
    0x000034ca ands r2, r0                                   |     r2 &= r0;
    0x000034cc adds.w sb, r3, r6                             |     sb = r3 + r6;
    0x000034d0 adc.w r6, fp, r2                              |     __asm ("adc.w r6, fp, r2");
    0x000034d4 rsb.w r3, r4, 0x20                            |     r3 = 0x20 - r4;
    0x000034d8 lsl.w r3, r6, r3                              |     r3 = r6 << r3;
    0x000034dc lsr.w r0, sb, r4                              |     r0 = sb >> r4;
    0x000034e0 ldr r2, [pc, 0x24c]                           |     
    0x000034e2 orrs r0, r3                                   |     r0 |= r3;
    0x000034e4 sub.w r3, r4, 0x20                            |     r3 = r4 - 0x20;
    0x000034e8 lsr.w r3, r6, r3                              |     r3 = r6 >> r3;
    0x000034ec ldr.w fp, [sp, 0x18]                          |     fp = *(arg_18h);
    0x000034f0 add r2, pc                                    |     r2 = 0x6c24;
    0x000034f2 orrs r0, r3                                   |     r0 |= r3;
    0x000034f4 ldr r3, [r2, 0x10]                            |     r3 = *(0x6c34);
    0x000034f6 adds r0, r0, r3                               |     r0 += r3;
    0x000034f8 ldr r3, [r2, 0x14]                            |     r3 = *(0x6c38);
    0x000034fa lsr.w r2, r6, r4                              |     r2 = r6 >> r4;
    0x000034fe adc.w r2, r2, r3                              |     __asm ("adc.w r2, r2, r3");
    0x00003502 adds r3, r4, 5                                |     r3 = r4 + 5;
    0x00003504 lsl.w r1, r2, r1                              |     r1 = r2 << r1;
    0x00003508 lsrs r0, r3                                   |     r0 >>= r3;
    0x0000350a lsr.w r3, r2, r3                              |     r3 = r2 >> r3;
    0x0000350e subs r4, 0x1b                                 |     r4 -= 0x1b;
    0x00003510 lsr.w r4, r2, r4                              |     r4 = r2 >> r4;
    0x00003514 orrs r0, r1                                   |     r0 |= r1;
    0x00003516 ldr r1, [sp, 0x24]                            |     r1 = *(arg_24h);
    0x00003518 rev.w r2, ip                                  |     ip = SWAP32 (r2);
    0x0000351c orrs r0, r4                                   |     r0 |= r4;
    0x0000351e add.w r4, r8, 0x10                            |     r4 = r8 + 0x10;
    0x00003522 orrs r3, r0                                   |     r3 |= r0;
    0x00003524 mov.w r3, 0                                   |     r3 = 0;
    0x00003528 it eq                                         |     
                                                             |     if (r3 != r0) {
    0x0000352a moveq r0, lr                                  |         r0 = lr;
                                                             |     }
    0x0000352c str r2, [r1, 0x24]                            |     *((r1 + 0x24)) = r2;
    0x0000352e mov r1, fp                                    |     r1 = fp;
    0x00003530 mov r2, r4                                    |     r2 = r4;
    0x00003532 str.w ip, [r8, 0x40]                          |     __asm ("str.w ip, [r8, 0x40]");
    0x00003536 strd sb, r6, [r8, 0x18]                       |     __asm ("strd sb, r6, [r8, 0x18]");
    0x0000353a str.w r0, [r8, 0x28]                          |     __asm ("str.w r0, [r8, 0x28]");
    0x0000353e strd r3, r3, [r8, 0x2c]                       |     __asm ("strd r3, r3, [r8, 0x2c]");
    0x00003542 blx 0x1a48                                    |     r0 = ext2fs_image_bitmap_write ();
    0x00003546 mov r5, r0                                    |     r5 = r0;
                                                             |     if (r0 == 0) {
    0x00003548 cbz r0, 0x35a4                                |         goto label_175;
                                                             |     }
                                                             | label_59:
    0x0000354a ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x0000354c bl 0x452c                                     |     fcn_0000452c (r0);
    0x00003550 b.w 0x26bc                                    |     goto label_41;
                                                             | label_104:
    0x00003554 ldr r0, [pc, 0x1dc]                           |     
    0x00003556 add r0, pc                                    |     r0 = 0x6c8e;
    0x00003558 blx 0x1914                                    |     r0 = fcn_00001914 ();
    0x0000355c cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x0000355e bne.w 0x23e2                                  |         goto label_42;
                                                             |     }
    0x00003562 ldr r3, [pc, 0x1d4]                           |     r3 = imp.__aeabi_unwind_cpp_pr0;
    0x00003564 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00003568 ldr.w sl, [r3]                                |     sl = imp.__aeabi_unwind_cpp_pr0;
    0x0000356c b.w 0x2402                                    |     goto label_43;
                                                             | label_167:
    0x00003570 ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x00003572 mov r1, r6                                    |     r1 = r6;
    0x00003574 bl 0x44d0                                     |     r0 = fcn_000044d0 (r0);
    0x00003578 mov r2, r0                                    |     r2 = r0;
    0x0000357a mov r3, r1                                    |     r3 = r1;
    0x0000357c b 0x313c                                      |     goto label_44;
                                                             | label_68:
    0x0000357e bl 0x4290                                     |     fcn_00004290 (r0);
                                                             | label_118:
    0x00003582 ldrb.w r3, [fp, 0x420]                        |     r3 = *(arg_420h);
    0x00003586 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00003588 beq.w 0x2514                                  |         goto label_7;
                                                             |     }
    0x0000358c b.w 0x25ca                                    |     goto label_45;
                                                             | label_129:
    0x00003590 ldr.w r3, [r8]                                |     r3 = *(r8);
    0x00003594 str.w r3, [r4, 0xf0]                          |     __asm ("str.w r3, [r4, 0xf0]");
    0x00003598 ldr.w r3, [r8, 0xc]                           |     r3 = *((r8 + 0xc));
    0x0000359c str.w r3, [r4, 0xf4]                          |     __asm ("str.w r3, [r4, 0xf4]");
    0x000035a0 b.w 0x285c                                    |     goto label_46;
                                                             | label_175:
    0x000035a4 mov r0, fp                                    |     r0 = fp;
    0x000035a6 add.w r1, r8, 0x34                            |     r1 = r8 + 0x34;
    0x000035aa blx 0x1c58                                    |     r0 = ext2fs_bg_flags_test ();
    0x000035ae mov r5, r0                                    |     r5 = r0;
    0x000035b0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000035b2 bne.w 0x3c3c                                  |         goto label_176;
                                                             |     }
    0x000035b4 strh r3, [r0, 0x1a]                           |     *((r0 + 0x1a)) = r3;
    0x000035b6 mov r0, sb                                    |     r0 = sb;
    0x000035b8 mov r1, r6                                    |     r1 = r6;
    0x000035ba blx 0x1acc                                    |     ext2fs_close_free ();
    0x000035be ldr.w r3, [r8, 0x3c]                          |     r3 = *((r8 + 0x3c));
    0x000035c0 adds r0, 0x3c                                 |     r0 += 0x3c;
    0x000035c2 mov fp, r0                                    |     
    0x000035c4 ldr.w r0, [r8, 0x28]                          |     r0 = *((r8 + 0x28));
    0x000035c8 mov ip, r1                                    |     
    0x000035ca ldr.w r2, [r8, 0x38]                          |     r2 = *((r8 + 0x38));
    0x000035ce ldr r4, [sp, 0x78]                            |     r4 = *(arg_78h);
    0x000035d0 lsl.w r3, r0, r3                              |     r3 = r0 << r3;
    0x000035d4 rev r0, r0                                    |     r0 = SWAP32 (r0);
    0x000035d6 ldr r4, [r4]                                  |     r4 = *(r4);
    0x000035d8 adds r3, r3, r2                               |     r3 += r2;
    0x000035da adcs r5, r5                                   |     __asm ("adcs r5, r5");
    0x000035dc adds.w r3, r3, sb                             |     r3 += sb;
    0x000035e0 adc.w r1, r6, r5                              |     __asm ("adc.w r1, r6, r5");
    0x000035e2 lsls r5, r0, 4                                |     r5 = r0 << 4;
    0x000035e4 adds r2, r2, r3                               |     r2 += r3;
    0x000035e6 str r0, [r4, 0x38]                            |     *((r4 + 0x38)) = r0;
    0x000035e8 add.w sb, sp, 0xb4                            |     sb += pid;
    0x000035ec strd fp, ip, [r4, 0x30]                       |     __asm ("strd fp, ip, [r4, 0x30]");
    0x000035f0 str.w r1, [r8, 0x54]                          |     __asm ("str.w r1, [r8, 0x54]");
    0x000035f4 adc r1, r1, 0                                 |     __asm ("adc r1, r1, 0");
    0x000035f8 str.w r2, [r8, 0x20]                          |     __asm ("str.w r2, [r8, 0x20]");
    0x000035fc mov r2, sb                                    |     r2 = sb;
    0x000035fe str.w r1, [r8, 0x24]                          |     __asm ("str.w r1, [r8, 0x24]");
    0x00003602 movs r1, 8                                    |     r1 = 8;
    0x00003604 ldr.w r0, [r8, 0x40]                          |     r0 = *((r8 + 0x40));
    0x00003608 str.w r3, [r8, 0x50]                          |     __asm ("str.w r3, [r8, 0x50]");
    0x0000360c str.w r4, [r8, 4]                             |     __asm ("str.w r4, [r8, 4]");
    0x00003610 blx 0x1a48                                    |     r0 = ext2fs_image_bitmap_write ();
    0x00003614 mov r1, r0                                    |     r1 = r0;
    0x00003616 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003618 bne.w 0x3c88                                  |         goto label_177;
                                                             |     }
    0x0000361c ldr.w r3, [sb]                                |     r3 = *(sb);
    0x00003620 mov r1, sb                                    |     r1 = sb;
    0x00003622 movs r0, 0x20                                 |     r0 = 0x20;
    0x00003624 str.w r3, [r8, 0x48]                          |     __asm ("str.w r3, [r8, 0x48]");
    0x00003628 blx 0x1c58                                    |     r0 = ext2fs_bg_flags_test ();
    0x0000362c mov r1, r0                                    |     r1 = r0;
    0x0000362e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00003630 bne.w 0x3b56                                  |         goto label_178;
                                                             |     }
    0x00003632 strh r1, [r2, 0x14]                           |     *((r2 + 0x14)) = r1;
    0x00003634 ldr.w r3, [r8, 0x40]                          |     r3 = *((r8 + 0x40));
    0x00003638 ldr.w r5, [sb]                                |     r5 = *(sb);
    0x0000363c ldrd r0, r1, [r8, 0x50]                       |     __asm ("ldrd r0, r1, [r8, 0x50]");
    0x00003640 cmp.w r3, 0x200                               |     
    0x00003644 mov r6, r3                                    |     r6 = r3;
    0x00003646 it hs                                         |     
                                                             |     if (r3 < 0x200) {
    0x00003648 movhs r6, 0x200                               |         r6 = 0x200;
                                                             |     }
    0x0000364c add.w r2, r5, 0xc                             |     r2 = r5 + 0xc;
    0x00003650 vdup.32 d16, r6                               |     __asm ("vdup.32 d16, r6");
    0x00003654 vst1.32 {d16}, [r2]                           |     __asm ("vst1.32 {d16}, [r2]");
    0x00003658 strd r0, r1, [r5, 0x18]                       |     __asm ("strd r0, r1, [r5, 0x18]");
    0x0000365a lsls r6, r0, 4                                |     r6 = r0 << 4;
                                                             |     if (r3 == 0) {
    0x0000365c cbz r3, 0x3696                                |         goto label_179;
                                                             |     }
                                                             |     do {
    0x0000365e movs r1, 1                                    |         r1 = 1;
    0x00003660 movs r0, 0x18                                 |         r0 = 0x18;
    0x00003662 blx 0x192c                                    |         r0 = fcn_0000192c ();
    0x00003666 mov r4, r0                                    |         r4 = r0;
    0x00003668 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000366a beq.w 0x3b4e                                  |             goto label_180;
                                                             |         }
    0x0000366e ldr.w r0, [r8, 0x44]                          |         r0 = *((r8 + 0x44));
                                                             |         if (r0 != 0) {
    0x00003672 cbz r0, 0x367a                                |             
    0x00003674 lsrs r3, r0, 0x1d                             |             r3 = r0 >> 0x1d;
                                                             |             if (r3 != r0) {
    0x00003676 bne.w 0x3b4e                                  |                 goto label_180;
                                                             |             }
                                                             |         }
    0x0000367a lsls r0, r0, 3                                |         r0 <<= 3;
    0x0000367c movs r1, 1                                    |         r1 = 1;
    0x0000367e blx 0x192c                                    |         r0 = fcn_0000192c ();
    0x00003682 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x00003684 beq.w 0x3b4e                                  |             goto label_180;
                                                             |         }
    0x00003688 str r0, [r4, 0x10]                            |         *((r4 + 0x10)) = r0;
    0x0000368a adds r7, 1                                    |         r7++;
    0x0000368c ldr r3, [r5, 8]                               |         r3 = *((r5 + 8));
    0x0000368e cmp r6, r7                                    |         
    0x00003690 str r3, [r4, 0x14]                            |         *((r4 + 0x14)) = r3;
    0x00003692 str r4, [r5, 8]                               |         *((r5 + 8)) = r4;
    0x00003694 bhi 0x365e                                    |         
                                                             |     } while (r6 > r7);
                                                             | label_179:
    0x00003696 str.w r5, [r8, 8]                             |     __asm ("str.w r5, [r8, 8]");
    0x0000369a movs r2, 0x48                                 |     r2 = 0x48;
    0x0000369c ldr r5, [sp, 0x50]                            |     r5 = *(arg_50h);
    0x0000369e movs r7, 0                                    |     r7 = 0;
    0x000036a0 ldr r6, [sp, 0x5c]                            |     r6 = *(arg_5ch);
    0x000036a2 ldr r3, [r5]                                  |     r3 = *(r5);
    0x000036a4 mov r0, r6                                    |     r0 = r6;
    0x000036a6 ldr r4, [r3, 0x38]                            |     r4 = *((r3 + 0x38));
    0x000036a8 ldr r1, [r3, 4]                               |     r1 = *((r3 + 4));
    0x000036aa adds.w r3, r4, 0x47                           |     r3 = r4 + 0x47;
    0x000036ae rsbs r4, r4, 0                                |     r4 -= ;
    0x000036b0 ands r3, r4                                   |     r3 &= r4;
    0x000036b2 mov r4, r5                                    |     r4 = r5;
    0x000036b4 bl 0x4640                                     |     fcn_00004640 (r0, r1, r2, r3);
    0x000036b6 vmlal.u8 q11, d4, d27                         |     __asm ("vmlal.u8 q11, d4, d27");
    0x000036ba mov r0, r6                                    |     r0 = r6;
    0x000036bc str r6, [sp, 0x5c]                            |     *(arg_5ch) = r6;
    0x000036be ldrd r5, r6, [r3, 0x20]                       |     __asm ("ldrd r5, r6, [r3, 0x20]");
    0x000036c2 mov r3, r6                                    |     r3 = r6;
    0x000036c4 mov r2, r5                                    |     r2 = r5;
    0x000036c6 bl 0x44a0                                     |     fcn_000044a0 ();
    0x000036ca ldr r1, [r4]                                  |     r1 = *(r4);
    0x000036cc mov r3, r4                                    |     r3 = r4;
    0x000036ce mov r2, r6                                    |     r2 = r6;
    0x000036d0 str.w sl, [sp, 0x18]                          |     __asm ("str.w sl, [arg_18h]");
    0x000036d4 str.w sb, [sp, 0x24]                          |     __asm ("str.w sb, [arg_24h]");
    0x000036d8 mov sl, r7                                    |     sl = r7;
    0x000036da ldr r4, [r1, 0x38]                            |     r4 = *((r1 + 0x38));
    0x000036dc mov sb, r7                                    |     sb = r7;
    0x000036de mov r8, r3                                    |     r8 = r3;
    0x000036e0 ldr r7, [sp, 0x5c]                            |     r7 = *(arg_5ch);
    0x000036e2 adds r4, r4, r5                               |     r4 += r5;
    0x000036e4 adc fp, r6, 0                                 |     __asm ("adc fp, r6, 0");
    0x000036e8 mov r6, fp                                    |     r6 = fp;
    0x000036ea mov fp, r2                                    |     
    0x000036ec b 0x3702                                      |     
                                                             |     while (r0 == 0) {
    0x000036ee ldr r0, [r1, 0x38]                            |         r0 = *((r1 + 0x38));
                                                             | label_47:
    0x000036f0 adds.w r0, sb, r0                             |         r0 = sb + r0;
    0x000036f4 adc sl, sl, 0                                 |         __asm ("adc sl, sl, 0");
    0x000036f8 cmp r5, r0                                    |         
    0x000036fa mov sb, r0                                    |         sb = r0;
    0x000036fc sbcs.w r0, fp, sl                             |         __asm ("sbcs.w r0, fp, sl");
                                                             |         if (r5 <= r0) {
    0x00003700 blo 0x378e                                    |             goto label_181;
                                                             |         }
    0x00003702 mov r2, sb                                    |         r2 = sb;
    0x00003704 mov r3, sl                                    |         r3 = sl;
    0x00003706 mov r0, r7                                    |         r0 = r7;
    0x00003708 strd r4, r6, [sp]                             |         __asm ("strd r4, r6, [sp]");
    0x0000370c bl 0x4720                                     |         fcn_00004720 (r0, r1, r2, r3);
    0x00003710 ldr.w r1, [r8]                                |         r1 = *(r8);
    0x00003714 cmp r0, 0                                     |         
    0x00003716 beq 0x36ee                                    |         
                                                             |     }
    0x00003718 ldr r0, [r1, 0x38]                            |     r0 = *((r1 + 0x38));
    0x0000371a adds r4, r0, r4                               |     r4 = r0 + r4;
    0x0000371c adc r6, r6, 0                                 |     __asm ("adc r6, r6, 0");
    0x00003720 adds r5, r0, r5                               |     r5 = r0 + r5;
    0x00003722 adc fp, fp, 0                                 |     __asm ("adc fp, fp, 0");
    0x00003726 b 0x36f0                                      |     goto label_47;
                                                             | label_169:
    0x00003740 vldr s14, [sl, 0x14]                          |     __asm ("vldr s14, [sl, 0x14]");
    0x00003744 movs r1, 1                                    |     r1 = 1;
    0x00003746 vldr s13, [pc, -0xc]                          |     __asm ("vldr s13, [0x00003740]");
    0x0000374a vmov s15, r3                                  |     __asm ("vmov s15, r3");
    0x0000374e ldr.w r2, [pc, 0x814]                         |     
    0x00003752 vcvt.f32.u32 s14, s14                         |     __asm ("vcvt.f32.u32 s14, s14");
    0x00003756 vcvt.f32.s32 s15, s15                         |     __asm ("vcvt.f32.s32 s15, s15");
    0x0000375a ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x0000375c add r2, pc                                    |     r2 = 0x76c6;
    0x0000375e vdiv.f32 s12, s13, s14                        |     __asm ("vdiv.f32 s12, s13, s14");
    0x00003762 vdiv.f32 s13, s16, s12                        |     __asm ("vdiv.f32 s13, s16, s12");
    0x00003766 vdiv.f32 s14, s13, s15                        |     __asm ("vdiv.f32 s14, s13, s15");
    0x0000376a vcvt.f64.f32 d7, s14                          |     __asm ("vcvt.f64.f32 d7, s14");
    0x0000376e vstr d7, [sp]                                 |     __asm ("vstr d7, [sp]");
    0x00003772 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00003774 blx 0x1bd4                                    |     fputc (r0, r1);
    0x00003778 b 0x3208                                      |     goto label_48;
                                                             | label_173:
    0x0000377a ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x0000377c movs r1, 1                                    |     r1 = 1;
    0x0000377e ldr.w r2, [pc, 0x7e8]                         |     
    0x00003782 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00003784 mov r3, r4                                    |     r3 = r4;
    0x00003786 add r2, pc                                    |     r2 = 0x76f4;
    0x00003788 blx 0x1bd4                                    |     fputc (r0, r1);
    0x0000378c b 0x332a                                      |     goto label_49;
                                                             | label_181:
    0x0000378e mov r7, sb                                    |     r7 = sb;
    0x00003790 mov r8, sl                                    |     r8 = sl;
    0x00003792 ldr.w sl, [sp, 0x18]                          |     sl = *(arg_18h);
    0x00003796 mov r2, r7                                    |     r2 = r7;
    0x00003798 mov r3, r8                                    |     r3 = r8;
    0x0000379a ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x0000379c ldr.w sb, [sp, 0x24]                          |     sb = *(arg_24h);
    0x000037a0 bl 0x44a0                                     |     fcn_000044a0 ();
    0x000037a4 add r3, sp, 0xa8                              |     r3 += arg_a8h;
    0x000037a6 ldr.w r0, [sl, 0x14]                          |     r0 = *((sl + 0x14));
    0x000037aa mov r1, r3                                    |     r1 = r3;
    0x000037ac str r3, [sp, 0x24]                            |     *(arg_24h) = r3;
    0x000037ae blx 0x1b74                                    |     r0 = ext2fs_rewrite_to_io ();
    0x000037b2 mov r4, r0                                    |     r4 = r0;
    0x000037b4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000037b6 bne.w 0x3ca0                                  |         goto label_182;
                                                             |     }
    0x000037b8 strh r3, [r6, 0x12]                           |     *((r6 + 0x12)) = r3;
    0x000037ba ldr.w r3, [pc, 0x7b0]                         |     
    0x000037be mov r6, r4                                    |     r6 = r4;
    0x000037c0 str.w sb, [sp, 0x3c]                          |     __asm ("str.w sb, [arg_3ch]");
    0x000037c4 mov fp, r8                                    |     
    0x000037c6 ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x000037ca mov sb, r7                                    |     sb = r7;
    0x000037cc add r3, pc                                    |     r3 = 0x773e;
    0x000037ce str r3, [sp, 0x18]                            |     *(arg_18h) = r3;
    0x000037d0 ldr.w r3, [pc, 0x79c]                         |     
    0x000037d4 add r3, pc                                    |     r3 = 0x7748;
    0x000037d6 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x000037d8 b 0x37e0                                      |     
                                                             |     while (r4 <= r3) {
                                                             | label_50:
    0x000037da adds r4, 1                                    |         r4++;
    0x000037dc adc r6, r6, 0                                 |         __asm ("adc r6, r6, 0");
    0x000037e0 blx 0x1ab4                                    |         r0 = blkid_probe_lookup_value ();
    0x000037e4 cmp r4, r0                                    |         
    0x000037e6 sbcs.w r1, r6, r1                             |         __asm ("sbcs.w r1, r6, r1");
                                                             |         if (r4 >= r0) {
    0x000037ea bhs.w 0x3a0a                                  |             goto label_183;
                                                             |         }
    0x000037ee ldr.w r0, [sl, 0x10]                          |         r0 = *((sl + 0x10));
    0x000037f2 ldr r3, [r0, 0x14]                            |         r3 = *((r0 + 0x14));
    0x000037f4 cmp r4, r3                                    |         
    0x000037f6 sbcs r3, r6, 0                                |         __asm ("sbcs r3, r6, 0");
    0x000037fa blo 0x37da                                    |         
                                                             |     }
    0x000037fc ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000037fe mov r2, r4                                    |     r2 = r4;
    0x00003800 ldr r0, [r3, 8]                               |     r0 = *((r3 + 8));
    0x00003802 mov r3, r6                                    |     r3 = r6;
    0x00003804 blx 0x18cc                                    |     r0 = fcn_000018cc ();
    0x00003808 cbnz r0, 0x3810                               |     
                                                             |     while (1) {
                                                             | label_51:
    0x0000380a ldr.w r0, [sl, 0x10]                          |         r0 = *((sl + 0x10));
    0x0000380e b 0x37da                                      |         goto label_50;
    0x00003810 movs r3, 1                                    |         r3 = 1;
    0x00003812 mov r2, r4                                    |         r2 = r4;
    0x00003814 str r3, [sp]                                  |         *(sp) = r3;
    0x00003816 ldr r3, [sp, 0x24]                            |         r3 = *(arg_24h);
    0x00003818 ldr r3, [r3]                                  |         r3 = *(r3);
    0x0000381a str r3, [sp, 4]                               |         *(arg_4h) = r3;
    0x0000381c mov r3, r6                                    |         r3 = r6;
    0x0000381e ldr.w r0, [sl, 4]                             |         r0 = *((sl + 4));
    0x00003822 blx 0x1b20                                    |         r0 = blkid_do_fullprobe ();
    0x00003826 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00003828 bne.w 0x3b74                                  |             goto label_184;
                                                             |         }
    0x0000382c ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x0000382e ldr r0, [r3, 0x18]                            |         r0 = *((r3 + 0x18));
                                                             |         if (r0 != 0) {
    0x00003830 cbz r0, 0x3840                                |             
    0x00003832 mov r2, r4                                    |             r2 = r4;
    0x00003834 mov r3, r6                                    |             r3 = r6;
    0x00003836 blx 0x18cc                                    |             r0 = fcn_000018cc ();
    0x0000383a cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x0000383c bne.w 0x3b9a                                  |                 goto label_185;
                                                             |             }
    0x0000383e strh r5, [r5, 0xc]                            |             *((r5 + 0xc)) = r5;
                                                             |         }
                                                             | label_55:
    0x00003840 ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x00003842 ldr.w r1, [sl, 0x14]                          |         r1 = *((sl + 0x14));
    0x00003846 ldrb.w r2, [r3, 0x440]                        |         r2 = *((r3 + 0x440));
    0x0000384a ldr r3, [sp, 0x24]                            |         r3 = *(arg_24h);
    0x0000384c ldr r3, [r3]                                  |         r3 = *(r3);
                                                             |         if (r2 != 0) {
    0x0000384e cbnz r2, 0x3866                               |             goto label_186;
                                                             |         }
    0x00003850 cmp r1, 0                                     |         
    0x00003852 it gt                                         |         
                                                             |         if (r1 <= 0) {
    0x00003854 addgt r1, r1, r3                              |             r1 += r3;
                                                             |         }
                                                             |         if (r1 > 0) {
    0x00003856 bgt 0x385e                                    |             goto label_187;
                                                             |         }
    0x00003858 b 0x380a                                      |         
                                                             |     }
                                                             | label_52:
    0x0000385a cmp r1, r3                                    |     
                                                             |     if (r1 == r3) {
    0x0000385c beq 0x380a                                    |         goto label_51;
                                                             |     }
                                                             | label_187:
    0x0000385e ldrb r2, [r3], 1                              |     r2 = *(r3);
                                                             |     r3++;
    0x00003862 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00003864 beq 0x385a                                    |         goto label_52;
                                                             |     }
                                                             | label_186:
    0x00003866 ldr r5, [sp, 0x50]                            |     r5 = *(arg_50h);
    0x00003868 mov r2, sb                                    |     r2 = sb;
    0x0000386a ldr r7, [sp, 0x5c]                            |     r7 = *(arg_5ch);
    0x0000386c mov r3, fp                                    |     r3 = fp;
    0x0000386e strd sb, fp, [sp]                             |     __asm ("strd sb, fp, [sp]");
    0x00003872 ldr r1, [r5]                                  |     r1 = *(r5);
    0x00003874 mov r0, r7                                    |     r0 = r7;
    0x00003876 bl 0x4720                                     |     r0 = fcn_00004720 (r0, r1, r2, r3);
                                                             |     if (r0 != 0) {
    0x0000387a cbz r0, 0x38aa                                |         
    0x0000387c ldr r3, [r5]                                  |         r3 = *(r5);
    0x0000387e mov r0, r7                                    |         r0 = r7;
    0x00003880 ldr r3, [r3, 0x38]                            |         r3 = *((r3 + 0x38));
    0x00003882 adds.w r3, r3, sb                             |         r3 += sb;
    0x00003886 adc fp, fp, 0                                 |         __asm ("adc fp, fp, 0");
    0x0000388a mov sb, r3                                    |         sb = r3;
    0x0000388c mov r2, r3                                    |         r2 = r3;
    0x0000388e mov r3, fp                                    |         r3 = fp;
    0x00003890 bl 0x44a0                                     |         fcn_000044a0 ();
    0x00003894 strd sb, fp, [sp]                             |         __asm ("strd sb, fp, [sp]");
    0x00003896 ldr r3, [sp]                                  |         r3 = *(sp);
    0x00003898 mov r2, sb                                    |         r2 = sb;
    0x0000389a ldr r1, [r5]                                  |         r1 = *(r5);
    0x0000389c mov r3, fp                                    |         r3 = fp;
    0x0000389e mov r0, r7                                    |         r0 = r7;
    0x000038a0 bl 0x4720                                     |         r0 = fcn_00004720 (r0, r1, r2, r3);
    0x000038a4 cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000038a6 bne.w 0x3cd4                                  |             goto label_188;
                                                             |         }
                                                             |     }
    0x000038aa ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x000038ac strd r4, r6, [sp]                             |     __asm ("strd r4, r6, [sp]");
    0x000038b0 ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x000038b2 ldr r1, [r3]                                  |     r1 = *(r3);
    0x000038b4 ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x000038b8 bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x000038ba invalid                                       |     
    0x000038be mov r0, r4                                    |     r0 = r4;
    0x000038c0 mov r1, r6                                    |     r1 = r6;
    0x000038c2 ldr.w r8, [r3]                                |     r8 = *(r3);
    0x000038c6 movs r3, 0                                    |     r3 = 0;
    0x000038c8 ldr.w r2, [r8, 0x38]                          |     r2 = *((r8 + 0x38));
    0x000038cc ldr.w r5, [r8, 8]                             |     r5 = *((r8 + 8));
    0x000038d0 ldr.w r7, [r8, 0x44]                          |     r7 = *((r8 + 0x44));
    0x000038d4 str r2, [sp, 0x38]                            |     *(stream) = r2;
    0x000038d6 ldr r2, [r5, 4]                               |     r2 = *((r5 + 4));
    0x000038d8 str r2, [sp, 0x2c]                            |     *(arg_2ch) = r2;
    0x000038da mov r2, r7                                    |     r2 = r7;
    0x000038dc bl 0x749c                                     |     fcn_0000749c (r0, r1, r2, r3);
    0x000038e0 subs r2, r7, 1                                |     r2 = r7 - 1;
    0x000038e2 mov r7, r0                                    |     r7 = r0;
    0x000038e4 and.w r3, r2, r4                              |     r3 = r2 & r4;
    0x000038e8 ldr r2, [sp, 0x2c]                            |     r2 = *(arg_2ch);
    0x000038ea str r3, [sp, 0x30]                            |     *(arg_30h) = r3;
                                                             |     if (r2 != 0) {
    0x000038ec cbz r2, 0x38fa                                |         
    0x000038ee ldr r2, [r2]                                  |         r2 = *(r2);
    0x000038f0 movs r3, 0                                    |         r3 = 0;
    0x000038f2 cmp r1, r3                                    |         
    0x000038f4 it eq                                         |         
                                                             |         if (r1 == r3) {
    0x000038f6 cmpeq r0, r2                                  |             __asm ("cmpeq r0, r2");
                                                             |         }
                                                             |         if (r1 == r3) {
    0x000038f8 beq 0x39dc                                    |             goto label_189;
                                                             |         }
                                                             |     }
    0x000038fa ldr r3, [r5, 0xc]                             |     r3 = *((r5 + 0xc));
    0x000038fc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000038fe beq.w 0x3b92                                  |         goto label_190;
                                                             |     }
                                                             | label_54:
    0x00003902 ldr r2, [r5, 8]                               |     r2 = *((r5 + 8));
    0x00003904 cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x00003906 beq.w 0x3cbe                                  |         goto label_191;
                                                             |     }
    0x0000390a ldr r1, [r5, 4]                               |     r1 = *((r5 + 4));
    0x0000390c ldr r3, [r2, 0x14]                            |     r3 = *((r2 + 0x14));
    0x0000390e str r3, [r5, 8]                               |     *((r5 + 8)) = r3;
    0x00003910 cmp r1, 0                                     |     
                                                             |     if (r1 == 0) {
    0x00003912 beq.w 0x3bac                                  |         goto label_192;
                                                             |     }
    0x00003916 str r2, [r1, 0x14]                            |     *((r1 + 0x14)) = r2;
                                                             | label_56:
    0x00003918 ldr r3, [sp, 0x38]                            |     r3 = *(stream);
    0x0000391a ldr.w lr, [r8, 0x48]                          |     
    0x0000391c b 0x39b0                                      |     goto label_193;
    0x0000391e ldr r0, [r5, 0x1c]                            |     r0 = *((r5 + 0x1c));
    0x00003920 adds.w ip, r3, sb                             |     
    0x00003924 ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x00003926 ldr.w r8, [r5, 0x18]                          |     r8 = *((r5 + 0x18));
    0x0000392a str r2, [r5, 4]                               |     *((r5 + 4)) = r2;
    0x0000392c ldr r1, [r3]                                  |     r1 = *(r3);
    0x0000392e ldr r3, [r2, 0x10]                            |     r3 = *((r2 + 0x10));
    0x00003930 str r3, [sp, 0x2c]                            |     *(arg_2ch) = r3;
    0x00003932 ldr r3, [r5, 0xc]                             |     r3 = *((r5 + 0xc));
    0x00003934 add.w r3, r3, -1                              |     r3 += -1;
    0x00003938 str r3, [r5, 0xc]                             |     *((r5 + 0xc)) = r3;
    0x0000393a ldr r3, [r1, 0x38]                            |     r3 = *((r1 + 0x38));
    0x0000393c str r7, [r2]                                  |     *(r2) = r7;
    0x0000393e strd r8, r0, [r2, 8]                          |     __asm ("strd r8, r0, [r2, 8]");
    0x00003942 orr r2, r0, 0x80000000                        |     r2 = r0 | 0x80000000;
    0x00003946 str.w ip, [r5, 0x18]                          |     __asm ("str.w ip, [r5, 0x18]");
    0x00003948 stm r0!, {r3, r4}                             |     *(r0!) = r3;
                                                             |     *((r0! + 4)) = r4;
    0x0000394a adc ip, fp, 0                                 |     __asm ("adc ip, arg_2b4h");
    0x0000394e str.w ip, [r5, 0x1c]                          |     __asm ("str.w ip, [r5, 0x1c]");
    0x00003952 adds.w r5, sb, r3                             |     r5 = sb + r3;
    0x00003954 lsls r3, r0, 0x14                             |     r3 = r0 << 0x14;
    0x00003956 rev.w r0, r8                                  |     r8 = SWAP32 (r0);
    0x0000395a orr ip, fp, 0x80000000                        |     
    0x0000395e adc r8, fp, 0                                 |     __asm ("adc r8, arg_2b4h");
    0x00003962 add.w fp, lr, r7, lsl 3                       |     
    0x00003966 lsls r7, r7, 3                                |     r7 <<= 3;
    0x00003968 rev r2, r2                                    |     r2 = SWAP32 (r2);
    0x0000396a rev.w ip, ip                                  |     ip = SWAPundefined (ip);
    0x0000396c stc2 p8, c15, [ip], {0x4e}                    |     __asm ("stc2 p8, c15, [ip], {0x4e}");
    0x00003970 movs r0, 7                                    |     r0 = 7;
    0x00003972 adds r3, r3, r5                               |     r3 += r5;
    0x00003974 str.w r0, [fp, 4]                             |     __asm ("str.w r0, [arg_bp_4h]");
    0x00003978 rev.w sb, sb                                  |     sb = SWAP32 (sb);
    0x0000397c ldrd r2, r0, [sp, 0x2c]                       |     __asm ("ldrd r2, r0, [arg_2ch]");
    0x00003980 ldr r7, [sp, 0x5c]                            |     r7 = *(arg_5ch);
    0x00003982 str.w ip, [r2, r0, lsl 3]                     |     __asm ("str.w ip, [r2, r0, lsl 3]");
    0x00003986 add.w r2, r2, r0, lsl 3                       |     r2 += (r0 << 3);
    0x0000398a mov r0, r7                                    |     r0 = r7;
    0x0000398c str.w sb, [r2, 4]                             |     __asm ("str.w sb, [r2, 4]");
    0x00003990 mov r2, r5                                    |     r2 = r5;
    0x00003992 str r3, [sp]                                  |     *(sp) = r3;
    0x00003994 adc r3, r8, 0                                 |     __asm ("adc r3, r8, 0");
    0x00003998 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x0000399a mov r3, r8                                    |     r3 = r8;
    0x0000399c bl 0x4720                                     |     r0 = fcn_00004720 (r0, r1, r2, r3);
                                                             |     if (r0 != 0) {
    0x000039a0 cbz r0, 0x39c2                                |         
    0x000039a2 ldr r3, [sp, 0x50]                            |         r3 = *(arg_50h);
    0x000039a4 mov r0, r7                                    |         r0 = r7;
    0x000039a6 ldr r1, [r3]                                  |         r1 = *(r3);
    0x000039a8 ldr r3, [r1, 0x38]                            |         r3 = *((r1 + 0x38));
    0x000039aa adds r5, r3, r5                               |         r5 = r3 + r5;
    0x000039ac adc r3, r8, 0                                 |         __asm ("adc r3, r8, 0");
                                                             | label_193:
    0x000039b0 mov r2, r5                                    |         r2 = r5;
    0x000039b2 strd r5, r3, [sp]                             |         __asm ("strd r5, r3, [sp]");
    0x000039b6 mov r8, r3                                    |         r8 = r3;
    0x000039b8 bl 0x4720                                     |         r0 = fcn_00004720 (r0, r1, r2, r3);
    0x000039bc cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x000039be bne.w 0x3e4a                                  |             goto label_194;
                                                             |         }
                                                             |     }
    0x000039c2 ldr r3, [sp, 0x50]                            |     r3 = *(arg_50h);
    0x000039c4 ldr r0, [sp, 0x5c]                            |     r0 = *(arg_5ch);
    0x000039c6 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000039c8 ldr r3, [r3, 0x38]                            |     r3 = *((r3 + 0x38));
    0x000039ca adds.w sb, r3, r5                             |     sb = r3 + r5;
    0x000039ce adc fp, r8, 0                                 |     __asm ("adc fp, r8, 0");
    0x000039d2 mov r2, sb                                    |     r2 = sb;
    0x000039d4 mov r3, fp                                    |     r3 = fp;
    0x000039d6 bl 0x44a0                                     |     fcn_000044a0 ();
    0x000039da b 0x380a                                      |     goto label_51;
                                                             | label_189:
    0x000039dc ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x000039de rev.w r1, sb                                  |     sb = SWAP32 (r1);
    0x000039e2 ldr r0, [sp, 0x30]                            |     r0 = *(arg_30h);
    0x000039e4 ldr r2, [r3, 0x10]                            |     r2 = *((r3 + 0x10));
    0x000039e6 ldr.w r3, [r8, 0x38]                          |     r3 = *((r8 + 0x38));
    0x000039ea adds.w r3, r3, sb                             |     r3 += sb;
    0x000039ee mov sb, r3                                    |     sb = r3;
    0x000039f0 orr r3, fp, 0x80000000                        |     r3 = fp | 0x80000000;
    0x000039f4 rev r3, r3                                    |     r3 = SWAP32 (r3);
    0x000039f6 adc fp, fp, 0                                 |     __asm ("adc fp, fp, 0");
    0x000039fa str.w r3, [r2, r0, lsl 3]                     |     __asm ("str.w r3, [r2, r0, lsl 3]");
    0x000039fe add.w r2, r2, r0, lsl 3                       |     r2 += (r0 << 3);
    0x00003a02 ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x00003a06 str r1, [r2, 4]                               |     *((r2 + 4)) = r1;
    0x00003a08 b 0x37da                                      |     goto label_50;
                                                             | label_183:
    0x00003a0a mov r7, sb                                    |     r7 = sb;
    0x00003a0c ldr r6, [sp, 0x50]                            |     r6 = *(arg_50h);
    0x00003a0e mov r2, r7                                    |     r2 = r7;
    0x00003a10 str r7, [sp]                                  |     *(sp) = r7;
    0x00003a12 ldr r7, [sp, 0x5c]                            |     r7 = *(arg_5ch);
    0x00003a14 mov r3, fp                                    |     r3 = fp;
    0x00003a16 str.w fp, [sp, 4]                             |     __asm ("str.w fp, [arg_4h]");
    0x00003a1a ldr r1, [r6]                                  |     r1 = *(r6);
    0x00003a1c mov r0, r7                                    |     r0 = r7;
    0x00003a1e ldr.w sb, [sp, 0x3c]                          |     sb = *(arg_3ch);
    0x00003a22 bl 0x4720                                     |     fcn_00004720 (r0, r1, r2, r3);
    0x00003a26 ldr r0, [r6]                                  |     r0 = *(r6);
    0x00003a28 bl 0x47bc                                     |     fcn_000047bc (r0, r1, r2);
    0x00003a2c ldr r4, [r6]                                  |     r4 = *(r6);
    0x00003a2e vmov.i8 d8, 0xff                              |     __asm ("vmov.i8 d8, 0xff");
    0x00003a32 ldr r3, [r4, 0x2c]                            |     r3 = *((r4 + 0x2c));
    0x00003a34 ldr r5, [r4, 0x10]                            |     r5 = *((r4 + 0x10));
    0x00003a36 ldrd r0, r1, [r4, 0x20]                       |     __asm ("ldrd r0, r1, [r4, 0x20]");
    0x00003a3a add.w r5, r5, r3, lsl 3                       |     r5 += (r3 << 3);
    0x00003a3e blx 0x1acc                                    |     ext2fs_close_free ();
    0x00003a42 strd r0, r1, [r5]                             |     __asm ("strd r0, r1, [r5]");
    0x00003a46 mov r0, r7                                    |     r0 = r7;
    0x00003a48 ldrd r2, r3, [r4, 0x18]                       |     __asm ("ldrd r2, r3, [r4, 0x18]");
    0x00003a4c bl 0x44a0                                     |     fcn_000044a0 ();
    0x00003a50 ldr r3, [r4, 0x3c]                            |     r3 = *((r4 + 0x3c));
    0x00003a52 mov r0, r7                                    |     r0 = r7;
    0x00003a54 ldr r2, [r4, 0x28]                            |     r2 = *((r4 + 0x28));
    0x00003a56 vstr d8, [sp]                                 |     __asm ("vstr d8, [sp]");
    0x00003a5a ldr r1, [r4, 0x10]                            |     r1 = *((r4 + 0x10));
    0x00003a5c lsls r2, r3                                   |     r2 <<= r3;
    0x00003a5e bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00003a62 ldrd r2, r3, [r4, 0x20]                       |     __asm ("ldrd r2, r3, [r4, 0x20]");
    0x00003a66 mov r0, r7                                    |     r0 = r7;
    0x00003a68 bl 0x44a0                                     |     fcn_000044a0 ();
    0x00003a6c mov r0, r7                                    |     r0 = r7;
    0x00003a6e vstr d8, [sp]                                 |     __asm ("vstr d8, [sp]");
    0x00003a72 ldrd r1, r2, [r4, 0x34]                       |     __asm ("ldrd r1, r2, [r4, 0x34]");
    0x00003a76 bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00003a7a ldr r3, [r6]                                  |     r3 = *(r6);
    0x00003a7c mov r0, r7                                    |     r0 = r7;
    0x00003a7e ldrd r2, r3, [r3, 0x58]                       |     __asm ("ldrd r2, r3, [r3, 0x58]");
    0x00003a82 bl 0x44a0                                     |     fcn_000044a0 ();
    0x00003a86 ldr r3, [r6]                                  |     r3 = *(r6);
    0x00003a88 mov r0, r7                                    |     r0 = r7;
    0x00003a8a ldr r2, [r3, 0x40]                            |     r2 = *((r3 + 0x40));
    0x00003a8c vstr d8, [sp]                                 |     __asm ("vstr d8, [sp]");
    0x00003a90 ldr r1, [r3, 0x48]                            |     r1 = *((r3 + 0x48));
    0x00003a92 lsls r2, r2, 3                                |     r2 <<= 3;
    0x00003a94 bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00003a98 ldr r0, [sp, 0x24]                            |     r0 = *(arg_24h);
    0x00003a9a bl 0x452c                                     |     fcn_0000452c (r0);
    0x00003a9c stc2l p8, c6, [r7, -0xd0]                     |     __asm ("stc2l p8, c6, [r7, -0xd0]");
    0x00003aa0 ldr r3, [sp, 0x78]                            |     r3 = *(arg_78h);
    0x00003aa2 str r4, [r3]                                  |     *(r3) = r4;
    0x00003aa4 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00003aa6 beq 0x3b2a                                    |         goto label_195;
                                                             |     }
    0x00003aa8 ldr r3, [r4, 4]                               |     r3 = *((r4 + 4));
                                                             |     if (r3 != 0) {
    0x00003aaa cbz r3, 0x3ab2                                |         
    0x00003aac adds r0, r4, 4                                |         r0 = r4 + 4;
    0x00003aae bl 0x452c                                     |         fcn_0000452c (r0);
                                                             |     }
    0x00003ab2 ldr r3, [r4, 0x48]                            |     r3 = *((r4 + 0x48));
                                                             |     if (r3 != 0) {
    0x00003ab4 cbz r3, 0x3abe                                |         
    0x00003ab6 add.w r0, r4, 0x48                            |         r0 = r4 + 0x48;
    0x00003aba bl 0x452c                                     |         fcn_0000452c (r0);
                                                             |     }
    0x00003abe ldr r3, [r4, 0x10]                            |     r3 = *((r4 + 0x10));
                                                             |     if (r3 != 0) {
    0x00003ac0 cbz r3, 0x3aca                                |         
    0x00003ac2 add.w r0, r4, 0x10                            |         r0 = r4 + 0x10;
    0x00003ac6 bl 0x452c                                     |         fcn_0000452c (r0);
                                                             |     }
    0x00003aca ldr r3, [r4, 0x34]                            |     r3 = *((r4 + 0x34));
                                                             |     if (r3 != 0) {
    0x00003acc cbz r3, 0x3ad6                                |         
    0x00003ace add.w r0, r4, 0x34                            |         r0 = r4 + 0x34;
    0x00003ad2 bl 0x452c                                     |         fcn_0000452c (r0);
                                                             |     }
    0x00003ad6 ldr r4, [r4, 8]                               |     r4 = *((r4 + 8));
    0x00003ad8 str.w r4, [sb]                                |     __asm ("str.w r4, [sb]");
                                                             |     if (r4 == 0) {
    0x00003adc cbz r4, 0x3b24                                |         goto label_196;
                                                             |     }
    0x00003ade ldr.w r5, [pc, 0x494]                         |     
    0x00003ae2 movs r3, 0                                    |     r3 = 0;
    0x00003ae4 ldr r6, [r4, 8]                               |     r6 = *((r4 + 8));
    0x00003ae6 str r3, [r4, 8]                               |     *((r4 + 8)) = r3;
    0x00003ae8 add r5, pc                                    |     r5 = 0x7a62;
                                                             |     if (r6 == 0) {
                                                             | label_53:
    0x00003aea cbz r6, 0x3b00                                |         goto label_197;
                                                             |     }
                                                             |     do {
    0x00003aec ldr r7, [r6, 0x14]                            |         r7 = *((r6 + 0x14));
    0x00003aee ldr r0, [r6, 0x10]                            |         r0 = *((r6 + 0x10));
    0x00003af0 blx 0x19d0                                    |         read (r0, r1, r2);
    0x00003af4 mov r0, r6                                    |         r0 = r6;
    0x00003af6 mov r6, r7                                    |         r6 = r7;
    0x00003af8 blx 0x19d0                                    |         read (r0, r1, r2);
    0x00003afc cmp r6, 0                                     |         
    0x00003afe bne 0x3aec                                    |         
                                                             |     } while (r6 != 0);
                                                             | label_197:
    0x00003b00 ldrd r2, r3, [r4, 0xc]                        |     __asm ("ldrd r2, r3, [r4, 0xc]");
    0x00003b04 cmp r2, r3                                    |     
                                                             |     if (r2 != r3) {
    0x00003b06 beq 0x3b1e                                    |         
    0x00003b08 ldr r3, [sp, 0x20]                            |         r3 = *(arg_20h);
    0x00003b0a movs r2, 0x77                                 |         r2 = 0x77;
    0x00003b0c movs r1, 1                                    |         r1 = 1;
    0x00003b0e mov r0, r5                                    |         r0 = r5;
    0x00003b10 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00003b12 blx 0x1b5c                                    |         time (r0);
    0x00003b14 invalid                                       |         
    0x00003b16 movs r3, 0                                    |         r3 = 0;
    0x00003b18 ldr r6, [r4]                                  |         r6 = *(r4);
    0x00003b1a str r3, [r4]                                  |         *(r4) = r3;
    0x00003b1c b 0x3aea                                      |         goto label_53;
                                                             |     }
    0x00003b1e mov r0, sb                                    |     r0 = sb;
    0x00003b20 bl 0x452c                                     |     fcn_0000452c (r0);
                                                             | label_196:
    0x00003b24 ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x00003b26 bl 0x452c                                     |     fcn_0000452c (r0);
                                                             | label_195:
    0x00003b2a ldr r0, [sp, 0x58]                            |     r0 = *(arg_58h);
    0x00003b2c bl 0x452c                                     |     fcn_0000452c (r0);
    0x00003b30 ldr.w r4, [pc, 0x444]                         |     
    0x00003b34 ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x00003b36 add r4, pc                                    |     r4 = 0x7ab2;
    0x00003b38 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00003b3a blx 0x1c88                                    |     sprintf_chk ()
    0x00003b3e ldr r0, [r4, 8]                               |     r0 = *(0x7aba);
    0x00003b40 blx 0x1a3c                                    |     ext2fs_get_arrayzero ();
    0x00003b44 ldr r0, [r4, 0x18]                            |     r0 = *(0x7aca);
    0x00003b46 blx 0x1a3c                                    |     ext2fs_get_arrayzero ();
    0x00003b4a b.w 0x2882                                    |     goto label_34;
                                                             | label_180:
    0x00003b4e movw r1, 0xb746                               |     
    0x00003b52 movt r1, 0x7f2b                               |     r1 = 0x7f2bb746;
                                                             | label_178:
    0x00003b56 ldr.w r0, [pc, 0x424]                         |     
    0x00003b5a ldr.w r3, [pc, 0x424]                         |     
    0x00003b5e ldr.w r2, [pc, 0x424]                         |     
    0x00003b62 add r0, pc                                    |     
    0x00003b64 ldr r0, [r0]                                  |     r0 = *(0x7ae4);
    0x00003b66 add r3, pc                                    |     r3 = 0x7aec;
    0x00003b68 add r2, pc                                    |     r2 = 0x7af2;
    0x00003b6a blx 0x1960                                    |     fcn_00001960 ();
    0x00003b6e movs r0, 1                                    |     r0 = 1;
    0x00003b70 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_184:
    0x00003b74 ldr.w r3, [pc, 0x410]                         |     
    0x00003b78 mov r1, r0                                    |     r1 = r0;
    0x00003b7a ldr.w r2, [pc, 0x410]                         |     
    0x00003b7e strd r4, r6, [sp]                             |     __asm ("strd r4, r6, [sp]");
    0x00003b82 add r3, pc                                    |     r3 = 0x7b0e;
    0x00003b84 ldr r0, [r3]                                  |     r0 = *(0x7b0e);
    0x00003b86 add r2, pc                                    |     r2 = 0x7b18;
    0x00003b88 blx 0x1960                                    |     fcn_00001960 ();
    0x00003b8c ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x00003b90 b 0x37da                                      |     goto label_50;
                                                             | label_190:
    0x00003b92 mov r0, r8                                    |     r0 = r8;
    0x00003b94 bl 0x47bc                                     |     fcn_000047bc (r0, r1, r2);
    0x00003b98 b 0x3902                                      |     goto label_54;
                                                             | label_185:
    0x00003b9a ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
    0x00003b9c mov r2, r4                                    |     r2 = r4;
    0x00003b9e mov r0, sl                                    |     r0 = sl;
    0x00003ba0 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003ba2 str r3, [sp]                                  |     *(sp) = r3;
    0x00003ba4 mov r3, r6                                    |     r3 = r6;
    0x00003ba6 bl 0x4348                                     |     fcn_00004348 (r0, r1, r2, r3);
    0x00003baa b 0x3840                                      |     goto label_55;
                                                             | label_192:
    0x00003bac str r2, [r5]                                  |     *(r5) = r2;
    0x00003bae b 0x3918                                      |     goto label_56;
                                                             | label_137:
    0x00003bb0 subs r0, r2, r0                               |     r0 = r2 - r0;
    0x00003bb2 ldr.w r2, [sl, 0x14]                          |     r2 = *((sl + 0x14));
    0x00003bb6 sbc.w r1, r1, r3                              |     __asm ("sbc.w r1, r1, r3");
    0x00003bba movs r3, 0                                    |     r3 = 0;
    0x00003bbc bl 0x749c                                     |     r0 = fcn_0000749c (r0, r1, r2, r3);
    0x00003bc0 mov r5, r0                                    |     r5 = r0;
    0x00003bc2 ldr.w r0, [sl, 0x10]                          |     r0 = *((sl + 0x10));
    0x00003bc6 mov r4, r1                                    |     r4 = r1;
    0x00003bc8 blx 0x1ab4                                    |     r0 = blkid_probe_lookup_value ();
    0x00003bcc cmp r5, r0                                    |     
    0x00003bce strd r5, r4, [sp, 0x30]                       |     __asm ("strd r5, r4, [sp, 0x30]");
    0x00003bd2 sbcs.w r1, r4, r1                             |     __asm ("sbcs.w r1, r4, r1");
                                                             |     if (r5 <= r0) {
    0x00003bd6 blo 0x3c44                                    |         goto label_198;
                                                             |     }
    0x00003bd8 movs r3, 0                                    |     r3 = 0;
    0x00003bda strd r3, r3, [sp, 0x40]                       |     __asm ("strd r3, r3, [sp, 0x40]");
                                                             | label_60:
    0x00003bde ldr r3, [pc, 0x3b0]                           |     
    0x00003be0 add r3, pc                                    |     r3 = 0x7b76;
    0x00003be2 ldrb.w r3, [r3, 0x439]                        |     r3 = *((r3 + 0x439));
    0x00003be6 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00003be8 beq.w 0x2a64                                  |         goto label_40;
                                                             |     }
    0x00003bec b.w 0x2a5a                                    |     goto label_57;
                                                             | label_168:
    0x00003bf0 ldr r4, [sp, 0x5c]                            |     r4 = *(arg_5ch);
    0x00003bf2 mov.w r1, -1                                  |     r1 = -1;
    0x00003bf6 mov r0, r4                                    |     r0 = r4;
    0x00003bf8 bl 0x44d0                                     |     fcn_000044d0 (r0);
    0x00003bfc ldr r3, [sp, 0x78]                            |     r3 = *(arg_78h);
    0x00003bfe mov r0, r4                                    |     r0 = r4;
    0x00003c00 vmov.i8 d16, 0xff                             |     __asm ("vmov.i8 d16, 0xff");
    0x00003c04 movs r2, 1                                    |     r2 = 1;
    0x00003c06 vstr d16, [sp]                                |     __asm ("vstr d16, [sp]");
    0x00003c0a ldr r1, [r3]                                  |     r1 = *(r3);
    0x00003c0c bl 0x453c                                     |     fcn_0000453c (r0, r1, r2, r3);
    0x00003c10 b.w 0x3148                                    |     goto label_58;
                                                             | label_174:
    0x00003c14 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003c16 movs r1, 1                                    |     r1 = 1;
    0x00003c18 ldr r2, [pc, 0x378]                           |     
    0x00003c1a ldr r0, [r3]                                  |     r0 = *(r3);
    0x00003c1c mov r3, r4                                    |     r3 = r4;
    0x00003c1e add r2, pc                                    |     r2 = 0x7bb6;
    0x00003c20 blx 0x1bd4                                    |     fputc (r0, r1);
    0x00003c24 b.w 0x332a                                    |     goto label_49;
                                                             | label_172:
    0x00003c28 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003c2a movs r1, 1                                    |     r1 = 1;
    0x00003c2c ldr r2, [pc, 0x368]                           |     
    0x00003c2e ldr r0, [r3]                                  |     r0 = *(r3);
    0x00003c30 mov r3, r4                                    |     r3 = r4;
    0x00003c32 add r2, pc                                    |     r2 = 0x7bce;
    0x00003c34 blx 0x1bd4                                    |     fputc (r0, r1);
    0x00003c36 invalid                                       |     
                                                             |     if (r7 == 0) {
    0x00003c3a cbnz r7, 0x3c9a                               |         
                                                             | label_176:
    0x00003c3c mov r0, r4                                    |         r0 = r4;
    0x00003c3e bl 0x452c                                     |         fcn_0000452c (r0);
    0x00003c42 b 0x354a                                      |         goto label_59;
                                                             | label_198:
    0x00003c44 ldr.w r0, [sl, 0x10]                          |         r0 = *((sl + 0x10));
    0x00003c48 blx 0x1ab4                                    |         blkid_probe_lookup_value ();
    0x00003c4c ldr r3, [sp, 0x30]                            |         r3 = *(arg_30h);
    0x00003c4e subs r3, r0, r3                               |         r3 = r0 - r3;
    0x00003c50 str r3, [sp, 0x40]                            |         *(arg_40h) = r3;
    0x00003c52 ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x00003c54 sbc.w r3, r1, r3                              |         __asm ("sbc.w r3, r1, r3");
    0x00003c58 str r3, [sp, 0x44]                            |         *(arg_44h) = r3;
    0x00003c5a b 0x3bde                                      |         goto label_60;
                                                             | label_161:
    0x00003c5c ldr r0, [pc, 0x33c]                           |         
    0x00003c5e add r0, pc                                    |         r0 = 0x7bfe;
    0x00003c60 blx 0x1978                                    |         fcn_00001978 ();
    0x00003c64 movs r0, 1                                    |         r0 = 1;
    0x00003c66 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
                                                             | label_113:
    0x00003c6a ldr r4, [pc, 0x334]                           |         
    0x00003c6c ldr r3, [pc, 0x334]                           |         
    0x00003c6e ldr r2, [pc, 0x338]                           |         
    0x00003c70 add r4, pc                                    |         r4 = 0x7c16;
    0x00003c72 add r3, pc                                    |         r3 = 0x7c1a;
    0x00003c74 add r2, pc                                    |         r2 = 0x7c22;
    0x00003c76 b.w 0x2620                                    |         goto label_61;
                                                             | label_67:
    0x00003c78 pop {r0, r1, r4, r6, r7}                      |         
                                                             | label_162:
    0x00003c7a ldr r0, [pc, 0x330]                           |         
    0x00003c7c add r0, pc                                    |         r0 = 0x7c2e;
    0x00003c7e blx 0x1978                                    |         fcn_00001978 ();
    0x00003c82 movs r0, 1                                    |         r0 = 1;
    0x00003c84 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
                                                             | label_177:
    0x00003c88 ldr r0, [pc, 0x324]                           |         
    0x00003c8a ldr r3, [pc, 0x328]                           |         
    0x00003c8c ldr r2, [pc, 0x328]                           |         
    0x00003c8e add r0, pc                                    |         
    0x00003c90 ldr r0, [r0]                                  |         r0 = *(0x7c42);
    0x00003c92 add r3, pc                                    |         r3 = "Image (%s) is encrypted\n";
    0x00003c94 add r2, pc                                    |         r2 = 0x7c50;
    0x00003c96 blx 0x1960                                    |         fcn_00001960 ();
                                                             |     }
    0x00003c9a movs r0, 1                                    |     r0 = 1;
    0x00003c9c blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_182:
    0x00003ca0 ldr r0, [pc, 0x318]                           |     
    0x00003ca2 ldr r3, [pc, 0x31c]                           |     
    0x00003ca4 ldr r2, [pc, 0x31c]                           |     
    0x00003ca6 add r0, pc                                    |     r0 = 0x7c66;
    0x00003ca8 add r3, pc                                    |     r3 = 0x7c6e;
    0x00003caa add r2, pc                                    |     r2 = 0x7c72;
                                                             |     do {
                                                             | label_63:
    0x00003cac ldr r0, [r0]                                  |         r0 = *(r0);
    0x00003cae mov r1, r4                                    |         r1 = r4;
    0x00003cb0 blx 0x1960                                    |         fcn_00001960 ();
    0x00003cb4 movs r0, 1                                    |         r0 = 1;
    0x00003cb6 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
                                                             | label_132:
    0x00003cba blx 0x1bc8                                    |         fprintf_chk ();
                                                             | label_191:
    0x00003cbe ldr r3, [pc, 0x308]                           |         
    0x00003cc0 mov.w r2, 0x420                               |         r2 = 0x420;
    0x00003cc2 str r4, [r0, 0x28]                            |         *((r0 + 0x28)) = r4;
    0x00003cc4 ldr r1, [pc, 0x304]                           |         
    0x00003cc6 ldr r0, [pc, 0x308]                           |         
    0x00003cc8 add r3, pc                                    |         r3 = 0x7c96;
    0x00003cca add r1, pc                                    |         r1 = 0x7c9a;
    0x00003ccc adds r3, 0x10                                 |         r3 += 0x10;
    0x00003cce add r0, pc                                    |         r0 = 0x7ca4;
    0x00003cd0 blx 0x199c                                    |         fcn_0000199c ();
                                                             | label_188:
    0x00003cd4 ldr r3, [sp, 0x20]                            |         r3 = *(arg_20h);
    0x00003cd6 ldr r0, [pc, 0x2fc]                           |         
    0x00003cd8 ldr r3, [r3]                                  |         r3 = *(r3);
    0x00003cda add r0, pc                                    |         r0 = 0x7cb4;
                                                             | label_65:
    0x00003cdc movs r2, 0x40                                 |         r2 = 0x40;
    0x00003cde movs r1, 1                                    |         r1 = 1;
    0x00003ce0 blx 0x1b5c                                    |         time (r0);
    0x00003ce4 b.w 0x2628                                    |         goto label_62;
                                                             | label_128:
    0x00003ce8 ldr r0, [pc, 0x2ec]                           |         
    0x00003cea ldr r3, [pc, 0x2f0]                           |         
    0x00003cec ldr r2, [pc, 0x2f0]                           |         
    0x00003cee add r0, pc                                    |         
    0x00003cf0 ldr r0, [r0]                                  |         r0 = *(0x7cca);
    0x00003cf2 add r3, pc                                    |         r3 = 0x7cd4;
    0x00003cf4 add r2, pc                                    |         r2 = "while allocating check_buf";
    0x00003cf6 blx 0x1960                                    |         fcn_00001960 ();
    0x00003cfa b.w 0x2628                                    |         goto label_62;
                                                             | label_73:
    0x00003cfe ldr r0, [pc, 0x2e4]                           |         
    0x00003d00 ldr r3, [pc, 0x2e4]                           |         
    0x00003d02 ldr r2, [pc, 0x2e8]                           |         
    0x00003d04 add r0, pc                                    |         
    0x00003d06 ldr r1, [sp, 0x7c]                            |         r1 = *(arg_7ch);
    0x00003d08 ldr r0, [r0]                                  |         r0 = *(0x7cee);
    0x00003d0a add r3, pc                                    |         r3 = 0x7cf6;
    0x00003d0c add r2, pc                                    |         r2 = 0x7cfe;
    0x00003d0e blx 0x1960                                    |         fcn_00001960 ();
    0x00003d12 movs r0, 1                                    |         r0 = 1;
    0x00003d14 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
    0x00003d16 invalid                                       |         
                                                             | label_85:
    0x00003d18 ldr r0, [pc, 0x2d4]                           |         
    0x00003d1a movs r1, 0                                    |         r1 = 0;
    0x00003d1c ldr r3, [pc, 0x2d4]                           |         
    0x00003d1e ldr r2, [pc, 0x2d8]                           |         
    0x00003d20 add r0, pc                                    |         
    0x00003d22 ldr r0, [r0]                                  |         r0 = *(0x7d14);
    0x00003d24 add r3, pc                                    |         r3 = 0x7d1c;
    0x00003d26 add r2, pc                                    |         r2 = 0x7d24;
    0x00003d28 blx 0x1960                                    |         fcn_00001960 ();
    0x00003d2c ldr r0, [sp, 0x5c]                            |         r0 = *(arg_5ch);
    0x00003d2e blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
                                                             | label_86:
    0x00003d32 ldr r0, [pc, 0x2c8]                           |         
    0x00003d34 ldr r3, [pc, 0x2c8]                           |         
    0x00003d36 ldr r2, [pc, 0x2cc]                           |         
    0x00003d38 add r0, pc                                    |         r0 = 0x7d3a;
    0x00003d3a add r3, pc                                    |         r3 = 0x7d3e;
    0x00003d3c add r2, pc                                    |         r2 = 0x7d46;
                                                             | label_64:
    0x00003d3e ldr r0, [r0]                                  |         r0 = *(r0);
    0x00003d40 movs r1, 0                                    |         r1 = 0;
    0x00003d42 blx 0x1960                                    |         fcn_00001960 ();
    0x00003d46 movs r0, 1                                    |         r0 = 1;
    0x00003d48 blx 0x1d0c                                    |         blkid_probe_enable_partitions ();
                                                             | label_120:
    0x00003d4c ldr r0, [pc, 0x2b8]                           |         
    0x00003d4e ldr r3, [pc, 0x2bc]                           |         
    0x00003d50 ldr r2, [pc, 0x2bc]                           |         
    0x00003d52 add r0, pc                                    |         r0 = 0x7d5e;
    0x00003d54 add r3, pc                                    |         r3 = 0x7d66;
    0x00003d56 add r2, pc                                    |         r2 = 0x7d6a;
    0x00003d58 b 0x3cac                                      |         
                                                             |     } while (1);
                                                             | label_91:
    0x00003d5a ldr r4, [pc, 0x2b8]                           |     
    0x00003d5c mov r1, r0                                    |     r1 = r0;
    0x00003d5e ldr r3, [pc, 0x2b8]                           |     
    0x00003d60 ldr r2, [pc, 0x2b8]                           |     
    0x00003d62 add r4, pc                                    |     r4 = "Scanning inodes...\n";
    0x00003d64 ldr r0, [r4]                                  |     r0 = "Scanning inodes...\n";
    0x00003d66 add r3, pc                                    |     r3 = 0x7d84;
    0x00003d68 add r2, pc                                    |     r2 = 0x7d88;
    0x00003d6a blx 0x1960                                    |     fcn_00001960 ();
    0x00003d6e mov r0, r7                                    |     r0 = r7;
    0x00003d70 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_89:
    0x00003d74 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003d76 ldr r0, [pc, 0x2a8]                           |     
    0x00003d78 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003d7a add r0, pc                                    |     r0 = 0x7da0;
                                                             | label_66:
    0x00003d7c movs r2, 0x29                                 |     r2 = 0x29;
    0x00003d7e movs r1, 1                                    |     r1 = 1;
    0x00003d80 blx 0x1b5c                                    |     time (r0);
    0x00003d84 b.w 0x2628                                    |     goto label_62;
                                                             | label_111:
    0x00003d88 ldr r0, [pc, 0x298]                           |     
    0x00003d8a ldr r3, [pc, 0x29c]                           |     
    0x00003d8c ldr r2, [pc, 0x29c]                           |     
    0x00003d8e add r0, pc                                    |     r0 = 0x7db6;
    0x00003d90 add r3, pc                                    |     r3 = 0x7dbe;
    0x00003d92 add r2, pc                                    |     r2 = 0x7dc2;
    0x00003d94 b 0x3cac                                      |     goto label_63;
                                                             | label_112:
    0x00003d96 ldr r0, [pc, 0x298]                           |     
    0x00003d98 ldr r3, [pc, 0x298]                           |     
    0x00003d9a ldr r2, [pc, 0x29c]                           |     
    0x00003d9c add r0, pc                                    |     r0 = 0x7dd2;
    0x00003d9e add r3, pc                                    |     r3 = 0x7dd6;
    0x00003da0 add r2, pc                                    |     r2 = 0x7dde;
    0x00003da2 b 0x3cac                                      |     goto label_63;
                                                             | label_82:
    0x00003da4 ldr r3, [pc, 0x294]                           |     
    0x00003da6 add r3, pc                                    |     r3 = 0x7de6;
    0x00003da8 ldr r5, [r3]                                  |     r5 = *(0x7de6);
    0x00003daa blx 0x1d24                                    |     ext2fs_open_inode_scan ();
    0x00003dae ldr r2, [pc, 0x290]                           |     
    0x00003db0 mov r3, r4                                    |     r3 = r4;
    0x00003db2 ldr r1, [r0]                                  |     r1 = *(r0);
    0x00003db4 mov r0, r5                                    |     r0 = r5;
    0x00003db6 add r2, pc                                    |     r2 = 0x7dfc;
    0x00003db8 blx 0x1960                                    |     fcn_00001960 ();
    0x00003dbc movs r0, 1                                    |     r0 = 1;
    0x00003dbe blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_92:
    0x00003dc2 ldr r4, [pc, 0x280]                           |     
    0x00003dc4 ldr r3, [pc, 0x280]                           |     
    0x00003dc6 ldr r2, [pc, 0x284]                           |     
    0x00003dc8 add r4, pc                                    |     r4 = 0x7e12;
    0x00003dca add r3, pc                                    |     r3 = 0x7e16;
    0x00003dcc add r2, pc                                    |     r2 = 0x7e1e;
    0x00003dce b.w 0x2620                                    |     goto label_61;
                                                             | label_75:
    0x00003dd2 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003dd4 movs r2, 0xaf                                 |     r2 = 0xaf;
    0x00003dd6 ldr r0, [pc, 0x278]                           |     
    0x00003dd8 mov r1, r5                                    |     r1 = r5;
    0x00003dda ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003ddc add r0, pc                                    |     r0 = 0x7e32;
    0x00003dde blx 0x1b5c                                    |     time (r0);
    0x00003de2 mov r0, r5                                    |     r0 = r5;
    0x00003de4 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_76:
    0x00003de8 ldr r0, [pc, 0x268]                           |     
    0x00003dea ldr r3, [pc, 0x26c]                           |     
    0x00003dec ldr r2, [pc, 0x26c]                           |     
    0x00003dee add r0, pc                                    |     r0 = 0x7e46;
    0x00003df0 add r3, pc                                    |     r3 = 0x7e4e;
    0x00003df2 add r2, pc                                    |     r2 = 0x7e52;
    0x00003df4 b 0x3d3e                                      |     goto label_64;
                                                             | label_79:
    0x00003df6 ldr r2, [pc, 0x268]                           |     
    0x00003df8 mov r1, r5                                    |     r1 = r5;
    0x00003dfa ldr.w r3, [r6, 0x43c]                         |     r3 = *((r6 + 0x43c));
    0x00003dfe add r2, pc                                    |     r2 = 0x7e64;
    0x00003e00 ldr r0, [r2]                                  |     r0 = *(0x7e64);
    0x00003e02 ldr r2, [pc, 0x260]                           |     
    0x00003e04 add r2, pc                                    |     r2 = 0x7e6e;
    0x00003e06 blx 0x1960                                    |     fcn_00001960 ();
    0x00003e0a ldr r3, [pc, 0x25c]                           |     
    0x00003e0c movs r2, 0x2b                                 |     r2 = 0x2b;
    0x00003e0e ldr r0, [pc, 0x25c]                           |     
    0x00003e10 movs r1, 1                                    |     r1 = 1;
    0x00003e12 ldr.w r3, [r8, r3]                            |     r3 = *((r8 + r3));
    0x00003e16 add r0, pc                                    |     r0 = 0x7e88;
    0x00003e18 ldr r3, [r3]                                  |     r3 = *(0x406a);
    0x00003e1a blx 0x1b5c                                    |     time (r0);
    0x00003e1e movw r3, 0xb713                               |     
    0x00003e22 movt r3, 0x7f2b                               |     r3 = 0x7f2bb713;
    0x00003e26 cmp r5, r3                                    |     
                                                             |     if (r5 != r3) {
    0x00003e28 bne.w 0x2628                                  |         goto label_62;
                                                             |     }
    0x00003e2c ldr.w r0, [r6, 0x43c]                         |     r0 = *((r6 + 0x43c));
    0x00003e30 movs r2, 0                                    |     r2 = 0;
    0x00003e32 movs r1, 4                                    |     r1 = 4;
    0x00003e34 bl 0x48dc                                     |     fcn_000048dc (r0, r1, r2);
    0x00003e38 b.w 0x2628                                    |     goto label_62;
                                                             | label_70:
    0x00003e3c ldr r0, [pc, 0x230]                           |     
    0x00003e3e ldr r3, [pc, 0x234]                           |     
    0x00003e40 ldr r2, [pc, 0x234]                           |     
    0x00003e42 add r0, pc                                    |     r0 = 0x7eb6;
    0x00003e44 add r3, pc                                    |     r3 = 0x7ebe;
    0x00003e46 add r2, pc                                    |     r2 = 0x7ec2;
    0x00003e48 b 0x3d3e                                      |     goto label_64;
                                                             | label_194:
    0x00003e4a ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003e4c ldr r0, [pc, 0x22c]                           |     
    0x00003e4e ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003e50 add r0, pc                                    |     r0 = 0x7ed0;
    0x00003e52 b 0x3cdc                                      |     goto label_65;
                                                             | label_109:
    0x00003e54 ldr r3, [pc, 0x228]                           |     
    0x00003e56 mov r0, r4                                    |     r0 = r4;
    0x00003e58 ldr r2, [pc, 0x228]                           |     
    0x00003e5a mov r1, r8                                    |     r1 = r8;
    0x00003e5c add r3, pc                                    |     r3 = 0x7ee0;
    0x00003e5e add r2, pc                                    |     r2 = 0x7ee6;
    0x00003e60 blx 0x1960                                    |     fcn_00001960 ();
    0x00003e64 movs r0, 1                                    |     r0 = 1;
    0x00003e66 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_125:
    0x00003e6a ldr r0, [pc, 0x21c]                           |     
    0x00003e6c ldr r3, [pc, 0x21c]                           |     
    0x00003e6e ldr r2, [pc, 0x220]                           |     
    0x00003e70 add r0, pc                                    |     
    0x00003e72 ldr r0, [r0]                                  |     r0 = *(0x7efe);
    0x00003e74 add r3, pc                                    |     r3 = 0x7f04;
    0x00003e76 add r2, pc                                    |     r2 = 0x7f0c;
    0x00003e78 blx 0x1960                                    |     fcn_00001960 ();
    0x00003e7c movs r0, 1                                    |     r0 = 1;
    0x00003e7e blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_148:
    0x00003e82 ldr r0, [pc, 0x210]                           |     
    0x00003e84 add r0, pc                                    |     r0 = 0x7f1e;
    0x00003e86 blx 0x1978                                    |     fcn_00001978 ();
    0x00003e8a movs r0, 1                                    |     r0 = 1;
    0x00003e8c blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_108:
    0x00003e90 ldr r3, [pc, 0x204]                           |     
    0x00003e92 mov r0, sb                                    |     r0 = sb;
    0x00003e94 ldr r2, [pc, 0x204]                           |     
    0x00003e96 mov r1, r7                                    |     r1 = r7;
    0x00003e98 add r3, pc                                    |     r3 = 0x7f34;
    0x00003e9a add r2, pc                                    |     r2 = 0x7f3a;
    0x00003e9c blx 0x1960                                    |     fcn_00001960 ();
    0x00003ea0 movs r0, 1                                    |     r0 = 1;
    0x00003ea2 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_107:
    0x00003ea6 mov r0, r4                                    |     r0 = r4;
    0x00003ea8 blx 0x1978                                    |     fcn_00001978 ();
    0x00003eac movs r0, 1                                    |     r0 = 1;
    0x00003eae blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_106:
    0x00003eb2 ldr r0, [pc, 0x1ec]                           |     
    0x00003eb4 mov r1, r7                                    |     r1 = r7;
    0x00003eb6 ldr r3, [pc, 0x1ec]                           |     
    0x00003eb8 ldr r2, [pc, 0x1ec]                           |     
    0x00003eba add r0, pc                                    |     
    0x00003ebc ldr r0, [r0]                                  |     r0 = *(0x7f60);
    0x00003ebe add r3, pc                                    |     r3 = "%llu / %llu blocks (%d%%)";
    0x00003ec0 add r2, pc                                    |     r2 = 0x7f6c;
    0x00003ec2 blx 0x1960                                    |     fcn_00001960 ();
    0x00003ec6 movs r0, 1                                    |     r0 = 1;
    0x00003ec8 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_105:
    0x00003ecc ldr r5, [pc, 0x1dc]                           |     
    0x00003ece mov r1, r0                                    |     r1 = r0;
    0x00003ed0 ldr r2, [pc, 0x1dc]                           |     
    0x00003ed2 mov r3, r4                                    |     r3 = r4;
    0x00003ed4 add r5, pc                                    |     r5 = "Stopping now will destroy the filesystem, interrupt again if you are sure\n";
    0x00003ed6 ldr r0, [r5]                                  |     r0 = "Stopping now will destroy the filesystem, interrupt again if you are sure\n";
    0x00003ed8 add r2, pc                                    |     r2 = 0x7f8c;
    0x00003eda blx 0x1960                                    |     fcn_00001960 ();
    0x00003ede movs r0, 1                                    |     r0 = 1;
    0x00003ee0 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_149:
    0x00003ee4 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x00003ee6 ldr r0, [pc, 0x1cc]                           |     
    0x00003ee8 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00003eea add r0, pc                                    |     r0 = 0x7fa4;
    0x00003eec b 0x3d7c                                      |     goto label_66;
                                                             | label_127:
    0x00003eee ldr r0, [pc, 0x1c8]                           |     
    0x00003ef0 ldr r3, [pc, 0x1c8]                           |     
    0x00003ef2 ldr r2, [pc, 0x1cc]                           |     
    0x00003ef4 add r0, pc                                    |     
    0x00003ef6 ldr r0, [r0]                                  |     r0 = *(0x7fb2);
    0x00003ef8 add r3, pc                                    |     r3 = 0x7fb8;
    0x00003efa add r2, pc                                    |     r2 = 0x7fc0;
    0x00003efc blx 0x1960                                    |     fcn_00001960 ();
    0x00003f00 movs r0, 1                                    |     r0 = 1;
    0x00003f02 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_126:
    0x00003f06 ldr r0, [pc, 0x1bc]                           |     
    0x00003f08 ldr r3, [pc, 0x1bc]                           |     
    0x00003f0a ldr r2, [pc, 0x1c0]                           |     
    0x00003f0c add r0, pc                                    |     
    0x00003f0e ldr r0, [r0]                                  |     r0 = *(0x7fd6);
    0x00003f10 add r3, pc                                    |     r3 = 0x7fdc;
    0x00003f12 add r2, pc                                    |     r2 = 0x7fe4;
    0x00003f14 blx 0x1960                                    |     fcn_00001960 ();
    0x00003f16 stc p0, c2, [r4, -4]!                         |     __asm ("stc p0, c2, [r4, -4]!");
    0x00003f1a blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
                                                             | label_133:
    0x00003f1e ldr r4, [pc, 0x1b0]                           |     
    0x00003f20 ldr r3, [pc, 0x1b0]                           |     
    0x00003f22 ldr r2, [pc, 0x1b4]                           |     
    0x00003f24 add r4, pc                                    |     r4 = 0x7ffa;
    0x00003f26 add r3, pc                                    |     r3 = 0x7ffe;
    0x00003f28 add r2, pc                                    |     r2 = 0x8006;
    0x00003f2a b.w 0x2620                                    |     goto label_61;
                                                             | label_134:
    0x00003f2e ldr r4, [pc, 0x1ac]                           |     
    0x00003f30 ldr r3, [pc, 0x1ac]                           |     
    0x00003f32 ldr r2, [pc, 0x1b0]                           |     
    0x00003f34 add r4, pc                                    |     r4 = 0x8016;
    0x00003f36 add r3, pc                                    |     r3 = 0x801a;
    0x00003f38 add r2, pc                                    |     r2 = 0x8022;
    0x00003f3a b.w 0x2620                                    |     goto label_61;
                                                             | label_100:
    0x00003f3e ldr r0, [pc, 0x1a8]                           |     
    0x00003f40 ldr r3, [pc, 0x1a8]                           |     
    0x00003f42 ldr r2, [pc, 0x1ac]                           |     
    0x00003f44 add r0, pc                                    |     r0 = 0x8032;
    0x00003f46 add r3, pc                                    |     r3 = 0x8036;
    0x00003f48 add r2, pc                                    |     r2 = 0x803e;
    0x00003f4a b 0x3d3e                                      |     goto label_64;
                                                             | label_101:
    0x00003f4c ldr r0, [pc, 0x1a4]                           |     
    0x00003f4e ldr r3, [pc, 0x1a8]                           |     
    0x00003f50 ldr r2, [pc, 0x1a8]                           |     
    0x00003f52 add r0, pc                                    |     
    0x00003f54 ldr r0, [r0]                                  |     r0 = *(0x804a);
    0x00003f56 add r3, pc                                    |     r3 = 0x8054;
    0x00003f58 add r2, pc                                    |     r2 = 0x8058;
    0x00003f5a blx 0x1960                                    |     fcn_00001960 ();
    0x00003f5e movs r0, 1                                    |     r0 = 1;
    0x00003f60 blx 0x1d0c                                    |     blkid_probe_enable_partitions ();
    0x00003f64 ldr r0, [pc, 0x310]                           |     
    0x00003f66 movs r0, r0                                   |     
    0x00003f68 add sl, r8                                    |     sl += r8;
    0x00003f6a movs r0, r0                                   |     
    0x00003f6c ldr r0, [r0, 8]                               |     r0 = *(0x4280);
    0x00003f6e movs r0, r0                                   |     
    0x00003f70 ldr r0, [r7, 4]                               |     r0 = *((r7 + 4));
    0x00003f72 movs r0, r0                                   |     
    0x00003f74 mvns r0, r7                                   |     r0 = ~r7;
    0x00003f76 movs r0, r0                                   |     
    0x00003f78 str r6, [r2, 0x50]                            |     *((r2 + 0x50)) = r6;
    0x00003f7a movs r0, r0                                   |     
    0x00003f7c str r2, [r4, 0x48]                            |     *((r4 + 0x48)) = r2;
    0x00003f7e movs r0, r0                                   |     
    0x00003f80 cmn r2, r3                                    |     
    0x00003f82 movs r0, r0                                   |     
    0x00003f84 bx r5                                         |     return uint32_t (*r5)() ();
    0x00004134 adds r0, 0x14                                 |     r0 += 0x14;
    0x00004136 b 0x3c78                                      |     goto label_67;
                                                             | }

[*] Function sprintf used 3 times e2image