From 974c683ffc21b4148eb661c8bdc6f06aa81a4465 Mon Sep 17 00:00:00 2001 From: Wendy Moniuk Date: Thu, 4 Sep 2025 19:38:47 -0400 Subject: [PATCH] decompile sub_71DC (#176) * decompile sub_71DC * remove expected objects file --- expected_objs/sub_71DC.o | Bin 15856 -> 0 bytes src/pokedex.c | 3313 +++++--------------------------------- 2 files changed, 379 insertions(+), 2934 deletions(-) delete mode 100644 expected_objs/sub_71DC.o diff --git a/expected_objs/sub_71DC.o b/expected_objs/sub_71DC.o deleted file mode 100644 index 9b3471b4b27878e9289b4f6d051241356023e4be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15856 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 0xC) | ((gUnknown_0202BE30[i * 2 + 1] & 0xFF) << 4); + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0201B130[i * 2 + 1] & 0xFF) << 4); + } + return; + case 2: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFF00) >> 8) | (gUnknown_0202BE30[i * 2 + 1] & 0xFF) << 8; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFF00) >> 8) | (gUnknown_0201B130[i * 2 + 1] & 0xFF) << 8; + } + return; + case 3: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2 + 1] & 0xF0) >> 0x4; + + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2 + 1] & 0xF0) >> 0x4; + } + return; + case 4: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= gUnknown_0202BE30[i * 2 + 1] & 0xFF; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2 + 1] & 0xFF; + } + return; + case 5: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0202BE30[i * 2 + 1] & 0xFF) << 4); + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0201B130[i * 2 + 1] & 0xFF) << 4); -// // _0800723E -// switch (var0) -// { -// case 0: -// for (i = 0; i < 8; i++) -// { -// gUnknown_03000000[i * 2 + var1 + 0x000] |= gUnknown_0202BE30[i * 2]; -// gUnknown_03000000[i * 2 + var1 + 0x001] |= gUnknown_0202BE30[i * 2 + 1] & 0xFF; -// gUnknown_03000000[i * 2 + var1 + 0x200] |= gUnknown_0201B130[i * 2]; -// gUnknown_03000000[i * 2 + var1 + 0x201] |= gUnknown_0201B130[i * 2 + 1] & 0xFF; -// } -// break; -// case 1: -// for (i = 0; i < 8; i++) -// { -// gUnknown_03000000[i * 2 + var1 + 0x000] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; -// // gUnknown_03000000[i * 2 + var1 + 0x001] |= (u8)gUnknown_0202BE30[i * 2 + 1]; -// // gUnknown_03000000[i * 2 + var1 + 0x200] |= gUnknown_0201B130[i * 2]; -// // gUnknown_03000000[i * 2 + var1 + 0x201] |= (u8)gUnknown_0201B130[i * 2 + 1]; -// } -// break; -// case 2: -// break; -// case 3: -// break; -// case 4: -// break; -// case 5: -// break; -// case 6: -// break; -// case 7: -// break; -// } -// break; -// case 5: -// break; -// case 4: -// break; -// case 3: -// break; -// case 2: -// break; -// } -// } + } + return; + case 6: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFF00) >> 0x8) | ((gUnknown_0202BE30[i * 2 + 1] & 0xFF) << 8); + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFF00) >> 0x8) | ((gUnknown_0201B130[i * 2 + 1] & 0xFF) << 8); + } + return; + case 7: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[(i * 2 + 0x11) + temp_r2] |= (gUnknown_0202BE30[i * 2 + 1] & 0xF0) >> 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[(i * 2 + 0x11) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2 + 1] & 0xF0) >> 4; -NAKED -void sub_71DC(int arg0, int arg1, int arg2) -{ - asm_unified("\n\ - push {r4, r5, r6, r7, lr}\n\ - mov r7, sl\n\ - mov r6, sb\n\ - mov r5, r8\n\ - push {r5, r6, r7}\n\ - sub sp, #0x14\n\ - adds r4, r0, #0\n\ - adds r3, r1, #0\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _080071F4\n\ - adds r0, r3, #7\n\ -_080071F4:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #4\n\ - lsls r1, r2, #0xa\n\ - adds r2, r0, r1\n\ - subs r0, r4, #2\n\ - cmp r0, #4\n\ - bls _08007206\n\ - bl _080088C8\n\ -_08007206:\n\ - lsls r0, r0, #2\n\ - ldr r1, _08007210 @ =_08007214\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08007210: .4byte _08007214\n\ -_08007214: @ jump table\n\ - .4byte _08008580 @ case 0\n\ - .4byte _0800819C @ case 1\n\ - .4byte _08007D50 @ case 2\n\ - .4byte _0800780C @ case 3\n\ - .4byte _08007228 @ case 4\n\ -_08007228:\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _08007230\n\ - adds r0, r3, #7\n\ -_08007230:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #3\n\ - subs r0, r3, r0\n\ - cmp r0, #7\n\ - bls _0800723E\n\ - bl _080088C8\n\ -_0800723E:\n\ - lsls r0, r0, #2\n\ - ldr r1, _08007248 @ =_0800724C\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08007248: .4byte _0800724C\n\ -_0800724C: @ jump table\n\ - .4byte _0800726C @ case 0\n\ - .4byte _080072EC @ case 1\n\ - .4byte _08007398 @ case 2\n\ - .4byte _0800744C @ case 3\n\ - .4byte _08007548 @ case 4\n\ - .4byte _080075C0 @ case 5\n\ - .4byte _0800766C @ case 6\n\ - .4byte _08007714 @ case 7\n\ -_0800726C:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - ldr r1, _080072E0 @ =gUnknown_03000000\n\ - mov sb, r1\n\ - movs r0, #0xff\n\ - mov sl, r0\n\ - ldr r1, _080072E4 @ =gUnknown_0201B130\n\ - mov r8, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r5, r0, r2\n\ - ldr r6, _080072E8 @ =gUnknown_0202BE30\n\ - lsls r1, r1, #1\n\ - adds r4, r1, r2\n\ -_08007290:\n\ - lsls r3, r7, #1\n\ - ldrh r0, [r5]\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - ldrh r1, [r6, #2]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldrh r0, [r4]\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r3, r3, r0\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r2, #2]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007290\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_080072E0: .4byte gUnknown_03000000\n\ -_080072E4: .4byte gUnknown_0201B130\n\ -_080072E8: .4byte gUnknown_0202BE30\n\ -_080072EC:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - ldr r1, _08007388 @ =gUnknown_03000000\n\ - mov sl, r1\n\ - ldr r0, _0800738C @ =gUnknown_0201B130\n\ - mov sb, r0\n\ - ldr r1, _08007390 @ =gUnknown_0202BE30\n\ - mov r8, r1\n\ - lsls r0, r2, #1\n\ - mov r2, sl\n\ - adds r6, r0, r2\n\ - movs r1, #0x80\n\ - lsls r1, r1, #3\n\ - adds r0, r0, r1\n\ - adds r5, r0, r2\n\ -_0800730C:\n\ - lsls r4, r7, #1\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - ldr r0, _08007394 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r4, ip\n\ - lsls r3, r4, #1\n\ - add r3, sl\n\ - ldrh r0, [r2]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - mov r0, sb\n\ - ldrh r1, [r0]\n\ - ldr r0, _08007394 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r4, r4, r1\n\ - lsls r4, r4, #1\n\ - add r4, sl\n\ - mov r2, sb\n\ - ldrh r0, [r2]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r0, #4\n\ - add sb, r0\n\ - add r8, r0\n\ - adds r6, #4\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800730C\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007388: .4byte gUnknown_03000000\n\ -_0800738C: .4byte gUnknown_0201B130\n\ -_08007390: .4byte gUnknown_0202BE30\n\ -_08007394: .4byte 0x00000FFF\n\ -_08007398:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - movs r0, #0xff\n\ - mov sl, r0\n\ - ldr r1, _08007440 @ =gUnknown_0201B130\n\ - mov sb, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - ldr r0, _08007444 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r0, r2, #1\n\ - ldr r2, _08007448 @ =gUnknown_03000000\n\ - adds r6, r0, r2\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_080073BA:\n\ - lsls r4, r7, #1\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r4, ip\n\ - lsls r3, r4, #1\n\ - ldr r1, _08007448 @ =gUnknown_03000000\n\ - adds r3, r3, r1\n\ - mov r2, r8\n\ - ldrh r0, [r2]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r2, #2]\n\ - mov r0, sl\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - mov r0, sb\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r4, r4, r1\n\ - lsls r4, r4, #1\n\ - ldr r2, _08007448 @ =gUnknown_03000000\n\ - adds r4, r4, r2\n\ - mov r1, sb\n\ - ldrh r0, [r1]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - mov r0, sb\n\ - ldrh r2, [r0, #2]\n\ - mov r0, sl\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #4\n\ - add sb, r1\n\ - adds r5, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080073BA\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007440: .4byte gUnknown_0201B130\n\ -_08007444: .4byte gUnknown_0202BE30\n\ -_08007448: .4byte gUnknown_03000000\n\ -_0800744C:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - movs r1, #0x10\n\ - adds r1, r1, r2\n\ - mov sb, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - movs r0, #2\n\ - str r0, [sp, #8]\n\ - ldr r0, _08007538 @ =gUnknown_0202BE30\n\ - mov sl, r0\n\ - lsls r0, r2, #1\n\ - ldr r2, _0800753C @ =gUnknown_03000000\n\ - adds r0, r0, r2\n\ - mov r8, r0\n\ - ldr r0, _08007540 @ =gUnknown_0201B130\n\ - str r0, [sp, #0x10]\n\ - lsls r1, r1, #1\n\ - adds r6, r1, r2\n\ -_08007476:\n\ - lsls r5, r7, #1\n\ - mov r2, sl\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - mov r0, ip\n\ - adds r4, r5, r0\n\ - lsls r3, r4, #1\n\ - ldr r1, _0800753C @ =gUnknown_03000000\n\ - adds r3, r3, r1\n\ - mov r2, sl\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007544 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - add r5, sb\n\ - lsls r2, r5, #1\n\ - ldr r0, _0800753C @ =gUnknown_03000000\n\ - adds r2, r2, r0\n\ - mov r0, sl\n\ - ldrh r1, [r0, #2]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r2, [sp, #0x10]\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r4, r4, r0\n\ - lsls r4, r4, #1\n\ - ldr r1, _0800753C @ =gUnknown_03000000\n\ - adds r4, r4, r1\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007544 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldr r2, [sp, #8]\n\ - ldr r0, _08007540 @ =gUnknown_0201B130\n\ - adds r3, r2, r0\n\ - ldrh r2, [r3]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r5, r5, r1\n\ - lsls r5, r5, #1\n\ - ldr r2, _0800753C @ =gUnknown_03000000\n\ - adds r5, r5, r2\n\ - ldrh r1, [r3]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - adds r6, #4\n\ - ldr r0, [sp, #8]\n\ - adds r0, #4\n\ - str r0, [sp, #8]\n\ - movs r1, #4\n\ - add sl, r1\n\ - add r8, r1\n\ - ldr r2, [sp, #0x10]\n\ - adds r2, #4\n\ - str r2, [sp, #0x10]\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007476\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007538: .4byte gUnknown_0202BE30\n\ -_0800753C: .4byte gUnknown_03000000\n\ -_08007540: .4byte gUnknown_0201B130\n\ -_08007544: .4byte 0x0000FFF0\n\ -_08007548:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _080075B4 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _080075B8 @ =gUnknown_0201B130\n\ - ldr r5, _080075BC @ =gUnknown_0202BE30\n\ -_08007560:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - ldrh r0, [r2]\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r5, #2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldrh r0, [r3]\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r6, #2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007560\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_080075B4: .4byte gUnknown_03000000\n\ -_080075B8: .4byte gUnknown_0201B130\n\ -_080075BC: .4byte gUnknown_0202BE30\n\ -_080075C0:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r2, _0800765C @ =gUnknown_03000000\n\ - mov sl, r2\n\ - ldr r0, _08007660 @ =gUnknown_0201B130\n\ - mov r8, r0\n\ - ldr r6, _08007664 @ =gUnknown_0202BE30\n\ -_080075D4:\n\ - lsls r5, r7, #1\n\ - mov r1, ip\n\ - adds r3, r5, r1\n\ - lsls r2, r3, #1\n\ - add r2, sl\n\ - ldrh r1, [r6]\n\ - ldr r0, _08007668 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r5, sb\n\ - lsls r4, r5, #1\n\ - add r4, sl\n\ - ldrh r0, [r6]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r6, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sl\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - ldr r0, _08007668 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, r5, r2\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - mov r1, r8\n\ - ldrh r0, [r1]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - mov r0, r8\n\ - ldrh r2, [r0, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080075D4\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_0800765C: .4byte gUnknown_03000000\n\ -_08007660: .4byte gUnknown_0201B130\n\ -_08007664: .4byte gUnknown_0202BE30\n\ -_08007668: .4byte 0x00000FFF\n\ -_0800766C:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08007708 @ =gUnknown_03000000\n\ - mov sl, r1\n\ - ldr r2, _0800770C @ =gUnknown_0201B130\n\ - mov r8, r2\n\ - ldr r6, _08007710 @ =gUnknown_0202BE30\n\ -_08007680:\n\ - lsls r5, r7, #1\n\ - mov r0, ip\n\ - adds r3, r5, r0\n\ - lsls r2, r3, #1\n\ - add r2, sl\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r5, sb\n\ - lsls r4, r5, #1\n\ - add r4, sl\n\ - ldrh r0, [r6]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r6, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r3, r3, r1\n\ - lsls r3, r3, #1\n\ - add r3, sl\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r5, r5, r0\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - ldrh r0, [r2]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xff\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007680\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007708: .4byte gUnknown_03000000\n\ -_0800770C: .4byte gUnknown_0201B130\n\ -_08007710: .4byte gUnknown_0202BE30\n\ -_08007714:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - movs r1, #0x10\n\ - adds r1, r1, r2\n\ - mov sb, r1\n\ - adds r2, #0x11\n\ - str r2, [sp]\n\ - ldr r2, _080077FC @ =gUnknown_03000000\n\ - mov sl, r2\n\ - movs r0, #2\n\ - str r0, [sp, #4]\n\ - ldr r1, _08007800 @ =gUnknown_0202BE30\n\ - mov r8, r1\n\ - ldr r2, _08007804 @ =gUnknown_0201B130\n\ - str r2, [sp, #0xc]\n\ -_08007734:\n\ - lsls r6, r7, #1\n\ - mov r0, ip\n\ - adds r4, r6, r0\n\ - lsls r2, r4, #1\n\ - add r2, sl\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - mov r1, sb\n\ - adds r5, r6, r1\n\ - lsls r3, r5, #1\n\ - add r3, sl\n\ - mov r2, r8\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007808 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - ldr r0, [sp]\n\ - adds r6, r6, r0\n\ - lsls r2, r6, #1\n\ - add r2, sl\n\ - mov r0, r8\n\ - ldrh r1, [r0, #2]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r4, r4, r1\n\ - lsls r4, r4, #1\n\ - add r4, sl\n\ - ldr r2, [sp, #0xc]\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r5, r5, r0\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007808 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldr r2, [sp, #4]\n\ - ldr r0, _08007804 @ =gUnknown_0201B130\n\ - adds r3, r2, r0\n\ - ldrh r2, [r3]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r6, r6, r1\n\ - lsls r6, r6, #1\n\ - add r6, sl\n\ - ldrh r1, [r3]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - ldr r2, [sp, #4]\n\ - adds r2, #4\n\ - str r2, [sp, #4]\n\ - movs r0, #4\n\ - add r8, r0\n\ - ldr r1, [sp, #0xc]\n\ - adds r1, #4\n\ - str r1, [sp, #0xc]\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007734\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_080077FC: .4byte gUnknown_03000000\n\ -_08007800: .4byte gUnknown_0202BE30\n\ -_08007804: .4byte gUnknown_0201B130\n\ -_08007808: .4byte 0x0000FFF0\n\ -_0800780C:\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _08007814\n\ - adds r0, r3, #7\n\ -_08007814:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #3\n\ - subs r0, r3, r0\n\ - cmp r0, #7\n\ - bls _08007822\n\ - bl _080088C8\n\ -_08007822:\n\ - lsls r0, r0, #2\n\ - ldr r1, _0800782C @ =_08007830\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_0800782C: .4byte _08007830\n\ -_08007830: @ jump table\n\ - .4byte _08007850 @ case 0\n\ - .4byte _080078D0 @ case 1\n\ - .4byte _0800797C @ case 2\n\ - .4byte _08007A28 @ case 3\n\ - .4byte _08007ADC @ case 4\n\ - .4byte _08007B54 @ case 5\n\ - .4byte _08007C00 @ case 6\n\ - .4byte _08007CA8 @ case 7\n\ -_08007850:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - ldr r1, _080078C4 @ =gUnknown_03000000\n\ - mov sb, r1\n\ - movs r0, #0xf\n\ - mov sl, r0\n\ - ldr r1, _080078C8 @ =gUnknown_0201B130\n\ - mov r8, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r5, r0, r2\n\ - ldr r6, _080078CC @ =gUnknown_0202BE30\n\ - lsls r1, r1, #1\n\ - adds r4, r1, r2\n\ -_08007874:\n\ - lsls r3, r7, #1\n\ - ldrh r0, [r5]\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - ldrh r1, [r6, #2]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldrh r0, [r4]\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r3, r3, r0\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r2, #2]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007874\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_080078C4: .4byte gUnknown_03000000\n\ -_080078C8: .4byte gUnknown_0201B130\n\ -_080078CC: .4byte gUnknown_0202BE30\n\ -_080078D0:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - ldr r1, _0800796C @ =gUnknown_03000000\n\ - mov sl, r1\n\ - ldr r0, _08007970 @ =gUnknown_0201B130\n\ - mov sb, r0\n\ - ldr r1, _08007974 @ =gUnknown_0202BE30\n\ - mov r8, r1\n\ - lsls r0, r2, #1\n\ - mov r2, sl\n\ - adds r6, r0, r2\n\ - movs r1, #0x80\n\ - lsls r1, r1, #3\n\ - adds r0, r0, r1\n\ - adds r5, r0, r2\n\ -_080078F0:\n\ - lsls r4, r7, #1\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - ldr r0, _08007978 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r4, ip\n\ - lsls r3, r4, #1\n\ - add r3, sl\n\ - ldrh r0, [r2]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - mov r0, sb\n\ - ldrh r1, [r0]\n\ - ldr r0, _08007978 @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r4, r4, r1\n\ - lsls r4, r4, #1\n\ - add r4, sl\n\ - mov r2, sb\n\ - ldrh r0, [r2]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r0, #4\n\ - add sb, r0\n\ - add r8, r0\n\ - adds r6, #4\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080078F0\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_0800796C: .4byte gUnknown_03000000\n\ -_08007970: .4byte gUnknown_0201B130\n\ -_08007974: .4byte gUnknown_0202BE30\n\ -_08007978: .4byte 0x00000FFF\n\ -_0800797C:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _08007A1C @ =gUnknown_03000000\n\ - mov sl, r0\n\ - ldr r1, _08007A20 @ =gUnknown_0201B130\n\ - mov sb, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - ldr r0, _08007A24 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sl\n\ - adds r6, r0, r2\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_0800799E:\n\ - lsls r4, r7, #1\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r4, ip\n\ - lsls r3, r4, #1\n\ - add r3, sl\n\ - mov r1, r8\n\ - ldrh r0, [r1]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - mov r0, r8\n\ - ldrh r2, [r0, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - mov r2, sb\n\ - ldrh r1, [r2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r4, r4, r0\n\ - lsls r4, r4, #1\n\ - add r4, sl\n\ - ldrh r0, [r2]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #4\n\ - add sb, r1\n\ - adds r5, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800799E\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007A1C: .4byte gUnknown_03000000\n\ -_08007A20: .4byte gUnknown_0201B130\n\ -_08007A24: .4byte gUnknown_0202BE30\n\ -_08007A28:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - movs r1, #0xf\n\ - mov sl, r1\n\ - ldr r0, _08007ACC @ =gUnknown_0201B130\n\ - mov sb, r0\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - ldr r0, _08007AD0 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r0, r2, #1\n\ - ldr r2, _08007AD4 @ =gUnknown_03000000\n\ - adds r6, r0, r2\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_08007A4A:\n\ - lsls r4, r7, #1\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r4, ip\n\ - lsls r3, r4, #1\n\ - ldr r1, _08007AD4 @ =gUnknown_03000000\n\ - adds r3, r3, r1\n\ - mov r2, r8\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007AD8 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldrh r2, [r2, #2]\n\ - mov r0, sl\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r3]\n\ - orrs r1, r0\n\ - strh r1, [r3]\n\ - mov r0, sb\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r4, r4, r1\n\ - lsls r4, r4, #1\n\ - ldr r2, _08007AD4 @ =gUnknown_03000000\n\ - adds r4, r4, r2\n\ - mov r1, sb\n\ - ldrh r0, [r1]\n\ - ldr r1, _08007AD8 @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - mov r0, sb\n\ - ldrh r2, [r0, #2]\n\ - mov r0, sl\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #4\n\ - add sb, r1\n\ - adds r5, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007A4A\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007ACC: .4byte gUnknown_0201B130\n\ -_08007AD0: .4byte gUnknown_0202BE30\n\ -_08007AD4: .4byte gUnknown_03000000\n\ -_08007AD8: .4byte 0x0000FFF0\n\ -_08007ADC:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08007B48 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _08007B4C @ =gUnknown_0201B130\n\ - ldr r5, _08007B50 @ =gUnknown_0202BE30\n\ -_08007AF4:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - ldrh r0, [r2]\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r5, #2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldrh r0, [r3]\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r6, #2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007AF4\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007B48: .4byte gUnknown_03000000\n\ -_08007B4C: .4byte gUnknown_0201B130\n\ -_08007B50: .4byte gUnknown_0202BE30\n\ -_08007B54:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r2, _08007BF0 @ =gUnknown_03000000\n\ - mov sl, r2\n\ - ldr r0, _08007BF4 @ =gUnknown_0201B130\n\ - mov r8, r0\n\ - ldr r6, _08007BF8 @ =gUnknown_0202BE30\n\ -_08007B68:\n\ - lsls r5, r7, #1\n\ - mov r1, ip\n\ - adds r3, r5, r1\n\ - lsls r2, r3, #1\n\ - add r2, sl\n\ - ldrh r1, [r6]\n\ - ldr r0, _08007BFC @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r5, sb\n\ - lsls r4, r5, #1\n\ - add r4, sl\n\ - ldrh r0, [r6]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - ldrh r2, [r6, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sl\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - ldr r0, _08007BFC @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, r5, r2\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - mov r1, r8\n\ - ldrh r0, [r1]\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #0xc\n\ - mov r0, r8\n\ - ldrh r2, [r0, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #4\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007B68\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007BF0: .4byte gUnknown_03000000\n\ -_08007BF4: .4byte gUnknown_0201B130\n\ -_08007BF8: .4byte gUnknown_0202BE30\n\ -_08007BFC: .4byte 0x00000FFF\n\ -_08007C00:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08007C9C @ =gUnknown_03000000\n\ - mov sl, r1\n\ - ldr r2, _08007CA0 @ =gUnknown_0201B130\n\ - mov r8, r2\n\ - ldr r6, _08007CA4 @ =gUnknown_0202BE30\n\ -_08007C14:\n\ - lsls r5, r7, #1\n\ - mov r0, ip\n\ - adds r3, r5, r0\n\ - lsls r2, r3, #1\n\ - add r2, sl\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r5, sb\n\ - lsls r4, r5, #1\n\ - add r4, sl\n\ - ldrh r0, [r6]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r6, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r3, r3, r1\n\ - lsls r3, r3, #1\n\ - add r3, sl\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r5, r5, r0\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - ldrh r0, [r2]\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - ands r1, r0\n\ - lsrs r1, r1, #8\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #8\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007C14\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007C9C: .4byte gUnknown_03000000\n\ -_08007CA0: .4byte gUnknown_0201B130\n\ -_08007CA4: .4byte gUnknown_0202BE30\n\ -_08007CA8:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08007D40 @ =gUnknown_03000000\n\ - mov sl, r1\n\ - ldr r2, _08007D44 @ =gUnknown_0201B130\n\ - mov r8, r2\n\ - ldr r6, _08007D48 @ =gUnknown_0202BE30\n\ -_08007CBC:\n\ - lsls r5, r7, #1\n\ - mov r0, ip\n\ - adds r3, r5, r0\n\ - lsls r2, r3, #1\n\ - add r2, sl\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r5, sb\n\ - lsls r4, r5, #1\n\ - add r4, sl\n\ - ldrh r0, [r6]\n\ - ldr r1, _08007D4C @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldrh r2, [r6, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r4]\n\ - orrs r1, r0\n\ - strh r1, [r4]\n\ - movs r1, #0x80\n\ - lsls r1, r1, #2\n\ - adds r3, r3, r1\n\ - lsls r3, r3, #1\n\ - add r3, sl\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r5, r5, r0\n\ - lsls r5, r5, #1\n\ - add r5, sl\n\ - ldrh r0, [r2]\n\ - ldr r1, _08007D4C @ =0x0000FFF0\n\ - ands r1, r0\n\ - lsrs r1, r1, #4\n\ - ldrh r2, [r2, #2]\n\ - movs r0, #0xf\n\ - ands r0, r2\n\ - lsls r0, r0, #0xc\n\ - orrs r1, r0\n\ - ldrh r0, [r5]\n\ - orrs r1, r0\n\ - strh r1, [r5]\n\ - movs r1, #4\n\ - add r8, r1\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007CBC\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007D40: .4byte gUnknown_03000000\n\ -_08007D44: .4byte gUnknown_0201B130\n\ -_08007D48: .4byte gUnknown_0202BE30\n\ -_08007D4C: .4byte 0x0000FFF0\n\ -_08007D50:\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _08007D58\n\ - adds r0, r3, #7\n\ -_08007D58:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #3\n\ - subs r0, r3, r0\n\ - cmp r0, #7\n\ - bls _08007D66\n\ - bl _080088C8\n\ -_08007D66:\n\ - lsls r0, r0, #2\n\ - ldr r1, _08007D70 @ =_08007D74\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_08007D70: .4byte _08007D74\n\ -_08007D74: @ jump table\n\ - .4byte _08007D94 @ case 0\n\ - .4byte _08007DD8 @ case 1\n\ - .4byte _08007E74 @ case 2\n\ - .4byte _08007F0C @ case 3\n\ - .4byte _08007FA4 @ case 4\n\ - .4byte _08007FF4 @ case 5\n\ - .4byte _08008084 @ case 6\n\ - .4byte _08008110 @ case 7\n\ -_08007D94:\n\ - movs r7, #0\n\ - ldr r1, _08007DCC @ =gUnknown_03000000\n\ - lsls r0, r2, #1\n\ - adds r3, r0, r1\n\ - ldr r5, _08007DD0 @ =gUnknown_0202BE30\n\ - ldr r4, _08007DD4 @ =gUnknown_0201B130\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r2, r0, r1\n\ -_08007DA8:\n\ - ldrh r0, [r3]\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - ldrh r0, [r2]\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r3, #4\n\ - adds r5, #4\n\ - adds r2, #4\n\ - adds r4, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007DA8\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007DCC: .4byte gUnknown_03000000\n\ -_08007DD0: .4byte gUnknown_0202BE30\n\ -_08007DD4: .4byte gUnknown_0201B130\n\ -_08007DD8:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - ldr r1, _08007E64 @ =gUnknown_03000000\n\ - mov sb, r1\n\ - movs r0, #0xf0\n\ - lsls r0, r0, #8\n\ - mov sl, r0\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _08007E68 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_08007DFC:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - ldr r0, _08007E6C @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _08007E70 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - ldr r0, _08007E6C @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #0xc\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007DFC\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007E64: .4byte gUnknown_03000000\n\ -_08007E68: .4byte gUnknown_0202BE30\n\ -_08007E6C: .4byte 0x00000FFF\n\ -_08007E70: .4byte gUnknown_0201B130\n\ -_08007E74:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _08007F00 @ =gUnknown_03000000\n\ - mov sb, r0\n\ - movs r1, #0xff\n\ - lsls r1, r1, #8\n\ - mov sl, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _08007F04 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_08007E98:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _08007F08 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007E98\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007F00: .4byte gUnknown_03000000\n\ -_08007F04: .4byte gUnknown_0202BE30\n\ -_08007F08: .4byte gUnknown_0201B130\n\ -_08007F0C:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _08007F94 @ =gUnknown_03000000\n\ - mov sb, r0\n\ - ldr r1, _08007F98 @ =0x0000FFF0\n\ - mov sl, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _08007F9C @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_08007F2E:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _08007FA0 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007F2E\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007F94: .4byte gUnknown_03000000\n\ -_08007F98: .4byte 0x0000FFF0\n\ -_08007F9C: .4byte gUnknown_0202BE30\n\ -_08007FA0: .4byte gUnknown_0201B130\n\ -_08007FA4:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r1, _08007FE8 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - ldr r6, _08007FEC @ =gUnknown_0202BE30\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - mov r5, ip\n\ -_08007FB6:\n\ - lsls r3, r7, #2\n\ - ldrh r0, [r4]\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r5, r0\n\ - lsls r2, r2, #1\n\ - add r2, r8\n\ - ldr r1, _08007FF0 @ =gUnknown_0201B130\n\ - adds r3, r3, r1\n\ - ldrh r0, [r2]\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r6, #4\n\ - adds r4, #4\n\ - adds r5, #2\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08007FB6\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08007FE8: .4byte gUnknown_03000000\n\ -_08007FEC: .4byte gUnknown_0202BE30\n\ -_08007FF0: .4byte gUnknown_0201B130\n\ -_08007FF4:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08008074 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _08008078 @ =gUnknown_0202BE30\n\ -_0800800A:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - ldr r0, _0800807C @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf0\n\ - lsls r0, r0, #8\n\ - ands r0, r1\n\ - lsrs r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _08008080 @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - ldr r0, _0800807C @ =0x00000FFF\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf0\n\ - lsls r0, r0, #8\n\ - ands r0, r1\n\ - lsrs r0, r0, #0xc\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800800A\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08008074: .4byte gUnknown_03000000\n\ -_08008078: .4byte gUnknown_0202BE30\n\ -_0800807C: .4byte 0x00000FFF\n\ -_08008080: .4byte gUnknown_0201B130\n\ -_08008084:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08008104 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _08008108 @ =gUnknown_0202BE30\n\ -_0800809A:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - lsls r0, r0, #8\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _0800810C @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - movs r0, #0xff\n\ - lsls r0, r0, #8\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800809A\n\ - bl _080088C8\n\ - .align 2, 0\n\ -_08008104: .4byte gUnknown_03000000\n\ -_08008108: .4byte gUnknown_0202BE30\n\ -_0800810C: .4byte gUnknown_0201B130\n\ -_08008110:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _0800818C @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _08008190 @ =gUnknown_0202BE30\n\ -_08008126:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - ldr r0, _08008194 @ =0x0000FFF0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _08008198 @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - ldr r0, _08008194 @ =0x0000FFF0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008126\n\ - b _080088C8\n\ - .align 2, 0\n\ -_0800818C: .4byte gUnknown_03000000\n\ -_08008190: .4byte gUnknown_0202BE30\n\ -_08008194: .4byte 0x0000FFF0\n\ -_08008198: .4byte gUnknown_0201B130\n\ -_0800819C:\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _080081A4\n\ - adds r0, r3, #7\n\ -_080081A4:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #3\n\ - subs r0, r3, r0\n\ - cmp r0, #7\n\ - bls _080081B0\n\ - b _080088C8\n\ -_080081B0:\n\ - lsls r0, r0, #2\n\ - ldr r1, _080081BC @ =_080081C0\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_080081BC: .4byte _080081C0\n\ -_080081C0: @ jump table\n\ - .4byte _080081E0 @ case 0\n\ - .4byte _08008230 @ case 1\n\ - .4byte _08008284 @ case 2\n\ - .4byte _08008318 @ case 3\n\ - .4byte _080083AC @ case 4\n\ - .4byte _0800840C @ case 5\n\ - .4byte _08008468 @ case 6\n\ - .4byte _080084F4 @ case 7\n\ -_080081E0:\n\ - movs r7, #0\n\ - ldr r1, _08008220 @ =gUnknown_03000000\n\ - ldr r6, _08008224 @ =0x00000FFF\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - ldr r5, _08008228 @ =gUnknown_0202BE30\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r3, r0, r1\n\ -_080081F4:\n\ - lsls r2, r7, #2\n\ - ldrh r1, [r5]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _0800822C @ =gUnknown_0201B130\n\ - adds r2, r2, r0\n\ - ldrh r1, [r2]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r3, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080081F4\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008220: .4byte gUnknown_03000000\n\ -_08008224: .4byte 0x00000FFF\n\ -_08008228: .4byte gUnknown_0202BE30\n\ -_0800822C: .4byte gUnknown_0201B130\n\ -_08008230:\n\ - movs r7, #0\n\ - ldr r1, _08008274 @ =gUnknown_03000000\n\ - ldr r6, _08008278 @ =0x00000FFF\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - ldr r5, _0800827C @ =gUnknown_0202BE30\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r3, r0, r1\n\ -_08008244:\n\ - lsls r2, r7, #2\n\ - ldrh r1, [r5]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _08008280 @ =gUnknown_0201B130\n\ - adds r2, r2, r0\n\ - ldrh r1, [r2]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r3, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008244\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008274: .4byte gUnknown_03000000\n\ -_08008278: .4byte 0x00000FFF\n\ -_0800827C: .4byte gUnknown_0202BE30\n\ -_08008280: .4byte gUnknown_0201B130\n\ -_08008284:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _0800830C @ =gUnknown_03000000\n\ - mov sb, r0\n\ - movs r1, #0xf0\n\ - lsls r1, r1, #4\n\ - mov sl, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _08008310 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_080082A8:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _08008314 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080082A8\n\ - b _080088C8\n\ - .align 2, 0\n\ -_0800830C: .4byte gUnknown_03000000\n\ -_08008310: .4byte gUnknown_0202BE30\n\ -_08008314: .4byte gUnknown_0201B130\n\ -_08008318:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _080083A0 @ =gUnknown_03000000\n\ - mov sb, r0\n\ - movs r1, #0xff\n\ - lsls r1, r1, #4\n\ - mov sl, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _080083A4 @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_0800833C:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _080083A8 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800833C\n\ - b _080088C8\n\ - .align 2, 0\n\ -_080083A0: .4byte gUnknown_03000000\n\ -_080083A4: .4byte gUnknown_0202BE30\n\ -_080083A8: .4byte gUnknown_0201B130\n\ -_080083AC:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r1, _080083FC @ =gUnknown_03000000\n\ - mov sb, r1\n\ - ldr r2, _08008400 @ =0x00000FFF\n\ - mov r8, r2\n\ - ldr r6, _08008404 @ =gUnknown_0202BE30\n\ - mov r1, ip\n\ - lsls r0, r1, #1\n\ - mov r2, sb\n\ - adds r4, r0, r2\n\ - mov r5, ip\n\ -_080083C6:\n\ - lsls r3, r7, #2\n\ - ldrh r1, [r6]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r5, r0\n\ - lsls r2, r2, #1\n\ - add r2, sb\n\ - ldr r1, _08008408 @ =gUnknown_0201B130\n\ - adds r3, r3, r1\n\ - ldrh r1, [r3]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r6, #4\n\ - adds r4, #4\n\ - adds r5, #2\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080083C6\n\ - b _080088C8\n\ - .align 2, 0\n\ -_080083FC: .4byte gUnknown_03000000\n\ -_08008400: .4byte 0x00000FFF\n\ -_08008404: .4byte gUnknown_0202BE30\n\ -_08008408: .4byte gUnknown_0201B130\n\ -_0800840C:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r6, _08008458 @ =gUnknown_03000000\n\ - ldr r2, _0800845C @ =0x00000FFF\n\ - mov r8, r2\n\ - ldr r5, _08008460 @ =gUnknown_0202BE30\n\ -_0800841A:\n\ - lsls r2, r7, #1\n\ - add r2, ip\n\ - lsls r3, r2, #1\n\ - adds r3, r3, r6\n\ - lsls r4, r7, #2\n\ - ldrh r1, [r5]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r2, r0\n\ - lsls r2, r2, #1\n\ - adds r2, r2, r6\n\ - ldr r1, _08008464 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800841A\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008458: .4byte gUnknown_03000000\n\ -_0800845C: .4byte 0x00000FFF\n\ -_08008460: .4byte gUnknown_0202BE30\n\ -_08008464: .4byte gUnknown_0201B130\n\ -_08008468:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _080084E8 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _080084EC @ =gUnknown_0202BE30\n\ -_0800847E:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf0\n\ - lsls r0, r0, #4\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _080084F0 @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - movs r0, #0xff\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf0\n\ - lsls r0, r0, #4\n\ - ands r0, r1\n\ - lsrs r0, r0, #8\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800847E\n\ - b _080088C8\n\ - .align 2, 0\n\ -_080084E8: .4byte gUnknown_03000000\n\ -_080084EC: .4byte gUnknown_0202BE30\n\ -_080084F0: .4byte gUnknown_0201B130\n\ -_080084F4:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _08008574 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _08008578 @ =gUnknown_0202BE30\n\ -_0800850A:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - movs r0, #0xff\n\ - lsls r0, r0, #4\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _0800857C @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - movs r0, #0xff\n\ - lsls r0, r0, #4\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800850A\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008574: .4byte gUnknown_03000000\n\ -_08008578: .4byte gUnknown_0202BE30\n\ -_0800857C: .4byte gUnknown_0201B130\n\ -_08008580:\n\ - adds r0, r3, #0\n\ - cmp r3, #0\n\ - bge _08008588\n\ - adds r0, r3, #7\n\ -_08008588:\n\ - asrs r0, r0, #3\n\ - lsls r0, r0, #3\n\ - subs r0, r3, r0\n\ - cmp r0, #7\n\ - bls _08008594\n\ - b _080088C8\n\ -_08008594:\n\ - lsls r0, r0, #2\n\ - ldr r1, _080085A0 @ =_080085A4\n\ - adds r0, r0, r1\n\ - ldr r0, [r0]\n\ - mov pc, r0\n\ - .align 2, 0\n\ -_080085A0: .4byte _080085A4\n\ -_080085A4: @ jump table\n\ - .4byte _080085C4 @ case 0\n\ - .4byte _08008610 @ case 1\n\ - .4byte _08008660 @ case 2\n\ - .4byte _080086B0 @ case 3\n\ - .4byte _08008744 @ case 4\n\ - .4byte _080087A0 @ case 5\n\ - .4byte _080087F8 @ case 6\n\ - .4byte _08008850 @ case 7\n\ -_080085C4:\n\ - movs r7, #0\n\ - ldr r1, _08008604 @ =gUnknown_03000000\n\ - movs r6, #0xff\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - ldr r5, _08008608 @ =gUnknown_0202BE30\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r3, r0, r1\n\ -_080085D8:\n\ - lsls r2, r7, #2\n\ - ldrh r1, [r5]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _0800860C @ =gUnknown_0201B130\n\ - adds r2, r2, r0\n\ - ldrh r1, [r2]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r3, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080085D8\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008604: .4byte gUnknown_03000000\n\ -_08008608: .4byte gUnknown_0202BE30\n\ -_0800860C: .4byte gUnknown_0201B130\n\ -_08008610:\n\ - movs r7, #0\n\ - ldr r1, _08008654 @ =gUnknown_03000000\n\ - movs r6, #0xff\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - ldr r5, _08008658 @ =gUnknown_0202BE30\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r3, r0, r1\n\ -_08008624:\n\ - lsls r2, r7, #2\n\ - ldrh r1, [r5]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _0800865C @ =gUnknown_0201B130\n\ - adds r2, r2, r0\n\ - ldrh r1, [r2]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r3, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008624\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008654: .4byte gUnknown_03000000\n\ -_08008658: .4byte gUnknown_0202BE30\n\ -_0800865C: .4byte gUnknown_0201B130\n\ -_08008660:\n\ - movs r7, #0\n\ - ldr r1, _080086A4 @ =gUnknown_03000000\n\ - movs r6, #0xff\n\ - lsls r0, r2, #1\n\ - adds r4, r0, r1\n\ - ldr r5, _080086A8 @ =gUnknown_0202BE30\n\ - movs r2, #0x80\n\ - lsls r2, r2, #3\n\ - adds r0, r0, r2\n\ - adds r3, r0, r1\n\ -_08008674:\n\ - lsls r2, r7, #2\n\ - ldrh r1, [r5]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - ldr r0, _080086AC @ =gUnknown_0201B130\n\ - adds r2, r2, r0\n\ - ldrh r1, [r2]\n\ - adds r0, r6, #0\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r4, #4\n\ - adds r5, #4\n\ - adds r3, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008674\n\ - b _080088C8\n\ - .align 2, 0\n\ -_080086A4: .4byte gUnknown_03000000\n\ -_080086A8: .4byte gUnknown_0202BE30\n\ -_080086AC: .4byte gUnknown_0201B130\n\ -_080086B0:\n\ - movs r7, #0\n\ - adds r1, r2, #1\n\ - mov ip, r1\n\ - ldr r0, _08008738 @ =gUnknown_03000000\n\ - mov sb, r0\n\ - movs r1, #0xf0\n\ - mov sl, r1\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r1, r2, r0\n\ - lsls r0, r2, #1\n\ - mov r2, sb\n\ - adds r6, r0, r2\n\ - ldr r0, _0800873C @ =gUnknown_0202BE30\n\ - mov r8, r0\n\ - lsls r1, r1, #1\n\ - adds r5, r1, r2\n\ -_080086D2:\n\ - lsls r3, r7, #1\n\ - lsls r4, r7, #2\n\ - mov r2, r8\n\ - ldrh r1, [r2]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r6]\n\ - orrs r0, r1\n\ - strh r0, [r6]\n\ - add r3, ip\n\ - lsls r2, r3, #1\n\ - add r2, sb\n\ - mov r0, r8\n\ - ldrh r1, [r0]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - ldr r1, _08008740 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r5]\n\ - orrs r0, r1\n\ - strh r0, [r5]\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - adds r3, r3, r2\n\ - lsls r3, r3, #1\n\ - add r3, sb\n\ - ldrh r1, [r4]\n\ - mov r0, sl\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - adds r5, #4\n\ - adds r6, #4\n\ - movs r0, #4\n\ - add r8, r0\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080086D2\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008738: .4byte gUnknown_03000000\n\ -_0800873C: .4byte gUnknown_0202BE30\n\ -_08008740: .4byte gUnknown_0201B130\n\ -_08008744:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r1, _08008794 @ =gUnknown_03000000\n\ - mov sb, r1\n\ - movs r2, #0xff\n\ - mov r8, r2\n\ - ldr r6, _08008798 @ =gUnknown_0202BE30\n\ - mov r1, ip\n\ - lsls r0, r1, #1\n\ - mov r2, sb\n\ - adds r4, r0, r2\n\ - mov r5, ip\n\ -_0800875E:\n\ - lsls r3, r7, #2\n\ - ldrh r1, [r6]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r5, r0\n\ - lsls r2, r2, #1\n\ - add r2, sb\n\ - ldr r1, _0800879C @ =gUnknown_0201B130\n\ - adds r3, r3, r1\n\ - ldrh r1, [r3]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r6, #4\n\ - adds r4, #4\n\ - adds r5, #2\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _0800875E\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008794: .4byte gUnknown_03000000\n\ -_08008798: .4byte gUnknown_0202BE30\n\ -_0800879C: .4byte gUnknown_0201B130\n\ -_080087A0:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r6, _080087EC @ =gUnknown_03000000\n\ - movs r2, #0xff\n\ - mov r8, r2\n\ - ldr r5, _080087F0 @ =gUnknown_0202BE30\n\ -_080087AE:\n\ - lsls r2, r7, #1\n\ - add r2, ip\n\ - lsls r3, r2, #1\n\ - adds r3, r3, r6\n\ - lsls r4, r7, #2\n\ - ldrh r1, [r5]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r2, r0\n\ - lsls r2, r2, #1\n\ - adds r2, r2, r6\n\ - ldr r1, _080087F4 @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _080087AE\n\ - b _080088C8\n\ - .align 2, 0\n\ -_080087EC: .4byte gUnknown_03000000\n\ -_080087F0: .4byte gUnknown_0202BE30\n\ -_080087F4: .4byte gUnknown_0201B130\n\ -_080087F8:\n\ - movs r7, #0\n\ - adds r2, #1\n\ - mov ip, r2\n\ - ldr r6, _08008844 @ =gUnknown_03000000\n\ - movs r2, #0xff\n\ - mov r8, r2\n\ - ldr r5, _08008848 @ =gUnknown_0202BE30\n\ -_08008806:\n\ - lsls r2, r7, #1\n\ - add r2, ip\n\ - lsls r3, r2, #1\n\ - adds r3, r3, r6\n\ - lsls r4, r7, #2\n\ - ldrh r1, [r5]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - movs r0, #0x80\n\ - lsls r0, r0, #2\n\ - adds r2, r2, r0\n\ - lsls r2, r2, #1\n\ - adds r2, r2, r6\n\ - ldr r1, _0800884C @ =gUnknown_0201B130\n\ - adds r4, r4, r1\n\ - ldrh r1, [r4]\n\ - mov r0, r8\n\ - ands r0, r1\n\ - lsls r0, r0, #8\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - adds r5, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008806\n\ - b _080088C8\n\ - .align 2, 0\n\ -_08008844: .4byte gUnknown_03000000\n\ -_08008848: .4byte gUnknown_0202BE30\n\ -_0800884C: .4byte gUnknown_0201B130\n\ -_08008850:\n\ - movs r7, #0\n\ - adds r0, r2, #1\n\ - mov ip, r0\n\ - adds r2, #0x10\n\ - mov sb, r2\n\ - ldr r1, _080088D8 @ =gUnknown_03000000\n\ - mov r8, r1\n\ - movs r2, #0x80\n\ - lsls r2, r2, #2\n\ - mov sl, r2\n\ - ldr r6, _080088DC @ =gUnknown_0202BE30\n\ -_08008866:\n\ - lsls r4, r7, #1\n\ - mov r0, ip\n\ - adds r3, r4, r0\n\ - lsls r2, r3, #1\n\ - add r2, r8\n\ - lsls r5, r7, #2\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r4, sb\n\ - lsls r2, r4, #1\n\ - add r2, r8\n\ - ldrh r1, [r6]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r2]\n\ - orrs r0, r1\n\ - strh r0, [r2]\n\ - add r3, sl\n\ - lsls r3, r3, #1\n\ - add r3, r8\n\ - ldr r1, _080088E0 @ =gUnknown_0201B130\n\ - adds r5, r5, r1\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf\n\ - ands r0, r1\n\ - lsls r0, r0, #0xc\n\ - ldrh r1, [r3]\n\ - orrs r0, r1\n\ - strh r0, [r3]\n\ - add r4, sl\n\ - lsls r4, r4, #1\n\ - add r4, r8\n\ - ldrh r1, [r5]\n\ - movs r0, #0xf0\n\ - ands r0, r1\n\ - lsrs r0, r0, #4\n\ - ldrh r1, [r4]\n\ - orrs r0, r1\n\ - strh r0, [r4]\n\ - adds r6, #4\n\ - adds r7, #1\n\ - cmp r7, #7\n\ - ble _08008866\n\ -_080088C8:\n\ - add sp, #0x14\n\ - pop {r3, r4, r5}\n\ - mov r8, r3\n\ - mov sb, r4\n\ - mov sl, r5\n\ - pop {r4, r5, r6, r7}\n\ - pop {r0}\n\ - bx r0\n\ - .align 2, 0\n\ -_080088D8: .4byte gUnknown_03000000\n\ -_080088DC: .4byte gUnknown_0202BE30\n\ -_080088E0: .4byte gUnknown_0201B130\n\ - "); + } + return; + default: + return; + } + break; + case 5: + switch (arg1 % 8) { + case 0: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= gUnknown_0202BE30[i * 2 + 1] & 0xF; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2 + 1] & 0xF; + + } + return; + case 1: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 4); + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 4); + + } + return; + case 2: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFF00) >> 0x8) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 8); + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFF00) >> 0x8) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 8); + + } + return; + case 3: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFFF0) >> 0x4) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 0xC); + + } + return; + case 4: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= gUnknown_0202BE30[i * 2 + 1] & 0xF; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2 + 1] & 0xF; + + } + return; + case 5: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 4); + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xF000) >> 0xC) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 4); + + } + return; + case 6: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFF00) >> 8) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 8); + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFF00) >> 0x8) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 8); + + } + return; + case 7: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= ((gUnknown_0202BE30[i * 2] & 0xFFF0) >> 4) | ((gUnknown_0202BE30[i * 2 + 1] & 0xF) << 0xC); + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= ((gUnknown_0201B130[i * 2] & 0xFFF0) >> 4) | ((gUnknown_0201B130[i * 2 + 1] & 0xF) << 0xC); + + } + return; + } + break; + case 4: + switch (arg1 % 8) { + case 0: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + } + return; + case 1: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF000) >> 0xC; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF000) >> 0xC; + } + return; + case 2: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF00) >> 8; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF00) >> 8; + } + return; + case 3: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF0) >> 4; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF0) >> 4; + } + return; + case 4: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + } + return; + case 5: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF000) >> 0xC; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF000) >> 0xC; + } + return; + case 6: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF00) >> 8; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF00) >> 8; + } + return; + case 7: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF0) >> 4; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF0) >> 4; + } + return; + } + break; + case 3: + switch (arg1 % 8) { + case 0: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF); + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF); + } + return; + case 1: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + } + return; + case 2: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF00) >> 8; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF00) >> 8; + } + return; + case 3: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF0) >> 4; + gUnknown_03000000[(i * 2) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF0) >> 4; + } + return; + case 4: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF); + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF); + } + return; + case 5: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFFF) << 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFFF) << 4; + } + return; + case 6: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF00) >> 8; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF00) >> 8; + } + return; + case 7: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF0) >> 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF0) >> 4; + } + return; + } + break; + case 2: + switch (arg1 % 8) { + case 0: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF); + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF); + } + return; + case 1: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 4; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 4; + } + return; + case 2: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 8; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 8; + } + return; + case 3: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF0) >> 4; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF0) >> 4; + } + return; + case 4: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF); + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF); + } + return; + case 5: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 0x4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 0x4; + } + return; + case 6: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xFF) << 0x8; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xFF) << 0x8; + } + return; + case 7: + for(i = 0; i <=7; i++) + { + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2] |= (gUnknown_0202BE30[i * 2] & 0xF0) >> 4; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF) << 0xC; + gUnknown_03000000[(i * 2 + 0x10) + temp_r2 + 0x200] |= (gUnknown_0201B130[i * 2] & 0xF0) >> 4; + } + break; + } + break; + } } + void sub_88E4(void) { int i;