diff --git a/expected_objs/sub_71DC.o b/expected_objs/sub_71DC.o deleted file mode 100644 index 9b3471b..0000000 Binary files a/expected_objs/sub_71DC.o and /dev/null differ diff --git a/src/pokedex.c b/src/pokedex.c index 66e6a86..a0942ab 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -1960,2945 +1960,390 @@ void sub_70E0(s16 species, u32 page) DmaCopy16(3, gUnknown_03000000, (void *)VRAM + 0x5C00, 0x1800); } -// void sub_71DC(int arg0, int arg1, int arg2) -// { -// int i; -// int var0; -// int var1; - -// var0 = arg1; -// if (var0 < 0) -// var0 += 7; +void sub_71DC(s32 arg0, s32 arg1, s32 arg2) { + int i; + s32 temp_r2; -// var1 = (var0 / 8) * 16 + (arg2 * 0x400); -// switch (arg0) -// { -// case 6: -// // _08007228 -// var0 = arg1; -// if (arg1 < 0) -// var0 += 7; - -// var0 = arg1 - (var0 / 8) * 8; + temp_r2 = ((arg1 / 8) * 0x10) + (arg2 * 0x400); + + switch (arg0) { + case 6: + switch (arg1 % 8) { + case 0: + for(i = 0; i < 8; i++) + { + gUnknown_03000000[i * 2 + temp_r2] |= gUnknown_0202BE30[i * 2]; + gUnknown_03000000[(i * 2 + 1) + temp_r2] |= gUnknown_0202BE30[i * 2 + 1] & 0xFF; + gUnknown_03000000[i * 2 + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2]; + gUnknown_03000000[(i * 2 + 1) + temp_r2 + 0x200] |= gUnknown_0201B130[i * 2 + 1] & 0xFF; + } + 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] & 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;