[*] Binary protection state of mkfs.ext3

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


[*] Function printf tear down of mkfs.ext3

    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/mkfs.ext3 @ 0x7472 */
                                                             | #include <stdint.h>
                                                             |  
                                                             | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                             |  
    ; (fcn) aav.0x00007472 ()                                | void aav_0x00007472 (int16_t arg_454h, int16_t arg_0h, int16_t arg_4h, int16_t arg_8h, int16_t arg_ch, int16_t arg_10h, int16_t arg_14h, int16_t arg_18h, int16_t arg_1ch, int16_t arg_20h, int16_t arg_24h, int16_t arg_28h, int16_t arg_2ch, int16_t arg_30h, int16_t arg_34h, int16_t arg_38h, int16_t arg_3ch, int16_t arg_40h, int16_t arg_44h, int16_t arg_48h, int16_t arg_4ch, int16_t arg_50h, int16_t arg_54h, char * * endptr, int16_t arg_60h, int16_t arg_64h, 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, int16_t arg_8ch, int16_t arg_b8h, int16_t arg_d0h, int16_t arg_e4h, int16_t arg_f0h, int16_t arg_120h, int16_t arg_150h, int16_t arg_1b8h, int16_t arg_228h, int16_t arg_238h, int16_t arg_258h, int16_t arg_278h, int16_t arg_298h, int16_t arg_2a0h, int16_t arg_2f8h, int16_t arg_3a8h, int16_t arg_3b0h, int16_t arg_3e0h) {
                                                             | label_0:
    0x00007124 mov r2, r6                                    |     r2 = r6;
    0x00007126 mov r1, r5                                    |     r1 = r5;
    0x00007128 mov r0, r4                                    |     r0 = r4;
    0x0000712a blx 0x344c                                    |     r0 = fcn_0000344c ();
    0x0000712e adds r3, r0, 1                                |     r3 = r0 + 1;
                                                             |     if (r3 == r0) {
    0x00007130 beq 0x71d8                                    |         goto label_62;
                                                             |     }
                                                             |     do {
    0x00007132 subs r0, 0x43                                 |         r0 -= 0x43;
    0x00007134 cmp r0, 0x37                                  |         
                                                             |         if (r0 > 0x37) {
    0x00007136 bhi.w 0x9250                                  |             goto label_63;
                                                             |         }
                                                             |         /* switch table (57 cases) at 0x713e */
    0x0000713a tbh [pc, r0, lsl 1]                           |         __asm ("tbh [pc, r0, lsl 1]");
    0x000071ae ldr r3, [pc, 0x208]                           |         
    0x000071b0 movs r1, 0                                    |         r1 = 0;
    0x000071b2 ldr r2, [pc, 0x208]                           |         
    0x000071b4 add r3, pc                                    |         r3 = 0xe572;
    0x000071b6 ldr r0, [r3]                                  |         r0 = *(0xe572);
    0x000071b8 add r2, pc                                    |         r2 = 0xe57a;
    0x000071ba ldr r3, [pc, 0x204]                           |         
    0x000071bc add r3, pc                                    |         r3 = 0xe582;
    0x000071be blx 0x322c                                    |         fcn_0000322c ();
    0x000071c2 ldr r3, [pc, 0x200]                           |         
    0x000071c4 mov r2, r6                                    |         r2 = r6;
    0x000071c6 mov r1, r5                                    |         r1 = r5;
    0x000071c8 mov r0, r4                                    |         r0 = r4;
    0x000071ca ldr r3, [r7, r3]                              |         r3 = *((r7 + r3));
    0x000071cc ldr r3, [r3]                                  |         r3 = *(0x73c6);
    0x000071ce str r3, [sp, 0x24]                            |         *(arg_24h) = r3;
    0x000071d0 blx 0x344c                                    |         r0 = fcn_0000344c ();
    0x000071d4 adds r3, r0, 1                                |         r3 = r0 + 1;
    0x000071d6 bne 0x7132                                    |         
                                                             |     } while (r3 != r0);
                                                             | label_62:
    0x000071d8 ldr r3, [pc, 0x1ec]                           |     r3 = *(0x73c8);
    0x000071da ldr r6, [r7, r3]                              |     r6 = *((r7 + r3));
    0x000071dc ldr r3, [r6]                                  |     r3 = *(r6);
    0x000071de cmp.w sb, 0                                   |     
    0x000071e2 it eq                                         |     
                                                             |     if (sb == 0) {
    0x000071e4 cmpeq r3, r4                                  |         __asm ("cmpeq r3, r4");
                                                             |     }
                                                             |     if (sb == 0) {
    0x000071e6 beq.w 0x9250                                  |         goto label_63;
                                                             |     }
    0x000071ea ldr r2, [pc, 0x1e0]                           |     
    0x000071ec ldr.w r1, [r5, r3, lsl 2]                     |     offset_0 = r3 << 2;
                                                             |     r1 = *((r5 + offset_0));
    0x000071f0 adds r3, 1                                    |     r3++;
    0x000071f2 str r3, [r6]                                  |     *(r6) = r3;
    0x000071f4 add r2, pc                                    |     
    0x000071f6 str.w r1, [r2, 0x474]                         |     __asm ("str.w r1, [r2, 0x474]");
    0x000071fa ldr r2, [r2]                                  |     r2 = *(0xe5c6);
    0x000071fc cmp r2, 0                                     |     
                                                             |     if (r2 == 0) {
    0x000071fe beq.w 0x7766                                  |         goto label_64;
                                                             |     }
    0x00007202 cmp.w sb, 0                                   |     
                                                             |     if (sb == 0) {
    0x00007206 beq.w 0x778c                                  |         goto label_65;
                                                             |     }
    0x0000720a ldr r0, [pc, 0x1c4]                           |     
    0x0000720c movs r1, 1                                    |     r1 = 1;
    0x0000720e ldr r3, [pc, 0x1c4]                           |     
    0x00007210 ldr r2, [pc, 0x1c4]                           |     
    0x00007212 add r0, pc                                    |     
    0x00007214 str r0, [sp]                                  |     *(sp) = r0;
    0x00007216 add r3, pc                                    |     r3 = 0xe5f0;
    0x00007218 ldr r0, [sp, 0x18]                            |     r0 = *(arg_18h);
    0x0000721a add r2, pc                                    |     r2 = 0xe5f6;
    0x0000721c ldr r0, [r0]                                  |     r0 = *(0xe5e8);
    0x0000721e blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
                                                             | label_1:
    0x00007222 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00007224 mov.w r0, 0xb700                              |     
    0x00007228 movt r0, 0x7f2b                               |     r0 = 0x7f2bb700;
    0x0000722c ldr r4, [r3]                                  |     r4 = *(r3);
    0x0000722e blx 0x32b0                                    |     fcn_000032b0 ();
    0x00007232 ldr r2, [pc, 0x1a8]                           |     
    0x00007234 mov r3, r0                                    |     r3 = r0;
    0x00007236 movs r1, 1                                    |     r1 = 1;
    0x00007238 mov r0, r4                                    |     r0 = r4;
    0x0000723a add r2, pc                                    |     r2 = 0xe61c;
    0x0000723c blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00007240 movs r0, 0                                    |     r0 = 0;
    0x00007242 blx 0x3934                                    |     fcn_00003934 ();
    0x00007246 ldr r3, [pc, 0x198]                           |     
    0x00007248 movs r2, 1                                    |     r2 = 1;
    0x0000724a add r3, pc                                    |     r3 = 0xe630;
    0x0000724c str.w r2, [r3, 0x444]                         |     __asm ("str.w r2, [r3, 0x444]");
    0x00007250 b 0x7124                                      |     goto label_0;
    0x00007252 ldr r3, [pc, 0x170]                           |     r3 = *(0x73c6);
    0x00007254 mov.w r1, -1                                  |     r1 = -1;
    0x00007258 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000725a ldr r0, [r3]                                  |     r0 = *(0x73c6);
    0x0000725c str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x0000725e blx 0x3404                                    |     fcn_00003404 ();
    0x00007262 movw r3, 0xfbff                               |     
    0x00007266 mov r2, r0                                    |     r2 = r0;
    0x00007268 mvn r1, 0x400                                 |     r1 = ~0x400;
    0x0000726a str r0, [r0, 0x18]                            |     *((r0 + 0x18)) = r0;
    0x0000726c movt r3, 0x1fff                               |     r3 = 0x1ffffbff;
    0x00007270 add r2, r1                                    |     r2 += r1;
    0x00007272 str r0, [sp, 0x38]                            |     *(arg_38h) = r0;
    0x00007274 cmp r2, r3                                    |     
                                                             |     if (r2 < r3) {
    0x00007276 bls.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x0000727a ldr r0, [pc, 0x168]                           |     
    0x0000727c ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x0000727e ldr r2, [pc, 0x168]                           |     
    0x00007280 add r0, pc                                    |     r0 = 0xe66a;
    0x00007282 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00007284 add r2, pc                                    |     r2 = 0xe672;
    0x00007286 b.w 0x93a0                                    |     goto label_58;
    0x0000728a ldr r3, [pc, 0x138]                           |     
    0x0000728c ldr r2, [sp, 0x28]                            |     r2 = *(arg_28h);
    0x0000728e ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007290 ldr r3, [r3]                                  |     r3 = *(0x73c6);
    0x00007292 str.w r3, [r2, 0x470]                         |     __asm ("str.w r3, [r2, 0x470]");
    0x00007296 b 0x7124                                      |     goto label_0;
    0x00007298 ldr r3, [pc, 0x150]                           |     
    0x0000729a movs r2, 1                                    |     r2 = 1;
    0x0000729c add r3, pc                                    |     r3 = 0xe68c;
    0x0000729e str r2, [r3, 8]                               |     *((r3 + 8)) = r2;
    0x000072a0 b 0x7124                                      |     goto label_0;
    0x000072a2 ldr r3, [sp, 0x6c]                            |     r3 = *(arg_6ch);
    0x000072a4 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000072a6 bne.w 0x93d2                                  |         goto label_66;
                                                             |     }
    0x000072aa ldr r3, [pc, 0x118]                           |     r3 = *(0x73c6);
    0x000072ac ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000072ae ldr r0, [r3]                                  |     r0 = *(0x73c6);
    0x000072b0 blx 0x367c                                    |     r0 = fcn_0000367c ();
    0x000072b2 strd sb, r0, [r4, 0x6c]!                      |     __asm ("strd sb, r0, [r4, 0x6c]!");
    0x000072b6 b 0x7124                                      |     goto label_0;
    0x000072b8 ldr r3, [pc, 0x108]                           |     r3 = *(0x73c4);
    0x000072ba movs r2, 0xa                                  |     r2 = 0xa;
    0x000072bc movs r1, 0                                    |     r1 = 0;
    0x000072be ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000072c0 ldr r0, [r3]                                  |     r0 = *(0x73c4);
    0x000072c2 blx 0x34d0                                    |     fcn_000034d0 ();
    0x000072c6 str r0, [sp, 0x48]                            |     *(arg_48h) = r0;
    0x000072c8 b 0x7124                                      |     goto label_0;
    0x000072ca ldr r3, [pc, 0xf8]                            |     r3 = *(0x73c6);
    0x000072cc movs r2, 0                                    |     r2 = 0;
    0x000072ce add r1, sp, 0x5c                              |     r1 += endptr;
    0x000072d0 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000072d2 ldr r0, [r3]                                  |     r0 = *(0x73c6);
    0x000072d4 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x000072d6 blx 0x3458                                    |     fcn_00003458 ();
    0x000072da ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x000072dc str r0, [sp, 0x1c]                            |     *(arg_1ch) = r0;
    0x000072de ldrb r3, [r3]                                 |     r3 = *(r3);
    0x000072e0 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000072e2 bne.w 0x93c4                                  |         goto label_67;
                                                             |     }
    0x000072e6 ldr r3, [sp, 0x1c]                            |     r3 = *(arg_1ch);
    0x000072e8 cmp r3, 1                                     |     
                                                             |     if (r3 > 1) {
    0x000072ea bgt.w 0x95d0                                  |         goto label_68;
                                                             |     }
    0x000072ee ldr r3, [pc, 0x100]                           |     
    0x000072f0 ldr r2, [sp, 0x1c]                            |     r2 = *(arg_1ch);
    0x000072f2 add r3, pc                                    |     r3 = 0xe6e8;
    0x000072f4 str r2, [r3, 0x5c]                            |     *((r3 + 0x5c)) = r2;
    0x000072f6 b 0x7124                                      |     goto label_0;
    0x000072f8 ldr r3, [pc, 0xf8]                            |     
    0x000072fa movs r2, 1                                    |     r2 = 1;
    0x000072fc add r3, pc                                    |     r3 = 0xe6f4;
    0x000072fe str r2, [r3]                                  |     *(r3) = r2;
    0x00007300 b 0x7124                                      |     goto label_0;
    0x00007302 ldr r3, [pc, 0xc0]                            |     r3 = *(0x73c6);
    0x00007304 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007306 ldr r2, [r3]                                  |     r2 = *(0x73c6);
    0x00007308 ldr r3, [pc, 0xec]                            |     
    0x0000730a add r3, pc                                    |     r3 = 0xe706;
    0x0000730c str.w r2, [r3, 0x464]                         |     __asm ("str.w r2, [r3, 0x464]");
    0x00007310 b 0x7124                                      |     goto label_0;
    0x00007312 ldr r2, [pc, 0xe8]                            |     
    0x00007314 add r2, pc                                    |     r2 = 0xe716;
    0x00007316 ldr.w r3, [r2, 0x460]                         |     r3 = *(0xeb76);
    0x0000731a adds r3, 1                                    |     r3++;
    0x0000731c str.w r3, [r2, 0x460]                         |     __asm ("str.w r3, [r2, 0x460]");
    0x00007320 b 0x7124                                      |     goto label_0;
    0x00007322 ldr r3, [pc, 0xa0]                            |     r3 = *(0x73c6);
    0x00007324 add r1, sp, 0x5c                              |     r1 += endptr;
    0x00007326 ldr.w sl, [r7, r3]                            |     sl = *((r7 + r3));
    0x0000732a ldr.w r0, [sl]                                |     r0 = *(sl);
    0x0000732e blx 0x315c                                    |     strtod (r0, r1);
    0x00007332 ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x00007334 vmov.f64 d8, d0                               |     __asm ("vmov.f64 d8, d0");
    0x00007338 ldrb r3, [r3]                                 |     r3 = *(r3);
                                                             |     if (r3 != 0) {
    0x0000733a cbnz r3, 0x7352                               |         goto label_69;
                                                             |     }
    0x0000733c vcmpe.f64 d0, d9                              |     __asm ("vcmpe.f64 d0, d9");
    0x00007340 vmrs apsr_nzcv, fpscr                         |     __asm ("vmrs apsr_nzcv, fpscr");
                                                             |     if (r3 > 0) {
    0x00007344 bgt 0x7352                                    |         goto label_69;
                                                             |     }
    0x00007346 vcmpe.f64 d0, 0                               |     __asm ("vcmpe.f64 d0, 0");
    0x0000734a vmrs apsr_nzcv, fpscr                         |     __asm ("vmrs apsr_nzcv, fpscr");
                                                             |     if (r3 >= 0) {
    0x0000734e bpl.w 0x7124                                  |         goto label_0;
                                                             |     }
                                                             | label_69:
    0x00007352 ldr r0, [pc, 0xac]                            |     
    0x00007354 ldr r2, [pc, 0xac]                            |     
    0x00007356 ldr.w r3, [sl]                                |     r3 = *(sl);
    0x0000735a add r0, pc                                    |     r0 = 0xe760;
    0x0000735c add r2, pc                                    |     r2 = 0xe764;
    0x0000735e b.w 0x93a0                                    |     goto label_58;
    0x00007408 ldr.w r3, [pc, 0x7ac]                         |     r3 = *(0x7bb8);
    0x0000740c ldr.w fp, [pc, 0x7ac]                         |     
    0x00007410 ldr.w sl, [r7, r3]                            |     sl = *((r7 + r3));
    0x00007414 add fp, pc                                    |     fp = 0xefd4;
    0x00007416 ldr.w r0, [sl]                                |     r0 = *(sl);
    0x0000741a blx 0x3434                                    |     r0 = fcn_00003434 ();
    0x0000741e adds r1, r0, 1                                |     r1 = r0 + 1;
    0x00007420 ldr.w r0, [fp, 0x454]                         |     r0 = *(arg_454h);
    0x00007424 blx 0x38dc                                    |     readdir ();
    0x00007428 str.w r0, [fp, 0x454]                         |     __asm ("str.w r0, [arg_454h]");
    0x0000742c cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000742e beq.w 0x95b6                                  |         goto label_70;
                                                             |     }
    0x00007432 ldr.w r1, [sl]                                |     r1 = *(sl);
    0x00007436 blx 0x34dc                                    |     fcn_000034dc ();
    0x0000743a b 0x7124                                      |     goto label_0;
    0x0000743c ldr.w r3, [pc, 0x780]                         |     
    0x00007440 add r3, pc                                    |     r3 = 0xf004;
    0x00007442 ldr.w r2, [r3, 0x43c]                         |     r2 = *(0xf440);
                                                             |     if (r2 == 0) {
    0x00007446 cbnz r2, 0x7450                               |         
    0x00007448 mov.w r2, -1                                  |         r2 = -1;
    0x0000744c str.w r2, [r3, 0x43c]                         |         __asm ("str.w r2, [r3, 0x43c]");
                                                             |     }
    0x00007450 ldr.w r3, [pc, 0x770]                         |     
    0x00007454 add r3, pc                                    |     r3 = 0xf01c;
    0x00007456 ldr.w r2, [r3, 0x450]                         |     r2 = *(0xf46c);
    0x0000745a cmp r2, 0                                     |     
                                                             |     if (r2 != 0) {
    0x0000745c bne.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x00007460 mov.w r2, -1                                  |     r2 = -1;
    0x00007464 str.w r2, [r3, 0x450]                         |     __asm ("str.w r2, [r3, 0x450]");
    0x00007466 movs r4, 0x50                                 |     r4 = 0x50;
    0x00007468 b 0x7124                                      |     goto label_0;
    0x0000746a ldr.w r3, [pc, 0x74c]                         |     r3 = *(0x7bba);
    0x0000746e mov.w r1, -1                                  |     r1 = -1;
    0x00007470 adds r1, 0xff                                 |     r1 += 0xff;
    0x00007472 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007474 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00007476 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x00007478 blx 0x338c                                    |     fcn_0000338c ();
    0x0000747c mov.w r3, 0xfc00                              |     r3 = 0xfc00;
    0x00007480 sub.w r2, r0, 0x400                           |     r2 = r0 - 0x400;
    0x00007484 movt r3, 0x3ff                                |     r3 = (r3 & 0xFFFF) | 0x3ff0000;
    0x00007488 str r0, [sp, 0x30]                            |     *(arg_30h) = r0;
    0x0000748a cmp r2, r3                                    |     
                                                             |     if (r2 < r3) {
    0x0000748c bls.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x00007490 ldr.w r1, [pc, 0x734]                         |     
    0x00007494 mov.w r0, 0x4000000                           |     r0 = 0x4000000;
    0x00007498 ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x0000749a mov.w r4, 0x400                               |     r4 = 0x400;
    0x0000749e ldr.w r2, [pc, 0x72c]                         |     
    0x000074a2 add r1, pc                                    |     r1 = 0xf06e;
    0x000074a4 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000074a6 add r2, pc                                    |     r2 = 0xf078;
    0x000074a8 str r0, [sp, 4]                               |     *(arg_4h) = r0;
    0x000074aa ldr r0, [r1]                                  |     r0 = *(0xf06e);
    0x000074ac movs r1, 0                                    |     r1 = 0;
    0x000074ae str r4, [sp]                                  |     *(sp) = r4;
    0x000074b0 blx 0x322c                                    |     fcn_0000322c ();
    0x000074b4 movs r0, 1                                    |     r0 = 1;
    0x000074b6 blx 0x3934                                    |     fcn_00003934 ();
    0x000074ba ldr.w r3, [pc, 0x6fc]                         |     r3 = *(0x7bba);
    0x000074be add r1, sp, 0x5c                              |     r1 += endptr;
    0x000074c0 movs r2, 0                                    |     r2 = 0;
    0x000074c2 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000074c4 ldr r0, [r3]                                  |     r0 = *(0x7bba);
    0x000074c6 blx 0x3458                                    |     fcn_00003458 ();
    0x000074ca ldr.w r3, [pc, 0x704]                         |     
    0x000074ce add r3, pc                                    |     r3 = 0xf0a4;
    0x000074d0 str r0, [r3, 0x30]                            |     *((r3 + 0x30)) = r0;
    0x000074d2 ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x000074d4 ldrb r1, [r3]                                 |     r1 = *(r3);
    0x000074d6 cmp r1, 0                                     |     
                                                             |     if (r1 != 0) {
    0x000074d8 bne.w 0x95a8                                  |         goto label_71;
                                                             |     }
    0x000074dc lsls r2, r0, 0x1d                             |     r2 = r0 << 0x1d;
                                                             |     if (r2 == r0) {
    0x000074de beq.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x000074e2 ldr.w r0, [pc, 0x6f0]                         |     
    0x000074e6 ldr.w r3, [pc, 0x6f0]                         |     
    0x000074ea ldr.w r2, [pc, 0x6f0]                         |     
    0x000074ee add r0, pc                                    |     
    0x000074f0 ldr r0, [r0]                                  |     r0 = *(0xf0c8);
    0x000074f2 add r3, pc                                    |     r3 = 0xf0d0;
    0x000074f4 add r2, pc                                    |     r2 = 0xf0d6;
    0x000074f6 blx 0x322c                                    |     fcn_0000322c ();
    0x000074fa movs r0, 1                                    |     r0 = 1;
    0x000074fc blx 0x3934                                    |     fcn_00003934 ();
    0x00007500 ldr.w r3, [pc, 0x6b4]                         |     r3 = *(0x7bb8);
    0x00007504 ldr.w r1, [pc, 0x6d8]                         |     
    0x00007508 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x0000750a add r1, pc                                    |     r1 = 0xf0ee;
    0x0000750c ldr.w sl, [r3]                                |     sl = *(0x7bb8);
    0x0000750e adr r0, 0                                     |     r0 = 0;
    0x00007510 mov r0, sl                                    |     r0 = sl;
    0x00007512 blx 0x3928                                    |     r0 = fcn_00003928 ();
    0x00007516 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00007518 bne.w 0x795c                                  |         goto label_72;
                                                             |     }
    0x0000751c ldr.w r3, [pc, 0x6c4]                         |     
    0x00007520 movs r2, 1                                    |     r2 = 1;
    0x00007522 add r3, pc                                    |     r3 = 0xf10a;
    0x00007524 str.w r2, [r3, 0x448]                         |     __asm ("str.w r2, [r3, 0x448]");
    0x00007526 movs r4, 0x48                                 |     r4 = 0x48;
    0x00007528 b 0x7124                                      |     goto label_0;
    0x0000752a ldr.w r3, [pc, 0x68c]                         |     r3 = *(0x7bba);
    0x0000752e ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007530 ldr r2, [r3]                                  |     r2 = *(0x7bba);
    0x00007532 ldr.w r3, [pc, 0x6b4]                         |     
    0x00007536 add r3, pc                                    |     r3 = 0xf124;
    0x00007538 str.w r2, [r3, 0x440]                         |     __asm ("str.w r2, [r3, 0x440]");
    0x0000753c b 0x7124                                      |     goto label_0;
    0x0000753e ldr.w r2, [pc, 0x6ac]                         |     
    0x00007542 add r2, pc                                    |     r2 = 0xf134;
    0x00007544 ldr r3, [r2, 4]                               |     r3 = *(0xf138);
    0x00007546 adds r3, 1                                    |     r3++;
    0x00007548 str r3, [r2, 4]                               |     *((r2 + 4)) = r3;
    0x0000754a b 0x7124                                      |     goto label_0;
    0x0000754c ldr.w r3, [pc, 0x668]                         |     r3 = *(0x7bb8);
    0x00007550 mov.w r1, -1                                  |     r1 = -1;
    0x00007554 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007556 ldr r0, [r3]                                  |     r0 = *(0x7bb8);
    0x00007558 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x0000755a blx 0x3404                                    |     r0 = fcn_00003404 ();
    0x0000755e eor.w r3, r0, r0, asr 31                      |     r3 = r0 ^ (r0 >> 31);
    0x00007562 str r0, [sp, 0x10]                            |     *(arg_10h) = r0;
    0x00007564 sub.w r3, r3, r0, asr 31                      |     r3 -= (r0 >> 31);
    0x00007568 sub.w r3, r3, 0x400                           |     r3 -= 0x400;
    0x0000756c cmp.w r3, 0xfc00                              |     
                                                             |     if (r3 > 0xfc00) {
    0x00007570 bhi.w 0x959a                                  |         goto label_73;
                                                             |     }
    0x00007574 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00007576 cmp.w r3, 0x1000                              |     
                                                             |     if (r3 > 0x1000) {
    0x0000757a bgt.w 0x7b20                                  |         goto label_74;
                                                             |     }
    0x0000757e ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00007580 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00007582 ble.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x00007584 add r5, sp, 0x33c                             |     r5 = sp + 0x33c;
    0x00007586 mov r2, r3                                    |     r2 = r3;
    0x00007588 asrs r3, r3, 0xa                              |     r3 >>= 0xa;
    0x0000758a asrs r1, r2, 0x1f                             |     r1 = r2 >> 0x1f;
    0x0000758c lsrs r3, r3, 1                                |     r3 >>= 1;
    0x0000758e lsrs r2, r1, 1                                |     r2 = r1 >> 1;
    0x00007590 orr.w r3, r3, r1, lsl 31                      |     r3 |= (r1 << 31);
    0x00007594 orrs.w r1, r3, r1, lsr 1                      |     r1 = r3 | (r1 >> 1);
    0x00007598 it eq                                         |     
                                                             |     if (r1 != r3) {
    0x0000759a moveq r1, 0                                   |         r1 = 0;
                                                             |     }
                                                             |     if (r1 != r3) {
    0x0000759c bne.w 0x7b42                                  |         goto label_75;
                                                             |     }
                                                             | label_5:
    0x000075a0 ldr.w r3, [pc, 0x64c]                         |     
    0x000075a4 add r3, pc                                    |     r3 = 0xf198;
    0x000075a6 str r1, [r3, 0x28]                            |     *((r3 + 0x28)) = r1;
    0x000075a8 b 0x7124                                      |     goto label_0;
    0x000075aa add.w sb, sb, 1                               |     sb++;
    0x000075ae b 0x7124                                      |     goto label_0;
    0x000075b0 ldr.w r3, [pc, 0x604]                         |     r3 = *(0x7bb8);
    0x000075b4 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000075b6 ldr r2, [r3]                                  |     r2 = *(0x7bb8);
    0x000075b8 ldr.w r3, [pc, 0x638]                         |     
    0x000075ba adds r6, 0x38                                 |     r6 += 0x38;
    0x000075bc add r3, pc                                    |     r3 = 0xf1b4;
    0x000075be str.w r2, [r3, 0x46c]                         |     __asm ("str.w r2, [r3, 0x46c]");
    0x000075c2 b 0x7124                                      |     goto label_0;
    0x000075c4 ldr r3, [sp, 0x70]                            |     r3 = *(arg_70h);
    0x000075c6 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000075c8 bne.w 0x95ec                                  |         goto label_76;
                                                             |     }
    0x000075cc ldr.w r3, [pc, 0x5e8]                         |     r3 = *(0x7bb8);
    0x000075d0 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000075d2 ldr r0, [r3]                                  |     r0 = *(0x7bb8);
    0x000075d4 blx 0x367c                                    |     fcn_0000367c ();
    0x000075d8 str r0, [sp, 0x70]                            |     *(arg_70h) = r0;
    0x000075da b 0x7124                                      |     goto label_0;
    0x000075dc ldr.w r3, [pc, 0x618]                         |     
    0x000075e0 movs r2, 1                                    |     r2 = 1;
    0x000075e2 add r3, pc                                    |     r3 = 0xf1de;
    0x000075e4 str.w r2, [r3, 0x468]                         |     __asm ("str.w r2, [r3, 0x468]");
    0x000075e8 b 0x7124                                      |     goto label_0;
    0x000075ea ldr.w r3, [pc, 0x5cc]                         |     r3 = *(0x7bba);
    0x000075ee add.w fp, r8, 1                               |     
    0x000075f0 lsrs r1, r0, 0xc                              |     r1 = r0 >> 0xc;
    0x000075f2 ldr.w sl, [r7, r3]                            |     sl = *((r7 + r3));
    0x000075f4 adr r0, 0xc                                   |     r0 = 0xc;
    0x000075f6 ldr.w r0, [sl]                                |     r0 = *(sl);
    0x000075fa blx 0x3434                                    |     r0 = fcn_00003434 ();
    0x000075fe add.w r1, r0, fp                              |     r1 = r0 + fp;
    0x00007602 ldr r0, [sp, 0x74]                            |     r0 = *(arg_74h);
    0x00007604 blx 0x38dc                                    |     r0 = readdir ();
    0x00007608 mov r3, r0                                    |     r3 = r0;
    0x0000760a cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000760c beq.w 0x937c                                  |         goto label_77;
                                                             |     }
    0x00007610 str r0, [sp, 0x74]                            |     *(arg_74h) = r0;
    0x00007612 cmp.w r8, 0                                   |     
                                                             |     if (r8 != 0) {
    0x00007616 bne.w 0x7b56                                  |         goto label_78;
                                                             |     }
    0x0000761a strb.w r8, [r0]                               |     *(r0) = r8;
                                                             | label_6:
    0x0000761e ldr.w r1, [sl]                                |     r1 = *(sl);
    0x00007622 mov r0, r3                                    |     r0 = r3;
    0x00007624 blx 0x3774                                    |     popen (r0, r1);
    0x00007628 ldr.w r0, [sl]                                |     r0 = *(sl);
    0x0000762a movs r0, r0                                   |     
    0x0000762c blx 0x3434                                    |     r0 = fcn_00003434 ();
    0x00007630 add.w r8, r0, fp                              |     r8 = r0 + fp;
    0x00007634 b 0x7124                                      |     goto label_0;
    0x00007636 ldr.w r3, [pc, 0x580]                         |     r3 = *(0x7bba);
    0x0000763a movs r2, 0                                    |     r2 = 0;
    0x0000763c add r1, sp, 0x5c                              |     r1 += endptr;
    0x0000763e ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007640 str r2, [sp, 0x3c]                            |     *(arg_3ch) = r2;
    0x00007642 ldr r0, [r3]                                  |     r0 = *(0x7bba);
    0x00007644 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x00007646 blx 0x3458                                    |     fcn_00003458 ();
    0x0000764a ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x0000764c str r0, [sp, 0x2c]                            |     *(arg_2ch) = r0;
    0x0000764e ldrb r3, [r3]                                 |     r3 = *(r3);
    0x00007650 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00007652 beq.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x00007656 ldr.w r0, [pc, 0x5a4]                         |     
    0x0000765a ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x0000765c ldr.w r2, [pc, 0x5a0]                         |     
    0x00007660 add r0, pc                                    |     r0 = 0xf262;
    0x00007662 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00007664 add r2, pc                                    |     r2 = 0xf268;
    0x00007666 b.w 0x93a0                                    |     goto label_58;
    0x0000766a ldr.w r3, [pc, 0x54c]                         |     r3 = *(0x7bba);
    0x0000766e ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007670 ldr r2, [r3]                                  |     r2 = *(0x7bba);
    0x00007672 ldr.w r3, [pc, 0x590]                         |     
    0x00007676 add r3, pc                                    |     r3 = 0xf280;
    0x00007678 str.w r2, [r3, 0x45c]                         |     __asm ("str.w r2, [r3, 0x45c]");
    0x0000767c b 0x7124                                      |     goto label_0;
    0x0000767e ldr.w r3, [pc, 0x538]                         |     r3 = *(0x7bba);
    0x00007682 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007684 ldr.w sl, [r3]                                |     sl = *(0x7bba);
    0x00007688 ldr.w r3, [pc, 0x57c]                         |     
    0x0000768c mov r0, sl                                    |     r0 = sl;
    0x0000768e add r3, pc                                    |     r3 = 0xf29a;
    0x00007690 str.w sl, [r3, 0x458]                         |     __asm ("str.w sl, [r3, 0x458]");
    0x00007694 blx 0x3434                                    |     r0 = fcn_00003434 ();
    0x00007698 cmp r0, 0x10                                  |     
                                                             |     if (r0 < 0x10) {
    0x0000769a bls.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x0000769e ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x000076a0 movs r3, 0                                    |     r3 = 0;
    0x000076a2 ldr.w r2, [pc, 0x568]                         |     
    0x000076a6 strb.w r3, [sl, 0x10]                         |     *((sl + 0x10)) = r3;
    0x000076aa mov r3, sl                                    |     r3 = sl;
    0x000076ac ldr r0, [r1]                                  |     r0 = *(r1);
    0x000076ae movs r1, 1                                    |     r1 = 1;
    0x000076b0 add r2, pc                                    |     r2 = 0xf2c2;
    0x000076b2 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x000076b6 b 0x7124                                      |     goto label_0;
    0x000076b8 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000076ba movs r2, 0x6d                                 |     r2 = 0x6d;
    0x000076bc ldr.w r0, [pc, 0x550]                         |     
    0x000076c0 movs r1, 1                                    |     r1 = 1;
    0x000076c2 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000076c4 add r0, pc                                    |     r0 = 0xf2d8;
    0x000076c6 blx 0x35c4                                    |     ext2fs_namei ();
    0x000076ca ldr.w r3, [pc, 0x548]                         |     
    0x000076ce movs r2, 0                                    |     r2 = 0;
    0x000076d0 add r3, pc                                    |     r3 = 0xf2ea;
    0x000076d2 str r2, [r3, 0x20]                            |     *((r3 + 0x20)) = r2;
    0x000076d4 b 0x7124                                      |     goto label_0;
    0x000076d6 ldr.w r3, [pc, 0x4e0]                         |     r3 = *(0x7bba);
    0x000076da ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000076dc ldr r0, [r3]                                  |     r0 = *(0x7bba);
    0x000076de bl 0x9a70                                     |     fcn_00009a70 (r0);
    0x000076e2 b 0x7124                                      |     goto label_0;
    0x000076e4 ldr.w r3, [pc, 0x4d0]                         |     r3 = *(0x7bb8);
    0x000076e8 movs r2, 0                                    |     r2 = 0;
    0x000076ea add r1, sp, 0x5c                              |     r1 += endptr;
    0x000076ec ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000076ee ldr r0, [r3]                                  |     r0 = *(0x7bb8);
    0x000076f0 str r3, [sp, 0x34]                            |     *(arg_34h) = r3;
    0x000076f2 blx 0x3458                                    |     fcn_00003458 ();
    0x000076f6 ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x000076f8 str r0, [sp, 0x14]                            |     *(arg_14h) = r0;
    0x000076fa ldrb r3, [r3]                                 |     r3 = *(r3);
    0x000076fc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000076fe beq.w 0x7124                                  |         goto label_0;
                                                             |     }
    0x00007702 ldr.w r0, [pc, 0x514]                         |     
    0x00007706 ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x00007708 ldr.w r2, [pc, 0x510]                         |     
    0x0000770a movs r5, 0x10                                 |     r5 = 0x10;
    0x0000770c add r0, pc                                    |     r0 = 0xf32a;
    0x0000770e ldr r3, [r3]                                  |     r3 = *(r3);
    0x00007710 add r2, pc                                    |     r2 = 0xf330;
    0x00007712 b.w 0x93a0                                    |     goto label_58;
    0x00007716 ldr.w r3, [pc, 0x4a0]                         |     r3 = *(0x7bba);
    0x0000771a movs r2, 0                                    |     r2 = 0;
    0x0000771c add r1, sp, 0x5c                              |     r1 += endptr;
    0x0000771e ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x00007720 ldr r0, [r3]                                  |     r0 = *(0x7bba);
    0x00007722 blx 0x3458                                    |     fcn_00003458 ();
    0x00007726 ldr r3, [sp, 0x5c]                            |     r3 = *(endptr);
    0x00007728 str r0, [sp, 0x20]                            |     *(arg_20h) = r0;
    0x0000772a ldrb r3, [r3]                                 |     r3 = *(r3);
    0x0000772c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000772e bne.w 0x95fa                                  |         goto label_79;
                                                             |     }
    0x00007732 ldr r2, [sp, 0x20]                            |     r2 = *(arg_20h);
                                                             |     if (r2 == 0) {
    0x00007734 cbz r2, 0x773e                                |         goto label_80;
                                                             |     }
    0x00007736 subs r3, r2, 1                                |     r3 = r2 - 1;
    0x00007738 tst r3, r2                                    |     
                                                             |     if ((r3 & r2) == 0) {
    0x0000773a beq.w 0x7124                                  |         goto label_0;
                                                             |     }
                                                             | label_80:
    0x0000773e ldr.w r0, [pc, 0x4e0]                         |     
    0x00007742 ldr.w r3, [pc, 0x4e0]                         |     
    0x00007746 ldr.w r2, [pc, 0x4e0]                         |     
    0x0000774a add r0, pc                                    |     r0 = 0xf370;
    0x0000774c add r3, pc                                    |     r3 = 0xf376;
    0x0000774e add r2, pc                                    |     r2 = 0xf37c;
    0x00007750 b.w 0x93a0                                    |     goto label_58;
    0x00007754 ldr.w r2, [pc, 0x4d4]                         |     
    0x00007758 add r2, pc                                    |     r2 = 0xf388;
    0x0000775a ldr.w r3, [r2, 0x44c]                         |     r3 = *(0xf7d4);
    0x0000775e adds r3, 1                                    |     r3++;
    0x00007760 str.w r3, [r2, 0x44c]                         |     __asm ("str.w r3, [r2, 0x44c]");
    0x00007764 b 0x7124                                      |     goto label_0;
                                                             | label_64:
    0x00007766 ldr.w r3, [pc, 0x4c8]                         |     
    0x0000776a ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x0000776c ldr.w r2, [pc, 0x4c4]                         |     
    0x00007770 add r3, pc                                    |     r3 = 0xf3a6;
    0x00007772 str r3, [sp]                                  |     *(sp) = r3;
    0x00007774 ldr.w r3, [pc, 0x4c0]                         |     
    0x00007778 add r2, pc                                    |     r2 = 0xf3b0;
    0x0000777a ldr r0, [r1]                                  |     r0 = *(r1);
    0x0000777c movs r1, 1                                    |     r1 = 1;
    0x0000777e add r3, pc                                    |     r3 = 0xf3ba;
    0x00007780 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00007784 cmp.w sb, 0                                   |     
                                                             |     if (sb != 0) {
    0x00007788 bne.w 0x7222                                  |         goto label_1;
                                                             |     }
                                                             | label_65:
    0x0000778c ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x0000778e cmp r3, 0                                     |     
    0x00007790 ble.w 0x79c6                                  |     
                                                             |     while (r3 == 0) {
                                                             | label_2:
    0x00007794 ldr r3, [r6]                                  |         r3 = *(r6);
    0x00007796 cmp r3, r4                                    |         
                                                             |         if (r3 < r4) {
    0x00007798 blt.w 0x8798                                  |             goto label_81;
                                                             |         }
    0x0000779c ldr.w r4, [pc, 0x49c]                         |         
    0x000077a0 movs r6, 0                                    |         r6 = 0;
    0x000077a2 ldr.w r8, [pc, 0x49c]                         |         
    0x000077a6 ldr.w r2, [pc, 0x49c]                         |         
    0x000077aa add r4, pc                                    |         r4 = 0xf3ea;
    0x000077ac str r6, [sp]                                  |         *(sp) = r6;
    0x000077ae addw r3, r4, 0x47c                            |         __asm ("addw r3, r4, 0x47c");
    0x000077b2 add r8, pc                                    |         r8 = 0xf3f8;
    0x000077b4 str r3, [sp, 4]                               |         *(arg_4h) = r3;
    0x000077b6 add r2, pc                                    |         r2 = 0xf400;
    0x000077b8 mov r3, r6                                    |         r3 = r6;
    0x000077ba mov r1, r8                                    |         r1 = r8;
    0x000077bc ldr.w r0, [r4, 0x434]                         |         r0 = *(0xf81e);
    0x000077c0 bl 0xe648                                     |         fcn_0000e648 (r0);
    0x000077c4 ldr.w r0, [pc, 0x480]                         |         
    0x000077c8 add r0, pc                                    |         r0 = 0xf414;
    0x000077ca blx 0x3144                                    |         getenv (r0);
    0x000077ce str r0, [sp, 0x5c]                            |         *(endptr) = r0;
    0x000077d0 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000077d2 beq.w 0x7a72                                  |             goto label_82;
                                                             |         }
    0x000077d6 strd r6, r6, [sp, 0x40]                       |         __asm ("strd r6, r6, [sp, 0x40]");
                                                             | label_15:
    0x000077da movs r2, 0xa                                  |         r2 = 0xa;
    0x000077dc movs r1, 0                                    |         r1 = 0;
    0x000077de blx 0x34d0                                    |         fcn_000034d0 ();
    0x000077e2 ldr.w r3, [pc, 0x468]                         |         
    0x000077e6 add r3, pc                                    |         r3 = 0xf438;
    0x000077e8 str.w r0, [r3, 0x47c]                         |         __asm ("str.w r0, [r3, 0x47c]");
    0x000077ea lsls r4, r7, 0x11                             |         r4 = r7 << 0x11;
                                                             | label_16:
    0x000077ec ldr.w r3, [pc, 0x460]                         |         
    0x000077f0 ldr.w r4, [pc, 0x460]                         |         
    0x000077f4 ldr.w r2, [pc, 0x460]                         |         
    0x000077f8 ldr.w r1, [pc, 0x460]                         |         
    0x000077fc add r3, pc                                    |         r3 = 0xf450;
    0x000077fe adds r3, 0x2c                                 |         r3 += 0x2c;
    0x00007800 add r4, pc                                    |         r4 = 0xf458;
    0x00007802 str r3, [sp, 4]                               |         *(arg_4h) = r3;
    0x00007804 movs r3, 0                                    |         r3 = 0;
    0x00007806 str r3, [sp]                                  |         *(sp) = r3;
    0x00007808 add r2, pc                                    |         r2 = 0xf464;
    0x0000780a add r1, pc                                    |         r1 = 0xf46a;
    0x0000780c ldr.w r0, [r4, 0x434]                         |         r0 = *(0xf88c);
    0x00007810 bl 0xe648                                     |         fcn_0000e648 (r0);
    0x00007814 ldr.w r2, [pc, 0x448]                         |         
    0x00007816 movs r4, 0x48                                 |         r4 = 0x48;
    0x00007818 ldr.w r1, [r4, 0x44c]                         |         r1 = *(0xf8a4);
    0x0000781c ldr.w r0, [r4, 0x474]                         |         r0 = *(0xf8cc);
    0x00007820 add r2, pc                                    |         r2 = 0xf484;
    0x00007822 bl 0x9980                                     |         fcn_00009980 (r0, r1, r2);
    0x00007826 ldr.w r3, [r4, 0x460]                         |         r3 = *(0xf8b8);
    0x0000782a cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000782c beq.w 0x7aa2                                  |             goto label_83;
                                                             |         }
    0x00007830 ldrd r2, r1, [sp, 0x40]                       |         __asm ("ldrd r2, r1, [arg_40h]");
    0x00007834 orrs.w r3, r2, r1                             |         r3 = r2 | r1;
                                                             |         if (r3 == r2) {
    0x00007838 beq.w 0x7aa2                                  |             goto label_83;
                                                             |         }
    0x0000783c str.w r2, [r4, 0x480]                         |         __asm ("str.w r2, [r4, 0x480]");
    0x00007840 str.w r1, [r4, 0x484]                         |         __asm ("str.w r1, [r4, 0x484]");
                                                             | label_3:
    0x00007844 ldr.w r3, [pc, 0x41c]                         |         
    0x00007848 add r3, pc                                    |         r3 = 0xf4b0;
    0x0000784a ldr.w r1, [r3, 0x44c]                         |         r1 = *(0xf8fc);
                                                             |         if (r1 == 0) {
    0x0000784e cbnz r1, 0x7858                               |             
    0x00007850 ldr r2, [sp, 0x68]                            |             r2 = *(arg_68h);
    0x00007852 cmp r2, 0                                     |             
                                                             |             if (r2 != 0) {
    0x00007854 bne.w 0x91cc                                  |                 goto label_84;
                                                             |             }
                                                             |         }
                                                             | label_52:
    0x00007858 ldr r3, [sp, 0x40]                            |         r3 = *(arg_40h);
    0x0000785a str r3, [sp, 0x34]                            |         *(arg_34h) = r3;
    0x0000785c ldr r3, [sp, 0x44]                            |         r3 = *(arg_44h);
    0x0000785e str r3, [sp, 0x28]                            |         *(arg_28h) = r3;
                                                             | label_4:
    0x00007860 ldr r3, [sp, 0x6c]                            |         r3 = *(arg_6ch);
    0x00007862 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00007864 beq.w 0x8f94                                  |             goto label_85;
                                                             |         }
                                                             | label_46:
    0x00007868 ldr r3, [sp, 0x70]                            |         r3 = *(arg_70h);
    0x0000786a cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000786c beq.w 0x8f72                                  |             goto label_86;
                                                             |         }
    0x00007870 ldr r2, [pc, 0x3f4]                           |         
    0x00007872 add r2, pc                                    |         r2 = 0xf4de;
    0x00007874 ldr.w r3, [r2, 0x464]                         |         r3 = *(0xf942);
    0x00007878 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000787a beq.w 0x8fd0                                  |             goto label_87;
                                                             |         }
                                                             | label_47:
    0x0000787e ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x00007880 ldr r2, [sp, 0x28]                            |         r2 = *(arg_28h);
    0x00007882 ldrd r4, r8, [sp, 0x6c]                       |         __asm ("ldrd r4, r8, [arg_6ch]");
    0x00007886 orrs r3, r2                                   |         r3 |= r2;
    0x00007888 itt ne                                        |         
                                                             |         if (r3 == r2) {
    0x0000788a ldrne fp, [sp, 0x34]                          |             fp = *(arg_34h);
                                                             |         }
                                                             |         if (r3 != r2) {
    0x0000788e ldr.w sl, [sp, 0x28]                          |             sl = *(arg_28h);
                                                             |         }
                                                             |         if (r3 == r2) {
    0x00007892 bne 0x78a0                                    |             
    0x00007894 ldr r3, [pc, 0x3d4]                           |             
    0x00007896 add r3, pc                                    |             r3 = 0xf506;
    0x00007898 ldr.w fp, [r3, 0x480]                         |             fp = *(0xf986);
    0x0000789c ldr.w sl, [r3, 0x484]                         |             sl = *(0xf98a);
    0x0000789e adr r4, 0x210                                 |             r4 = 0x210;
                                                             |         }
    0x000078a0 ldr r3, [r5]                                  |         r3 = *(r5);
    0x000078a2 movs r2, 0                                    |         r2 = 0;
    0x000078a4 ldr r5, [pc, 0x3c8]                           |         
    0x000078a6 str r2, [sp, 0x78]                            |         *(arg_78h) = r2;
    0x000078a8 str r3, [sp, 0x50]                            |         *(arg_50h) = r3;
    0x000078aa add r5, pc                                    |         r5 = 0xf51e;
    0x000078ac ldr.w r0, [r5, 0x464]                         |         r0 = *(0xf982);
    0x000078b0 bl 0x6094                                     |         fcn_00006094 (r0);
    0x000078b4 vldr d16, [pc, 0x2f8]                         |         __asm ("vldr d16, [0x00007bb4]");
    0x000078b8 add r1, sp, 0x8c                              |         r1 += arg_8ch;
    0x000078ba mov r6, r0                                    |         r6 = r0;
    0x000078bc movs r0, 8                                    |         r0 = 8;
    0x000078be vst1.32 {d16}, [r1]                           |         __asm ("vst1.32 {d16}, [r1]");
    0x000078c2 blx 0x36a4                                    |         r0 = fcn_000036a4 ();
    0x000078c6 mov sb, r0                                    |         sb = r0;
    0x000078c8 str r0, [sp, 0x88]                            |         *(arg_88h) = r0;
    0x000078ca cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x000078cc beq.w 0x8fb6                                  |             goto label_88;
                                                             |         }
    0x000078d0 movs r2, 0                                    |         r2 = 0;
    0x000078d2 ldr.w r3, [r5, 0x434]                         |         r3 = *((r5 + 0x434));
    0x000078d6 str r2, [r0]                                  |         *(r0) = r2;
    0x000078d8 cmp r4, 0                                     |         
                                                             |         if (r4 == 0) {
    0x000078da beq.w 0x8dc0                                  |             goto label_89;
                                                             |         }
                                                             | label_41:
    0x000078de ldr r3, [pc, 0x394]                           |         
    0x000078e0 mov r1, r4                                    |         r1 = r4;
    0x000078e2 add r3, pc                                    |         r3 = 0xf55c;
    0x000078e4 ldr.w r0, [r3, 0x434]                         |         r0 = *(0xf990);
    0x000078e8 bl 0x61e8                                     |         r0 = fcn_000061e8 (r0, r1);
                                                             |         if (r0 == 0) {
    0x000078ec cbnz r0, 0x78fe                               |             
    0x000078ee ldr r1, [pc, 0x388]                           |             
    0x000078f0 mov r0, r4                                    |             r0 = r4;
    0x000078f2 add r1, pc                                    |             r1 = 0xf570;
    0x000078f4 blx 0x3928                                    |             r0 = fcn_00003928 ();
    0x000078f8 cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x000078fa bne.w 0x8c84                                  |                 goto label_90;
                                                             |             }
                                                             |         }
                                                             | label_39:
    0x000078fe ldr r3, [pc, 0x37c]                           |         
    0x00007900 mov.w r2, 0x100000                            |         r2 = 0x100000;
    0x00007904 add r3, pc                                    |         
    0x00007906 ldr r3, [r3, 0x28]                            |         r3 = *(0xf5ae);
    0x00007908 adds r3, 0xa                                  |         r3 += 0xa;
    0x0000790a asr.w r3, r2, r3                              |         r3 = r2 >> r3;
    0x0000790e movs r2, 3                                    |         r2 = 3;
    0x00007910 smull r2, r1, r3, r2                          |         r2:r1 = r3 * r2;
    0x00007914 cmp fp, r2                                    |         
    0x00007916 sbcs.w r1, sl, r1                             |         __asm ("sbcs.w r1, sl, r1");
                                                             |         if (fp <= r2) {
    0x0000791a blo.w 0x7b64                                  |             goto label_91;
                                                             |         }
    0x0000791c strh r3, [r4, 8]                              |         *((r4 + 8)) = r3;
    0x0000791e asrs r0, r3, 0x1f                             |         r0 = r3 >> 0x1f;
    0x00007920 lsls r1, r3, 9                                |         r1 = r3 << 9;
    0x00007922 lsls r2, r0, 9                                |         r2 = r0 << 9;
    0x00007924 cmp fp, r1                                    |         
    0x00007926 orr.w r2, r2, r3, lsr 23                      |         r2 |= (r3 >> 23);
    0x0000792a sbcs.w r2, sl, r2                             |         __asm ("sbcs.w r2, sl, r2");
    0x0000792c lsls r2, r0, 8                                |         r2 = r0 << 8;
                                                             |         if (r2 <= r0) {
    0x0000792e blo.w 0x8bac                                  |             goto label_92;
                                                             |         }
    0x00007932 lsls r2, r0, 0x16                             |         r2 = r0 << 0x16;
    0x00007934 lsls r1, r3, 0x16                             |         r1 = r3 << 0x16;
    0x00007936 orr.w r2, r2, r3, lsr 10                      |         r2 |= (r3 >> 10);
    0x00007938 movs r2, 0x93                                 |         r2 = 0x93;
    0x0000793a cmp fp, r1                                    |         
    0x0000793c sbcs.w r2, sl, r2                             |         __asm ("sbcs.w r2, sl, r2");
                                                             |         if (fp <= r1) {
    0x00007940 blo.w 0x9208                                  |             goto label_93;
                                                             |         }
    0x00007942 strh r2, [r4, 0x22]                           |         *((r4 + 0x22)) = r2;
    0x00007944 lsls r2, r0, 0x18                             |         r2 = r0 << 0x18;
    0x00007946 orr.w r2, r2, r3, lsr 8                       |         r2 |= (r3 >> 8);
    0x0000794a lsls r3, r3, 0x18                             |         r3 <<= 0x18;
    0x0000794c cmp fp, r3                                    |         
    0x0000794e sbcs.w r2, sl, r2                             |         __asm ("sbcs.w r2, sl, r2");
    0x00007950 lsls r2, r0, 8                                |         r2 = r0 << 8;
                                                             |         if (r2 >= r0) {
    0x00007952 bhs.w 0x926a                                  |             goto label_94;
                                                             |         }
    0x00007956 ldr r3, [pc, 0x328]                           |         
    0x00007958 add r3, pc                                    |         r3 = 0xf5de;
    0x0000795a b 0x7b68                                      |         goto label_34;
                                                             | label_72:
    0x0000795c ldr r1, [pc, 0x324]                           |         
    0x0000795e mov r0, sl                                    |         r0 = sl;
    0x00007960 add r1, pc                                    |         r1 = 0xf5e8;
    0x00007962 blx 0x3928                                    |         r0 = fcn_00003928 ();
                                                             |         if (r0 != 0) {
    0x00007966 cbz r0, 0x79b8                                |             
    0x00007968 ldr r1, [pc, 0x31c]                           |             
    0x0000796a mov r0, sl                                    |             r0 = sl;
    0x0000796c add r1, pc                                    |             r1 = 0xf5f8;
    0x0000796e blx 0x3928                                    |             fcn_00003928 ();
    0x00007970 vmlal.s16 q9, d12, d0                         |             __asm ("vmlal.s16 q9, d12, d0");
    0x00007972 cmp r0, 0                                     |             
                                                             |             if (r0 != 0) {
    0x00007974 bne.w 0x93ae                                  |                 goto label_95;
                                                             |             }
    0x00007978 ldr r3, [pc, 0x310]                           |             
    0x0000797a movs r2, 3                                    |             r2 = 3;
    0x0000797c add r3, pc                                    |             r3 = 0xf60c;
    0x0000797e str.w r2, [r3, 0x448]                         |             __asm ("str.w r2, [r3, 0x448]");
    0x00007982 b.w 0x7124                                    |             goto label_0;
                                                             |         }
    0x000079b8 ldr r3, [pc, 0x2e0]                           |         
    0x000079ba movs r2, 2                                    |         r2 = 2;
    0x000079bc add r3, pc                                    |         r3 = 0xf65c;
    0x000079be str.w r2, [r3, 0x448]                         |         __asm ("str.w r2, [r3, 0x448]");
    0x000079c2 b.w 0x7124                                    |         goto label_0;
    0x000079c6 ldr r3, [pc, 0x2d8]                           |         
    0x000079c8 add r3, pc                                    |         
    0x000079ca ldr.w r3, [r3, 0x478]                         |         r3 = *(0xfae6);
    0x000079ce cmp r3, 0                                     |         
    0x000079d0 beq.w 0x7794                                  |         
                                                             |     }
    0x000079d4 ldr r0, [pc, 0x2cc]                           |     
    0x000079d6 add r0, pc                                    |     r0 = 0xf67e;
    0x000079d8 blx 0x3144                                    |     r0 = getenv (r0);
    0x000079dc cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000079de beq.w 0x92ba                                  |         goto label_96;
                                                             |     }
                                                             | label_55:
    0x000079e2 ldr r3, [pc, 0x2c4]                           |     r3 = *(0x7caa);
    0x000079e4 ldr r2, [pc, 0x2c4]                           |     r2 = *(0x7cac);
    0x000079e6 ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000079e8 ldr r2, [r7, r2]                              |     r2 = *((r7 + r2));
    0x000079ea ldr r1, [r3]                                  |     r1 = *(0x7caa);
    0x000079ec ldr r3, [pc, 0x2c0]                           |     
    0x000079ee ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000079f0 str r1, [r2]                                  |     *(r2) = r1;
    0x000079f2 ldr r3, [r3]                                  |     r3 = *(0x7cb0);
                                                             | label_56:
    0x000079f4 ldr.w sb, [pc, 0x2bc]                         |     
    0x000079f8 add.w fp, sp, 0x88                            |     
    0x000079fc str r3, [sp]                                  |     *(sp) = r3;
    0x000079fe movs r3, 0                                    |     r3 = 0;
    0x00007a00 str.w fp, [sp, 4]                             |     __asm ("str.w fp, [arg_4h]");
    0x00007a04 mov r2, r3                                    |     r2 = r3;
    0x00007a06 add sb, pc                                    |     sb = 0xf6be;
    0x00007a08 mov.w r1, 0x1000                              |     r1 = 0x1000;
    0x00007a0c ldr.w r0, [sb, 0x478]                         |     r0 = *(0xfb36);
    0x00007a10 blx 0x38c4                                    |     r0 = realloc (r0, r1);
    0x00007a14 mov r8, r0                                    |     r8 = r0;
    0x00007a16 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00007a18 bne.w 0x934c                                  |         goto label_97;
                                                             |     }
    0x00007a1c ldr r2, [sp, 0x10]                            |     r2 = *(arg_10h);
    0x00007a1e ldr r3, [sp, 0x88]                            |     r3 = *(arg_88h);
    0x00007a20 ldr r3, [r3, 0x14]                            |     r3 = *((r3 + 0x14));
                                                             |     if (r2 != 0) {
    0x00007a22 cbz r2, 0x7a2c                                |         
    0x00007a24 rsbs r0, r2, 0                                |         r0 = r2 - ;
    0x00007a26 cmp r0, r3                                    |         
                                                             |         if (r0 > r3) {
    0x00007a28 bhi.w 0x9334                                  |             goto label_98;
                                                             |         }
                                                             |     }
    0x00007a2c ldr r1, [pc, 0x288]                           |     
    0x00007a2e mov sb, r3                                    |     sb = r3;
    0x00007a30 mov r2, r3                                    |     r2 = r3;
    0x00007a32 movs r0, 1                                    |     r0 = 1;
    0x00007a34 str r3, [sp, 0x10]                            |     *(arg_10h) = r3;
    0x00007a36 add r1, pc                                    |     r1 = 0xf6f2;
    0x00007a38 blx 0x3150                                    |     printf_chk ()
    0x00007a3c mov r2, sb                                    |     r2 = sb;
    0x00007a3e asrs r3, r2, 0xa                              |     r3 = r2 >> 0xa;
    0x00007a40 asrs r1, r2, 0x1f                             |     r1 = r2 >> 0x1f;
    0x00007a42 lsrs r3, r3, 1                                |     r3 >>= 1;
    0x00007a44 lsrs r2, r1, 1                                |     r2 = r1 >> 1;
    0x00007a46 orr.w r3, r3, r1, lsl 31                      |     r3 |= (r1 << 31);
    0x00007a4a orrs.w r1, r3, r1, lsr 1                      |     r1 = r3 | (r1 >> 1);
                                                             |     if (r1 == r3) {
    0x00007a4e beq 0x7a62                                    |         goto label_99;
                                                             |     }
                                                             |     do {
    0x00007a50 lsrs r3, r3, 1                                |         r3 >>= 1;
    0x00007a52 add.w r8, r8, 1                               |         r8++;
    0x00007a56 orr.w r3, r3, r2, lsl 31                      |         r3 |= (r2 << 31);
    0x00007a5a lsrs r2, r2, 1                                |         r2 >>= 1;
    0x00007a5c orrs.w r1, r3, r2                             |         r1 = r3 | r2;
    0x00007a60 bne 0x7a50                                    |         
                                                             |     } while (r1 != r3);
                                                             | label_99:
    0x00007a62 ldr r3, [pc, 0x258]                           |     
    0x00007a64 mov r0, fp                                    |     r0 = fp;
    0x00007a66 add r3, pc                                    |     r3 = 0xf728;
    0x00007a68 str.w r8, [r3, 0x28]                          |     __asm ("str.w r8, [r3, 0x28]");
    0x00007a6c blx 0x34f4                                    |     fcn_000034f4 ();
    0x00007a70 b 0x7794                                      |     goto label_2;
                                                             | label_82:
    0x00007a72 ldr r3, [pc, 0x24c]                           |     
    0x00007a74 mov r1, r8                                    |     r1 = r8;
    0x00007a76 ldr r2, [pc, 0x24c]                           |     
    0x00007a78 mov r6, r0                                    |     r6 = r0;
    0x00007a7a str r0, [sp]                                  |     *(sp) = r0;
    0x00007a7c add r3, pc                                    |     r3 = 0xf742;
    0x00007a7e str r0, [sp, 0x40]                            |     *(arg_40h) = r0;
    0x00007a80 adds r3, 0x2c                                 |     r3 += 0x2c;
    0x00007a82 add r2, pc                                    |     r2 = 0xf74c;
    0x00007a84 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00007a86 mov r3, r0                                    |     r3 = r0;
    0x00007a88 ldr.w r0, [r4, 0x434]                         |     r0 = *((r4 + 0x434));
    0x00007a8c bl 0xe648                                     |     fcn_0000e648 (r0);
    0x00007a90 ldr r2, [pc, 0x234]                           |     
    0x00007a92 ldr.w r1, [r4, 0x44c]                         |     r1 = *((r4 + 0x44c));
    0x00007a96 ldr.w r0, [r4, 0x474]                         |     r0 = *((r4 + 0x474));
    0x00007a9a add r2, pc                                    |     r2 = 0xf766;
    0x00007a9c bl 0x9980                                     |     fcn_00009980 (r0, r1, r2);
    0x00007aa0 str r6, [sp, 0x44]                            |     *(arg_44h) = r6;
                                                             | label_83:
    0x00007aa2 ldr r6, [pc, 0x228]                           |     
    0x00007aa4 mov.w r1, 0x400                               |     r1 = 0x400;
    0x00007aa8 add r6, pc                                    |     r6 = 0xf77a;
    0x00007aaa ldr r3, [r6, 0x28]                            |     r3 = *(0xf7a2);
    0x00007aac add.w r4, r6, 0x480                           |     r4 = r6 + 0x480;
    0x00007ab0 ldr.w r0, [r6, 0x474]                         |     r0 = *(0xfbee);
    0x00007ab4 mov r2, r4                                    |     r2 = r4;
    0x00007ab6 lsls r1, r3                                   |     r1 <<= r3;
    0x00007ab8 blx 0x3368                                    |     r0 = fcn_00003368 ();
    0x00007abc cmp r0, 2                                     |     
                                                             |     if (r0 == 2) {
    0x00007abe beq.w 0x8ee8                                  |         goto label_100;
                                                             |     }
    0x00007ac2 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00007ac4 bne.w 0x8b68                                  |         goto label_101;
                                                             |     }
                                                             | label_31:
    0x00007ac8 ldrd r3, r2, [sp, 0x40]                       |     __asm ("ldrd r3, r2, [arg_40h]");
    0x00007acc orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 != r2) {
    0x00007ace bne.w 0x7844                                  |         goto label_3;
                                                             |     }
    0x00007ad2 movw r3, 0xb750                               |     
    0x00007ad6 movt r3, 0x7f2b                               |     r3 = 0x7f2bb750;
    0x00007ada cmp r0, r3                                    |     
                                                             |     if (r0 == r3) {
    0x00007adc beq.w 0x9608                                  |         goto label_102;
                                                             |     }
    0x00007ae0 ldr r3, [pc, 0x1ec]                           |     
    0x00007ae2 add r3, pc                                    |     r3 = 0xf7b6;
    0x00007ae4 ldr.w r2, [r3, 0x480]                         |     r2 = *(0xfc36);
    0x00007ae6 movs r4, 0x80                                 |     r4 = 0x80;
    0x00007ae8 ldr.w r1, [r3, 0x484]                         |     r1 = *(0xfc3a);
    0x00007aec str r2, [sp, 0x34]                            |     *(arg_34h) = r2;
    0x00007aee orrs r2, r1                                   |     r2 |= r1;
    0x00007af0 str r1, [sp, 0x28]                            |     *(arg_28h) = r1;
                                                             |     if (r2 == r1) {
    0x00007af2 beq.w 0x9638                                  |         goto label_103;
                                                             |     }
    0x00007af6 ldr r2, [pc, 0x1dc]                           |     
    0x00007af8 mov.w r1, 0x400                               |     r1 = 0x400;
    0x00007afc ldr r3, [r3, 0x28]                            |     r3 = *((r3 + 0x28));
    0x00007afe add r2, pc                                    |     r2 = 0xf7d8;
    0x00007b00 ldr r0, [r2, 0x28]                            |     r0 = *(0xf800);
    0x00007b02 lsls r1, r3                                   |     r1 <<= r3;
    0x00007b04 cmp r1, r0                                    |     
                                                             |     if (r1 >= r0) {
    0x00007b06 bge.w 0x7860                                  |         goto label_4;
                                                             |     }
    0x00007b0a bl 0x11930                                    |     fcn_00011930 (r0, r1);
    0x00007b0e ldr r2, [sp, 0x28]                            |     r2 = *(arg_28h);
    0x00007b10 rsbs r3, r0, 0                                |     r3 = r0 - ;
    0x00007b12 and.w r2, r2, r3, asr 31                      |     r2 &= (r3 >> 31);
    0x00007b16 str r2, [sp, 0x28]                            |     *(arg_28h) = r2;
    0x00007b18 ldr r2, [sp, 0x34]                            |     r2 = *(arg_34h);
    0x00007b1a ands r2, r3                                   |     r2 &= r3;
    0x00007b1c str r2, [sp, 0x34]                            |     *(arg_34h) = r2;
    0x00007b1e b 0x7860                                      |     goto label_4;
                                                             | label_74:
    0x00007b20 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00007b22 movs r1, 1                                    |     r1 = 1;
    0x00007b24 ldr.w sl, [sp, 0x10]                          |     sl = *(arg_10h);
    0x00007b28 ldr r2, [pc, 0x1ac]                           |     
    0x00007b2a ldr r0, [r3]                                  |     r0 = *(r3);
    0x00007b2c mov r3, sl                                    |     r3 = sl;
    0x00007b2e add r2, pc                                    |     r2 = 0xf80a;
    0x00007b30 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00007b34 mov r2, sl                                    |     r2 = sl;
    0x00007b36 asrs r3, r2, 0xa                              |     r3 = r2 >> 0xa;
    0x00007b38 asrs r2, r2, 0x1f                             |     r2 >>= 0x1f;
    0x00007b3a lsrs r3, r3, 1                                |     r3 >>= 1;
    0x00007b3c orr.w r3, r3, r2, lsl 31                      |     r3 |= (r2 << 31);
    0x00007b40 lsrs r2, r2, 1                                |     r2 >>= 1;
                                                             | label_75:
    0x00007b42 movs r1, 0                                    |     r1 = 0;
                                                             |     do {
    0x00007b44 lsrs r3, r3, 1                                |         r3 >>= 1;
    0x00007b46 adds r1, 1                                    |         r1++;
    0x00007b48 orr.w r3, r3, r2, lsl 31                      |         r3 |= (r2 << 31);
    0x00007b4c lsrs r2, r2, 1                                |         r2 >>= 1;
    0x00007b4e orrs.w r0, r3, r2                             |         r0 = r3 | r2;
    0x00007b52 bne 0x7b44                                    |         
                                                             |     } while (r0 != r3);
    0x00007b54 b 0x75a0                                      |     goto label_5;
                                                             | label_78:
    0x00007b56 ldr r1, [pc, 0x184]                           |     
    0x00007b58 str r0, [sp, 0x34]                            |     *(arg_34h) = r0;
    0x00007b5a add r1, pc                                    |     r1 = 0xf83c;
    0x00007b5c blx 0x3774                                    |     popen (r0, r1);
    0x00007b5e vmla.f64 d9, d10, d13                         |     __asm ("vmla.f64 d9, d10, d13");
    0x00007b62 b 0x761e                                      |     goto label_6;
                                                             | label_91:
    0x00007b64 ldr r3, [pc, 0x178]                           |     
    0x00007b66 add r3, pc                                    |     r3 = 0xf84a;
                                                             | label_34:
    0x00007b68 cmp.w r8, 0                                   |     
    0x00007b6c it eq                                         |     
                                                             |     if (r8 != 0) {
    0x00007b6e moveq r8, r3                                  |         r8 = r3;
                                                             |     }
    0x00007b70 mov r0, r8                                    |     r0 = r8;
    0x00007b72 blx 0x3434                                    |     r0 = fcn_00003434 ();
    0x00007b76 add.w sl, r0, 1                               |     sl = r0 + 1;
    0x00007b7a mov r0, sl                                    |     r0 = sl;
    0x00007b7c blx 0x36a4                                    |     r0 = fcn_000036a4 ();
    0x00007b80 mov r5, r0                                    |     r5 = r0;
    0x00007b82 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00007b84 beq.w 0x9616                                  |         goto label_104;
                                                             |     }
    0x00007b88 mov r1, r8                                    |     r1 = r8;
    0x00007b8a ldr.w sb, [pc, 0x158]                         |     
    0x00007b8e ldr.w r8, [pc, 0x158]                         |     
    0x00007b92 mov r2, sl                                    |     r2 = sl;
    0x00007b94 add.w fp, sp, 0x88                            |     
    0x00007b98 mov sl, r5                                    |     sl = r5;
    0x00007b9a blx 0x3470                                    |     fcn_00003470 ();
    0x00007b9e mov r1, r4                                    |     r1 = r4;
    0x00007ba0 mov r0, fp                                    |     r0 = fp;
    0x00007ba2 add r8, pc                                    |     r8 = 0xf890;
    0x00007ba4 add sb, pc                                    |     sb = 0xf88e;
    0x00007ba6 bl 0x6c2c                                     |     fcn_00006c2c (r0, r1);
    0x00007baa b 0x7cfe                                      |     
                                                             |     while (r0 != 0) {
    0x00007cec movs r3, 0                                    |         r3 = 0;
    0x00007cee strb r3, [r0]                                 |         *(r0) = r3;
    0x00007cf0 ldrb.w r3, [sl]                               |         r3 = *(sl);
    0x00007cf4 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00007cf6 bne.w 0x7f4e                                  |             goto label_105;
                                                             |         }
                                                             | label_7:
    0x00007cfa add.w sl, r4, 1                               |         sl = r4 + 1;
    0x00007cfe movs r1, 0x2c                                 |         r1 = 0x2c;
    0x00007d00 mov r0, sl                                    |         r0 = sl;
    0x00007d02 blx 0x3168                                    |         r0 = strchr (r0, r1);
    0x00007d06 mov r4, r0                                    |         r4 = r0;
    0x00007d08 cmp r0, 0                                     |         
    0x00007d0a bne 0x7cec                                    |         
                                                             |     }
    0x00007d0c ldrb.w r3, [sl]                               |     r3 = *(sl);
    0x00007d10 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00007d12 bne.w 0x7f4e                                  |         goto label_105;
                                                             |     }
    0x00007d16 mov r0, r5                                    |     r0 = r5;
    0x00007d18 blx 0x332c                                    |     fcn_0000332c ();
    0x00007d1c ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x00007d1e blx 0x332c                                    |     fcn_0000332c ();
    0x00007d22 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00007d24 bne.w 0x7f7c                                  |         goto label_106;
                                                             |     }
                                                             | label_8:
    0x00007d28 ldr r0, [sp, 0x88]                            |     r0 = *(arg_88h);
    0x00007d2a ldr r4, [pc, 0x28c]                           |     
    0x00007d2c add r4, pc                                    |     r4 = 0xfcea;
    0x00007d2e str.w r0, [r4, 0x438]                         |     __asm ("str.w r0, [r4, 0x438]");
    0x00007d32 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00007d34 beq.w 0x8fba                                  |         goto label_61;
                                                             |     }
    0x00007d38 ldr r3, [r4, 0x5c]                            |     r3 = *((r4 + 0x5c));
    0x00007d3a movs r2, 0                                    |     r2 = 0;
    0x00007d3c str r2, [sp, 0x5c]                            |     *(endptr) = r2;
    0x00007d3e cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00007d40 bne.w 0x8812                                  |         goto label_107;
                                                             |     }
                                                             | label_21:
    0x00007d44 ldr r4, [pc, 0x274]                           |     
    0x00007d46 add r4, pc                                    |     r4 = 0xfd06;
    0x00007d48 ldr.w r0, [r4, 0x464]                         |     r0 = *(0x1016a);
    0x00007d4c bl 0x6094                                     |     r0 = fcn_00006094 (r0);
                                                             |     if (r0 != 0) {
    0x00007d50 cbz r0, 0x7d62                                |         
    0x00007d52 vldr d16, [r4, 0x70]                          |         __asm ("vldr d16, [r4, 0x70]");
    0x00007d56 vldr d17, [pc, 0x258]                         |         __asm ("vldr d17, [0x00007fb4]");
    0x00007d5a vand d16, d16, d17                            |         __asm ("vand d16, d16, d17");
    0x00007d5e vstr d16, [r4, 0x70]                          |         __asm ("vstr d16, [r4, 0x70]");
                                                             |     }
    0x00007d62 ldr r0, [sp, 0x74]                            |     r0 = *(arg_74h);
    0x00007d64 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00007d66 beq.w 0x8a92                                  |         goto label_108;
                                                             |     }
                                                             | label_23:
    0x00007d6a bl 0x6268                                     |     fcn_00006268 (r0);
    0x00007d6e ldr r0, [sp, 0x5c]                            |     r0 = *(endptr);
                                                             |     if (r0 != 0) {
    0x00007d70 cbz r0, 0x7d76                                |         
    0x00007d72 blx 0x332c                                    |         fcn_0000332c ();
                                                             |     }
    0x00007d76 ldr r4, [pc, 0x248]                           |     
    0x00007d78 add r0, sp, 0x74                              |     r0 += arg_74h;
    0x00007d7a bl 0x6c80                                     |     fcn_00006c80 (r0);
    0x00007d7e add r4, pc                                    |     r4 = 0xfd44;
    0x00007d80 ldr.w r0, [r4, 0x464]                         |     r0 = *(0x101a8);
    0x00007d84 bl 0x6094                                     |     r0 = fcn_00006094 (r0);
                                                             |     if (r0 != 0) {
    0x00007d88 cbz r0, 0x7da6                                |         
    0x00007d8a ldr r3, [r4, 0x70]                            |         r3 = *((r4 + 0x70));
    0x00007d8c lsls r6, r3, 0x1e                             |         r6 = r3 << 0x1e;
                                                             |         if (r6 < r3) {
    0x00007d8e bmi.w 0x9366                                  |             goto label_109;
                                                             |         }
    0x00007d90 strh r2, [r5, 0x16]                           |         *((r5 + 0x16)) = r2;
    0x00007d92 ldr r2, [r4, 0x74]                            |         r2 = *((r4 + 0x74));
    0x00007d94 lsls r5, r2, 0x1c                             |         r5 = r2 << 0x1c;
                                                             |         if (r5 < r2) {
    0x00007d96 bmi.w 0x92f4                                  |             goto label_110;
                                                             |         }
    0x00007d9a lsls r4, r2, 0x15                             |         r4 = r2 << 0x15;
                                                             |         if (r4 < r2) {
    0x00007d9c bmi.w 0x930a                                  |             goto label_111;
                                                             |         }
    0x00007da0 lsls r0, r3, 0x15                             |         r0 = r3 << 0x15;
                                                             |         if (r0 < r3) {
    0x00007da2 bmi.w 0x9476                                  |             goto label_112;
                                                             |         }
                                                             |     }
    0x00007da6 ldr r4, [pc, 0x21c]                           |     
    0x00007da8 add r1, sp, 0x60                              |     r1 += arg_60h;
    0x00007daa add r4, pc                                    |     r4 = 0xfd74;
    0x00007dac ldr.w r0, [r4, 0x474]                         |     r0 = *(0x101e8);
    0x00007db0 blx 0x33d4                                    |     r0 = fcn_000033d4 ();
    0x00007db4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00007db6 bne.w 0x953e                                  |         goto label_113;
                                                             |     }
    0x00007dba ldr.w r0, [r4, 0x474]                         |     r0 = *((r4 + 0x474));
    0x00007dbe add r1, sp, 0x64                              |     r1 += arg_64h;
    0x00007dc0 blx 0x387c                                    |     r0 = ext2fs_numeric_progress_close ();
    0x00007dc4 mov r4, r0                                    |     r4 = r0;
    0x00007dc6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00007dc8 bne.w 0x954e                                  |         goto label_114;
                                                             |     }
    0x00007dcc ldr r0, [pc, 0x1f8]                           |     
    0x00007dce add r0, pc                                    |     r0 = 0xfd9a;
    0x00007dd0 blx 0x3144                                    |     getenv (r0);
    0x00007dd4 str r0, [sp, 0x5c]                            |     *(endptr) = r0;
                                                             |     if (r0 != 0) {
    0x00007dd6 cbz r0, 0x7de2                                |         
    0x00007dd8 movs r2, 0xa                                  |         r2 = 0xa;
    0x00007dda mov r1, r4                                    |         r1 = r4;
    0x00007ddc blx 0x34d0                                    |         fcn_000034d0 ();
    0x00007de0 str r0, [sp, 0x60]                            |         *(arg_60h) = r0;
                                                             |     }
    0x00007de2 ldr r0, [pc, 0x1e8]                           |     
    0x00007de4 add r0, pc                                    |     r0 = 0xfdb6;
    0x00007de6 blx 0x3144                                    |     getenv (r0);
    0x00007dea str r0, [sp, 0x5c]                            |     *(endptr) = r0;
                                                             |     if (r0 != 0) {
    0x00007dec cbz r0, 0x7df8                                |         
    0x00007dee movs r2, 0xa                                  |         r2 = 0xa;
    0x00007df0 movs r1, 0                                    |         r1 = 0;
    0x00007df2 blx 0x34d0                                    |         fcn_000034d0 ();
    0x00007df6 str r0, [sp, 0x64]                            |         *(arg_64h) = r0;
                                                             |     }
    0x00007df8 ldr r3, [sp, 0x64]                            |     r3 = *(arg_64h);
                                                             |     if (r3 == 0) {
    0x00007dfa cbnz r3, 0x7e00                               |         
    0x00007dfc ldr r3, [sp, 0x60]                            |         r3 = *(arg_60h);
    0x00007dfe str r3, [sp, 0x64]                            |         *(arg_64h) = r3;
                                                             |     }
    0x00007e00 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00007e02 cmp r3, 0                                     |     
                                                             |     if (r3 <= 0) {
    0x00007e04 ble.w 0x8cdc                                  |         goto label_115;
                                                             |     }
    0x00007e08 ldr r3, [sp, 0x60]                            |     r3 = *(arg_60h);
    0x00007e0a ldr r2, [sp, 0x10]                            |     r2 = *(arg_10h);
    0x00007e0c cmp r3, r2                                    |     
                                                             |     if (r3 > r2) {
    0x00007e0e bgt.w 0x9568                                  |         goto label_116;
                                                             |     }
    0x00007e12 ldr r3, [sp, 0x64]                            |     r3 = *(arg_64h);
    0x00007e14 ldr r2, [sp, 0x10]                            |     r2 = *(arg_10h);
    0x00007e16 cmp r3, r2                                    |     
                                                             |     if (r3 > r2) {
    0x00007e18 bgt.w 0x8776                                  |         goto label_117;
                                                             |     }
                                                             | label_14:
    0x00007e1c ldr r5, [sp, 0x10]                            |     r5 = *(arg_10h);
                                                             | label_40:
    0x00007e1e asrs r3, r5, 0xa                              |     r3 = r5 >> 0xa;
    0x00007e20 asrs r1, r5, 0x1f                             |     r1 = r5 >> 0x1f;
    0x00007e22 lsrs r3, r3, 1                                |     r3 >>= 1;
    0x00007e24 lsrs r2, r1, 1                                |     r2 = r1 >> 1;
    0x00007e26 orr.w r3, r3, r1, lsl 31                      |     r3 |= (r1 << 31);
    0x00007e2a orrs.w r1, r3, r1, lsr 1                      |     r1 = r3 | (r1 >> 1);
    0x00007e2e mov.w r1, 0                                   |     r1 = 0;
                                                             |     if (r1 == r3) {
    0x00007e32 beq 0x7e44                                    |         goto label_118;
                                                             |     }
                                                             |     do {
    0x00007e34 lsrs r3, r3, 1                                |         r3 >>= 1;
    0x00007e36 adds r1, 1                                    |         r1++;
    0x00007e38 orr.w r3, r3, r2, lsl 31                      |         r3 |= (r2 << 31);
    0x00007e3c lsrs r2, r2, 1                                |         r2 >>= 1;
    0x00007e3e orrs.w r0, r3, r2                             |         r0 = r3 | r2;
    0x00007e42 bne 0x7e34                                    |         
                                                             |     } while (r0 != r3);
                                                             | label_118:
    0x00007e44 ldr r6, [pc, 0x188]                           |     
    0x00007e46 ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x00007e48 add r6, pc                                    |     r6 = 0xfe1c;
    0x00007e4a str r1, [r6, 0x28]                            |     *((r6 + 0x28)) = r1;
                                                             |     if (r3 != 0) {
    0x00007e4c cbz r3, 0x7e84                                |         
    0x00007e4e ldr r3, [r6, 0x70]                            |         r3 = *((r6 + 0x70));
    0x00007e50 ands r2, r3, 0x80                             |         r2 = r3 & 0x80;
                                                             |         if (r2 != r3) {
    0x00007e54 bne.w 0x8b5c                                  |             goto label_119;
                                                             |         }
    0x00007e58 ldr r1, [pc, 0x178]                           |         
    0x00007e5a ldr.w r0, [r6, 0x438]                         |         r0 = *((r6 + 0x438));
    0x00007e5e add r1, pc                                    |         r1 = 0xfe36;
    0x00007e60 bl 0x6f28                                     |         r0 = fcn_00006f28 (r0, r1, r2);
                                                             |         if (r0 != 0) {
    0x00007e64 cbz r0, 0x7e76                                |             
    0x00007e66 ldr r3, [r6, 0x70]                            |             r3 = *((r6 + 0x70));
    0x00007e68 orr r3, r3, 0x80                              |             r3 |= 0x80;
    0x00007e6c str r3, [r6, 0x70]                            |             *((r6 + 0x70)) = r3;
    0x00007e6e ldr r3, [r6, 0x6c]                            |             r3 = *((r6 + 0x6c));
    0x00007e70 bic r3, r3, 0x10                              |             r3 = BIT_MASK (r3, 0x10);
    0x00007e74 str r3, [r6, 0x6c]                            |             *((r6 + 0x6c)) = r3;
                                                             |         }
    0x00007e76 ldr r3, [pc, 0x160]                           |         
    0x00007e78 add r3, pc                                    |         r3 = 0xfe56;
    0x00007e7a ldr r2, [r3, 0x70]                            |         r2 = *(0xfec6);
    0x00007e7c ldr r6, [r3, 0x28]                            |         r6 = *(0xfe7e);
    0x00007e7e lsls r2, r2, 0x18                             |         r2 <<= 0x18;
                                                             |         if (r2 >= r2) {
    0x00007e80 bpl.w 0x9428                                  |             goto label_120;
                                                             |         }
                                                             |     }
                                                             | label_30:
    0x00007e84 ldr.w r8, [pc, 0x154]                         |     
    0x00007e88 movs r6, 1                                    |     r6 = 1;
    0x00007e8a add r8, pc                                    |     r8 = 0xfe6a;
    0x00007e8c ldr.w r1, [r8, 0x28]                          |     r1 = *(0xfe92);
    0x00007e90 add.w r2, r1, 0x2d                            |     r2 = r1 + 0x2d;
    0x00007e94 add.w r3, r1, 0xd                             |     r3 = r1 + 0xd;
    0x00007e98 rsb.w r0, r2, 0x20                            |     r0 = 0x20 - r2;
    0x00007e9c lsl.w r3, r6, r3                              |     r3 = r6 << r3;
    0x00007ea0 lsr.w r0, r6, r0                              |     r0 = r6 >> r0;
    0x00007ea4 lsl.w r2, r6, r2                              |     r2 = r6 << r2;
    0x00007ea8 orrs r3, r0                                   |     r3 |= r0;
    0x00007eaa ldr r0, [sp, 0x34]                            |     r0 = *(arg_34h);
    0x00007eac subs r2, 1                                    |     r2--;
    0x00007eae adc r3, r3, -1                                |     __asm ("adc r3, r3, -1");
    0x00007eb2 cmp r2, r0                                    |     
    0x00007eb4 ldr r2, [sp, 0x28]                            |     r2 = *(arg_28h);
    0x00007eb6 sbcs r3, r2                                   |     __asm ("sbcs r3, r2");
                                                             |     if (r2 <= r0) {
    0x00007eb8 blo.w 0x94c4                                  |         goto label_121;
                                                             |     }
    0x00007ebc ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x00007ebe add.w r0, r8, 0x10                            |     r0 = r8 + 0x10;
    0x00007ec2 ldr r2, [sp, 0x34]                            |     r2 = *(arg_34h);
    0x00007ec4 blx 0x39ac                                    |     fcn_000039ac ();
    0x00007ec8 ldr.w r3, [r8, 0x70]                          |     r3 = *((r8 + 0x70));
    0x00007ecc lsls r6, r3, 0x1c                             |     r6 = r3 << 0x1c;
                                                             |     if (r6 >= r3) {
    0x00007ece bpl 0x7f0c                                    |         goto label_122;
                                                             |     }
    0x00007ed0 ldr.w sl, [r8, 0x438]                         |     sl = *((r8 + 0x438));
    0x00007ed4 ldr.w r0, [sl]                                |     r0 = *(sl);
                                                             |     if (r0 == 0) {
    0x00007ed8 cbz r0, 0x7efa                                |         goto label_123;
                                                             |     }
    0x00007eda mov.w sb, 0                                   |     sb = 0;
    0x00007ede mov r6, sb                                    |     r6 = sb;
                                                             |     do {
    0x00007ee0 blx 0x332c                                    |         fcn_0000332c ();
    0x00007ee4 ldr.w r3, [r8, 0x438]                         |         r3 = *((r8 + 0x438));
    0x00007ee8 str.w r6, [r3, sb]                            |         __asm ("str.w r6, [r3, sb]");
    0x00007eec add.w sb, sb, 4                               |         sb += 4;
    0x00007ef0 ldr.w r0, [r3, sb]                            |         r0 = *((r3 + sb));
    0x00007ef4 cmp r0, 0                                     |         
    0x00007ef6 bne 0x7ee0                                    |         
                                                             |     } while (r0 != 0);
                                                             | label_123:
    0x00007efa ldr r0, [pc, 0xe4]                            |     
    0x00007efc add r0, pc                                    |     r0 = 0xfee2;
    0x00007efe blx 0x367c                                    |     fcn_0000367c ();
    0x00007f02 movs r3, 0                                    |     r3 = 0;
    0x00007f04 str.w r0, [sl]                                |     __asm ("str.w r0, [sl]");
    0x00007f08 str.w r3, [sl, 4]                             |     __asm ("str.w r3, [sl, 4]");
                                                             | label_122:
    0x00007f0c ldr r6, [pc, 0xd4]                            |     
    0x00007f0e add r6, pc                                    |     r6 = 0xfef6;
    0x00007f10 ldr r3, [r6, 8]                               |     r3 = *(0xfefe);
    0x00007f12 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00007f14 bne.w 0x8a3c                                  |         goto label_124;
                                                             |     }
    0x00007f16 strh r2, [r2, 0x2c]                           |     *((r2 + 0x2c)) = r2;
    0x00007f18 ldr r3, [sp, 0x1c]                            |     r3 = *(arg_1ch);
    0x00007f1a cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00007f1c bne 0x7ff8                                    |         void (*0x7ff8)() ();
                                                             |     }
                                                             | label_105:
    0x00007f4e ldr.w r0, [r8, 0x434]                         |     r0 = *((r8 + 0x434));
    0x00007f52 mov r1, sl                                    |     r1 = sl;
    0x00007f54 bl 0x61e8                                     |     r0 = fcn_000061e8 (r0, r1);
                                                             |     if (r0 != 0) {
    0x00007f58 cbnz r0, 0x7f9e                               |         goto label_125;
                                                             |     }
    0x00007f5a mov r1, sb                                    |     r1 = sb;
    0x00007f5c mov r0, sl                                    |     r0 = sl;
    0x00007f5e blx 0x3928                                    |     r0 = fcn_00003928 ();
                                                             |     if (r0 != 0) {
    0x00007f62 cbnz r0, 0x7f88                               |         goto label_126;
                                                             |     }
    0x00007f64 cmp r4, 0                                     |     
                                                             |     if (r4 != 0) {
    0x00007f66 bne.w 0x7cfa                                  |         goto label_7;
                                                             |     }
                                                             | label_9:
    0x00007f6a mov r0, r5                                    |     r0 = r5;
    0x00007f6c blx 0x332c                                    |     fcn_0000332c ();
    0x00007f70 ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x00007f72 blx 0x332c                                    |     fcn_0000332c ();
    0x00007f76 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x00007f78 beq.w 0x7d28                                  |         goto label_8;
                                                             |     }
                                                             | label_106:
    0x00007f7c ldr r1, [pc, 0x70]                            |     
    0x00007f7e mov r0, fp                                    |     r0 = fp;
    0x00007f80 add r1, pc                                    |     r1 = 0xff74;
    0x00007f82 bl 0x6c2c                                     |     fcn_00006c2c (r0, r1);
    0x00007f86 b 0x7d28                                      |     goto label_8;
                                                             | label_126:
    0x00007f88 ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00007f8a mov r3, sl                                    |     r3 = sl;
    0x00007f8c ldr r2, [pc, 0x64]                            |     
    0x00007f8e ldr r0, [r1]                                  |     r0 = *(r1);
    0x00007f90 movs r1, 1                                    |     r1 = 1;
    0x00007f92 add r2, pc                                    |     r2 = 0xff8a;
    0x00007f94 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00007f98 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00007f9a beq 0x7f6a                                    |         goto label_9;
                                                             |     }
    0x00007f9c b 0x7cfa                                      |     goto label_7;
                                                             | label_125:
    0x00007f9e mov r1, sl                                    |     r1 = sl;
    0x00007fa0 mov r0, fp                                    |     r0 = fp;
    0x00007fa2 bl 0x6c2c                                     |     fcn_00006c2c (r0, r1);
    0x00007fa6 cmp r4, 0                                     |     
                                                             |     if (r4 == 0) {
    0x00007fa8 beq 0x7f6a                                    |         goto label_9;
                                                             |     }
    0x00007faa b 0x7cfa                                      |     goto label_7;
                                                             | label_33:
    0x00008100 str.w sl, [sp, 0x7c]                          |     __asm ("str.w sl, [arg_7ch]");
                                                             | label_32:
    0x00008104 mov r0, r8                                    |     r0 = r8;
    0x00008106 blx 0x3940                                    |     fcn_00003940 ();
    0x0000810a str r0, [sp, 0x80]                            |     *(arg_80h) = r0;
    0x0000810c mov r0, r8                                    |     r0 = r8;
    0x0000810e blx 0x3410                                    |     fcn_00003410 ();
    0x00008112 ldrb.w r3, [sp, 0x84]                         |     r3 = *(arg_84h);
    0x00008116 mov r2, r0                                    |     r2 = r0;
    0x00008118 mov r0, r6                                    |     r0 = r6;
    0x0000811a bfi r3, r2, 0, 1                              |     value_1 = BIT_MASK (0, 1);
                                                             |     value_2 = r2 & value_1;
                                                             |     value_1 = ~value_1;
                                                             |     r3 &= value_1;
                                                             |     r3 |= value_2;
    0x0000811e strb.w r3, [sp, 0x84]                         |     *(arg_84h) = r3;
    0x00008122 blx 0x2f40                                    |     blkid_free_probe ();
    0x00008126 ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x00008128 cmp r5, r0                                    |     
                                                             |     if (r5 < r0) {
    0x0000812a bhs 0x813a                                    |         
    0x0000812c ldr r6, [pc, 0x1c0]                           |         
    0x0000812e mov r1, r5                                    |         r1 = r5;
    0x00008130 bl 0x116b8                                    |         fcn_000116b8 (r0, r1, r2);
    0x00008134 add r6, pc                                    |         r6 = 0x10428;
    0x00008136 strh.w r0, [r6, 0x174]                        |         *((r6 + 0x174)) = r0;
                                                             |     }
    0x0000813a ldr r0, [sp, 0x7c]                            |     r0 = *(arg_7ch);
    0x0000813c cmp r5, r0                                    |     
                                                             |     if (r5 < r0) {
    0x0000813e bhs 0x814e                                    |         
    0x00008140 ldr r6, [pc, 0x1b0]                           |         
    0x00008142 mov r1, r5                                    |         r1 = r5;
    0x00008144 bl 0x116b8                                    |         fcn_000116b8 (r0, r1, r2);
    0x00008148 add r6, pc                                    |         r6 = 0x10440;
    0x0000814a str.w r0, [r6, 0x180]                         |         __asm ("str.w r0, [r6, 0x180]");
                                                             |     }
    0x0000814e ldr r3, [sp, 0x80]                            |     r3 = *(arg_80h);
    0x00008150 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008152 bne.w 0x8e82                                  |         goto label_127;
                                                             |     }
                                                             | label_43:
    0x00008156 ldrb.w r3, [sp, 0x84]                         |     r3 = *(arg_84h);
    0x0000815a lsls r1, r3, 0x1f                             |     r1 = r3 << 0x1f;
                                                             |     if (r1 < r3) {
    0x0000815c bpl 0x816a                                    |         
    0x0000815e ldr r3, [pc, 0x198]                           |         
    0x00008160 add r3, pc                                    |         
    0x00008162 ldr r3, [r3, 0x28]                            |         r3 = *(0x10486);
    0x00008164 cmp r3, r5                                    |         
                                                             |         if (r3 != r5) {
    0x00008166 bne.w 0x8bb6                                  |             goto label_128;
                                                             |         }
                                                             |     }
                                                             | label_35:
    0x0000816a ldr r5, [pc, 0x190]                           |     
    0x0000816c movs r2, 2                                    |     r2 = 2;
    0x0000816e ldr r1, [pc, 0x190]                           |     
    0x00008170 mov.w r8, 0x400                               |     r8 = 0x400;
    0x00008174 add r5, pc                                    |     r5 = 0x10476;
    0x00008176 ldr.w r0, [r5, 0x438]                         |     r0 = *(0x108ae);
    0x0000817a add r1, pc                                    |     r1 = 0x10480;
    0x0000817c bl 0x6dbc                                     |     fcn_00006dbc (r0, r1, r2);
    0x00008180 ldr r3, [pc, 0x180]                           |     
    0x00008182 ldr r2, [r5, 0x28]                            |     r2 = *(0x1049e);
    0x00008184 add r3, pc                                    |     r3 = 0x1048c;
    0x00008186 str r0, [r3, 0x10]                            |     *((r3 + 0x10)) = r0;
    0x00008188 ldr r3, [r5, 0x70]                            |     r3 = *(0x104e6);
    0x0000818a lsl.w r8, r8, r2                              |     r8 <<= r2;
    0x0000818e lsls r2, r3, 0x18                             |     r2 = r3 << 0x18;
    0x00008190 itt mi                                        |     
                                                             |     if (r2 >= r3) {
    0x00008192 movmi r3, 0x40                                |         r3 = 0x40;
                                                             |     }
                                                             |     if (r2 < r3) {
    0x00008194 strhmi r3, [r5, 0x10e]                        |         __asm ("strhmi r3, [r5, 0x10e]");
                                                             |     }
    0x00008198 ldr r5, [pc, 0x16c]                           |     
    0x0000819a add r5, pc                                    |     r5 = 0x104a6;
    0x0000819c ldr r3, [r5, 0x28]                            |     r3 = *(0x104ce);
    0x0000819e cmp r3, r8                                    |     
                                                             |     if (r3 < r8) {
    0x000081a0 bge 0x81c8                                    |         
    0x000081a2 ldr r2, [pc, 0x168]                           |         
    0x000081a4 add r2, pc                                    |         r2 = 0x104b6;
    0x000081a6 ldr.w r1, [r2, 0x44c]                         |         r1 = *(0x10902);
    0x000081aa cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000081ac beq.w 0x9000                                  |             goto label_129;
                                                             |         }
    0x000081b0 ldr r3, [pc, 0x15c]                           |         
    0x000081b2 movs r1, 1                                    |         r1 = 1;
    0x000081b4 ldr r2, [pc, 0x15c]                           |         
    0x000081b6 add r3, pc                                    |         
    0x000081b8 ldr r3, [r3, 0x28]                            |         r3 = *(0x104f2);
    0x000081ba add r2, pc                                    |         r2 = 0x104d2;
    0x000081bc str r3, [sp]                                  |         *(sp) = r3;
    0x000081be ldr r3, [sp, 0x18]                            |         r3 = *(arg_18h);
    0x000081c0 ldr r0, [r3]                                  |         r0 = *(0x104f2);
    0x000081c2 mov r3, r8                                    |         r3 = r8;
    0x000081c4 blx 0x36f0                                    |         ext2fs_bg_itable_unused_set ();
                                                             |     }
    0x000081c8 movs r2, 0                                    |     r2 = 0;
    0x000081ca movs r1, 0x12                                 |     r1 = 0x12;
    0x000081cc movs r0, 3                                    |     r0 = 3;
    0x000081ce bl 0x60e8                                     |     r0 = fcn_000060e8 (r0, r1, r2);
                                                             |     if (r0 != 0) {
    0x000081d2 cbz r0, 0x81e0                                |         
    0x000081d4 ldr r3, [pc, 0x140]                           |         
    0x000081d6 add r3, pc                                    |         
    0x000081d8 ldr r3, [r3, 0x74]                            |         r3 = *(0x10566);
    0x000081da lsls r3, r3, 0x15                             |         r3 <<= 0x15;
                                                             |         if (r3 < r3) {
    0x000081dc bmi.w 0x8fec                                  |             goto label_130;
                                                             |         }
                                                             |     }
                                                             | label_48:
    0x000081e0 movs r1, 6                                    |     r1 = 6;
    0x000081e2 ldr r5, [pc, 0x138]                           |     
    0x000081e4 movs r2, 0x25                                 |     r2 = 0x25;
    0x000081e6 movs r0, 2                                    |     r0 = 2;
    0x000081e8 bl 0x60e8                                     |     r0 = fcn_000060e8 (r0, r1, r2);
    0x000081ec clz r0, r0                                    |     r0 &= r0;
    0x000081f0 add r5, pc                                    |     r5 = 0x10512;
    0x000081f2 lsrs r0, r0, 5                                |     r0 >>= 5;
    0x000081f4 movs r1, 4                                    |     r1 = 4;
    0x000081f6 str.w r0, [r5, 0x420]                         |     __asm ("str.w r0, [r5, 0x420]");
    0x000081f8 lsls r0, r4, 0x10                             |     r0 = r4 << 0x10;
    0x000081fa ldr r0, [pc, 0x124]                           |     
    0x000081fc add r0, pc                                    |     r0 = 0x10522;
    0x000081fe blx 0x3374                                    |     r0 = fcn_00003374 ();
                                                             |     if (r0 == 0) {
    0x00008202 cbnz r0, 0x820a                               |         
    0x00008204 movs r3, 1                                    |         r3 = 1;
    0x00008206 str.w r3, [r5, 0x420]                         |         __asm ("str.w r3, [r5, 0x420]");
                                                             |     }
    0x0000820a ldr r6, [pc, 0x118]                           |     
    0x0000820c ldr r1, [pc, 0x118]                           |     
    0x0000820e ldr r5, [pc, 0x11c]                           |     
    0x00008210 add r6, pc                                    |     r6 = 0x1053a;
    0x00008212 ldr.w r2, [r6, 0x420]                         |     r2 = *(0x1095a);
    0x00008216 add r1, pc                                    |     r1 = 0x10542;
    0x00008218 ldr.w r0, [r6, 0x438]                         |     r0 = *(0x10972);
    0x0000821c add r5, pc                                    |     r5 = 0x1054e;
    0x0000821e bl 0x6f28                                     |     fcn_00006f28 (r0, r1, r2);
    0x00008222 ldr r1, [pc, 0x10c]                           |     
    0x00008224 ldr r2, [r5, 0x20]                            |     r2 = *(0x1056e);
    0x00008226 str.w r0, [r6, 0x420]                         |     __asm ("str.w r0, [r6, 0x420]");
    0x0000822a add r1, pc                                    |     r1 = 0x10560;
    0x0000822c ldr.w r0, [r6, 0x438]                         |     r0 = *(0x10972);
    0x00008230 bl 0x6f28                                     |     fcn_00006f28 (r0, r1, r2);
    0x00008234 ldr r1, [pc, 0xfc]                            |     
    0x00008236 movs r2, 0                                    |     r2 = 0;
    0x00008238 str r0, [r5, 0x20]                            |     *((r5 + 0x20)) = r0;
    0x0000823a ldr.w r0, [r6, 0x438]                         |     r0 = *(0x10972);
    0x0000823e add r1, pc                                    |     r1 = 0x10576;
    0x00008240 bl 0x6f28                                     |     fcn_00006f28 (r0, r1, r2);
    0x00008244 ldr.w r3, [r6, 0x424]                         |     r3 = *(0x1095e);
    0x00008248 subs r2, r0, 0                                |     r2 = r0 - 0;
    0x0000824a it ne                                         |     
                                                             |     if (r2 == r0) {
    0x0000824c movne r2, 1                                   |         r2 = 1;
                                                             |     }
    0x0000824e orr.w r3, r3, r2, lsl 1                       |     r3 |= (r2 << 1);
    0x00008252 orr r3, r3, 4                                 |     r3 |= 4;
    0x00008256 str.w r3, [r6, 0x424]                         |     __asm ("str.w r3, [r6, 0x424]");
    0x0000825a ldr r3, [pc, 0xdc]                            |     r3 = *(0x833a);
    0x0000825c ldr r7, [r7, r3]                              |     r7 = *((r7 + r3));
    0x0000825e ldr r0, [r7]                                  |     r0 = *(r7);
    0x00008260 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008262 beq.w 0x8ea0                                  |         goto label_131;
                                                             |     }
    0x00008266 ldrd r2, r3, [r5, 0x18]                       |     __asm ("ldrd r2, r3, [r5, 0x18]");
    0x0000826a cmp.w r3, -1                                  |     
    0x0000826e it eq                                         |     
                                                             |     if (r3 == -1) {
    0x00008270 cmpeq r2, -1                                  |         __asm ("cmpeq r2, -1");
                                                             |     }
                                                             |     if (r3 == -1) {
    0x00008274 beq.w 0x8eca                                  |         goto label_132;
                                                             |     }
                                                             | label_44:
    0x00008278 ldr r0, [r7]                                  |     r0 = *(r7);
    0x0000827a ldr r5, [pc, 0xc0]                            |     
    0x0000827c blx 0x332c                                    |     fcn_0000332c ();
    0x00008280 ldr r1, [pc, 0xbc]                            |     
    0x00008282 movs r2, 0                                    |     r2 = 0;
    0x00008284 add r5, pc                                    |     r5 = 0x105c6;
    0x00008286 ldr.w r0, [r5, 0x438]                         |     r0 = *(0x109fe);
    0x0000828a add r1, pc                                    |     r1 = 0x105ce;
    0x0000828c bl 0x6f28                                     |     fcn_00006f28 (r0, r1, r2);
    0x00008290 str.w r0, [r5, 0x41c]                         |     __asm ("str.w r0, [r5, 0x41c]");
                                                             |     if (r0 != 0) {
    0x00008294 cbz r0, 0x82a2                                |         
    0x00008296 ldr r3, [pc, 0xac]                            |         
    0x00008298 vmov.i32 d16, 0                               |         __asm ("vmov.i32 d16, 0");
    0x0000829c add r3, pc                                    |         r3 = 0x105e6;
    0x0000829e vstr d16, [r3, 0x18]                          |         __asm ("vstr d16, [r3, 0x18]");
                                                             |     }
    0x000082a2 ldr r5, [pc, 0xa4]                            |     
    0x000082a4 add r5, pc                                    |     r5 = 0x105f2;
    0x000082a6 ldr r3, [r5, 0x70]                            |     r3 = *(0x10662);
    0x000082a8 ldr.w r0, [r5, 0x438]                         |     r0 = *(0x10a2a);
    0x000082ac lsls r6, r3, 0xe                              |     r6 = r3 << 0xe;
                                                             |     if (r6 < r3) {
    0x000082ae bmi.w 0x88fc                                  |         goto label_133;
                                                             |     }
                                                             | label_22:
    0x000082b2 ldr.w sl, [pc, 0x98]                          |     
    0x000082b6 add sl, pc                                    |     sl = 0x10608;
    0x000082b8 ldr.w sb, [sl, 0x438]                         |     sb = *(0x10a40);
    0x000082bc ldr.w r3, [sb]                                |     r3 = *(0x10a40);
    0x000082c0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000082c2 beq 0x839e                                    |         goto label_134;
                                                             |     }
    0x000082c4 ldr r7, [pc, 0x88]                            |     
    0x000082c6 add r5, sp, 0x5c                              |     r5 += endptr;
    0x000082c8 ldr r6, [pc, 0x88]                            |     
    0x000082ca add r7, pc                                    |     r7 = 0x1061e;
    0x000082cc add r6, pc                                    |     r6 = 0x10624;
    0x000082ce b 0x8362                                      |     
                                                             |     while (r0 == 0) {
                                                             | label_10:
    0x00008358 blx 0x332c                                    |         fcn_0000332c ();
    0x0000835c ldr r3, [sb, 4]!                              |         r3 = *((sb += 4));
                                                             |         if (r3 == 0) {
    0x00008360 cbz r3, 0x839e                                |             goto label_134;
                                                             |         }
                                                             | label_11:
    0x00008362 movs r3, 0                                    |         r3 = 0;
    0x00008364 ldr.w r0, [sl, 0x434]                         |         r0 = *((sl + 0x434));
    0x00008368 str r3, [sp, 0x5c]                            |         *(endptr) = r3;
    0x0000836a mov r1, r6                                    |         r1 = r6;
    0x0000836c ldr.w r3, [pc, 0x5e8]                         |         
    0x00008370 ldr.w r2, [sb]                                |         r2 = *(sb);
    0x00008374 str r5, [sp, 4]                               |         *(arg_4h) = r5;
    0x00008376 add r3, pc                                    |         r3 = 0x10cd2;
    0x00008378 str r3, [sp]                                  |         *(sp) = r3;
    0x0000837a mov r3, r7                                    |         r3 = r7;
    0x0000837c bl 0xe5c4                                     |         fcn_0000e5c4 (r0);
    0x00008380 ldr r0, [sp, 0x5c]                            |         r0 = *(endptr);
    0x00008382 cmp r0, 0                                     |         
    0x00008384 beq 0x8358                                    |         
                                                             |     }
    0x00008386 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x00008388 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000838a beq 0x8358                                    |         goto label_10;
                                                             |     }
    0x0000838c bl 0x62b4                                     |     fcn_000062b4 (r0);
    0x00008390 ldr r0, [sp, 0x5c]                            |     r0 = *(endptr);
    0x00008392 blx 0x332c                                    |     fcn_0000332c ();
    0x00008396 ldr r3, [sb, 4]!                              |     r3 = *((sb += 4));
    0x0000839a cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000839c bne 0x8362                                    |         goto label_11;
                                                             |     }
                                                             | label_134:
    0x0000839e ldr r3, [sp, 0x24]                            |     r3 = *(arg_24h);
                                                             |     if (r3 != 0) {
    0x000083a0 cbz r3, 0x83a8                                |         
    0x000083a2 ldr r0, [sp, 0x24]                            |         r0 = *(arg_24h);
    0x000083a4 bl 0x62b4                                     |         fcn_000062b4 (r0);
                                                             |     }
    0x000083a8 ldrd r3, r2, [sp, 0x40]                       |     __asm ("ldrd r3, r2, [arg_40h]");
    0x000083ac orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 == r2) {
    0x000083ae bne 0x83c6                                    |         
    0x000083b0 ldr.w r5, [pc, 0x5a8]                         |         
    0x000083b4 add r5, pc                                    |         r5 = 0x10d14;
    0x000083b6 ldr.w r0, [r5, 0x410]                         |         r0 = *(0x11124);
    0x000083ba ldr.w r1, [r5, 0x414]                         |         r1 = *(0x11128);
    0x000083be orrs.w r3, r0, r1                             |         r3 = r0 | r1;
    0x000083c0 lsls r1, r0, 0xc                              |         r1 = r0 << 0xc;
                                                             |         if (r1 != r0) {
    0x000083c2 bne.w 0x903c                                  |             goto label_135;
                                                             |         }
                                                             |     }
                                                             | label_50:
    0x000083c6 ldr.w r3, [pc, 0x598]                         |     
    0x000083ca add r3, pc                                    |     
    0x000083cc ldr r3, [r3, 0x24]                            |     r3 = *(0x10d54);
    0x000083ce lsls r1, r3, 0x1d                             |     r1 = r3 << 0x1d;
                                                             |     if (r1 < r3) {
    0x000083d0 bpl 0x83e0                                    |         
    0x000083d2 ldr.w r1, [pc, 0x590]                         |         
    0x000083d6 add r1, pc                                    |         r1 = 0x10d40;
    0x000083d8 ldr r2, [r1, 0x74]                            |         r2 = *(0x10db4);
    0x000083da orr r2, r2, 0x2000                            |         r2 |= 0x2000;
    0x000083de str r2, [r1, 0x74]                            |         *((r1 + 0x74)) = r2;
                                                             |     }
    0x000083e0 ldr.w r1, [pc, 0x584]                         |     
    0x000083e4 add r1, pc                                    |     r1 = 0x10d50;
    0x000083e6 ldr r2, [r1, 0x74]                            |     r2 = *(0x10dc4);
    0x000083e8 lsls r2, r2, 0x12                             |     r2 <<= 0x12;
                                                             |     if (r2 < r2) {
    0x000083ea bpl 0x8408                                    |         
    0x000083ec ldr.w r2, [pc, 0x57c]                         |         
    0x000083f0 orr r3, r3, 4                                 |         r3 |= 4;
    0x000083f4 add r2, pc                                    |         r2 = 0x10d64;
    0x000083f6 str r3, [r2, 0x24]                            |         *((r2 + 0x24)) = r3;
    0x000083f8 ldr r3, [sp, 0x14]                            |         r3 = *(arg_14h);
    0x000083fa cmp r3, 0x80                                  |         
                                                             |         if (r3 == 0x80) {
    0x000083fc beq.w 0x9398                                  |             goto label_136;
                                                             |         }
    0x00008400 ldr r3, [sp, 0x14]                            |         r3 = *(arg_14h);
    0x00008402 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00008404 beq.w 0x901c                                  |             goto label_137;
                                                             |         }
                                                             |     }
                                                             | label_49:
    0x00008408 ldr.w r2, [pc, 0x564]                         |     
    0x0000840c ldr.w r0, [pc, 0x564]                         |     
    0x00008410 add r2, pc                                    |     r2 = 0x10d84;
    0x00008412 ldr r3, [r2, 0x74]                            |     r3 = *(0x10df8);
    0x00008414 add r0, pc                                    |     r0 = 0x10d8c;
    0x00008416 and r1, r3, 0x410                             |     r1 = r3 & 0x410;
    0x0000841a cmp.w r1, 0x410                               |     
    0x0000841e itt eq                                        |     
                                                             |     if (r1 == 0x410) {
    0x00008420 biceq r3, r3, 0x10                            |         __asm ("biceq r3, r3, 0x10");
                                                             |     }
                                                             |     if (r1 == 0x410) {
    0x00008424 str r3, [r2, 0x74]                            |         *((r2 + 0x74)) = r3;
                                                             |     }
    0x00008426 ldrd r3, r2, [r0, 0x70]                       |     __asm ("ldrd r3, r2, [r0, 0x70]");
    0x0000842a lsls r7, r2, 0x16                             |     r7 = r2 << 0x16;
                                                             |     if (r7 < r2) {
    0x0000842c bpl 0x84ac                                    |         
    0x0000842e ands r1, r3, 0x40                             |         r1 = r3 & 0x40;
                                                             |         if (r1 == r3) {
    0x00008432 beq.w 0x9582                                  |             goto label_138;
                                                             |         }
    0x00008436 lsls r6, r3, 0x1b                             |         r6 = r3 << 0x1b;
                                                             |         if (r6 >= r3) {
    0x00008438 bpl.w 0x8b2a                                  |             goto label_139;
                                                             |         }
    0x0000843c ldr r3, [r0, 0x6c]                            |         r3 = *((r0 + 0x6c));
    0x0000843e lsls r1, r3, 0x1b                             |         r1 = r3 << 0x1b;
                                                             |         if (r1 < r3) {
    0x00008440 bmi.w 0x8b12                                  |             goto label_140;
                                                             |         }
    0x00008444 ldr r3, [r0]                                  |         r3 = *(r0);
    0x00008446 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x00008448 bne 0x84c8                                    |             
    0x0000844a ldrd r1, r2, [r0, 0x28]                       |             __asm ("ldrd r1, r2, [r0, 0x28]");
    0x0000844e mov.w r3, 0x400                               |             r3 = 0x400;
    0x00008452 lsl.w r2, r3, r2                              |             r2 = r3 << r2;
    0x00008456 lsls r3, r1                                   |             r3 <<= r1;
    0x00008458 cmp.w r2, r3, lsl 4                           |             
                                                             |             if (r2 > r3) {
    0x0000845c bgt.w 0x8b48                                  |                 goto label_141;
                                                             |             }
    0x00008460 ldr r3, [r0, 0x30]                            |             r3 = *((r0 + 0x30));
    0x00008462 cmp r3, 0                                     |             
                                                             |             if (r3 != 0) {
    0x00008464 bne 0x84d2                                    |                 goto label_142;
                                                             |             }
    0x00008466 b 0x84ec                                      |             
                                                             |         } else {
    0x000084ac lsls r5, r3, 0x1b                             |             r5 = r3 << 0x1b;
                                                             |             if (r5 < r3) {
    0x000084ae bmi.w 0x8b0a                                  |                 goto label_143;
                                                             |             }
                                                             | label_29:
    0x000084b2 ldr.w r3, [pc, 0x4cc]                         |             
    0x000084b6 add r3, pc                                    |             r3 = 0x10e3c;
    0x000084b8 ldr r2, [r3, 0x6c]                            |             r2 = *(0x10ea8);
    0x000084ba lsls r2, r2, 0x1b                             |             r2 <<= 0x1b;
                                                             |             if (r2 >= r2) {
    0x000084bc bpl 0x84c8                                    |                 goto label_28;
                                                             |             }
    0x000084be ldr r1, [r3, 0x74]                            |             r1 = *((r3 + 0x74));
    0x000084c0 ands r1, r1, 1                                |             r1 &= 1;
                                                             |             if (r1 == r1) {
    0x000084c4 beq.w 0x965e                                  |                 goto label_144;
                                                             |             }
                                                             |         }
                                                             | label_28:
    0x000084c8 ldr.w r3, [pc, 0x4b8]                         |         
    0x000084cc add r3, pc                                    |         
    0x000084ce ldr r3, [r3, 0x30]                            |         r3 = *(0x10e84);
                                                             |         if (r3 != 0) {
    0x000084d0 cbz r3, 0x84e0                                |             
                                                             | label_142:
    0x000084d2 cmp r3, 0xff                                  |             
                                                             |             if (r3 < 0xff) {
    0x000084d4 bls.w 0x950a                                  |                 goto label_145;
                                                             |             }
    0x000084d8 cmp.w r3, r8, lsl 3                           |             
                                                             |             if (r3 > r8) {
    0x000084dc bhi.w 0x950a                                  |                 goto label_145;
                                                             |             }
                                                             |         }
    0x000084e0 ldr.w r2, [pc, 0x4a4]                         |         
    0x000084e4 add r2, pc                                    |         
    0x000084e6 ldr r2, [r2, 0x74]                            |         r2 = *(0x10ee4);
    0x000084e8 lsls r7, r2, 0x16                             |         r7 = r2 << 0x16;
                                                             |         if (r7 >= r2) {
    0x000084ea bpl 0x84f8                                    |             goto label_146;
                                                             |         }
                                                             |     }
    0x000084ec ldr.w r2, [pc, 0x49c]                         |     
    0x000084f0 add r2, pc                                    |     r2 = 0x10e80;
    0x000084f2 str r3, [r2, 0x34]                            |     *((r2 + 0x34)) = r3;
    0x000084f4 movs r3, 0                                    |     r3 = 0;
    0x000084f6 str r3, [r2, 0x30]                            |     *((r2 + 0x30)) = r3;
                                                             | label_146:
    0x000084f8 ldr r3, [sp, 0x14]                            |     r3 = *(arg_14h);
    0x000084fa cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x000084fc beq 0x85cc                                    |         
    0x000084fe ldr.w r3, [pc, 0x490]                         |         
    0x00008502 ldr r2, [sp, 0x20]                            |         r2 = *(arg_20h);
    0x00008504 add r3, pc                                    |         
    0x00008506 ldr r3, [r3, 0x70]                            |         r3 = *(0x10f0a);
    0x00008508 cmp r2, 0                                     |         
                                                             |         if (r2 != 0) {
    0x0000850a bne 0x85e8                                    |             goto label_37;
                                                             |         }
    0x0000850c lsls r6, r3, 0x16                             |         r6 = r3 << 0x16;
                                                             |         if (r6 < r3) {
    0x0000850e bmi.w 0x8bf6                                  |             goto label_147;
                                                             |         }
                                                             | label_12:
    0x00008512 ldr.w r3, [pc, 0x480]                         |         
    0x00008516 add r3, pc                                    |         r3 = 0x10eb0;
    0x00008518 ldr r2, [r3, 0x5c]                            |         r2 = *(0x10f0c);
                                                             |         if (r2 != 0) {
    0x0000851a cbz r2, 0x8540                                |             
    0x0000851c ldr r0, [sp, 0x14]                            |             r0 = *(arg_14h);
    0x0000851e cmp r0, 0x7f                                  |             
                                                             |             if (r0 <= 0x7f) {
    0x00008520 ble.w 0x9458                                  |                 goto label_148;
                                                             |             }
    0x00008524 ldr r1, [r3, 0x28]                            |             r1 = *((r3 + 0x28));
    0x00008526 mov.w r2, 0x400                               |             r2 = 0x400;
    0x0000852a lsls r2, r1                                   |             r2 <<= r1;
    0x0000852c cmp r2, r0                                    |             
                                                             |             if (r2 < r0) {
    0x0000852e blt.w 0x9458                                  |                 goto label_148;
                                                             |             }
    0x00008532 subs r2, r0, 1                                |             r2 = r0 - 1;
    0x00008534 tst r2, r0                                    |             
                                                             |             if ((r2 & r0) != 0) {
    0x00008536 bne.w 0x9458                                  |                 goto label_148;
                                                             |             }
    0x0000853a ldr r2, [sp, 0x14]                            |             r2 = *(arg_14h);
    0x0000853c strh.w r2, [r3, 0x68]                         |             *((r3 + 0x68)) = r2;
                                                             |         }
    0x00008540 ldr.w r3, [pc, 0x454]                         |         
    0x00008544 add r3, pc                                    |         r3 = 0x10ee0;
    0x00008546 ldr r2, [r3, 0x70]                            |         r2 = *(0x10f50);
    0x00008548 lsls r1, r2, 0x10                             |         r1 = r2 << 0x10;
                                                             |         if (r1 < r2) {
    0x0000854a bmi.w 0x8afe                                  |             goto label_149;
                                                             |         }
                                                             | label_26:
    0x0000854e ldr r3, [sp, 0x14]                            |         r3 = *(arg_14h);
    0x00008550 cmp r3, 0x80                                  |         
                                                             |         if (r3 != 0x80) {
    0x00008552 bne.w 0x8a98                                  |             goto label_150;
                                                             |         }
    0x00008556 ldr.w r3, [pc, 0x444]                         |         
    0x0000855a movs r2, 1                                    |         r2 = 1;
    0x0000855c ldr.w r1, [pc, 0x440]                         |         
    0x00008560 add r3, pc                                    |         r3 = 0x10f02;
    0x00008562 ldr.w r0, [r3, 0x438]                         |         r0 = *(0x1133a);
    0x00008566 add r1, pc                                    |         r1 = 0x10f0a;
    0x00008568 bl 0x6f28                                     |         r0 = fcn_00006f28 (r0, r1, r2);
    0x0000856c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000856e bne.w 0x9254                                  |             goto label_151;
                                                             |         }
    0x00008572 ldr r3, [sp, 0x2c]                            |         r3 = *(arg_2ch);
    0x00008574 cmp r3, 0                                     |         
                                                             |         if (r3 != 0) {
    0x00008576 bne 0x8634                                    |             goto label_24;
                                                             |         }
                                                             | label_13:
    0x00008578 ldr.w r4, [pc, 0x428]                         |         
    0x0000857c asr.w r6, r8, 0x1f                            |         r6 = r8 >> 0x1f;
    0x00008580 ldr r3, [sp, 0x30]                            |         r3 = *(arg_30h);
    0x00008582 add r4, pc                                    |         r4 = 0x10f2a;
    0x00008584 add.w r7, r4, 0x10                            |         r7 = r4 + 0x10;
    0x00008588 mov r0, r7                                    |         r0 = r7;
    0x0000858a asrs r5, r3, 0x1f                             |         r5 = r3 >> 0x1f;
    0x0000858c blx 0x347c                                    |         r0 = fcn_0000347c ();
    0x00008590 mul r3, r0, r6                                |         r3 = r0 * r6;
    0x00008594 ldr r2, [sp, 0x30]                            |         r2 = *(arg_30h);
    0x00008596 mla r3, r8, r1, r3                            |         __asm ("mla r3, r8, r1, r3");
    0x0000859a umull r0, r1, r0, r8                          |         r0:r1 = r0 * r8;
    0x0000859e add r1, r3                                    |         r1 += r3;
    0x000085a0 mov r3, r5                                    |         r3 = r5;
    0x000085a2 bl 0x11ff8                                    |         fcn_00011ff8 (r0, r1, r2, r3);
    0x000085a6 mov.w r3, -1                                  |         r3 = -1;
    0x000085aa mov ip, r0                                    |         
    0x000085ac mov r0, r1                                    |         r0 = r1;
    0x000085ae cmp r1, 0                                     |         
                                                             |         if (r1 == 0) {
    0x000085b0 beq.w 0x8c56                                  |             goto label_152;
                                                             |         }
    0x000085b4 ldr r1, [r4, 0x70]                            |         r1 = *((r4 + 0x70));
    0x000085b6 ands r1, r1, 0x80                             |         r1 &= 0x80;
                                                             |         if (r1 == r1) {
    0x000085ba beq.w 0x93ee                                  |             goto label_153;
                                                             |         }
                                                             | label_38:
    0x000085be movs r2, 0                                    |         r2 = 0;
    0x000085c0 str r3, [sp, 0x2c]                            |         *(arg_2ch) = r3;
    0x000085c2 str r2, [sp, 0x3c]                            |         *(arg_3ch) = r2;
    0x000085c4 ldr r2, [sp, 0x14]                            |         r2 = *(arg_14h);
    0x000085c6 cmp r2, 0                                     |         
                                                             |         if (r2 == 0) {
    0x000085c8 beq 0x8630                                    |             goto label_154;
                                                             |         }
    0x000085ca b 0x8634                                      |         goto label_24;
                                                             |     }
    0x000085cc ldr r5, [pc, 0x3d8]                           |     
    0x000085ce ldr r1, [pc, 0x3dc]                           |     
    0x000085d0 ldr r2, [sp, 0x14]                            |     r2 = *(arg_14h);
    0x000085d2 add r5, pc                                    |     r5 = 0x10f7e;
    0x000085d4 ldr.w r0, [r5, 0x438]                         |     r0 = *(0x113b6);
    0x000085d8 add r1, pc                                    |     r1 = 0x10f8a;
    0x000085da bl 0x6dbc                                     |     fcn_00006dbc (r0, r1, r2);
    0x000085de ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x000085e0 str r0, [sp, 0x14]                            |     *(arg_14h) = r0;
    0x000085e2 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000085e4 beq.w 0x8bee                                  |         goto label_155;
                                                             |     }
                                                             | label_37:
    0x000085e8 ldr r3, [pc, 0x3c4]                           |     
    0x000085ea add r3, pc                                    |     r3 = 0x10f9e;
    0x000085ec ldr r1, [r3, 0x70]                            |     r1 = *(0x1100e);
    0x000085ee ands r1, r1, 0x200                            |     r1 &= 0x200;
                                                             |     if (r1 == r1) {
    0x000085f2 beq.w 0x94ac                                  |         goto label_156;
                                                             |     }
    0x000085f6 ldr r3, [sp, 0x20]                            |     r3 = *(arg_20h);
    0x000085f8 movs r2, 0                                    |     r2 = 0;
    0x000085fa lsrs r3, r3, 1                                |     r3 >>= 1;
                                                             |     if (r3 == r3) {
    0x000085fc beq 0x860e                                    |         goto label_157;
                                                             |     }
                                                             |     do {
    0x000085fe lsrs r3, r3, 1                                |         r3 >>= 1;
    0x00008600 adds r4, 1                                    |         r4++;
    0x00008602 orr.w r3, r3, r2, lsl 31                      |         r3 |= (r2 << 31);
    0x00008606 lsrs r2, r2, 1                                |         r2 >>= 1;
    0x00008608 orrs.w r1, r3, r2                             |         r1 = r3 | r2;
    0x0000860c bne 0x85fe                                    |         
                                                             |     } while (r1 != r3);
                                                             | label_157:
    0x0000860e ldr r3, [pc, 0x3a4]                           |     
    0x00008610 add r3, pc                                    |     r3 = 0x10fca;
    0x00008612 strb.w r4, [r3, 0x184]                        |     *((r3 + 0x184)) = r4;
                                                             | label_36:
    0x00008616 ldr r3, [sp, 0x14]                            |     r3 = *(arg_14h);
    0x00008618 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x0000861a bne.w 0x8512                                  |         goto label_12;
                                                             |     }
    0x0000861e ldr r3, [pc, 0x398]                           |     
    0x00008620 add r3, pc                                    |     r3 = 0x10fde;
    0x00008622 ldr r2, [r3, 0x70]                            |     r2 = *(0x1104e);
    0x00008624 lsls r0, r2, 0x10                             |     r0 = r2 << 0x10;
                                                             |     if (r0 < r2) {
    0x00008626 bmi.w 0x8ae2                                  |         goto label_158;
                                                             |     }
                                                             | label_25:
    0x0000862a ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x0000862c cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000862e beq 0x8578                                    |         goto label_13;
                                                             |     }
                                                             | label_154:
    0x00008630 movs r2, 0x80                                 |     r2 = 0x80;
    0x00008632 str r2, [sp, 0x14]                            |     *(arg_14h) = r2;
                                                             | label_24:
    0x00008634 ldr r1, [sp, 0x14]                            |     r1 = *(arg_14h);
    0x00008636 ldr r6, [sp, 0x3c]                            |     r6 = *(arg_3ch);
    0x00008638 ldr r0, [sp, 0x2c]                            |     r0 = *(arg_2ch);
    0x0000863a ldr r4, [pc, 0x380]                           |     
    0x0000863c asrs r2, r1, 0x1f                             |     r2 = r1 >> 0x1f;
    0x0000863e mul r6, r1, r6                                |     r6 = r1 * r6;
    0x00008642 add r4, pc                                    |     r4 = 0x11004;
    0x00008644 mov r5, r4                                    |     r5 = r4;
    0x00008646 str r3, [r5, 0x10]!                           |     *((r5 += 0x10)) = r3;
    0x0000864a mla r6, r0, r2, r6                            |     __asm ("mla r6, r0, r2, r6");
    0x0000864e umull r7, r2, r1, r0                          |     r7:r2 = r1 * r0;
    0x00008652 mov r0, r5                                    |     r0 = r5;
    0x00008654 add r6, r2                                    |     r6 += r2;
    0x00008656 blx 0x347c                                    |     fcn_0000347c ();
    0x0000865a ldr r3, [r4, 0x28]                            |     r3 = *(0x1102c);
    0x0000865c mov.w r2, 0x400                               |     r2 = 0x400;
    0x00008660 lsls r2, r3                                   |     r2 <<= r3;
    0x00008662 mul r3, r2, r1                                |     r3 = r2 * r1;
    0x00008666 asrs r1, r2, 0x1f                             |     r1 = r2 >> 0x1f;
    0x00008668 mla r3, r0, r1, r3                            |     __asm ("mla r3, r0, r1, r3");
    0x0000866c umull r2, r0, r2, r0                          |     r2:r0 = r2 * r0;
    0x00008670 add r3, r0                                    |     r3 += r0;
    0x00008672 cmp r7, r2                                    |     
    0x00008674 sbcs.w r3, r6, r3                             |     __asm ("sbcs.w r3, r6, r3");
                                                             |     if (r7 >= r2) {
    0x00008678 bhs.w 0x9480                                  |         goto label_159;
                                                             |     }
    0x0000867c mov r0, r5                                    |     r0 = r5;
    0x0000867e blx 0x347c                                    |     fcn_0000347c ();
    0x00008682 bl 0x11eec                                    |     r0 = fcn_00011eec (r0, r1, r2);
    0x00008686 vmov d16, r0, r1                              |     __asm ("vmov d16, r0, r1");
    0x0000868a vldr d17, [pc, 0x2c4]                         |     __asm ("vldr d17, [0x00008954]");
    0x0000868e vmul.f64 d16, d16, d8                         |     __asm ("vmul.f64 d16, d16, d8");
    0x00008692 vdiv.f64 d16, d16, d17                        |     __asm ("vdiv.f64 d16, d16, d17");
    0x00008696 vmov r0, r1, d16                              |     __asm ("vmov r0, r1, d16");
    0x0000869a bl 0x12038                                    |     r0 = fcn_00012038 (r0, r1);
    0x0000869e mov r2, r0                                    |     r2 = r0;
    0x000086a0 mov r3, r1                                    |     r3 = r1;
    0x000086a2 mov r0, r5                                    |     r0 = r5;
    0x000086a4 blx 0x34a0                                    |     fcn_000034a0 ();
    0x000086a8 ldr r3, [r4, 0x6c]                            |     r3 = *((r4 + 0x6c));
    0x000086aa lsls r2, r3, 0x16                             |     r2 = r3 << 0x16;
                                                             |     if (r2 < r3) {
    0x000086ac bpl 0x86ca                                    |         
    0x000086ae ldr r3, [pc, 0x310]                           |         
    0x000086b0 add r3, pc                                    |         
    0x000086b2 ldr r3, [r3, 0x10]                            |         r3 = *(0x11086);
    0x000086b4 cmp r3, 0                                     |         
                                                             |         if (r3 <= 0) {
    0x000086b6 ble 0x86ca                                    |             goto label_160;
                                                             |         }
    0x000086b8 movs r2, 1                                    |         r2 = 1;
    0x000086ba cmp r3, r2                                    |         
    0x000086bc str.w r2, [r4, 0x25c]                         |         __asm ("str.w r2, [r4, 0x25c]");
    0x000086c0 itt ne                                        |         
                                                             |         if (r3 == r2) {
    0x000086c2 movne r3, -1                                  |             r3 = -1;
                                                             |         }
                                                             |         if (r3 == r2) {
    0x000086c6 str.w r3, [r4, 0x260]                         |             __asm ("str.w r3, [r4, 0x260]");
                                                             |             goto label_160;
                                                             |         }
                                                             |     }
                                                             | label_160:
    0x000086ca ldr r0, [sp, 0x6c]                            |     r0 = *(arg_6ch);
    0x000086cc blx 0x332c                                    |     fcn_0000332c ();
    0x000086d0 ldr r0, [sp, 0x70]                            |     r0 = *(arg_70h);
    0x000086d2 blx 0x332c                                    |     fcn_0000332c ();
    0x000086d6 movs r0, 0                                    |     r0 = 0;
    0x000086d8 blx 0x33ec                                    |     r0 = fcn_000033ec ();
    0x000086dc cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000086de bne.w 0x87f0                                  |         goto label_161;
                                                             |     }
                                                             | label_17:
    0x000086e2 movs r1, 2                                    |     r1 = 2;
                                                             | label_18:
    0x000086e4 ldr r3, [pc, 0x2dc]                           |     
    0x000086e6 add r3, pc                                    |     
    0x000086e8 ldr r3, [r3]                                  |     r3 = *(0x110ae);
                                                             |     if (r3 == 0) {
    0x000086ea cbnz r3, 0x86f0                               |         
    0x000086ec orr r1, r1, 8                                 |         r1 |= 8;
                                                             |     }
    0x000086f0 ldrd r3, r2, [sp, 0x40]                       |     __asm ("ldrd r3, r2, [arg_40h]");
    0x000086f4 ldr r4, [pc, 0x2d0]                           |     
    0x000086f6 orrs r3, r2                                   |     r3 |= r2;
    0x000086f8 add r2, sp, 0x68                              |     r2 += arg_68h;
    0x000086fa add r4, pc                                    |     r4 = 0x110c6;
    0x000086fc it eq                                         |     
                                                             |     if (r3 != r2) {
    0x000086fe orreq r1, r1, 0x10                            |         r1 |= 0x10;
                                                             |     }
    0x00008702 ldr.w r0, [r4, 0x474]                         |     r0 = *(0x1153a);
    0x00008706 bl 0xd08c                                     |     fcn_0000d08c (r0, r1, r2, r3, r4, r5, r6);
    0x0000870a ldr.w r3, [r4, 0x44c]                         |     r3 = *(0x11512);
    0x0000870e orrs r0, r3                                   |     r0 |= r3;
                                                             |     if (r0 == r3) {
    0x00008710 beq.w 0x9076                                  |         goto label_162;
                                                             |     }
                                                             | label_51:
    0x00008714 ldr r2, [pc, 0x2b4]                           |     
    0x00008716 ldr r3, [pc, 0x2b8]                           |     r3 = *(0x89d2);
    0x00008718 add r2, pc                                    |     r2 = 0x110e8;
    0x0000871a ldr r3, [r2, r3]                              |     r3 = *(0x110e8);
    0x0000871c ldr r2, [r3]                                  |     r2 = *(0x110e8);
    0x0000871e ldr r3, [sp, 0xe4]                            |     r3 = *(arg_e4h);
    0x00008720 eors r2, r3                                   |     r2 ^= r3;
    0x00008722 mov.w r3, 0                                   |     r3 = 0;
                                                             |     if (r2 != r3) {
    0x00008726 bne.w 0x94a8                                  |         goto label_163;
                                                             |     }
    0x0000872a add sp, 0xec                                  |     
    0x0000872c vpop {d8, d9}                                 |     __asm ("vpop {d8, d9}");
    0x00008730 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}    |     
                                                             | label_117:
    0x00008776 ldr r2, [pc, 0x268]                           |     
    0x00008778 add r2, pc                                    |     
    0x0000877a ldr r2, [r2, 0x28]                            |     r2 = *(0x11186);
    0x0000877c cmp r3, r2                                    |     
                                                             |     if (r3 > r2) {
    0x0000877e bgt.w 0x7e1c                                  |         goto label_14;
                                                             |     }
    0x00008782 str r3, [sp]                                  |     *(sp) = r3;
    0x00008784 movs r1, 1                                    |     r1 = 1;
    0x00008786 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00008788 ldr r2, [pc, 0x258]                           |     
    0x0000878a ldr r0, [r3]                                  |     r0 = *(r3);
    0x0000878c add r2, pc                                    |     r2 = 0x11174;
    0x0000878e ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
    0x00008790 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00008794 b.w 0x7e1c                                    |     goto label_14;
                                                             | label_81:
    0x00008798 ldr.w r8, [pc, 0x24c]                         |     
    0x0000879c adds r2, r3, 1                                |     r2 = r3 + 1;
    0x0000879e ldr.w r0, [r5, r3, lsl 2]                     |     offset_3 = r3 << 2;
                                                             |     r0 = *((r5 + offset_3));
    0x000087a2 str r2, [r6]                                  |     *(r6) = r2;
    0x000087a4 add r8, pc                                    |     r8 = 0x11190;
    0x000087a6 ldr.w r1, [r8, 0x28]                          |     r1 = *(0x111b8);
    0x000087aa blx 0x3404                                    |     r0 = fcn_00003404 ();
    0x000087ae mov r3, r0                                    |     r3 = r0;
    0x000087b0 str r0, [sp, 0x40]                            |     *(arg_40h) = r0;
    0x000087b2 orrs r3, r1                                   |     r3 |= r1;
    0x000087b4 str r1, [sp, 0x44]                            |     *(arg_44h) = r1;
    0x000087b6 ldr r3, [r6]                                  |     r3 = *(r6);
                                                             |     if (r3 == r1) {
    0x000087b8 beq.w 0x9518                                  |         goto label_164;
                                                             |     }
    0x000087bc cmp r3, r4                                    |     
                                                             |     if (r3 < r4) {
    0x000087be blt.w 0x9250                                  |         goto label_63;
                                                             |     }
    0x000087c2 addw r2, r8, 0x47c                            |     __asm ("addw r2, r8, 0x47c");
    0x000087c6 ldr r1, [pc, 0x224]                           |     
    0x000087c8 str r2, [sp, 4]                               |     *(arg_4h) = r2;
    0x000087ca movs r3, 0                                    |     r3 = 0;
    0x000087cc ldr r2, [pc, 0x220]                           |     
    0x000087ce str r3, [sp]                                  |     *(sp) = r3;
    0x000087d0 add r1, pc                                    |     r1 = 0x111c2;
    0x000087d2 ldr.w r0, [r8, 0x434]                         |     r0 = *((r8 + 0x434));
    0x000087d6 add r2, pc                                    |     r2 = 0x111ca;
    0x000087d8 bl 0xe648                                     |     fcn_0000e648 (r0);
    0x000087dc ldr r0, [pc, 0x214]                           |     
    0x000087de add r0, pc                                    |     r0 = 0x111d6;
    0x000087e0 blx 0x3144                                    |     getenv (r0);
    0x000087e4 str r0, [sp, 0x5c]                            |     *(endptr) = r0;
    0x000087e6 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000087e8 bne.w 0x77da                                  |         goto label_15;
                                                             |     }
    0x000087ec b.w 0x77ec                                    |     goto label_16;
                                                             | label_161:
    0x000087f0 movs r0, 1                                    |     r0 = 1;
    0x000087f2 blx 0x33ec                                    |     r0 = fcn_000033ec ();
    0x000087f6 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000087f8 beq.w 0x86e2                                  |         goto label_17;
                                                             |     }
    0x000087fc ldr r2, [pc, 0x1f8]                           |     
    0x000087fe add r2, pc                                    |     
    0x00008800 ldr.w r3, [r2, 0x410]                         |     r3 = *(0x1160a);
    0x00008804 ldr.w r2, [r2, 0x414]                         |     r2 = *(0x1160e);
    0x00008808 orrs r3, r2                                   |     r3 |= r2;
                                                             |     if (r3 != r2) {
    0x0000880a bne.w 0x86e2                                  |         goto label_17;
                                                             |     }
    0x0000880e movs r1, 6                                    |     r1 = 6;
    0x00008810 b 0x86e4                                      |     goto label_18;
                                                             | label_107:
    0x00008812 ldr r2, [pc, 0x1e8]                           |     
    0x00008814 ldr r1, [pc, 0x1e8]                           |     
    0x00008816 add r2, pc                                    |     r2 = 0x11218;
    0x00008818 add r1, pc                                    |     r1 = 0x1121c;
    0x0000881a bl 0x6cf4                                     |     fcn_00006cf4 (r0, r1, r2);
    0x0000881e str r0, [sp, 0x5c]                            |     *(endptr) = r0;
    0x00008820 bl 0x6268                                     |     fcn_00006268 (r0);
    0x00008824 ldr r0, [sp, 0x5c]                            |     r0 = *(endptr);
    0x00008826 blx 0x332c                                    |     fcn_0000332c ();
    0x0000882a ldr r2, [pc, 0x1d8]                           |     
    0x0000882c ldr r1, [pc, 0x1d8]                           |     
    0x0000882e ldr.w r0, [r4, 0x438]                         |     r0 = *((r4 + 0x438));
    0x00008832 add r2, pc                                    |     r2 = 0x1123c;
    0x00008834 add r1, pc                                    |     r1 = 0x11240;
    0x00008836 bl 0x6cf4                                     |     r0 = fcn_00006cf4 (r0, r1, r2);
    0x0000883a mov r5, r0                                    |     r5 = r0;
    0x0000883c str r0, [sp, 0x5c]                            |     *(endptr) = r0;
                                                             |     if (r0 != 0) {
    0x0000883e cbz r0, 0x885a                                |         
    0x00008840 add.w r1, r4, 0x110                           |         r1 = r4 + 0x110;
    0x00008844 mov.w r2, -1                                  |         r2 = -1;
    0x00008848 blx 0x37a4                                    |         r0 = ext2fs_badblocks_list_iterate ();
    0x0000884c cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x0000884e bne.w 0x9406                                  |             goto label_165;
                                                             |         }
    0x00008852 ldr r0, [sp, 0x5c]                            |         r0 = *(endptr);
                                                             |         if (r0 == 0) {
    0x00008854 cbz r0, 0x885a                                |             goto label_166;
                                                             |         }
    0x00008856 blx 0x332c                                    |         fcn_0000332c ();
                                                             |     }
                                                             | label_166:
    0x0000885a ldr.w sb, [pc, 0x1b0]                         |     
    0x0000885e add sb, pc                                    |     sb = 0x11270;
    0x00008860 ldr.w r8, [sb, 0x438]                         |     r8 = *(0x116a8);
    0x00008864 ldr.w r3, [r8]                                |     r3 = *(0x116a8);
                                                             |     if (r3 == 0) {
    0x00008868 cbz r3, 0x88b4                                |         goto label_167;
                                                             |     }
    0x0000886a ldr r6, [pc, 0x1a4]                           |     
    0x0000886c add r5, sp, 0x5c                              |     r5 += endptr;
    0x0000886e ldr r4, [pc, 0x1a4]                           |     
    0x00008870 add r6, pc                                    |     r6 = 0x11286;
    0x00008872 add r4, pc                                    |     r4 = 0x1128c;
    0x00008874 b 0x8880                                      |     goto label_168;
                                                             | label_19:
    0x00008876 blx 0x332c                                    |     fcn_0000332c ();
                                                             |     do {
                                                             | label_20:
    0x0000887a ldr r3, [r8, 4]!                              |         r3 = *((r8 += 4));
                                                             |         if (r3 == 0) {
    0x0000887e cbz r3, 0x88b4                                |             goto label_167;
                                                             |         }
                                                             | label_168:
    0x00008880 movs r3, 0                                    |         r3 = 0;
    0x00008882 ldr.w r0, [sb, 0x434]                         |         r0 = *((sb + 0x434));
    0x00008886 str r3, [sp, 0x5c]                            |         *(endptr) = r3;
    0x00008888 mov r1, r4                                    |         r1 = r4;
    0x0000888a ldr r3, [pc, 0x18c]                           |         
    0x0000888c ldr.w r2, [r8]                                |         r2 = *(r8);
    0x00008890 str r5, [sp, 4]                               |         *(arg_4h) = r5;
    0x00008892 add r3, pc                                    |         r3 = 0x112b0;
    0x00008894 str r3, [sp]                                  |         *(sp) = r3;
    0x00008896 mov r3, r6                                    |         r3 = r6;
    0x00008898 bl 0xe5c4                                     |         fcn_0000e5c4 (r0);
    0x0000889c ldr r0, [sp, 0x5c]                            |         r0 = *(endptr);
    0x0000889e cmp r0, 0                                     |         
    0x000088a0 beq 0x887a                                    |         
                                                             |     } while (r0 == 0);
    0x000088a2 ldrb r3, [r0]                                 |     r3 = *(r0);
    0x000088a4 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x000088a6 beq 0x8876                                    |         goto label_19;
                                                             |     }
    0x000088a8 bl 0x6268                                     |     fcn_00006268 (r0);
    0x000088ac ldr r0, [sp, 0x5c]                            |     r0 = *(endptr);
    0x000088ae cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000088b0 beq 0x887a                                    |         goto label_20;
                                                             |     }
    0x000088b2 b 0x8876                                      |     goto label_19;
                                                             | label_167:
    0x000088b4 ldr r3, [pc, 0x164]                           |     
    0x000088b6 ldr r2, [pc, 0x168]                           |     
    0x000088b8 ldr r1, [pc, 0x168]                           |     
    0x000088ba add r3, pc                                    |     r3 = 0x112da;
    0x000088bc ldr.w r0, [r3, 0x438]                         |     r0 = *(0x11712);
    0x000088c0 add r2, pc                                    |     r2 = 0x112e6;
    0x000088c2 add r1, pc                                    |     r1 = 0x112ea;
    0x000088c4 bl 0x6cf4                                     |     fcn_00006cf4 (r0, r1, r2);
    0x000088c8 str r0, [sp, 0x5c]                            |     *(endptr) = r0;
    0x000088ca b.w 0x7d44                                    |     goto label_21;
                                                             | label_133:
    0x000088fc ldr r2, [pc, 0x130]                           |     
    0x000088fe ldr r1, [pc, 0x134]                           |     
    0x00008900 add r2, pc                                    |     r2 = 0x11334;
    0x00008902 add r1, pc                                    |     r1 = 0x1133c;
    0x00008904 bl 0x6cf4                                     |     r0 = fcn_00006cf4 (r0, r1, r2);
    0x00008908 mov r7, r0                                    |     r7 = r0;
    0x0000890a blx 0x37f8                                    |     r0 = ext2fs_create_resize_inode ();
    0x0000890e subs r6, r0, 0                                |     r6 = r0 - 0;
                                                             |     if (r6 < r0) {
    0x00008910 blt.w 0x962c                                  |         goto label_169;
                                                             |     }
    0x00008914 mov r0, r7                                    |     r0 = r7;
    0x00008916 blx 0x332c                                    |     fcn_0000332c ();
    0x0000891a ldr r1, [pc, 0x11c]                           |     
    0x0000891c movs r2, 0                                    |     r2 = 0;
    0x0000891e ldr.w r0, [r5, 0x438]                         |     r0 = *((r5 + 0x438));
    0x00008922 strh.w r6, [r5, 0x28c]                        |     *((r5 + 0x28c)) = r6;
    0x00008926 add r1, pc                                    |     r1 = 0x11364;
    0x00008928 bl 0x6cf4                                     |     r0 = fcn_00006cf4 (r0, r1, r2);
    0x0000892c mov r7, r0                                    |     r7 = r0;
    0x0000892e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008930 beq.w 0x8c76                                  |         goto label_170;
                                                             |     }
    0x00008934 addw r2, r5, 0x28e                            |     __asm ("addw r2, r5, 0x28e");
    0x00008938 mov r0, r6                                    |     r0 = r6;
    0x0000893a mov r1, r7                                    |     r1 = r7;
    0x0000893c blx 0x364c                                    |     r0 = fcn_0000364c ();
    0x00008940 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x00008942 blt.w 0x941c                                  |         goto label_171;
                                                             |     }
    0x00008946 mov r0, r7                                    |     r0 = r7;
    0x00008948 blx 0x332c                                    |     fcn_0000332c ();
    0x0000894c b 0x82b2                                      |     goto label_22;
                                                             | label_124:
    0x00008a3c ldr r3, [sp, 0x4c]                            |     r3 = *(arg_4ch);
    0x00008a3e movs r2, 0x25                                 |     r2 = 0x25;
    0x00008a40 ldr.w r0, [pc, 0x64c]                         |     
    0x00008a42 lsls r4, r1, 0x19                             |     r4 = r1 << 0x19;
    0x00008a44 movs r1, 1                                    |     r1 = 1;
    0x00008a46 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00008a48 add r0, pc                                    |     r0 = 0x11adc;
    0x00008a4a blx 0x35c4                                    |     ext2fs_namei ();
    0x00008a4e ldr.w r6, [r6, 0x438]                         |     r6 = *((r6 + 0x438));
    0x00008a52 ldr r2, [r6]                                  |     r2 = *(r6);
                                                             |     if (r2 == 0) {
    0x00008a54 cbz r2, 0x8a84                                |         void (*0x8a84)() ();
                                                             |     }
                                                             | label_108:
    0x00008a92 ldr r0, [sp, 0x5c]                            |     r0 = *(endptr);
    0x00008a94 b.w 0x7d6a                                    |     goto label_23;
                                                             | label_150:
    0x00008a98 ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00008a9a cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00008a9c beq.w 0x8578                                  |         goto label_13;
                                                             |     }
    0x00008aa0 ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00008aa2 b 0x8634                                      |     goto label_24;
                                                             | label_158:
    0x00008ae2 ldrh.w r3, [r3, 0x68]                         |     r3 = *((r3 + 0x68));
    0x00008ae6 cmp r3, 0x80                                  |     
                                                             |     if (r3 != 0x80) {
    0x00008ae8 bne.w 0x862a                                  |         goto label_25;
                                                             |     }
                                                             | label_27:
    0x00008aec ldr.w r0, [pc, 0x5b8]                         |     
    0x00008af0 movs r3, 0x80                                 |     r3 = 0x80;
    0x00008af2 ldr.w r2, [pc, 0x5b8]                         |     
    0x00008af6 add r0, pc                                    |     r0 = 0x11ba2;
    0x00008af8 add r2, pc                                    |     r2 = 0x11baa;
    0x00008afa b.w 0x93a0                                    |     goto label_58;
                                                             | label_149:
    0x00008afe ldrh.w r3, [r3, 0x68]                         |     r3 = *((r3 + 0x68));
    0x00008b02 cmp r3, 0x80                                  |     
                                                             |     if (r3 != 0x80) {
    0x00008b04 bne.w 0x854e                                  |         goto label_26;
                                                             |     }
    0x00008b08 b 0x8aec                                      |     goto label_27;
                                                             | label_143:
    0x00008b0a ldr r3, [r0, 0x6c]                            |     r3 = *((r0 + 0x6c));
    0x00008b0c lsls r3, r3, 0x1b                             |     r3 <<= 0x1b;
                                                             |     if (r3 >= r3) {
    0x00008b0e bpl.w 0x84c8                                  |         goto label_28;
                                                             |     }
                                                             | label_140:
    0x00008b12 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00008b14 movs r2, 0x67                                 |     r2 = 0x67;
    0x00008b16 ldr.w r0, [pc, 0x598]                         |     
    0x00008b1a movs r1, 1                                    |     r1 = 1;
    0x00008b1c ldr r3, [r3]                                  |     r3 = *(r3);
    0x00008b1e add r0, pc                                    |     r0 = 0x11bd4;
    0x00008b20 blx 0x35c4                                    |     ext2fs_namei ();
    0x00008b24 movs r0, 1                                    |     r0 = 1;
    0x00008b26 blx 0x3934                                    |     r0 = fcn_00003934 ();
                                                             | label_139:
    0x00008b2a ldr r3, [r0]                                  |     r3 = *(r0);
    0x00008b2c cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008b2e bne.w 0x84b2                                  |         goto label_29;
                                                             |     }
    0x00008b32 ldrd r1, r2, [r0, 0x28]                       |     __asm ("ldrd r1, r2, [r0, 0x28]");
    0x00008b36 mov.w r3, 0x400                               |     r3 = 0x400;
    0x00008b3a lsl.w r2, r3, r2                              |     r2 = r3 << r2;
    0x00008b3e lsls r3, r1                                   |     r3 <<= r1;
    0x00008b40 cmp.w r2, r3, lsl 4                           |     
                                                             |     if (r2 <= r3) {
    0x00008b44 ble.w 0x84b2                                  |         goto label_29;
                                                             |     }
                                                             | label_141:
    0x00008b48 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00008b4a movs r2, 0x74                                 |     r2 = 0x74;
    0x00008b4c ldr.w r0, [pc, 0x564]                         |     
    0x00008b50 movs r1, 1                                    |     r1 = 1;
    0x00008b52 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00008b54 add r0, pc                                    |     r0 = 0x11c0c;
    0x00008b56 blx 0x35c4                                    |     ext2fs_namei ();
    0x00008b5a b 0x84b2                                      |     goto label_29;
                                                             | label_119:
    0x00008b5c ldr r3, [r6, 0x6c]                            |     r3 = *((r6 + 0x6c));
    0x00008b5e bic r3, r3, 0x10                              |     r3 = BIT_MASK (r3, 0x10);
    0x00008b62 str r3, [r6, 0x6c]                            |     *((r6 + 0x6c)) = r3;
    0x00008b64 b.w 0x7e84                                    |     goto label_30;
                                                             | label_101:
    0x00008b68 movw r3, 0xb750                               |     
    0x00008b6c movt r3, 0x7f2b                               |     r3 = 0x7f2bb750;
    0x00008b70 cmp r0, r3                                    |     
                                                             |     if (r0 == r3) {
    0x00008b72 beq.w 0x7ac8                                  |         goto label_31;
                                                             |     }
                                                             | label_45:
    0x00008b76 ldr.w r4, [pc, 0x540]                         |     
    0x00008b7a ldr.w r3, [pc, 0x540]                         |     
    0x00008b7e ldr.w r2, [pc, 0x540]                         |     
    0x00008b82 add r4, pc                                    |     r4 = 0x11c40;
    0x00008b84 add r3, pc                                    |     r3 = 0x11c46;
    0x00008b86 add r2, pc                                    |     r2 = 0x11c4c;
                                                             | label_60:
    0x00008b88 mov r1, r0                                    |     r1 = r0;
    0x00008b8a ldr r0, [r4]                                  |     r0 = *(r4);
    0x00008b8c blx 0x322c                                    |     fcn_0000322c ();
    0x00008b90 movs r0, 1                                    |     r0 = 1;
    0x00008b92 blx 0x3934                                    |     fcn_00003934 ();
    0x00008b96 cmp r5, sb                                    |     
    0x00008b98 mov sl, sb                                    |     sl = sb;
                                                             |     if (r5 >= sb) {
    0x00008b9a bhs.w 0x8104                                  |         goto label_32;
                                                             |     }
    0x00008b9e str.w sb, [sp, 0x78]                          |     __asm ("str.w sb, [arg_78h]");
    0x00008ba2 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008ba4 beq.w 0x8100                                  |         goto label_33;
                                                             |     }
    0x00008ba8 b.w 0x8104                                    |     goto label_32;
                                                             | label_92:
    0x00008bac ldr.w r3, [pc, 0x514]                         |     
    0x00008bb0 add r3, pc                                    |     r3 = 0x11c78;
    0x00008bb2 b.w 0x7b68                                    |     goto label_34;
                                                             | label_128:
    0x00008bb6 strd r5, r3, [sp]                             |     __asm ("strd r5, r3, [sp]");
    0x00008bba ldr.w r3, [pc, 0x50c]                         |     
    0x00008bbe ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00008bc0 ldr.w r2, [pc, 0x508]                         |     
    0x00008bc4 add r3, pc                                    |     
    0x00008bc6 ldr.w r3, [r3, 0x474]                         |     r3 = *(0x12106);
    0x00008bca ldr r0, [r1]                                  |     r0 = *(r1);
    0x00008bcc add r2, pc                                    |     r2 = 0x11c9c;
    0x00008bce movs r1, 1                                    |     r1 = 1;
    0x00008bd0 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00008bd4 b.w 0x816a                                    |     goto label_35;
                                                             | label_155:
    0x00008bee ldr r3, [r5, 0x70]                            |     r3 = *((r5 + 0x70));
    0x00008bf0 lsls r5, r3, 0x16                             |     r5 = r3 << 0x16;
                                                             |     if (r5 >= r3) {
    0x00008bf2 bpl.w 0x8616                                  |         goto label_36;
                                                             |     }
                                                             | label_147:
    0x00008bf6 ldr.w r6, [pc, 0x4dc]                         |     
    0x00008bfa movs r3, 0x10                                 |     r3 = 0x10;
    0x00008bfc ldr.w r7, [pc, 0x4d8]                         |     
    0x00008c00 ldr.w r1, [pc, 0x4d8]                         |     
    0x00008c04 add r6, pc                                    |     r6 = 0x11cde;
    0x00008c06 str r3, [sp]                                  |     *(sp) = r3;
    0x00008c08 str.w fp, [sp, 4]                             |     __asm ("str.w fp, [arg_4h]");
    0x00008c0c add r7, pc                                    |     r7 = 0x11ce8;
    0x00008c0e ldr.w r5, [r6, 0x438]                         |     r5 = *(0x12116);
    0x00008c12 mov r2, r7                                    |     r2 = r7;
    0x00008c14 ldr.w r0, [r6, 0x434]                         |     r0 = *(0x12112);
    0x00008c16 lsls r4, r6, 0x10                             |     r4 = r6 << 0x10;
    0x00008c18 add r1, pc                                    |     r1 = 0x11cf8;
    0x00008c1a movs r3, 0                                    |     r3 = 0;
    0x00008c1c bl 0xe6f4                                     |     fcn_0000e6f4 ();
    0x00008c20 ldr r2, [r5]                                  |     r2 = *(0x12116);
                                                             |     if (r2 == 0) {
    0x00008c22 cbz r2, 0x8c4a                                |         goto label_172;
                                                             |     }
    0x00008c24 ldr.w sb, [pc, 0x4b8]                         |     
    0x00008c28 mov sl, r4                                    |     sl = r4;
    0x00008c2a mov r4, fp                                    |     r4 = fp;
    0x00008c2c add sb, pc                                    |     sb = 0x11d10;
                                                             |     do {
    0x00008c2e ldr r3, [sp, 0x88]                            |         r3 = *(arg_88h);
    0x00008c30 mov r1, sb                                    |         r1 = sb;
    0x00008c32 str r4, [sp, 4]                               |         *(arg_4h) = r4;
    0x00008c34 ldr.w r0, [r6, 0x434]                         |         r0 = *((r6 + 0x434));
    0x00008c38 str r3, [sp]                                  |         *(sp) = r3;
    0x00008c3a mov r3, r7                                    |         r3 = r7;
    0x00008c3c bl 0xe6f4                                     |         fcn_0000e6f4 ();
    0x00008c40 ldr r2, [r5, 4]!                              |         r2 = *((r5 += 4));
    0x00008c44 cmp r2, 0                                     |         
    0x00008c46 bne 0x8c2e                                    |         
                                                             |     } while (r2 != 0);
    0x00008c48 mov r4, sl                                    |     r4 = sl;
                                                             | label_172:
    0x00008c4a ldr r3, [sp, 0x88]                            |     r3 = *(arg_88h);
    0x00008c4c str r3, [sp, 0x20]                            |     *(arg_20h) = r3;
    0x00008c4e cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008c50 bne.w 0x85e8                                  |         goto label_37;
                                                             |     }
    0x00008c54 b 0x8616                                      |     goto label_36;
                                                             | label_152:
    0x00008c56 mov r0, r7                                    |     r0 = r7;
    0x00008c58 blx 0x347c                                    |     fcn_0000347c ();
    0x00008c5c mul r2, r8, r1                                |     r2 = r8 * r1;
    0x00008c60 mov r3, r5                                    |     r3 = r5;
    0x00008c62 mla r2, r0, r6, r2                            |     __asm ("mla r2, r0, r6, r2");
    0x00008c66 umull r0, r1, r8, r0                          |     r0:r1 = r8 * r0;
    0x00008c6a add r1, r2                                    |     r1 += r2;
    0x00008c6c ldr r2, [sp, 0x30]                            |     r2 = *(arg_30h);
    0x00008c6e bl 0x11ff8                                    |     r0 = fcn_00011ff8 (r0, r1, r2, r3);
    0x00008c72 mov r3, r0                                    |     r3 = r0;
    0x00008c74 b 0x85be                                      |     goto label_38;
                                                             | label_170:
    0x00008c76 mov r0, r6                                    |     r0 = r6;
    0x00008c78 blx 0x318c                                    |     e2p_get_encoding_flags ();
    0x00008c7c strh.w r0, [r5, 0x28e]                        |     *((r5 + 0x28e)) = r0;
    0x00008c80 b.w 0x82b2                                    |     goto label_22;
                                                             | label_90:
    0x00008c84 ldr.w r1, [pc, 0x45c]                         |     
    0x00008c88 mov r2, r4                                    |     r2 = r4;
    0x00008c8a movs r0, 1                                    |     r0 = 1;
    0x00008c8c add r1, pc                                    |     r1 = 0x11d74;
    0x00008c8e blx 0x3150                                    |     printf_chk ()
    0x00008c92 ldr.w r1, [pc, 0x454]                         |     
    0x00008c96 mov r0, r4                                    |     r0 = r4;
    0x00008c98 add r1, pc                                    |     r1 = 0x11d86;
    0x00008c9a blx 0x3928                                    |     r0 = fcn_00003928 ();
                                                             |     if (r0 != 0) {
    0x00008c9e cbz r0, 0x8cb2                                |         
                                                             | label_57:
    0x00008ca0 ldr.w r1, [pc, 0x448]                         |         
    0x00008ca4 mov r0, r4                                    |         r0 = r4;
    0x00008ca6 add r1, pc                                    |         r1 = 0x11d96;
    0x00008ca8 blx 0x3928                                    |         r0 = fcn_00003928 ();
    0x00008cac cmp r0, 0                                     |         
                                                             |         if (r0 != 0) {
    0x00008cae bne.w 0x9274                                  |             goto label_173;
                                                             |         }
                                                             |     }
                                                             | label_42:
    0x00008cb2 ldr.w r0, [pc, 0x43c]                         |     
    0x00008cb6 add r0, pc                                    |     r0 = 0x11dac;
    0x00008cb8 blx 0x37d4                                    |     ext2fs_extent_insert ();
                                                             | label_53:
    0x00008cbc ldr.w r3, [pc, 0x434]                         |     
    0x00008cc0 add r3, pc                                    |     
    0x00008cc2 ldr.w r3, [r3, 0x44c]                         |     r3 = *(0x12204);
    0x00008cc6 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00008cc8 bne.w 0x78fe                                  |         goto label_39;
                                                             |     }
    0x00008ccc ldr.w r0, [pc, 0x428]                         |     
    0x00008cd0 add r0, pc                                    |     r0 = 0x11dcc;
    0x00008cd2 blx 0x37d4                                    |     ext2fs_extent_insert ();
    0x00008cd6 movs r0, 1                                    |     r0 = 1;
    0x00008cd8 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_115:
    0x00008cdc ldr.w r3, [pc, 0x41c]                         |     
    0x00008ce0 mov.w r2, 0x1000                              |     r2 = 0x1000;
    0x00008ce4 ldr.w r1, [pc, 0x418]                         |     
    0x00008ce8 add r3, pc                                    |     r3 = 0x11de8;
    0x00008cea add r1, pc                                    |     r1 = 0x11dee;
    0x00008cec ldr.w r0, [r3, 0x438]                         |     r0 = *(0x12220);
    0x00008cf0 bl 0x6dbc                                     |     r0 = fcn_00006dbc (r0, r1, r2);
    0x00008cf4 adds r1, r0, 1                                |     r1 = r0 + 1;
    0x00008cf6 mov r5, r0                                    |     r5 = r0;
                                                             |     if (r1 == r0) {
    0x00008cf8 beq.w 0x9296                                  |         goto label_174;
                                                             |     }
                                                             | label_54:
    0x00008cfc ldr r3, [sp, 0x60]                            |     r3 = *(arg_60h);
                                                             |     if (r3 != 0) {
    0x00008cfe cbz r3, 0x8d06                                |         
    0x00008d00 cmp r5, r3                                    |         
    0x00008d02 it lt                                         |         
                                                             |         if (r5 < r3) {
    0x00008d04 movlt r5, r3                                  |             r5 = r3;
                                                             |             goto label_175;
                                                             |         }
                                                             |     }
                                                             | label_175:
    0x00008d06 ldr r3, [sp, 0x10]                            |     r3 = *(arg_10h);
                                                             |     if (r3 != 0) {
    0x00008d08 cbz r3, 0x8d12                                |         
    0x00008d0a rsbs r3, r3, 0                                |         r3 -= ;
    0x00008d0c cmp r5, r3                                    |         
    0x00008d0e it lt                                         |         
                                                             |         if (r5 < r3) {
    0x00008d10 movlt r5, r3                                  |             r5 = r3;
                                                             |             goto label_176;
                                                             |         }
                                                             |     }
                                                             | label_176:
    0x00008d12 cmp r5, 0                                     |     
    0x00008d14 mov r3, r5                                    |     r3 = r5;
    0x00008d16 it lt                                         |     
                                                             |     if (r5 < 0) {
    0x00008d18 addwlt r3, r5, 0x3ff                          |         __asm ("addwlt r3, r5, 0x3ff");
                                                             |     }
    0x00008d1c ldr r0, [sp, 0x34]                            |     r0 = *(arg_34h);
    0x00008d1e ldr r1, [sp, 0x28]                            |     r1 = *(arg_28h);
    0x00008d20 asrs r2, r3, 0xa                              |     r2 = r3 >> 0xa;
    0x00008d22 asrs r3, r3, 0x1f                             |     r3 >>= 0x1f;
    0x00008d24 bl 0x11ff8                                    |     fcn_00011ff8 (r0, r1, r2, r3);
    0x00008d28 str r0, [sp, 0x34]                            |     *(arg_34h) = r0;
    0x00008d2a str r1, [sp, 0x28]                            |     *(arg_28h) = r1;
    0x00008d2c b.w 0x7e1e                                    |     goto label_40;
                                                             | label_89:
    0x00008dc0 cmp r6, 0                                     |     
                                                             |     if (r6 != 0) {
    0x00008dc2 bne.w 0x91ba                                  |         goto label_177;
                                                             |     }
    0x00008dc6 ldr r2, [pc, 0x354]                           |     
    0x00008dc8 ldr r1, [pc, 0x354]                           |     
    0x00008dca str r3, [sp, 0x54]                            |     *(arg_54h) = r3;
    0x00008dcc add r2, pc                                    |     r2 = 0x11eee;
    0x00008dce ldr r4, [r2]                                  |     r4 = *(0x11eee);
    0x00008dd0 add r1, pc                                    |     r1 = 0x11ef4;
    0x00008dd2 mov r0, r4                                    |     r0 = r4;
    0x00008dd4 blx 0x3928                                    |     r0 = fcn_00003928 ();
    0x00008dd8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008dda beq 0x8e5c                                    |         goto label_178;
                                                             |     }
    0x00008ddc ldr r1, [pc, 0x344]                           |     
    0x00008dde mov r0, r4                                    |     r0 = r4;
    0x00008de0 add r1, pc                                    |     r1 = 0x11f08;
    0x00008de2 blx 0x3928                                    |     fcn_00003928 ();
    0x00008de6 ldr r3, [sp, 0x54]                            |     r3 = *(arg_54h);
    0x00008de8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008dea beq.w 0x92d4                                  |         goto label_179;
                                                             |     }
    0x00008dee ldr r0, [sp, 0x50]                            |     r0 = *(arg_50h);
                                                             |     if (r0 != 0) {
    0x00008df0 cbz r0, 0x8e24                                |         
    0x00008df2 movs r1, 0x2f                                 |         r1 = 0x2f;
    0x00008df4 blx 0x3268                                    |         fcn_00003268 ();
    0x00008df8 ldr r3, [sp, 0x54]                            |         r3 = *(arg_54h);
    0x00008dfa mov r2, r0                                    |         r2 = r0;
                                                             |         if (r0 != 0) {
    0x00008dfc cbz r0, 0x8e02                                |             
    0x00008dfe adds r2, 1                                    |             r2++;
    0x00008e00 str r2, [sp, 0x50]                            |             *(arg_50h) = r2;
                                                             |         }
    0x00008e02 ldr r1, [pc, 0x324]                           |         
    0x00008e04 movs r2, 5                                    |         r2 = 5;
    0x00008e06 ldr r4, [sp, 0x50]                            |         r4 = *(arg_50h);
    0x00008e08 str r3, [sp, 0x54]                            |         *(arg_54h) = r3;
    0x00008e0a add r1, pc                                    |         r1 = 0x11f38;
    0x00008e0c mov r0, r4                                    |         r0 = r4;
    0x00008e0e blx 0x38b8                                    |         ext2fs_unmark_generic_bmap ();
    0x00008e12 ldr r3, [sp, 0x54]                            |         r3 = *(arg_54h);
                                                             |         if (r0 != 0) {
    0x00008e14 cbnz r0, 0x8e24                               |             goto label_180;
                                                             |         }
    0x00008e16 ldrb r2, [r4, 5]                              |         r2 = *((r4 + 5));
    0x00008e18 mov r1, r4                                    |         r1 = r4;
                                                             |         if (r2 == 0) {
    0x00008e1a cbz r2, 0x8e24                                |             goto label_180;
                                                             |         }
    0x00008e1c adds r1, 5                                    |         r1 += 5;
    0x00008e1e mov r4, r1                                    |         r4 = r1;
    0x00008e20 b.w 0x78de                                    |         goto label_41;
                                                             |     }
                                                             | label_180:
    0x00008e24 ldr r4, [pc, 0x304]                           |     
    0x00008e26 mov r0, r3                                    |     r0 = r3;
    0x00008e28 ldr r2, [pc, 0x304]                           |     
    0x00008e2a add r3, sp, 0x78                              |     r3 += arg_78h;
    0x00008e2c ldr r1, [pc, 0x304]                           |     
    0x00008e2e add r4, pc                                    |     r4 = 0x11f5e;
    0x00008e30 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00008e32 str r4, [sp]                                  |     *(sp) = r4;
    0x00008e34 add r2, pc                                    |     r2 = 0x11f68;
    0x00008e36 add r1, pc                                    |     r1 = 0x11f6e;
    0x00008e38 movs r3, 0                                    |     r3 = 0;
    0x00008e3a bl 0xe5c4                                     |     fcn_0000e5c4 (r0);
    0x00008e3e mov r1, r4                                    |     r1 = r4;
    0x00008e40 ldr r4, [sp, 0x78]                            |     r4 = *(arg_78h);
    0x00008e42 mov r0, r4                                    |     r0 = r4;
    0x00008e44 blx 0x3928                                    |     r0 = fcn_00003928 ();
    0x00008e48 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00008e4a bne.w 0x78de                                  |         goto label_41;
                                                             |     }
    0x00008e4e ldr r3, [pc, 0x2e8]                           |     
    0x00008e50 add r3, pc                                    |     
    0x00008e52 ldr.w r3, [r3, 0x43c]                         |     r3 = *(0x123ca);
    0x00008e56 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00008e58 beq.w 0x78de                                  |         goto label_41;
                                                             |     }
                                                             | label_178:
    0x00008e5c ldr r4, [pc, 0x2dc]                           |     
    0x00008e5e ldr r3, [pc, 0x2e0]                           |     
    0x00008e60 add r4, pc                                    |     r4 = 0x11fa0;
    0x00008e62 add r3, pc                                    |     r3 = 0x11fa8;
    0x00008e64 mov r1, r4                                    |     r1 = r4;
    0x00008e66 ldr.w r0, [r3, 0x434]                         |     r0 = *(0x123dc);
    0x00008e6a bl 0x61e8                                     |     r0 = fcn_000061e8 (r0, r1);
    0x00008e6e cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00008e70 bne.w 0x78fe                                  |         goto label_39;
                                                             |     }
    0x00008e74 ldr r1, [pc, 0x2cc]                           |     
    0x00008e76 mov r2, r4                                    |     r2 = r4;
    0x00008e78 movs r0, 1                                    |     r0 = 1;
    0x00008e7a add r1, pc                                    |     r1 = 0x11fc2;
    0x00008e7c blx 0x3150                                    |     printf_chk ()
    0x00008e80 b 0x8cb2                                      |     goto label_42;
                                                             | label_127:
    0x00008e82 ldr r2, [pc, 0x2c4]                           |     
    0x00008e84 movs r0, 1                                    |     r0 = 1;
    0x00008e86 ldr r1, [pc, 0x2c4]                           |     
    0x00008e88 add r2, pc                                    |     
    0x00008e8a ldr.w r2, [r2, 0x474]                         |     r2 = *(0x1244a);
    0x00008e8e add r1, pc                                    |     r1 = 0x11fe0;
    0x00008e90 blx 0x3150                                    |     printf_chk ()
    0x00008e94 ldr r0, [pc, 0x2b8]                           |     
    0x00008e96 add r0, pc                                    |     r0 = 0x11fea;
    0x00008e98 blx 0x37d4                                    |     ext2fs_extent_insert ();
    0x00008e9c b.w 0x8156                                    |     goto label_43;
                                                             | label_131:
    0x00008ea0 ldr r2, [pc, 0x2b0]                           |     
    0x00008ea2 ldr r1, [pc, 0x2b4]                           |     
    0x00008ea4 ldr.w r0, [r6, 0x438]                         |     r0 = *((r6 + 0x438));
    0x00008ea8 add r2, pc                                    |     r2 = 0x12000;
    0x00008eaa add r1, pc                                    |     r1 = 0x12008;
    0x00008eac bl 0x6cf4                                     |     fcn_00006cf4 (r0, r1, r2);
    0x00008eb0 ldrd r2, r3, [r5, 0x18]                       |     __asm ("ldrd r2, r3, [r5, 0x18]");
    0x00008eb4 str r0, [r7]                                  |     *(r7) = r0;
    0x00008eb6 cmp.w r3, -1                                  |     
    0x00008eba it eq                                         |     
                                                             |     if (r3 != -1) {
    0x00008ebc cmpeq r2, -1                                  |         __asm ("cmpeq r2, -1");
                                                             |         goto label_181;
                                                             |     }
                                                             |     if (r3 != -1) {
                                                             | label_181:
    0x00008ec0 bne.w 0x8278                                  |         goto label_44;
                                                             |     }
    0x00008ec4 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008ec6 beq.w 0x8278                                  |         goto label_44;
                                                             |     }
                                                             | label_132:
    0x00008eca ldrb r3, [r0]                                 |     r3 = *(r0);
    0x00008ecc cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x00008ece beq.w 0x8278                                  |         goto label_44;
                                                             |     }
    0x00008ed2 ldr r3, [pc, 0x288]                           |     
    0x00008ed4 add r3, pc                                    |     r3 = 0x12036;
    0x00008ed6 ldr r1, [r3, 0x28]                            |     r1 = *(0x1205e);
    0x00008ed8 blx 0x3404                                    |     fcn_00003404 ();
    0x00008edc ldr r3, [pc, 0x280]                           |     
    0x00008ede add r3, pc                                    |     r3 = 0x12042;
    0x00008ee0 strd r0, r1, [r3, 0x18]                       |     __asm ("strd r0, r1, [r3, 0x18]");
    0x00008ee4 b.w 0x8278                                    |     goto label_44;
                                                             | label_100:
    0x00008ee8 ldrd r2, r1, [sp, 0x40]                       |     __asm ("ldrd r2, r1, [arg_40h]");
    0x00008eec ldr.w r3, [r6, 0x474]                         |     r3 = *((r6 + 0x474));
    0x00008ef0 orrs r2, r1                                   |     r2 |= r1;
                                                             |     if (r2 == r1) {
    0x00008ef2 beq.w 0x9320                                  |         goto label_182;
                                                             |     }
    0x00008ef6 mov r0, r3                                    |     r0 = r3;
    0x00008ef8 mov.w r2, 0x1b6                               |     r2 = 0x1b6;
    0x00008efc movs r1, 0x41                                 |     r1 = 0x41;
    0x00008efe blx 0x2f4c                                    |     r0 = ext2fs_open_file ();
    0x00008f02 cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x00008f04 bge.w 0x9230                                  |         goto label_183;
                                                             |     }
    0x00008f08 blx 0x3964                                    |     r0 = fcn_00003964 ();
    0x00008f0c ldr r0, [r0]                                  |     r0 = *(r0);
    0x00008f0e cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x00008f10 beq.w 0x7844                                  |         goto label_3;
                                                             |     }
    0x00008f14 movw r3, 0xb750                               |     
    0x00008f18 movt r3, 0x7f2b                               |     r3 = 0x7f2bb750;
    0x00008f1c cmp r0, r3                                    |     
                                                             |     if (r0 == r3) {
    0x00008f1e beq.w 0x7844                                  |         goto label_3;
                                                             |     }
    0x00008f22 b 0x8b76                                      |     goto label_45;
                                                             | label_86:
    0x00008f72 ldr r1, [pc, 0x1f4]                           |     
    0x00008f74 str r3, [sp]                                  |     *(sp) = r3;
    0x00008f76 add r3, sp, 0x70                              |     r3 += arg_70h;
    0x00008f78 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00008f7a add r1, pc                                    |     r1 = 0x120e8;
    0x00008f7c ldr r3, [pc, 0x1ec]                           |     
    0x00008f7e ldr.w r2, [r1, 0x474]                         |     r2 = *(0x1255c);
    0x00008f82 ldr.w r0, [r1, 0x434]                         |     r0 = *(0x1251c);
    0x00008f86 ldr r1, [pc, 0x1e8]                           |     
    0x00008f88 add r3, pc                                    |     r3 = 0x120f8;
    0x00008f8a add r1, pc                                    |     r1 = 0x12100;
    0x00008f8c bl 0xe5c4                                     |     fcn_0000e5c4 (r0);
    0x00008f8e invalid                                       |     
    0x00008f92 pop {r1, r2, r3, r5, r6}                      |     
                                                             | label_85:
    0x00008f94 ldr r1, [pc, 0x1dc]                           |     
    0x00008f96 str r3, [sp]                                  |     *(sp) = r3;
    0x00008f98 add r3, sp, 0x6c                              |     r3 += arg_6ch;
    0x00008f9a str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00008f9c add r1, pc                                    |     r1 = 0x12114;
    0x00008f9e ldr r3, [pc, 0x1d8]                           |     
    0x00008fa0 ldr.w r2, [r1, 0x474]                         |     r2 = "uname";
    0x00008fa4 ldr.w r0, [r1, 0x434]                         |     r0 = *(0x12548);
    0x00008fa8 ldr r1, [pc, 0x1d0]                           |     
    0x00008faa add r3, pc                                    |     r3 = 0x12128;
    0x00008fac add r1, pc                                    |     r1 = 0x1212c;
    0x00008fae bl 0xe5c4                                     |     fcn_0000e5c4 (r0);
    0x00008fb2 b.w 0x7868                                    |     goto label_46;
    0x00008fb4 pop {r0, r3, r4, r6}                          |     
                                                             | label_88:
    0x00008fb6 str.w r0, [r5, 0x438]                         |     __asm ("str.w r0, [r5, 0x438]");
                                                             | label_61:
    0x00008fba ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00008fbc movs r2, 0x1e                                 |     r2 = 0x1e;
    0x00008fbe ldr r0, [pc, 0x1c0]                           |     
    0x00008fc0 movs r1, 1                                    |     r1 = 1;
    0x00008fc2 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00008fc4 add r0, pc                                    |     r0 = 0x1214a;
    0x00008fc6 blx 0x35c4                                    |     ext2fs_namei ();
    0x00008fca movs r0, 1                                    |     r0 = 1;
    0x00008fcc blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_87:
    0x00008fd0 addw r1, r2, 0x464                            |     __asm ("addw r1, r2, 0x464");
    0x00008fd4 str r3, [sp]                                  |     *(sp) = r3;
    0x00008fd6 str r1, [sp, 4]                               |     *(arg_4h) = r1;
    0x00008fd8 ldr r1, [pc, 0x1a8]                           |     
    0x00008fda ldr.w r0, [r2, 0x434]                         |     r0 = *((r2 + 0x434));
    0x00008fde ldr r2, [pc, 0x1a8]                           |     
    0x00008fe0 add r1, pc                                    |     r1 = 0x12168;
    0x00008fe2 add r2, pc                                    |     r2 = 0x12170;
    0x00008fe4 bl 0xe5c4                                     |     fcn_0000e5c4 (r0);
    0x00008fe8 b.w 0x787e                                    |     goto label_47;
    0x00008fea pop {r0, r3, r6}                              |     
                                                             | label_130:
    0x00008fec ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00008fee movs r2, 0x6b                                 |     r2 = 0x6b;
    0x00008ff0 ldr r0, [pc, 0x198]                           |     
    0x00008ff2 movs r1, 1                                    |     r1 = 1;
    0x00008ff4 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00008ff6 add r0, pc                                    |     r0 = 0x12186;
    0x00008ff8 blx 0x35c4                                    |     ext2fs_namei ();
    0x00008ffc b.w 0x81e0                                    |     goto label_48;
                                                             | label_129:
    0x00009000 str r3, [sp]                                  |     *(sp) = r3;
    0x00009002 ldr r3, [pc, 0x18c]                           |     
    0x00009004 ldr r2, [pc, 0x18c]                           |     
    0x00009006 add r3, pc                                    |     r3 = "@&@5@";
    0x00009008 ldr r0, [r3]                                  |     r0 = "@&@5@";
    0x0000900a add r2, pc                                    |     r2 = 0x121a2;
    0x0000900c mov r3, r8                                    |     r3 = r8;
    0x0000900e blx 0x322c                                    |     fcn_0000322c ();
    0x00009012 ldr r0, [r5, 0x2c]                            |     r0 = *((r5 + 0x2c));
    0x00009014 bl 0x9854                                     |     fcn_00009854 (r0);
    0x00009016 invalid                                       |     
    0x0000901a invalid                                       |     
                                                             | label_137:
    0x0000901c ldr.w r0, [r1, 0x438]                         |     r0 = *((r1 + 0x438));
    0x00009020 mov r2, r3                                    |     r2 = r3;
    0x00009022 ldr r1, [pc, 0x174]                           |     
    0x00009024 add r1, pc                                    |     r1 = 0x121c2;
    0x00009026 bl 0x6dbc                                     |     r0 = fcn_00006dbc (r0, r1, r2);
    0x0000902a cmp.w r0, 0x100                               |     
    0x0000902e mov r3, r0                                    |     r3 = r0;
    0x00009030 it lt                                         |     
                                                             |     if (r0 >= 0x100) {
    0x00009032 movlt r3, 0x100                               |         r3 = 0x100;
                                                             |     }
    0x00009036 str r3, [sp, 0x14]                            |     *(arg_14h) = r3;
    0x00009038 b.w 0x8408                                    |     goto label_49;
                                                             | label_135:
    0x0000903c ldr r3, [r5, 0x28]                            |     r3 = *((r5 + 0x28));
    0x0000903e mov.w r2, 0x400                               |     r2 = 0x400;
    0x00009042 lsls r2, r3                                   |     r2 <<= r3;
    0x00009044 asrs r3, r2, 0x1f                             |     r3 = r2 >> 0x1f;
    0x00009046 bl 0x11ff8                                    |     fcn_00011ff8 (r0, r1, r2, r3);
    0x0000904a ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x0000904c subs r7, r3, r0                               |     r7 = r3 - r0;
    0x0000904e ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x00009050 add.w r0, r5, 0x10                            |     r0 = r5 + 0x10;
    0x00009054 mov r2, r7                                    |     r2 = r7;
    0x00009056 sbc.w r6, r3, r1                              |     __asm ("sbc.w r6, r3, r1");
    0x00009058 lsls r1, r0, 0x18                             |     r1 = r0 << 0x18;
    0x0000905a mov r3, r6                                    |     r3 = r6;
    0x0000905c blx 0x39ac                                    |     fcn_000039ac ();
    0x00009060 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00009062 movs r1, 1                                    |     r1 = 1;
    0x00009064 ldr r2, [pc, 0x134]                           |     
    0x00009066 strd r7, r6, [sp]                             |     __asm ("strd r7, r6, [sp]");
    0x00009068 strb r0, [r0, 0x18]                           |     *((r0 + 0x18)) = r0;
    0x0000906a ldr r0, [r3]                                  |     r0 = *(r3);
    0x0000906c add r2, pc                                    |     r2 = 0x1220c;
    0x0000906e blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00009072 b.w 0x83c6                                    |     goto label_50;
                                                             |     if (r0 != 0) {
    0x00009074 cbnz r0, 0x90a2                               |         void (*0x90a2)() ();
                                                             |     }
                                                             | label_162:
    0x00009076 ldr r3, [pc, 0x128]                           |     
    0x00009078 add r3, pc                                    |     r3 = 0x1221e;
    0x0000907a ldr r0, [r3, 0x2c]                            |     r0 = *(0x1224a);
    0x0000907c bl 0x9854                                     |     fcn_00009854 (r0);
    0x00009080 b.w 0x8714                                    |     goto label_51;
                                                             | label_177:
    0x000091ba ldr.w r4, [pc, 0x4cc]                         |     
    0x000091be mov r0, r3                                    |     r0 = r3;
    0x000091c0 add r4, pc                                    |     r4 = 0x1284e;
    0x000091c2 mov r1, r4                                    |     r1 = r4;
    0x000091c4 bl 0x61e8                                     |     fcn_000061e8 (r0, r1);
    0x000091c8 b.w 0x78fe                                    |     goto label_39;
                                                             | label_84:
    0x000091cc ldr.w r2, [r3, 0x480]                         |     r2 = *((r3 + 0x480));
    0x000091d0 ldr r0, [sp, 0x40]                            |     r0 = *(arg_40h);
    0x000091d2 ldr.w r3, [r3, 0x484]                         |     r3 = *((r3 + 0x484));
    0x000091d6 cmp r2, r0                                    |     
    0x000091d8 ldr r2, [sp, 0x44]                            |     r2 = *(arg_44h);
    0x000091da sbcs r3, r2                                   |     __asm ("sbcs r3, r2");
                                                             |     if (r2 >= r0) {
    0x000091dc bhs.w 0x7858                                  |         goto label_52;
                                                             |     }
    0x000091e0 ldr.w r3, [pc, 0x4a8]                         |     
    0x000091e4 ldr.w r2, [pc, 0x4a8]                         |     
    0x000091e8 add r3, pc                                    |     r3 = 0x12878;
    0x000091ea ldr r0, [r3]                                  |     r0 = *(0x12878);
    0x000091ec add r2, pc                                    |     r2 = 0x12880;
    0x000091ee ldr.w r3, [pc, 0x4a4]                         |     
    0x000091f2 add r3, pc                                    |     r3 = 0x1288c;
    0x000091f4 blx 0x322c                                    |     fcn_0000322c ();
    0x000091f8 ldr.w r3, [pc, 0x49c]                         |     
    0x000091fc add r3, pc                                    |     r3 = "discard";
    0x000091fe ldr r0, [r3, 0x2c]                            |     r0 = *(0x128c4);
    0x00009200 bl 0x9854                                     |     fcn_00009854 (r0);
    0x00009204 b.w 0x7858                                    |     goto label_52;
                                                             | label_93:
    0x00009208 ldr.w r3, [pc, 0x490]                         |     
    0x0000920c add r3, pc                                    |     r3 = "quotatype";
    0x0000920e b.w 0x7b68                                    |     goto label_34;
                                                             | label_183:
    0x00009230 vmov.i32 d16, 0                               |     __asm ("vmov.i32 d16, 0");
    0x00009234 vstr d16, [r4]                                |     __asm ("vstr d16, [r4]");
    0x00009238 blx 0x359c                                    |     fcn_0000359c ();
    0x0000923c ldr.w r1, [pc, 0x464]                         |     
    0x00009240 movs r0, 1                                    |     r0 = 1;
    0x00009242 ldr.w r2, [r6, 0x474]                         |     r2 = *((r6 + 0x474));
    0x00009246 add r1, pc                                    |     r1 = 0x128ee;
    0x00009248 blx 0x3150                                    |     printf_chk ()
    0x0000924a invalid                                       |     
    0x0000924e revsh r2, r7                                  |     __asm ("revsh r2, r7");
                                                             | label_63:
    0x00009250 bl 0x5dac                                     |     fcn_00005dac (r0);
                                                             | label_151:
    0x00009254 ldr.w r0, [pc, 0x450]                         |     
    0x00009258 add r0, pc                                    |     r0 = 0x12904;
    0x0000925a blx 0x37d4                                    |     ext2fs_extent_insert ();
    0x0000925e ldr r3, [sp, 0x2c]                            |     r3 = *(arg_2ch);
    0x00009260 cmp r3, 0                                     |     
                                                             |     if (r3 != 0) {
    0x00009262 bne.w 0x8634                                  |         goto label_24;
                                                             |     }
    0x00009266 b.w 0x8578                                    |     goto label_13;
                                                             | label_94:
    0x0000926a ldr.w r3, [pc, 0x440]                         |     
    0x0000926e add r3, pc                                    |     r3 = 0x12920;
    0x00009270 b.w 0x7b68                                    |     goto label_34;
                                                             | label_173:
    0x00009274 ldr.w r1, [pc, 0x438]                         |     
    0x00009278 mov r0, r4                                    |     r0 = r4;
    0x0000927a add r1, pc                                    |     r1 = 0x1292e;
    0x0000927c blx 0x3928                                    |     r0 = fcn_00003928 ();
    0x00009280 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x00009282 bne.w 0x8cbc                                  |         goto label_53;
                                                             |     }
    0x00009286 b 0x8cb2                                      |     goto label_42;
                                                             | label_174:
    0x00009296 ldr.w r3, [pc, 0x420]                         |     
    0x0000929a movs r2, 0                                    |     r2 = 0;
    0x0000929c movs r1, 6                                    |     r1 = 6;
    0x0000929e movs r0, 2                                    |     r0 = 2;
    0x000092a0 add r3, pc                                    |     r3 = 0x1295e;
    0x000092a2 ldr r5, [r3, 0x28]                            |     r5 = *(0x12986);
    0x000092a4 bl 0x60e8                                     |     r0 = fcn_000060e8 (r0, r1, r2);
    0x000092a8 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x000092aa beq.w 0x8cfc                                  |         goto label_54;
                                                             |     }
    0x000092ae cmp.w r5, 0x1000                              |     
    0x000092b2 it ge                                         |     
                                                             |     if (r5 < 0x1000) {
    0x000092b4 movge r5, 0x1000                              |         r5 = 0x1000;
                                                             |     }
    0x000092b8 b 0x8cfc                                      |     goto label_54;
                                                             | label_96:
    0x000092ba ldr.w r0, [pc, 0x400]                         |     
    0x000092be add r0, pc                                    |     r0 = 0x12980;
    0x000092c0 blx 0x3144                                    |     r0 = getenv (r0);
    0x000092c4 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000092c6 bne.w 0x79e2                                  |         goto label_55;
                                                             |     }
    0x000092ca ldr r3, [pc, 0x3f4]                           |     
    0x000092cc ldr r3, [r7, r3]                              |     r3 = *((r7 + r3));
    0x000092ce ldr r3, [r3]                                  |     r3 = *(0x96c2);
    0x000092d0 b.w 0x79f4                                    |     goto label_56;
                                                             | label_179:
    0x000092d4 ldr r4, [pc, 0x3ec]                           |     
    0x000092d6 mov r0, r3                                    |     r0 = r3;
    0x000092d8 add r4, pc                                    |     r4 = 0x129a0;
    0x000092da mov r1, r4                                    |     r1 = r4;
    0x000092dc bl 0x61e8                                     |     r0 = fcn_000061e8 (r0, r1);
    0x000092e0 cmp r0, 0                                     |     
                                                             |     if (r0 != 0) {
    0x000092e2 bne.w 0x78fe                                  |         goto label_39;
                                                             |     }
    0x000092e6 ldr r1, [pc, 0x3e0]                           |     
    0x000092e8 mov r2, r4                                    |     r2 = r4;
    0x000092ea movs r0, 1                                    |     r0 = 1;
    0x000092ec add r1, pc                                    |     r1 = 0x129ba;
    0x000092ee blx 0x3150                                    |     printf_chk ()
    0x000092f2 b 0x8ca0                                      |     goto label_57;
                                                             | label_110:
    0x000092f4 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000092f6 movs r2, 0x31                                 |     r2 = 0x31;
    0x000092f8 ldr r0, [pc, 0x3d0]                           |     
    0x000092fa movs r1, 1                                    |     r1 = 1;
    0x000092fc ldr r3, [r3]                                  |     r3 = *(r3);
    0x000092fe add r0, pc                                    |     r0 = 0x129ce;
    0x00009300 blx 0x35c4                                    |     ext2fs_namei ();
    0x00009304 movs r0, 1                                    |     r0 = 1;
    0x00009306 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_111:
    0x0000930a ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x0000930c movs r2, 0x35                                 |     r2 = 0x35;
    0x0000930e ldr r0, [pc, 0x3c0]                           |     
    0x00009310 movs r1, 1                                    |     r1 = 1;
    0x00009312 ldr r3, [r3]                                  |     r3 = *(r3);
    0x00009314 add r0, pc                                    |     r0 = 0x129ea;
    0x00009316 blx 0x35c4                                    |     ext2fs_namei ();
    0x0000931a movs r0, 1                                    |     r0 = 1;
    0x0000931c blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_182:
    0x00009320 ldr r1, [sp, 0x18]                            |     r1 = *(arg_18h);
    0x00009322 ldr r2, [pc, 0x3b0]                           |     
    0x00009324 ldr r0, [r1]                                  |     r0 = *(r1);
    0x00009326 movs r1, 1                                    |     r1 = 1;
    0x00009328 add r2, pc                                    |     r2 = 0x12a02;
    0x0000932a blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x0000932e movs r0, 1                                    |     r0 = 1;
    0x00009330 blx 0x3934                                    |     fcn_00003934 ();
    0x00009332 invalid                                       |     
                                                             | label_98:
    0x00009334 ldr r4, [pc, 0x3a0]                           |     
    0x00009336 mov r1, r8                                    |     r1 = r8;
    0x00009338 ldr r2, [pc, 0x3a0]                           |     
    0x0000933a str r0, [sp]                                  |     *(sp) = r0;
    0x0000933c add r4, pc                                    |     r4 = 0x12a18;
    0x0000933e ldr r0, [r4]                                  |     r0 = *(0x12a18);
    0x00009340 add r2, pc                                    |     r2 = 0x12a20;
    0x00009342 blx 0x322c                                    |     fcn_0000322c ();
    0x00009346 movs r0, 1                                    |     r0 = 1;
    0x00009348 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_97:
    0x0000934c ldr r0, [pc, 0x390]                           |     
    0x0000934e mov r1, r8                                    |     r1 = r8;
    0x00009350 ldr r2, [pc, 0x390]                           |     
    0x00009352 ldr.w r3, [sb, 0x478]                         |     r3 = *((sb + 0x478));
    0x00009356 add r0, pc                                    |     
    0x00009358 ldr r0, [r0]                                  |     r0 = *(0x12a3a);
    0x0000935a add r2, pc                                    |     r2 = 0x12a42;
    0x0000935c blx 0x322c                                    |     fcn_0000322c ();
    0x00009360 movs r0, 1                                    |     r0 = 1;
    0x00009362 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_109:
    0x00009366 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00009368 ldr r0, [pc, 0x37c]                           |     
    0x0000936a ldr r3, [r3]                                  |     r3 = *(r3);
    0x0000936c add r0, pc                                    |     r0 = 0x12a58;
                                                             | label_59:
    0x0000936e movs r2, 0x30                                 |     r2 = 0x30;
    0x00009370 movs r1, 1                                    |     r1 = 1;
    0x00009372 blx 0x35c4                                    |     ext2fs_namei ();
    0x00009376 movs r0, 1                                    |     r0 = 1;
    0x00009378 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_77:
    0x0000937c ldr r3, [pc, 0x36c]                           |     
    0x0000937e movw r1, 0xb746                               |     
    0x00009382 ldr r2, [pc, 0x36c]                           |     
    0x00009384 movt r1, 0x7f2b                               |     r1 = 0x7f2bb746;
    0x00009388 add r3, pc                                    |     r3 = 0x12a78;
    0x0000938a ldr r0, [r3]                                  |     r0 = *(0x12a78);
    0x0000938c add r2, pc                                    |     r2 = 0x12a82;
    0x0000938e blx 0x322c                                    |     fcn_0000322c ();
    0x00009392 movs r0, 1                                    |     r0 = 1;
    0x00009394 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_136:
    0x00009398 ldr r0, [pc, 0x358]                           |     
    0x0000939a ldr r2, [pc, 0x35c]                           |     
    0x0000939c add r0, pc                                    |     r0 = 0x12a94;
    0x0000939e add r2, pc                                    |     r2 = 0x12a9c;
                                                             |     do {
                                                             | label_58:
    0x000093a0 ldr r0, [r0]                                  |         r0 = *(r0);
    0x000093a2 movs r1, 0                                    |         r1 = 0;
    0x000093a4 blx 0x322c                                    |         fcn_0000322c ();
    0x000093a8 movs r0, 1                                    |         r0 = 1;
    0x000093aa blx 0x3934                                    |         fcn_00003934 ();
                                                             | label_95:
    0x000093ae ldr r0, [pc, 0x34c]                           |         
    0x000093b0 mov r3, sl                                    |         r3 = sl;
    0x000093b2 ldr r2, [pc, 0x34c]                           |         
    0x000093b4 movs r1, 0                                    |         r1 = 0;
    0x000093b6 add r0, pc                                    |         
    0x000093b8 ldr r0, [r0]                                  |         r0 = *(0x12ab8);
    0x000093ba add r2, pc                                    |         r2 = 0x12ac0;
    0x000093bc blx 0x322c                                    |         fcn_0000322c ();
    0x000093c0 bl 0x5dac                                     |         fcn_00005dac (r0);
                                                             | label_67:
    0x000093c4 ldr r0, [pc, 0x33c]                           |         
    0x000093c6 ldr r3, [sp, 0x34]                            |         r3 = *(arg_34h);
    0x000093c8 ldr r2, [pc, 0x33c]                           |         
    0x000093ca add r0, pc                                    |         r0 = 0x12ad2;
    0x000093cc ldr r3, [r3]                                  |         r3 = *(r3);
    0x000093ce add r2, pc                                    |         r2 = 0x12ada;
    0x000093d0 b 0x93a0                                      |         
                                                             |     } while (1);
                                                             | label_66:
    0x000093d2 ldr r0, [pc, 0x338]                           |     
    0x000093d4 ldr r3, [pc, 0x338]                           |     
    0x000093d6 ldr r2, [pc, 0x33c]                           |     
    0x000093d8 add r0, pc                                    |     r0 = 0x12aea;
    0x000093da add r3, pc                                    |     r3 = 0x12aee;
    0x000093dc add r2, pc                                    |     r2 = 0x12af6;
    0x000093de b 0x93a0                                      |     goto label_58;
                                                             | label_153:
    0x000093ee ldr r3, [pc, 0x334]                           |     
    0x000093f0 ldr r2, [pc, 0x334]                           |     
    0x000093f2 strd ip, r0, [sp]                             |     __asm ("strd ip, r0, [sp]");
    0x000093f6 add r3, pc                                    |     r3 = 0x12b20;
    0x000093f8 ldr r0, [r3]                                  |     r0 = *(0x12b20);
    0x000093fa add r2, pc                                    |     r2 = 0x12b26;
    0x000093fc blx 0x322c                                    |     fcn_0000322c ();
    0x00009400 movs r0, 1                                    |     r0 = 1;
    0x00009402 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_165:
    0x00009406 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00009408 movs r1, 1                                    |     r1 = 1;
    0x0000940a ldr r2, [pc, 0x320]                           |     
    0x0000940c ldr r0, [r3]                                  |     r0 = *(r3);
    0x0000940e mov r3, r5                                    |     r3 = r5;
    0x00009410 add r2, pc                                    |     r2 = 0x12b42;
    0x00009412 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00009416 movs r0, 1                                    |     r0 = 1;
    0x00009418 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_171:
    0x0000941c ldr r0, [pc, 0x310]                           |     
    0x0000941e mov r3, r7                                    |     r3 = r7;
    0x00009420 ldr r2, [pc, 0x310]                           |     
    0x00009422 add r0, pc                                    |     r0 = 0x12b56;
    0x00009424 add r2, pc                                    |     r2 = 0x12b5c;
    0x00009426 b 0x93a0                                      |     goto label_58;
                                                             | label_120:
    0x00009428 ldr r2, [sp, 0x34]                            |     r2 = *(arg_34h);
    0x0000942a mov.w r4, 0x400                               |     r4 = 0x400;
    0x0000942e lsls r4, r6                                   |     r4 <<= r6;
    0x00009430 movs r1, 1                                    |     r1 = 1;
    0x00009432 str r2, [sp]                                  |     *(sp) = r2;
    0x00009434 ldr.w r3, [r3, 0x474]                         |     r3 = *((r3 + 0x474));
    0x00009438 ldr r2, [pc, 0x2fc]                           |     
    0x0000943a str r3, [sp, 8]                               |     *(arg_8h) = r3;
    0x0000943c ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x0000943e add r2, pc                                    |     r2 = 0x12b7a;
    0x00009440 ldr r0, [r3]                                  |     r0 = *(r3);
    0x00009442 ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x00009444 str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x00009446 ldr r3, [pc, 0x2f4]                           |     
    0x00009448 add r3, pc                                    |     
    0x0000944a ldr r3, [r3]                                  |     r3 = *(0x12b8a);
    0x0000944c str r4, [sp, 0xc]                             |     *(arg_ch) = r4;
    0x0000944e blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x00009452 movs r0, 1                                    |     r0 = 1;
    0x00009454 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_148:
    0x00009458 ldr r1, [pc, 0x2e4]                           |     
    0x0000945a movs r0, 0x80                                 |     r0 = 0x80;
    0x0000945c ldr r2, [pc, 0x2e4]                           |     
    0x0000945e strd r0, r8, [sp]                             |     __asm ("strd r0, r8, [sp]");
    0x00009462 add r1, pc                                    |     r1 = 0x12ba6;
    0x00009464 ldr r3, [sp, 0x14]                            |     r3 = *(arg_14h);
    0x00009466 ldr r0, [r1]                                  |     r0 = *(0x12ba6);
    0x00009468 add r2, pc                                    |     r2 = 0x12bb0;
    0x0000946a movs r1, 0                                    |     r1 = 0;
    0x0000946c blx 0x322c                                    |     fcn_0000322c ();
    0x00009470 movs r0, 1                                    |     r0 = 1;
    0x00009472 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_112:
    0x00009476 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x00009478 ldr r0, [pc, 0x2cc]                           |     
    0x0000947a ldr r3, [r3]                                  |     r3 = *(r3);
    0x0000947c add r0, pc                                    |     r0 = 0x12bc8;
    0x0000947e b 0x936e                                      |     goto label_59;
                                                             | label_159:
    0x00009480 ldr r3, [pc, 0x2c8]                           |     
    0x00009482 mov r0, r5                                    |     r0 = r5;
    0x00009484 ldr r4, [r4, 0x10]                            |     r4 = *((r4 + 0x10));
    0x00009486 add r3, pc                                    |     r3 = 0x12bd6;
    0x00009488 ldr r5, [r3]                                  |     r5 = *(0x12bd6);
    0x0000948a blx 0x347c                                    |     fcn_0000347c ();
    0x0000948e ldr r2, [pc, 0x2c0]                           |     
    0x00009490 strd r0, r1, [sp, 8]                          |     __asm ("strd r0, r1, [sp, 8]");
    0x00009494 mov r0, r5                                    |     r0 = r5;
    0x00009496 ldr r3, [sp, 0x14]                            |     r3 = *(arg_14h);
    0x00009498 movs r1, 0                                    |     r1 = 0;
    0x0000949a add r2, pc                                    |     r2 = 0x12bf0;
    0x0000949c str r4, [sp]                                  |     *(sp) = r4;
    0x0000949e blx 0x322c                                    |     fcn_0000322c ();
    0x000094a2 movs r0, 1                                    |     r0 = 1;
    0x000094a4 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_163:
    0x000094a8 blx 0x36bc                                    |     fcn_000036bc ();
                                                             | label_156:
    0x000094ac ldr r0, [pc, 0x2a4]                           |     
    0x000094ae ldr r3, [pc, 0x2a8]                           |     
    0x000094b0 ldr r2, [pc, 0x2a8]                           |     
    0x000094b2 add r0, pc                                    |     
    0x000094b4 ldr r0, [r0]                                  |     r0 = *(0x12c0a);
    0x000094b6 add r3, pc                                    |     r3 = 0x12c14;
    0x000094b8 add r2, pc                                    |     r2 = 0x12c18;
    0x000094ba blx 0x322c                                    |     fcn_0000322c ();
    0x000094be movs r0, 1                                    |     r0 = 1;
    0x000094c0 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_121:
    0x000094c4 str r0, [sp]                                  |     *(sp) = r0;
    0x000094c6 mov.w r4, 0x400                               |     r4 = 0x400;
    0x000094ca ldr.w r3, [r8, 0x474]                         |     r3 = *((r8 + 0x474));
    0x000094ce lsl.w r1, r4, r1                              |     r1 = r4 << r1;
    0x000094d2 ldr r2, [pc, 0x28c]                           |     
    0x000094d4 str r3, [sp, 8]                               |     *(arg_8h) = r3;
    0x000094d6 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000094d8 add r2, pc                                    |     r2 = 0x12c3e;
    0x000094da ldr r0, [r3]                                  |     r0 = *(r3);
    0x000094dc ldr r3, [sp, 0x28]                            |     r3 = *(arg_28h);
    0x000094de str r3, [sp, 4]                               |     *(arg_4h) = r3;
    0x000094e0 ldr r3, [pc, 0x280]                           |     
    0x000094e2 add r3, pc                                    |     
    0x000094e4 ldr r3, [r3]                                  |     
    0x000094e6 str r1, [sp, 0xc]                             |     *(arg_ch) = r1;
    0x000094e8 mov r1, r6                                    |     r1 = r6;
    0x000094ea blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x000094ee mov r0, r6                                    |     r0 = r6;
    0x000094f0 blx 0x3934                                    |     fcn_00003934 ();
    0x000094f4 ldr r3, [sp, 0x18]                            |     r3 = *(arg_18h);
    0x000094f6 movs r2, 0x3e                                 |     r2 = 0x3e;
    0x000094f8 ldr r0, [pc, 0x26c]                           |     
    0x000094fa movs r1, 1                                    |     r1 = 1;
    0x000094fc ldr r3, [r3]                                  |     r3 = *(0x12c4a);
    0x000094fe add r0, pc                                    |     r0 = 0x12c6a;
    0x00009500 blx 0x35c4                                    |     ext2fs_namei ();
    0x00009504 movs r0, 1                                    |     r0 = 1;
    0x00009506 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_145:
    0x0000950a ldr r0, [pc, 0x260]                           |     
    0x0000950c ldr r3, [pc, 0x260]                           |     
    0x0000950e ldr r2, [pc, 0x264]                           |     
    0x00009510 add r0, pc                                    |     r0 = 0x12c82;
    0x00009512 add r3, pc                                    |     r3 = 0x12c86;
    0x00009514 add r2, pc                                    |     r2 = 0x12c8e;
    0x00009516 b 0x93a0                                      |     goto label_58;
                                                             | label_164:
    0x00009518 ldr r1, [pc, 0x25c]                           |     
    0x0000951a add.w r3, r3, 0x40000000                      |     r3 += 0x40000000;
    0x0000951e ldr.w r0, [r8, 0x474]                         |     r0 = *((r8 + 0x474));
    0x00009522 subs r3, 1                                    |     r3--;
    0x00009524 ldr r2, [pc, 0x254]                           |     
    0x00009526 add r1, pc                                    |     r1 = 0x12ca2;
    0x00009528 str r0, [sp]                                  |     *(sp) = r0;
    0x0000952a add r2, pc                                    |     r2 = 0x12caa;
    0x0000952c ldr r0, [r1]                                  |     r0 = *(0x12ca2);
    0x0000952e ldr.w r3, [r5, r3, lsl 2]                     |     offset_4 = r3 << 2;
                                                             |     r3 = *((r5 + offset_4));
    0x00009532 movs r1, 0                                    |     r1 = 0;
    0x00009534 blx 0x322c                                    |     fcn_0000322c ();
    0x00009538 movs r0, 1                                    |     r0 = 1;
    0x0000953a blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_113:
    0x0000953e ldr r4, [pc, 0x240]                           |     
    0x00009540 ldr r3, [pc, 0x240]                           |     
    0x00009542 ldr r2, [pc, 0x244]                           |     
    0x00009544 add r4, pc                                    |     r4 = 0x12cca;
    0x00009546 add r3, pc                                    |     r3 = 0x12cce;
    0x00009548 add r2, pc                                    |     r2 = 0x12cd6;
    0x0000954a b.w 0x8b88                                    |     goto label_60;
                                                             | label_114:
    0x0000954e ldr r0, [pc, 0x23c]                           |     
    0x00009550 mov r1, r4                                    |     r1 = r4;
    0x00009552 ldr r3, [pc, 0x23c]                           |     
    0x00009554 ldr r2, [pc, 0x23c]                           |     
    0x00009556 add r0, pc                                    |     
    0x00009558 ldr r0, [r0]                                  |     r0 = imp._et_list;
    0x0000955a add r3, pc                                    |     r3 = 0x12cf0;
    0x0000955c add r2, pc                                    |     r2 = "small";
    0x0000955e blx 0x322c                                    |     fcn_0000322c ();
    0x00009562 movs r0, 1                                    |     r0 = 1;
    0x00009564 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_116:
    0x00009568 ldr r0, [pc, 0x22c]                           |     
    0x0000956a movs r1, 0x16                                 |     r1 = 0x16;
    0x0000956c ldr r3, [pc, 0x22c]                           |     
    0x0000956e ldr r2, [pc, 0x230]                           |     
    0x00009570 add r0, pc                                    |     
    0x00009572 ldr r0, [r0]                                  |     r0 = imp._et_list;
    0x00009574 add r3, pc                                    |     r3 = 0x12d14;
    0x00009576 add r2, pc                                    |     r2 = 0x12d1c;
    0x00009578 blx 0x322c                                    |     fcn_0000322c ();
    0x0000957c movs r0, 1                                    |     r0 = 1;
    0x0000957e blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_138:
    0x00009582 ldr r0, [pc, 0x220]                           |     
    0x00009584 ldr r3, [pc, 0x220]                           |     
    0x00009586 ldr r2, [pc, 0x224]                           |     
    0x00009588 add r0, pc                                    |     
    0x0000958a ldr r0, [r0]                                  |     r0 = *(0x12d32);
    0x0000958c add r3, pc                                    |     r3 = 0x12d38;
    0x0000958e add r2, pc                                    |     r2 = "MKE2FS_CONFIG";
    0x00009590 blx 0x322c                                    |     fcn_0000322c ();
    0x00009594 movs r0, 1                                    |     r0 = 1;
    0x00009596 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_73:
    0x0000959a ldr r0, [pc, 0x214]                           |     
    0x0000959c ldr r3, [sp, 0x34]                            |     r3 = *(arg_34h);
    0x0000959e ldr r2, [pc, 0x214]                           |     
    0x000095a0 add r0, pc                                    |     r0 = 0x12d56;
    0x000095a2 ldr r3, [r3]                                  |     r3 = *(r3);
    0x000095a4 add r2, pc                                    |     r2 = 0x12d5e;
    0x000095a6 b 0x93a0                                      |     goto label_58;
                                                             | label_71:
    0x000095a8 ldr r0, [pc, 0x20c]                           |     
    0x000095aa ldr r3, [pc, 0x210]                           |     
    0x000095ac ldr r2, [pc, 0x210]                           |     
    0x000095ae add r0, pc                                    |     r0 = 0x12d6a;
    0x000095b0 add r3, pc                                    |     r3 = 0x12d72;
    0x000095b2 add r2, pc                                    |     r2 = 0x12d76;
    0x000095b4 b 0x93a0                                      |     goto label_58;
                                                             | label_70:
    0x000095b6 ldr r0, [pc, 0x20c]                           |     
    0x000095b8 movs r1, 0xc                                  |     r1 = 0xc;
    0x000095ba ldr r3, [pc, 0x20c]                           |     
    0x000095bc ldr r2, [pc, 0x20c]                           |     
    0x000095be add r0, pc                                    |     
    0x000095c0 ldr r0, [r0]                                  |     r0 = *(0x12d88);
    0x000095c2 add r3, pc                                    |     r3 = "mke3fs";
    0x000095c4 add r2, pc                                    |     r2 = 0x12d94;
    0x000095c6 blx 0x322c                                    |     fcn_0000322c ();
    0x000095ca movs r0, 1                                    |     r0 = 1;
    0x000095cc blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_68:
    0x000095d0 ldr r0, [pc, 0x1fc]                           |     
    0x000095d2 movw r1, 0xb714                               |     
    0x000095d6 ldr r2, [pc, 0x1fc]                           |     
    0x000095d8 movt r1, 0x7f2b                               |     r1 = 0x7f2bb714;
    0x000095dc add r0, pc                                    |     
    0x000095de ldr r0, [r0]                                  |     r0 = "Warning: blocksize %d not usable on most systems.\n";
    0x000095e0 add r2, pc                                    |     r2 = 0x12dba;
    0x000095e2 blx 0x322c                                    |     fcn_0000322c ();
    0x000095e6 movs r0, 1                                    |     r0 = 1;
    0x000095e8 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_76:
    0x000095ec ldr r0, [pc, 0x1e8]                           |     
    0x000095ee ldr r3, [pc, 0x1ec]                           |     
    0x000095f0 ldr r2, [pc, 0x1ec]                           |     
    0x000095f2 add r0, pc                                    |     r0 = 0x12dce;
    0x000095f4 add r3, pc                                    |     r3 = 0x12dd6;
    0x000095f6 add r2, pc                                    |     r2 = 0x12dda;
    0x000095f8 b 0x93a0                                      |     goto label_58;
                                                             | label_79:
    0x000095fa ldr r0, [pc, 0x1e8]                           |     
    0x000095fc ldr r3, [pc, 0x1e8]                           |     
    0x000095fe ldr r2, [pc, 0x1ec]                           |     
    0x00009600 add r0, pc                                    |     r0 = 0x12dea;
    0x00009602 add r3, pc                                    |     r3 = 0x12dee;
    0x00009604 add r2, pc                                    |     r2 = 0x12df6;
    0x00009606 b 0x93a0                                      |     goto label_58;
                                                             | label_102:
    0x00009608 ldr r0, [pc, 0x1e4]                           |     
    0x0000960a ldr r3, [pc, 0x1e8]                           |     
    0x0000960c ldr r2, [pc, 0x1e8]                           |     
    0x0000960e add r0, pc                                    |     r0 = 0x12e02;
    0x00009610 add r3, pc                                    |     r3 = 0x12e0a;
    0x00009612 add r2, pc                                    |     r2 = 0x12e0e;
    0x00009614 b 0x93a0                                      |     goto label_58;
                                                             | label_104:
    0x00009616 ldr r0, [sp, 0x78]                            |     r0 = *(arg_78h);
    0x00009618 blx 0x332c                                    |     fcn_0000332c ();
    0x0000961c mov r0, sb                                    |     r0 = sb;
    0x0000961e blx 0x332c                                    |     fcn_0000332c ();
    0x00009622 ldr r3, [pc, 0x1d8]                           |     
    0x00009624 add r3, pc                                    |     r3 = 0x12e26;
    0x00009626 str.w r5, [r3, 0x438]                         |     __asm ("str.w r5, [r3, 0x438]");
    0x0000962a b 0x8fba                                      |     goto label_61;
                                                             | label_169:
    0x0000962c ldr r0, [pc, 0x1d0]                           |     
    0x0000962e mov r3, r7                                    |     r3 = r7;
    0x00009630 ldr r2, [pc, 0x1d0]                           |     
    0x00009632 add r0, pc                                    |     r0 = 0x12e36;
    0x00009634 add r2, pc                                    |     r2 = 0x12e3c;
    0x00009636 b 0x93a0                                      |     goto label_58;
                                                             | label_103:
    0x00009638 ldr r0, [pc, 0x1cc]                           |     
    0x0000963a ldr r3, [pc, 0x1d0]                           |     
    0x0000963c ldr r2, [pc, 0x1d0]                           |     
    0x0000963e add r0, pc                                    |     r0 = 0x12e4a;
    0x00009640 add r3, pc                                    |     r3 = 0x12e52;
    0x00009642 add r2, pc                                    |     r2 = 0x12e56;
    0x00009644 b 0x93a0                                      |     goto label_58;
                                                             | label_144:
    0x0000965e ldr r0, [pc, 0x1c0]                           |     
    0x00009660 ldr r3, [pc, 0x1c0]                           |     
    0x00009662 ldr r2, [pc, 0x1c4]                           |     
    0x00009664 add r0, pc                                    |     
    0x00009666 ldr r0, [r0]                                  |     r0 = *(0x12e8a);
    0x00009668 add r3, pc                                    |     r3 = 0x12e90;
    0x0000966a add r2, pc                                    |     r2 = 0x12e98;
    0x0000966c blx 0x322c                                    |     fcn_0000322c ();
    0x00009670 movs r0, 1                                    |     r0 = 1;
    0x00009672 blx 0x3934                                    |     fcn_00003934 ();
    0x00009676 ldr r0, [pc, 0x1b4]                           |     
    0x00009678 add r0, pc                                    |     r0 = 0x12eaa;
    0x0000967a blx 0x37d4                                    |     ext2fs_extent_insert ();
    0x0000967e movs r0, 1                                    |     r0 = 1;
    0x00009680 blx 0x3934                                    |     fcn_00003934 ();
    0x00009684 add r0, sp, 0x298                             |     r0 += arg_298h;
    0x00009686 movs r0, r0                                   |     
    0x00009688 ldr r3, [sp, 0x80]                            |     r3 = *(arg_80h);
    0x0000968a movs r0, r0                                   |     
    0x0000968c cdp2 p0, 4, c0, c12, c0, 0                    |     __asm ("cdp2 p0, 4, c0, c12, c0, 0");
                                                             |     if (r4 != 0) {
    0x00009690 cbz r4, 0x969e                                |         
    0x00009692 movs r0, r0                                   |         
    0x00009694 adr r2, 0x88                                  |         r2 = 0x88;
    0x00009696 movs r0, r0                                   |         
    0x00009698 cdp2 p0, 0, c0, c8, c0, 0                     |         __asm ("cdp2 p0, 0, c0, c8, c0, 0");
    0x0000969c ldr r2, [sp, 0x3b0]                           |         r2 = *(arg_3b0h);
                                                             |     }
    0x0000969e movs r0, r0                                   |     
    0x000096a0 adr r7, 0x170                                 |     r7 = 0x170;
    0x000096a2 movs r0, r0                                   |     
    0x000096a4 adr r0, 0x138                                 |     r0 = 0x138;
    0x000096a6 movs r0, r0                                   |     
    0x000096a8 add r6, sp, 0x120                             |     r6 += arg_120h;
    0x000096aa movs r0, r0                                   |     
    0x000096ac ldr r2, [sp, 0x258]                           |     r2 = *(arg_258h);
    0x000096ae movs r0, r0                                   |     
    0x000096b0 adr r2, 0x108                                 |     r2 = 0x108;
    0x000096b2 movs r0, r0                                   |     
    0x000096b4 cdp2 p0, 0, c0, c6, c0, 0                     |     __asm ("cdp2 p0, 0, c0, c6, c0, 0");
    0x000096b8 stc2l p0, c0, [r4, -0]!                       |     __asm ("stc2l p0, c0, [r4, -0]!");
    0x000096bc ldr r6, [sp, 0x278]                           |     r6 = *(arg_278h);
    0x000096be movs r0, r0                                   |     
    0x000096c0 lsls r0, r0, 0xf                              |     r0 <<= 0xf;
    0x000096c2 movs r0, r0                                   |     
    0x000096c4 ldr r1, [sp, 0x3e0]                           |     r1 = *(arg_3e0h);
    0x000096c6 movs r0, r0                                   |     
    0x000096c8 adr r1, 0x240                                 |     r1 = 0x240;
    0x000096ca movs r0, r0                                   |     
    0x000096cc adr r3, 0xe8                                  |     r3 = 0xe8;
    0x000096ce movs r0, r0                                   |     
    0x000096d0 adr r3, 0x160                                 |     r3 = 0x160;
    0x000096d2 movs r0, r0                                   |     
    0x000096d4 ldr r7, [sp, 0xd0]                            |     r7 = *(arg_d0h);
    0x000096d6 movs r0, r0                                   |     
    0x000096d8 ldc2l p0, c0, [r8], 0                         |     __asm ("ldc2l p0, c0, [r8], 0");
    0x000096dc ldr r6, [sp, 0x150]                           |     r6 = *(arg_150h);
    0x000096de movs r0, r0                                   |     
    0x000096e0 ldc2l p0, c0, [lr], {0}                       |     __asm ("ldc2l p0, c0, [lr], {0}");
    0x000096e4 ldr r6, [sp, 0x48]                            |     r6 = *(arg_48h);
    0x000096e6 movs r0, r0                                   |     
    0x000096e8 adr r2, 0x260                                 |     r2 = 0x260;
    0x000096ea movs r0, r0                                   |     
    0x000096ec stc2 p0, c0, [ip], 0                          |     __asm ("stc2 p0, c0, [ip], 0");
    0x000096f0 ldr r4, [sp, 0x2a0]                           |     r4 = *(arg_2a0h);
    0x000096f2 movs r0, r0                                   |     
    0x000096f4 ldc2 p0, c0, [r8], {0}                        |     __asm ("ldc2 p0, c0, [r8], {0}");
    0x000096f8 add r2, sp, 0x1b8                             |     r2 += arg_1b8h;
    0x000096fa movs r0, r0                                   |     
    0x000096fc ldc2l p0, c0, [lr], -0                        |     __asm ("ldc2l p0, c0, [lr], -0");
    0x00009700 ldr r2, [sp, 0x228]                           |     r2 = *(arg_228h);
    0x00009702 movs r0, r0                                   |     
    0x00009704 stc2l p0, c0, [sl], -0                        |     __asm ("stc2l p0, c0, [sl], -0");
    0x00009708 ldr r4, [sp, 0x238]                           |     r4 = *(arg_238h);
    0x0000970a movs r0, r0                                   |     
    0x0000970c mrrc2 p0, 0, r0, ip, c0                       |     __asm ("mrrc2 p0, 0, r0, ip, c0");
    0x00009710 ldr r4, [sp, 0x2f8]                           |     r4 = *(arg_2f8h);
    0x00009712 movs r0, r0                                   |     
    0x00009714 add r7, sp, 0xf0                              |     r7 += arg_f0h;
    0x00009716 movs r0, r0                                   |     
    0x00009718 mcrr2 p0, 0, r0, lr, c0                       |     __asm ("mcrr2 p0, 0, r0, lr, c0");
    0x0000971c adr r6, 0x1f0                                 |     r6 = 0x1f0;
    0x0000971e movs r0, r0                                   |     
    0x00009720 add r7, sp, 0xb8                              |     r7 += arg_b8h;
    0x00009722 movs r0, r0                                   |     
    0x00009724 ldc2 p0, c0, [lr], -0                         |     __asm ("ldc2 p0, c0, [lr], -0");
    0x00009728 add r4, sp, 0x3a8                             |     r4 += arg_3a8h;
    0x0000972a movs r0, r0                                   |     
    0x0000972c adr r1, 0x300                                 |     r1 = 0x300;
    0x0000972e movs r0, r0                                   |     
    0x00009730 invalid                                       |     
                                                             | }
    ; assembly                           | /* r2dec pseudo code output */
                                         | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/mkfs.ext3 @ 0x9854 */
                                         | #include <stdint.h>
                                         |  
    ; (fcn) fcn.00009854 ()              | void fcn_00009854 (int16_t arg1) {
                                         |     FILE * stream;
                                         |     int16_t var_4h;
                                         |     char * c;
                                         |     int16_t var_10ch;
                                         |     r0 = arg1;
    0x00009854 push {r4, r5, r6, lr}     |     
    0x00009856 sub sp, 0x110             |     
    0x00009858 ldr r4, [pc, 0xec]        |     
    0x0000985a mov r6, r0                |     r6 = r0;
    0x0000985c ldr r1, [pc, 0xec]        |     
    0x0000985e ldr r2, [pc, 0xf0]        |     r2 = *(0x9952);
    0x00009860 add r4, pc                |     
    0x00009862 str r4, [sp]              |     *(sp) = r4;
    0x00009864 mov r5, r4                |     r5 = r4;
    0x00009866 add r1, pc                |     r1 = 0x131b6;
    0x00009868 ldr r3, [pc, 0xe8]        |     r3 = *(0x9954);
    0x0000986a ldr r2, [r1, r2]          |     
    0x0000986c ldr r2, [r2]              |     r2 = *(0x131b6);
    0x0000986e str r2, [sp, 0x10c]       |     var_10ch = r2;
    0x00009870 mov.w r2, 0               |     r2 = 0;
    0x00009874 str r0, [sp, 4]           |     var_4h = r0;
    0x00009876 ldr r4, [r4, r3]          |     r4 = *(0x131ac);
    0x00009878 ldr r0, [r4]              |     r0 = *(0x131ac);
    0x0000987a blx 0x33b0                |     fcn_000033b0 ();
    0x0000987e ldr r3, [pc, 0xd8]        |     r3 = *(0x995a);
    0x00009880 ldr r3, [r5, r3]          |     r3 = *((r5 + r3));
    0x00009882 ldr r0, [r3]              |     r0 = *(0x995a);
    0x00009884 blx 0x33b0                |     fcn_000033b0 ();
    0x00009888 cmp r6, 0                 |     
                                         |     if (r6 <= 0) {
    0x0000988a ble 0x991c                |         goto label_2;
                                         |     }
    0x0000988c ldr r0, [pc, 0xcc]        |     
    0x0000988e add r0, pc                |     r0 = 0x131ee;
    0x00009890 blx 0x33c8                |     r0 = fcn_000033c8 ();
                                         |     if (r0 != 0) {
    0x00009894 cbnz r0, 0x98f4           |         goto label_3;
                                         |     }
    0x00009896 ldr r1, [pc, 0xc8]        |     
    0x00009898 movs r0, 0xe              |     r0 = 0xe;
    0x0000989a add r1, pc                |     r1 = "invalid blocks '%s' on device '%s';
    0x0000989c blx 0x309c                |     signal (r0);
    0x000098a0 ldr r4, [sp, 4]           |     r4 = var_4h;
    0x000098a2 movs r0, 1                |     r0 = 1;
    0x000098a4 ldr r1, [pc, 0xbc]        |     
    0x000098a6 mov r2, r4                |     r2 = r4;
    0x000098a8 add r1, pc                |     r1 = 0x13210;
    0x000098aa blx 0x3150                |     printf_chk ()
    0x000098ac mrrc p6, 2, r4, r2, c0    |     __asm ("mrrc p6, 2, r4, r2, c0");
    0x000098b0 blx 0x34b8                |     fcn_000034b8 ();
                                         |     do {
    0x000098b4 movs r2, 0                |         r2 = 0;
    0x000098b6 ldr r3, [pc, 0xb0]        |         r3 = *(0x996a);
    0x000098b8 strb.w r2, [sp, 0xc]      |         c = r2;
    0x000098bc add r4, sp, 0xc           |         r4 += c;
    0x000098be ldr r2, [sp]              |         r2 = *(sp);
    0x000098c0 mov.w r1, 0x100           |         r1 = 0x100;
    0x000098c4 mov r0, r4                |         r0 = r4;
    0x000098c6 ldr r3, [r2, r3]          |         r3 = *((r2 + r3));
    0x000098c8 ldr r2, [r3]              |         r2 = *(0x996a);
    0x000098ca blx 0x3138                |         r0 = fgets (r0, r1, r2);
                                         |         if (r0 != 0) {
    0x000098ce cbz r0, 0x98e0            |             
    0x000098d0 ldrb.w r4, [sp, 0xc]      |             r4 = c;
    0x000098d4 ldr r0, [pc, 0x94]        |             
    0x000098d6 mov r1, r4                |             r1 = r4;
    0x000098d8 add r0, pc                |             r0 = 0x13248;
    0x000098da blx 0x3168                |             r0 = strchr (r0, r1);
                                         |             if (r0 == 0) {
    0x000098de cbz r0, 0x992c            |                 goto label_4;
                                         |             }
                                         |         }
                                         | label_0:
    0x000098e0 ldr r2, [sp]              |         r2 = *(sp);
    0x000098e2 movs r0, 0xa              |         r0 = 0xa;
    0x000098e4 ldr r3, [pc, 0x6c]        |         r3 = *(0x9954);
    0x000098e6 ldr r3, [r2, r3]          |         r3 = *((r2 + r3));
    0x000098e8 ldr r1, [r3]              |         r1 = *(0x9954);
    0x000098ea blx 0x3858                |         ext2fs_iblk_add_blocks ();
    0x000098ee movs r0, 1                |         r0 = 1;
    0x000098f0 blx 0x3934                |         fcn_00003934 ();
                                         | label_3:
    0x000098f4 movs r1, 1                |         r1 = 1;
    0x000098f6 movs r0, 0xe              |         r0 = 0xe;
    0x000098f8 blx 0x309c                |         signal (r0);
    0x000098fc ldr r0, [pc, 0x70]        |         
    0x000098fe add r0, pc                |         r0 = 0x13272;
    0x00009900 blx 0x37d4                |         ext2fs_extent_insert ();
                                         | label_1:
    0x00009904 ldr r2, [pc, 0x6c]        |         
    0x00009906 ldr r3, [pc, 0x48]        |         r3 = *(0x9952);
    0x00009908 add r2, pc                |         r2 = 0x13280;
    0x0000990a ldr r3, [r2, r3]          |         r3 = *(0x13280);
    0x0000990c ldr r2, [r3]              |         r2 = *(0x13280);
    0x0000990e ldr r3, [sp, 0x10c]       |         r3 = var_10ch;
    0x00009910 eors r2, r3               |         r2 ^= r3;
    0x00009912 mov.w r3, 0               |         r3 = 0;
                                         |         if (r2 != r3) {
    0x00009916 bne 0x9944                |             goto label_5;
                                         |         }
    0x00009918 add sp, 0x110             |         
    0x0000991a pop {r4, r5, r6, pc}      |         
                                         | label_2:
    0x0000991c ldr r0, [pc, 0x58]        |         
    0x0000991e movs r2, 0x16             |         r2 = 0x16;
    0x00009920 ldr r3, [r4]              |         r3 = *(r4);
    0x00009922 movs r1, 1                |         r1 = 1;
    0x00009924 add r0, pc                |         r0 = 0x132a0;
    0x00009926 blx 0x35c4                |         ext2fs_namei ();
    0x0000992a b 0x98b4                  |         
                                         |     } while (1);
                                         | label_4:
    0x0000992c ldr r0, [pc, 0x4c]        |     
    0x0000992e mov r1, r4                |     r1 = r4;
    0x00009930 add r0, pc                |     r0 = 0x132b0;
    0x00009932 blx 0x3168                |     r0 = strchr (r0, r1);
    0x00009936 cmp r0, 0                 |     
                                         |     if (r0 == 0) {
    0x00009938 beq 0x98e0                |         goto label_0;
                                         |     }
    0x0000993a movs r1, 1                |     r1 = 1;
    0x0000993c movs r0, 0xe              |     r0 = 0xe;
    0x0000993e blx 0x309c                |     signal (r0);
    0x00009942 b 0x9904                  |     goto label_1;
                                         | label_5:
    0x00009944 blx 0x36bc                |     fcn_000036bc ();
    0x00009948 invalid                   |     
                                         | }
    ; assembly                                                       | /* r2dec pseudo code output */
                                                                     | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/mkfs.ext3 @ 0x9ecc */
                                                                     | #include <stdint.h>
                                                                     |  
                                                                     | #define BIT_MASK(t,v) ((t)(-((v)!= 0)))&(((t)-1)>>((sizeof(t)*CHAR_BIT)-(v)))
                                                                     |  
    ; (fcn) fcn.00009ecc ()                                          | void fcn_00009ecc (char * mode, int16_t arg_28h, int16_t arg_2ch, int16_t arg_34h, int16_t arg_38h, int16_t arg_40h, int16_t arg_50h, int16_t arg_60h, int16_t arg_64h, int16_t arg_98h, int16_t arg_1c4h, int16_t arg_2f0h, int16_t arg_41ch) {
                                                                     |     int16_t var_0h;
                                                                     |     int16_t var_4h;
                                                                     |     int16_t var_8h;
                                                                     |     char * filename;
                                                                     |     int16_t var_14h;
                                                                     |     int16_t var_18h;
                                                                     |     int16_t var_1ch;
                                                                     |     int16_t var_20h;
                                                                     |     int16_t var_24h;
                                                                     |     int16_t var_28h;
                                                                     |     int16_t var_2ch;
                                                                     |     int16_t var_30h;
                                                                     |     int16_t var_34h;
                                                                     |     int16_t var_38h;
                                                                     |     int16_t var_3ch;
                                                                     |     int16_t var_40h;
                                                                     |     int16_t var_44h;
                                                                     |     int16_t var_48h;
                                                                     |     int16_t var_4ch;
                                                                     |     int16_t var_50h;
                                                                     |     int16_t var_58h;
                                                                     |     int16_t var_5ch;
                                                                     |     int16_t var_60h;
                                                                     |     int16_t var_68h;
                                                                     |     int16_t var_6ch;
                                                                     |     int16_t var_70h;
                                                                     |     int16_t var_74h;
                                                                     |     int16_t var_78h;
                                                                     |     int16_t var_7ch;
                                                                     |     int16_t var_88h;
                                                                     |     int16_t var_8ch;
                                                                     |     int16_t var_94h;
                                                                     |     int16_t var_96h;
                                                                     |     int16_t var_98h;
                                                                     |     int16_t var_ach;
                                                                     |     int16_t var_aeh;
                                                                     |     int16_t var_10ch;
                                                                     |     int16_t var_10eh;
                                                                     |     int16_t var_114h;
                                                                     |     int32_t var_41ch;
                                                                     |     int16_t var_0h_2;
                                                                     |     int16_t var_4h_2;
                                                                     |     int16_t var_10h;
                                                                     |     char * var_14h_2;
                                                                     |     int16_t var_18h_2;
                                                                     |     int16_t var_1ch_2;
                                                                     |     int16_t var_20h_2;
    0x00009ecc blmi 0xfef5c9c4                                       |     __asm ("blmi aav.0x0000ed18");
    0x00009ed0 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x00009ed4 subw sp, sp, 0x424                                    |     __asm ("subw sp, sp, 0x424");
    0x00009ed8 add r2, pc                                            |     r2 += pc;
    0x00009eda add r4, sp, 0x40                                      |     r4 += arg_40h;
    0x00009edc mov r1, r4                                            |     r1 = r4;
    0x00009ede ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x00009ee0 ldr r3, [r3]                                          |     r3 = *(r3);
    0x00009ee2 str.w r3, [sp, 0x41c]                                 |     __asm ("str.w r3, [arg_41ch]");
    0x00009ee6 mov.w r3, 0                                           |     r3 = 0;
    0x00009eea blx 0x3900                                            |     r0 = ext2fs_new_inode ();
    0x00009eee cmp r0, 0                                             |     
                                                                     |     if (r0 < 0) {
    0x00009ef0 blt 0x9efe                                            |         goto label_2;
                                                                     |     }
    0x00009ef2 ldr r3, [sp, 0x50]                                    |     r3 = *(arg_50h);
    0x00009ef4 and r3, r3, 0xf000                                    |     r3 &= 0xf000;
    0x00009ef8 cmp.w r3, 0x6000                                      |     
    0x00009efa ldr r7, [pc, 0x300]                                   |     r7 = *(0xa1fe);
    0x00009efc beq 0x9f22                                            |     
                                                                     |     while (r0 == 0) {
                                                                     | label_2:
    0x00009efe movs r0, 0                                            |         r0 = 0;
    0x00009f00 movs r1, 0                                            |         r1 = 0;
                                                                     | label_3:
    0x00009f02 ldr r2, [pc, 0x2c4]                                   |         
    0x00009f04 ldr r3, [pc, 0x2bc]                                   |         r3 = *(0xa1c4);
    0x00009f06 add r2, pc                                            |         r2 = 0x140d4;
    0x00009f08 ldr r3, [r2, r3]                                      |         r3 = *(0x140d4);
    0x00009f0a ldr r2, [r3]                                          |         r2 = *(0x140d4);
    0x00009f0c ldr.w r3, [sp, 0x41c]                                 |         r3 = *(arg_41ch);
    0x00009f10 eors r2, r3                                           |         r2 ^= r3;
    0x00009f12 mov.w r3, 0                                           |         r3 = 0;
    0x00009f14 lsls r0, r0, 0xc                                      |         r0 <<= 0xc;
                                                                     |         if (r0 != r0) {
    0x00009f16 bne.w 0xa1bc                                          |             goto label_32;
                                                                     |         }
    0x00009f1a addw sp, sp, 0x424                                    |         __asm ("addw sp, var_0h_2");
    0x00009f1e pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
    0x00009f22 ldr r0, [pc, 0x2a8]                                   |         
    0x00009f24 add r3, sp, 0x98                                      |         r3 += arg_98h;
    0x00009f26 ldr r6, [sp, 0x60]                                    |         r6 = *(arg_60h);
    0x00009f28 movs r5, 0                                            |         r5 = 0;
    0x00009f2a ldr r4, [sp, 0x64]                                    |         r4 = *(arg_64h);
    0x00009f2c add r0, pc                                            |         r0 = 0x140fe;
    0x00009f2e str r3, [sp, 0x2c]                                    |         *(arg_2ch) = r3;
    0x00009f30 str r6, [sp, 0x18]                                    |         var_18h_2 = r6;
    0x00009f32 str r4, [sp, 0x1c]                                    |         var_1ch_2 = r4;
    0x00009f34 strb.w r5, [sp, 0x98]                                 |         *(arg_98h) = r5;
    0x00009f38 blx 0x2ff4                                            |         r0 = opendir ();
    0x00009f3c mov sb, r0                                            |         sb = r0;
    0x00009f3e cmp r0, 0                                             |         
    0x00009f40 beq 0x9efe                                            |         
                                                                     |     }
    0x00009f42 bic r3, r4, 0xff0                                     |     r3 = BIT_MASK (r4, 0xff0);
    0x00009f46 ubfx r2, r6, 8, 0xc                                   |     r2 = (r6 >> 8) & ((1 << 0xc) - 1);
    0x00009f4a bic r3, r3, 0xf                                       |     r3 = BIT_MASK (r3, 0xf);
    0x00009f4e orrs r3, r2                                           |     r3 |= r2;
    0x00009f50 str r3, [sp, 0x28]                                    |     *(arg_28h) = r3;
    0x00009f52 ldr r3, [pc, 0x27c]                                   |     
    0x00009f54 add r3, pc                                            |     r3 = 0x1412a;
    0x00009f56 str r3, [sp, 0x20]                                    |     var_20h_2 = r3;
    0x00009f58 ldr r3, [pc, 0x278]                                   |     
    0x00009f5a add r3, pc                                            |     r3 = 0x14132;
    0x00009f5c str r3, [sp, 0x24]                                    |     *(mode) = r3;
    0x00009f5e ldr r3, [pc, 0x278]                                   |     
    0x00009f60 add r3, pc                                            |     r3 = 0x1413e;
    0x00009f62 str r3, [sp, 0x10]                                    |     var_10h = r3;
    0x00009f64 ldr r3, [pc, 0x274]                                   |     
    0x00009f66 add r3, pc                                            |     r3 = 0x14146;
    0x00009f68 str r3, [sp, 0x14]                                    |     var_14h_2 = r3;
                                                                     |     do {
                                                                     | label_0:
    0x00009f6a mov r0, sb                                            |         r0 = sb;
    0x00009f6c blx 0x38f4                                            |         r0 = ext2fs_badblocks_list_iterate_begin ();
    0x00009f70 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x00009f72 beq.w 0xa180                                          |             goto label_33;
                                                                     |         }
                                                                     | label_5:
    0x00009f76 ldrb r3, [r0, 0xb]                                    |         r3 = *((r0 + 0xb));
    0x00009f78 add.w r4, r0, 0xb                                     |         r4 = r0 + 0xb;
    0x00009f7c cmp r3, 0x2e                                          |         
                                                                     |         if (r3 != 0x2e) {
    0x00009f7e bne 0x9f86                                            |             goto label_34;
                                                                     |         }
    0x00009f80 ldrb r3, [r4, 1]                                      |         r3 = *((r4 + 1));
    0x00009f82 cmp r3, 0                                             |         
    0x00009f84 beq 0x9f6a                                            |         
                                                                     |     } while (r3 == 0);
                                                                     | label_34:
    0x00009f86 ldrb r3, [r0, 0xb]                                    |     r3 = *((r0 + 0xb));
    0x00009f88 cmp r3, 0x2e                                          |     
                                                                     |     if (r3 != 0x2e) {
    0x00009f8a bne 0x9f98                                            |         goto label_35;
                                                                     |     }
    0x00009f8c ldrb r3, [r4, 1]                                      |     r3 = *((r4 + 1));
    0x00009f8e cmp r3, 0x2e                                          |     
                                                                     |     if (r3 != 0x2e) {
    0x00009f90 bne 0x9f98                                            |         goto label_35;
                                                                     |     }
    0x00009f92 ldrb r3, [r4, 2]                                      |     r3 = *((r4 + 2));
    0x00009f94 cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x00009f96 beq 0x9f6a                                            |         goto label_0;
                                                                     |     }
                                                                     | label_35:
    0x00009f98 mov r0, r4                                            |     r0 = r4;
    0x00009f9a blx 0x3434                                            |     r0 = fcn_00003434 ();
    0x00009f9e cmp.w r0, 0x10c                                       |     
                                                                     |     if (r0 > fcn.00000004) {
    0x00009fa2 bhi 0x9f6a                                            |         goto label_0;
                                                                     |     }
    0x00009fa4 ldr r3, [sp, 0x20]                                    |     r3 = var_20h_2;
    0x00009fa6 add r7, sp, 0x1c4                                     |     r7 += arg_1c4h;
    0x00009fa8 movs r2, 1                                            |     r2 = 1;
    0x00009faa mov r0, r7                                            |     r0 = r7;
    0x00009fac str r4, [sp, 4]                                       |     var_4h_2 = r4;
    0x00009fae str r3, [sp]                                          |     *(sp) = r3;
    0x00009fb0 mov.w r3, 0x12c                                       |     r3 = 0x12c;
    0x00009fb4 mov r1, r3                                            |     r1 = r3;
    0x00009fb6 blx 0x3590                                            |     fcn_00003590 ();
    0x00009fba ldr r1, [sp, 0x24]                                    |     r1 = *(mode);
    0x00009fbc mov r0, r7                                            |     r0 = r7;
    0x00009fbe blx 0x31ec                                            |     r0 = fopen (r0, r1);
    0x00009fc2 mov r6, r0                                            |     r6 = r0;
                                                                     |     if (r0 != 0) {
    0x00009fc4 cbz r0, 0x9fe6                                        |         
    0x00009fc6 ldr r1, [pc, 0x218]                                   |         
    0x00009fc8 add.w r8, sp, 0x38                                    |         r8 += arg_38h;
    0x00009fcc add.w sl, sp, 0x34                                    |         sl += arg_34h;
    0x00009fd0 mov r3, r8                                            |         r3 = r8;
    0x00009fd2 mov r2, sl                                            |         r2 = sl;
    0x00009fd4 add r1, pc                                            |         r1 = 0x141ba;
    0x00009fd6 blx 0x306c                                            |         r0 = isoc99_fscanf ();
    0x00009fda cmp r0, 2                                             |         
    0x00009fdc mov r0, r6                                            |         r0 = r6;
                                                                     |         if (r0 == 2) {
    0x00009fde beq.w 0xa12e                                          |             goto label_36;
                                                                     |         }
    0x00009fe2 blx 0x312c                                            |         fclose (r0);
                                                                     |     }
                                                                     | label_4:
    0x00009fe6 ldr r3, [pc, 0x1fc]                                   |     
    0x00009fe8 movs r2, 1                                            |     r2 = 1;
    0x00009fea mov r0, r7                                            |     r0 = r7;
    0x00009fec str r4, [sp, 4]                                       |     var_4h_2 = r4;
    0x00009fee add r3, pc                                            |     r3 = 0x141d8;
    0x00009ff0 str r3, [sp]                                          |     *(sp) = r3;
    0x00009ff2 mov.w r3, 0x12c                                       |     r3 = 0x12c;
    0x00009ff6 mov r1, r3                                            |     r1 = r3;
    0x00009ff8 blx 0x3590                                            |     fcn_00003590 ();
                                                                     |     if (r5 != 0) {
    0x00009ffc cbz r5, 0xa004                                        |         
    0x00009ffe mov r0, r5                                            |         r0 = r5;
    0x0000a000 blx 0x35e8                                            |         uuid_clear ();
    0x0000a002 invalid                                               |         
                                                                     |     }
    0x0000a004 mov r0, r7                                            |     r0 = r7;
    0x0000a006 blx 0x2ff4                                            |     r0 = opendir ();
    0x0000a00a mov r5, r0                                            |     r5 = r0;
    0x0000a00c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a00e beq 0x9f6a                                            |         goto label_0;
                                                                     |     }
    0x0000a010 ldr.w sl, [pc, 0x1d4]                                 |     
    0x0000a014 add sl, pc                                            |     sl = 0x14200;
                                                                     | label_1:
    0x0000a016 mov r0, r5                                            |     r0 = r5;
    0x0000a018 blx 0x38f4                                            |     r0 = ext2fs_badblocks_list_iterate_begin ();
    0x0000a01c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a01e beq 0x9f6a                                            |         goto label_0;
                                                                     |     }
    0x0000a020 ldrb r3, [r0, 0xb]                                    |     r3 = *((r0 + 0xb));
    0x0000a022 add.w r4, r0, 0xb                                     |     r4 = r0 + 0xb;
    0x0000a026 cmp r3, 0x2e                                          |     
                                                                     |     if (r3 != 0x2e) {
    0x0000a028 bne 0xa030                                            |         goto label_37;
                                                                     |     }
    0x0000a02a ldrb r3, [r4, 1]                                      |     r3 = *((r4 + 1));
    0x0000a02c cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000a02e beq 0xa016                                            |         goto label_1;
                                                                     |     }
                                                                     | label_37:
    0x0000a030 ldrb r3, [r0, 0xb]                                    |     r3 = *((r0 + 0xb));
    0x0000a032 cmp r3, 0x2e                                          |     
                                                                     |     if (r3 != 0x2e) {
    0x0000a034 bne 0xa042                                            |         goto label_38;
                                                                     |     }
    0x0000a036 ldrb r3, [r4, 1]                                      |     r3 = *((r4 + 1));
    0x0000a038 cmp r3, 0x2e                                          |     
                                                                     |     if (r3 != 0x2e) {
    0x0000a03a bne 0xa042                                            |         goto label_38;
                                                                     |     }
    0x0000a03c ldrb r3, [r4, 2]                                      |     r3 = *((r4 + 2));
    0x0000a03e cmp r3, 0                                             |     
                                                                     |     if (r3 == 0) {
    0x0000a040 beq 0xa016                                            |         goto label_1;
                                                                     |     }
                                                                     | label_38:
    0x0000a042 mov r0, r4                                            |     r0 = r4;
    0x0000a044 blx 0x3434                                            |     r0 = fcn_00003434 ();
    0x0000a048 mov r6, r0                                            |     r6 = r0;
    0x0000a04a mov r0, r7                                            |     r0 = r7;
    0x0000a04c blx 0x3434                                            |     fcn_00003434 ();
    0x0000a04e ldrd pc, r5, [r2, 0x300]!                             |     __asm ("ldrd pc, r5, [r2, 0x300]!");
    0x0000a052 strb r6, [r0, 0xe]                                    |     *((r0 + 0xe)) = r6;
    0x0000a054 cmp r6, r3                                            |     
                                                                     |     if (r6 > r3) {
    0x0000a056 bhi 0xa016                                            |         goto label_1;
                                                                     |     }
    0x0000a058 ldr r3, [sp, 0x10]                                    |     r3 = var_10h;
    0x0000a05a add r6, sp, 0x2f0                                     |     r6 += filename;
    0x0000a05c movs r2, 1                                            |     r2 = 1;
    0x0000a05e mov r0, r6                                            |     r0 = r6;
    0x0000a060 strd r7, r4, [sp, 4]                                  |     __asm ("strd r7, r4, [sp, 4]");
    0x0000a064 str r3, [sp]                                          |     *(sp) = r3;
    0x0000a066 mov.w r3, 0x12c                                       |     r3 = 0x12c;
    0x0000a06a mov r1, r3                                            |     r1 = r3;
    0x0000a06c blx 0x3590                                            |     fcn_00003590 ();
    0x0000a070 mov r0, r6                                            |     r0 = r6;
    0x0000a072 ldr r1, [sp, 0x14]                                    |     r1 = var_14h_2;
    0x0000a074 blx 0x31ec                                            |     r0 = fopen (r0, r1);
    0x0000a078 mov r6, r0                                            |     r6 = r0;
    0x0000a07a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a07c beq 0xa016                                            |         goto label_1;
                                                                     |     }
    0x0000a07e add.w r8, sp, 0x38                                    |     r8 += arg_38h;
    0x0000a082 add.w fp, sp, 0x34                                    |     
    0x0000a086 mov r3, r8                                            |     r3 = r8;
    0x0000a088 mov r2, fp                                            |     r2 = fp;
    0x0000a08a mov r1, sl                                            |     r1 = sl;
    0x0000a08c blx 0x306c                                            |     r0 = isoc99_fscanf ();
    0x0000a090 cmp r0, 2                                             |     
    0x0000a092 mov r0, r6                                            |     r0 = r6;
    0x0000a094 beq 0xa09c                                            |     
                                                                     |     while (r1 != 0) {
    0x0000a096 blx 0x312c                                            |         fclose (r0);
    0x0000a09a b 0xa016                                              |         goto label_1;
    0x0000a09c ldr r2, [sp, 0x34]                                    |         r2 = *(arg_34h);
    0x0000a09e ldr.w r3, [r8]                                        |         r3 = *(r8);
    0x0000a0a0 adds r0, 0                                            |         r0 += 0;
    0x0000a0a2 add.w r3, r3, r2, lsl 8                               |         r3 += (r2 << 8);
    0x0000a0a6 ldrd r2, r1, [sp, 0x18]                               |         __asm ("ldrd r2, r1, [var_18h_2]");
    0x0000a0aa cmp r1, 0                                             |         
    0x0000a0ac it eq                                                 |         
                                                                     |         if (r1 == 0) {
    0x0000a0ae cmpeq r2, r3                                          |             __asm ("cmpeq r2, r3");
                                                                     |         }
    0x0000a0b0 bne 0xa096                                            |         
                                                                     |     }
    0x0000a0b2 blx 0x312c                                            |     fclose (r0);
    0x0000a0b6 ldr r3, [pc, 0x134]                                   |     
    0x0000a0b8 movs r2, 1                                            |     r2 = 1;
    0x0000a0ba ldr r0, [sp, 0x2c]                                    |     r0 = *(arg_2ch);
    0x0000a0bc strd r7, r4, [sp, 4]                                  |     __asm ("strd r7, r4, [sp, 4]");
    0x0000a0c0 add r3, pc                                            |     r3 = 0x142b2;
    0x0000a0c2 str r3, [sp]                                          |     *(sp) = r3;
    0x0000a0c4 mov.w r3, 0x12c                                       |     r3 = 0x12c;
    0x0000a0c8 mov r1, r3                                            |     r1 = r3;
    0x0000a0ca blx 0x3590                                            |     fcn_00003590 ();
    0x0000a0ce mov r0, sb                                            |     r0 = sb;
    0x0000a0d0 blx 0x35e8                                            |     uuid_clear ();
    0x0000a0d4 mov r0, r5                                            |     r0 = r5;
    0x0000a0d6 blx 0x35e8                                            |     uuid_clear ();
                                                                     | label_6:
    0x0000a0da ldr r5, [sp, 0x2c]                                    |     r5 = *(arg_2ch);
    0x0000a0dc mov r0, r5                                            |     r0 = r5;
    0x0000a0de blx 0x3434                                            |     r0 = fcn_00003434 ();
    0x0000a0e2 cmp.w r0, 0x126                                       |     
    0x0000a0e6 mov r3, r0                                            |     r3 = r0;
                                                                     |     if (r0 >= 0x126) {
    0x0000a0e8 bhs.w 0x9efe                                          |         goto label_2;
                                                                     |     }
    0x0000a0ec ldr r2, [pc, 0x100]                                   |     
    0x0000a0ee adds r4, r5, r0                                       |     r4 = r5 + r0;
    0x0000a0f0 ldr r1, [pc, 0x100]                                   |     
    0x0000a0f2 add r2, pc                                            |     r2 = 0x142e6;
    0x0000a0f4 ldr r0, [r2]                                          |     r0 = *(0x142e6);
    0x0000a0f6 add r1, pc                                            |     r1 = 0x142ee;
    0x0000a0f8 str r0, [r5, r3]                                      |     *((r5 + r3)) = r0;
    0x0000a0fa mov r0, r5                                            |     r0 = r5;
    0x0000a0fc ldrh r3, [r2, 4]                                      |     r3 = *((r2 + 4));
    0x0000a0fe strh r3, [r4, 4]                                      |     *((r4 + 4)) = r3;
    0x0000a100 ldrb r3, [r2, 6]                                      |     r3 = *((r2 + 6));
    0x0000a102 strb r3, [r4, 6]                                      |     *((r4 + 6)) = r3;
    0x0000a104 blx 0x31ec                                            |     r0 = fopen (r0, r1);
    0x0000a108 mov r4, r0                                            |     r4 = r0;
    0x0000a10a cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a10c beq.w 0x9efe                                          |         goto label_2;
                                                                     |     }
    0x0000a110 ldr r1, [pc, 0xe4]                                    |     
    0x0000a112 mov r2, r8                                            |     r2 = r8;
    0x0000a114 add r1, pc                                            |     r1 = 0x14310;
    0x0000a116 blx 0x306c                                            |     r0 = isoc99_fscanf ();
    0x0000a11a mov r5, r0                                            |     r5 = r0;
    0x0000a11c mov r0, r4                                            |     r0 = r4;
    0x0000a11e blx 0x312c                                            |     fclose (r0);
    0x0000a122 cmp r5, 1                                             |     
                                                                     |     if (r5 != 1) {
    0x0000a124 bne.w 0x9efe                                          |         goto label_2;
                                                                     |     }
    0x0000a128 ldrd r0, r1, [sp, 0x38]                               |     __asm ("ldrd r0, r1, [arg_38h]");
    0x0000a12c b 0x9f02                                              |     goto label_3;
                                                                     | label_36:
    0x0000a12e blx 0x312c                                            |     fclose (r0);
    0x0000a132 ldr r0, [sp, 0x34]                                    |     r0 = *(arg_34h);
    0x0000a134 mov.w r3, 0xff00                                      |     r3 = 0xff00;
    0x0000a138 ldr.w r1, [r8]                                        |     r1 = *(r8);
    0x0000a13c movt r3, 0xf                                          |     r3 = (r3 & 0xFFFF) | 0xf0000;
    0x0000a140 and.w r2, r3, r0, lsl 8                               |     r2 = r3 & (r0 << 8);
    0x0000a144 movs r3, 0                                            |     r3 = 0;
    0x0000a146 uxtb r6, r1                                           |     r6 = (int8_t) r1;
    0x0000a148 movt r3, 0xfff0                                       |     r3 = (r3 & 0xFFFF) | 0xfff00000;
    0x0000a14c and.w r3, r3, r1, lsl 12                              |     r3 &= (r1 << 12);
    0x0000a150 orrs r2, r6                                           |     r2 |= r6;
    0x0000a152 orrs r3, r2                                           |     r3 |= r2;
    0x0000a154 bic r2, r0, 0xff0                                     |     r2 = BIT_MASK (r0, 0xff0);
    0x0000a158 bic r2, r2, 0xf                                       |     r2 = BIT_MASK (r2, 0xf);
    0x0000a15c orr.w r2, r2, r1, lsr 20                              |     r2 |= (r1 >> 20);
    0x0000a160 ldrd r1, r6, [sp, 0x18]                               |     __asm ("ldrd r1, r6, [var_18h_2]");
    0x0000a164 cmp r6, r2                                            |     
    0x0000a166 it eq                                                 |     
                                                                     |     if (r6 == r2) {
    0x0000a168 cmpeq r1, r3                                          |         __asm ("cmpeq r1, r3");
                                                                     |     }
                                                                     |     if (r6 == r2) {
    0x0000a16a beq 0xa194                                            |         goto label_39;
                                                                     |     }
    0x0000a16c ldr r3, [sp, 0x28]                                    |     r3 = *(arg_28h);
    0x0000a16e cmp r0, r3                                            |     
                                                                     |     if (r0 == r3) {
    0x0000a170 beq.w 0x9fe6                                          |         goto label_4;
                                                                     |     }
    0x0000a174 mov r0, sb                                            |     r0 = sb;
    0x0000a176 blx 0x38f4                                            |     r0 = ext2fs_badblocks_list_iterate_begin ();
    0x0000a17a cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a17c bne.w 0x9f76                                          |         goto label_5;
                                                                     |     }
                                                                     | label_33:
    0x0000a180 mov r0, sb                                            |     r0 = sb;
    0x0000a182 blx 0x35e8                                            |     uuid_clear ();
    0x0000a186 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000a188 beq.w 0x9efe                                          |         goto label_2;
                                                                     |     }
    0x0000a18c mov r0, r5                                            |     r0 = r5;
    0x0000a18e blx 0x35e8                                            |     uuid_clear ();
    0x0000a190 bic.w r6, ip, r4, ror 26                              |     r6 = BIT_MASK (ip, r4);
    0x0000a192 b 0x9efe                                              |     goto label_2;
                                                                     | label_39:
    0x0000a194 ldr r3, [pc, 0x64]                                    |     
    0x0000a196 movs r2, 1                                            |     r2 = 1;
    0x0000a198 ldr r0, [sp, 0x2c]                                    |     r0 = *(arg_2ch);
    0x0000a19a str r4, [sp, 4]                                       |     var_4h_2 = r4;
    0x0000a19c add r3, pc                                            |     r3 = 0x1439c;
    0x0000a19e str r3, [sp]                                          |     *(sp) = r3;
    0x0000a1a0 mov.w r3, 0x12c                                       |     r3 = 0x12c;
    0x0000a1a4 mov r1, r3                                            |     r1 = r3;
    0x0000a1a6 blx 0x3590                                            |     fcn_00003590 ();
    0x0000a1aa mov r0, sb                                            |     r0 = sb;
    0x0000a1ac blx 0x35e8                                            |     r0 = uuid_clear ();
    0x0000a1ae ands.w sp, ip, r0, lsl 8                              |     
                                                                     |     if (sp == ip) {
    0x0000a1b2 beq 0xa0da                                            |         goto label_6;
                                                                     |     }
    0x0000a1b4 mov r0, r5                                            |     r0 = r5;
    0x0000a1b6 blx 0x35e8                                            |     uuid_clear ();
    0x0000a1ba b 0xa0da                                              |     goto label_6;
                                                                     | label_32:
    0x0000a1bc blx 0x36bc                                            |     fcn_000036bc ();
    0x0000a1c0 ldc p0, c0, [r8, -0]                                  |     __asm ("ldc p0, c0, [r8, -0]");
    0x0000a1c4 lsls r0, r7, 0xe                                      |     r0 = r7 << 0xe;
    0x0000a1c6 movs r0, r0                                           |     
    0x0000a1c8 stcl p0, c0, [sl], 0                                  |     __asm ("stcl p0, c0, [sl], 0");
                                                                     |     if (r4 == 0) {
    0x0000a1cc cbnz r4, 0xa1f0                                       |         
    0x0000a1ce movs r0, r0                                           |         
                                                                     |         if (r0 == 0) {
    0x0000a1d0 cbnz r0, 0xa1ee                                       |             
    0x0000a1d2 movs r0, r0                                           |             
    0x0000a1d4 adr r5, 0x398                                         |             r5 = 0x398;
    0x0000a1d6 movs r0, r0                                           |             
                                                                     |             if (r0 != 0) {
    0x0000a1d8 cbnz r0, 0xa1fe                                       |                 goto label_40;
                                                                     |             }
    0x0000a1da movs r0, r0                                           |             
    0x0000a1dc adr r5, 0x368                                         |             r5 = 0x368;
    0x0000a1de movs r0, r0                                           |             
    0x0000a1e0 invalid                                               |             
                                                                     |         }
    0x0000a1ee movs r0, r0                                           |         
                                                                     |     }
    0x0000a1f0 invalid                                               |     
                                                                     | label_40:
    0x0000a1fe movs r0, r0                                           |     
    0x0000a200 push.w {r4, r5, r6, r7, r8, sb, sl, fp, lr}           |     
    0x0000a204 sub sp, 0x11c                                         |     
    0x0000a206 ldr.w r5, [pc, 0xab0]                                 |     
    0x0000a20a mov r8, r0                                            |     r8 = r0;
    0x0000a20c ldr.w r4, [pc, 0xaac]                                 |     
    0x0000a210 ldr.w r2, [pc, 0xaac]                                 |     r2 = *(0xacc0);
    0x0000a214 add r5, pc                                            |     r5 = 0x14ed2;
    0x0000a216 str r5, [sp, 0x28]                                    |     var_28h = r5;
    0x0000a218 add r4, pc                                            |     r4 = 0x14ed8;
    0x0000a21a ldr.w r3, [pc, 0xaa8]                                 |     r3 = *(0xacc6);
    0x0000a21e ldr r2, [r4, r2]                                      |     
    0x0000a220 mov r4, r1                                            |     r4 = r1;
    0x0000a222 ldr.w r1, [pc, 0xaa4]                                 |     
    0x0000a226 ldr r2, [r2]                                          |     r2 = *(0x14ed8);
    0x0000a228 str r2, [sp, 0x114]                                   |     var_114h = r2;
    0x0000a22a mov.w r2, 0                                           |     r2 = 0;
    0x0000a22e movs r2, 0                                            |     r2 = 0;
    0x0000a230 ldr r6, [r5, r3]                                      |     r6 = *(0x14ed2);
    0x0000a232 add r1, pc                                            |     r1 = 0x14f00;
    0x0000a234 ldr r0, [r6]                                          |     r0 = *(0x14ed2);
    0x0000a236 bl 0x6f28                                             |     r0 = fcn_00006f28 (r0, r1, r2);
    0x0000a23a mov r1, r0                                            |     r1 = r0;
    0x0000a23c cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a23e beq.w 0xa4a0                                          |         goto label_9;
                                                                     |     }
    0x0000a242 ldr.w r3, [r8, 0x10]                                  |     r3 = *((r8 + 0x10));
    0x0000a246 ldr r3, [r3, 0x60]                                    |     r3 = *((r3 + 0x60));
    0x0000a248 lsls r3, r3, 0x19                                     |     r3 <<= 0x19;
                                                                     |     if (r3 >= r3) {
    0x0000a24a bpl.w 0xa498                                          |         goto label_41;
                                                                     |     }
    0x0000a24e ldr.w r1, [pc, 0xa7c]                                 |     
    0x0000a252 movs r2, 0                                            |     r2 = 0;
    0x0000a254 ldr.w r5, [pc, 0xa78]                                 |     
    0x0000a258 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a25a add r1, pc                                            |     r1 = 0x14f2c;
    0x0000a25c bl 0x6dbc                                             |     fcn_00006dbc (r0, r1, r2);
    0x0000a260 ldr.w r1, [pc, 0xa70]                                 |     
    0x0000a264 add r5, pc                                            |     r5 = 0x14f38;
    0x0000a266 str r0, [r5]                                          |     *(r5) = r0;
    0x0000a268 movs r2, 0                                            |     r2 = 0;
    0x0000a26a ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a26c add r1, pc                                            |     r1 = 0x14f44;
    0x0000a26e bl 0x6dbc                                             |     fcn_00006dbc (r0, r1, r2);
    0x0000a272 ldr.w r1, [pc, 0xa64]                                 |     
    0x0000a276 movs r2, 0x3f                                         |     r2 = 0x3f;
    0x0000a278 str r0, [r5, 4]                                       |     *((r5 + 4)) = r0;
    0x0000a27a ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a27c add r1, pc                                            |     r1 = 0x14f5a;
    0x0000a27e bl 0x6dbc                                             |     fcn_00006dbc (r0, r1, r2);
    0x0000a282 ldr.w r1, [pc, 0xa58]                                 |     
    0x0000a286 movs r2, 0                                            |     r2 = 0;
    0x0000a288 str.w r0, [r8, 0x5c]                                  |     __asm ("str.w r0, [r8, 0x5c]");
    0x0000a28c ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a28e add r1, pc                                            |     r1 = 0x14f70;
    0x0000a290 bl 0x6dbc                                             |     fcn_00006dbc (r0, r1, r2);
    0x0000a294 ldr.w r2, [pc, 0xa48]                                 |     
    0x0000a298 ldr.w r1, [pc, 0xa48]                                 |     
    0x0000a29c str r0, [r5, 8]                                       |     *((r5 + 8)) = r0;
    0x0000a29e add r2, pc                                            |     r2 = 0x14f82;
    0x0000a2a0 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a2a2 add r1, pc                                            |     
    0x0000a2a4 bl 0x6cf4                                             |     fcn_00006cf4 (r0, r1, r2);
    0x0000a2a8 ldr.w r3, [r8, 0x10]                                  |     r3 = *((r8 + 0x10));
    0x0000a2ac mov r7, r0                                            |     r7 = r0;
    0x0000a2ae ldr r1, [r3, 0x18]                                    |     r1 = *((r3 + 0x18));
    0x0000a2b0 blx 0x3404                                            |     fcn_00003404 ();
    0x0000a2b4 strd r0, r1, [r5, 0x10]                               |     __asm ("strd r0, r1, [r5, 0x10]");
    0x0000a2b8 mov r0, r7                                            |     r0 = r7;
    0x0000a2ba ldr.w r7, [pc, 0xa2c]                                 |     
    0x0000a2be blx 0x332c                                            |     fcn_0000332c ();
    0x0000a2c0 invalid                                               |     
    0x0000a2c4 subs r0, r5, r0                                       |     r0 = r5 - r0;
    0x0000a2c6 add r7, pc                                            |     r7 = 0x14fb4;
    0x0000a2c8 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a2ca mov r2, r7                                            |     r2 = r7;
    0x0000a2cc add r1, pc                                            |     r1 = 0x1f25a;
    0x0000a2ce bl 0x6cf4                                             |     fcn_00006cf4 (r0, r1, r2);
    0x0000a2d2 ldr.w r3, [r8, 0x10]                                  |     r3 = *((r8 + 0x10));
    0x0000a2d6 mov sb, r0                                            |     sb = r0;
    0x0000a2d8 ldr r1, [r3, 0x18]                                    |     r1 = *((r3 + 0x18));
    0x0000a2da blx 0x3404                                            |     r0 = fcn_00003404 ();
    0x0000a2dc ldm.w r4, {r0, r2, r6, r7, r8, fp, sp, lr, pc}        |     return;
    0x0000a2e0 lsls r6, r0, 4                                        |     r6 = r0 << 4;
    0x0000a2e2 mov r0, sb                                            |     r0 = sb;
    0x0000a2e4 blx 0x332c                                            |     fcn_0000332c ();
    0x0000a2e8 ldr.w r1, [pc, 0xa04]                                 |     
    0x0000a2ec mov r2, r7                                            |     r2 = r7;
    0x0000a2ee ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a2f0 add r1, pc                                            |     r1 = "Copying files into the device: ";
    0x0000a2f2 bl 0x6cf4                                             |     fcn_00006cf4 (r0, "Copying files into the device: ", r2);
    0x0000a2f6 ldr.w r3, [r8, 0x10]                                  |     r3 = *((r8 + 0x10));
    0x0000a2fa mov r5, r0                                            |     r5 = r0;
    0x0000a2fc ldr r1, [r3, 0x18]                                    |     r1 = *((r3 + 0x18));
    0x0000a2fe blx 0x3404                                            |     r0 = fcn_00003404 ();
    0x0000a302 mov r3, r0                                            |     r3 = r0;
    0x0000a304 mov r0, r5                                            |     r0 = r5;
    0x0000a306 str r3, [sp, 0x1c]                                    |     var_1ch = r3;
    0x0000a308 blx 0x332c                                            |     fcn_0000332c ();
    0x0000a30c ldr.w r1, [pc, 0x9e4]                                 |     
    0x0000a310 movs r2, 0                                            |     r2 = 0;
    0x0000a312 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a314 add r1, pc                                            |     r1 = 0x1500c;
    0x0000a316 bl 0x6f28                                             |     r0 = fcn_00006f28 (r0, r1, r2);
    0x0000a31a cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a31c bne.w 0xa54a                                          |         goto label_42;
                                                                     |     }
    0x0000a320 movs r3, 0                                            |     r3 = 0;
    0x0000a322 str r3, [sp, 0x20]                                    |     var_20h = r3;
    0x0000a324 str r3, [sp, 0x34]                                    |     var_34h = r3;
                                                                     | label_11:
    0x0000a326 ldr.w r3, [pc, 0x9d0]                                 |     
    0x0000a32a ldr r7, [sp, 0x1c]                                    |     r7 = var_1ch;
    0x0000a32c add r3, pc                                            |     r3 = 0x1502a;
    0x0000a32e ldrd r4, r5, [r3, 0x18]                               |     __asm ("ldrd r4, r5, [r3, 0x18]");
                                                                     |     if (r7 != 0) {
    0x0000a332 cbz r7, 0xa346                                        |         
    0x0000a334 mov r2, r7                                            |         r2 = r7;
    0x0000a336 movs r3, 0                                            |         r3 = 0;
    0x0000a338 mov r0, r4                                            |         r0 = r4;
    0x0000a33a mov r1, r5                                            |         r1 = r5;
    0x0000a33c bl 0x11ff8                                            |         fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a340 cmp r2, 0                                             |         
                                                                     |         if (r2 != 0) {
    0x0000a342 bne.w 0xa53a                                          |             goto label_43;
                                                                     |         }
                                                                     |     }
                                                                     | label_10:
    0x0000a346 ldr.w r7, [pc, 0x9b4]                                 |     
    0x0000a34a ldr.w r3, [pc, 0x9b4]                                 |     
    0x0000a34e ldr.w r1, [pc, 0x9b4]                                 |     
    0x0000a352 add r7, pc                                            |     r7 = 0x15054;
    0x0000a354 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a356 add r3, pc                                            |     r3 = 0x1505c;
    0x0000a358 ldr r2, [r7]                                          |     r2 = *(0x15054);
    0x0000a35a add r1, pc                                            |     r1 = 0x15064;
    0x0000a35c strd r4, r5, [r3, 0x18]                               |     __asm ("strd r4, r5, [r3, 0x18]");
    0x0000a360 bl 0x6f28                                             |     fcn_00006f28 (r0, r1, r2);
    0x0000a364 ldr.w r2, [pc, 0x9a0]                                 |     
    0x0000a368 ldr.w r1, [pc, 0x9a0]                                 |     
    0x0000a36c str r0, [r7]                                          |     *(r7) = r0;
    0x0000a36e add r2, pc                                            |     r2 = 0x1507a;
    0x0000a370 ldr r0, [r6]                                          |     r0 = *(r6);
    0x0000a372 add r1, pc                                            |     r1 = 0x15082;
    0x0000a374 bl 0x6cf4                                             |     r0 = fcn_00006cf4 (r0, r1, r2);
    0x0000a378 mov sl, r0                                            |     sl = r0;
    0x0000a37a blx 0x3434                                            |     fcn_00003434 ();
    0x0000a37c invalid                                               |     
    0x0000a380 mov r0, r4                                            |     r0 = r4;
    0x0000a382 blx 0x36a4                                            |     r0 = fcn_000036a4 ();
    0x0000a386 mov sb, r0                                            |     sb = r0;
    0x0000a388 cmp r0, 0                                             |     
                                                                     |     if (r0 == 0) {
    0x0000a38a beq.w 0xacae                                          |         goto label_44;
                                                                     |     }
    0x0000a38e ldr.w r7, [pc, 0x980]                                 |     
    0x0000a392 mov r2, r4                                            |     r2 = r4;
    0x0000a394 add.w fp, sp, 0x78                                    |     
    0x0000a398 movs r4, 2                                            |     r4 = 2;
    0x0000a39a mov r1, sl                                            |     r1 = sl;
    0x0000a39c mov r5, r0                                            |     r5 = r0;
    0x0000a39e add r7, pc                                            |     r7 = 0x150b4;
    0x0000a3a0 blx 0x3470                                            |     fcn_00003470 ();
    0x0000a3a4 str r6, [sp, 0x14]                                    |     var_14h = r6;
    0x0000a3a6 mov r6, fp                                            |     r6 = fp;
    0x0000a3a8 mov fp, r7                                            |     
    0x0000a3aa mov r7, r4                                            |     r7 = r4;
                                                                     |     do {
    0x0000a3ac movs r1, 0x2f                                         |         r1 = 0x2f;
    0x0000a3ae mov r0, r5                                            |         r0 = r5;
    0x0000a3b0 blx 0x3168                                            |         r0 = strchr (r0, r1);
    0x0000a3b4 mov r4, r0                                            |         r4 = r0;
    0x0000a3b6 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000a3b8 beq.w 0xa4c2                                          |             goto label_45;
                                                                     |         }
    0x0000a3bc movs r3, 0                                            |         r3 = 0;
    0x0000a3be strb r3, [r4], 1                                      |         *(r4) = r3;
                                                                     |         r4++;
    0x0000a3c2 ldrb r3, [r5]                                         |         r3 = *(r5);
    0x0000a3c4 cmp r3, 0                                             |         
                                                                     |         if (r3 != 0) {
    0x0000a3c6 bne 0xa4c8                                            |             goto label_46;
                                                                     |         }
                                                                     | label_7:
    0x0000a3c8 ldrb r3, [r4]                                         |         r3 = *(r4);
    0x0000a3ca mov r5, r4                                            |         r5 = r4;
    0x0000a3cc cmp r3, 0                                             |         
    0x0000a3ce bne 0xa3ac                                            |         
                                                                     |     } while (r3 != 0);
                                                                     |     do {
                                                                     | label_8:
    0x0000a3d0 mov r0, sb                                            |         r0 = sb;
    0x0000a3d2 ldr r6, [sp, 0x14]                                    |         r6 = var_14h;
    0x0000a3d4 str r7, [sp, 0x24]                                    |         var_24h = r7;
    0x0000a3d6 blx 0x332c                                            |         fcn_0000332c ();
    0x0000a3da mov r0, sl                                            |         r0 = sl;
    0x0000a3dc ldr.w r4, [pc, 0x934]                                 |         
    0x0000a3e0 blx 0x332c                                            |         fcn_0000332c ();
    0x0000a3e4 ldr.w r2, [pc, 0x930]                                 |         
    0x0000a3e8 ldr.w r1, [pc, 0x930]                                 |         
    0x0000a3ec add r4, pc                                            |         r4 = 0x15104;
    0x0000a3ee ldr r0, [r6]                                          |         r0 = *(r6);
    0x0000a3f0 add r2, pc                                            |         r2 = 0x1510c;
    0x0000a3f2 add r1, pc                                            |         r1 = 0x15112;
    0x0000a3f4 bl 0x6cf4                                             |         fcn_00006cf4 (r0, r1, r2);
    0x0000a3f8 ldr.w r1, [pc, 0x924]                                 |         
    0x0000a3fc movs r2, 5                                            |         r2 = 5;
    0x0000a3fe str r0, [r4, 0x38]                                    |         *((r4 + 0x38)) = r0;
    0x0000a400 ldr r0, [r6]                                          |         r0 = *(r6);
    0x0000a402 add r1, pc                                            |         r1 = 0x15126;
    0x0000a404 bl 0x6dbc                                             |         fcn_00006dbc (r0, r1, r2);
    0x0000a408 movs r1, 0                                            |         r1 = 0;
    0x0000a40a str r0, [r4, 0x30]                                    |         *((r4 + 0x30)) = r0;
    0x0000a40c ldr r0, [r4, 8]                                       |         r0 = *(0x1510c);
    0x0000a40e bl 0x6c90                                             |         fcn_00006c90 (r0, r1);
    0x0000a412 ldr r6, [r4, 0x38]                                    |         r6 = *(0x1513c);
    0x0000a414 mov r5, r0                                            |         r5 = r0;
    0x0000a416 adds r5, 1                                            |         r5++;
    0x0000a418 mov r0, r6                                            |         r0 = r6;
    0x0000a41a blx 0x3434                                            |         fcn_00003434 ();
    0x0000a41e ldr r3, [r4, 0x30]                                    |         r3 = *(0x15134);
    0x0000a420 mov r7, r0                                            |         r7 = r0;
    0x0000a422 adds r0, 0x10                                         |         r0 += 0x10;
    0x0000a424 cmp r5, r3                                            |         
    0x0000a426 ite ge                                                |         
                                                                     |         if (r5 < r3) {
    0x0000a428 addge r0, r0, r5                                      |             r0 += r5;
                                                                     |         }
                                                                     |         if (r5 >= r3) {
    0x0000a42a addlt r0, r0, r3                                      |             r0 += r3;
                                                                     |         }
    0x0000a42c blx 0x36a4                                            |         r0 = fcn_000036a4 ();
    0x0000a430 mov r5, r0                                            |         r5 = r0;
    0x0000a432 str r0, [r4, 0x34]                                    |         *((r4 + 0x34)) = r0;
    0x0000a434 cmp r0, 0                                             |         
                                                                     |         if (r0 == 0) {
    0x0000a436 beq.w 0xaca2                                          |             goto label_47;
                                                                     |         }
    0x0000a43a adds r2, r7, 1                                        |         r2 = r7 + 1;
    0x0000a43c mov r1, r6                                            |         r1 = r6;
    0x0000a43e blx 0x3470                                            |         fcn_00003470 ();
    0x0000a442 add r5, r7                                            |         r5 += r7;
    0x0000a444 mov r0, r6                                            |         r0 = r6;
    0x0000a446 str r5, [r4, 0x20]                                    |         *((r4 + 0x20)) = r5;
    0x0000a448 blx 0x332c                                            |         fcn_0000332c ();
    0x0000a44a invalid                                               |         
    0x0000a44e movs r0, r2                                           |         r0 = r2;
    0x0000a450 blx 0x3640                                            |         fcn_00003640 ();
    0x0000a454 ldrd r6, r7, [r4, 0x10]                               |         __asm ("ldrd r6, r7, [r4, 0x10]");
    0x0000a458 ldr r3, [sp, 0x1c]                                    |         r3 = var_1ch;
    0x0000a45a adds r3, r6, r3                                       |         r3 = r6 + r3;
    0x0000a45c adc r2, r7, 0                                         |         __asm ("adc r2, r7, 0");
    0x0000a460 cmp r0, r3                                            |         
    0x0000a462 sbcs.w r5, r1, r2                                     |         __asm ("sbcs.w r5, r1, r2");
                                                                     |         if (r0 <= r3) {
    0x0000a466 blo 0xa546                                            |             goto label_12;
                                                                     |         }
    0x0000a468 ldrd fp, sl, [r4, 0x18]                               |         __asm ("ldrd fp, sl, [r4, 0x18]");
    0x0000a46c subs r0, r0, r3                                       |         r0 -= r3;
    0x0000a46e sbc.w r2, r1, r2                                      |         __asm ("sbc.w r2, r1, r2");
    0x0000a472 str r0, [sp, 0x30]                                    |         var_30h = r0;
    0x0000a474 str r2, [sp, 0x2c]                                    |         var_2ch = r2;
    0x0000a476 orrs.w r3, fp, sl                                     |         r3 = fp | sl;
                                                                     |         if (r3 != fp) {
    0x0000a47a bne.w 0xa5ae                                          |             goto label_48;
                                                                     |         }
    0x0000a47e ldr r5, [r4, 8]                                       |         r5 = *((r4 + 8));
    0x0000a480 cmp r5, 0                                             |         
                                                                     |         if (r5 != 0) {
    0x0000a482 bne.w 0xab92                                          |             goto label_49;
                                                                     |         }
    0x0000a486 movs r3, 1                                            |         r3 = 1;
    0x0000a488 str r3, [r4, 8]                                       |         *((r4 + 8)) = r3;
    0x0000a48a str r3, [sp, 0x14]                                    |         var_14h = r3;
                                                                     | label_26:
    0x0000a48c ldrd sl, fp, [sp, 0x2c]                               |         __asm ("ldrd sl, fp, [var_2ch]");
    0x0000a490 movs r5, 1                                            |         r5 = 1;
    0x0000a492 mov.w sb, 0                                           |         sb = 0;
    0x0000a496 b 0xa5c8                                              |         goto label_27;
                                                                     | label_41:
    0x0000a498 movw r1, 0xb785                                       |         
    0x0000a49c movt r1, 0x7f2b                                       |         r1 = 0x7f2bb785;
                                                                     | label_9:
    0x0000a4a0 ldr.w r2, [pc, 0x880]                                 |         
    0x0000a4a4 ldr.w r3, [pc, 0x818]                                 |         r3 = *(0xacc0);
    0x0000a4a8 add r2, pc                                            |         r2 = 0x151d0;
    0x0000a4aa ldr r3, [r2, r3]                                      |         r3 = imp._et_list;
    0x0000a4ac ldr r2, [r3]                                          |         r2 = imp._et_list;
    0x0000a4ae ldr r3, [sp, 0x114]                                   |         r3 = var_114h;
    0x0000a4b0 eors r2, r3                                           |         r2 ^= r3;
    0x0000a4b2 mov.w r3, 0                                           |         r3 = 0;
                                                                     |         if (r2 != r3) {
    0x0000a4b6 bne.w 0xac9e                                          |             goto label_50;
                                                                     |         }
    0x0000a4ba mov r0, r1                                            |         r0 = r1;
    0x0000a4bc add sp, 0x11c                                         |         
    0x0000a4be pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc}            |         
                                                                     | label_45:
    0x0000a4c2 ldrb r3, [r5]                                         |         r3 = *(r5);
    0x0000a4c4 cmp r3, 0                                             |         
    0x0000a4c6 beq 0xa3d0                                            |         
                                                                     |     } while (r3 == 0);
                                                                     | label_46:
    0x0000a4c8 movs r3, 0                                            |     r3 = 0;
    0x0000a4ca mov.w r2, 0x4000                                      |     r2 = 0x4000;
    0x0000a4cc cmp r0, r0                                            |     
    0x0000a4ce mov r1, r7                                            |     r1 = r7;
    0x0000a4d0 mov r0, r8                                            |     r0 = r8;
    0x0000a4d2 str r6, [sp]                                          |     *(sp) = r6;
    0x0000a4d4 blx 0x3918                                            |     r0 = exit (r0);
                                                                     |     if (r0 != 0) {
    0x0000a4d8 cbnz r0, 0xa528                                       |         goto label_51;
                                                                     |     }
    0x0000a4da ldr r2, [sp, 0x78]                                    |     r2 = var_78h;
    0x0000a4dc mov r3, r5                                            |     r3 = r5;
    0x0000a4de mov r1, r7                                            |     r1 = r7;
    0x0000a4e0 mov r0, r8                                            |     r0 = r8;
    0x0000a4e2 blx 0x2fc4                                            |     r0 = ext2fs_mkdir ();
                                                                     |     if (r0 != 0) {
    0x0000a4e6 cbnz r0, 0xa528                                       |         goto label_51;
                                                                     |     }
    0x0000a4e8 ldr r7, [sp, 0x78]                                    |     r7 = var_78h;
    0x0000a4ea add r5, sp, 0x94                                      |     r5 += var_94h;
    0x0000a4ec mov r2, r5                                            |     r2 = r5;
    0x0000a4ee mov r0, r8                                            |     r0 = r8;
    0x0000a4f0 mov r1, r7                                            |     r1 = r7;
    0x0000a4f2 blx 0x32f8                                            |     fcn_000032f8 ();
    0x0000a4f4 vmul.i8 d11, d18, d24                                 |     __asm ("vmul.i8 d11, d18, d24");
    0x0000a4f8 ldr.w r3, [fp]                                        |     r3 = *(fp);
    0x0000a4fc mov r2, r5                                            |     r2 = r5;
    0x0000a4fe mov r1, r7                                            |     r1 = r7;
    0x0000a500 mov r0, r8                                            |     r0 = r8;
    0x0000a502 strh.w r3, [sp, 0x96]                                 |     var_96h = r3;
    0x0000a506 lsrs r3, r3, 0x10                                     |     r3 >>= 0x10;
    0x0000a508 strh.w r3, [sp, 0x10c]                                |     var_10ch = r3;
    0x0000a50c ldr.w r3, [fp, 4]                                     |     r3 = var_74h;
    0x0000a510 strh.w r3, [sp, 0xac]                                 |     var_ach = r3;
    0x0000a514 lsrs r3, r3, 0x10                                     |     r3 >>= 0x10;
    0x0000a516 strh.w r3, [sp, 0x10e]                                |     var_10eh = r3;
    0x0000a51a blx 0x3864                                            |     r0 = ext2fs_get_device_phys_sectsize ();
                                                                     |     if (r0 != 0) {
    0x0000a51e cbnz r0, 0xa528                                       |         goto label_51;
                                                                     |     }
    0x0000a520 cmp r4, 0                                             |     
                                                                     |     if (r4 != 0) {
    0x0000a522 bne.w 0xa3c8                                          |         goto label_7;
                                                                     |     }
    0x0000a526 b 0xa3d0                                              |     goto label_8;
                                                                     | label_51:
    0x0000a528 str r0, [sp, 0x14]                                    |     var_14h = r0;
    0x0000a52a mov r0, sb                                            |     r0 = sb;
    0x0000a52c blx 0x332c                                            |     fcn_0000332c ();
    0x0000a530 mov r0, sl                                            |     r0 = sl;
    0x0000a532 blx 0x332c                                            |     fcn_0000332c ();
    0x0000a536 ldr r1, [sp, 0x14]                                    |     r1 = var_14h;
    0x0000a538 b 0xa4a0                                              |     goto label_9;
                                                                     | label_43:
    0x0000a53a subs r2, r7, r2                                       |     r2 = r7 - r2;
    0x0000a53c adds r2, r2, r4                                       |     r2 += r4;
    0x0000a53e mov r4, r2                                            |     r4 = r2;
    0x0000a540 adc r5, r5, 0                                         |     __asm ("adc r5, r5, 0");
    0x0000a544 b 0xa346                                              |     goto label_10;
                                                                     | label_12:
    0x0000a546 movs r1, 0x1c                                         |     r1 = 0x1c;
    0x0000a548 b 0xa4a0                                              |     goto label_9;
                                                                     | label_42:
    0x0000a54a mov r0, r4                                            |     r0 = r4;
    0x0000a54c movs r7, 1                                            |     r7 = 1;
    0x0000a54e bl 0x9ecc                                             |     fcn_00009ecc (r0, r1, r2, r3, r4, r5, r6);
    0x0000a552 ldr.w sb, [r8, 0x14]                                  |     sb = *((r8 + 0x14));
    0x0000a556 movs r3, 0                                            |     r3 = 0;
    0x0000a558 lsr.w r2, sb, 9                                       |     r2 = sb >> 9;
    0x0000a55c bl 0x11ff8                                            |     fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a560 ldr.w r2, [r8, 0x64]                                  |     r2 = *((r8 + 0x64));
    0x0000a564 mov r5, r0                                            |     r5 = r0;
    0x0000a566 mov r4, r1                                            |     r4 = r1;
    0x0000a568 str r0, [sp, 0x20]                                    |     var_20h = r0;
    0x0000a56a str r1, [sp, 0x34]                                    |     var_34h = r1;
    0x0000a56c lsl.w r2, r7, r2                                      |     r2 = r7 << r2;
    0x0000a570 asrs r3, r2, 0x1f                                     |     r3 = r2 >> 0x1f;
    0x0000a572 bl 0x11ff8                                            |     fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a576 orrs r2, r3                                           |     r2 |= r3;
                                                                     |     if (r2 == r3) {
    0x0000a578 beq.w 0xa326                                          |         goto label_11;
                                                                     |     }
    0x0000a57c ldr.w r3, [r8, 0x10]                                  |     r3 = *((r8 + 0x10));
    0x0000a580 ldr r2, [sp, 0x28]                                    |     r2 = var_28h;
    0x0000a582 ldr r1, [r3, 0x1c]                                    |     r1 = *((r3 + 0x1c));
    0x0000a584 ldr.w r3, [pc, 0x7a0]                                 |     r3 = *(0xad28);
    0x0000a588 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000a58a str.w sb, [sp, 8]                                     |     __asm ("str.w sb, [var_8h]");
    0x0000a58e str r5, [sp]                                          |     *(sp) = r5;
    0x0000a590 str r4, [sp, 4]                                       |     var_4h = r4;
    0x0000a592 ldr.w r2, [pc, 0x798]                                 |     
    0x0000a596 ldr r0, [r3]                                          |     r0 = *(0xad28);
    0x0000a598 mov.w r3, 0x400                                       |     r3 = 0x400;
    0x0000a59c lsls r3, r1                                           |     r3 <<= r1;
    0x0000a59e mov r1, r7                                            |     r1 = r7;
    0x0000a5a0 add r2, pc                                            |     r2 = 0x152d2;
    0x0000a5a2 str r3, [sp, 0xc]                                     |     filename = r3;
    0x0000a5a4 blx 0x36f0                                            |     ext2fs_bg_itable_unused_set ();
    0x0000a5a8 mov r0, r7                                            |     r0 = r7;
    0x0000a5aa blx 0x3934                                            |     r0 = fcn_00003934 ();
                                                                     | label_48:
    0x0000a5ae cmp r0, fp                                            |     
    0x0000a5b0 sbcs.w r3, r2, sl                                     |     __asm ("sbcs.w r3, r2, sl");
                                                                     |     if (r0 <= fp) {
    0x0000a5b4 blo 0xa546                                            |         goto label_12;
                                                                     |     }
    0x0000a5b6 ldr r5, [r4, 8]                                       |     r5 = *((r4 + 8));
    0x0000a5b8 cmp r5, 0                                             |     
                                                                     |     if (r5 == 0) {
    0x0000a5ba beq.w 0xac00                                          |         goto label_52;
                                                                     |     }
                                                                     | label_28:
    0x0000a5be lsrs r3, r5, 4                                        |     r3 = r5 >> 4;
    0x0000a5c0 mov.w sb, 0                                           |     sb = 0;
    0x0000a5c4 adds r3, 1                                            |     r3++;
    0x0000a5c6 str r3, [sp, 0x14]                                    |     var_14h = r3;
                                                                     | label_27:
    0x0000a5c8 mov r3, sl                                            |     r3 = sl;
    0x0000a5ca mov r2, fp                                            |     r2 = fp;
    0x0000a5cc mov r0, r8                                            |     r0 = r8;
    0x0000a5ce bl 0x9e18                                             |     fcn_00009e18 (r0, r1, r2);
    0x0000a5d2 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0000a5d4 adds r2, r6, r3                                       |     r2 = r6 + r3;
    0x0000a5d6 mul r3, r0, sb                                        |     r3 = r0 * sb;
    0x0000a5da mla r3, r5, r1, r3                                    |     __asm ("mla r3, r5, r1, r3");
    0x0000a5de umull r0, r5, r0, r5                                  |     r0:r5 = r0 * r5;
    0x0000a5e2 adc r1, r7, 0                                         |     __asm ("adc r1, r7, 0");
    0x0000a5e6 movs r7, 0                                            |     r7 = 0;
    0x0000a5e8 adds r6, r0, r2                                       |     r6 = r0 + r2;
    0x0000a5ea add r3, r5                                            |     r3 += r5;
    0x0000a5ec adc.w sl, r3, r1                                      |     __asm ("adc.w sl, r3, r1");
    0x0000a5f0 ldr.w r3, [pc, 0x73c]                                 |     
    0x0000a5f4 ldr.w r0, [r8, 0x10]                                  |     r0 = *((r8 + 0x10));
    0x0000a5f8 add r3, pc                                            |     r3 = 0x1532c;
    0x0000a5fa strd r6, sl, [r3, 0x10]                               |     __asm ("strd r6, sl, [r3, 0x10]");
    0x0000a5fc ldr r4, [r0, 0x20]                                    |     r4 = *((r0 + 0x20));
    0x0000a5fe ldr r5, [r0, 0x14]                                    |     r5 = *((r0 + 0x14));
    0x0000a600 blx 0x347c                                            |     fcn_0000347c ();
    0x0000a602 invalid                                               |     
    0x0000a606 sbc sb, r1, 0                                         |     __asm ("sbc sb, r1, 0");
    0x0000a60a orrs.w r3, r6, sl                                     |     r3 = r6 | sl;
                                                                     |     if (r3 == r6) {
    0x0000a60e beq 0xa676                                            |         goto label_29;
                                                                     |     }
    0x0000a610 mov fp, r7                                            |     
    0x0000a612 mov r7, r2                                            |     r7 = r2;
    0x0000a614 add r3, sp, 0x78                                      |     r3 += var_78h;
    0x0000a616 str r3, [sp, 0x18]                                    |     var_18h = r3;
                                                                     |     do {
    0x0000a618 ldr r4, [sp, 0x18]                                    |         r4 = var_18h;
    0x0000a61a mov r2, r5                                            |         r2 = r5;
    0x0000a61c strd r7, sb, [sp]                                     |         __asm ("strd r7, sb, [sp]");
    0x0000a620 mov r3, fp                                            |         r3 = fp;
    0x0000a622 str r4, [sp, 8]                                       |         var_8h = r4;
    0x0000a624 ldr.w r0, [r8, 0x30]                                  |         r0 = *((r8 + 0x30));
    0x0000a628 blx 0x2fac                                            |         r0 = ext2fs_find_first_zero_generic_bmap ();
                                                                     |         if (r0 != 0) {
    0x0000a62c cbnz r0, 0xa674                                       |             goto label_53;
                                                                     |         }
    0x0000a62e str r4, [sp, 8]                                       |         var_8h = r4;
    0x0000a630 mov r5, r7                                            |         r5 = r7;
    0x0000a632 ldrd r4, r3, [sp, 0x78]                               |         __asm ("ldrd r4, r3, [var_78h]");
    0x0000a634 orrs r6, r3                                           |         r6 |= r3;
    0x0000a636 mov fp, sb                                            |         
    0x0000a638 strd r7, sb, [sp]                                     |         __asm ("strd r7, sb, [sp]");
    0x0000a63c ldr.w r0, [r8, 0x30]                                  |         r0 = *((r8 + 0x30));
    0x0000a640 mov r2, r4                                            |         r2 = r4;
    0x0000a642 str r3, [sp, 0x14]                                    |         var_14h = r3;
    0x0000a644 blx 0x3658                                            |         fcn_00003658 ();
    0x0000a648 ldr r3, [sp, 0x14]                                    |         r3 = var_14h;
                                                                     |         if (r0 == 0) {
    0x0000a64a cbnz r0, 0xa650                                       |             
    0x0000a64c ldrd r5, fp, [sp, 0x78]                               |             __asm ("ldrd r5, fp, [var_78h]");
                                                                     |         }
    0x0000a650 subs r0, r5, r4                                       |         r0 = r5 - r4;
    0x0000a652 sbc.w r2, fp, r3                                      |         __asm ("sbc.w r2, fp, r3");
    0x0000a656 cmp r6, r0                                            |         
    0x0000a658 sbcs.w r2, sl, r2                                     |         __asm ("sbcs.w r2, sl, r2");
                                                                     |         if (r6 <= r0) {
    0x0000a65c blo.w 0xac72                                          |             goto label_54;
                                                                     |         }
    0x0000a660 subs r4, r4, r5                                       |         r4 -= r5;
    0x0000a662 sbc.w r1, r3, fp                                      |         __asm ("sbc.w r1, r3, fp");
    0x0000a666 adds r4, r4, r6                                       |         r4 += r6;
    0x0000a668 adc.w sl, sl, r1                                      |         __asm ("adc.w sl, sl, r1");
    0x0000a66a lsrs r1, r0, 8                                        |         r1 = r0 >> 8;
    0x0000a66c mov r6, r4                                            |         r6 = r4;
    0x0000a66e orrs.w r2, r4, sl                                     |         r2 = r4 | sl;
    0x0000a672 bne 0xa618                                            |         
                                                                     |     } while (r2 != r4);
                                                                     | label_53:
    0x0000a674 mov r7, fp                                            |     r7 = fp;
                                                                     | label_29:
    0x0000a676 ldr r4, [sp, 0x1c]                                    |     r4 = var_1ch;
                                                                     |     if (r4 != 0) {
    0x0000a678 cbz r4, 0xa69a                                        |         
    0x0000a67a ldr r0, [sp, 0x20]                                    |         r0 = var_20h;
    0x0000a67c mov r2, r4                                            |         r2 = r4;
    0x0000a67e ldr r1, [sp, 0x34]                                    |         r1 = var_34h;
    0x0000a680 movs r3, 0                                            |         r3 = 0;
    0x0000a682 bl 0x11ff8                                            |         fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a686 adds r0, r2, r5                                       |         r0 = r2 + r5;
    0x0000a688 mov r2, r4                                            |         r2 = r4;
    0x0000a68a adc.w r1, r7, r3                                      |         __asm ("adc.w r1, r7, r3");
    0x0000a68c lsls r3, r0, 4                                        |         r3 = r0 << 4;
    0x0000a68e movs r3, 0                                            |         r3 = 0;
    0x0000a690 bl 0x11ff8                                            |         fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a694 cmp r2, 0                                             |         
                                                                     |         if (r2 != 0) {
    0x0000a696 bne.w 0xab86                                          |             goto label_55;
                                                                     |         }
                                                                     |     }
                                                                     | label_25:
    0x0000a69a ldr.w r3, [pc, 0x698]                                 |     
    0x0000a69e mov.w r0, -0x80000000                                 |     r0 = -0x80000000;
    0x0000a6a2 add r3, pc                                            |     r3 = 0x153dc;
    0x0000a6a4 ldr r2, [r3, 0x18]                                    |     r2 = *(0x153f4);
    0x0000a6a6 ldr r1, [r3, 0x1c]                                    |     r1 = *(0x153f8);
    0x0000a6a8 strd r5, r7, [r3, 0x28]                               |     __asm ("strd r5, r7, [r3, 0x28]");
    0x0000a6ac str r2, [sp, 0x1c]                                    |     var_1ch = r2;
    0x0000a6ae orrs.w r3, r2, r1                                     |     r3 = r2 | r1;
    0x0000a6b2 str r1, [sp, 0x20]                                    |     var_20h = r1;
    0x0000a6b4 it ne                                                 |     
                                                                     |     if (r3 != r2) {
    0x0000a6b6 strdne r1, r2, [sp, 0x2c]                             |         __asm ("strdne r1, r2, [sp, 0x2c]");
                                                                     |     }
    0x0000a6ba ldr.w r1, [r8, 0x14]                                  |     r1 = *((r8 + 0x14));
    0x0000a6be bl 0x116b8                                            |     fcn_000116b8 (r0, r1, r2);
    0x0000a6c2 ldr r2, [sp, 0x30]                                    |     r2 = var_30h;
    0x0000a6c4 movs r3, 0                                            |     r3 = 0;
    0x0000a6c6 cmp r0, r2                                            |     
    0x0000a6c8 ldr r2, [sp, 0x2c]                                    |     r2 = var_2ch;
    0x0000a6ca sbcs r3, r2                                           |     __asm ("sbcs r3, r2");
    0x0000a6cc itttt lo                                              |     
                                                                     |     if (r0 >= r2) {
    0x0000a6ce ldrlo r2, [r8, 0x10]                                  |         r2 = *((r8 + 0x10));
                                                                     |     }
                                                                     |     if (r0 >= r2) {
    0x0000a6d2 ldrlo r3, [r2, 0x64]                                  |         r3 = *((r2 + 0x64));
                                                                     |     }
                                                                     |     if (r0 >= r2) {
    0x0000a6d4 orrlo r3, r3, 2                                       |         r3 |= 2;
                                                                     |     }
                                                                     |     if (r0 < r2) {
    0x0000a6d8 str r3, [r2, 0x64]                                    |         *((r2 + 0x64)) = r3;
                                                                     |     }
    0x0000a6da ldr.w r3, [pc, 0x65c]                                 |     r3 = *(0xad3a);
    0x0000a6de ldr r2, [sp, 0x28]                                    |     r2 = var_28h;
    0x0000a6e0 ldr r7, [r2, r3]                                      |     r7 = *(0x153f4);
    0x0000a6e2 ldr r3, [r7]                                          |     r3 = *(0x153f4);
    0x0000a6e4 cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000a6e6 bne.w 0xab58                                          |         goto label_56;
                                                                     |     }
    0x0000a6ea ldr.w r3, [pc, 0x650]                                 |     
    0x0000a6ee add r3, pc                                            |     
    0x0000a6f0 ldr r3, [r3]                                          |     r3 = "\nThe total requested journal size is %d blocks; it must be\nbetween 1024 and 10240000 blocks.  Aborting.\n";
                                                                     |     if (r3 != 0) {
    0x0000a6f2 cbz r3, 0xa708                                        |         
    0x0000a6f4 ldr.w r3, [pc, 0x648]                                 |         
    0x0000a6f8 ldr r3, [r2, r3]                                      |         r3 = *((r2 + r3));
    0x0000a6fa ldr r3, [r3]                                          |         r3 = *(0xad40);
                                                                     |         if (r3 == 0) {
    0x0000a6fc cbz r3, 0xa708                                        |             goto label_57;
                                                                     |         }
    0x0000a6fe ldr.w r0, [pc, 0x644]                                 |         
    0x0000a702 add r0, pc                                            |         r0 = 0x1544c;
    0x0000a704 blx 0x37d4                                            |         ext2fs_extent_insert ();
                                                                     |     }
                                                                     | label_57:
    0x0000a708 ldr.w r4, [pc, 0x63c]                                 |     
    0x0000a70c movs r0, 1                                            |     r0 = 1;
    0x0000a70e ldr.w r1, [pc, 0x63c]                                 |     
    0x0000a712 add r4, pc                                            |     r4 = 0x1545e;
    0x0000a714 ldr r2, [r4, 8]                                       |     r2 = *(0x15466);
    0x0000a716 add r1, pc                                            |     r1 = 0x15468;
    0x0000a718 blx 0x3150                                            |     printf_chk ()
    0x0000a71c ldrd r2, r3, [r4, 0x18]                               |     __asm ("ldrd r2, r3, [r4, 0x18]");
    0x0000a720 orrs.w r1, r2, r3                                     |     r1 = r2 | r3;
                                                                     |     if (r1 != r2) {
    0x0000a724 bne.w 0xac66                                          |         goto label_58;
                                                                     |     }
    0x0000a728 ldr r2, [sp, 0x28]                                    |     r2 = var_28h;
    0x0000a72a movs r1, 1                                            |     r1 = 1;
    0x0000a72c ldr.w r3, [pc, 0x620]                                 |     
    0x0000a730 ldr.w r0, [pc, 0x620]                                 |     
    0x0000a734 ldr r3, [r2, r3]                                      |     r3 = *((r2 + r3));
    0x0000a736 movs r2, 2                                            |     r2 = 2;
    0x0000a738 add r0, pc                                            |     r0 = 0x15490;
    0x0000a73a ldr r3, [r3]                                          |     r3 = *(0xad50);
    0x0000a73c blx 0x35c4                                            |     ext2fs_namei ();
    0x0000a740 ldr.w r3, [pc, 0x614]                                 |     
    0x0000a744 add r3, pc                                            |     r3 = 0x154a0;
    0x0000a746 ldr r2, [r3, 8]                                       |     r2 = *(0x154a8);
    0x0000a748 cmp r2, 0                                             |     
                                                                     |     if (r2 == 0) {
    0x0000a74a beq.w 0xab6a                                          |         goto label_59;
                                                                     |     }
    0x0000a74e ldr r2, [r3, 0x18]                                    |     r2 = *((r3 + 0x18));
    0x0000a750 ldr r3, [r3, 0x1c]                                    |     r3 = *((r3 + 0x1c));
    0x0000a752 str r2, [sp, 0x1c]                                    |     var_1ch = r2;
    0x0000a754 str r3, [sp, 0x20]                                    |     var_20h = r3;
                                                                     | label_22:
    0x0000a756 ldr.w r3, [pc, 0x604]                                 |     
    0x0000a75a movs r4, 0                                            |     r4 = 0;
    0x0000a75c ldr.w r6, [pc, 0x600]                                 |     
    0x0000a75e str r0, [r0, 0x60]                                    |     *((r0 + 0x60)) = r0;
    0x0000a760 add.w fp, sp, 0x70                                    |     
    0x0000a762 lsrs r0, r6, 0xd                                      |     r0 = r6 >> 0xd;
    0x0000a764 str r4, [sp, 0x14]                                    |     var_14h = r4;
    0x0000a766 mov r4, fp                                            |     r4 = fp;
    0x0000a768 add r3, pc                                            |     r3 = 0x154ca;
    0x0000a76a str r7, [sp, 0x6c]                                    |     var_6ch = r7;
    0x0000a76c str r3, [sp, 0x5c]                                    |     var_5ch = r3;
    0x0000a76e add r6, pc                                            |     r6 = 0x154d2;
    0x0000a770 ldr.w r3, [pc, 0x5f0]                                 |     
    0x0000a774 mov r7, r8                                            |     r7 = r8;
    0x0000a776 str r6, [sp, 0x44]                                    |     var_44h = r6;
    0x0000a778 add r3, pc                                            |     r3 = 0x154e0;
    0x0000a77a str r3, [sp, 0x58]                                    |     var_58h = r3;
    0x0000a77c mov.w r3, 0x8000                                      |     
    0x0000a780 movt r3, 0xffff                                       |     r3 = 0x-8000;
    0x0000a784 mov r6, r3                                            |     r6 = r3;
                                                                     | label_18:
    0x0000a786 movs r3, 0                                            |     r3 = 0;
    0x0000a788 mov.w r2, 0x8000                                      |     r2 = 0x8000;
    0x0000a78c mov r1, r3                                            |     r1 = r3;
    0x0000a78e mov r0, r7                                            |     r0 = r7;
    0x0000a790 str r4, [sp]                                          |     *(sp) = r4;
    0x0000a792 blx 0x3918                                            |     r0 = exit (r0);
    0x0000a796 mov r1, r0                                            |     r1 = r0;
    0x0000a798 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a79a bne.w 0xa8a6                                          |         goto label_17;
                                                                     |     }
    0x0000a79e movs r2, 0x7c                                         |     r2 = 0x7c;
    0x0000a7a0 add r0, sp, 0x98                                      |     r0 += var_98h;
    0x0000a7a2 blx 0x3214                                            |     fcn_00003214 ();
    0x0000a7a6 ldr r2, [sp, 0x44]                                    |     r2 = var_44h;
    0x0000a7a8 add.w sb, sp, 0x94                                    |     sb += var_94h;
    0x0000a7ac ldr r1, [sp, 0x70]                                    |     r1 = var_70h;
    0x0000a7ae movs r5, 1                                            |     r5 = 1;
    0x0000a7b0 mov r0, r7                                            |     r0 = r7;
    0x0000a7b2 strh.w r5, [sp, 0xae]                                 |     var_aeh = r5;
    0x0000a7b6 ldr r3, [r2]                                          |     r3 = *(r2);
    0x0000a7b8 strh.w r3, [sp, 0x96]                                 |     var_96h = r3;
    0x0000a7bc lsrs r3, r3, 0x10                                     |     r3 >>= 0x10;
    0x0000a7be strh.w r3, [sp, 0x10c]                                |     var_10ch = r3;
    0x0000a7c2 ldr r3, [r2, 4]                                       |     r3 = *((r2 + 4));
    0x0000a7c4 mov r2, sb                                            |     r2 = sb;
    0x0000a7c6 strh.w r3, [sp, 0xac]                                 |     var_ach = r3;
    0x0000a7ca lsrs r3, r3, 0x10                                     |     r3 >>= 0x10;
    0x0000a7cc strh.w r3, [sp, 0x10e]                                |     var_10eh = r3;
    0x0000a7d0 ldr r3, [r7, 0x5c]                                    |     r3 = *((r7 + 0x5c));
    0x0000a7d2 mvns r3, r3                                           |     r3 = ~r3;
    0x0000a7d4 and r3, r3, 0x1b6                                     |     r3 &= 0x1b6;
    0x0000a7d8 orrs r3, r6                                           |     r3 |= r6;
    0x0000a7da strh.w r3, [sp, 0x94]                                 |     var_94h = r3;
    0x0000a7de blx 0x36b0                                            |     r0 = fcn_000036b0 ();
    0x0000a7e2 mov r1, r0                                            |     r1 = r0;
    0x0000a7e4 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a7e6 bne 0xa8a6                                            |         goto label_17;
                                                                     |     }
    0x0000a7e8 mov r3, r0                                            |     r3 = r0;
    0x0000a7ea ldr r1, [sp, 0x70]                                    |     r1 = var_70h;
    0x0000a7ec mov r2, r5                                            |     r2 = r5;
    0x0000a7ee mov r0, r7                                            |     r0 = r7;
    0x0000a7f0 blx 0x3084                                            |     ext2fs_inode_alloc_stats2 ();
    0x0000a7f4 ldr r1, [sp, 0x70]                                    |     r1 = var_70h;
    0x0000a7f6 add r3, sp, 0x74                                      |     r3 += var_74h;
    0x0000a7f8 mov r2, sb                                            |     r2 = sb;
    0x0000a7fa mov r0, r7                                            |     r0 = r7;
    0x0000a7fc blx 0x36c8                                            |     r0 = fcn_000036c8 ();
    0x0000a800 mov r1, r0                                            |     r1 = r0;
    0x0000a802 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a804 bne 0xa8a6                                            |         goto label_17;
                                                                     |     }
    0x0000a806 ldr r3, [sp, 0x1c]                                    |     r3 = var_1ch;
    0x0000a808 ldr r2, [sp, 0x20]                                    |     r2 = var_20h;
    0x0000a80a strd r4, sb, [sp, 0x60]                               |     __asm ("strd r4, sb, [sp, 0x60]");
    0x0000a80c ldr r1, [pc, 0x60]                                    |     r1 = *(0xa870);
    0x0000a80e mov ip, r3                                            |     
    0x0000a810 str r7, [sp, 0x2c]                                    |     var_2ch = r7;
    0x0000a812 orrs r3, r2                                           |     r3 |= r2;
    0x0000a814 ldr.w r3, [pc, 0x550]                                 |     
    0x0000a816 adds r5, 0x50                                         |     r5 += 0x50;
    0x0000a818 mov lr, r2                                            |     lr = r2;
    0x0000a81a mov.w r2, 0                                           |     r2 = 0;
    0x0000a81e mov sl, r2                                            |     sl = r2;
    0x0000a820 mov sb, r2                                            |     sb = r2;
    0x0000a822 add r3, pc                                            |     r3 = 0x1558e;
    0x0000a824 itt eq                                                |     
                                                                     |     if (r5 != 0x50) {
    0x0000a826 moveq ip, r5                                          |         
                                                                     |     }
                                                                     |     if (r5 != 0x50) {
    0x0000a828 moveq lr, r0                                          |         lr = r0;
                                                                     |     }
    0x0000a82a str r3, [sp, 0x30]                                    |     var_30h = r3;
    0x0000a82c add r3, sp, 0x78                                      |     r3 += var_78h;
    0x0000a82e str r2, [sp, 0x3c]                                    |     var_3ch = r2;
    0x0000a830 strd r2, r2, [sp, 0x48]                               |     __asm ("strd r2, r2, [sp, 0x48]");
    0x0000a834 str r3, [sp, 0x18]                                    |     var_18h = r3;
    0x0000a836 strd ip, lr, [sp, 0x34]                               |     __asm ("strd ip, lr, [sp, 0x34]");
    0x0000a83a str r2, [sp, 0x40]                                    |     var_40h = r2;
    0x0000a83c str r6, [sp, 0x68]                                    |     var_68h = r6;
                                                                     | label_14:
    0x0000a83e ldr r7, [sp, 0x2c]                                    |     r7 = var_2ch;
    0x0000a840 ldr r3, [sp, 0x30]                                    |     r3 = var_30h;
    0x0000a842 ldr r0, [r7, 0x10]                                    |     r0 = *((r7 + 0x10));
    0x0000a844 ldrd r4, r5, [r3, 0x28]                               |     __asm ("ldrd r4, r5, [r3, 0x28]");
    0x0000a848 ldr r6, [r7, 0x30]                                    |     r6 = *((r7 + 0x30));
    0x0000a84a blx 0x347c                                            |     r0 = fcn_0000347c ();
    0x0000a84e mov r3, r0                                            |     r3 = r0;
    0x0000a850 mov r2, r4                                            |     r2 = r4;
    0x0000a852 subs r3, 1                                            |     r3--;
    0x0000a854 mov r0, r6                                            |     r0 = r6;
    0x0000a856 str r3, [sp]                                          |     *(sp) = r3;
    0x0000a858 mov r3, r5                                            |     r3 = r5;
    0x0000a85a ldr r5, [sp, 0x18]                                    |     r5 = var_18h;
    0x0000a85c sbc r1, r1, 0                                         |     __asm ("sbc r1, r1, 0");
    0x0000a85e lsls r0, r0, 4                                        |     r0 <<= 4;
    0x0000a860 str r1, [sp, 4]                                       |     var_4h = r1;
    0x0000a862 str r5, [sp, 8]                                       |     var_8h = r5;
    0x0000a864 blx 0x2fac                                            |     r0 = ext2fs_find_first_zero_generic_bmap ();
                                                                     |     if (r0 == 0) {
    0x0000a868 cbz r0, 0xa8aa                                        |         goto label_60;
                                                                     |     }
                                                                     | label_15:
    0x0000a86a mov r1, r0                                            |     r1 = r0;
    0x0000a86c ldr r0, [sp, 0x74]                                    |     r0 = var_74h;
    0x0000a86e ldr r4, [sp, 0x14]                                    |     r4 = var_14h;
                                                                     |     if (r0 == 0) {
    0x0000a870 cbz r0, 0xa87a                                        |         goto label_13;
                                                                     |     }
                                                                     | label_30:
    0x0000a872 str r1, [sp, 0x14]                                    |     var_14h = r1;
    0x0000a874 blx 0x300c                                            |     ext2fs_extent_free ();
    0x0000a878 ldr r1, [sp, 0x14]                                    |     r1 = var_14h;
                                                                     |     do {
                                                                     | label_13:
    0x0000a87a mov r3, r4                                            |         r3 = r4;
    0x0000a87c ldr.w r0, [pc, 0x4ec]                                 |         
    0x0000a880 ldr r4, [sp, 0x28]                                    |         r4 = var_28h;
    0x0000a882 ldr.w r2, [pc, 0x4ec]                                 |         
    0x0000a886 ldr r0, [r4, r0]                                      |         r0 = *((r4 + r0));
    0x0000a888 add r2, pc                                            |         r2 = 0x155fe;
    0x0000a88a str r1, [sp, 0x14]                                    |         var_14h = r1;
    0x0000a88c ldr r0, [r0]                                          |         r0 = *(0xad6c);
    0x0000a88e blx 0x322c                                            |         fcn_0000322c ();
    0x0000a892 ldr r1, [sp, 0x14]                                    |         r1 = var_14h;
                                                                     | label_23:
    0x0000a894 ldr.w r3, [pc, 0x4dc]                                 |         
    0x0000a898 str r1, [sp, 0x14]                                    |         var_14h = r1;
    0x0000a89a add r3, pc                                            |         r3 = 0x15612;
    0x0000a89c ldr r0, [r3, 0x34]                                    |         r0 = *(0x15646);
    0x0000a89e blx 0x332c                                            |         fcn_0000332c ();
    0x0000a8a2 ldr r1, [sp, 0x14]                                    |         r1 = var_14h;
    0x0000a8a4 b 0xa4a0                                              |         goto label_9;
                                                                     | label_17:
    0x0000a8a6 ldr r4, [sp, 0x14]                                    |         r4 = var_14h;
    0x0000a8a8 b 0xa87a                                              |         
                                                                     |     } while (1);
                                                                     | label_60:
    0x0000a8aa ldr r4, [r7, 0x30]                                    |     r4 = *((r7 + 0x30));
    0x0000a8ac ldr r3, [sp, 0x30]                                    |     r3 = var_30h;
    0x0000a8ae ldr r0, [r7, 0x10]                                    |     r0 = *((r7 + 0x10));
    0x0000a8b0 ldrd r6, r7, [sp, 0x78]                               |     __asm ("ldrd r6, r7, [var_78h]");
    0x0000a8b4 strd r6, r7, [r3, 0x28]                               |     __asm ("strd r6, r7, [r3, 0x28]");
    0x0000a8b6 str r2, [r1, 0x70]                                    |     *((r1 + 0x70)) = r2;
    0x0000a8b8 blx 0x347c                                            |     fcn_0000347c ();
    0x0000a8ba stcl p8, c3, [r0, 4]!                                 |     __asm ("stcl p8, c3, [r0, 4]!");
    0x0000a8bc subs r0, 1                                            |     r0--;
    0x0000a8be mov r2, r6                                            |     r2 = r6;
    0x0000a8c0 sbc r1, r1, 0                                         |     __asm ("sbc r1, r1, 0");
    0x0000a8c2 lsls r0, r0, 4                                        |     r0 <<= 4;
    0x0000a8c4 str r0, [sp]                                          |     *(sp) = r0;
    0x0000a8c6 mov r3, r7                                            |     r3 = r7;
    0x0000a8c8 mov r0, r4                                            |     r0 = r4;
    0x0000a8ca str r1, [sp, 4]                                       |     var_4h = r1;
    0x0000a8cc str r5, [sp, 8]                                       |     var_8h = r5;
    0x0000a8ce blx 0x3658                                            |     r0 = fcn_00003658 ();
    0x0000a8d2 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a8d4 bne.w 0xaab0                                          |         goto label_61;
                                                                     |     }
    0x0000a8d8 ldr r3, [sp, 0x78]                                    |     r3 = var_78h;
    0x0000a8da str r3, [sp, 0x40]                                    |     var_40h = r3;
    0x0000a8dc ldr r3, [sp, 0x7c]                                    |     r3 = var_7ch;
    0x0000a8de str r3, [sp, 0x3c]                                    |     var_3ch = r3;
                                                                     | label_19:
    0x0000a8e0 ldr r3, [sp, 0x5c]                                    |     r3 = var_5ch;
    0x0000a8e2 ldrd r8, fp, [r3, 0x28]                               |     __asm ("ldrd r8, fp, [r3, 0x28]");
    0x0000a8e6 ldrd r3, r2, [sp, 0x1c]                               |     __asm ("ldrd r3, r2, [var_1ch]");
    0x0000a8ea orrs r2, r3                                           |     r2 |= r3;
                                                                     |     if (r2 != r3) {
    0x0000a8ec bne.w 0xaad0                                          |         goto label_62;
                                                                     |     }
    0x0000a8f0 ldr r1, [sp, 0x40]                                    |     r1 = var_40h;
    0x0000a8f2 ldr r2, [sp, 0x3c]                                    |     r2 = var_3ch;
    0x0000a8f4 subs.w r4, r1, r8                                     |     r4 = r1 - r8;
    0x0000a8f8 sbc.w r7, r2, fp                                      |     __asm ("sbc.w r7, r2, fp");
                                                                     | label_20:
    0x0000a8fc ldr r3, [sp, 0x58]                                    |     r3 = var_58h;
    0x0000a8fe ldr r0, [sp, 0x2c]                                    |     r0 = var_2ch;
    0x0000a900 strd r1, r2, [r3, 0x28]                               |     __asm ("strd r1, r2, [r3, 0x28]");
    0x0000a904 movs r2, 1                                            |     r2 = 1;
    0x0000a906 str r2, [sp, 4]                                       |     var_4h = r2;
    0x0000a908 mov r3, fp                                            |     r3 = fp;
    0x0000a90a mov r2, r8                                            |     r2 = r8;
    0x0000a90c str r4, [sp]                                          |     *(sp) = r4;
    0x0000a90e blx 0x2f7c                                            |     ext2fs_block_alloc_stats_range ();
    0x0000a912 ldr.w r2, [pc, 0x464]                                 |     
    0x0000a916 add r2, pc                                            |     
    0x0000a918 ldr r2, [r2]                                          |     r2 = *(0x15694);
    0x0000a91a cmp r2, 0                                             |     
                                                                     |     if (r2 != 0) {
    0x0000a91c bne.w 0xab04                                          |         goto label_63;
                                                                     |     }
                                                                     | label_21:
    0x0000a920 orrs.w r2, r4, r7                                     |     r2 = r4 | r7;
                                                                     |     if (r2 == r4) {
    0x0000a924 beq 0xa994                                            |         goto label_64;
                                                                     |     }
    0x0000a926 mov r3, r8                                            |     r3 = r8;
    0x0000a928 mov r5, r4                                            |     r5 = r4;
    0x0000a92a mov r8, r7                                            |     r8 = r7;
    0x0000a92c mov r6, r3                                            |     r6 = r3;
    0x0000a92e strd r4, r7, [sp, 0x50]                               |     __asm ("strd r4, r7, [sp, 0x50]");
    0x0000a930 bx r2                                                 |     return uint32_t (*r2)() ();
    0x0000a932 b 0xa952                                              |     
                                                                     |     while (r0 == 0) {
    0x0000a934 adds r6, r4, r6                                       |         r6 = r4 + r6;
    0x0000a936 adc.w fp, r7, fp                                      |         __asm ("adc.w fp, r7, fp");
    0x0000a93a adds.w sl, r4, sl                                     |         sl = r4 + sl;
    0x0000a93e adc.w sb, r7, sb                                      |         __asm ("adc.w sb, r7, sb");
    0x0000a942 subs r4, r5, r4                                       |         r4 = r5 - r4;
    0x0000a944 sbc.w r7, r8, r7                                      |         __asm ("sbc.w r7, r8, r7");
    0x0000a948 mov r5, r4                                            |         r5 = r4;
    0x0000a94a orrs.w r2, r4, r7                                     |         r2 = r4 | r7;
    0x0000a94e mov r8, r7                                            |         r8 = r7;
                                                                     |         if (r2 == r4) {
    0x0000a950 beq 0xa990                                            |             goto label_65;
                                                                     |         }
    0x0000a952 movw r3, 0x8001                                       |         r3 = 0x8001;
    0x0000a956 mov r4, r5                                            |         r4 = r5;
    0x0000a958 cmp r5, r3                                            |         
    0x0000a95a ldr r0, [sp, 0x74]                                    |         r0 = var_74h;
    0x0000a95c sbcs r2, r8, 0                                        |         __asm ("sbcs r2, r8, 0");
    0x0000a960 mov.w r3, 0                                           |         r3 = 0;
    0x0000a964 it hs                                                 |         
                                                                     |         if (r5 < r3) {
    0x0000a966 movhs r4, 0x8000                                      |             r4 = 0x8000;
                                                                     |         }
    0x0000a96a ldr r2, [sp, 0x18]                                    |         r2 = var_18h;
    0x0000a96c mov.w r1, 1                                           |         r1 = 1;
    0x0000a970 mov r7, r8                                            |         r7 = r8;
    0x0000a972 str r4, [sp, 0x88]                                    |         var_88h = r4;
    0x0000a974 it hs                                                 |         
                                                                     |         if (r5 < r3) {
    0x0000a976 movhs r7, 0                                           |             r7 = 0;
                                                                     |         }
    0x0000a978 strd r6, fp, [sp, 0x78]                               |         __asm ("strd r6, fp, [var_0hx78]");
    0x0000a97c strd sl, sb, [sp, 0x80]                               |         __asm ("strd sl, sb, [sp, 0x80]");
    0x0000a980 str r3, [sp, 0x8c]                                    |         var_8ch = r3;
    0x0000a982 blx 0x37ec                                            |         r0 = ext2fs_fstat ();
    0x0000a986 cmp r0, 0                                             |         
    0x0000a988 beq 0xa934                                            |         
                                                                     |     }
    0x0000a98a ldr r4, [sp, 0x14]                                    |     r4 = var_14h;
    0x0000a98c mov r1, r0                                            |     r1 = r0;
    0x0000a98e b 0xa87a                                              |     goto label_13;
                                                                     | label_65:
    0x0000a990 ldrd r4, r7, [sp, 0x50]                               |     __asm ("ldrd r4, r7, [var_50h]");
                                                                     | label_64:
    0x0000a994 ldr r3, [sp, 0x48]                                    |     r3 = var_48h;
    0x0000a996 ldr r2, [sp, 0x4c]                                    |     r2 = var_4ch;
    0x0000a998 adds r3, r3, r4                                       |     r3 += r4;
    0x0000a99a adc.w r2, r2, r7                                      |     __asm ("adc.w r2, r2, r7");
    0x0000a99e strd r3, r2, [sp, 0x48]                               |     __asm ("strd r3, r2, [sp, 0x48]");
    0x0000a9a2 ldrd r3, r2, [sp, 0x34]                               |     __asm ("ldrd r3, r2, [var_34h]");
    0x0000a9a6 orrs r3, r2                                           |     r3 |= r2;
                                                                     |     if (r3 != r2) {
    0x0000a9a8 bne.w 0xa83e                                          |         goto label_14;
                                                                     |     }
    0x0000a9ac ldr r7, [sp, 0x2c]                                    |     r7 = var_2ch;
    0x0000a9ae ldrd r4, sb, [sp, 0x60]                               |     __asm ("ldrd r4, sb, [var_60h]");
    0x0000a9b2 ldr r1, [sp, 0x70]                                    |     r1 = var_70h;
    0x0000a9b4 mov r0, r7                                            |     r0 = r7;
    0x0000a9b6 ldr r6, [sp, 0x68]                                    |     r6 = var_68h;
    0x0000a9b8 mov r2, sb                                            |     r2 = sb;
    0x0000a9ba blx 0x32f8                                            |     r0 = fcn_000032f8 ();
    0x0000a9be mov r1, r0                                            |     r1 = r0;
    0x0000a9c0 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a9c2 bne.w 0xac7a                                          |         goto label_66;
                                                                     |     }
    0x0000a9c6 ldr r2, [r7, 0x64]                                    |     r2 = *((r7 + 0x64));
    0x0000a9c8 movs r5, 1                                            |     r5 = 1;
    0x0000a9ca ldr.w sl, [sp, 0x48]                                  |     sl = var_48h;
    0x0000a9ce ldr.w r8, [sp, 0x4c]                                  |     r8 = var_4ch;
    0x0000a9d2 lsl.w r2, r5, r2                                      |     r2 = r5 << r2;
    0x0000a9d6 mov r0, sl                                            |     r0 = sl;
    0x0000a9d8 mov r1, r8                                            |     r1 = r8;
    0x0000a9da asrs r3, r2, 0x1f                                     |     r3 = r2 >> 0x1f;
    0x0000a9dc bl 0x11ff8                                            |     r0 = fcn_00011ff8 (r0, r1, r2, r3);
    0x0000a9e0 mov r2, r0                                            |     r2 = r0;
    0x0000a9e2 mov r3, r1                                            |     r3 = r1;
    0x0000a9e4 mov r0, r7                                            |     r0 = r7;
    0x0000a9e6 mov r1, sb                                            |     r1 = sb;
    0x0000a9e8 blx 0x3870                                            |     r0 = blkid_probe_enable_superblocks ();
    0x0000a9ec mov r1, r0                                            |     r1 = r0;
    0x0000a9ee cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000a9f0 bne.w 0xac7a                                          |         goto label_66;
                                                                     |     }
    0x0000a9f4 ldr r3, [r7, 0x14]                                    |     r3 = *((r7 + 0x14));
    0x0000a9f6 mov r1, sb                                            |     r1 = sb;
    0x0000a9f8 mov r0, r7                                            |     r0 = r7;
    0x0000a9fa umull lr, ip, r3, sl                                  |     lr:ip = r3 * sl;
    0x0000a9fe mla r3, r3, r8, ip                                    |     __asm ("mla r3, r3, r8, ip");
    0x0000aa02 mov r2, lr                                            |     r2 = lr;
    0x0000aa04 blx 0x384c                                            |     r0 = ext2fs_write_inode ();
    0x0000aa08 mov r1, r0                                            |     r1 = r0;
    0x0000aa0a cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000aa0c bne.w 0xac7a                                          |         goto label_66;
                                                                     |     }
    0x0000aa10 ldr r1, [sp, 0x70]                                    |     r1 = var_70h;
    0x0000aa12 mov r2, sb                                            |     r2 = sb;
    0x0000aa14 mov r0, r7                                            |     r0 = r7;
    0x0000aa16 blx 0x36b0                                            |     r0 = fcn_000036b0 ();
    0x0000aa1a mov r1, r0                                            |     r1 = r0;
    0x0000aa1c cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000aa1e bne.w 0xac7a                                          |         goto label_66;
                                                                     |     }
    0x0000aa22 ldr r3, [pc, 0x358]                                   |     
    0x0000aa24 add r3, pc                                            |     r3 = 0x157a6;
    0x0000aa26 ldr r2, [r3, 0x30]                                    |     r2 = *(0x157d6);
    0x0000aa28 cmp r2, 0                                             |     
                                                                     |     if (r2 != 0) {
    0x0000aa2a bne.w 0xac86                                          |         goto label_67;
                                                                     |     }
    0x0000aa2e ldr r2, [r3, 8]                                       |     r2 = *((r3 + 8));
    0x0000aa30 cmp r2, 1                                             |     
                                                                     |     if (r2 >= 1) {
    0x0000aa32 bls 0xaa48                                            |         
    0x0000aa34 ldr r0, [r3, 0x20]                                    |         r0 = *((r3 + 0x20));
    0x0000aa36 mov r1, r5                                            |         r1 = r5;
    0x0000aa38 ldr r3, [sp, 0x14]                                    |         r3 = var_14h;
    0x0000aa3a mov.w r2, -1                                          |         r2 = -1;
    0x0000aa3e str r3, [sp]                                          |         *(sp) = r3;
    0x0000aa40 ldr r3, [pc, 0x33c]                                   |         
    0x0000aa42 add r3, pc                                            |         r3 = 0x157c6;
    0x0000aa44 blx 0x38ac                                            |         ext2fs_open ();
                                                                     |     }
                                                                     | label_31:
    0x0000aa48 ldr r5, [pc, 0x338]                                   |     
    0x0000aa4a movw fp, 0xb726                                       |     
    0x0000aa4e movt fp, 0x7f2b                                       |     fp = 0x7f2bb726;
    0x0000aa52 mov.w r8, 1                                           |     r8 = 1;
    0x0000aa56 add r5, pc                                            |     r5 = 0x157de;
    0x0000aa58 b 0xaa68                                              |     goto label_68;
                                                                     | label_16:
    0x0000aa5a mov r1, sb                                            |     r1 = sb;
    0x0000aa5c mov r0, r7                                            |     r0 = r7;
    0x0000aa5e blx 0x3714                                            |     r0 = set_undo_io_backup_file ();
    0x0000aa62 cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000aa64 bne.w 0xa86a                                          |         goto label_15;
                                                                     |     }
                                                                     | label_68:
    0x0000aa68 ldr.w sb, [sp, 0x24]                                  |     sb = var_24h;
    0x0000aa6c mov r0, r7                                            |     r0 = r7;
    0x0000aa6e str.w r8, [sp]                                        |     __asm ("str.w r8, [sp]");
    0x0000aa72 ldr r3, [sp, 0x70]                                    |     r3 = var_70h;
    0x0000aa74 ldr r2, [r5, 0x34]                                    |     r2 = *((r5 + 0x34));
    0x0000aa76 mov r1, sb                                            |     r1 = sb;
    0x0000aa78 blx 0x2fd0                                            |     r0 = ext2fs_link ();
    0x0000aa7c cmp r0, fp                                            |     
                                                                     |     if (r0 == fp) {
    0x0000aa7e beq 0xaa5a                                            |         goto label_16;
                                                                     |     }
    0x0000aa80 mov r1, r0                                            |     r1 = r0;
    0x0000aa82 ldr r0, [sp, 0x74]                                    |     r0 = var_74h;
                                                                     |     if (r0 != 0) {
    0x0000aa84 cbz r0, 0xaa8e                                        |         
    0x0000aa86 str r1, [sp, 0x18]                                    |         var_18h = r1;
    0x0000aa88 blx 0x300c                                            |         ext2fs_extent_free ();
    0x0000aa8c ldr r1, [sp, 0x18]                                    |         r1 = var_18h;
                                                                     |     }
    0x0000aa8e cmp r1, 0                                             |     
                                                                     |     if (r1 != 0) {
    0x0000aa90 bne.w 0xa8a6                                          |         goto label_17;
                                                                     |     }
    0x0000aa94 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0000aa96 adds r3, 1                                            |     r3++;
    0x0000aa98 mov r1, r3                                            |     r1 = r3;
    0x0000aa9a str r3, [sp, 0x14]                                    |     var_14h = r3;
    0x0000aa9c ldr r3, [pc, 0x2e8]                                   |     
    0x0000aa9e add r3, pc                                            |     r3 = 0x1582a;
    0x0000aaa0 ldr r2, [r3, 8]                                       |     r2 = *(0x15832);
    0x0000aaa2 cmp r2, r1                                            |     
                                                                     |     if (r2 < r1) {
    0x0000aaa4 bls 0xab68                                            |         goto label_69;
                                                                     |     }
    0x0000aaa6 ldr r2, [r3, 0x18]                                    |     r2 = *((r3 + 0x18));
    0x0000aaa8 ldr r3, [r3, 0x1c]                                    |     r3 = *((r3 + 0x1c));
    0x0000aaaa str r2, [sp, 0x1c]                                    |     var_1ch = r2;
    0x0000aaac str r3, [sp, 0x20]                                    |     var_20h = r3;
    0x0000aaae b 0xa786                                              |     goto label_18;
                                                                     | label_61:
    0x0000aab0 cmp r0, 2                                             |     
                                                                     |     if (r0 != 2) {
    0x0000aab2 bne.w 0xa8e0                                          |         goto label_19;
                                                                     |     }
    0x0000aab6 ldr r3, [sp, 0x2c]                                    |     r3 = var_2ch;
    0x0000aab8 ldr r0, [r3, 0x10]                                    |     r0 = *((r3 + 0x10));
    0x0000aaba blx 0x347c                                            |     fcn_0000347c ();
    0x0000aabe ldrd r4, r5, [sp, 0x1c]                               |     __asm ("ldrd r4, r5, [var_1ch]");
    0x0000aac2 mov r2, r1                                            |     r2 = r1;
    0x0000aac4 str r0, [sp, 0x40]                                    |     var_40h = r0;
    0x0000aac6 str r1, [sp, 0x3c]                                    |     var_3ch = r1;
    0x0000aac8 orrs.w r3, r4, r5                                     |     r3 = r4 | r5;
                                                                     |     if (r3 == r4) {
    0x0000aacc beq.w 0xac4e                                          |         goto label_70;
                                                                     |     }
                                                                     | label_62:
    0x0000aad0 ldr r3, [pc, 0x2b8]                                   |     
    0x0000aad2 add r3, pc                                            |     r3 = 0x15862;
    0x0000aad4 ldrd r8, fp, [r3, 0x28]                               |     __asm ("ldrd r8, fp, [r3, 0x28]");
    0x0000aad6 ldrh r2, [r1, 0x18]                                   |     r2 = *((r1 + 0x18));
    0x0000aad8 ldr r3, [sp, 0x40]                                    |     r3 = var_40h;
    0x0000aada subs.w r4, r3, r8                                     |     r4 = r3 - r8;
    0x0000aade ldr r3, [sp, 0x3c]                                    |     r3 = var_3ch;
    0x0000aae0 sbc.w r7, r3, fp                                      |     __asm ("sbc.w r7, r3, fp");
    0x0000aae4 ldr r3, [sp, 0x34]                                    |     r3 = var_34h;
    0x0000aae6 cmp r4, r3                                            |     
    0x0000aae8 ldr r3, [sp, 0x38]                                    |     r3 = var_38h;
    0x0000aaea sbcs.w r2, r7, r3                                     |     __asm ("sbcs.w r2, r7, r3");
                                                                     |     if (r4 <= r3) {
    0x0000aaee blo 0xab3a                                            |         goto label_71;
                                                                     |     }
    0x0000aaf0 ldr r4, [sp, 0x34]                                    |     r4 = var_34h;
    0x0000aaf2 movs r3, 0                                            |     r3 = 0;
    0x0000aaf4 ldr r7, [sp, 0x38]                                    |     r7 = var_38h;
    0x0000aaf6 str r3, [sp, 0x34]                                    |     var_34h = r3;
    0x0000aaf8 adds.w r1, r4, r8                                     |     r1 = r4 + r8;
    0x0000aafc str r3, [sp, 0x38]                                    |     var_38h = r3;
    0x0000aafe adc.w r2, r7, fp                                      |     __asm ("adc.w r2, r7, fp");
    0x0000ab02 b 0xa8fc                                              |     goto label_20;
                                                                     | label_63:
    0x0000ab04 ldr r3, [sp, 0x18]                                    |     r3 = var_18h;
    0x0000ab06 movs r2, 0                                            |     r2 = 0;
    0x0000ab08 str r2, [sp, 8]                                       |     var_8h = r2;
    0x0000ab0a mov r2, r8                                            |     r2 = r8;
    0x0000ab0c ldr r0, [sp, 0x2c]                                    |     r0 = var_2ch;
    0x0000ab0e strd r4, r3, [sp]                                     |     __asm ("strd r4, r3, [sp]");
    0x0000ab12 mov r3, fp                                            |     r3 = fp;
    0x0000ab14 blx 0x3530                                            |     fcn_00003530 ();
    0x0000ab16 stc p8, c2, [ip, -0]                                  |     __asm ("stc p8, c2, [ip, -0]");
                                                                     |     if (r2 == 0) {
    0x0000ab1a beq.w 0xa920                                          |         goto label_21;
                                                                     |     }
    0x0000ab1e ldr r3, [sp, 0x28]                                    |     r3 = var_28h;
    0x0000ab20 mov r1, r0                                            |     r1 = r0;
    0x0000ab22 ldr r2, [pc, 0x248]                                   |     r2 = *(0xad6e);
    0x0000ab24 vldr d16, [sp, 0x78]                                  |     __asm ("vldr d16, [sp, 0x78]");
    0x0000ab26 lsrs r6, r3, 0xc                                      |     r6 = r3 >> 0xc;
    0x0000ab28 ldr r2, [r3, r2]                                      |     r2 = *((r3 + r2));
    0x0000ab2a ldr r0, [r2]                                          |     r0 = *(0xad6e);
    0x0000ab2c ldr r2, [pc, 0x260]                                   |     
    0x0000ab2e vstr d16, [sp]                                        |     __asm ("vstr d16, [sp]");
    0x0000ab32 add r2, pc                                            |     r2 = 0x158c6;
    0x0000ab34 blx 0x322c                                            |     fcn_0000322c ();
    0x0000ab38 b 0xa920                                              |     goto label_21;
                                                                     | label_71:
    0x0000ab3a ldr r1, [sp, 0x40]                                    |     r1 = var_40h;
    0x0000ab3c ldr r5, [sp, 0x34]                                    |     r5 = var_34h;
    0x0000ab3e ldr r3, [sp, 0x3c]                                    |     r3 = var_3ch;
    0x0000ab40 subs.w r2, r8, r1                                     |     r2 = r8 - r1;
    0x0000ab44 sbc.w r0, fp, r3                                      |     __asm ("sbc.w r0, fp, r3");
    0x0000ab48 adds r2, r2, r5                                       |     r2 += r5;
    0x0000ab4a ldr r5, [sp, 0x38]                                    |     r5 = var_38h;
    0x0000ab4c adc.w r0, r5, r0                                      |     __asm ("adc.w r0, r5, r0");
    0x0000ab50 strd r2, r0, [sp, 0x34]                               |     __asm ("strd r2, r0, [sp, 0x34]");
    0x0000ab54 mov r2, r3                                            |     r2 = r3;
    0x0000ab56 b 0xa8fc                                              |     goto label_20;
                                                                     | label_56:
    0x0000ab58 ldr r3, [pc, 0x238]                                   |     
    0x0000ab5a add r3, pc                                            |     
    0x0000ab5c ldr r3, [r3, 8]                                       |     r3 = *(0x158fa);
    0x0000ab5e cmp r3, 0                                             |     
                                                                     |     if (r3 != 0) {
    0x0000ab60 bne.w 0xa756                                          |         goto label_22;
                                                                     |     }
                                                                     |     do {
                                                                     | label_24:
    0x0000ab64 movs r1, 0                                            |         r1 = 0;
    0x0000ab66 b 0xa894                                              |         goto label_23;
                                                                     | label_69:
    0x0000ab68 ldr r7, [sp, 0x6c]                                    |         r7 = var_6ch;
                                                                     | label_59:
    0x0000ab6a ldr r3, [r7]                                          |         r3 = *(r7);
    0x0000ab6c cmp r3, 0                                             |         
    0x0000ab6e bne 0xab64                                            |         
                                                                     |     } while (r3 != 0);
    0x0000ab70 ldr r4, [sp, 0x28]                                    |     r4 = var_28h;
    0x0000ab72 movs r2, 5                                            |     r2 = 5;
    0x0000ab74 ldr r3, [pc, 0x1d8]                                   |     
    0x0000ab76 movs r1, 1                                            |     r1 = 1;
    0x0000ab78 ldr r0, [pc, 0x21c]                                   |     
    0x0000ab7a ldr r3, [r4, r3]                                      |     r3 = *((r4 + r3));
    0x0000ab7c add r0, pc                                            |     r0 = "hugefiles_uid";
    0x0000ab7e ldr r3, [r3]                                          |     r3 = *(0xad50);
    0x0000ab80 blx 0x35c4                                            |     ext2fs_namei ();
    0x0000ab84 b 0xab64                                              |     goto label_24;
                                                                     | label_55:
    0x0000ab86 subs r2, r4, r2                                       |     r2 = r4 - r2;
    0x0000ab88 adds r2, r2, r5                                       |     r2 += r5;
    0x0000ab8a mov r5, r2                                            |     r5 = r2;
    0x0000ab8c adc r7, r7, 0                                         |     __asm ("adc r7, r7, 0");
    0x0000ab90 b 0xa69a                                              |     goto label_25;
                                                                     | label_49:
    0x0000ab92 lsrs r3, r5, 4                                        |     r3 = r5 >> 4;
    0x0000ab94 cmp r5, 1                                             |     
    0x0000ab96 mov.w sb, 0                                           |     sb = 0;
    0x0000ab9a add.w r3, r3, 1                                       |     r3++;
    0x0000ab9e str r3, [sp, 0x14]                                    |     var_14h = r3;
                                                                     |     if (r5 == 1) {
    0x0000aba0 beq.w 0xa48c                                          |         goto label_26;
                                                                     |     }
    0x0000aba4 ldr r0, [sp, 0x30]                                    |     r0 = var_30h;
    0x0000aba6 mov r2, r5                                            |     r2 = r5;
    0x0000aba8 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0000abaa subs.w fp, r0, r3                                     |     
    0x0000abae ldr r3, [sp, 0x2c]                                    |     r3 = var_2ch;
    0x0000abb0 sbc sl, r3, 0                                         |     __asm ("sbc sl, r3, 0");
    0x0000abb4 mov r1, r3                                            |     r1 = r3;
    0x0000abb6 mov r3, sb                                            |     r3 = sb;
    0x0000abb8 bl 0x11ff8                                            |     r0 = fcn_00011ff8 (r0, r1, r2, r3);
    0x0000abbc mov r2, r0                                            |     r2 = r0;
    0x0000abbe mov r3, r1                                            |     r3 = r1;
    0x0000abc0 mov r0, r8                                            |     r0 = r8;
    0x0000abc2 bl 0x9e18                                             |     fcn_00009e18 (r0, r1, r2);
    0x0000abc4 invalid                                               |     
    0x0000abc8 lsls r5, r0, 0xc                                      |     r5 = r0 << 0xc;
    0x0000abca mov r2, r5                                            |     r2 = r5;
    0x0000abcc mla r3, r5, r1, r3                                    |     __asm ("mla r3, r5, r1, r3");
    0x0000abd0 subs.w r1, fp, r0                                     |     r1 = fp - r0;
    0x0000abd4 mov r0, r1                                            |     r0 = r1;
    0x0000abd6 str r1, [sp, 0x30]                                    |     var_30h = r1;
    0x0000abd8 sbc.w r3, sl, r3                                      |     __asm ("sbc.w r3, sl, r3");
    0x0000abdc str r3, [sp, 0x2c]                                    |     var_2ch = r3;
    0x0000abde mov r3, sb                                            |     r3 = sb;
    0x0000abe0 ldr r1, [sp, 0x2c]                                    |     r1 = var_2ch;
    0x0000abe2 bl 0x11ff8                                            |     fcn_00011ff8 (r0, r1, r2, r3);
    0x0000abe6 ldr r2, [sp, 0x30]                                    |     r2 = var_30h;
    0x0000abe8 mov sl, r1                                            |     sl = r1;
    0x0000abea strd r0, r1, [r4, 0x18]                               |     __asm ("strd r0, r1, [r4, 0x18]");
    0x0000abee mov fp, r0                                            |     
    0x0000abf0 ldr r1, [sp, 0x2c]                                    |     r1 = var_2ch;
    0x0000abf2 cmp r2, r5                                            |     
    0x0000abf4 sbcs r3, r1, 0                                        |     __asm ("sbcs r3, r1, 0");
    0x0000abf6 lsls r0, r0, 0xc                                      |     r0 <<= 0xc;
    0x0000abf8 itt lo                                                |     
                                                                     |     if (r0 >= r0) {
    0x0000abfa movlo fp, r2                                          |         
                                                                     |     }
                                                                     |     if (r0 >= r0) {
    0x0000abfc movlo sl, r1                                          |         sl = r1;
                                                                     |     }
    0x0000abfe b 0xa5c8                                              |     goto label_27;
                                                                     | label_52:
    0x0000ac00 mov r2, fp                                            |     r2 = fp;
    0x0000ac02 mov r3, sl                                            |     r3 = sl;
    0x0000ac04 mov r0, r8                                            |     r0 = r8;
    0x0000ac06 bl 0x9e18                                             |     fcn_00009e18 (r0, r1, r2);
    0x0000ac0a mov r2, fp                                            |     r2 = fp;
    0x0000ac0c mov r5, r0                                            |     r5 = r0;
    0x0000ac0e mov sb, r1                                            |     sb = r1;
    0x0000ac10 mov r3, sl                                            |     r3 = sl;
    0x0000ac12 ldrd r1, r0, [sp, 0x2c]                               |     __asm ("ldrd r1, r0, [var_2ch]");
    0x0000ac16 bl 0x11ff8                                            |     r0 = fcn_00011ff8 (r0, r1, r2, r3);
    0x0000ac1a umull r5, r1, r0, r5                                  |     r5:r1 = r0 * r5;
    0x0000ac1e mov r3, r0                                            |     r3 = r0;
    0x0000ac20 mov r2, fp                                            |     r2 = fp;
    0x0000ac22 mla r1, sb, r3, r1                                    |     __asm ("mla r1, sb, r3, r1");
    0x0000ac26 lsrs r3, r0, 4                                        |     r3 = r0 >> 4;
    0x0000ac28 ldr r0, [sp, 0x30]                                    |     r0 = var_30h;
    0x0000ac2a adds r3, 1                                            |     r3++;
    0x0000ac2c subs r3, r0, r3                                       |     r3 = r0 - r3;
    0x0000ac2e ldr r0, [sp, 0x2c]                                    |     r0 = var_2ch;
    0x0000ac30 sbc r0, r0, 0                                         |     __asm ("sbc r0, r0, 0");
    0x0000ac34 subs r5, r3, r5                                       |     r5 = r3 - r5;
    0x0000ac36 sbc.w r3, r0, r1                                      |     __asm ("sbc.w r3, r0, r1");
    0x0000ac3a mov r0, r5                                            |     r0 = r5;
    0x0000ac3c mov r1, r3                                            |     r1 = r3;
    0x0000ac3e str r3, [sp, 0x2c]                                    |     var_2ch = r3;
    0x0000ac40 mov r3, sl                                            |     r3 = sl;
    0x0000ac42 str r5, [sp, 0x30]                                    |     var_30h = r5;
    0x0000ac44 bl 0x11ff8                                            |     r0 = fcn_00011ff8 (r0, r1, r2, r3);
    0x0000ac48 mov r5, r0                                            |     r5 = r0;
    0x0000ac4a str r0, [r4, 8]                                       |     *((r4 + 8)) = r0;
    0x0000ac4c b 0xa5be                                              |     goto label_28;
                                                                     | label_70:
    0x0000ac4e ldr r3, [sp, 0x30]                                    |     r3 = var_30h;
    0x0000ac50 mov r1, r0                                            |     r1 = r0;
    0x0000ac52 strd r4, r5, [sp, 0x34]                               |     __asm ("strd r4, r5, [sp, 0x34]");
    0x0000ac56 ldrd r8, fp, [r3, 0x28]                               |     __asm ("ldrd r8, fp, [r3, 0x28]");
    0x0000ac5a mov r3, r0                                            |     r3 = r0;
    0x0000ac5c subs.w r4, r3, r8                                     |     r4 = r3 - r8;
    0x0000ac60 sbc.w r7, r2, fp                                      |     __asm ("sbc.w r7, r2, fp");
    0x0000ac64 b 0xa8fc                                              |     goto label_20;
                                                                     | label_58:
    0x0000ac66 ldr r1, [pc, 0x134]                                   |     
    0x0000ac68 movs r0, 1                                            |     r0 = 1;
    0x0000ac6a add r1, pc                                            |     r1 = "files_dir";
    0x0000ac6c blx 0x3150                                            |     r0 = printf_chk ()
    0x0000ac6e orns r5, r0, sl, lsr 25                               |     __asm ("orns r5, r0, sl, lsr 25");
                                                                     | label_54:
    0x0000ac72 adds r5, r4, r6                                       |     r5 = r4 + r6;
    0x0000ac74 adc.w r7, sl, r3                                      |     __asm ("adc.w r7, sl, r3");
    0x0000ac76 lsls r3, r0, 0x1c                                     |     r3 = r0 << 0x1c;
    0x0000ac78 b 0xa676                                              |     goto label_29;
                                                                     | label_66:
    0x0000ac7a ldr r0, [sp, 0x74]                                    |     r0 = var_74h;
    0x0000ac7c ldr r4, [sp, 0x14]                                    |     r4 = var_14h;
    0x0000ac7e cmp r0, 0                                             |     
                                                                     |     if (r0 != 0) {
    0x0000ac80 bne.w 0xa872                                          |         goto label_30;
                                                                     |     }
    0x0000ac82 add r5, sp, 0x3dc                                     |     r5 = sp + 0x3dc;
    0x0000ac84 b 0xa87a                                              |     goto label_13;
                                                                     | label_67:
    0x0000ac86 str r2, [sp]                                          |     *(sp) = r2;
    0x0000ac88 mov r1, r5                                            |     r1 = r5;
    0x0000ac8a ldr r0, [r3, 0x20]                                    |     r0 = *((r3 + 0x20));
    0x0000ac8c mov.w r2, -1                                          |     r2 = -1;
    0x0000ac90 ldr r3, [sp, 0x14]                                    |     r3 = var_14h;
    0x0000ac92 str r3, [sp, 4]                                       |     var_4h = r3;
    0x0000ac94 ldr r3, [pc, 0x108]                                   |     
    0x0000ac96 add r3, pc                                            |     r3 = 0x15a3a;
    0x0000ac98 blx 0x38ac                                            |     ext2fs_open ();
    0x0000ac9c b 0xaa48                                              |     goto label_31;
                                                                     | label_50:
    0x0000ac9e blx 0x36bc                                            |     fcn_000036bc ();
                                                                     | label_47:
    0x0000aca2 mov r0, r6                                            |     r0 = r6;
    0x0000aca4 blx 0x332c                                            |     fcn_0000332c ();
    0x0000aca6 invalid                                               |     
                                                                     |     do {
    0x0000aca8 movs r1, 0xc                                          |         r1 = 0xc;
    0x0000acaa b.w 0xa4a0                                            |         goto label_9;
                                                                     | label_44:
    0x0000acae mov r0, sl                                            |         r0 = sl;
    0x0000acb0 blx 0x332c                                            |         fcn_0000332c ();
    0x0000acb4 b 0xaca8                                              |         
                                                                     |     } while (1);
                                                                     | }
    ; assembly                                               | /* r2dec pseudo code output */
                                                             | /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/sbin/mkfs.ext3 @ 0xd08c */
                                                             | #include <stdint.h>
                                                             |  
    ; (fcn) fcn.0000d08c ()                                  | void fcn_0000d08c (int16_t arg_140h, int16_t arg_148h, int16_t arg_160h, int16_t arg_1a0h, int16_t arg_1d0h, int16_t arg_1f0h, int16_t arg_218h, int16_t arg1, int16_t arg2, int16_t arg3) {
                                                             |     int16_t var_0h;
                                                             |     int16_t var_4h;
                                                             |     int16_t var_8h;
                                                             |     int16_t var_14h;
                                                             |     int16_t var_18h;
                                                             |     int16_t var_1ch;
                                                             |     int16_t var_20h;
                                                             |     int16_t var_28h;
                                                             |     int16_t var_30h;
                                                             |     int16_t var_8ch;
                                                             |     r0 = arg1;
                                                             |     r1 = arg2;
                                                             |     r2 = arg3;
    0x0000d08c push.w {r4, r5, r6, r7, r8, sb, lr}           |     
    0x0000d090 mov r6, r2                                    |     r6 = r2;
    0x0000d092 ldr r2, [pc, 0x2b8]                           |     
    0x0000d094 sub sp, 0x94                                  |     
    0x0000d096 mov r5, r1                                    |     r5 = r1;
    0x0000d098 movs r1, 0                                    |     r1 = 0;
    0x0000d09a ldr r3, [pc, 0x2b4]                           |     r3 = *(0xd352);
    0x0000d09c mov r7, r0                                    |     r7 = r0;
    0x0000d09e add r2, pc                                    |     r2 = 0x1a3f0;
    0x0000d0a0 ldr.w r8, [pc, 0x2b0]                         |     
    0x0000d0a4 ldr r3, [r2, r3]                              |     
    0x0000d0a6 mov.w r2, 0x1b6                               |     r2 = 0x1b6;
    0x0000d0aa add r8, pc                                    |     r8 = 0x1a402;
    0x0000d0ac ldr r3, [r3]                                  |     r3 = *(0x1a3f0);
    0x0000d0ae str r3, [sp, 0x8c]                            |     var_8ch = r3;
    0x0000d0b0 mov.w r3, 0                                   |     r3 = 0;
    0x0000d0b4 str r1, [sp, 0x14]                            |     var_14h = r1;
    0x0000d0b6 blx 0x2f4c                                    |     r0 = ext2fs_open_file ();
    0x0000d0ba subs r4, r0, 0                                |     r4 = r0 - 0;
                                                             |     if (r4 < r0) {
    0x0000d0bc blt 0xd11c                                    |         goto label_9;
                                                             |     }
                                                             | label_4:
    0x0000d0be add r1, sp, 0x20                              |     r1 += var_20h;
    0x0000d0c0 mov r0, r4                                    |     r0 = r4;
    0x0000d0c2 blx 0x3804                                    |     r0 = ext2fs_file_get_lsize ();
    0x0000d0c6 cmp r0, 0                                     |     
                                                             |     if (r0 < 0) {
    0x0000d0c8 blt.w 0xd322                                  |         goto label_10;
                                                             |     }
    0x0000d0cc mov r0, r4                                    |     r0 = r4;
    0x0000d0ce blx 0x359c                                    |     fcn_0000359c ();
    0x0000d0d2 ldr r3, [sp, 0x30]                            |     r3 = var_30h;
    0x0000d0d4 and r3, r3, 0xf000                            |     r3 &= 0xf000;
    0x0000d0d8 cmp.w r3, 0x6000                              |     
                                                             |     if (r3 == 0x6000) {
    0x0000d0dc beq 0xd156                                    |         goto label_11;
                                                             |     }
    0x0000d0de and r3, r5, 1                                 |     r3 = r5 & 1;
                                                             |     if (r6 != 0) {
    0x0000d0e2 cbz r6, 0xd0e8                                |         
    0x0000d0e4 movs r2, 0                                    |         r2 = 0;
    0x0000d0e6 str r2, [r6]                                  |         *(r6) = r2;
                                                             |     }
                                                             |     if (r3 != 0) {
    0x0000d0e8 cbnz r3, 0xd10c                               |         goto label_12;
                                                             |     }
                                                             | label_0:
    0x0000d0ea lsls r3, r5, 0x1d                             |     r3 = r5 << 0x1d;
                                                             |     if (r3 < r5) {
    0x0000d0ec bmi 0xd162                                    |         goto label_13;
                                                             |     }
                                                             | label_1:
    0x0000d0ee movs r0, 1                                    |     r0 = 1;
                                                             |     do {
    0x0000d0f0 ldr r2, [pc, 0x264]                           |         
    0x0000d0f2 ldr r3, [pc, 0x25c]                           |         r3 = *(0xd352);
    0x0000d0f4 add r2, pc                                    |         r2 = 0x1a450;
    0x0000d0f6 ldr r3, [r2, r3]                              |         r3 = *(0x1a450);
    0x0000d0f8 ldr r2, [r3]                                  |         r2 = *(0x1a450);
    0x0000d0fa ldr r3, [sp, 0x8c]                            |         r3 = var_8ch;
    0x0000d0fc eors r2, r3                                   |         r2 ^= r3;
    0x0000d0fe mov.w r3, 0                                   |         r3 = 0;
                                                             |         if (r2 != r3) {
    0x0000d102 bne.w 0xd32c                                  |             goto label_14;
                                                             |         }
    0x0000d106 add sp, 0x94                                  |         
    0x0000d108 pop.w {r4, r5, r6, r7, r8, sb, pc}            |         
                                                             | label_12:
    0x0000d10c ldr r1, [pc, 0x24c]                           |         
    0x0000d10e mov r2, r7                                    |         r2 = r7;
    0x0000d110 movs r0, 1                                    |         r0 = 1;
    0x0000d112 add r1, pc                                    |         r1 = 0x1a472;
    0x0000d114 blx 0x3150                                    |         printf_chk ()
    0x0000d116 invalid                                       |         
                                                             | label_2:
    0x0000d118 movs r0, 0                                    |         r0 = 0;
    0x0000d11a b 0xd0f0                                      |         
                                                             |     } while (1);
                                                             | label_9:
    0x0000d11c blx 0x3964                                    |     r0 = fcn_00003964 ();
    0x0000d120 mov sb, r0                                    |     sb = r0;
    0x0000d122 ldr r0, [r0]                                  |     r0 = *(r0);
    0x0000d124 cmp r0, 2                                     |     
                                                             |     if (r0 == 2) {
    0x0000d126 beq.w 0xd25e                                  |         goto label_15;
                                                             |     }
                                                             | label_3:
    0x0000d12a ldr r3, [pc, 0x234]                           |     r3 = *(0xd362);
    0x0000d12c ldr.w r4, [r8, r3]                            |     r4 = *((r8 + r3));
    0x0000d130 ldr r5, [r4]                                  |     r5 = *(r4);
    0x0000d132 blx 0x32b0                                    |     fcn_000032b0 ();
    0x0000d136 ldr r2, [pc, 0x22c]                           |     
    0x0000d138 mov r3, r7                                    |     r3 = r7;
    0x0000d13a str r0, [sp]                                  |     *(sp) = r0;
    0x0000d13c movs r1, 1                                    |     r1 = 1;
    0x0000d13e mov r0, r5                                    |     r0 = r5;
    0x0000d140 add r2, pc                                    |     r2 = 0x1a4aa;
    0x0000d142 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x0000d146 ldr.w r3, [sb]                                |     r3 = *(sb);
    0x0000d14a cmp r3, 2                                     |     
                                                             |     if (r3 == 2) {
    0x0000d14c beq.w 0xd2ba                                  |         goto label_16;
                                                             |     }
                                                             | label_6:
    0x0000d150 movs r0, 1                                    |     r0 = 1;
    0x0000d152 blx 0x3934                                    |     fcn_00003934 ();
                                                             | label_11:
    0x0000d156 cmp r6, 0                                     |     
                                                             |     if (r6 == 0) {
    0x0000d158 beq 0xd0ea                                    |         goto label_0;
                                                             |     }
    0x0000d15a movs r3, 1                                    |     r3 = 1;
    0x0000d15c str r3, [r6]                                  |     *(r6) = r3;
    0x0000d15e lsls r3, r5, 0x1d                             |     r3 = r5 << 0x1d;
                                                             |     if (r3 >= r5) {
    0x0000d160 bpl 0xd0ee                                    |         goto label_1;
                                                             |     }
                                                             | label_13:
    0x0000d162 movs r1, 0                                    |     r1 = 0;
    0x0000d164 add r0, sp, 0x14                              |     r0 += var_14h;
    0x0000d166 blx 0x35a8                                    |     r0 = fcn_000035a8 ();
    0x0000d16a cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x0000d16c bge 0xd1b4                                    |         goto label_17;
                                                             |     }
                                                             | label_5:
    0x0000d16e mov r0, r7                                    |     r0 = r7;
    0x0000d170 blx 0x3994                                    |     r0 = fcn_00003994 ();
    0x0000d174 mov r4, r0                                    |     r4 = r0;
    0x0000d176 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000d178 beq 0xd0ee                                    |         goto label_1;
                                                             |     }
    0x0000d17a movs r1, 1                                    |     r1 = 1;
    0x0000d17c blx 0x394c                                    |     r0 = fcn_0000394c ();
    0x0000d180 cmp r0, 0                                     |     
                                                             |     if (r0 >= 0) {
    0x0000d182 blt 0xd1ac                                    |         
    0x0000d184 movs r1, 0                                    |         r1 = 0;
    0x0000d186 mov r0, r4                                    |         r0 = r4;
    0x0000d188 blx 0x3888                                    |         r0 = ext2fs_close_inode_scan ();
    0x0000d18c cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x0000d18e blt 0xd1ac                                    |             goto label_18;
                                                             |         }
    0x0000d190 mov r0, r4                                    |         r0 = r4;
    0x0000d192 blx 0x3560                                    |         r0 = fcn_00003560 ();
    0x0000d196 cmp r0, 0                                     |         
                                                             |         if (r0 < 0) {
    0x0000d198 blt 0xd1ac                                    |             goto label_18;
                                                             |         }
    0x0000d19a ldr r1, [pc, 0x1cc]                           |         
    0x0000d19c movs r3, 0                                    |         r3 = 0;
    0x0000d19e add r2, sp, 0x1c                              |         r2 += var_1ch;
    0x0000d1a0 mov r0, r4                                    |         r0 = r4;
    0x0000d1a2 add r1, pc                                    |         r1 = 0x1a510;
    0x0000d1a4 blx 0x34ac                                    |         r0 = fcn_000034ac ();
    0x0000d1a8 cmp r0, 0                                     |         
                                                             |         if (r0 == 0) {
    0x0000d1aa beq 0xd29c                                    |             goto label_19;
                                                             |         }
                                                             |     }
                                                             | label_18:
    0x0000d1ac mov r0, r4                                    |     r0 = r4;
    0x0000d1ae blx 0x2f40                                    |     blkid_free_probe ();
    0x0000d1b2 b 0xd0ee                                      |     goto label_1;
                                                             | label_17:
    0x0000d1b4 ldr r1, [pc, 0x1b4]                           |     
    0x0000d1b6 mov r2, r7                                    |     r2 = r7;
    0x0000d1b8 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0000d1ba add r1, pc                                    |     r1 = 0x1a52a;
    0x0000d1bc blx 0x3428                                    |     r0 = fcn_00003428 ();
    0x0000d1c0 mov r4, r0                                    |     r4 = r0;
    0x0000d1c2 cmp r0, 0                                     |     
                                                             |     if (r0 == 0) {
    0x0000d1c4 beq 0xd294                                    |         goto label_20;
                                                             |     }
    0x0000d1c6 ldr r1, [pc, 0x1a8]                           |     
    0x0000d1c8 mov r2, r7                                    |     r2 = r7;
    0x0000d1ca ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0000d1cc add r1, pc                                    |     r1 = 0x1a542;
    0x0000d1ce blx 0x3428                                    |     r0 = fcn_00003428 ();
    0x0000d1d2 mov r5, r0                                    |     r5 = r0;
    0x0000d1d4 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0000d1d6 blx 0x3350                                    |     fcn_00003350 ();
    0x0000d1da mov r3, r4                                    |     r3 = r4;
    0x0000d1dc cmp r5, 0                                     |     
                                                             |     if (r5 == 0) {
    0x0000d1de beq 0xd2ca                                    |         goto label_21;
                                                             |     }
    0x0000d1e0 ldr r1, [pc, 0x190]                           |     
    0x0000d1e2 mov r2, r7                                    |     r2 = r7;
    0x0000d1e4 movs r0, 1                                    |     r0 = 1;
    0x0000d1e6 str r5, [sp]                                  |     *(sp) = r5;
    0x0000d1e8 add r1, pc                                    |     r1 = 0x1a560;
    0x0000d1ea blx 0x3150                                    |     printf_chk ()
                                                             | label_7:
    0x0000d1ee ldrb r3, [r4]                                 |     r3 = *(r4);
    0x0000d1f0 cmp r3, 0x65                                  |     
                                                             |     if (r3 == 0x65) {
    0x0000d1f2 bne 0xd250                                    |         
    0x0000d1f4 ldrb r3, [r4, 1]                              |         r3 = *((r4 + 1));
    0x0000d1f6 cmp r3, 0x78                                  |         
                                                             |         if (r3 != 0x78) {
    0x0000d1f8 bne 0xd250                                    |             goto label_22;
                                                             |         }
    0x0000d1fa ldrb r3, [r4, 2]                              |         r3 = *((r4 + 2));
    0x0000d1fc subs r3, 0x74                                 |         r3 -= 0x74;
                                                             |         if (r3 != 0x74) {
    0x0000d1fe bne 0xd250                                    |             goto label_22;
                                                             |         }
    0x0000d200 ldr r2, [pc, 0x174]                           |         
    0x0000d202 add r6, sp, 0x18                              |         r6 += var_18h;
    0x0000d204 str r6, [sp, 8]                               |         var_8h = r6;
    0x0000d206 mov r0, r7                                    |         r0 = r7;
    0x0000d208 mov r1, r3                                    |         r1 = r3;
    0x0000d20a ldr.w r2, [r8, r2]                            |         r2 = *((r8 + r2));
    0x0000d20e str r3, [sp]                                  |         *(sp) = r3;
    0x0000d210 ldr r2, [r2]                                  |         r2 = *(0xd378);
    0x0000d212 str r2, [sp, 4]                               |         var_4h = r2;
    0x0000d214 mov.w r2, 0x20000                             |         r2 = 0x20000;
    0x0000d216 adds r2, 0                                    |         r2 += 0;
    0x0000d218 blx 0x30fc                                    |         r0 = ext2fs_open2 ();
                                                             |         if (r0 != 0) {
    0x0000d21c cbnz r0, 0xd250                               |             goto label_22;
                                                             |         }
    0x0000d21e ldr r3, [sp, 0x18]                            |         r3 = var_18h;
    0x0000d220 ldr r7, [r3, 0x10]                            |         r7 = *((r3 + 0x10));
    0x0000d222 ldr r3, [r7, 0x2c]                            |         r3 = *((r7 + 0x2c));
    0x0000d224 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000d226 beq 0xd2d8                                    |             goto label_23;
                                                             |         }
    0x0000d228 str r3, [sp, 0x1c]                            |         var_1ch = r3;
    0x0000d22a add r0, sp, 0x1c                              |         r0 += var_1ch;
    0x0000d22c ldrb.w r3, [r7, 0x88]                         |         r3 = *((r7 + 0x88));
    0x0000d230 cmp r3, 0                                     |         
                                                             |         if (r3 == 0) {
    0x0000d232 beq 0xd2fa                                    |             goto label_24;
                                                             |         }
    0x0000d234 blx 0x350c                                    |         fcn_0000350c ();
    0x0000d238 ldr r1, [pc, 0x140]                           |         
    0x0000d23a add.w r3, r7, 0x88                            |         r3 = r7 + 0x88;
    0x0000d23e str r0, [sp]                                  |         *(sp) = r0;
    0x0000d240 movs r2, 0x40                                 |         r2 = 0x40;
    0x0000d242 movs r0, 1                                    |         r0 = 1;
    0x0000d244 add r1, pc                                    |         r1 = 0x1a5c4;
    0x0000d246 blx 0x3150                                    |         printf_chk ()
                                                             | label_8:
    0x0000d24a mov r0, r6                                    |         r0 = r6;
    0x0000d24c blx 0x34f4                                    |         fcn_000034f4 ();
                                                             |     }
                                                             | label_22:
    0x0000d250 mov r0, r4                                    |     r0 = r4;
    0x0000d252 blx 0x332c                                    |     fcn_0000332c ();
    0x0000d256 mov r0, r5                                    |     r0 = r5;
    0x0000d258 blx 0x332c                                    |     fcn_0000332c ();
    0x0000d25c b 0xd118                                      |     goto label_2;
                                                             | label_15:
    0x0000d25e lsls r4, r5, 0x1b                             |     r4 = r5 << 0x1b;
                                                             |     if (r4 < r5) {
    0x0000d260 bmi 0xd330                                    |         goto label_25;
                                                             |     }
    0x0000d262 lsls r1, r5, 0x1e                             |     r1 = r5 << 0x1e;
                                                             |     if (r1 >= r5) {
    0x0000d264 bpl.w 0xd12a                                  |         goto label_3;
                                                             |     }
    0x0000d268 mov.w r2, 0x1b6                               |     r2 = 0x1b6;
    0x0000d26c movs r1, 0x40                                 |     r1 = 0x40;
    0x0000d26e mov r0, r7                                    |     r0 = r7;
    0x0000d270 blx 0x2f4c                                    |     r0 = ext2fs_open_file ();
    0x0000d274 subs r4, r0, 0                                |     r4 = r0 - 0;
    0x0000d276 it lt                                         |     
                                                             |     if (r4 < r0) {
    0x0000d278 ldrlt r0, [sb]                                |         r0 = *(sb);
                                                             |         goto label_26;
                                                             |     }
                                                             |     if (r4 < r0) {
                                                             | label_26:
    0x0000d27c blt.w 0xd12a                                  |         goto label_3;
                                                             |     }
    0x0000d280 lsls r2, r5, 0x1c                             |     r2 = r5 << 0x1c;
                                                             |     if (r2 >= r5) {
    0x0000d282 bpl.w 0xd0be                                  |         goto label_4;
                                                             |     }
    0x0000d286 ldr r1, [pc, 0xf8]                            |     
    0x0000d288 mov r2, r7                                    |     r2 = r7;
    0x0000d28a movs r0, 1                                    |     r0 = 1;
    0x0000d28c add r1, pc                                    |     r1 = 0x1a612;
    0x0000d28e blx 0x3150                                    |     printf_chk ()
    0x0000d292 b 0xd0be                                      |     goto label_4;
                                                             | label_20:
    0x0000d294 ldr r0, [sp, 0x14]                            |     r0 = var_14h;
    0x0000d296 blx 0x3350                                    |     fcn_00003350 ();
    0x0000d29a b 0xd16e                                      |     goto label_5;
                                                             | label_19:
    0x0000d29c ldr r2, [pc, 0xc0]                            |     r2 = *(0xd360);
    0x0000d29e movs r1, 1                                    |     r1 = 1;
    0x0000d2a0 ldr r3, [sp, 0x1c]                            |     r3 = var_1ch;
    0x0000d2a2 ldr.w r0, [r8, r2]                            |     r0 = *((r8 + r2));
    0x0000d2a6 ldr r2, [pc, 0xdc]                            |     
    0x0000d2a8 str r7, [sp]                                  |     *(sp) = r7;
    0x0000d2aa ldr r0, [r0]                                  |     r0 = *(r0);
    0x0000d2ac add r2, pc                                    |     r2 = 0x1a636;
    0x0000d2ae blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x0000d2b2 mov r0, r4                                    |     r0 = r4;
    0x0000d2b4 blx 0x2f40                                    |     blkid_free_probe ();
    0x0000d2b8 b 0xd118                                      |     goto label_2;
                                                             | label_16:
    0x0000d2ba ldr r0, [pc, 0xcc]                            |     
    0x0000d2bc movs r2, 0x45                                 |     r2 = 0x45;
    0x0000d2be ldr r3, [r4]                                  |     r3 = *(r4);
    0x0000d2c0 movs r1, 1                                    |     r1 = 1;
    0x0000d2c2 add r0, pc                                    |     r0 = 0x1a650;
    0x0000d2c4 blx 0x35c4                                    |     ext2fs_namei ();
    0x0000d2c8 b 0xd150                                      |     goto label_6;
                                                             | label_21:
    0x0000d2ca ldr r1, [pc, 0xc0]                            |     
    0x0000d2cc mov r2, r7                                    |     r2 = r7;
    0x0000d2ce movs r0, 1                                    |     r0 = 1;
    0x0000d2d0 add r1, pc                                    |     r1 = 0x1a662;
    0x0000d2d2 blx 0x3150                                    |     printf_chk ()
    0x0000d2d6 b 0xd1ee                                      |     goto label_7;
                                                             | label_23:
    0x0000d2d8 ldr.w r3, [r7, 0x108]                         |     r3 = *((r7 + 0x108));
                                                             |     if (r3 != 0) {
    0x0000d2dc cbnz r3, 0xd30c                               |         goto label_27;
                                                             |     }
    0x0000d2de ldr r3, [r7, 0x30]                            |     r3 = *((r7 + 0x30));
    0x0000d2e0 cmp r3, 0                                     |     
                                                             |     if (r3 == 0) {
    0x0000d2e2 beq 0xd24a                                    |         goto label_8;
                                                             |     }
    0x0000d2e4 add r0, sp, 0x1c                              |     r0 += var_1ch;
    0x0000d2e6 str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000d2e8 blx 0x350c                                    |     fcn_0000350c ();
    0x0000d2ec ldr r1, [pc, 0xa0]                            |     
    0x0000d2ee mov r2, r0                                    |     r2 = r0;
    0x0000d2f0 movs r0, 1                                    |     r0 = 1;
    0x0000d2f2 add r1, pc                                    |     r1 = 0x1a686;
    0x0000d2f4 blx 0x3150                                    |     printf_chk ()
    0x0000d2f8 b 0xd24a                                      |     goto label_8;
                                                             | label_24:
    0x0000d2fa blx 0x350c                                    |     fcn_0000350c ();
    0x0000d2fe ldr r1, [pc, 0x94]                            |     
    0x0000d300 mov r2, r0                                    |     r2 = r0;
    0x0000d302 movs r0, 1                                    |     r0 = 1;
    0x0000d304 add r1, pc                                    |     r1 = 0x1a69e;
    0x0000d306 blx 0x3150                                    |     printf_chk ()
    0x0000d30a b 0xd24a                                      |     goto label_8;
                                                             | label_27:
    0x0000d30c add r0, sp, 0x1c                              |     r0 += var_1ch;
    0x0000d30e str r3, [sp, 0x1c]                            |     var_1ch = r3;
    0x0000d310 blx 0x350c                                    |     fcn_0000350c ();
    0x0000d314 ldr r1, [pc, 0x80]                            |     
    0x0000d316 mov r2, r0                                    |     r2 = r0;
    0x0000d318 movs r0, 1                                    |     r0 = 1;
    0x0000d31a add r1, pc                                    |     r1 = 0x1a6b6;
    0x0000d31c blx 0x3150                                    |     printf_chk ()
    0x0000d320 b 0xd24a                                      |     goto label_8;
                                                             | label_10:
    0x0000d322 ldr r0, [pc, 0x78]                            |     
    0x0000d324 add r0, pc                                    |     r0 = 0x1a6c6;
    0x0000d326 blx 0x328c                                    |     fcn_0000328c ();
    0x0000d32a b 0xd150                                      |     goto label_6;
                                                             | label_14:
    0x0000d32c blx 0x36bc                                    |     fcn_000036bc ();
                                                             | label_25:
    0x0000d330 ldr r0, [pc, 0x2c]                            |     
    0x0000d332 mov r3, r7                                    |     r3 = r7;
    0x0000d334 ldr r2, [pc, 0x68]                            |     
    0x0000d336 movs r1, 1                                    |     r1 = 1;
    0x0000d338 ldr.w r0, [r8, r0]                            |     r0 = *((r8 + r0));
    0x0000d33c add r2, pc                                    |     r2 = 0x1a6e0;
    0x0000d33e ldr r0, [r0]                                  |     r0 = *(0xd360);
    0x0000d340 blx 0x36f0                                    |     ext2fs_bg_itable_unused_set ();
    0x0000d344 movs r0, 1                                    |     r0 = 1;
    0x0000d346 blx 0x3934                                    |     fcn_00003934 ();
    0x0000d34a nop                                           |     
                                                             |     if (r2 != 0) {
    0x0000d34c cbnz r2, 0xd3a4                               |         void (*0xd3a4)() ();
                                                             |     }
    0x0000d34e movs r0, r0                                   |     
    0x0000d350 lsls r0, r7, 0xe                              |     r0 = r7 << 0xe;
    0x0000d352 movs r0, r0                                   |     
                                                             |     if (r6 != 0) {
    0x0000d354 cbnz r6, 0xd3a8                               |         void (*0xd3a8)() ();
                                                             |     }
    0x0000d356 movs r0, r0                                   |     
    0x0000d358 revsh r4, r7                                  |     __asm ("revsh r4, r7");
    0x0000d35a movs r0, r0                                   |     
    0x0000d35c str r1, [sp, 0x28]                            |     var_28h = r1;
    0x0000d35e movs r0, r0                                   |     
    0x0000d360 lsls r4, r6, 0xf                              |     r4 = r6 << 0xf;
    0x0000d362 movs r0, r0                                   |     
    0x0000d364 str r0, [sp, 0x1d0]                           |     *(arg_1d0h) = r0;
    0x0000d366 movs r0, r0                                   |     
    0x0000d368 str r1, [sp, 0x148]                           |     *(arg_148h) = r1;
    0x0000d36a movs r0, r0                                   |     
    0x0000d36c str r0, [sp, 0x218]                           |     *(arg_218h) = r0;
    0x0000d36e movs r0, r0                                   |     
    0x0000d370 str r0, [sp, 0x1f0]                           |     *(arg_1f0h) = r0;
    0x0000d372 movs r0, r0                                   |     
    0x0000d374 str r0, [sp, 0x1a0]                           |     *(arg_1a0h) = r0;
    0x0000d376 movs r0, r0                                   |     
    0x0000d378 lsls r0, r0, 0xf                              |     r0 <<= 0xf;
    0x0000d37a movs r0, r0                                   |     
    0x0000d37c str r0, [sp, 0x160]                           |     *(arg_160h) = r0;
    0x0000d37e movs r0, r0                                   |     
    0x0000d380 str r0, [r1]                                  |     *(r1) = r0;
    0x0000d382 movs r0, r0                                   |     
    0x0000d384 str r0, [sp, 0x140]                           |     *(arg_140h) = r0;
    0x0000d386 movs r0, r0                                   |     
    0x0000d388 ldrh r2, [r1, 0x38]                           |     r2 = *((r1 + 0x38));
    0x0000d38a movs r0, r0                                   |     
    0x0000d38c ldrh r4, [r5, 0x3c]                           |     r4 = *((r5 + 0x3c));
    0x0000d38e movs r0, r0                                   |     
    0x0000d390 ldrh r2, [r5, 0x3e]                           |     r2 = *((r5 + 0x3e));
    0x0000d392 movs r0, r0                                   |     
    0x0000d394 ldrh r4, [r6, 0x3c]                           |     r4 = *((r6 + 0x3c));
    0x0000d396 movs r0, r0                                   |     
    0x0000d398 ldrh r2, [r6, 0x3c]                           |     r2 = *((r6 + 0x3c));
    0x0000d39a movs r0, r0                                   |     
    0x0000d39c ldrh r0, [r6, 0x36]                           |     r0 = *((r6 + 0x36));
    0x0000d39e movs r0, r0                                   |     
    0x0000d3a0 ldrsh r0, [r4, r4]                            |     r0 = *((r4 + r4));
    0x0000d3a2 movs r0, r0                                   |     
                                                             | }

[*] Function printf used 18 times mkfs.ext3