[*] Binary protection state of libcrypt.so.2.0.0
Full RELRO Canary found NX enabled DSO No RPATH No RUNPATH No Symbols
[*] Function sprintf tear down of libcrypt.so.2.0.0
; assembly | /* r2dec pseudo code output */
| /* /logs/firmware/patool_extraction/rootfs.img_unblob_extracted/rootfs.img_extract/0-80367616.squashfs_v4_le_extract/usr/lib/libcrypt.so.2.0.0 @ 0xe734 */
| #include <stdint.h>
|
; (fcn) fcn.0000e734 () | void fcn_0000e734 (int16_t arg_0h, int16_t arg_44h, int16_t arg_48h, int16_t arg_4ch, int16_t arg1, uint32_t arg2, int16_t arg3, int16_t arg4) {
| int16_t var_0h_2;
| int16_t var_8h_2;
| int16_t var_0h;
| int16_t var_4h;
| int16_t var_8h;
| int16_t var_ch;
| int16_t var_10h;
| int16_t var_14h;
| int16_t var_18h;
| int16_t var_1ch;
| int16_t var_20h;
| int16_t var_24h;
| int16_t var_28h;
| int16_t var_2ch;
| int16_t var_30h;
| int16_t var_34h;
| int16_t var_38h;
| int16_t var_3ch;
| r0 = arg1;
| r1 = arg2;
| r2 = arg3;
| r3 = arg4;
0x0000e734 svcmi 0xf0e92d | __asm ("svcmi 0xf0e92d");
0x0000e738 mov r6, r1 | r6 = r1;
0x0000e73a ldrb r1, [r1] | r1 = *(r1);
0x0000e73c sub sp, 0x54 |
0x0000e73e str r2, [sp] | *(sp) = r2;
0x0000e740 cmp r1, 0x24 |
| if (r1 != 0x24) {
0x0000e742 bne 0xe74c | goto label_0;
| }
0x0000e744 mov r4, r3 | r4 = r3;
0x0000e746 ldrb r3, [r6, 1] | r3 = *((r6 + 1));
0x0000e748 cmp r3, 0x32 |
0x0000e74a beq 0xe75c |
| while (r2 > 0x19) {
| label_0:
0x0000e74c blx 0xc30 | fcn_00000c30 ();
0x0000e750 movs r3, 0x16 | r3 = 0x16;
0x0000e752 str r3, [r0] | *(r0) = r3;
0x0000e754 movs r0, 0 | r0 = 0;
| label_5:
0x0000e756 add sp, 0x54 |
0x0000e758 pop.w {r4, r5, r6, r7, r8, sb, sl, fp, pc} |
0x0000e75c ldrb r3, [r6, 2] | r3 = *((r6 + 2));
0x0000e75e sub.w r2, r3, 0x61 | r2 = r3 - 0x61;
0x0000e762 cmp r2, 0x19 |
0x0000e764 bhi 0xe74c |
| }
0x0000e766 ldr.w r2, [pc, 0xd34] |
0x0000e76a add r2, pc | r2 = 0x1dc0c;
0x0000e76c add r3, r2 | r3 += r2;
0x0000e76e ldrb r3, [r3, -0x19] | r3 = *((r3 - 0x19));
0x0000e772 cmp r3, 0 |
| if (r3 == 0) {
0x0000e774 beq 0xe74c | goto label_0;
| }
0x0000e776 ldrb r3, [r6, 3] | r3 = *((r6 + 3));
0x0000e778 cmp r3, 0x24 |
| if (r3 != 0x24) {
0x0000e77a bne 0xe74c | goto label_0;
| }
0x0000e77c ldrb r2, [r6, 4] | r2 = *((r6 + 4));
0x0000e77e sub.w r3, r2, 0x30 | r3 = r2 - 0x30;
0x0000e782 uxtb r1, r3 | r1 = (int8_t) r3;
0x0000e784 cmp r1, 3 |
| if (r1 > 3) {
0x0000e786 bhi 0xe74c | goto label_0;
| }
0x0000e788 ldrb r1, [r6, 5] | r1 = *((r6 + 5));
0x0000e78a mov r5, r0 | r5 = r0;
0x0000e78c sub.w r0, r1, 0x30 | r0 = r1 - 0x30;
0x0000e790 uxtb r7, r0 | r7 = (int8_t) r0;
0x0000e792 cmp r7, 9 |
| if (r7 > 9) {
0x0000e794 bhi 0xe74c | goto label_0;
| }
0x0000e796 cmp r1, 0x31 |
0x0000e798 ite ls |
| if (r1 > 0x31) {
0x0000e79a movls r1, 0 | r1 = 0;
| }
| if (r1 <= 0x31) {
0x0000e79c movhi r1, 1 | r1 = 1;
| }
0x0000e79e cmp r2, 0x33 |
0x0000e7a0 it ne |
| if (r2 == 0x33) {
0x0000e7a2 movne r1, 0 | r1 = 0;
| }
0x0000e7a4 cmp r1, 0 |
| if (r1 != 0) {
0x0000e7a6 bne 0xe74c | goto label_0;
| }
0x0000e7a8 ldrb r2, [r6, 6] | r2 = *((r6 + 6));
0x0000e7aa cmp r2, 0x24 |
| if (r2 != 0x24) {
0x0000e7ac bne 0xe74c | goto label_0;
| }
0x0000e7ae add.w r3, r3, r3, lsl 2 | r3 += (r3 << 2);
0x0000e7b2 ldr r2, [sp, 0x78] | r2 = var_0h;
0x0000e7b4 add.w r0, r0, r3, lsl 1 | r0 += (r3 << 1);
0x0000e7b8 movs r3, 1 | r3 = 1;
0x0000e7ba lsls r3, r0 | r3 <<= r0;
0x0000e7bc cmp r3, r2 |
0x0000e7be str r3, [sp, 8] | var_8h_2 = r3;
| if (r3 <= r2) {
0x0000e7c0 blo 0xe74c | goto label_0;
| }
0x0000e7c2 ldr.w r0, [pc, 0xcdc] |
0x0000e7c6 add.w r1, r4, 0x1080 | r1 = r4 + 0x1080;
0x0000e7ca adds r1, 0x13 | r1 += 0x13;
0x0000e7cc add.w r3, r6, 0xb | r3 = r6 + 0xb;
0x0000e7d0 add.w ip, r6, 0x23 |
0x0000e7d4 add.w r7, r6, 0x1f | r7 = r6 + 0x1f;
0x0000e7d8 add r0, pc | r0 = 0x1dc7e;
0x0000e7da b 0xe856 | goto label_6;
| label_1:
0x0000e7dc ldrb.w r8, [lr, 0x68] | r8 = *((lr + 0x68));
0x0000e7e0 cmp.w r8, 0x3f |
| if (r8 > 0x3f) {
0x0000e7e4 bhi 0xe74c | goto label_0;
| }
0x0000e7e6 ldrb r2, [r3, -0x3] | r2 = *((r3 - 0x3));
0x0000e7ea subs r2, 0x20 | r2 -= 0x20;
0x0000e7ec cmp r2, 0x5f |
0x0000e7ee add.w lr, r0, r2 | lr = r0 + r2;
| if (r2 > 0x5f) {
0x0000e7f2 bhi 0xe74c | goto label_0;
| }
0x0000e7f4 ldrb.w lr, [lr, 0x68] |
0x0000e7f8 cmp.w lr, 0x3f |
| if (lr > 0x3f) {
0x0000e7fc bhi 0xe74c | goto label_0;
| }
0x0000e7fe lsr.w r2, lr, 4 | r2 = lr >> 4;
0x0000e802 cmp r7, r3 |
0x0000e804 orr.w r2, r2, r8, lsl 2 | r2 |= (r8 << 2);
0x0000e808 strb r2, [r1, -0x3] | *((r1 - 0x3)) = r2;
| if (r7 == r3) {
0x0000e80c beq 0xe866 | goto label_7;
| }
0x0000e80e ldrb r2, [r3, -0x2] | r2 = *((r3 - 0x2));
0x0000e812 subs r2, 0x20 | r2 -= 0x20;
0x0000e814 cmp r2, 0x5f |
0x0000e816 add r2, r0 | r2 += r0;
| if (r2 > 0x5f) {
0x0000e818 bhi 0xe74c | goto label_0;
| }
0x0000e81a ldrb.w r8, [r2, 0x68] | r8 = *((r2 + 0x68));
0x0000e81e cmp.w r8, 0x3f |
| if (r8 > 0x3f) {
0x0000e822 bhi 0xe74c | goto label_0;
| }
0x0000e824 lsr.w r2, r8, 2 | r2 = r8 >> 2;
0x0000e828 adds r3, 4 | r3 += 4;
0x0000e82a orr.w r2, r2, lr, lsl 4 | r2 |= (lr << 4);
0x0000e82e strb r2, [r1, -0x2] | *((r1 - 0x2)) = r2;
0x0000e832 ldrb r2, [r3, -0x5] | r2 = *((r3 - 0x5));
0x0000e836 subs r2, 0x20 | r2 -= 0x20;
0x0000e838 cmp r2, 0x5f |
0x0000e83a add r2, r0 | r2 += r0;
| if (r2 > 0x5f) {
0x0000e83c bhi 0xe74c | goto label_0;
| }
0x0000e83e ldrb.w r2, [r2, 0x68] | r2 = *((r2 + 0x68));
0x0000e842 cmp r2, 0x3f |
0x0000e844 orr.w r2, r2, r8, lsl 6 | r2 |= (r8 << 6);
| if (r2 > 0x3f) {
0x0000e848 bhi 0xe74c | goto label_0;
| }
0x0000e84a cmp r3, ip |
0x0000e84c strb r2, [r1, -0x1] | *((r1 - 0x1)) = r2;
0x0000e850 add.w r1, r1, 3 | r1 += 3;
| if (r3 == ip) {
0x0000e854 beq 0xe866 | goto label_7;
| }
| label_6:
0x0000e856 ldrb r2, [r3, -0x4] | r2 = *((r3 - 0x4));
0x0000e85a subs r2, 0x20 | r2 -= 0x20;
0x0000e85c cmp r2, 0x5f |
0x0000e85e add.w lr, r0, r2 | lr = r0 + r2;
| if (r2 < 0x5f) {
0x0000e862 bls 0xe7dc | goto label_1;
| }
0x0000e864 b 0xe74c | goto label_0;
| label_7:
0x0000e866 add.w r3, r4, 0x1080 | r3 = r4 + 0x1080;
0x0000e86a movs r1, 4 | r1 = 4;
0x0000e86c adds r3, 0x10 | r3 += 0x10;
0x0000e86e mov.w sb, 0 | sb = 0;
0x0000e872 mov r0, r3 | r0 = r3;
0x0000e874 str r3, [sp, 0x48] | *(arg_48h) = r3;
0x0000e876 bl 0xe620 | fcn_0000e620 (r0, r1);
0x0000e87a ldr.w r3, [pc, 0xc28] |
0x0000e87e mov r0, r5 | r0 = r5;
0x0000e880 ldrb r2, [r6, 2] | r2 = *((r6 + 2));
0x0000e882 add.w r5, r4, 0x1000 | r5 = r4 + 0x1000;
0x0000e886 add.w r7, r4, 0xc00 | r7 = r4 + 0xc00;
0x0000e88a add r3, pc | r3 = 0x1dd34;
0x0000e88c add r3, r2 | r3 += r2;
0x0000e88e add.w r2, r4, 0x1040 | r2 = r4 + 0x1040;
0x0000e892 adds r2, 8 | r2 += 8;
0x0000e894 ldrb r3, [r3, -0x19] | r3 = *((r3 - 0x19));
0x0000e898 mov r1, r2 | r1 = r2;
0x0000e89a str r2, [sp, 0xc] | var_ch = r2;
0x0000e89c mov r2, r5 | r2 = r5;
0x0000e89e bl 0xe634 | fcn_0000e634 (r0, r1, r2, r3, r4, r5);
0x0000e8a2 ldr.w r1, [pc, 0xc04] |
0x0000e8a6 mov.w r2, 0x1000 | r2 = 0x1000;
0x0000e8aa mov r0, r4 | r0 = r4;
0x0000e8ac add r1, pc | r1 = 0x1dd5a;
0x0000e8ae blx 0xbac | fcn_00000bac ();
0x0000e8b2 adds r0, r5, 4 | r0 = r5 + 4;
0x0000e8b4 add.w lr, r4, 0x800 | lr = r4 + 0x800;
0x0000e8b8 add.w r3, r4, 0x400 | r3 = r4 + 0x400;
0x0000e8bc mov ip, sb |
0x0000e8be mov r1, sb | r1 = sb;
0x0000e8c0 str r6, [sp, 4] | var_4h = r6;
| do {
0x0000e8c2 and sl, sb, 2 | sl = sb & 2;
0x0000e8c6 ldr r6, [r5] | r6 = *(r5);
0x0000e8c8 add.w sl, r4, sl, lsl 2 | sl = r4 + (sl << 2);
0x0000e8cc add.w sl, sl, 0x1000 | sl += 0x1000;
0x0000e8d0 ldr.w r2, [sl, 0x90] | r2 = *((sl + 0x90));
0x0000e8d4 ldr.w sl, [sl, 0x94] | sl = *((sl + 0x94));
0x0000e8d8 eors r2, r6 | r2 ^= r6;
0x0000e8da eor.w r8, r2, r1 | r8 = r2 ^ r1;
0x0000e8de lsr.w r2, r8, 0xe | r2 = r8 >> 0xe;
0x0000e8e2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e8e6 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000e8ea lsr.w r2, r8, 0x16 | r2 = r8 >> 0x16;
0x0000e8ee and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e8f2 ldr r1, [r4, r2] | r1 = *((r4 + r2));
0x0000e8f4 lsr.w r2, r8, 6 | r2 = r8 >> 6;
0x0000e8f8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e8fc ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000e900 add r1, fp | r1 += fp;
0x0000e902 eors r2, r1 | r2 ^= r1;
0x0000e904 lsl.w r1, r8, 2 | r1 = r8 << 2;
0x0000e908 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000e90c ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000e90e add r1, r2 | r1 += r2;
0x0000e910 ldr r2, [r5, 4] | r2 = *((r5 + 4));
0x0000e912 eor.w r2, sl, r2 | r2 = sl ^ r2;
0x0000e916 eors r1, r2 | r1 ^= r2;
0x0000e918 ldr r2, [r5, 8] | r2 = *((r5 + 8));
0x0000e91a eor.w r1, r1, ip | r1 ^= ip;
0x0000e91e eor.w r8, r8, r2 | r8 ^= r2;
0x0000e922 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000e924 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e928 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000e92c lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000e92e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e932 ldr.w ip, [r4, r2] | ip = *((r4 + r2));
0x0000e936 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000e938 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e93c ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000e940 add ip, sl |
0x0000e942 eor.w r2, r2, ip | r2 ^= ip;
0x0000e946 lsl.w ip, r1, 2 |
0x0000e94a and ip, ip, 0x3fc |
0x0000e94e ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000e952 add ip, r2 |
0x0000e954 ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000e956 eor.w ip, ip, r8 |
0x0000e95a eors r1, r2 | r1 ^= r2;
0x0000e95c lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000e960 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e964 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000e968 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000e96c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e970 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000e972 add r2, r8 | r2 += r8;
0x0000e974 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000e978 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000e97c ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000e980 eor.w r8, r8, r2 | r8 ^= r2;
0x0000e984 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000e988 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e98c ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000e98e add r2, r8 | r2 += r8;
0x0000e990 eors r1, r2 | r1 ^= r2;
0x0000e992 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x0000e994 eor.w ip, ip, r2 |
0x0000e998 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000e99a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e99e ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000e9a2 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000e9a4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e9a8 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000e9aa add r2, r8 | r2 += r8;
0x0000e9ac lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000e9b0 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000e9b4 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000e9b8 eor.w r8, r8, r2 | r8 ^= r2;
0x0000e9bc lsls r2, r1, 2 | r2 = r1 << 2;
0x0000e9be and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e9c2 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000e9c4 add r2, r8 | r2 += r8;
0x0000e9c6 eor.w ip, r2, ip |
0x0000e9ca ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x0000e9cc eors r1, r2 | r1 ^= r2;
0x0000e9ce lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000e9d2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e9d6 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000e9da lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000e9de and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e9e2 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000e9e4 add r2, r8 | r2 += r8;
0x0000e9e6 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000e9ea and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000e9ee ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000e9f2 eor.w r8, r8, r2 | r8 ^= r2;
0x0000e9f6 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000e9fa and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000e9fe ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ea00 add r2, r8 | r2 += r8;
0x0000ea02 eors r1, r2 | r1 ^= r2;
0x0000ea04 ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x0000ea06 eor.w ip, ip, r2 |
0x0000ea0a lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ea0c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea10 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ea14 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ea16 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea1a ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ea1c add r2, r8 | r2 += r8;
0x0000ea1e lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ea22 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ea26 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ea2a eor.w r8, r8, r2 | r8 ^= r2;
0x0000ea2e lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ea30 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea34 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ea36 add r2, r8 | r2 += r8;
0x0000ea38 eor.w ip, r2, ip |
0x0000ea3c ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x0000ea3e eors r1, r2 | r1 ^= r2;
0x0000ea40 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000ea44 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea48 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ea4c lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000ea50 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea54 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ea56 add r2, r8 | r2 += r8;
0x0000ea58 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ea5c and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ea5e ldrb r7, [r7, 1] | r7 = *((r7 + 1));
0x0000ea60 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ea62 strh r0, [r1] | *(r1) = r0;
0x0000ea64 eor.w r8, r8, r2 | r8 ^= r2;
0x0000ea68 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000ea6c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea70 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ea72 add r2, r8 | r2 += r8;
0x0000ea74 eors r1, r2 | r1 ^= r2;
0x0000ea76 ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x0000ea78 eor.w ip, ip, r2 |
0x0000ea7c lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ea7e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea82 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ea86 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ea88 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ea8a strb r7, [r7, 9] | *((r7 + 9)) = r7;
0x0000ea8c ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ea8e add r2, r8 | r2 += r8;
0x0000ea90 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ea94 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ea98 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ea9c eor.w r8, r8, r2 | r8 ^= r2;
0x0000eaa0 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000eaa2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eaa6 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eaa8 add r2, r8 | r2 += r8;
0x0000eaaa eor.w ip, r2, ip |
0x0000eaae ldr r2, [r5, 0x24] | r2 = *((r5 + 0x24));
0x0000eab0 eors r1, r2 | r1 ^= r2;
0x0000eab2 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000eab6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eaba ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000eabe lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000eac2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eac6 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000eac8 add r2, r8 | r2 += r8;
0x0000eaca lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000eace and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ead2 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ead6 eor.w r8, r8, r2 | r8 ^= r2;
0x0000eada lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000eade and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eae2 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eae4 add r2, r8 | r2 += r8;
0x0000eae6 eors r1, r2 | r1 ^= r2;
0x0000eae8 ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x0000eaea eor.w ip, ip, r2 |
0x0000eaee lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000eaf0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eaf4 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000eaf8 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000eafa and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eafe ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000eb00 add r2, r8 | r2 += r8;
0x0000eb02 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000eb06 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000eb0a ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000eb0e eor.w r8, r8, r2 | r8 ^= r2;
0x0000eb12 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000eb14 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb18 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eb1a add r2, r8 | r2 += r8;
0x0000eb1c eor.w ip, r2, ip |
0x0000eb20 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000eb22 eors r1, r2 | r1 ^= r2;
0x0000eb24 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000eb28 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb2c ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000eb30 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000eb34 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb38 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000eb3a add r2, r8 | r2 += r8;
0x0000eb3c lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000eb40 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000eb42 ldrb r7, [r7, 1] | r7 = *((r7 + 1));
0x0000eb44 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000eb46 strh r0, [r1] | *(r1) = r0;
0x0000eb48 eor.w r8, r8, r2 | r8 ^= r2;
0x0000eb4a lsrs r2, r0, 0x20 | r2 = r0 >> 0x20;
0x0000eb4c lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000eb4e lsls r4, r1, 0xa | r4 = r1 << 0xa;
0x0000eb50 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb54 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eb56 add r2, r8 | r2 += r8;
0x0000eb58 eors r1, r2 | r1 ^= r2;
0x0000eb5a ldr r2, [r5, 0x30] | r2 = *((r5 + 0x30));
0x0000eb5c eor.w ip, ip, r2 |
0x0000eb60 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000eb62 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb66 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000eb6a lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000eb6c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb70 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000eb72 add r2, r8 | r2 += r8;
0x0000eb74 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000eb78 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000eb7c ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000eb80 eor.w r8, r8, r2 | r8 ^= r2;
0x0000eb84 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000eb86 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb8a ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eb8c add r2, r8 | r2 += r8;
0x0000eb8e eor.w ip, r2, ip |
0x0000eb92 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000eb96 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eb9a ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000eb9e lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000eba2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eba6 ldr.w r8, [r4, r2] | r8 = *((r4 + r2));
0x0000ebaa lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000ebae and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ebb2 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000ebb6 add r8, sl | r8 += sl;
0x0000ebb8 eor.w r2, r2, r8 | r2 ^= r8;
0x0000ebbc lsl.w r8, ip, 2 | r8 = ip << 2;
0x0000ebc0 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ebc4 ldr.w r8, [r7, r8] | r8 = *((r7 + r8));
0x0000ebc8 add r8, r2 | r8 += r2;
0x0000ebca ldr r2, [r5, 0x34] | r2 = *((r5 + 0x34));
0x0000ebcc eors r2, r1 | r2 ^= r1;
0x0000ebce eor.w r1, r8, r2 | r1 = r8 ^ r2;
0x0000ebd2 ldr r2, [r5, 0x38] | r2 = *((r5 + 0x38));
0x0000ebd4 eor.w ip, ip, r2 |
0x0000ebd8 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ebda and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ebde ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ebe2 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ebe4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ebe8 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ebea add r2, r8 | r2 += r8;
0x0000ebec lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ebf0 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ebf4 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ebf8 eor.w r8, r8, r2 | r8 ^= r2;
0x0000ebfc lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ebfe and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ec02 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ec04 add r2, r8 | r2 += r8;
0x0000ec06 eor.w ip, r2, ip |
0x0000ec0a ldr r2, [r5, 0x3c] | r2 = *((r5 + 0x3c));
0x0000ec0c eors r2, r1 | r2 ^= r1;
0x0000ec0e lsr.w r1, ip, 0xe | r1 = ip >> 0xe;
0x0000ec12 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ec16 ldr.w r8, [r3, r1] | r8 = *((r3 + r1));
0x0000ec1a lsr.w r1, ip, 0x16 | r1 = ip >> 0x16;
0x0000ec1e and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ec22 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000ec24 add r1, r8 | r1 += r8;
0x0000ec26 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ec2a and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ec2e ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ec32 eor.w r8, r8, r1 | r8 ^= r1;
0x0000ec36 lsl.w r1, ip, 2 | r1 = ip << 2;
0x0000ec3a and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ec3e ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000ec40 add r1, r8 | r1 += r8;
0x0000ec42 eors r1, r2 | r1 ^= r2;
0x0000ec44 ldr r2, [r5, 0x40] | r2 = *((r5 + 0x40));
0x0000ec46 eor.w r2, ip, r2 | r2 = ip ^ r2;
0x0000ec4a lsr.w ip, r1, 0xe |
0x0000ec4e and ip, ip, 0x3fc |
0x0000ec52 ldr.w r8, [r3, ip] | r8 = *((r3 + ip));
0x0000ec56 lsr.w ip, r1, 0x16 |
0x0000ec5a and ip, ip, 0x3fc |
0x0000ec5e ldr.w ip, [r4, ip] | ip = *((r4 + ip));
0x0000ec62 add ip, r8 |
0x0000ec64 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ec68 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ec6c ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ec70 eor.w r8, r8, ip | r8 ^= ip;
0x0000ec74 lsl.w ip, r1, 2 |
0x0000ec78 and ip, ip, 0x3fc |
0x0000ec7c ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000ec80 add ip, r8 |
0x0000ec82 eor.w ip, ip, r2 |
0x0000ec86 ldr r2, [r5, 0x44] | r2 = *((r5 + 0x44));
0x0000ec88 eors r1, r2 | r1 ^= r2;
0x0000ec8a str.w r1, [r5, sb, lsl 2] | __asm ("str.w r1, [r5, sb, lsl 2]");
0x0000ec8e str.w ip, [r0, sb, lsl 2] | __asm ("str.w ip, [r0, sb, lsl 2]");
0x0000ec92 add.w sb, sb, 2 | sb += 2;
0x0000ec96 cmp.w sb, 0x12 |
0x0000ec9a bne.w 0xe8c2 |
| } while (sb != 0x12);
0x0000ec9e ldr r6, [sp, 4] | r6 = var_4h;
0x0000eca0 str r4, [sp, 4] | var_4h = r4;
0x0000eca2 mov fp, r6 |
0x0000eca4 mov r6, ip | r6 = ip;
| do {
0x0000eca6 ldr r0, [r5] | r0 = *(r5);
0x0000eca8 ldr.w r2, [r5, 0x98] | r2 = *((r5 + 0x98));
0x0000ecac eors r2, r0 | r2 ^= r0;
0x0000ecae eor.w r8, r2, r1 | r8 = r2 ^ r1;
0x0000ecb2 ldr.w r2, [r5, 0x9c] | r2 = *((r5 + 0x9c));
0x0000ecb6 lsr.w r1, r8, 0xe | r1 = r8 >> 0xe;
0x0000ecba and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ecbe ldr.w sl, [r3, r1] | sl = *((r3 + r1));
0x0000ecc2 lsr.w r1, r8, 0x16 | r1 = r8 >> 0x16;
0x0000ecc6 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ecca ldr.w sb, [r4, r1] | sb = *((r4 + r1));
0x0000ecce lsr.w r1, r8, 6 | r1 = r8 >> 6;
0x0000ecd2 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ecd6 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000ecda add sb, sl | sb += sl;
0x0000ecdc eor.w r1, r1, sb | r1 ^= sb;
0x0000ece0 lsl.w sb, r8, 2 | sb = r8 << 2;
0x0000ece4 and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000ece8 ldr.w sb, [r7, sb] | sb = *((r7 + sb));
0x0000ecec add sb, r1 | sb += r1;
0x0000ecee ldr r1, [r5, 4] | r1 = *((r5 + 4));
0x0000ecf0 eors r2, r1 | r2 ^= r1;
0x0000ecf2 eor.w r2, sb, r2 | r2 = sb ^ r2;
0x0000ecf6 eor.w ip, r2, r6 |
0x0000ecfa ldr r2, [r5, 8] | r2 = *((r5 + 8));
0x0000ecfc eor.w r8, r8, r2 | r8 ^= r2;
0x0000ed00 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000ed04 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed08 ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000ed0c lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000ed10 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed14 ldr r1, [r4, r2] | r1 = *((r4 + r2));
0x0000ed16 lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000ed1a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed1e add r1, sb | r1 += sb;
0x0000ed20 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000ed24 lsl.w sb, ip, 2 | sb = ip << 2;
0x0000ed28 and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000ed2c eors r2, r1 | r2 ^= r1;
0x0000ed2e ldr.w r1, [r7, sb] | r1 = *((r7 + sb));
0x0000ed32 add r1, r2 | r1 += r2;
0x0000ed34 ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000ed36 eor.w r1, r1, r8 | r1 ^= r8;
0x0000ed3a eor.w ip, ip, r2 |
0x0000ed3e lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ed40 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed44 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ed48 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ed4a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed4e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ed50 add r2, r8 | r2 += r8;
0x0000ed52 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ed56 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ed5a ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ed5e eor.w r8, r8, r2 | r8 ^= r2;
0x0000ed62 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ed64 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed68 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ed6a add r2, r8 | r2 += r8;
0x0000ed6c eor.w ip, r2, ip |
0x0000ed70 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x0000ed72 eors r1, r2 | r1 ^= r2;
0x0000ed74 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000ed78 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed7c ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ed80 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000ed84 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ed88 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ed8a add r2, r8 | r2 += r8;
0x0000ed8c lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ed90 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ed94 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ed98 eor.w r8, r8, r2 | r8 ^= r2;
0x0000ed9c lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000eda0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eda4 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eda6 add r2, r8 | r2 += r8;
0x0000eda8 eors r1, r2 | r1 ^= r2;
0x0000edaa ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x0000edac eor.w ip, ip, r2 |
0x0000edb0 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000edb2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000edb6 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000edba lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000edbc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000edc0 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000edc2 add r2, r8 | r2 += r8;
0x0000edc4 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000edc8 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000edcc ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000edd0 eor.w r8, r8, r2 | r8 ^= r2;
0x0000edd4 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000edd6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000edda ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eddc add r2, r8 | r2 += r8;
0x0000edde eor.w ip, r2, ip |
0x0000ede2 ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x0000ede4 eors r1, r2 | r1 ^= r2;
0x0000ede6 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000edea and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000edee ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000edf2 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000edf6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000edfa ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000edfc add r2, r8 | r2 += r8;
0x0000edfe lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ee02 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ee06 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ee0a eor.w r8, r8, r2 | r8 ^= r2;
0x0000ee0e lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000ee12 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee16 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ee18 add r2, r8 | r2 += r8;
0x0000ee1a eors r1, r2 | r1 ^= r2;
0x0000ee1c ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x0000ee1e eor.w ip, ip, r2 |
0x0000ee22 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ee24 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee28 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ee2c lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ee2e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee32 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ee34 add r2, r8 | r2 += r8;
0x0000ee36 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000ee3a and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ee3e ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ee42 eor.w r8, r8, r2 | r8 ^= r2;
0x0000ee46 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ee48 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee4c ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ee4e add r2, r8 | r2 += r8;
0x0000ee50 eor.w ip, r2, ip |
0x0000ee54 ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x0000ee56 eors r1, r2 | r1 ^= r2;
0x0000ee58 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000ee5c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee60 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ee64 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000ee68 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee6c ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ee6e add r2, r8 | r2 += r8;
0x0000ee70 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ee74 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ee78 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000ee7c eor.w r8, r8, r2 | r8 ^= r2;
0x0000ee80 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000ee84 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee88 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ee8a add r2, r8 | r2 += r8;
0x0000ee8c eors r1, r2 | r1 ^= r2;
0x0000ee8e ldr r2, [r5, 0x24] | r2 = *((r5 + 0x24));
0x0000ee90 eor.w ip, ip, r2 |
0x0000ee94 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ee96 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ee9a ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000ee9e lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000eea0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eea4 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000eea6 add r2, r8 | r2 += r8;
0x0000eea8 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000eeac and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000eeb0 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000eeb4 eor.w r8, r8, r2 | r8 ^= r2;
0x0000eeb8 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000eeba and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eebe ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000eec0 add r2, r8 | r2 += r8;
0x0000eec2 eor.w ip, r2, ip |
0x0000eec6 ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x0000eec8 eors r1, r2 | r1 ^= r2;
0x0000eeca lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000eece and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eed2 ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000eed6 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000eeda and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eede ldr.w r8, [r4, r2] | r8 = *((r4 + r2));
0x0000eee2 lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000eee6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000eeea ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000eeee add r8, sb | r8 += sb;
0x0000eef0 eor.w r2, r2, r8 | r2 ^= r8;
0x0000eef4 lsl.w r8, ip, 2 | r8 = ip << 2;
0x0000eef8 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000eefc ldr.w r8, [r7, r8] | r8 = *((r7 + r8));
0x0000ef00 add r8, r2 | r8 += r2;
0x0000ef02 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000ef04 eor.w r8, r8, r1 | r8 ^= r1;
0x0000ef08 eor.w ip, ip, r2 |
0x0000ef0c lsr.w r2, r8, 0xe | r2 = r8 >> 0xe;
0x0000ef10 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ef14 ldr r1, [r3, r2] | r1 = *((r3 + r2));
0x0000ef16 lsr.w r2, r8, 0x16 | r2 = r8 >> 0x16;
0x0000ef1a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ef1e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ef20 add r2, r1 | r2 += r1;
0x0000ef22 lsr.w r1, r8, 6 | r1 = r8 >> 6;
0x0000ef26 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef2a ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000ef2e eors r1, r2 | r1 ^= r2;
0x0000ef30 lsl.w r2, r8, 2 | r2 = r8 << 2;
0x0000ef34 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ef38 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ef3a add r2, r1 | r2 += r1;
0x0000ef3c ldr r1, [r5, 0x30] | r1 = *((r5 + 0x30));
0x0000ef3e eor.w r2, r2, ip | r2 ^= ip;
0x0000ef42 eor.w r8, r8, r1 | r8 ^= r1;
0x0000ef46 lsrs r1, r2, 0xe | r1 = r2 >> 0xe;
0x0000ef48 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef4c ldr.w sb, [r3, r1] | sb = *((r3 + r1));
0x0000ef50 lsrs r1, r2, 0x16 | r1 = r2 >> 0x16;
0x0000ef52 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef56 ldr.w ip, [r4, r1] | ip = *((r4 + r1));
0x0000ef5a lsrs r1, r2, 6 | r1 = r2 >> 6;
0x0000ef5c and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef60 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000ef64 add ip, sb |
0x0000ef66 eor.w r1, r1, ip | r1 ^= ip;
0x0000ef6a lsl.w ip, r2, 2 |
0x0000ef6e and ip, ip, 0x3fc |
0x0000ef72 ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000ef76 add ip, r1 |
0x0000ef78 eor.w ip, ip, r8 |
0x0000ef7c lsr.w r1, ip, 0xe | r1 = ip >> 0xe;
0x0000ef80 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef84 ldr.w r8, [r3, r1] | r8 = *((r3 + r1));
0x0000ef88 lsr.w r1, ip, 0x16 | r1 = ip >> 0x16;
0x0000ef8c and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ef90 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000ef92 add r1, r8 | r1 += r8;
0x0000ef94 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000ef98 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000ef9c ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000efa0 eor.w r8, r8, r1 | r8 ^= r1;
0x0000efa4 lsl.w r1, ip, 2 | r1 = ip << 2;
0x0000efa8 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000efac ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000efae add r8, r1 | r8 += r1;
0x0000efb0 ldr r1, [r5, 0x34] | r1 = *((r5 + 0x34));
0x0000efb2 eors r2, r1 | r2 ^= r1;
0x0000efb4 eor.w r1, r8, r2 | r1 = r8 ^ r2;
0x0000efb8 ldr r2, [r5, 0x38] | r2 = *((r5 + 0x38));
0x0000efba eor.w ip, ip, r2 |
0x0000efbe lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000efc0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000efc4 ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000efc8 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000efca and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000efce ldr.w r8, [r4, r2] | r8 = *((r4 + r2));
0x0000efd2 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000efd4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000efd8 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000efdc add r8, sb | r8 += sb;
0x0000efde eor.w r2, r2, r8 | r2 ^= r8;
0x0000efe2 lsl.w r8, r1, 2 | r8 = r1 << 2;
0x0000efe6 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000efea ldr.w r8, [r7, r8] | r8 = *((r7 + r8));
0x0000efee add r8, r2 | r8 += r2;
0x0000eff0 ldr r2, [r5, 0x3c] | r2 = *((r5 + 0x3c));
0x0000eff2 eor.w r8, r8, ip | r8 ^= ip;
0x0000eff6 eors r1, r2 | r1 ^= r2;
0x0000eff8 lsr.w r2, r8, 0xe | r2 = r8 >> 0xe;
0x0000effc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f000 ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000f004 lsr.w r2, r8, 0x16 | r2 = r8 >> 0x16;
0x0000f008 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f00c ldr.w ip, [r4, r2] | ip = *((r4 + r2));
0x0000f010 lsr.w r2, r8, 6 | r2 = r8 >> 6;
0x0000f014 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f018 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f01c add ip, sb |
0x0000f01e eor.w r2, r2, ip | r2 ^= ip;
0x0000f022 lsl.w ip, r8, 2 |
0x0000f026 and ip, ip, 0x3fc |
0x0000f02a ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f02e add ip, r2 |
0x0000f030 ldr r2, [r5, 0x40] | r2 = *((r5 + 0x40));
0x0000f032 eor.w ip, ip, r1 |
0x0000f036 lsr.w r1, ip, 0xe | r1 = ip >> 0xe;
0x0000f03a eor.w r2, r8, r2 | r2 = r8 ^ r2;
0x0000f03e and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f042 ldr.w sb, [r3, r1] | sb = *((r3 + r1));
0x0000f046 lsr.w r1, ip, 0x16 | r1 = ip >> 0x16;
0x0000f04a and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f04e ldr.w r8, [r4, r1] | r8 = *((r4 + r1));
0x0000f050 strh r1, [r0] | *(r0) = r1;
0x0000f052 lsr.w r1, ip, 6 | r1 = ip >> 6;
0x0000f056 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f05a ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000f05e add r8, sb | r8 += sb;
0x0000f060 eor.w r1, r1, r8 | r1 ^= r8;
0x0000f064 lsl.w r8, ip, 2 | r8 = ip << 2;
0x0000f068 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f06c ldr.w r8, [r7, r8] | r8 = *((r7 + r8));
0x0000f070 add r8, r1 | r8 += r1;
0x0000f072 eor.w r6, r8, r2 | r6 = r8 ^ r2;
0x0000f076 ldr r2, [r5, 0x44] | r2 = *((r5 + 0x44));
0x0000f078 eor.w r1, ip, r2 | r1 = ip ^ r2;
0x0000f07c ldr r2, [sp, 4] | r2 = var_4h;
0x0000f07e str r1, [r2], 0x10 | *(r2) = r1;
| r2 += 0x10;
0x0000f082 str r6, [r2, -0xc] | *((r2 - 0xc)) = r6;
0x0000f086 str r2, [sp, 4] | var_4h = r2;
0x0000f088 ldr r0, [r5] | r0 = *(r5);
0x0000f08a ldr.w r2, [r5, 0x90] | r2 = *((r5 + 0x90));
0x0000f08e eors r2, r0 | r2 ^= r0;
0x0000f090 ldr.w r0, [r5, 0x94] | r0 = *((r5 + 0x94));
0x0000f094 eors r2, r1 | r2 ^= r1;
0x0000f096 lsrs r1, r2, 0xe | r1 = r2 >> 0xe;
0x0000f098 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f09c ldr.w sb, [r3, r1] | sb = *((r3 + r1));
0x0000f0a0 lsrs r1, r2, 0x16 | r1 = r2 >> 0x16;
0x0000f0a2 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f0a6 ldr.w ip, [r4, r1] | ip = *((r4 + r1));
0x0000f0aa lsrs r1, r2, 6 | r1 = r2 >> 6;
0x0000f0ac and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f0b0 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000f0b4 add ip, sb |
0x0000f0b6 eor.w r1, r1, ip | r1 ^= ip;
0x0000f0ba lsl.w ip, r2, 2 |
0x0000f0be and ip, ip, 0x3fc |
0x0000f0c2 ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f0c6 add ip, r1 |
0x0000f0c8 ldr r1, [r5, 4] | r1 = *((r5 + 4));
0x0000f0ca eors r1, r0 | r1 ^= r0;
0x0000f0cc eors r1, r6 | r1 ^= r6;
0x0000f0ce eor.w ip, ip, r1 |
0x0000f0d2 lsr.w r1, ip, 0xe | r1 = ip >> 0xe;
0x0000f0d6 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f0da ldr.w r8, [r3, r1] | r8 = *((r3 + r1));
0x0000f0de lsr.w r1, ip, 0x16 | r1 = ip >> 0x16;
0x0000f0e2 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f0e6 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000f0e8 add r1, r8 | r1 += r8;
0x0000f0ea lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f0ee and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f0f2 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f0f6 eor.w r8, r8, r1 | r8 ^= r1;
0x0000f0fa lsl.w r1, ip, 2 | r1 = ip << 2;
0x0000f0fe and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f102 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000f104 add r8, r1 | r8 += r1;
0x0000f106 ldr r1, [r5, 8] | r1 = *((r5 + 8));
0x0000f108 eors r2, r1 | r2 ^= r1;
0x0000f10a eor.w r1, r8, r2 | r1 = r8 ^ r2;
0x0000f10e ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000f110 eor.w ip, ip, r2 |
0x0000f114 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f116 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f11a ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f11e lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f120 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f124 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f126 add r2, r8 | r2 += r8;
0x0000f128 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f12c and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f130 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f134 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f138 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f13a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f13e ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f140 add r2, r8 | r2 += r8;
0x0000f142 eor.w ip, r2, ip |
0x0000f146 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x0000f148 eors r1, r2 | r1 ^= r2;
0x0000f14a lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f14e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f152 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f156 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f15a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f15e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f160 add r2, r8 | r2 += r8;
0x0000f162 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f166 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f16a ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f16e eor.w r8, r8, r2 | r8 ^= r2;
0x0000f172 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f176 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f17a ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f17c add r2, r8 | r2 += r8;
0x0000f17e eors r1, r2 | r1 ^= r2;
0x0000f180 ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x0000f182 eor.w ip, ip, r2 |
0x0000f186 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f188 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f18c ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f190 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f192 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f196 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f198 add r2, r8 | r2 += r8;
0x0000f19a lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f19e and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f1a2 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f1a6 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f1aa lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f1ac and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f1b0 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f1b2 add r2, r8 | r2 += r8;
0x0000f1b4 eor.w ip, r2, ip |
0x0000f1b8 ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x0000f1ba eors r1, r2 | r1 ^= r2;
0x0000f1bc lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f1c0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f1c4 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f1c8 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f1cc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f1d0 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f1d2 add r2, r8 | r2 += r8;
0x0000f1d4 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f1d8 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f1dc ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f1e0 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f1e4 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f1e8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f1ec ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f1ee add r2, r8 | r2 += r8;
0x0000f1f0 eors r1, r2 | r1 ^= r2;
0x0000f1f2 ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x0000f1f4 eor.w ip, ip, r2 |
0x0000f1f8 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f1fa and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f1fe ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f202 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f204 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f208 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f20a add r2, r8 | r2 += r8;
0x0000f20c lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f210 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f214 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f218 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f21c lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f21e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f222 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f224 add r2, r8 | r2 += r8;
0x0000f226 eor.w ip, r2, ip |
0x0000f22a ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x0000f22c eors r1, r2 | r1 ^= r2;
0x0000f22e lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f232 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f236 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f23a lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f23e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f242 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f244 add r2, r8 | r2 += r8;
0x0000f246 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f24a and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f24e ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f252 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f256 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f25a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f25e ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f260 add r2, r8 | r2 += r8;
0x0000f262 eors r1, r2 | r1 ^= r2;
0x0000f264 ldr r2, [r5, 0x24] | r2 = *((r5 + 0x24));
0x0000f266 eor.w ip, ip, r2 |
0x0000f26a lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f26c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f270 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f274 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f276 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f27a ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f27c add r2, r8 | r2 += r8;
0x0000f27e lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f282 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f286 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f28a eor.w r8, r8, r2 | r8 ^= r2;
0x0000f28e lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f290 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f294 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f296 add r2, r8 | r2 += r8;
0x0000f298 eor.w ip, r2, ip |
0x0000f29c ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x0000f29e eors r1, r2 | r1 ^= r2;
0x0000f2a0 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f2a4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f2a8 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f2ac lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f2b0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f2b4 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f2b6 add r2, r8 | r2 += r8;
0x0000f2b8 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f2bc and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f2c0 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f2c4 eor.w r8, r8, r2 | r8 ^= r2;
0x0000f2c8 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f2cc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f2d0 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f2d2 add r2, r8 | r2 += r8;
0x0000f2d4 eors r1, r2 | r1 ^= r2;
0x0000f2d6 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000f2d8 eor.w ip, ip, r2 |
0x0000f2dc lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f2de and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f2e2 ldr.w r8, [r3, r2] | r8 = *((r3 + r2));
0x0000f2e6 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f2e8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f2ec ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f2ee add r2, r8 | r2 += r8;
0x0000f2f0 lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f2f4 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f2f8 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f2fc eor.w r8, r8, r2 | r8 ^= r2;
0x0000f300 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f302 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f306 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f308 add r2, r8 | r2 += r8;
0x0000f30a eor.w ip, r2, ip |
0x0000f30e ldr r2, [r5, 0x30] | r2 = *((r5 + 0x30));
0x0000f310 eors r1, r2 | r1 ^= r2;
0x0000f312 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f316 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f31a ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000f31e lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f322 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f326 ldr.w r8, [r4, r2] | r8 = *((r4 + r2));
0x0000f32a lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000f32e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f332 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f336 add r8, sb | r8 += sb;
0x0000f338 eor.w r2, r2, r8 | r2 ^= r8;
0x0000f33c lsl.w r8, ip, 2 | r8 = ip << 2;
0x0000f340 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f344 ldr.w r8, [r7, r8] | r8 = *((r7 + r8));
0x0000f348 add r8, r2 | r8 += r2;
0x0000f34a ldr r2, [r5, 0x34] | r2 = *((r5 + 0x34));
0x0000f34c eor.w r8, r8, r1 | r8 ^= r1;
0x0000f350 eor.w ip, ip, r2 |
0x0000f354 lsr.w r2, r8, 0xe | r2 = r8 >> 0xe;
0x0000f358 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f35c ldr r1, [r3, r2] | r1 = *((r3 + r2));
0x0000f35e lsr.w r2, r8, 0x16 | r2 = r8 >> 0x16;
0x0000f362 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f366 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f368 add r2, r1 | r2 += r1;
0x0000f36a lsr.w r1, r8, 6 | r1 = r8 >> 6;
0x0000f36e and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f372 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000f376 eors r1, r2 | r1 ^= r2;
0x0000f378 lsl.w r2, r8, 2 | r2 = r8 << 2;
0x0000f37c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f380 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f382 add r2, r1 | r2 += r1;
0x0000f384 ldr r1, [r5, 0x38] | r1 = *((r5 + 0x38));
0x0000f386 eor.w r2, r2, ip | r2 ^= ip;
0x0000f38a eor.w r8, r8, r1 | r8 ^= r1;
0x0000f38e lsrs r1, r2, 0xe | r1 = r2 >> 0xe;
0x0000f390 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f394 ldr.w sb, [r3, r1] | sb = *((r3 + r1));
0x0000f398 lsrs r1, r2, 0x16 | r1 = r2 >> 0x16;
0x0000f39a and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f39e ldr.w ip, [r4, r1] | ip = *((r4 + r1));
0x0000f3a2 lsrs r1, r2, 6 | r1 = r2 >> 6;
0x0000f3a4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f3a8 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000f3ac add ip, sb |
0x0000f3ae eor.w r1, r1, ip | r1 ^= ip;
0x0000f3b2 lsl.w ip, r2, 2 |
0x0000f3b6 and ip, ip, 0x3fc |
0x0000f3ba ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f3be ldr r0, [r5, 0x3c] | r0 = *((r5 + 0x3c));
0x0000f3c0 add ip, r1 |
0x0000f3c2 eor.w ip, ip, r8 |
0x0000f3c6 eors r2, r0 | r2 ^= r0;
0x0000f3c8 lsr.w r1, ip, 0xe | r1 = ip >> 0xe;
0x0000f3cc and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f3d0 ldr.w r8, [r3, r1] | r8 = *((r3 + r1));
0x0000f3d4 lsr.w r1, ip, 0x16 | r1 = ip >> 0x16;
0x0000f3d8 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f3dc ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000f3de add r1, r8 | r1 += r8;
0x0000f3e0 lsr.w r8, ip, 6 | r8 = ip >> 6;
0x0000f3e4 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f3e8 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f3ec eor.w r8, r8, r1 | r8 ^= r1;
0x0000f3f0 lsl.w r1, ip, 2 | r1 = ip << 2;
0x0000f3f4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f3f8 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000f3fa add r1, r8 | r1 += r8;
0x0000f3fc eors r1, r2 | r1 ^= r2;
0x0000f3fe ldr r2, [r5, 0x40] | r2 = *((r5 + 0x40));
0x0000f400 eor.w r2, ip, r2 | r2 = ip ^ r2;
0x0000f404 lsr.w ip, r1, 0xe |
0x0000f408 and ip, ip, 0x3fc |
0x0000f40c ldr.w r8, [r3, ip] | r8 = *((r3 + ip));
0x0000f410 lsr.w ip, r1, 0x16 |
0x0000f414 and ip, ip, 0x3fc |
0x0000f418 ldr.w ip, [r4, ip] | ip = *((r4 + ip));
0x0000f41c add ip, r8 |
0x0000f41e lsr.w r8, r1, 6 | r8 = r1 >> 6;
0x0000f422 and r8, r8, 0x3fc | r8 &= 0x3fc;
0x0000f426 ldr.w r8, [lr, r8] | r8 = *((lr + r8));
0x0000f42a eor.w r8, r8, ip | r8 ^= ip;
0x0000f42e lsl.w ip, r1, 2 |
0x0000f432 and ip, ip, 0x3fc |
0x0000f436 ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f43a add ip, r8 |
0x0000f43c eor.w r6, ip, r2 | r6 = ip ^ r2;
0x0000f440 ldr r2, [r5, 0x44] | r2 = *((r5 + 0x44));
0x0000f442 eors r1, r2 | r1 ^= r2;
0x0000f444 ldr r2, [sp, 4] | r2 = var_4h;
0x0000f446 cmp r2, r5 |
0x0000f448 strd r1, r6, [r2, -0x8] | __asm ("strd r1, r6, [r2, -0x8]");
0x0000f44c bne.w 0xeca6 |
| } while (r2 != r5);
0x0000f450 mov r6, fp | r6 = fp;
0x0000f452 add.w r2, r5, 0x90 | r2 = r5 + 0x90;
0x0000f456 str r2, [sp, 0x18] | var_18h = r2;
0x0000f458 mov r2, r6 | r2 = r6;
0x0000f45a ldrd r6, r8, [sp, 8] | __asm ("ldrd r6, r8, [var_8h]");
0x0000f45e add.w fp, r4, 0x1040 |
| label_3:
0x0000f462 mov r1, r5 | r1 = r5;
| do {
0x0000f464 add.w r0, r1, 0x48 | r0 = r1 + 0x48;
0x0000f468 vld1.32 {d17}, [r1] | __asm ("vld1.32 {d17}, [r1]");
0x0000f46c vld1.32 {d16}, [r0] | __asm ("vld1.32 {d16}, [r0]");
0x0000f470 veor d16, d16, d17 | __asm ("veor d16, d16, d17");
0x0000f474 vst1.32 {d16}, [r1]! | __asm ("vst1.32 {d16}, [r1]!");
0x0000f478 cmp r8, r1 |
0x0000f47a bne 0xf464 |
| } while (r8 != r1);
0x0000f47c ldrd ip, r0, [r5, 0x40] | __asm ("ldrd ip, r0, [r5, 0x40]");
0x0000f480 movs r1, 2 | r1 = 2;
0x0000f482 strd r1, r6, [sp, 0xc] | __asm ("strd r1, r6, [sp, 0xc]");
0x0000f486 str r2, [sp, 0x14] | var_14h = r2;
| label_2:
0x0000f488 mov.w sb, 0 | sb = 0;
0x0000f48c mov r1, r5 | r1 = r5;
0x0000f48e mov sl, sb | sl = sb;
0x0000f490 mov r2, sb | r2 = sb;
0x0000f492 mov r6, ip | r6 = ip;
0x0000f494 strd r0, fp, [sp, 4] | __asm ("strd r0, fp, [sp, 4]");
0x0000f498 b 0xf4b2 |
| while (r1 != r8) {
0x0000f4ac ldrd r6, r0, [r5, 0x40] | __asm ("ldrd r6, r0, [r5, 0x40]");
0x0000f4b0 str r0, [sp, 4] | var_4h = r0;
0x0000f4b2 ldr r0, [r5] | r0 = *(r5);
0x0000f4b4 eor.w sl, sl, r0 | sl ^= r0;
0x0000f4b8 ldr r0, [r5, 4] | r0 = *((r5 + 4));
0x0000f4ba lsr.w ip, sl, 0xe |
0x0000f4be and ip, ip, 0x3fc |
0x0000f4c2 ldr.w fp, [r3, ip] | fp = *((r3 + ip));
0x0000f4c6 lsr.w ip, sl, 0x16 |
0x0000f4ca and ip, ip, 0x3fc |
0x0000f4ce ldr.w ip, [r4, ip] | ip = *((r4 + ip));
0x0000f4d2 add ip, fp |
0x0000f4d4 lsr.w fp, sl, 6 |
0x0000f4d8 and fp, fp, 0x3fc |
0x0000f4dc ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000f4e0 eor.w fp, fp, ip |
0x0000f4e4 lsl.w ip, sl, 2 |
0x0000f4e8 and ip, ip, 0x3fc |
0x0000f4ec ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f4f0 add ip, fp |
0x0000f4f2 eor.w ip, ip, r0 |
0x0000f4f6 eor.w ip, ip, r2 |
0x0000f4fa ldr r2, [r5, 8] | r2 = *((r5 + 8));
0x0000f4fc eor.w sl, sl, r2 | sl ^= r2;
0x0000f500 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f504 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f508 ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000f50c lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f510 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f514 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f516 add r2, sb | r2 += sb;
0x0000f518 lsr.w sb, ip, 6 | sb = ip >> 6;
0x0000f51c and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000f520 ldr.w sb, [lr, sb] | sb = *((lr + sb));
0x0000f524 eor.w sb, sb, r2 | sb ^= r2;
0x0000f528 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f52c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f530 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f532 add r2, sb | r2 += sb;
0x0000f534 eor.w sl, r2, sl | sl = r2 ^ sl;
0x0000f538 ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000f53a eor.w ip, ip, r2 |
0x0000f53e lsr.w r2, sl, 0xe | r2 = sl >> 0xe;
0x0000f542 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f546 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000f54a lsr.w r2, sl, 0x16 | r2 = sl >> 0x16;
0x0000f54e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f552 ldr.w sb, [r4, r2] | sb = *((r4 + r2));
0x0000f556 lsr.w r2, sl, 6 | r2 = sl >> 6;
0x0000f55a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f55e ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f562 add sb, fp | sb += fp;
0x0000f564 eor.w r2, r2, sb | r2 ^= sb;
0x0000f568 lsl.w sb, sl, 2 | sb = sl << 2;
0x0000f56c and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000f570 ldr.w sb, [r7, sb] | sb = *((r7 + sb));
0x0000f574 add sb, r2 | sb += r2;
0x0000f576 ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x0000f578 eor.w sb, sb, ip | sb ^= ip;
0x0000f57c eor.w sl, sl, r2 | sl ^= r2;
0x0000f580 lsr.w r2, sb, 0xe | r2 = sb >> 0xe;
0x0000f584 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f588 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000f58c lsr.w r2, sb, 0x16 | r2 = sb >> 0x16;
0x0000f590 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f594 ldr.w ip, [r4, r2] | ip = *((r4 + r2));
0x0000f598 lsr.w r2, sb, 6 | r2 = sb >> 6;
0x0000f59c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f5a0 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f5a4 add ip, fp |
0x0000f5a6 eor.w r2, r2, ip | r2 ^= ip;
0x0000f5aa lsl.w ip, sb, 2 |
0x0000f5ae and ip, ip, 0x3fc |
0x0000f5b2 ldr.w ip, [r7, ip] | ip = *((r7 + ip));
0x0000f5b6 add ip, r2 |
0x0000f5b8 ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x0000f5ba eor.w ip, ip, sl |
0x0000f5be eor.w sb, sb, r2 | sb ^= r2;
0x0000f5c2 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f5c6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f5ca ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000f5ce lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f5d2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f5d6 ldr.w sl, [r4, r2] | sl = *((r4 + r2));
0x0000f5da lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000f5de and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f5e2 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f5e6 add sl, fp | sl += fp;
0x0000f5e8 eor.w r2, r2, sl | r2 ^= sl;
0x0000f5ec lsl.w sl, ip, 2 | sl = ip << 2;
0x0000f5f0 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f5f4 ldr.w sl, [r7, sl] | sl = *((r7 + sl));
0x0000f5f8 add sl, r2 | sl += r2;
0x0000f5fa ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x0000f5fc eor.w sl, sl, sb | sl ^= sb;
0x0000f600 eor.w ip, ip, r2 |
0x0000f604 lsr.w r2, sl, 0xe | r2 = sl >> 0xe;
0x0000f608 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f60c ldr.w sb, [r3, r2] | sb = *((r3 + r2));
0x0000f610 lsr.w r2, sl, 0x16 | r2 = sl >> 0x16;
0x0000f614 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f618 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f61a add r2, sb | r2 += sb;
0x0000f61c lsr.w sb, sl, 6 | sb = sl >> 6;
0x0000f620 and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000f624 ldr.w sb, [lr, sb] | sb = *((lr + sb));
0x0000f628 eor.w sb, sb, r2 | sb ^= r2;
0x0000f62c lsl.w r2, sl, 2 | r2 = sl << 2;
0x0000f630 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f634 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f636 add r2, sb | r2 += sb;
0x0000f638 eor.w ip, r2, ip |
0x0000f63c lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f640 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f644 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000f648 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f64c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f650 ldr.w sb, [r4, r2] | sb = *((r4 + r2));
0x0000f654 lsr.w r2, ip, 6 | r2 = ip >> 6;
0x0000f658 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f65c ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f660 add sb, fp | sb += fp;
0x0000f662 eor.w r2, r2, sb | r2 ^= sb;
0x0000f666 lsl.w sb, ip, 2 | sb = ip << 2;
0x0000f66a and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000f66e ldr.w sb, [r7, sb] | sb = *((r7 + sb));
0x0000f672 add sb, r2 | sb += r2;
0x0000f674 ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x0000f676 eor.w sl, sl, r2 | sl ^= r2;
0x0000f67a ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x0000f67c eor.w sb, sb, sl | sb ^= sl;
0x0000f680 eor.w ip, ip, r2 |
0x0000f684 lsr.w r2, sb, 0xe | r2 = sb >> 0xe;
0x0000f688 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f68c ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f690 lsr.w r2, sb, 0x16 | r2 = sb >> 0x16;
0x0000f694 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f698 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f69a add r2, sl | r2 += sl;
0x0000f69c lsr.w sl, sb, 6 | sl = sb >> 6;
0x0000f6a0 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f6a4 ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f6a8 eor.w sl, sl, r2 | sl ^= r2;
0x0000f6ac lsl.w r2, sb, 2 | r2 = sb << 2;
0x0000f6b0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f6b4 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f6b6 add r2, sl | r2 += sl;
0x0000f6b8 eor.w ip, r2, ip |
0x0000f6bc ldr r2, [r5, 0x24] | r2 = *((r5 + 0x24));
0x0000f6be eor.w sb, sb, r2 | sb ^= r2;
0x0000f6c2 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f6c6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f6ca ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f6ce lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f6d2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f6d6 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f6d8 add r2, sl | r2 += sl;
0x0000f6da lsr.w sl, ip, 6 | sl = ip >> 6;
0x0000f6de and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f6e2 ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f6e6 eor.w sl, sl, r2 | sl ^= r2;
0x0000f6ea lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f6ee and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f6f2 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f6f4 add r2, sl | r2 += sl;
0x0000f6f6 eor.w sb, r2, sb | sb = r2 ^ sb;
0x0000f6fa ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x0000f6fc eor.w ip, ip, r2 |
0x0000f700 lsr.w r2, sb, 0xe | r2 = sb >> 0xe;
0x0000f704 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f708 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f70c lsr.w r2, sb, 0x16 | r2 = sb >> 0x16;
0x0000f710 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f714 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f716 add r2, sl | r2 += sl;
0x0000f718 lsr.w sl, sb, 6 | sl = sb >> 6;
0x0000f71c and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f720 ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f724 eor.w sl, sl, r2 | sl ^= r2;
0x0000f728 lsl.w r2, sb, 2 | r2 = sb << 2;
0x0000f72c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f730 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f732 add r2, sl | r2 += sl;
0x0000f734 eor.w ip, r2, ip |
0x0000f738 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000f73a eor.w sb, sb, r2 | sb ^= r2;
0x0000f73e lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f742 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f746 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f74a lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f74e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f752 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f754 add r2, sl | r2 += sl;
0x0000f756 lsr.w sl, ip, 6 | sl = ip >> 6;
0x0000f75a and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f75e ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f762 eor.w sl, sl, r2 | sl ^= r2;
0x0000f766 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f76a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f76e ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f770 add r2, sl | r2 += sl;
0x0000f772 eor.w sb, r2, sb | sb = r2 ^ sb;
0x0000f776 ldr r2, [r5, 0x30] | r2 = *((r5 + 0x30));
0x0000f778 eor.w ip, ip, r2 |
0x0000f77c lsr.w r2, sb, 0xe | r2 = sb >> 0xe;
0x0000f780 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f784 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f788 lsr.w r2, sb, 0x16 | r2 = sb >> 0x16;
0x0000f78c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f790 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f792 add r2, sl | r2 += sl;
0x0000f794 lsr.w sl, sb, 6 | sl = sb >> 6;
0x0000f798 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f79c ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f7a0 eor.w sl, sl, r2 | sl ^= r2;
0x0000f7a4 lsl.w r2, sb, 2 | r2 = sb << 2;
0x0000f7a8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f7ac ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f7ae add r2, sl | r2 += sl;
0x0000f7b0 eor.w ip, r2, ip |
0x0000f7b4 lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f7b8 lsl.w fp, ip, 2 |
0x0000f7bc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f7c0 and fp, fp, 0x3fc |
0x0000f7c4 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f7c8 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f7cc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f7d0 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f7d2 add r2, sl | r2 += sl;
0x0000f7d4 lsr.w sl, ip, 6 | sl = ip >> 6;
0x0000f7d8 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f7dc ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f7e0 eor.w sl, sl, r2 | sl ^= r2;
0x0000f7e4 ldr r2, [r5, 0x34] | r2 = *((r5 + 0x34));
0x0000f7e6 ldr r0, [sp, 4] | r0 = var_4h;
0x0000f7e8 eor.w r2, sb, r2 | r2 = sb ^ r2;
0x0000f7ec ldr.w sb, [r7, fp] | sb = *((r7 + fp));
0x0000f7f0 add sb, sl | sb += sl;
0x0000f7f2 eor.w sb, sb, r2 | sb ^= r2;
0x0000f7f6 ldr r2, [r5, 0x38] | r2 = *((r5 + 0x38));
0x0000f7f8 eor.w ip, ip, r2 |
0x0000f7fc lsr.w r2, sb, 0xe | r2 = sb >> 0xe;
0x0000f800 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f804 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f808 lsr.w r2, sb, 0x16 | r2 = sb >> 0x16;
0x0000f80c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f810 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f812 add r2, sl | r2 += sl;
0x0000f814 lsr.w sl, sb, 6 | sl = sb >> 6;
0x0000f818 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f81c ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f820 eor.w sl, sl, r2 | sl ^= r2;
0x0000f824 lsl.w r2, sb, 2 | r2 = sb << 2;
0x0000f828 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f82c ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f82e add r2, sl | r2 += sl;
0x0000f830 eor.w ip, r2, ip |
0x0000f834 ldr r2, [r5, 0x3c] | r2 = *((r5 + 0x3c));
0x0000f836 eor.w sb, sb, r2 | sb ^= r2;
0x0000f83a lsr.w r2, ip, 0xe | r2 = ip >> 0xe;
0x0000f83e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f842 ldr.w sl, [r3, r2] | sl = *((r3 + r2));
0x0000f846 lsr.w r2, ip, 0x16 | r2 = ip >> 0x16;
0x0000f84a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f84e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f850 add r2, sl | r2 += sl;
0x0000f852 lsr.w sl, ip, 6 | sl = ip >> 6;
0x0000f856 and sl, sl, 0x3fc | sl &= 0x3fc;
0x0000f85a ldr.w sl, [lr, sl] | sl = *((lr + sl));
0x0000f85c adr r0, 0x28 | r0 = 0x28;
0x0000f85e eor.w sl, sl, r2 | sl ^= r2;
0x0000f862 lsl.w r2, ip, 2 | r2 = ip << 2;
0x0000f866 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f86a ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f86c add r2, sl | r2 += sl;
0x0000f86e eor.w r2, r2, sb | r2 ^= sb;
0x0000f872 eor.w sl, r2, r0 | sl = r2 ^ r0;
0x0000f876 lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000f878 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000f87c ldr.w sb, [r3, r0] | sb = *((r3 + r0));
0x0000f880 lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000f882 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000f886 ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000f888 add r0, sb | r0 += sb;
0x0000f88a lsr.w sb, r2, 6 | sb = r2 >> 6;
0x0000f88e lsls r2, r2, 2 | r2 <<= 2;
0x0000f890 and sb, sb, 0x3fc | sb &= 0x3fc;
0x0000f894 ldr.w sb, [lr, sb] | sb = *((lr + sb));
0x0000f898 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f89c eor.w r0, sb, r0 | r0 = sb ^ r0;
0x0000f8a0 ldr.w sb, [r7, r2] | sb = *((r7 + r2));
0x0000f8a4 str sl, [r1], 8 | *(r1) = sl;
| r1 += 8;
0x0000f8a8 cmp r1, r8 |
0x0000f8aa add sb, r0 | sb += r0;
0x0000f8ac eor.w sb, sb, ip | sb ^= ip;
0x0000f8b0 eor.w r2, sb, r6 | r2 = sb ^ r6;
0x0000f8b4 str r2, [r1, -0x4] | *((r1 - 0x4)) = r2;
0x0000f8b8 bne.w 0xf4ac |
| }
0x0000f8bc ldr.w fp, [sp, 8] | fp = var_8h;
0x0000f8c0 mov r6, sl | r6 = sl;
0x0000f8c2 mov r1, r6 | r1 = r6;
0x0000f8c4 mov sl, r4 | sl = r4;
0x0000f8c6 mov r0, r2 | r0 = r2;
| do {
0x0000f8c8 ldr r2, [r5] | r2 = *(r5);
0x0000f8ca eors r1, r2 | r1 ^= r2;
0x0000f8cc ldr r2, [r5, 4] | r2 = *((r5 + 4));
0x0000f8ce lsrs r6, r1, 0xe | r6 = r1 >> 0xe;
0x0000f8d0 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f8d4 ldr.w ip, [r3, r6] | ip = *((r3 + r6));
0x0000f8d8 lsrs r6, r1, 0x16 | r6 = r1 >> 0x16;
0x0000f8da and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f8dc strb r7, [r7, 0x19] | *((r7 + 0x19)) = r7;
0x0000f8de ldr r6, [r4, r6] | r6 = *((r4 + r6));
0x0000f8e0 add r6, ip | r6 += ip;
0x0000f8e2 lsr.w ip, r1, 6 |
0x0000f8e6 and ip, ip, 0x3fc |
0x0000f8ea ldr.w ip, [lr, ip] | ip = *((lr + ip));
0x0000f8ee eor.w ip, ip, r6 |
0x0000f8f2 lsls r6, r1, 2 | r6 = r1 << 2;
0x0000f8f4 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f8f8 ldr r6, [r7, r6] | r6 = *((r7 + r6));
0x0000f8fa add r6, ip | r6 += ip;
0x0000f8fc eors r2, r6 | r2 ^= r6;
0x0000f8fe eors r0, r2 | r0 ^= r2;
0x0000f900 ldr r2, [r5, 8] | r2 = *((r5 + 8));
0x0000f902 eors r1, r2 | r1 ^= r2;
0x0000f904 lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000f906 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f90a ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000f90c lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000f90e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f912 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f914 add r2, r6 | r2 += r6;
0x0000f916 lsrs r6, r0, 6 | r6 = r0 >> 6;
0x0000f918 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f91c ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000f920 eors r6, r2 | r6 ^= r2;
0x0000f922 lsls r2, r0, 2 | r2 = r0 << 2;
0x0000f924 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f928 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f92a add r2, r6 | r2 += r6;
0x0000f92c eors r1, r2 | r1 ^= r2;
0x0000f92e ldr r2, [r5, 0xc] | r2 = *((r5 + 0xc));
0x0000f930 eors r0, r2 | r0 ^= r2;
0x0000f932 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f934 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f938 ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000f93a lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f93c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f940 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f942 add r2, r6 | r2 += r6;
0x0000f944 lsrs r6, r1, 6 | r6 = r1 >> 6;
0x0000f946 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f94a ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000f94e eors r6, r2 | r6 ^= r2;
0x0000f950 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000f952 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f956 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f958 add r2, r6 | r2 += r6;
0x0000f95a eors r0, r2 | r0 ^= r2;
0x0000f95c ldr r2, [r5, 0x10] | r2 = *((r5 + 0x10));
0x0000f95e eors r1, r2 | r1 ^= r2;
0x0000f960 lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000f962 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f966 ldr.w ip, [r3, r2] | ip = *((r3 + r2));
0x0000f96a lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000f96c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f970 ldr r6, [r4, r2] | r6 = *((r4 + r2));
0x0000f972 lsrs r2, r0, 6 | r2 = r0 >> 6;
0x0000f974 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f978 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f97c add r6, ip | r6 += ip;
0x0000f97e eors r2, r6 | r2 ^= r6;
0x0000f980 lsls r6, r0, 2 | r6 = r0 << 2;
0x0000f982 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000f986 ldr r6, [r7, r6] | r6 = *((r7 + r6));
0x0000f988 add r6, r2 | r6 += r2;
0x0000f98a ldr r2, [r5, 0x14] | r2 = *((r5 + 0x14));
0x0000f98c eors r6, r1 | r6 ^= r1;
0x0000f98e eors r0, r2 | r0 ^= r2;
0x0000f990 lsrs r2, r6, 0xe | r2 = r6 >> 0xe;
0x0000f992 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f996 ldr r1, [r3, r2] | r1 = *((r3 + r2));
0x0000f998 lsrs r2, r6, 0x16 | r2 = r6 >> 0x16;
0x0000f99a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f99e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000f9a0 add r2, r1 | r2 += r1;
0x0000f9a2 lsrs r1, r6, 6 | r1 = r6 >> 6;
0x0000f9a4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000f9a8 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000f9ac eors r1, r2 | r1 ^= r2;
0x0000f9ae lsls r2, r6, 2 | r2 = r6 << 2;
0x0000f9b0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9b4 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000f9b6 add r2, r1 | r2 += r1;
0x0000f9b8 eor.w r1, r2, r0 | r1 = r2 ^ r0;
0x0000f9bc ldr r2, [r5, 0x18] | r2 = *((r5 + 0x18));
0x0000f9be eors r6, r2 | r6 ^= r2;
0x0000f9c0 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000f9c2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9c6 ldr.w ip, [r3, r2] | ip = *((r3 + r2));
0x0000f9ca lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000f9cc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9d0 ldr r0, [r4, r2] | r0 = *((r4 + r2));
0x0000f9d2 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000f9d4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9d8 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000f9dc add r0, ip | r0 += ip;
0x0000f9de eors r2, r0 | r2 ^= r0;
0x0000f9e0 lsls r0, r1, 2 | r0 = r1 << 2;
0x0000f9e2 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000f9e6 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000f9e8 add r0, r2 | r0 += r2;
0x0000f9ea eors r0, r6 | r0 ^= r6;
0x0000f9ec lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000f9ee and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9f2 ldr.w ip, [r3, r2] | ip = *((r3 + r2));
0x0000f9f6 lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000f9f8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000f9fc ldr r6, [r4, r2] | r6 = *((r4 + r2));
0x0000f9fe lsrs r2, r0, 6 | r2 = r0 >> 6;
0x0000fa00 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa04 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000fa08 add r6, ip | r6 += ip;
0x0000fa0a eors r2, r6 | r2 ^= r6;
0x0000fa0c lsls r6, r0, 2 | r6 = r0 << 2;
0x0000fa0e and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fa12 ldr r6, [r7, r6] | r6 = *((r7 + r6));
0x0000fa14 add r6, r2 | r6 += r2;
0x0000fa16 ldr r2, [r5, 0x1c] | r2 = *((r5 + 0x1c));
0x0000fa18 eors r2, r1 | r2 ^= r1;
0x0000fa1a eor.w r1, r6, r2 | r1 = r6 ^ r2;
0x0000fa1e ldr r2, [r5, 0x20] | r2 = *((r5 + 0x20));
0x0000fa20 eors r0, r2 | r0 ^= r2;
0x0000fa22 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fa24 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa28 ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000fa2a lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000fa2c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa30 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fa32 add r2, r6 | r2 += r6;
0x0000fa34 lsrs r6, r1, 6 | r6 = r1 >> 6;
0x0000fa36 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fa3a ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fa3e eors r6, r2 | r6 ^= r2;
0x0000fa40 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000fa42 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa46 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fa48 add r2, r6 | r2 += r6;
0x0000fa4a eors r0, r2 | r0 ^= r2;
0x0000fa4c ldr r2, [r5, 0x24] | r2 = *((r5 + 0x24));
0x0000fa4e eors r1, r2 | r1 ^= r2;
0x0000fa50 lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000fa52 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa56 ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000fa58 lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000fa5a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa5e ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fa60 add r2, r6 | r2 += r6;
0x0000fa62 lsrs r6, r0, 6 | r6 = r0 >> 6;
0x0000fa64 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fa68 ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fa6c eors r6, r2 | r6 ^= r2;
0x0000fa6e lsls r2, r0, 2 | r2 = r0 << 2;
0x0000fa70 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa74 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fa76 add r2, r6 | r2 += r6;
0x0000fa78 eors r1, r2 | r1 ^= r2;
0x0000fa7a ldr r2, [r5, 0x28] | r2 = *((r5 + 0x28));
0x0000fa7c eors r0, r2 | r0 ^= r2;
0x0000fa7e lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fa80 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa84 ldr.w ip, [r3, r2] | ip = *((r3 + r2));
0x0000fa88 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000fa8a and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa8e ldr r6, [r4, r2] | r6 = *((r4 + r2));
0x0000fa90 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000fa92 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fa96 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000fa9a add r6, ip | r6 += ip;
0x0000fa9c eors r2, r6 | r2 ^= r6;
0x0000fa9e lsls r6, r1, 2 | r6 = r1 << 2;
0x0000faa0 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000faa4 ldr r6, [r7, r6] | r6 = *((r7 + r6));
0x0000faa6 add r6, r2 | r6 += r2;
0x0000faa8 ldr r2, [r5, 0x2c] | r2 = *((r5 + 0x2c));
0x0000faaa eors r6, r0 | r6 ^= r0;
0x0000faac eor.w r0, r1, r2 | r0 = r1 ^ r2;
0x0000fab0 lsrs r2, r6, 0xe | r2 = r6 >> 0xe;
0x0000fab2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fab6 ldr r1, [r3, r2] | r1 = *((r3 + r2));
0x0000fab8 lsrs r2, r6, 0x16 | r2 = r6 >> 0x16;
0x0000faba and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fabe ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fac0 add r2, r1 | r2 += r1;
0x0000fac2 lsrs r1, r6, 6 | r1 = r6 >> 6;
0x0000fac4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fac8 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000facc eors r1, r2 | r1 ^= r2;
0x0000face lsls r2, r6, 2 | r2 = r6 << 2;
0x0000fad0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fad4 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fad6 add r2, r1 | r2 += r1;
0x0000fad8 eor.w r1, r2, r0 | r1 = r2 ^ r0;
0x0000fadc ldr r2, [r5, 0x30] | r2 = *((r5 + 0x30));
0x0000fade eors r6, r2 | r6 ^= r2;
0x0000fae0 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fae2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fae6 ldr.w ip, [r3, r2] | ip = *((r3 + r2));
0x0000faea lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000faec and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000faf0 ldr r0, [r4, r2] | r0 = *((r4 + r2));
0x0000faf2 lsrs r2, r1, 6 | r2 = r1 >> 6;
0x0000faf4 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000faf8 ldr.w r2, [lr, r2] | r2 = *((lr + r2));
0x0000fafc add r0, ip | r0 += ip;
0x0000fafe eors r2, r0 | r2 ^= r0;
0x0000fb00 lsls r0, r1, 2 | r0 = r1 << 2;
0x0000fb02 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fb06 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000fb08 add r0, r2 | r0 += r2;
0x0000fb0a eors r0, r6 | r0 ^= r6;
0x0000fb0c lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000fb0e lsl.w ip, r0, 2 |
0x0000fb12 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fb16 and ip, ip, 0x3fc |
0x0000fb1a ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000fb1c lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000fb1e and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fb22 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fb24 add r2, r6 | r2 += r6;
0x0000fb26 lsrs r6, r0, 6 | r6 = r0 >> 6;
0x0000fb28 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fb2c ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fb30 eors r6, r2 | r6 ^= r2;
0x0000fb32 ldr r2, [r5, 0x34] | r2 = *((r5 + 0x34));
0x0000fb34 eors r2, r1 | r2 ^= r1;
0x0000fb36 ldr.w r1, [r7, ip] | r1 = *((r7 + ip));
0x0000fb3a add r1, r6 | r1 += r6;
0x0000fb3c eors r1, r2 | r1 ^= r2;
0x0000fb3e ldr r2, [r5, 0x38] | r2 = *((r5 + 0x38));
0x0000fb40 eors r0, r2 | r0 ^= r2;
0x0000fb42 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fb44 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fb48 ldr r6, [r3, r2] | r6 = *((r3 + r2));
0x0000fb4a lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000fb4c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fb50 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fb52 add r2, r6 | r2 += r6;
0x0000fb54 lsrs r6, r1, 6 | r6 = r1 >> 6;
0x0000fb56 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fb5a ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fb5e eors r6, r2 | r6 ^= r2;
0x0000fb60 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000fb62 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fb66 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fb68 add r2, r6 | r2 += r6;
0x0000fb6a eors r0, r2 | r0 ^= r2;
0x0000fb6c ldr r2, [r5, 0x3c] | r2 = *((r5 + 0x3c));
0x0000fb6e eors r2, r1 | r2 ^= r1;
0x0000fb70 lsrs r1, r0, 0xe | r1 = r0 >> 0xe;
0x0000fb72 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fb76 ldr r6, [r3, r1] | r6 = *((r3 + r1));
0x0000fb78 lsrs r1, r0, 0x16 | r1 = r0 >> 0x16;
0x0000fb7a and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fb7e ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000fb80 add r1, r6 | r1 += r6;
0x0000fb82 lsrs r6, r0, 6 | r6 = r0 >> 6;
0x0000fb84 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fb88 ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fb8c eors r6, r1 | r6 ^= r1;
0x0000fb8e lsls r1, r0, 2 | r1 = r0 << 2;
0x0000fb90 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fb94 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000fb96 add r1, r6 | r1 += r6;
0x0000fb98 eors r1, r2 | r1 ^= r2;
0x0000fb9a ldr r2, [r5, 0x40] | r2 = *((r5 + 0x40));
0x0000fb9c eors r2, r0 | r2 ^= r0;
0x0000fb9e lsrs r0, r1, 0xe | r0 = r1 >> 0xe;
0x0000fba0 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fba4 ldr r6, [r3, r0] | r6 = *((r3 + r0));
0x0000fba6 lsrs r0, r1, 0x16 | r0 = r1 >> 0x16;
0x0000fba8 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fbac ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000fbae add r0, r6 | r0 += r6;
0x0000fbb0 lsrs r6, r1, 6 | r6 = r1 >> 6;
0x0000fbb2 and r6, r6, 0x3fc | r6 &= 0x3fc;
0x0000fbb6 ldr.w r6, [lr, r6] | r6 = *((lr + r6));
0x0000fbba eors r6, r0 | r6 ^= r0;
0x0000fbbc lsls r0, r1, 2 | r0 = r1 << 2;
0x0000fbbe and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fbc2 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000fbc4 add r0, r6 | r0 += r6;
0x0000fbc6 eors r0, r2 | r0 ^= r2;
0x0000fbc8 ldr r2, [r5, 0x44] | r2 = *((r5 + 0x44));
0x0000fbca eors r1, r2 | r1 ^= r2;
0x0000fbcc str r1, [sl], 8 | *(sl) = r1;
| sl += 8;
0x0000fbd0 cmp sl, r5 |
0x0000fbd2 str r0, [sl, -0x4] | *((sl - 0x4)) = r0;
0x0000fbd6 bne.w 0xf8c8 |
| } while (sl != r5);
0x0000fbda ldr r2, [sp, 0xc] | r2 = var_ch;
0x0000fbdc cmp r2, 1 |
| if (r2 == 1) {
0x0000fbde beq 0xfc1c | goto label_8;
| }
0x0000fbe0 ldr r2, [sp, 0x18] | r2 = var_18h;
0x0000fbe2 ldrd r1, r0, [r5, 0x90] | __asm ("ldrd r1, r0, [r5, 0x90]");
0x0000fbe6 vld1.32 {d20}, [r2] | __asm ("vld1.32 {d20}, [r2]");
0x0000fbea vld1.32 {d18, d19}, [r2] | __asm ("vld1.32 {d18, d19}, [r2]");
0x0000fbee mov r2, r5 | r2 = r5;
| do {
0x0000fbf0 vld1.32 {d16, d17}, [r2] | __asm ("vld1.32 {d16, d17}, [r2]");
0x0000fbf4 veor q8, q8, q9 | __asm ("veor q8, q8, q9");
0x0000fbf8 vst1.32 {d16, d17}, [r2]! | __asm ("vst1.32 {d16, d17}, [r2]!");
0x0000fbfc cmp r2, fp |
0x0000fbfe bne 0xfbf0 |
| } while (r2 != fp);
0x0000fc00 ldr r2, [r5, 0x40] | r2 = *((r5 + 0x40));
0x0000fc02 vld1.32 {d16}, [fp] | __asm ("vld1.32 {d16}, [fp]");
0x0000fc06 veor d16, d16, d20 | __asm ("veor d16, d16, d20");
0x0000fc0a eor.w ip, r1, r2 |
0x0000fc0e ldr r2, [r5, 0x44] | r2 = *((r5 + 0x44));
0x0000fc10 vst1.32 {d16}, [fp] | __asm ("vst1.32 {d16}, [fp]");
0x0000fc14 eors r0, r2 | r0 ^= r2;
0x0000fc16 movs r2, 1 | r2 = 1;
0x0000fc18 str r2, [sp, 0xc] | var_ch = r2;
0x0000fc1a b 0xf488 | goto label_2;
| label_8:
0x0000fc1c ldrd r6, r2, [sp, 0x10] | __asm ("ldrd r6, r2, [var_10h]");
0x0000fc20 subs r6, 1 | r6--;
| if (r6 != 1) {
0x0000fc22 bne.w 0xf462 | goto label_3;
| }
0x0000fc26 ldrd ip, r1, [sl, 8] | __asm ("ldrd ip, r1, [sl, 8]");
0x0000fc2a mov r6, r2 | r6 = r2;
0x0000fc2c ldr.w r2, [pc, 0x444] |
0x0000fc30 add.w r5, r4, 0x1080 | r5 = r4 + 0x1080;
0x0000fc34 ldrd sb, r8, [sl] | __asm ("ldrd sb, r8, [sl]");
0x0000fc38 adds r5, 0x14 | r5 += 0x14;
0x0000fc3a str r1, [sp, 8] | var_8h = r1;
0x0000fc3c ldr.w r1, [sl, 0x10] | r1 = *((sl + 0x10));
0x0000fc40 add r2, pc | r2 = 0x1fcb8;
0x0000fc42 str r1, [sp, 0xc] | var_ch = r1;
0x0000fc44 ldr.w r1, [sl, 0x14] | r1 = *((sl + 0x14));
0x0000fc48 str r1, [sp, 0x10] | var_10h = r1;
0x0000fc4a ldr.w r1, [sl, 0x18] | r1 = *((sl + 0x18));
0x0000fc4e str r1, [sp, 0x14] | var_14h = r1;
0x0000fc50 ldr.w r1, [sl, 0x1c] | r1 = *((sl + 0x1c));
0x0000fc54 str r1, [sp, 0x18] | var_18h = r1;
0x0000fc56 ldr.w r1, [sl, 0x20] | r1 = *((sl + 0x20));
0x0000fc5a str r1, [sp, 0x1c] | var_1ch = r1;
0x0000fc5c ldr.w r1, [sl, 0x24] | r1 = *((sl + 0x24));
0x0000fc60 str r1, [sp, 0x20] | var_20h = r1;
0x0000fc62 ldr.w r1, [sl, 0x28] | r1 = *((sl + 0x28));
0x0000fc66 str r1, [sp, 0x24] | var_24h = r1;
0x0000fc68 ldr.w r1, [sl, 0x2c] | r1 = *((sl + 0x2c));
0x0000fc6c str r1, [sp, 0x28] | var_28h = r1;
0x0000fc6e ldr.w r1, [sl, 0x30] | r1 = *((sl + 0x30));
0x0000fc72 str r1, [sp, 0x2c] | var_2ch = r1;
0x0000fc74 ldr.w r1, [sl, 0x34] | r1 = *((sl + 0x34));
0x0000fc78 str r1, [sp, 0x30] | var_30h = r1;
0x0000fc7a ldr.w r1, [sl, 0x38] | r1 = *((sl + 0x38));
0x0000fc7e str r1, [sp, 0x34] | var_34h = r1;
0x0000fc80 ldr.w r1, [sl, 0x3c] | r1 = *((sl + 0x3c));
0x0000fc84 str r1, [sp, 0x38] | var_38h = r1;
0x0000fc86 ldrd r1, r0, [sl, 0x40] | __asm ("ldrd r1, r0, [sl, 0x40]");
0x0000fc8a add.w sl, r2, 0xc8 | sl = r2 + 0xc8;
0x0000fc8e adds r2, 0xe0 | r2 += 0xe0;
0x0000fc90 mov fp, sl |
0x0000fc92 str r2, [sp, 0x44] | *(arg_44h) = r2;
0x0000fc94 mov r2, r5 | r2 = r5;
0x0000fc96 str r6, [sp, 0x4c] | *(arg_4ch) = r6;
0x0000fc98 mov sl, r0 | sl = r0;
0x0000fc9a mov r6, r1 | r6 = r1;
| label_4:
0x0000fc9c ldrd r0, r1, [fp] | __asm ("ldrd r0, r1, [fp]");
0x0000fca0 movs r5, 0x40 | r5 = 0x40;
0x0000fca2 strd r2, fp, [sp, 0x3c] | __asm ("strd r2, fp, [var_0hx3c]");
0x0000fca6 str r5, [sp, 4] | var_4h = r5;
0x0000fca8 mov r2, r0 | r2 = r0;
| do {
0x0000fcaa eor.w r0, sb, r2 | r0 = sb ^ r2;
0x0000fcae ldr r5, [sp, 8] | r5 = var_8h;
0x0000fcb0 lsrs r2, r0, 0xe | r2 = r0 >> 0xe;
0x0000fcb2 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fcb6 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000fcba lsrs r2, r0, 0x16 | r2 = r0 >> 0x16;
0x0000fcbc and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fcc0 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fcc2 add r2, fp | r2 += fp;
0x0000fcc4 lsr.w fp, r0, 6 |
0x0000fcc8 and fp, fp, 0x3fc |
0x0000fccc ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fcd0 eor.w fp, fp, r2 |
0x0000fcd4 lsls r2, r0, 2 | r2 = r0 << 2;
0x0000fcd6 eor.w r0, ip, r0 | r0 = ip ^ r0;
0x0000fcda and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fcde ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fce0 add r2, fp | r2 += fp;
0x0000fce2 eor.w r2, r2, r8 | r2 ^= r8;
0x0000fce6 eors r2, r1 | r2 ^= r1;
0x0000fce8 lsrs r1, r2, 0xe | r1 = r2 >> 0xe;
0x0000fcea and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fcee ldr.w fp, [r3, r1] | fp = *((r3 + r1));
0x0000fcf2 lsrs r1, r2, 0x16 | r1 = r2 >> 0x16;
0x0000fcf4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fcf8 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000fcfa add fp, r1 |
0x0000fcfc lsrs r1, r2, 6 | r1 = r2 >> 6;
0x0000fcfe and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fd02 ldr.w r1, [lr, r1] | r1 = *((lr + r1));
0x0000fd06 eor.w r1, r1, fp | r1 ^= fp;
0x0000fd0a lsl.w fp, r2, 2 |
0x0000fd0e eors r2, r5 | r2 ^= r5;
0x0000fd10 ldr r5, [sp, 0xc] | r5 = var_ch;
0x0000fd12 and fp, fp, 0x3fc |
0x0000fd16 ldr.w fp, [r7, fp] | fp = *((r7 + fp));
0x0000fd1a add r1, fp | r1 += fp;
0x0000fd1c eors r1, r0 | r1 ^= r0;
0x0000fd1e lsrs r0, r1, 0xe | r0 = r1 >> 0xe;
0x0000fd20 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd24 ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000fd28 lsrs r0, r1, 0x16 | r0 = r1 >> 0x16;
0x0000fd2a and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd2e ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000fd30 add fp, r0 |
0x0000fd32 lsrs r0, r1, 6 | r0 = r1 >> 6;
0x0000fd34 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd38 ldr.w r0, [lr, r0] | r0 = *((lr + r0));
0x0000fd3c eor.w r0, r0, fp | r0 ^= fp;
0x0000fd40 lsl.w fp, r1, 2 |
0x0000fd44 eors r1, r5 | r1 ^= r5;
0x0000fd46 ldr r5, [sp, 0x10] | r5 = var_10h;
0x0000fd48 and fp, fp, 0x3fc |
0x0000fd4c ldr.w fp, [r7, fp] | fp = *((r7 + fp));
0x0000fd50 add fp, r0 |
0x0000fd52 eor.w r2, fp, r2 | r2 = fp ^ r2;
0x0000fd56 lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000fd58 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd5c ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000fd60 lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000fd62 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd66 ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000fd68 add r0, fp | r0 += fp;
0x0000fd6a lsr.w fp, r2, 6 |
0x0000fd6e and fp, fp, 0x3fc |
0x0000fd72 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fd76 eor.w fp, fp, r0 |
0x0000fd7a lsls r0, r2, 2 | r0 = r2 << 2;
0x0000fd7c eors r2, r5 | r2 ^= r5;
0x0000fd7e ldr r5, [sp, 0x14] | r5 = var_14h;
0x0000fd80 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fd84 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000fd86 add r0, fp | r0 += fp;
0x0000fd88 eors r0, r1 | r0 ^= r1;
0x0000fd8a lsrs r1, r0, 0xe | r1 = r0 >> 0xe;
0x0000fd8c and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fd90 ldr.w fp, [r3, r1] | fp = *((r3 + r1));
0x0000fd94 lsrs r1, r0, 0x16 | r1 = r0 >> 0x16;
0x0000fd96 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fd9a ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000fd9c add r1, fp | r1 += fp;
0x0000fd9e lsr.w fp, r0, 6 |
0x0000fda2 and fp, fp, 0x3fc |
0x0000fda6 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fdaa eor.w fp, fp, r1 |
0x0000fdae lsls r1, r0, 2 | r1 = r0 << 2;
0x0000fdb0 eors r0, r5 | r0 ^= r5;
0x0000fdb2 ldr r5, [sp, 0x18] | r5 = var_18h;
0x0000fdb4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fdb8 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000fdba add r1, fp | r1 += fp;
0x0000fdbc eors r1, r2 | r1 ^= r2;
0x0000fdbe lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fdc0 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fdc4 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000fdc8 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000fdca and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fdce ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fdd0 add r2, fp | r2 += fp;
0x0000fdd2 lsr.w fp, r1, 6 |
0x0000fdd6 and fp, fp, 0x3fc |
0x0000fdda ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fdde eor.w fp, fp, r2 |
0x0000fde2 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000fde4 eors r1, r5 | r1 ^= r5;
0x0000fde6 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fdea ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fdec add r2, fp | r2 += fp;
0x0000fdee eors r2, r0 | r2 ^= r0;
0x0000fdf0 lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000fdf2 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fdf6 ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000fdfa lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000fdfc and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fe00 ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000fe02 add r0, fp | r0 += fp;
0x0000fe04 lsr.w fp, r2, 6 |
0x0000fe08 and fp, fp, 0x3fc |
0x0000fe0c ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fe10 ldr r5, [sp, 0x1c] | r5 = var_1ch;
0x0000fe12 eor.w fp, fp, r0 |
0x0000fe16 lsls r0, r2, 2 | r0 = r2 << 2;
0x0000fe18 eors r2, r5 | r2 ^= r5;
0x0000fe1a ldr r5, [sp, 0x20] | r5 = var_20h;
0x0000fe1c and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fe20 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000fe22 add r0, fp | r0 += fp;
0x0000fe24 eors r0, r1 | r0 ^= r1;
0x0000fe26 lsrs r1, r0, 0xe | r1 = r0 >> 0xe;
0x0000fe28 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fe2c ldr.w fp, [r3, r1] | fp = *((r3 + r1));
0x0000fe30 lsrs r1, r0, 0x16 | r1 = r0 >> 0x16;
0x0000fe32 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fe36 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000fe38 add r1, fp | r1 += fp;
0x0000fe3a lsr.w fp, r0, 6 |
0x0000fe3e and fp, fp, 0x3fc |
0x0000fe42 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fe46 eor.w fp, fp, r1 |
0x0000fe4a lsls r1, r0, 2 | r1 = r0 << 2;
0x0000fe4c eors r0, r5 | r0 ^= r5;
0x0000fe4e ldr r5, [sp, 0x24] | r5 = var_24h;
0x0000fe50 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fe54 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000fe56 add r1, fp | r1 += fp;
0x0000fe58 eors r1, r2 | r1 ^= r2;
0x0000fe5a lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fe5c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fe60 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000fe64 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000fe66 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fe6a ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000fe6c add r2, fp | r2 += fp;
0x0000fe6e lsr.w fp, r1, 6 |
0x0000fe72 and fp, fp, 0x3fc |
0x0000fe76 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fe7a eor.w fp, fp, r2 |
0x0000fe7e lsls r2, r1, 2 | r2 = r1 << 2;
0x0000fe80 eors r1, r5 | r1 ^= r5;
0x0000fe82 ldr r5, [sp, 0x28] | r5 = var_28h;
0x0000fe84 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fe88 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000fe8a add r2, fp | r2 += fp;
0x0000fe8c eors r2, r0 | r2 ^= r0;
0x0000fe8e lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000fe90 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fe94 ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000fe98 lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000fe9a and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fe9e ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000fea0 add r0, fp | r0 += fp;
0x0000fea2 lsr.w fp, r2, 6 |
0x0000fea6 and fp, fp, 0x3fc |
0x0000feaa ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000feae eor.w fp, fp, r0 |
0x0000feb2 lsls r0, r2, 2 | r0 = r2 << 2;
0x0000feb4 eors r2, r5 | r2 ^= r5;
0x0000feb6 ldr r5, [sp, 0x2c] | r5 = var_2ch;
0x0000feb8 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000febc ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000febe add r0, fp | r0 += fp;
0x0000fec0 eors r0, r1 | r0 ^= r1;
0x0000fec2 lsrs r1, r0, 0xe | r1 = r0 >> 0xe;
0x0000fec4 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fec8 ldr.w fp, [r3, r1] | fp = *((r3 + r1));
0x0000fecc lsrs r1, r0, 0x16 | r1 = r0 >> 0x16;
0x0000fece and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fed2 ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000fed4 add r1, fp | r1 += fp;
0x0000fed6 lsr.w fp, r0, 6 |
0x0000feda and fp, fp, 0x3fc |
0x0000fede ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000fee2 eor.w fp, fp, r1 |
0x0000fee6 lsls r1, r0, 2 | r1 = r0 << 2;
0x0000fee8 eors r0, r5 | r0 ^= r5;
0x0000feea ldr r5, [sp, 0x30] | r5 = var_30h;
0x0000feec and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000fef0 ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000fef2 add r1, fp | r1 += fp;
0x0000fef4 eors r1, r2 | r1 ^= r2;
0x0000fef6 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000fef8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000fefc ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000ff00 lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ff02 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ff06 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ff08 add r2, fp | r2 += fp;
0x0000ff0a lsr.w fp, r1, 6 |
0x0000ff0e and fp, fp, 0x3fc |
0x0000ff12 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000ff16 eor.w fp, fp, r2 |
0x0000ff1a lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ff1c eors r1, r5 | r1 ^= r5;
0x0000ff1e ldr r5, [sp, 0x34] | r5 = var_34h;
0x0000ff20 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ff24 ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ff26 add r2, fp | r2 += fp;
0x0000ff28 eors r2, r0 | r2 ^= r0;
0x0000ff2a lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000ff2c and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000ff30 ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000ff34 lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000ff36 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000ff3a ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000ff3c add r0, fp | r0 += fp;
0x0000ff3e lsr.w fp, r2, 6 |
0x0000ff42 and fp, fp, 0x3fc |
0x0000ff46 ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000ff4a eor.w fp, fp, r0 |
0x0000ff4e lsls r0, r2, 2 | r0 = r2 << 2;
0x0000ff50 eors r2, r5 | r2 ^= r5;
0x0000ff52 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000ff56 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000ff58 add r0, fp | r0 += fp;
0x0000ff5a eors r0, r1 | r0 ^= r1;
0x0000ff5c lsrs r1, r0, 0xe | r1 = r0 >> 0xe;
0x0000ff5e and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ff62 ldr.w fp, [r3, r1] | fp = *((r3 + r1));
0x0000ff66 lsrs r1, r0, 0x16 | r1 = r0 >> 0x16;
0x0000ff68 ldr r5, [sp, 0x38] | r5 = var_38h;
0x0000ff6a and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ff6e ldr r1, [r4, r1] | r1 = *((r4 + r1));
0x0000ff70 add r1, fp | r1 += fp;
0x0000ff72 lsr.w fp, r0, 6 |
0x0000ff76 and fp, fp, 0x3fc |
0x0000ff7a ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000ff7e eor.w fp, fp, r1 |
0x0000ff82 lsls r1, r0, 2 | r1 = r0 << 2;
0x0000ff84 eors r0, r5 | r0 ^= r5;
0x0000ff86 and r1, r1, 0x3fc | r1 &= 0x3fc;
0x0000ff8a ldr r1, [r7, r1] | r1 = *((r7 + r1));
0x0000ff8c add r1, fp | r1 += fp;
0x0000ff8e eors r1, r2 | r1 ^= r2;
0x0000ff90 lsrs r2, r1, 0xe | r2 = r1 >> 0xe;
0x0000ff92 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ff96 ldr.w fp, [r3, r2] | fp = *((r3 + r2));
0x0000ff9a lsrs r2, r1, 0x16 | r2 = r1 >> 0x16;
0x0000ff9c and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ffa0 ldr r2, [r4, r2] | r2 = *((r4 + r2));
0x0000ffa2 add r2, fp | r2 += fp;
0x0000ffa4 lsr.w fp, r1, 6 |
0x0000ffa8 and fp, fp, 0x3fc |
0x0000ffac ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000ffb0 eor.w fp, fp, r2 |
0x0000ffb4 lsls r2, r1, 2 | r2 = r1 << 2;
0x0000ffb6 eors r1, r6 | r1 ^= r6;
0x0000ffb8 and r2, r2, 0x3fc | r2 &= 0x3fc;
0x0000ffbc ldr r2, [r7, r2] | r2 = *((r7 + r2));
0x0000ffbe add r2, fp | r2 += fp;
0x0000ffc0 eors r2, r0 | r2 ^= r0;
0x0000ffc2 lsrs r0, r2, 0xe | r0 = r2 >> 0xe;
0x0000ffc4 and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000ffc8 ldr.w fp, [r3, r0] | fp = *((r3 + r0));
0x0000ffcc lsrs r0, r2, 0x16 | r0 = r2 >> 0x16;
0x0000ffce and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000ffd2 ldr r0, [r4, r0] | r0 = *((r4 + r0));
0x0000ffd4 add r0, fp | r0 += fp;
0x0000ffd6 lsr.w fp, r2, 6 |
0x0000ffda and fp, fp, 0x3fc |
0x0000ffde ldr.w fp, [lr, fp] | fp = *((lr + fp));
0x0000ffe2 eor.w fp, fp, r0 |
0x0000ffe6 lsls r0, r2, 2 | r0 = r2 << 2;
0x0000ffe8 eor.w r2, sl, r2 | r2 = sl ^ r2;
0x0000ffec and r0, r0, 0x3fc | r0 &= 0x3fc;
0x0000fff0 ldr r0, [r7, r0] | r0 = *((r7 + r0));
0x0000fff2 add r0, fp | r0 += fp;
0x0000fff4 eors r1, r0 | r1 ^= r0;
0x0000fff6 ldr r0, [sp, 4] | r0 = var_4h;
0x0000fff8 subs r0, 1 | r0--;
0x0000fffa str r0, [sp, 4] | var_4h = r0;
0x0000fffc bne.w 0xfcaa |
| } while (r0 != 1);
0x00010000 mov r0, r2 | r0 = r2;
0x00010002 ldr r2, [sp, 0x3c] | r2 = var_3ch;
0x00010004 ldr.w fp, [sp, 0x40] | fp = *(arg_0h);
0x00010006 add sp, 0x100 |
0x00010008 ldr r5, [sp, 4] | r5 = var_4h;
0x0001000a str r0, [r2, -0x4] | *((r2 - 0x4)) = r0;
0x0001000c lsrs r4, r0, 0x10 | r4 = r0 >> 0x10;
0x0001000e str r1, [r2], 8 | *(r2) = r1;
| r2 += 8;
0x00010010 subs r0, r1, r4 | r0 = r1 - r4;
0x00010012 add.w fp, fp, 8 |
0x00010014 lsrs r0, r1, 0xc | r0 = r1 >> 0xc;
0x00010016 ldr r1, [sp, 0x44] | r1 = *(arg_44h);
0x00010018 cmp fp, r1 |
| if (fp != r1) {
0x0001001a bne.w 0xfc9c | goto label_4;
| }
0x0001001c add r6, sp, 0xfc | r6 = sp + 0xfc;
0x0001001e ldr r6, [sp, 0x4c] | r6 = *(arg_4ch);
0x00010020 ldr r4, [sp] | r4 = *(sp);
0x00010022 ldr r1, [r6] | r1 = *(r6);
0x00010024 ldr r2, [r6, 4] | r2 = *((r6 + 4));
0x00010026 ldr r3, [r6, 8] | r3 = *((r6 + 8));
0x00010028 ldr r0, [r6, 0xc] | r0 = *((r6 + 0xc));
0x0001002a str r1, [r4] | *(r4) = r1;
0x0001002c str r2, [r4, 4] | *((r4 + 4)) = r2;
0x0001002e str r0, [r4, 0xc] | *((r4 + 0xc)) = r0;
0x00010030 str r3, [r4, 8] | *((r4 + 8)) = r3;
0x00010032 ldr r3, [r6, 0x18] | r3 = *((r6 + 0x18));
0x00010034 ldr r1, [r6, 0x10] | r1 = *((r6 + 0x10));
0x00010036 ldr r2, [r6, 0x14] | r2 = *((r6 + 0x14));
0x00010038 str r3, [r4, 0x18] | *((r4 + 0x18)) = r3;
0x0001003a ldr r3, [pc, 0x3c] |
0x0001003c str r1, [r4, 0x10] | *((r4 + 0x10)) = r1;
0x0001003e movs r1, 6 | r1 = 6;
0x00010040 str r2, [r4, 0x14] | *((r4 + 0x14)) = r2;
0x00010042 ldrb r2, [r6, 0x1c] | r2 = *((r6 + 0x1c));
0x00010044 add r3, pc | r3 = 0x200c2;
0x00010046 ldr r6, [sp, 0x48] | r6 = *(arg_48h);
0x00010048 add r2, r3 | r2 += r3;
0x0001004a ldrb.w r2, [r2, 0x48] | r2 = *((r2 + 0x48));
0x0001004e mov r0, r6 | r0 = r6;
0x00010050 and r2, r2, 0x30 | r2 &= 0x30;
0x00010054 ldrb r3, [r3, r2] | r3 = *((r3 + r2));
0x00010056 movs r2, 0x17 | r2 = 0x17;
0x00010058 strb r3, [r4, 0x1c] | *((r4 + 0x1c)) = r3;
0x0001005a bl 0xe620 | fcn_0000e620 (r0, r1);
0x0001005e mov r0, r4 | r0 = r4;
0x00010060 mov r1, r6 | r1 = r6;
0x00010062 adds r0, 0x1d | r0 += 0x1d;
0x00010064 bl 0xe5a0 | fcn_0000e5a0 (r0, r1);
0x00010068 movs r0, 1 | r0 = 1;
0x0001006a strb.w r5, [r4, 0x3c] | *((r4 + 0x3c)) = r5;
0x0001006e b.w 0xe756 | goto label_5;
| }
[*] Function sprintf used 1 times libcrypt.so.2.0.0