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