.include "macros.inc" .section .data .balign 8 .global lbl_803DAF38 lbl_803DAF38: # ROM: 0x3D7F38 .4byte 0 .4byte UpdateSupport1__FiPP9CVector2fR7Support .4byte UpdateSupport2__FiPP9CVector2fR7Support .4byte UpdateSupport3__FiPP9CVector2fR7Support .global lbl_803DAF48 lbl_803DAF48: # ROM: 0x3D7F48 .4byte 0 .4byte 0 .4byte "__dt__36TObjOwnerDerivedFromIObj<9CMapWorld>Fv" .4byte 0 .section .sdata .balign 8 .global lbl_805A71C0 lbl_805A71C0: # ROM: 0x3F4B60 .4byte 0 .global lbl_805A71C4 lbl_805A71C4: # ROM: 0x3F4B64 .4byte 0 .global lbl_805A71C8 lbl_805A71C8: # ROM: 0x3F4B68 .float 0.5 .4byte 0 .section .sdata2, "a" .balign 8 .global lbl_805AA940 lbl_805AA940: # ROM: 0x3F71E0 .4byte 0 .global lbl_805AA944 lbl_805AA944: # ROM: 0x3F71E4 .float 0.01 .global lbl_805AA948 lbl_805AA948: # ROM: 0x3F71E8 .4byte 0x7F7FFFFF .global lbl_805AA94C lbl_805AA94C: # ROM: 0x3F71EC .float 0.5 .global lbl_805AA950 lbl_805AA950: # ROM: 0x3F71F0 .float 1.0 .global lbl_805AA954 lbl_805AA954: # ROM: 0x3F71F4 .float 0.25 .global lbl_805AA958 lbl_805AA958: # ROM: 0x3F71F8 .float 1.1920929E-7 .global lbl_805AA95C lbl_805AA95C: # ROM: 0x3F71FC .4byte 0xFF7FFFFF .global lbl_805AA960 lbl_805AA960: # ROM: 0x3F7200 .float 255.0 .global lbl_805AA964 lbl_805AA964: # ROM: 0x3F7204 .float -1.0 .global lbl_805AA968 lbl_805AA968: # ROM: 0x3F7208 .double 1.0 .global lbl_805AA970 lbl_805AA970: # ROM: 0x3F7210 .float 9999.0 .4byte 0 .section .text, "ax" .global MinCircle__FiPC9CVector2f MinCircle__FiPC9CVector2f: /* 8009E6D4 0009B634 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8009E6D8 0009B638 7C 08 02 A6 */ mflr r0 /* 8009E6DC 0009B63C 90 01 00 94 */ stw r0, 0x94(r1) /* 8009E6E0 0009B640 DB E1 00 80 */ stfd f31, 0x80(r1) /* 8009E6E4 0009B644 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 8009E6E8 0009B648 BF 21 00 64 */ stmw r25, 0x64(r1) /* 8009E6EC 0009B64C 38 CD A8 98 */ addi r6, r13, lbl_805A9458@sda21 /* 8009E6F0 0009B650 7C 9D 23 78 */ mr r29, r4 /* 8009E6F4 0009B654 C0 4D A8 98 */ lfs f2, lbl_805A9458@sda21(r13) /* 8009E6F8 0009B658 2C 1D 00 01 */ cmpwi r29, 1 /* 8009E6FC 0009B65C C0 26 00 04 */ lfs f1, 4(r6) /* 8009E700 0009B660 7C 7C 1B 78 */ mr r28, r3 /* 8009E704 0009B664 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009E708 0009B668 7C BF 2B 78 */ mr r31, r5 /* 8009E70C 0009B66C D0 41 00 50 */ stfs f2, 0x50(r1) /* 8009E710 0009B670 D0 21 00 54 */ stfs f1, 0x54(r1) /* 8009E714 0009B674 D0 01 00 58 */ stfs f0, 0x58(r1) /* 8009E718 0009B678 41 80 02 68 */ blt lbl_8009E980 /* 8009E71C 0009B67C 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 8009E720 0009B680 57 A3 10 3A */ slwi r3, r29, 2 /* 8009E724 0009B684 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 8009E728 0009B688 38 A0 00 00 */ li r5, 0 /* 8009E72C 0009B68C 48 27 70 ED */ bl __nwa__FUlPCcPCc /* 8009E730 0009B690 2C 1D 00 00 */ cmpwi r29, 0 /* 8009E734 0009B694 7C 7E 1B 78 */ mr r30, r3 /* 8009E738 0009B698 39 20 00 00 */ li r9, 0 /* 8009E73C 0009B69C 40 81 00 A8 */ ble lbl_8009E7E4 /* 8009E740 0009B6A0 2C 1D 00 08 */ cmpwi r29, 8 /* 8009E744 0009B6A4 38 7D FF F8 */ addi r3, r29, -8 /* 8009E748 0009B6A8 40 81 00 6C */ ble lbl_8009E7B4 /* 8009E74C 0009B6AC 38 03 00 07 */ addi r0, r3, 7 /* 8009E750 0009B6B0 7F E7 FB 78 */ mr r7, r31 /* 8009E754 0009B6B4 54 00 E8 FE */ srwi r0, r0, 3 /* 8009E758 0009B6B8 7F C8 F3 78 */ mr r8, r30 /* 8009E75C 0009B6BC 7C 09 03 A6 */ mtctr r0 /* 8009E760 0009B6C0 2C 03 00 00 */ cmpwi r3, 0 /* 8009E764 0009B6C4 40 81 00 50 */ ble lbl_8009E7B4 lbl_8009E768: /* 8009E768 0009B6C8 90 E8 00 00 */ stw r7, 0(r8) /* 8009E76C 0009B6CC 38 67 00 08 */ addi r3, r7, 8 /* 8009E770 0009B6D0 38 07 00 10 */ addi r0, r7, 0x10 /* 8009E774 0009B6D4 38 C7 00 18 */ addi r6, r7, 0x18 /* 8009E778 0009B6D8 90 68 00 04 */ stw r3, 4(r8) /* 8009E77C 0009B6DC 38 A7 00 20 */ addi r5, r7, 0x20 /* 8009E780 0009B6E0 38 87 00 28 */ addi r4, r7, 0x28 /* 8009E784 0009B6E4 38 67 00 30 */ addi r3, r7, 0x30 /* 8009E788 0009B6E8 90 08 00 08 */ stw r0, 8(r8) /* 8009E78C 0009B6EC 38 07 00 38 */ addi r0, r7, 0x38 /* 8009E790 0009B6F0 38 E7 00 40 */ addi r7, r7, 0x40 /* 8009E794 0009B6F4 39 29 00 08 */ addi r9, r9, 8 /* 8009E798 0009B6F8 90 C8 00 0C */ stw r6, 0xc(r8) /* 8009E79C 0009B6FC 90 A8 00 10 */ stw r5, 0x10(r8) /* 8009E7A0 0009B700 90 88 00 14 */ stw r4, 0x14(r8) /* 8009E7A4 0009B704 90 68 00 18 */ stw r3, 0x18(r8) /* 8009E7A8 0009B708 90 08 00 1C */ stw r0, 0x1c(r8) /* 8009E7AC 0009B70C 39 08 00 20 */ addi r8, r8, 0x20 /* 8009E7B0 0009B710 42 00 FF B8 */ bdnz lbl_8009E768 lbl_8009E7B4: /* 8009E7B4 0009B714 55 24 18 38 */ slwi r4, r9, 3 /* 8009E7B8 0009B718 55 23 10 3A */ slwi r3, r9, 2 /* 8009E7BC 0009B71C 7C 09 E8 50 */ subf r0, r9, r29 /* 8009E7C0 0009B720 7C 9F 22 14 */ add r4, r31, r4 /* 8009E7C4 0009B724 7C 7E 1A 14 */ add r3, r30, r3 /* 8009E7C8 0009B728 7C 09 03 A6 */ mtctr r0 /* 8009E7CC 0009B72C 7C 09 E8 00 */ cmpw r9, r29 /* 8009E7D0 0009B730 40 80 00 14 */ bge lbl_8009E7E4 lbl_8009E7D4: /* 8009E7D4 0009B734 90 83 00 00 */ stw r4, 0(r3) /* 8009E7D8 0009B738 38 84 00 08 */ addi r4, r4, 8 /* 8009E7DC 0009B73C 38 63 00 04 */ addi r3, r3, 4 /* 8009E7E0 0009B740 42 00 FF F4 */ bdnz lbl_8009E7D4 lbl_8009E7E4: /* 8009E7E4 0009B744 3B 3D FF FF */ addi r25, r29, -1 /* 8009E7E8 0009B748 57 20 10 3A */ slwi r0, r25, 2 /* 8009E7EC 0009B74C 7F 5E 02 14 */ add r26, r30, r0 /* 8009E7F0 0009B750 48 00 00 3C */ b lbl_8009E82C lbl_8009E7F4: /* 8009E7F4 0009B754 48 2F 16 89 */ bl rand /* 8009E7F8 0009B758 38 99 00 01 */ addi r4, r25, 1 /* 8009E7FC 0009B75C 7C 03 23 D6 */ divw r0, r3, r4 /* 8009E800 0009B760 7C 00 21 D6 */ mullw r0, r0, r4 /* 8009E804 0009B764 7C 00 18 50 */ subf r0, r0, r3 /* 8009E808 0009B768 7C 00 C8 00 */ cmpw r0, r25 /* 8009E80C 0009B76C 41 82 00 18 */ beq lbl_8009E824 /* 8009E810 0009B770 54 03 10 3A */ slwi r3, r0, 2 /* 8009E814 0009B774 80 9A 00 00 */ lwz r4, 0(r26) /* 8009E818 0009B778 7C 1E 18 2E */ lwzx r0, r30, r3 /* 8009E81C 0009B77C 90 1A 00 00 */ stw r0, 0(r26) /* 8009E820 0009B780 7C 9E 19 2E */ stwx r4, r30, r3 lbl_8009E824: /* 8009E824 0009B784 3B 5A FF FC */ addi r26, r26, -4 /* 8009E828 0009B788 3B 39 FF FF */ addi r25, r25, -1 lbl_8009E82C: /* 8009E82C 0009B78C 2C 19 00 00 */ cmpwi r25, 0 /* 8009E830 0009B790 41 81 FF C4 */ bgt lbl_8009E7F4 /* 8009E834 0009B794 80 9E 00 00 */ lwz r4, 0(r30) /* 8009E838 0009B798 38 61 00 28 */ addi r3, r1, 0x28 /* 8009E83C 0009B79C 48 00 0A ED */ bl ExactCircle1__FRC9CVector2f /* 8009E840 0009B7A0 80 81 00 28 */ lwz r4, 0x28(r1) /* 8009E844 0009B7A4 3B E0 00 01 */ li r31, 1 /* 8009E848 0009B7A8 80 61 00 2C */ lwz r3, 0x2c(r1) /* 8009E84C 0009B7AC 38 00 00 00 */ li r0, 0 /* 8009E850 0009B7B0 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8009E854 0009B7B4 90 81 00 50 */ stw r4, 0x50(r1) /* 8009E858 0009B7B8 C3 E2 8C 24 */ lfs f31, lbl_805AA944@sda21(r2) /* 8009E85C 0009B7BC 90 61 00 54 */ stw r3, 0x54(r1) /* 8009E860 0009B7C0 D0 01 00 58 */ stfs f0, 0x58(r1) /* 8009E864 0009B7C4 93 E1 00 40 */ stw r31, 0x40(r1) /* 8009E868 0009B7C8 90 01 00 44 */ stw r0, 0x44(r1) /* 8009E86C 0009B7CC 48 00 00 FC */ b lbl_8009E968 lbl_8009E870: /* 8009E870 0009B7D0 3B 21 00 40 */ addi r25, r1, 0x40 /* 8009E874 0009B7D4 57 FB 10 3A */ slwi r27, r31, 2 /* 8009E878 0009B7D8 3B 40 00 00 */ li r26, 0 /* 8009E87C 0009B7DC 48 00 00 4C */ b lbl_8009E8C8 lbl_8009E880: /* 8009E880 0009B7E0 80 19 00 04 */ lwz r0, 4(r25) /* 8009E884 0009B7E4 38 61 00 14 */ addi r3, r1, 0x14 /* 8009E888 0009B7E8 7C 9E D8 2E */ lwzx r4, r30, r27 /* 8009E88C 0009B7EC 54 00 10 3A */ slwi r0, r0, 2 /* 8009E890 0009B7F0 7C BE 00 2E */ lwzx r5, r30, r0 /* 8009E894 0009B7F4 48 27 56 A5 */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009E898 0009B7F8 C0 21 00 14 */ lfs f1, 0x14(r1) /* 8009E89C 0009B7FC 38 61 00 0C */ addi r3, r1, 0xc /* 8009E8A0 0009B800 C0 01 00 18 */ lfs f0, 0x18(r1) /* 8009E8A4 0009B804 D0 21 00 0C */ stfs f1, 0xc(r1) /* 8009E8A8 0009B808 D0 01 00 10 */ stfs f0, 0x10(r1) /* 8009E8AC 0009B80C 48 27 58 31 */ bl MagSquared__9CVector2fCFv /* 8009E8B0 0009B810 FC 01 F8 40 */ fcmpo cr0, f1, f31 /* 8009E8B4 0009B814 40 80 00 0C */ bge lbl_8009E8C0 /* 8009E8B8 0009B818 38 00 00 01 */ li r0, 1 /* 8009E8BC 0009B81C 48 00 00 1C */ b lbl_8009E8D8 lbl_8009E8C0: /* 8009E8C0 0009B820 3B 39 00 04 */ addi r25, r25, 4 /* 8009E8C4 0009B824 3B 5A 00 01 */ addi r26, r26, 1 lbl_8009E8C8: /* 8009E8C8 0009B828 80 01 00 40 */ lwz r0, 0x40(r1) /* 8009E8CC 0009B82C 7C 1A 00 00 */ cmpw r26, r0 /* 8009E8D0 0009B830 41 80 FF B0 */ blt lbl_8009E880 /* 8009E8D4 0009B834 38 00 00 00 */ li r0, 0 lbl_8009E8D8: /* 8009E8D8 0009B838 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8009E8DC 0009B83C 40 82 00 88 */ bne lbl_8009E964 /* 8009E8E0 0009B840 7C 7E D8 2E */ lwzx r3, r30, r27 /* 8009E8E4 0009B844 38 81 00 50 */ addi r4, r1, 0x50 /* 8009E8E8 0009B848 38 A1 00 08 */ addi r5, r1, 8 /* 8009E8EC 0009B84C 48 00 0A 85 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009E8F0 0009B850 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009E8F4 0009B854 40 82 00 70 */ bne lbl_8009E964 /* 8009E8F8 0009B858 80 01 00 40 */ lwz r0, 0x40(r1) /* 8009E8FC 0009B85C 3C 60 80 3E */ lis r3, lbl_803DAF38@ha /* 8009E900 0009B860 38 63 AF 38 */ addi r3, r3, lbl_803DAF38@l /* 8009E904 0009B864 7F E4 FB 78 */ mr r4, r31 /* 8009E908 0009B868 54 00 10 3A */ slwi r0, r0, 2 /* 8009E90C 0009B86C 7F C5 F3 78 */ mr r5, r30 /* 8009E910 0009B870 7D 83 00 2E */ lwzx r12, r3, r0 /* 8009E914 0009B874 38 61 00 1C */ addi r3, r1, 0x1c /* 8009E918 0009B878 38 C1 00 40 */ addi r6, r1, 0x40 /* 8009E91C 0009B87C 7D 89 03 A6 */ mtctr r12 /* 8009E920 0009B880 4E 80 04 21 */ bctrl /* 8009E924 0009B884 C0 21 00 24 */ lfs f1, 0x24(r1) /* 8009E928 0009B888 C0 01 00 58 */ lfs f0, 0x58(r1) /* 8009E92C 0009B88C C0 61 00 1C */ lfs f3, 0x1c(r1) /* 8009E930 0009B890 C0 41 00 20 */ lfs f2, 0x20(r1) /* 8009E934 0009B894 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009E938 0009B898 D0 61 00 34 */ stfs f3, 0x34(r1) /* 8009E93C 0009B89C D0 41 00 38 */ stfs f2, 0x38(r1) /* 8009E940 0009B8A0 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 8009E944 0009B8A4 40 81 00 20 */ ble lbl_8009E964 /* 8009E948 0009B8A8 80 61 00 34 */ lwz r3, 0x34(r1) /* 8009E94C 0009B8AC 3B E0 00 00 */ li r31, 0 /* 8009E950 0009B8B0 80 01 00 38 */ lwz r0, 0x38(r1) /* 8009E954 0009B8B4 90 61 00 50 */ stw r3, 0x50(r1) /* 8009E958 0009B8B8 90 01 00 54 */ stw r0, 0x54(r1) /* 8009E95C 0009B8BC D0 21 00 58 */ stfs f1, 0x58(r1) /* 8009E960 0009B8C0 48 00 00 08 */ b lbl_8009E968 lbl_8009E964: /* 8009E964 0009B8C4 3B FF 00 01 */ addi r31, r31, 1 lbl_8009E968: /* 8009E968 0009B8C8 7C 1F E8 00 */ cmpw r31, r29 /* 8009E96C 0009B8CC 41 80 FF 04 */ blt lbl_8009E870 /* 8009E970 0009B8D0 28 1E 00 00 */ cmplwi r30, 0 /* 8009E974 0009B8D4 41 82 00 0C */ beq lbl_8009E980 /* 8009E978 0009B8D8 7F C3 F3 78 */ mr r3, r30 /* 8009E97C 0009B8DC 48 27 6F B5 */ bl Free__7CMemoryFPCv lbl_8009E980: /* 8009E980 0009B8E0 C0 21 00 58 */ lfs f1, 0x58(r1) /* 8009E984 0009B8E4 48 27 6B 7D */ bl SqrtF__5CMathFf /* 8009E988 0009B8E8 D0 21 00 58 */ stfs f1, 0x58(r1) /* 8009E98C 0009B8EC C0 01 00 50 */ lfs f0, 0x50(r1) /* 8009E990 0009B8F0 D0 1C 00 00 */ stfs f0, 0(r28) /* 8009E994 0009B8F4 C0 01 00 54 */ lfs f0, 0x54(r1) /* 8009E998 0009B8F8 D0 1C 00 04 */ stfs f0, 4(r28) /* 8009E99C 0009B8FC C0 01 00 58 */ lfs f0, 0x58(r1) /* 8009E9A0 0009B900 D0 1C 00 08 */ stfs f0, 8(r28) /* 8009E9A4 0009B904 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 8009E9A8 0009B908 CB E1 00 80 */ lfd f31, 0x80(r1) /* 8009E9AC 0009B90C BB 21 00 64 */ lmw r25, 0x64(r1) /* 8009E9B0 0009B910 80 01 00 94 */ lwz r0, 0x94(r1) /* 8009E9B4 0009B914 7C 08 03 A6 */ mtlr r0 /* 8009E9B8 0009B918 38 21 00 90 */ addi r1, r1, 0x90 /* 8009E9BC 0009B91C 4E 80 00 20 */ blr .global UpdateSupport3__FiPP9CVector2fR7Support UpdateSupport3__FiPP9CVector2fR7Support: /* 8009E9C0 0009B920 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 8009E9C4 0009B924 7C 08 02 A6 */ mflr r0 /* 8009E9C8 0009B928 90 01 00 F4 */ stw r0, 0xf4(r1) /* 8009E9CC 0009B92C DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 8009E9D0 0009B930 F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0 /* 8009E9D4 0009B934 DB C1 00 D0 */ stfd f30, 0xd0(r1) /* 8009E9D8 0009B938 F3 C1 00 D8 */ psq_st f30, 216(r1), 0, qr0 /* 8009E9DC 0009B93C BE C1 00 A8 */ stmw r22, 0xa8(r1) /* 8009E9E0 0009B940 7C D9 33 78 */ mr r25, r6 /* 8009E9E4 0009B944 7C 98 23 78 */ mr r24, r4 /* 8009E9E8 0009B948 81 06 00 04 */ lwz r8, 4(r6) /* 8009E9EC 0009B94C 54 80 10 3A */ slwi r0, r4, 2 /* 8009E9F0 0009B950 80 E6 00 08 */ lwz r7, 8(r6) /* 8009E9F4 0009B954 38 CD A8 98 */ addi r6, r13, lbl_805A9458@sda21 /* 8009E9F8 0009B958 80 99 00 0C */ lwz r4, 0xc(r25) /* 8009E9FC 0009B95C 55 08 10 3A */ slwi r8, r8, 2 /* 8009EA00 0009B960 54 E7 10 3A */ slwi r7, r7, 2 /* 8009EA04 0009B964 C3 E2 8C 28 */ lfs f31, lbl_805AA948@sda21(r2) /* 8009EA08 0009B968 54 84 10 3A */ slwi r4, r4, 2 /* 8009EA0C 0009B96C 7F E5 40 2E */ lwzx r31, r5, r8 /* 8009EA10 0009B970 7F C5 38 2E */ lwzx r30, r5, r7 /* 8009EA14 0009B974 FF C0 F8 90 */ fmr f30, f31 /* 8009EA18 0009B978 7C 77 1B 78 */ mr r23, r3 /* 8009EA1C 0009B97C 7F A5 20 2E */ lwzx r29, r5, r4 /* 8009EA20 0009B980 7F 85 00 2E */ lwzx r28, r5, r0 /* 8009EA24 0009B984 7F E4 FB 78 */ mr r4, r31 /* 8009EA28 0009B988 C0 2D A8 98 */ lfs f1, lbl_805A9458@sda21(r13) /* 8009EA2C 0009B98C C0 46 00 04 */ lfs f2, 4(r6) /* 8009EA30 0009B990 7F 85 E3 78 */ mr r5, r28 /* 8009EA34 0009B994 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009EA38 0009B998 38 61 00 48 */ addi r3, r1, 0x48 /* 8009EA3C 0009B99C D0 21 00 54 */ stfs f1, 0x54(r1) /* 8009EA40 0009B9A0 3B 60 FF FF */ li r27, -1 /* 8009EA44 0009B9A4 3B 40 FF FF */ li r26, -1 /* 8009EA48 0009B9A8 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8009EA4C 0009B9AC D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8009EA50 0009B9B0 D0 21 00 60 */ stfs f1, 0x60(r1) /* 8009EA54 0009B9B4 D0 41 00 64 */ stfs f2, 0x64(r1) /* 8009EA58 0009B9B8 D0 01 00 68 */ stfs f0, 0x68(r1) /* 8009EA5C 0009B9BC D0 21 00 6C */ stfs f1, 0x6c(r1) /* 8009EA60 0009B9C0 D0 41 00 70 */ stfs f2, 0x70(r1) /* 8009EA64 0009B9C4 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8009EA68 0009B9C8 D0 21 00 78 */ stfs f1, 0x78(r1) /* 8009EA6C 0009B9CC D0 41 00 7C */ stfs f2, 0x7c(r1) /* 8009EA70 0009B9D0 D0 01 00 80 */ stfs f0, 0x80(r1) /* 8009EA74 0009B9D4 D0 21 00 84 */ stfs f1, 0x84(r1) /* 8009EA78 0009B9D8 D0 41 00 88 */ stfs f2, 0x88(r1) /* 8009EA7C 0009B9DC D0 01 00 8C */ stfs f0, 0x8c(r1) /* 8009EA80 0009B9E0 D0 21 00 90 */ stfs f1, 0x90(r1) /* 8009EA84 0009B9E4 D0 41 00 94 */ stfs f2, 0x94(r1) /* 8009EA88 0009B9E8 D0 01 00 98 */ stfs f0, 0x98(r1) /* 8009EA8C 0009B9EC 48 00 07 D1 */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009EA90 0009B9F0 80 C1 00 48 */ lwz r6, 0x48(r1) /* 8009EA94 0009B9F4 7F C3 F3 78 */ mr r3, r30 /* 8009EA98 0009B9F8 80 01 00 4C */ lwz r0, 0x4c(r1) /* 8009EA9C 0009B9FC 38 81 00 54 */ addi r4, r1, 0x54 /* 8009EAA0 0009BA00 C0 01 00 50 */ lfs f0, 0x50(r1) /* 8009EAA4 0009BA04 38 A1 00 08 */ addi r5, r1, 8 /* 8009EAA8 0009BA08 90 C1 00 54 */ stw r6, 0x54(r1) /* 8009EAAC 0009BA0C 90 01 00 58 */ stw r0, 0x58(r1) /* 8009EAB0 0009BA10 D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8009EAB4 0009BA14 48 00 08 BD */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EAB8 0009BA18 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EABC 0009BA1C 41 82 00 34 */ beq lbl_8009EAF0 /* 8009EAC0 0009BA20 7F A3 EB 78 */ mr r3, r29 /* 8009EAC4 0009BA24 38 81 00 54 */ addi r4, r1, 0x54 /* 8009EAC8 0009BA28 38 A1 00 08 */ addi r5, r1, 8 /* 8009EACC 0009BA2C 48 00 08 A5 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EAD0 0009BA30 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EAD4 0009BA34 41 82 00 10 */ beq lbl_8009EAE4 /* 8009EAD8 0009BA38 C3 E1 00 5C */ lfs f31, 0x5c(r1) /* 8009EADC 0009BA3C 3B 60 00 00 */ li r27, 0 /* 8009EAE0 0009BA40 48 00 00 18 */ b lbl_8009EAF8 lbl_8009EAE4: /* 8009EAE4 0009BA44 C3 C1 00 08 */ lfs f30, 8(r1) /* 8009EAE8 0009BA48 3B 40 00 00 */ li r26, 0 /* 8009EAEC 0009BA4C 48 00 00 0C */ b lbl_8009EAF8 lbl_8009EAF0: /* 8009EAF0 0009BA50 C3 C1 00 08 */ lfs f30, 8(r1) /* 8009EAF4 0009BA54 3B 40 00 00 */ li r26, 0 lbl_8009EAF8: /* 8009EAF8 0009BA58 7F C4 F3 78 */ mr r4, r30 /* 8009EAFC 0009BA5C 7F 85 E3 78 */ mr r5, r28 /* 8009EB00 0009BA60 38 61 00 3C */ addi r3, r1, 0x3c /* 8009EB04 0009BA64 48 00 07 59 */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009EB08 0009BA68 C0 01 00 44 */ lfs f0, 0x44(r1) /* 8009EB0C 0009BA6C 3A C1 00 60 */ addi r22, r1, 0x60 /* 8009EB10 0009BA70 80 61 00 3C */ lwz r3, 0x3c(r1) /* 8009EB14 0009BA74 80 01 00 40 */ lwz r0, 0x40(r1) /* 8009EB18 0009BA78 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009EB1C 0009BA7C 90 61 00 60 */ stw r3, 0x60(r1) /* 8009EB20 0009BA80 90 01 00 64 */ stw r0, 0x64(r1) /* 8009EB24 0009BA84 D0 01 00 68 */ stfs f0, 0x68(r1) /* 8009EB28 0009BA88 40 80 00 6C */ bge lbl_8009EB94 /* 8009EB2C 0009BA8C 7F E3 FB 78 */ mr r3, r31 /* 8009EB30 0009BA90 7E C4 B3 78 */ mr r4, r22 /* 8009EB34 0009BA94 38 A1 00 08 */ addi r5, r1, 8 /* 8009EB38 0009BA98 48 00 08 39 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EB3C 0009BA9C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EB40 0009BAA0 41 82 00 40 */ beq lbl_8009EB80 /* 8009EB44 0009BAA4 7F A3 EB 78 */ mr r3, r29 /* 8009EB48 0009BAA8 7E C4 B3 78 */ mr r4, r22 /* 8009EB4C 0009BAAC 38 A1 00 08 */ addi r5, r1, 8 /* 8009EB50 0009BAB0 48 00 08 21 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EB54 0009BAB4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EB58 0009BAB8 41 82 00 10 */ beq lbl_8009EB68 /* 8009EB5C 0009BABC C3 E1 00 68 */ lfs f31, 0x68(r1) /* 8009EB60 0009BAC0 3B 60 00 01 */ li r27, 1 /* 8009EB64 0009BAC4 48 00 00 30 */ b lbl_8009EB94 lbl_8009EB68: /* 8009EB68 0009BAC8 C0 01 00 08 */ lfs f0, 8(r1) /* 8009EB6C 0009BACC FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009EB70 0009BAD0 40 80 00 24 */ bge lbl_8009EB94 /* 8009EB74 0009BAD4 FF C0 00 90 */ fmr f30, f0 /* 8009EB78 0009BAD8 3B 40 00 01 */ li r26, 1 /* 8009EB7C 0009BADC 48 00 00 18 */ b lbl_8009EB94 lbl_8009EB80: /* 8009EB80 0009BAE0 C0 01 00 08 */ lfs f0, 8(r1) /* 8009EB84 0009BAE4 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009EB88 0009BAE8 40 80 00 0C */ bge lbl_8009EB94 /* 8009EB8C 0009BAEC FF C0 00 90 */ fmr f30, f0 /* 8009EB90 0009BAF0 3B 40 00 01 */ li r26, 1 lbl_8009EB94: /* 8009EB94 0009BAF4 7F A4 EB 78 */ mr r4, r29 /* 8009EB98 0009BAF8 7F 85 E3 78 */ mr r5, r28 /* 8009EB9C 0009BAFC 38 61 00 30 */ addi r3, r1, 0x30 /* 8009EBA0 0009BB00 48 00 06 BD */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009EBA4 0009BB04 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8009EBA8 0009BB08 3A C1 00 6C */ addi r22, r1, 0x6c /* 8009EBAC 0009BB0C 80 61 00 30 */ lwz r3, 0x30(r1) /* 8009EBB0 0009BB10 80 01 00 34 */ lwz r0, 0x34(r1) /* 8009EBB4 0009BB14 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009EBB8 0009BB18 90 61 00 6C */ stw r3, 0x6c(r1) /* 8009EBBC 0009BB1C 90 01 00 70 */ stw r0, 0x70(r1) /* 8009EBC0 0009BB20 D0 01 00 74 */ stfs f0, 0x74(r1) /* 8009EBC4 0009BB24 40 80 00 6C */ bge lbl_8009EC30 /* 8009EBC8 0009BB28 7F E3 FB 78 */ mr r3, r31 /* 8009EBCC 0009BB2C 7E C4 B3 78 */ mr r4, r22 /* 8009EBD0 0009BB30 38 A1 00 08 */ addi r5, r1, 8 /* 8009EBD4 0009BB34 48 00 07 9D */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EBD8 0009BB38 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EBDC 0009BB3C 41 82 00 40 */ beq lbl_8009EC1C /* 8009EBE0 0009BB40 7F C3 F3 78 */ mr r3, r30 /* 8009EBE4 0009BB44 7E C4 B3 78 */ mr r4, r22 /* 8009EBE8 0009BB48 38 A1 00 08 */ addi r5, r1, 8 /* 8009EBEC 0009BB4C 48 00 07 85 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EBF0 0009BB50 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EBF4 0009BB54 41 82 00 10 */ beq lbl_8009EC04 /* 8009EBF8 0009BB58 C3 E1 00 74 */ lfs f31, 0x74(r1) /* 8009EBFC 0009BB5C 3B 60 00 02 */ li r27, 2 /* 8009EC00 0009BB60 48 00 00 30 */ b lbl_8009EC30 lbl_8009EC04: /* 8009EC04 0009BB64 C0 01 00 08 */ lfs f0, 8(r1) /* 8009EC08 0009BB68 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009EC0C 0009BB6C 40 80 00 24 */ bge lbl_8009EC30 /* 8009EC10 0009BB70 FF C0 00 90 */ fmr f30, f0 /* 8009EC14 0009BB74 3B 40 00 02 */ li r26, 2 /* 8009EC18 0009BB78 48 00 00 18 */ b lbl_8009EC30 lbl_8009EC1C: /* 8009EC1C 0009BB7C C0 01 00 08 */ lfs f0, 8(r1) /* 8009EC20 0009BB80 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009EC24 0009BB84 40 80 00 0C */ bge lbl_8009EC30 /* 8009EC28 0009BB88 FF C0 00 90 */ fmr f30, f0 /* 8009EC2C 0009BB8C 3B 40 00 02 */ li r26, 2 lbl_8009EC30: /* 8009EC30 0009BB90 7F E4 FB 78 */ mr r4, r31 /* 8009EC34 0009BB94 7F C5 F3 78 */ mr r5, r30 /* 8009EC38 0009BB98 7F 86 E3 78 */ mr r6, r28 /* 8009EC3C 0009BB9C 38 61 00 24 */ addi r3, r1, 0x24 /* 8009EC40 0009BBA0 48 00 04 65 */ bl ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f /* 8009EC44 0009BBA4 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8009EC48 0009BBA8 38 81 00 78 */ addi r4, r1, 0x78 /* 8009EC4C 0009BBAC 80 61 00 24 */ lwz r3, 0x24(r1) /* 8009EC50 0009BBB0 80 01 00 28 */ lwz r0, 0x28(r1) /* 8009EC54 0009BBB4 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009EC58 0009BBB8 90 61 00 78 */ stw r3, 0x78(r1) /* 8009EC5C 0009BBBC 90 01 00 7C */ stw r0, 0x7c(r1) /* 8009EC60 0009BBC0 D0 01 00 80 */ stfs f0, 0x80(r1) /* 8009EC64 0009BBC4 40 80 00 38 */ bge lbl_8009EC9C /* 8009EC68 0009BBC8 7F A3 EB 78 */ mr r3, r29 /* 8009EC6C 0009BBCC 38 A1 00 08 */ addi r5, r1, 8 /* 8009EC70 0009BBD0 48 00 07 01 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EC74 0009BBD4 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EC78 0009BBD8 41 82 00 10 */ beq lbl_8009EC88 /* 8009EC7C 0009BBDC C3 E1 00 80 */ lfs f31, 0x80(r1) /* 8009EC80 0009BBE0 3B 60 00 03 */ li r27, 3 /* 8009EC84 0009BBE4 48 00 00 18 */ b lbl_8009EC9C lbl_8009EC88: /* 8009EC88 0009BBE8 C0 01 00 08 */ lfs f0, 8(r1) /* 8009EC8C 0009BBEC FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009EC90 0009BBF0 40 80 00 0C */ bge lbl_8009EC9C /* 8009EC94 0009BBF4 FF C0 00 90 */ fmr f30, f0 /* 8009EC98 0009BBF8 3B 40 00 03 */ li r26, 3 lbl_8009EC9C: /* 8009EC9C 0009BBFC 7F E4 FB 78 */ mr r4, r31 /* 8009ECA0 0009BC00 7F A5 EB 78 */ mr r5, r29 /* 8009ECA4 0009BC04 7F 86 E3 78 */ mr r6, r28 /* 8009ECA8 0009BC08 38 61 00 18 */ addi r3, r1, 0x18 /* 8009ECAC 0009BC0C 48 00 03 F9 */ bl ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f /* 8009ECB0 0009BC10 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8009ECB4 0009BC14 38 81 00 84 */ addi r4, r1, 0x84 /* 8009ECB8 0009BC18 80 61 00 18 */ lwz r3, 0x18(r1) /* 8009ECBC 0009BC1C 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8009ECC0 0009BC20 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009ECC4 0009BC24 90 61 00 84 */ stw r3, 0x84(r1) /* 8009ECC8 0009BC28 90 01 00 88 */ stw r0, 0x88(r1) /* 8009ECCC 0009BC2C D0 01 00 8C */ stfs f0, 0x8c(r1) /* 8009ECD0 0009BC30 40 80 00 38 */ bge lbl_8009ED08 /* 8009ECD4 0009BC34 7F C3 F3 78 */ mr r3, r30 /* 8009ECD8 0009BC38 38 A1 00 08 */ addi r5, r1, 8 /* 8009ECDC 0009BC3C 48 00 06 95 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009ECE0 0009BC40 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009ECE4 0009BC44 41 82 00 10 */ beq lbl_8009ECF4 /* 8009ECE8 0009BC48 C3 E1 00 8C */ lfs f31, 0x8c(r1) /* 8009ECEC 0009BC4C 3B 60 00 04 */ li r27, 4 /* 8009ECF0 0009BC50 48 00 00 18 */ b lbl_8009ED08 lbl_8009ECF4: /* 8009ECF4 0009BC54 C0 01 00 08 */ lfs f0, 8(r1) /* 8009ECF8 0009BC58 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009ECFC 0009BC5C 40 80 00 0C */ bge lbl_8009ED08 /* 8009ED00 0009BC60 FF C0 00 90 */ fmr f30, f0 /* 8009ED04 0009BC64 3B 40 00 04 */ li r26, 4 lbl_8009ED08: /* 8009ED08 0009BC68 7F C4 F3 78 */ mr r4, r30 /* 8009ED0C 0009BC6C 7F A5 EB 78 */ mr r5, r29 /* 8009ED10 0009BC70 7F 86 E3 78 */ mr r6, r28 /* 8009ED14 0009BC74 38 61 00 0C */ addi r3, r1, 0xc /* 8009ED18 0009BC78 48 00 03 8D */ bl ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f /* 8009ED1C 0009BC7C C0 01 00 14 */ lfs f0, 0x14(r1) /* 8009ED20 0009BC80 38 81 00 90 */ addi r4, r1, 0x90 /* 8009ED24 0009BC84 80 61 00 0C */ lwz r3, 0xc(r1) /* 8009ED28 0009BC88 80 01 00 10 */ lwz r0, 0x10(r1) /* 8009ED2C 0009BC8C FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009ED30 0009BC90 90 61 00 90 */ stw r3, 0x90(r1) /* 8009ED34 0009BC94 90 01 00 94 */ stw r0, 0x94(r1) /* 8009ED38 0009BC98 D0 01 00 98 */ stfs f0, 0x98(r1) /* 8009ED3C 0009BC9C 40 80 00 30 */ bge lbl_8009ED6C /* 8009ED40 0009BCA0 7F E3 FB 78 */ mr r3, r31 /* 8009ED44 0009BCA4 38 A1 00 08 */ addi r5, r1, 8 /* 8009ED48 0009BCA8 48 00 06 29 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009ED4C 0009BCAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009ED50 0009BCB0 41 82 00 0C */ beq lbl_8009ED5C /* 8009ED54 0009BCB4 3B 60 00 05 */ li r27, 5 /* 8009ED58 0009BCB8 48 00 00 14 */ b lbl_8009ED6C lbl_8009ED5C: /* 8009ED5C 0009BCBC C0 01 00 08 */ lfs f0, 8(r1) /* 8009ED60 0009BCC0 FC 00 F0 40 */ fcmpo cr0, f0, f30 /* 8009ED64 0009BCC4 40 80 00 08 */ bge lbl_8009ED6C /* 8009ED68 0009BCC8 3B 40 00 05 */ li r26, 5 lbl_8009ED6C: /* 8009ED6C 0009BCCC 2C 1B FF FF */ cmpwi r27, -1 /* 8009ED70 0009BCD0 40 82 00 08 */ bne lbl_8009ED78 /* 8009ED74 0009BCD4 7F 5B D3 78 */ mr r27, r26 lbl_8009ED78: /* 8009ED78 0009BCD8 1C 1B 00 0C */ mulli r0, r27, 0xc /* 8009ED7C 0009BCDC 38 A1 00 54 */ addi r5, r1, 0x54 /* 8009ED80 0009BCE0 38 81 00 58 */ addi r4, r1, 0x58 /* 8009ED84 0009BCE4 38 61 00 5C */ addi r3, r1, 0x5c /* 8009ED88 0009BCE8 2C 1B 00 03 */ cmpwi r27, 3 /* 8009ED8C 0009BCEC 7C 05 04 2E */ lfsx f0, r5, r0 /* 8009ED90 0009BCF0 7C 24 04 2E */ lfsx f1, r4, r0 /* 8009ED94 0009BCF4 7C 43 04 2E */ lfsx f2, r3, r0 /* 8009ED98 0009BCF8 41 82 00 68 */ beq lbl_8009EE00 /* 8009ED9C 0009BCFC 40 80 00 1C */ bge lbl_8009EDB8 /* 8009EDA0 0009BD00 2C 1B 00 01 */ cmpwi r27, 1 /* 8009EDA4 0009BD04 41 82 00 34 */ beq lbl_8009EDD8 /* 8009EDA8 0009BD08 40 80 00 40 */ bge lbl_8009EDE8 /* 8009EDAC 0009BD0C 2C 1B 00 00 */ cmpwi r27, 0 /* 8009EDB0 0009BD10 40 80 00 18 */ bge lbl_8009EDC8 /* 8009EDB4 0009BD14 48 00 00 60 */ b lbl_8009EE14 lbl_8009EDB8: /* 8009EDB8 0009BD18 2C 1B 00 05 */ cmpwi r27, 5 /* 8009EDBC 0009BD1C 41 82 00 54 */ beq lbl_8009EE10 /* 8009EDC0 0009BD20 40 80 00 54 */ bge lbl_8009EE14 /* 8009EDC4 0009BD24 48 00 00 44 */ b lbl_8009EE08 lbl_8009EDC8: /* 8009EDC8 0009BD28 38 00 00 02 */ li r0, 2 /* 8009EDCC 0009BD2C 90 19 00 00 */ stw r0, 0(r25) /* 8009EDD0 0009BD30 93 19 00 08 */ stw r24, 8(r25) /* 8009EDD4 0009BD34 48 00 00 40 */ b lbl_8009EE14 lbl_8009EDD8: /* 8009EDD8 0009BD38 38 00 00 02 */ li r0, 2 /* 8009EDDC 0009BD3C 90 19 00 00 */ stw r0, 0(r25) /* 8009EDE0 0009BD40 93 19 00 04 */ stw r24, 4(r25) /* 8009EDE4 0009BD44 48 00 00 30 */ b lbl_8009EE14 lbl_8009EDE8: /* 8009EDE8 0009BD48 38 00 00 02 */ li r0, 2 /* 8009EDEC 0009BD4C 90 19 00 00 */ stw r0, 0(r25) /* 8009EDF0 0009BD50 80 19 00 0C */ lwz r0, 0xc(r25) /* 8009EDF4 0009BD54 90 19 00 04 */ stw r0, 4(r25) /* 8009EDF8 0009BD58 93 19 00 08 */ stw r24, 8(r25) /* 8009EDFC 0009BD5C 48 00 00 18 */ b lbl_8009EE14 lbl_8009EE00: /* 8009EE00 0009BD60 93 19 00 0C */ stw r24, 0xc(r25) /* 8009EE04 0009BD64 48 00 00 10 */ b lbl_8009EE14 lbl_8009EE08: /* 8009EE08 0009BD68 93 19 00 08 */ stw r24, 8(r25) /* 8009EE0C 0009BD6C 48 00 00 08 */ b lbl_8009EE14 lbl_8009EE10: /* 8009EE10 0009BD70 93 19 00 04 */ stw r24, 4(r25) lbl_8009EE14: /* 8009EE14 0009BD74 D0 17 00 00 */ stfs f0, 0(r23) /* 8009EE18 0009BD78 D0 37 00 04 */ stfs f1, 4(r23) /* 8009EE1C 0009BD7C D0 57 00 08 */ stfs f2, 8(r23) /* 8009EE20 0009BD80 E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0 /* 8009EE24 0009BD84 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 8009EE28 0009BD88 E3 C1 00 D8 */ psq_l f30, 216(r1), 0, qr0 /* 8009EE2C 0009BD8C CB C1 00 D0 */ lfd f30, 0xd0(r1) /* 8009EE30 0009BD90 BA C1 00 A8 */ lmw r22, 0xa8(r1) /* 8009EE34 0009BD94 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 8009EE38 0009BD98 7C 08 03 A6 */ mtlr r0 /* 8009EE3C 0009BD9C 38 21 00 F0 */ addi r1, r1, 0xf0 /* 8009EE40 0009BDA0 4E 80 00 20 */ blr .global UpdateSupport2__FiPP9CVector2fR7Support UpdateSupport2__FiPP9CVector2fR7Support: /* 8009EE44 0009BDA4 94 21 FF 70 */ stwu r1, -0x90(r1) /* 8009EE48 0009BDA8 7C 08 02 A6 */ mflr r0 /* 8009EE4C 0009BDAC 90 01 00 94 */ stw r0, 0x94(r1) /* 8009EE50 0009BDB0 DB E1 00 80 */ stfd f31, 0x80(r1) /* 8009EE54 0009BDB4 F3 E1 00 88 */ psq_st f31, 136(r1), 0, qr0 /* 8009EE58 0009BDB8 BF 01 00 60 */ stmw r24, 0x60(r1) /* 8009EE5C 0009BDBC 7C DE 33 78 */ mr r30, r6 /* 8009EE60 0009BDC0 7C 9D 23 78 */ mr r29, r4 /* 8009EE64 0009BDC4 80 C6 00 04 */ lwz r6, 4(r6) /* 8009EE68 0009BDC8 54 80 10 3A */ slwi r0, r4, 2 /* 8009EE6C 0009BDCC 80 9E 00 08 */ lwz r4, 8(r30) /* 8009EE70 0009BDD0 3B 6D A8 98 */ addi r27, r13, lbl_805A9458@sda21 /* 8009EE74 0009BDD4 54 C6 10 3A */ slwi r6, r6, 2 /* 8009EE78 0009BDD8 7C 7C 1B 78 */ mr r28, r3 /* 8009EE7C 0009BDDC 54 83 10 3A */ slwi r3, r4, 2 /* 8009EE80 0009BDE0 7F 45 30 2E */ lwzx r26, r5, r6 /* 8009EE84 0009BDE4 7F 25 18 2E */ lwzx r25, r5, r3 /* 8009EE88 0009BDE8 38 61 00 24 */ addi r3, r1, 0x24 /* 8009EE8C 0009BDEC 7F 05 00 2E */ lwzx r24, r5, r0 /* 8009EE90 0009BDF0 7F 44 D3 78 */ mr r4, r26 /* 8009EE94 0009BDF4 C0 2D A8 98 */ lfs f1, lbl_805A9458@sda21(r13) /* 8009EE98 0009BDF8 3B E0 FF FF */ li r31, -1 /* 8009EE9C 0009BDFC C0 5B 00 04 */ lfs f2, 4(r27) /* 8009EEA0 0009BE00 7F 05 C3 78 */ mr r5, r24 /* 8009EEA4 0009BE04 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009EEA8 0009BE08 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 8009EEAC 0009BE0C C3 E2 8C 28 */ lfs f31, lbl_805AA948@sda21(r2) /* 8009EEB0 0009BE10 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8009EEB4 0009BE14 D0 01 00 44 */ stfs f0, 0x44(r1) /* 8009EEB8 0009BE18 D0 21 00 48 */ stfs f1, 0x48(r1) /* 8009EEBC 0009BE1C D0 41 00 4C */ stfs f2, 0x4c(r1) /* 8009EEC0 0009BE20 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8009EEC4 0009BE24 D0 21 00 54 */ stfs f1, 0x54(r1) /* 8009EEC8 0009BE28 D0 41 00 58 */ stfs f2, 0x58(r1) /* 8009EECC 0009BE2C D0 01 00 5C */ stfs f0, 0x5c(r1) /* 8009EED0 0009BE30 48 00 03 8D */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009EED4 0009BE34 80 C1 00 24 */ lwz r6, 0x24(r1) /* 8009EED8 0009BE38 7F 23 CB 78 */ mr r3, r25 /* 8009EEDC 0009BE3C 80 01 00 28 */ lwz r0, 0x28(r1) /* 8009EEE0 0009BE40 38 81 00 3C */ addi r4, r1, 0x3c /* 8009EEE4 0009BE44 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8009EEE8 0009BE48 38 A1 00 08 */ addi r5, r1, 8 /* 8009EEEC 0009BE4C 90 C1 00 3C */ stw r6, 0x3c(r1) /* 8009EEF0 0009BE50 90 01 00 40 */ stw r0, 0x40(r1) /* 8009EEF4 0009BE54 D0 01 00 44 */ stfs f0, 0x44(r1) /* 8009EEF8 0009BE58 48 00 04 79 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EEFC 0009BE5C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EF00 0009BE60 41 82 00 0C */ beq lbl_8009EF0C /* 8009EF04 0009BE64 C3 E1 00 44 */ lfs f31, 0x44(r1) /* 8009EF08 0009BE68 3B E0 00 00 */ li r31, 0 lbl_8009EF0C: /* 8009EF0C 0009BE6C 7F 24 CB 78 */ mr r4, r25 /* 8009EF10 0009BE70 7F 05 C3 78 */ mr r5, r24 /* 8009EF14 0009BE74 38 61 00 18 */ addi r3, r1, 0x18 /* 8009EF18 0009BE78 48 00 03 45 */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009EF1C 0009BE7C C0 01 00 20 */ lfs f0, 0x20(r1) /* 8009EF20 0009BE80 38 81 00 48 */ addi r4, r1, 0x48 /* 8009EF24 0009BE84 80 61 00 18 */ lwz r3, 0x18(r1) /* 8009EF28 0009BE88 80 01 00 1C */ lwz r0, 0x1c(r1) /* 8009EF2C 0009BE8C FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009EF30 0009BE90 90 61 00 48 */ stw r3, 0x48(r1) /* 8009EF34 0009BE94 90 01 00 4C */ stw r0, 0x4c(r1) /* 8009EF38 0009BE98 D0 01 00 50 */ stfs f0, 0x50(r1) /* 8009EF3C 0009BE9C 40 80 00 1C */ bge lbl_8009EF58 /* 8009EF40 0009BEA0 7F 43 D3 78 */ mr r3, r26 /* 8009EF44 0009BEA4 38 A1 00 08 */ addi r5, r1, 8 /* 8009EF48 0009BEA8 48 00 04 29 */ bl PointInsideCircle__FRC9CVector2fRC7Circle2Rf /* 8009EF4C 0009BEAC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009EF50 0009BEB0 41 82 00 08 */ beq lbl_8009EF58 /* 8009EF54 0009BEB4 3B E0 00 01 */ li r31, 1 lbl_8009EF58: /* 8009EF58 0009BEB8 C0 4D A8 98 */ lfs f2, lbl_805A9458@sda21(r13) /* 8009EF5C 0009BEBC 2C 1F FF FF */ cmpwi r31, -1 /* 8009EF60 0009BEC0 C0 3B 00 04 */ lfs f1, 4(r27) /* 8009EF64 0009BEC4 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009EF68 0009BEC8 D0 41 00 30 */ stfs f2, 0x30(r1) /* 8009EF6C 0009BECC D0 21 00 34 */ stfs f1, 0x34(r1) /* 8009EF70 0009BED0 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8009EF74 0009BED4 41 82 00 40 */ beq lbl_8009EFB4 /* 8009EF78 0009BED8 1C BF 00 0C */ mulli r5, r31, 0xc /* 8009EF7C 0009BEDC 38 81 00 3C */ addi r4, r1, 0x3c /* 8009EF80 0009BEE0 38 61 00 44 */ addi r3, r1, 0x44 /* 8009EF84 0009BEE4 20 1F 00 01 */ subfic r0, r31, 1 /* 8009EF88 0009BEE8 7C 84 2A 14 */ add r4, r4, r5 /* 8009EF8C 0009BEEC 7C 03 2C 2E */ lfsx f0, r3, r5 /* 8009EF90 0009BEF0 54 00 10 3A */ slwi r0, r0, 2 /* 8009EF94 0009BEF4 80 A4 00 00 */ lwz r5, 0(r4) /* 8009EF98 0009BEF8 80 84 00 04 */ lwz r4, 4(r4) /* 8009EF9C 0009BEFC 7C 7E 02 14 */ add r3, r30, r0 /* 8009EFA0 0009BF00 90 A1 00 30 */ stw r5, 0x30(r1) /* 8009EFA4 0009BF04 90 81 00 34 */ stw r4, 0x34(r1) /* 8009EFA8 0009BF08 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8009EFAC 0009BF0C 93 A3 00 04 */ stw r29, 4(r3) /* 8009EFB0 0009BF10 48 00 00 3C */ b lbl_8009EFEC lbl_8009EFB4: /* 8009EFB4 0009BF14 7F 44 D3 78 */ mr r4, r26 /* 8009EFB8 0009BF18 7F 25 CB 78 */ mr r5, r25 /* 8009EFBC 0009BF1C 7F 06 C3 78 */ mr r6, r24 /* 8009EFC0 0009BF20 38 61 00 0C */ addi r3, r1, 0xc /* 8009EFC4 0009BF24 48 00 00 E1 */ bl ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f /* 8009EFC8 0009BF28 80 81 00 0C */ lwz r4, 0xc(r1) /* 8009EFCC 0009BF2C 38 00 00 03 */ li r0, 3 /* 8009EFD0 0009BF30 80 61 00 10 */ lwz r3, 0x10(r1) /* 8009EFD4 0009BF34 C0 01 00 14 */ lfs f0, 0x14(r1) /* 8009EFD8 0009BF38 90 81 00 30 */ stw r4, 0x30(r1) /* 8009EFDC 0009BF3C 90 1E 00 00 */ stw r0, 0(r30) /* 8009EFE0 0009BF40 90 61 00 34 */ stw r3, 0x34(r1) /* 8009EFE4 0009BF44 D0 01 00 38 */ stfs f0, 0x38(r1) /* 8009EFE8 0009BF48 93 BE 00 0C */ stw r29, 0xc(r30) lbl_8009EFEC: /* 8009EFEC 0009BF4C C0 01 00 30 */ lfs f0, 0x30(r1) /* 8009EFF0 0009BF50 C0 21 00 34 */ lfs f1, 0x34(r1) /* 8009EFF4 0009BF54 D0 1C 00 00 */ stfs f0, 0(r28) /* 8009EFF8 0009BF58 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8009EFFC 0009BF5C D0 3C 00 04 */ stfs f1, 4(r28) /* 8009F000 0009BF60 D0 1C 00 08 */ stfs f0, 8(r28) /* 8009F004 0009BF64 E3 E1 00 88 */ psq_l f31, 136(r1), 0, qr0 /* 8009F008 0009BF68 CB E1 00 80 */ lfd f31, 0x80(r1) /* 8009F00C 0009BF6C BB 01 00 60 */ lmw r24, 0x60(r1) /* 8009F010 0009BF70 80 01 00 94 */ lwz r0, 0x94(r1) /* 8009F014 0009BF74 7C 08 03 A6 */ mtlr r0 /* 8009F018 0009BF78 38 21 00 90 */ addi r1, r1, 0x90 /* 8009F01C 0009BF7C 4E 80 00 20 */ blr .global UpdateSupport1__FiPP9CVector2fR7Support UpdateSupport1__FiPP9CVector2fR7Support: /* 8009F020 0009BF80 94 21 FF D0 */ stwu r1, -0x30(r1) /* 8009F024 0009BF84 7C 08 02 A6 */ mflr r0 /* 8009F028 0009BF88 90 01 00 34 */ stw r0, 0x34(r1) /* 8009F02C 0009BF8C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8009F030 0009BF90 7C DF 33 78 */ mr r31, r6 /* 8009F034 0009BF94 93 C1 00 28 */ stw r30, 0x28(r1) /* 8009F038 0009BF98 7C 9E 23 78 */ mr r30, r4 /* 8009F03C 0009BF9C 57 C0 10 3A */ slwi r0, r30, 2 /* 8009F040 0009BFA0 93 A1 00 24 */ stw r29, 0x24(r1) /* 8009F044 0009BFA4 7C 7D 1B 78 */ mr r29, r3 /* 8009F048 0009BFA8 80 86 00 04 */ lwz r4, 4(r6) /* 8009F04C 0009BFAC 7C A6 2B 78 */ mr r6, r5 /* 8009F050 0009BFB0 7C A6 00 2E */ lwzx r5, r6, r0 /* 8009F054 0009BFB4 54 83 10 3A */ slwi r3, r4, 2 /* 8009F058 0009BFB8 7C 86 18 2E */ lwzx r4, r6, r3 /* 8009F05C 0009BFBC 38 61 00 08 */ addi r3, r1, 8 /* 8009F060 0009BFC0 48 00 01 FD */ bl ExactCircle2__FRC9CVector2fRC9CVector2f /* 8009F064 0009BFC4 C0 01 00 08 */ lfs f0, 8(r1) /* 8009F068 0009BFC8 38 00 00 02 */ li r0, 2 /* 8009F06C 0009BFCC C0 21 00 0C */ lfs f1, 0xc(r1) /* 8009F070 0009BFD0 C0 41 00 10 */ lfs f2, 0x10(r1) /* 8009F074 0009BFD4 90 1F 00 00 */ stw r0, 0(r31) /* 8009F078 0009BFD8 93 DF 00 08 */ stw r30, 8(r31) /* 8009F07C 0009BFDC D0 1D 00 00 */ stfs f0, 0(r29) /* 8009F080 0009BFE0 D0 3D 00 04 */ stfs f1, 4(r29) /* 8009F084 0009BFE4 D0 5D 00 08 */ stfs f2, 8(r29) /* 8009F088 0009BFE8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 8009F08C 0009BFEC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 8009F090 0009BFF0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 8009F094 0009BFF4 80 01 00 34 */ lwz r0, 0x34(r1) /* 8009F098 0009BFF8 7C 08 03 A6 */ mtlr r0 /* 8009F09C 0009BFFC 38 21 00 30 */ addi r1, r1, 0x30 /* 8009F0A0 0009C000 4E 80 00 20 */ blr .global ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f ExactCircle3__FRC9CVector2fRC9CVector2fRC9CVector2f: /* 8009F0A4 0009C004 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8009F0A8 0009C008 7C 08 02 A6 */ mflr r0 /* 8009F0AC 0009C00C 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8009F0B0 0009C010 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8009F0B4 0009C014 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8009F0B8 0009C018 DB C1 00 90 */ stfd f30, 0x90(r1) /* 8009F0BC 0009C01C F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 8009F0C0 0009C020 DB A1 00 80 */ stfd f29, 0x80(r1) /* 8009F0C4 0009C024 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 8009F0C8 0009C028 DB 81 00 70 */ stfd f28, 0x70(r1) /* 8009F0CC 0009C02C F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0 /* 8009F0D0 0009C030 DB 61 00 60 */ stfd f27, 0x60(r1) /* 8009F0D4 0009C034 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0 /* 8009F0D8 0009C038 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8009F0DC 0009C03C 93 C1 00 58 */ stw r30, 0x58(r1) /* 8009F0E0 0009C040 93 A1 00 54 */ stw r29, 0x54(r1) /* 8009F0E4 0009C044 7C 9E 23 78 */ mr r30, r4 /* 8009F0E8 0009C048 7C 7D 1B 78 */ mr r29, r3 /* 8009F0EC 0009C04C 7C A4 2B 78 */ mr r4, r5 /* 8009F0F0 0009C050 7C DF 33 78 */ mr r31, r6 /* 8009F0F4 0009C054 7F C5 F3 78 */ mr r5, r30 /* 8009F0F8 0009C058 38 61 00 18 */ addi r3, r1, 0x18 /* 8009F0FC 0009C05C 48 27 4E 3D */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009F100 0009C060 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8009F104 0009C064 7F E4 FB 78 */ mr r4, r31 /* 8009F108 0009C068 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8009F10C 0009C06C 7F C5 F3 78 */ mr r5, r30 /* 8009F110 0009C070 D0 21 00 30 */ stfs f1, 0x30(r1) /* 8009F114 0009C074 38 61 00 10 */ addi r3, r1, 0x10 /* 8009F118 0009C078 D0 01 00 34 */ stfs f0, 0x34(r1) /* 8009F11C 0009C07C 48 27 4E 1D */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009F120 0009C080 C3 C1 00 10 */ lfs f30, 0x10(r1) /* 8009F124 0009C084 38 61 00 30 */ addi r3, r1, 0x30 /* 8009F128 0009C088 C3 E1 00 14 */ lfs f31, 0x14(r1) /* 8009F12C 0009C08C D3 C1 00 28 */ stfs f30, 0x28(r1) /* 8009F130 0009C090 C3 A1 00 30 */ lfs f29, 0x30(r1) /* 8009F134 0009C094 D3 E1 00 2C */ stfs f31, 0x2c(r1) /* 8009F138 0009C098 C3 81 00 34 */ lfs f28, 0x34(r1) /* 8009F13C 0009C09C 48 27 4F A1 */ bl MagSquared__9CVector2fCFv /* 8009F140 0009C0A0 C0 02 8C 2C */ lfs f0, lbl_805AA94C@sda21(r2) /* 8009F144 0009C0A4 38 61 00 28 */ addi r3, r1, 0x28 /* 8009F148 0009C0A8 EF 60 00 72 */ fmuls f27, f0, f1 /* 8009F14C 0009C0AC 48 27 4F 91 */ bl MagSquared__9CVector2fCFv /* 8009F150 0009C0B0 EC 1C 07 B2 */ fmuls f0, f28, f30 /* 8009F154 0009C0B4 C0 42 8C 2C */ lfs f2, lbl_805AA94C@sda21(r2) /* 8009F158 0009C0B8 38 6D A8 98 */ addi r3, r13, lbl_805A9458@sda21 /* 8009F15C 0009C0BC C0 8D A8 98 */ lfs f4, lbl_805A9458@sda21(r13) /* 8009F160 0009C0C0 C0 63 00 04 */ lfs f3, 4(r3) /* 8009F164 0009C0C4 EC A2 00 72 */ fmuls f5, f2, f1 /* 8009F168 0009C0C8 EC DD 07 F8 */ fmsubs f6, f29, f31, f0 /* 8009F16C 0009C0CC C0 42 8C 20 */ lfs f2, lbl_805AA940@sda21(r2) /* 8009F170 0009C0D0 C0 02 8C 24 */ lfs f0, lbl_805AA944@sda21(r2) /* 8009F174 0009C0D4 D0 81 00 38 */ stfs f4, 0x38(r1) /* 8009F178 0009C0D8 FC 20 32 10 */ fabs f1, f6 /* 8009F17C 0009C0DC D0 61 00 3C */ stfs f3, 0x3c(r1) /* 8009F180 0009C0E0 FC 20 08 18 */ frsp f1, f1 /* 8009F184 0009C0E4 D0 41 00 40 */ stfs f2, 0x40(r1) /* 8009F188 0009C0E8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009F18C 0009C0EC 40 81 00 64 */ ble lbl_8009F1F0 /* 8009F190 0009C0F0 C0 42 8C 30 */ lfs f2, lbl_805AA950@sda21(r2) /* 8009F194 0009C0F4 EC 3C 01 72 */ fmuls f1, f28, f5 /* 8009F198 0009C0F8 EC 1E 06 F2 */ fmuls f0, f30, f27 /* 8009F19C 0009C0FC D0 81 00 20 */ stfs f4, 0x20(r1) /* 8009F1A0 0009C100 EC 42 30 24 */ fdivs f2, f2, f6 /* 8009F1A4 0009C104 7F C4 F3 78 */ mr r4, r30 /* 8009F1A8 0009C108 D0 61 00 24 */ stfs f3, 0x24(r1) /* 8009F1AC 0009C10C 38 61 00 08 */ addi r3, r1, 8 /* 8009F1B0 0009C110 38 A1 00 20 */ addi r5, r1, 0x20 /* 8009F1B4 0009C114 EC 3F 0E F8 */ fmsubs f1, f31, f27, f1 /* 8009F1B8 0009C118 EC 1D 01 78 */ fmsubs f0, f29, f5, f0 /* 8009F1BC 0009C11C EC 22 00 72 */ fmuls f1, f2, f1 /* 8009F1C0 0009C120 EC 02 00 32 */ fmuls f0, f2, f0 /* 8009F1C4 0009C124 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8009F1C8 0009C128 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8009F1CC 0009C12C 48 27 4D A5 */ bl __pl__FRC9CVector2fRC9CVector2f /* 8009F1D0 0009C130 C0 21 00 08 */ lfs f1, 8(r1) /* 8009F1D4 0009C134 38 61 00 20 */ addi r3, r1, 0x20 /* 8009F1D8 0009C138 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8009F1DC 0009C13C D0 21 00 38 */ stfs f1, 0x38(r1) /* 8009F1E0 0009C140 D0 01 00 3C */ stfs f0, 0x3c(r1) /* 8009F1E4 0009C144 48 27 4E F9 */ bl MagSquared__9CVector2fCFv /* 8009F1E8 0009C148 D0 21 00 40 */ stfs f1, 0x40(r1) /* 8009F1EC 0009C14C 48 00 00 14 */ b lbl_8009F200 lbl_8009F1F0: /* 8009F1F0 0009C150 C0 02 8C 28 */ lfs f0, lbl_805AA948@sda21(r2) /* 8009F1F4 0009C154 D0 81 00 38 */ stfs f4, 0x38(r1) /* 8009F1F8 0009C158 D0 61 00 3C */ stfs f3, 0x3c(r1) /* 8009F1FC 0009C15C D0 01 00 40 */ stfs f0, 0x40(r1) lbl_8009F200: /* 8009F200 0009C160 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8009F204 0009C164 C0 21 00 3C */ lfs f1, 0x3c(r1) /* 8009F208 0009C168 D0 1D 00 00 */ stfs f0, 0(r29) /* 8009F20C 0009C16C C0 01 00 40 */ lfs f0, 0x40(r1) /* 8009F210 0009C170 D0 3D 00 04 */ stfs f1, 4(r29) /* 8009F214 0009C174 D0 1D 00 08 */ stfs f0, 8(r29) /* 8009F218 0009C178 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8009F21C 0009C17C CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8009F220 0009C180 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 8009F224 0009C184 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8009F228 0009C188 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 8009F22C 0009C18C CB A1 00 80 */ lfd f29, 0x80(r1) /* 8009F230 0009C190 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0 /* 8009F234 0009C194 CB 81 00 70 */ lfd f28, 0x70(r1) /* 8009F238 0009C198 E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0 /* 8009F23C 0009C19C CB 61 00 60 */ lfd f27, 0x60(r1) /* 8009F240 0009C1A0 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8009F244 0009C1A4 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8009F248 0009C1A8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8009F24C 0009C1AC 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8009F250 0009C1B0 7C 08 03 A6 */ mtlr r0 /* 8009F254 0009C1B4 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8009F258 0009C1B8 4E 80 00 20 */ blr .global ExactCircle2__FRC9CVector2fRC9CVector2f ExactCircle2__FRC9CVector2fRC9CVector2f: /* 8009F25C 0009C1BC 94 21 FF B0 */ stwu r1, -0x50(r1) /* 8009F260 0009C1C0 7C 08 02 A6 */ mflr r0 /* 8009F264 0009C1C4 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009F268 0009C1C8 38 CD A8 98 */ addi r6, r13, lbl_805A9458@sda21 /* 8009F26C 0009C1CC 90 01 00 54 */ stw r0, 0x54(r1) /* 8009F270 0009C1D0 93 E1 00 4C */ stw r31, 0x4c(r1) /* 8009F274 0009C1D4 7C BF 2B 78 */ mr r31, r5 /* 8009F278 0009C1D8 93 C1 00 48 */ stw r30, 0x48(r1) /* 8009F27C 0009C1DC 7C 9E 23 78 */ mr r30, r4 /* 8009F280 0009C1E0 93 A1 00 44 */ stw r29, 0x44(r1) /* 8009F284 0009C1E4 7C 7D 1B 78 */ mr r29, r3 /* 8009F288 0009C1E8 38 61 00 10 */ addi r3, r1, 0x10 /* 8009F28C 0009C1EC C0 4D A8 98 */ lfs f2, lbl_805A9458@sda21(r13) /* 8009F290 0009C1F0 C0 26 00 04 */ lfs f1, 4(r6) /* 8009F294 0009C1F4 D0 41 00 28 */ stfs f2, 0x28(r1) /* 8009F298 0009C1F8 D0 21 00 2C */ stfs f1, 0x2c(r1) /* 8009F29C 0009C1FC D0 01 00 30 */ stfs f0, 0x30(r1) /* 8009F2A0 0009C200 48 27 4C D1 */ bl __pl__FRC9CVector2fRC9CVector2f /* 8009F2A4 0009C204 38 61 00 18 */ addi r3, r1, 0x18 /* 8009F2A8 0009C208 38 A1 00 10 */ addi r5, r1, 0x10 /* 8009F2AC 0009C20C 38 8D 86 08 */ addi r4, r13, lbl_805A71C8@sda21 /* 8009F2B0 0009C210 48 27 4B F1 */ bl __ml__FRCfRC9CVector2f /* 8009F2B4 0009C214 C0 21 00 18 */ lfs f1, 0x18(r1) /* 8009F2B8 0009C218 7F E4 FB 78 */ mr r4, r31 /* 8009F2BC 0009C21C C0 01 00 1C */ lfs f0, 0x1c(r1) /* 8009F2C0 0009C220 7F C5 F3 78 */ mr r5, r30 /* 8009F2C4 0009C224 D0 21 00 28 */ stfs f1, 0x28(r1) /* 8009F2C8 0009C228 38 61 00 08 */ addi r3, r1, 8 /* 8009F2CC 0009C22C D0 01 00 2C */ stfs f0, 0x2c(r1) /* 8009F2D0 0009C230 48 27 4C 69 */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009F2D4 0009C234 C0 21 00 08 */ lfs f1, 8(r1) /* 8009F2D8 0009C238 38 61 00 20 */ addi r3, r1, 0x20 /* 8009F2DC 0009C23C C0 01 00 0C */ lfs f0, 0xc(r1) /* 8009F2E0 0009C240 D0 21 00 20 */ stfs f1, 0x20(r1) /* 8009F2E4 0009C244 D0 01 00 24 */ stfs f0, 0x24(r1) /* 8009F2E8 0009C248 48 27 4D F5 */ bl MagSquared__9CVector2fCFv /* 8009F2EC 0009C24C C0 01 00 28 */ lfs f0, 0x28(r1) /* 8009F2F0 0009C250 C0 42 8C 34 */ lfs f2, lbl_805AA954@sda21(r2) /* 8009F2F4 0009C254 D0 1D 00 00 */ stfs f0, 0(r29) /* 8009F2F8 0009C258 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 8009F2FC 0009C25C EC 22 00 72 */ fmuls f1, f2, f1 /* 8009F300 0009C260 D0 1D 00 04 */ stfs f0, 4(r29) /* 8009F304 0009C264 D0 21 00 30 */ stfs f1, 0x30(r1) /* 8009F308 0009C268 D0 3D 00 08 */ stfs f1, 8(r29) /* 8009F30C 0009C26C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 8009F310 0009C270 83 C1 00 48 */ lwz r30, 0x48(r1) /* 8009F314 0009C274 83 A1 00 44 */ lwz r29, 0x44(r1) /* 8009F318 0009C278 80 01 00 54 */ lwz r0, 0x54(r1) /* 8009F31C 0009C27C 7C 08 03 A6 */ mtlr r0 /* 8009F320 0009C280 38 21 00 50 */ addi r1, r1, 0x50 /* 8009F324 0009C284 4E 80 00 20 */ blr .global ExactCircle1__FRC9CVector2f ExactCircle1__FRC9CVector2f: /* 8009F328 0009C288 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8009F32C 0009C28C 38 AD A8 98 */ addi r5, r13, lbl_805A9458@sda21 /* 8009F330 0009C290 C0 42 8C 20 */ lfs f2, lbl_805AA940@sda21(r2) /* 8009F334 0009C294 C0 8D A8 98 */ lfs f4, lbl_805A9458@sda21(r13) /* 8009F338 0009C298 C0 65 00 04 */ lfs f3, 4(r5) /* 8009F33C 0009C29C C0 24 00 00 */ lfs f1, 0(r4) /* 8009F340 0009C2A0 C0 04 00 04 */ lfs f0, 4(r4) /* 8009F344 0009C2A4 D0 81 00 08 */ stfs f4, 8(r1) /* 8009F348 0009C2A8 D0 23 00 00 */ stfs f1, 0(r3) /* 8009F34C 0009C2AC D0 61 00 0C */ stfs f3, 0xc(r1) /* 8009F350 0009C2B0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8009F354 0009C2B4 D0 03 00 04 */ stfs f0, 4(r3) /* 8009F358 0009C2B8 D0 21 00 08 */ stfs f1, 8(r1) /* 8009F35C 0009C2BC D0 01 00 0C */ stfs f0, 0xc(r1) /* 8009F360 0009C2C0 D0 41 00 10 */ stfs f2, 0x10(r1) /* 8009F364 0009C2C4 D0 43 00 08 */ stfs f2, 8(r3) /* 8009F368 0009C2C8 38 21 00 20 */ addi r1, r1, 0x20 /* 8009F36C 0009C2CC 4E 80 00 20 */ blr .global PointInsideCircle__FRC9CVector2fRC7Circle2Rf PointInsideCircle__FRC9CVector2fRC7Circle2Rf: /* 8009F370 0009C2D0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8009F374 0009C2D4 7C 08 02 A6 */ mflr r0 /* 8009F378 0009C2D8 90 01 00 24 */ stw r0, 0x24(r1) /* 8009F37C 0009C2DC 7C 60 1B 78 */ mr r0, r3 /* 8009F380 0009C2E0 38 61 00 08 */ addi r3, r1, 8 /* 8009F384 0009C2E4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8009F388 0009C2E8 7C BF 2B 78 */ mr r31, r5 /* 8009F38C 0009C2EC 93 C1 00 18 */ stw r30, 0x18(r1) /* 8009F390 0009C2F0 7C 9E 23 78 */ mr r30, r4 /* 8009F394 0009C2F4 7C 04 03 78 */ mr r4, r0 /* 8009F398 0009C2F8 7F C5 F3 78 */ mr r5, r30 /* 8009F39C 0009C2FC 48 27 4B 9D */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009F3A0 0009C300 C0 21 00 08 */ lfs f1, 8(r1) /* 8009F3A4 0009C304 38 61 00 10 */ addi r3, r1, 0x10 /* 8009F3A8 0009C308 C0 01 00 0C */ lfs f0, 0xc(r1) /* 8009F3AC 0009C30C D0 21 00 10 */ stfs f1, 0x10(r1) /* 8009F3B0 0009C310 D0 01 00 14 */ stfs f0, 0x14(r1) /* 8009F3B4 0009C314 48 27 4D 29 */ bl MagSquared__9CVector2fCFv /* 8009F3B8 0009C318 C0 5E 00 08 */ lfs f2, 8(r30) /* 8009F3BC 0009C31C C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009F3C0 0009C320 EC 21 10 28 */ fsubs f1, f1, f2 /* 8009F3C4 0009C324 D0 3F 00 00 */ stfs f1, 0(r31) /* 8009F3C8 0009C328 C0 3F 00 00 */ lfs f1, 0(r31) /* 8009F3CC 0009C32C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009F3D0 0009C330 4C 40 13 82 */ cror 2, 0, 2 /* 8009F3D4 0009C334 7C 00 00 26 */ mfcr r0 /* 8009F3D8 0009C338 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f /* 8009F3DC 0009C33C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8009F3E0 0009C340 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8009F3E4 0009C344 80 01 00 24 */ lwz r0, 0x24(r1) /* 8009F3E8 0009C348 7C 08 03 A6 */ mtlr r0 /* 8009F3EC 0009C34C 38 21 00 20 */ addi r1, r1, 0x20 /* 8009F3F0 0009C350 4E 80 00 20 */ blr .global FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer FMapWorldFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer: /* 8009F3F4 0009C354 94 21 FF E0 */ stwu r1, -0x20(r1) /* 8009F3F8 0009C358 7C 08 02 A6 */ mflr r0 /* 8009F3FC 0009C35C 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 8009F400 0009C360 90 01 00 24 */ stw r0, 0x24(r1) /* 8009F404 0009C364 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 8009F408 0009C368 93 E1 00 1C */ stw r31, 0x1c(r1) /* 8009F40C 0009C36C 7C BF 2B 78 */ mr r31, r5 /* 8009F410 0009C370 38 A0 00 00 */ li r5, 0 /* 8009F414 0009C374 93 C1 00 18 */ stw r30, 0x18(r1) /* 8009F418 0009C378 7C 7E 1B 78 */ mr r30, r3 /* 8009F41C 0009C37C 38 60 00 44 */ li r3, 0x44 /* 8009F420 0009C380 48 27 64 4D */ bl __nw__FUlPCcPCc /* 8009F424 0009C384 7C 64 1B 79 */ or. r4, r3, r3 /* 8009F428 0009C388 41 82 00 10 */ beq lbl_8009F438 /* 8009F42C 0009C38C 7F E4 FB 78 */ mr r4, r31 /* 8009F430 0009C390 48 00 21 85 */ bl __ct__9CMapWorldFR12CInputStream /* 8009F434 0009C394 7C 64 1B 78 */ mr r4, r3 lbl_8009F438: /* 8009F438 0009C398 7C 04 00 D0 */ neg r0, r4 /* 8009F43C 0009C39C 90 81 00 0C */ stw r4, 0xc(r1) /* 8009F440 0009C3A0 7C 00 23 78 */ or r0, r0, r4 /* 8009F444 0009C3A4 38 61 00 10 */ addi r3, r1, 0x10 /* 8009F448 0009C3A8 54 00 0F FE */ srwi r0, r0, 0x1f /* 8009F44C 0009C3AC 38 81 00 08 */ addi r4, r1, 8 /* 8009F450 0009C3B0 98 01 00 08 */ stb r0, 8(r1) /* 8009F454 0009C3B4 48 00 01 11 */ bl "GetIObjObjectFor__18TToken<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>" /* 8009F458 0009C3B8 80 61 00 14 */ lwz r3, 0x14(r1) /* 8009F45C 0009C3BC 38 00 00 00 */ li r0, 0 /* 8009F460 0009C3C0 98 01 00 10 */ stb r0, 0x10(r1) /* 8009F464 0009C3C4 7C 03 00 D0 */ neg r0, r3 /* 8009F468 0009C3C8 7C 00 1B 78 */ or r0, r0, r3 /* 8009F46C 0009C3CC 54 00 0F FE */ srwi r0, r0, 0x1f /* 8009F470 0009C3D0 98 1E 00 00 */ stb r0, 0(r30) /* 8009F474 0009C3D4 90 7E 00 04 */ stw r3, 4(r30) /* 8009F478 0009C3D8 88 01 00 10 */ lbz r0, 0x10(r1) /* 8009F47C 0009C3DC 28 00 00 00 */ cmplwi r0, 0 /* 8009F480 0009C3E0 41 82 00 24 */ beq lbl_8009F4A4 /* 8009F484 0009C3E4 80 61 00 14 */ lwz r3, 0x14(r1) /* 8009F488 0009C3E8 28 03 00 00 */ cmplwi r3, 0 /* 8009F48C 0009C3EC 41 82 00 18 */ beq lbl_8009F4A4 /* 8009F490 0009C3F0 81 83 00 00 */ lwz r12, 0(r3) /* 8009F494 0009C3F4 38 80 00 01 */ li r4, 1 /* 8009F498 0009C3F8 81 8C 00 08 */ lwz r12, 8(r12) /* 8009F49C 0009C3FC 7D 89 03 A6 */ mtctr r12 /* 8009F4A0 0009C400 4E 80 04 21 */ bctrl lbl_8009F4A4: /* 8009F4A4 0009C404 88 01 00 08 */ lbz r0, 8(r1) /* 8009F4A8 0009C408 28 00 00 00 */ cmplwi r0, 0 /* 8009F4AC 0009C40C 41 82 00 10 */ beq lbl_8009F4BC /* 8009F4B0 0009C410 80 61 00 0C */ lwz r3, 0xc(r1) /* 8009F4B4 0009C414 38 80 00 01 */ li r4, 1 /* 8009F4B8 0009C418 48 00 1F 2D */ bl __dt__9CMapWorldFv lbl_8009F4BC: /* 8009F4BC 0009C41C 80 01 00 24 */ lwz r0, 0x24(r1) /* 8009F4C0 0009C420 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 8009F4C4 0009C424 83 C1 00 18 */ lwz r30, 0x18(r1) /* 8009F4C8 0009C428 7C 08 03 A6 */ mtlr r0 /* 8009F4CC 0009C42C 38 21 00 20 */ addi r1, r1, 0x20 /* 8009F4D0 0009C430 4E 80 00 20 */ blr .global "__dt__36TObjOwnerDerivedFromIObj<9CMapWorld>Fv" "__dt__36TObjOwnerDerivedFromIObj<9CMapWorld>Fv": /* 8009F4D4 0009C434 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8009F4D8 0009C438 7C 08 02 A6 */ mflr r0 /* 8009F4DC 0009C43C 90 01 00 14 */ stw r0, 0x14(r1) /* 8009F4E0 0009C440 93 E1 00 0C */ stw r31, 0xc(r1) /* 8009F4E4 0009C444 7C 9F 23 78 */ mr r31, r4 /* 8009F4E8 0009C448 93 C1 00 08 */ stw r30, 8(r1) /* 8009F4EC 0009C44C 7C 7E 1B 79 */ or. r30, r3, r3 /* 8009F4F0 0009C450 41 82 00 58 */ beq lbl_8009F548 /* 8009F4F4 0009C454 3C 60 80 3E */ lis r3, lbl_803DAF48@ha /* 8009F4F8 0009C458 38 03 AF 48 */ addi r0, r3, lbl_803DAF48@l /* 8009F4FC 0009C45C 90 1E 00 00 */ stw r0, 0(r30) /* 8009F500 0009C460 80 7E 00 04 */ lwz r3, 4(r30) /* 8009F504 0009C464 28 03 00 00 */ cmplwi r3, 0 /* 8009F508 0009C468 41 82 00 0C */ beq lbl_8009F514 /* 8009F50C 0009C46C 38 80 00 01 */ li r4, 1 /* 8009F510 0009C470 48 00 1E D5 */ bl __dt__9CMapWorldFv lbl_8009F514: /* 8009F514 0009C474 28 1E 00 00 */ cmplwi r30, 0 /* 8009F518 0009C478 41 82 00 20 */ beq lbl_8009F538 /* 8009F51C 0009C47C 3C 60 80 3E */ lis r3, __vt__31TObjOwnerDerivedFromIObjUntyped@ha /* 8009F520 0009C480 38 03 8D 78 */ addi r0, r3, __vt__31TObjOwnerDerivedFromIObjUntyped@l /* 8009F524 0009C484 90 1E 00 00 */ stw r0, 0(r30) /* 8009F528 0009C488 41 82 00 10 */ beq lbl_8009F538 /* 8009F52C 0009C48C 3C 60 80 3E */ lis r3, __vt__4IObj@ha /* 8009F530 0009C490 38 03 8D 6C */ addi r0, r3, __vt__4IObj@l /* 8009F534 0009C494 90 1E 00 00 */ stw r0, 0(r30) lbl_8009F538: /* 8009F538 0009C498 7F E0 07 35 */ extsh. r0, r31 /* 8009F53C 0009C49C 40 81 00 0C */ ble lbl_8009F548 /* 8009F540 0009C4A0 7F C3 F3 78 */ mr r3, r30 /* 8009F544 0009C4A4 48 27 63 ED */ bl Free__7CMemoryFPCv lbl_8009F548: /* 8009F548 0009C4A8 80 01 00 14 */ lwz r0, 0x14(r1) /* 8009F54C 0009C4AC 7F C3 F3 78 */ mr r3, r30 /* 8009F550 0009C4B0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8009F554 0009C4B4 83 C1 00 08 */ lwz r30, 8(r1) /* 8009F558 0009C4B8 7C 08 03 A6 */ mtlr r0 /* 8009F55C 0009C4BC 38 21 00 10 */ addi r1, r1, 0x10 /* 8009F560 0009C4C0 4E 80 00 20 */ blr .global "GetIObjObjectFor__18TToken<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>" "GetIObjObjectFor__18TToken<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>": /* 8009F564 0009C4C4 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8009F568 0009C4C8 7C 08 02 A6 */ mflr r0 /* 8009F56C 0009C4CC 90 01 00 14 */ stw r0, 0x14(r1) /* 8009F570 0009C4D0 93 E1 00 0C */ stw r31, 0xc(r1) /* 8009F574 0009C4D4 7C 7F 1B 78 */ mr r31, r3 /* 8009F578 0009C4D8 48 00 00 19 */ bl "GetNewDerivedObject__36TObjOwnerDerivedFromIObj<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>" /* 8009F57C 0009C4DC 80 01 00 14 */ lwz r0, 0x14(r1) /* 8009F580 0009C4E0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8009F584 0009C4E4 7C 08 03 A6 */ mtlr r0 /* 8009F588 0009C4E8 38 21 00 10 */ addi r1, r1, 0x10 /* 8009F58C 0009C4EC 4E 80 00 20 */ blr .global "GetNewDerivedObject__36TObjOwnerDerivedFromIObj<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>" "GetNewDerivedObject__36TObjOwnerDerivedFromIObj<9CMapWorld>FRCQ24rstl20auto_ptr<9CMapWorld>": /* 8009F590 0009C4F0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 8009F594 0009C4F4 7C 08 02 A6 */ mflr r0 /* 8009F598 0009C4F8 3C A0 80 3D */ lis r5, lbl_803CD960@ha /* 8009F59C 0009C4FC 90 01 00 14 */ stw r0, 0x14(r1) /* 8009F5A0 0009C500 38 05 D9 60 */ addi r0, r5, lbl_803CD960@l /* 8009F5A4 0009C504 38 A0 00 00 */ li r5, 0 /* 8009F5A8 0009C508 93 E1 00 0C */ stw r31, 0xc(r1) /* 8009F5AC 0009C50C 7C 9F 23 78 */ mr r31, r4 /* 8009F5B0 0009C510 7C 04 03 78 */ mr r4, r0 /* 8009F5B4 0009C514 93 C1 00 08 */ stw r30, 8(r1) /* 8009F5B8 0009C518 7C 7E 1B 78 */ mr r30, r3 /* 8009F5BC 0009C51C 38 60 00 08 */ li r3, 8 /* 8009F5C0 0009C520 48 27 62 AD */ bl __nw__FUlPCcPCc /* 8009F5C4 0009C524 28 03 00 00 */ cmplwi r3, 0 /* 8009F5C8 0009C528 41 82 00 38 */ beq lbl_8009F600 /* 8009F5CC 0009C52C 3C 80 80 3E */ lis r4, __vt__4IObj@ha /* 8009F5D0 0009C530 3C A0 80 3E */ lis r5, __vt__31TObjOwnerDerivedFromIObjUntyped@ha /* 8009F5D4 0009C534 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l /* 8009F5D8 0009C538 3C 80 80 3E */ lis r4, lbl_803DAF48@ha /* 8009F5DC 0009C53C 90 03 00 00 */ stw r0, 0(r3) /* 8009F5E0 0009C540 38 C5 8D 78 */ addi r6, r5, __vt__31TObjOwnerDerivedFromIObjUntyped@l /* 8009F5E4 0009C544 38 A0 00 00 */ li r5, 0 /* 8009F5E8 0009C548 38 04 AF 48 */ addi r0, r4, lbl_803DAF48@l /* 8009F5EC 0009C54C 90 C3 00 00 */ stw r6, 0(r3) /* 8009F5F0 0009C550 98 BF 00 00 */ stb r5, 0(r31) /* 8009F5F4 0009C554 80 9F 00 04 */ lwz r4, 4(r31) /* 8009F5F8 0009C558 90 83 00 04 */ stw r4, 4(r3) /* 8009F5FC 0009C55C 90 03 00 00 */ stw r0, 0(r3) lbl_8009F600: /* 8009F600 0009C560 7C 03 00 D0 */ neg r0, r3 /* 8009F604 0009C564 7C 00 1B 78 */ or r0, r0, r3 /* 8009F608 0009C568 54 00 0F FE */ srwi r0, r0, 0x1f /* 8009F60C 0009C56C 98 1E 00 00 */ stb r0, 0(r30) /* 8009F610 0009C570 90 7E 00 04 */ stw r3, 4(r30) /* 8009F614 0009C574 83 E1 00 0C */ lwz r31, 0xc(r1) /* 8009F618 0009C578 83 C1 00 08 */ lwz r30, 8(r1) /* 8009F61C 0009C57C 80 01 00 14 */ lwz r0, 0x14(r1) /* 8009F620 0009C580 7C 08 03 A6 */ mtlr r0 /* 8009F624 0009C584 38 21 00 10 */ addi r1, r1, 0x10 /* 8009F628 0009C588 4E 80 00 20 */ blr .global ClearTraversedFlags__9CMapWorldCFv ClearTraversedFlags__9CMapWorldCFv: /* 8009F62C 0009C58C 38 C0 00 00 */ li r6, 0 /* 8009F630 0009C590 38 A0 00 00 */ li r5, 0 /* 8009F634 0009C594 48 00 00 10 */ b lbl_8009F644 lbl_8009F638: /* 8009F638 0009C598 80 83 00 2C */ lwz r4, 0x2c(r3) /* 8009F63C 0009C59C 7C A4 31 AE */ stbx r5, r4, r6 /* 8009F640 0009C5A0 38 C6 00 01 */ addi r6, r6, 1 lbl_8009F644: /* 8009F644 0009C5A4 80 03 00 24 */ lwz r0, 0x24(r3) /* 8009F648 0009C5A8 7C 06 00 00 */ cmpw r6, r0 /* 8009F64C 0009C5AC 41 80 FF EC */ blt lbl_8009F638 .global sub_8009f650 sub_8009f650: /* 8009F650 0009C5B0 4E 80 00 20 */ blr .global ConstrainToWorldVolume__9CMapWorldCFRC9CVector3fRC9CVector3f ConstrainToWorldVolume__9CMapWorldCFRC9CVector3fRC9CVector3f: /* 8009F654 0009C5B4 94 21 FF 50 */ stwu r1, -0xb0(r1) /* 8009F658 0009C5B8 7C 08 02 A6 */ mflr r0 /* 8009F65C 0009C5BC 90 01 00 B4 */ stw r0, 0xb4(r1) /* 8009F660 0009C5C0 DB E1 00 A0 */ stfd f31, 0xa0(r1) /* 8009F664 0009C5C4 F3 E1 00 A8 */ psq_st f31, 168(r1), 0, qr0 /* 8009F668 0009C5C8 DB C1 00 90 */ stfd f30, 0x90(r1) /* 8009F66C 0009C5CC F3 C1 00 98 */ psq_st f30, 152(r1), 0, qr0 /* 8009F670 0009C5D0 DB A1 00 80 */ stfd f29, 0x80(r1) /* 8009F674 0009C5D4 F3 A1 00 88 */ psq_st f29, 136(r1), 0, qr0 /* 8009F678 0009C5D8 DB 81 00 70 */ stfd f28, 0x70(r1) /* 8009F67C 0009C5DC F3 81 00 78 */ psq_st f28, 120(r1), 0, qr0 /* 8009F680 0009C5E0 DB 61 00 60 */ stfd f27, 0x60(r1) /* 8009F684 0009C5E4 F3 61 00 68 */ psq_st f27, 104(r1), 0, qr0 /* 8009F688 0009C5E8 93 E1 00 5C */ stw r31, 0x5c(r1) /* 8009F68C 0009C5EC 93 C1 00 58 */ stw r30, 0x58(r1) /* 8009F690 0009C5F0 93 A1 00 54 */ stw r29, 0x54(r1) /* 8009F694 0009C5F4 C0 66 00 08 */ lfs f3, 8(r6) /* 8009F698 0009C5F8 7C BF 2B 78 */ mr r31, r5 /* 8009F69C 0009C5FC C0 02 8C 38 */ lfs f0, lbl_805AA958@sda21(r2) /* 8009F6A0 0009C600 7C 7D 1B 78 */ mr r29, r3 /* 8009F6A4 0009C604 FC 20 1A 10 */ fabs f1, f3 /* 8009F6A8 0009C608 C3 E5 00 00 */ lfs f31, 0(r5) /* 8009F6AC 0009C60C C3 C5 00 04 */ lfs f30, 4(r5) /* 8009F6B0 0009C610 7C 9E 23 78 */ mr r30, r4 /* 8009F6B4 0009C614 C3 A5 00 08 */ lfs f29, 8(r5) /* 8009F6B8 0009C618 FC 20 08 18 */ frsp f1, f1 /* 8009F6BC 0009C61C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009F6C0 0009C620 40 81 00 88 */ ble lbl_8009F748 /* 8009F6C4 0009C624 C0 3E 00 40 */ lfs f1, 0x40(r30) /* 8009F6C8 0009C628 C0 9E 00 38 */ lfs f4, 0x38(r30) /* 8009F6CC 0009C62C C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 8009F6D0 0009C630 EC 41 20 2A */ fadds f2, f1, f4 /* 8009F6D4 0009C634 EC 24 08 28 */ fsubs f1, f4, f1 /* 8009F6D8 0009C638 EC 5D 10 28 */ fsubs f2, f29, f2 /* 8009F6DC 0009C63C EC 3D 08 28 */ fsubs f1, f29, f1 /* 8009F6E0 0009C640 FC 02 00 40 */ fcmpo cr0, f2, f0 /* 8009F6E4 0009C644 40 81 00 30 */ ble lbl_8009F714 /* 8009F6E8 0009C648 FC 40 10 50 */ fneg f2, f2 /* 8009F6EC 0009C64C C0 26 00 00 */ lfs f1, 0(r6) /* 8009F6F0 0009C650 C0 06 00 04 */ lfs f0, 4(r6) /* 8009F6F4 0009C654 EC 82 18 24 */ fdivs f4, f2, f3 /* 8009F6F8 0009C658 EC 44 00 72 */ fmuls f2, f4, f1 /* 8009F6FC 0009C65C EC 24 00 32 */ fmuls f1, f4, f0 /* 8009F700 0009C660 EC 04 00 F2 */ fmuls f0, f4, f3 /* 8009F704 0009C664 EF FF 10 2A */ fadds f31, f31, f2 /* 8009F708 0009C668 EF DE 08 2A */ fadds f30, f30, f1 /* 8009F70C 0009C66C EF BD 00 2A */ fadds f29, f29, f0 /* 8009F710 0009C670 48 00 00 68 */ b lbl_8009F778 lbl_8009F714: /* 8009F714 0009C674 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009F718 0009C678 40 80 00 60 */ bge lbl_8009F778 /* 8009F71C 0009C67C FC 40 08 50 */ fneg f2, f1 /* 8009F720 0009C680 C0 26 00 00 */ lfs f1, 0(r6) /* 8009F724 0009C684 C0 06 00 04 */ lfs f0, 4(r6) /* 8009F728 0009C688 EC 82 18 24 */ fdivs f4, f2, f3 /* 8009F72C 0009C68C EC 44 00 72 */ fmuls f2, f4, f1 /* 8009F730 0009C690 EC 24 00 32 */ fmuls f1, f4, f0 /* 8009F734 0009C694 EC 04 00 F2 */ fmuls f0, f4, f3 /* 8009F738 0009C698 EF FF 10 2A */ fadds f31, f31, f2 /* 8009F73C 0009C69C EF DE 08 2A */ fadds f30, f30, f1 /* 8009F740 0009C6A0 EF BD 00 2A */ fadds f29, f29, f0 /* 8009F744 0009C6A4 48 00 00 34 */ b lbl_8009F778 lbl_8009F748: /* 8009F748 0009C6A8 C0 5E 00 40 */ lfs f2, 0x40(r30) /* 8009F74C 0009C6AC 38 61 00 10 */ addi r3, r1, 0x10 /* 8009F750 0009C6B0 C0 1E 00 38 */ lfs f0, 0x38(r30) /* 8009F754 0009C6B4 38 81 00 0C */ addi r4, r1, 0xc /* 8009F758 0009C6B8 D3 A1 00 0C */ stfs f29, 0xc(r1) /* 8009F75C 0009C6BC 38 A1 00 08 */ addi r5, r1, 8 /* 8009F760 0009C6C0 EC 22 00 2A */ fadds f1, f2, f0 /* 8009F764 0009C6C4 EC 00 10 28 */ fsubs f0, f0, f2 /* 8009F768 0009C6C8 D0 21 00 08 */ stfs f1, 8(r1) /* 8009F76C 0009C6CC D0 01 00 10 */ stfs f0, 0x10(r1) /* 8009F770 0009C6D0 4B F6 CB 45 */ bl "Clamp__5CMathFRCfRCfRCf" /* 8009F774 0009C6D4 C3 A3 00 00 */ lfs f29, 0(r3) lbl_8009F778: /* 8009F778 0009C6D8 C3 9F 00 04 */ lfs f28, 4(r31) /* 8009F77C 0009C6DC 38 61 00 24 */ addi r3, r1, 0x24 /* 8009F780 0009C6E0 C3 7F 00 00 */ lfs f27, 0(r31) /* 8009F784 0009C6E4 C0 3E 00 30 */ lfs f1, 0x30(r30) /* 8009F788 0009C6E8 C0 5E 00 34 */ lfs f2, 0x34(r30) /* 8009F78C 0009C6EC 48 27 4A 75 */ bl __ct__9CVector2fFff /* 8009F790 0009C6F0 FC 20 D8 90 */ fmr f1, f27 /* 8009F794 0009C6F4 7C 7F 1B 78 */ mr r31, r3 /* 8009F798 0009C6F8 FC 40 E0 90 */ fmr f2, f28 /* 8009F79C 0009C6FC 38 61 00 2C */ addi r3, r1, 0x2c /* 8009F7A0 0009C700 48 27 4A 61 */ bl __ct__9CVector2fFff /* 8009F7A4 0009C704 7C 64 1B 78 */ mr r4, r3 /* 8009F7A8 0009C708 7F E5 FB 78 */ mr r5, r31 /* 8009F7AC 0009C70C 38 61 00 34 */ addi r3, r1, 0x34 /* 8009F7B0 0009C710 48 27 47 89 */ bl __mi__FRC9CVector2fRC9CVector2f /* 8009F7B4 0009C714 C0 21 00 34 */ lfs f1, 0x34(r1) /* 8009F7B8 0009C718 38 61 00 3C */ addi r3, r1, 0x3c /* 8009F7BC 0009C71C C0 01 00 38 */ lfs f0, 0x38(r1) /* 8009F7C0 0009C720 D0 21 00 3C */ stfs f1, 0x3c(r1) /* 8009F7C4 0009C724 D0 01 00 40 */ stfs f0, 0x40(r1) /* 8009F7C8 0009C728 48 27 49 2D */ bl Magnitude__9CVector2fCFv /* 8009F7CC 0009C72C C0 1E 00 3C */ lfs f0, 0x3c(r30) /* 8009F7D0 0009C730 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 8009F7D4 0009C734 40 81 00 38 */ ble lbl_8009F80C /* 8009F7D8 0009C738 38 61 00 14 */ addi r3, r1, 0x14 /* 8009F7DC 0009C73C 38 81 00 3C */ addi r4, r1, 0x3c /* 8009F7E0 0009C740 48 27 48 A1 */ bl AsNormalized__9CVector2fCFv /* 8009F7E4 0009C744 38 61 00 1C */ addi r3, r1, 0x1c /* 8009F7E8 0009C748 38 81 00 14 */ addi r4, r1, 0x14 /* 8009F7EC 0009C74C 38 BE 00 3C */ addi r5, r30, 0x3c /* 8009F7F0 0009C750 48 27 46 E5 */ bl __ml__FRC9CVector2fRCf /* 8009F7F4 0009C754 C0 7E 00 30 */ lfs f3, 0x30(r30) /* 8009F7F8 0009C758 C0 41 00 1C */ lfs f2, 0x1c(r1) /* 8009F7FC 0009C75C C0 3E 00 34 */ lfs f1, 0x34(r30) /* 8009F800 0009C760 C0 01 00 20 */ lfs f0, 0x20(r1) /* 8009F804 0009C764 EF E3 10 2A */ fadds f31, f3, f2 /* 8009F808 0009C768 EF C1 00 2A */ fadds f30, f1, f0 lbl_8009F80C: /* 8009F80C 0009C76C D3 FD 00 00 */ stfs f31, 0(r29) /* 8009F810 0009C770 D3 DD 00 04 */ stfs f30, 4(r29) /* 8009F814 0009C774 D3 BD 00 08 */ stfs f29, 8(r29) /* 8009F818 0009C778 E3 E1 00 A8 */ psq_l f31, 168(r1), 0, qr0 /* 8009F81C 0009C77C CB E1 00 A0 */ lfd f31, 0xa0(r1) /* 8009F820 0009C780 E3 C1 00 98 */ psq_l f30, 152(r1), 0, qr0 /* 8009F824 0009C784 CB C1 00 90 */ lfd f30, 0x90(r1) /* 8009F828 0009C788 E3 A1 00 88 */ psq_l f29, 136(r1), 0, qr0 /* 8009F82C 0009C78C CB A1 00 80 */ lfd f29, 0x80(r1) /* 8009F830 0009C790 E3 81 00 78 */ psq_l f28, 120(r1), 0, qr0 /* 8009F834 0009C794 CB 81 00 70 */ lfd f28, 0x70(r1) /* 8009F838 0009C798 E3 61 00 68 */ psq_l f27, 104(r1), 0, qr0 /* 8009F83C 0009C79C CB 61 00 60 */ lfd f27, 0x60(r1) /* 8009F840 0009C7A0 83 E1 00 5C */ lwz r31, 0x5c(r1) /* 8009F844 0009C7A4 83 C1 00 58 */ lwz r30, 0x58(r1) /* 8009F848 0009C7A8 80 01 00 B4 */ lwz r0, 0xb4(r1) /* 8009F84C 0009C7AC 83 A1 00 54 */ lwz r29, 0x54(r1) /* 8009F850 0009C7B0 7C 08 03 A6 */ mtlr r0 /* 8009F854 0009C7B4 38 21 00 B0 */ addi r1, r1, 0xb0 /* 8009F858 0009C7B8 4E 80 00 20 */ blr .global RecalculateWorldSphere__9CMapWorldCFRC13CMapWorldInfoRC6IWorld RecalculateWorldSphere__9CMapWorldCFRC13CMapWorldInfoRC6IWorld: /* 8009F85C 0009C7BC 94 21 FF 10 */ stwu r1, -0xf0(r1) /* 8009F860 0009C7C0 7C 08 02 A6 */ mflr r0 /* 8009F864 0009C7C4 90 01 00 F4 */ stw r0, 0xf4(r1) /* 8009F868 0009C7C8 DB E1 00 E0 */ stfd f31, 0xe0(r1) /* 8009F86C 0009C7CC F3 E1 00 E8 */ psq_st f31, 232(r1), 0, qr0 /* 8009F870 0009C7D0 BF 41 00 C8 */ stmw r26, 0xc8(r1) /* 8009F874 0009C7D4 7C 7C 1B 78 */ mr r28, r3 /* 8009F878 0009C7D8 38 C0 00 00 */ li r6, 0 /* 8009F87C 0009C7DC 80 03 00 04 */ lwz r0, 4(r3) /* 8009F880 0009C7E0 7C 9D 23 78 */ mr r29, r4 /* 8009F884 0009C7E4 90 C1 00 5C */ stw r6, 0x5c(r1) /* 8009F888 0009C7E8 7C BE 2B 78 */ mr r30, r5 /* 8009F88C 0009C7EC 38 61 00 58 */ addi r3, r1, 0x58 /* 8009F890 0009C7F0 54 04 18 38 */ slwi r4, r0, 3 /* 8009F894 0009C7F4 90 C1 00 60 */ stw r6, 0x60(r1) /* 8009F898 0009C7F8 90 C1 00 64 */ stw r6, 0x64(r1) /* 8009F89C 0009C7FC 48 00 29 C9 */ bl "reserve__Q24rstl45vector<9CVector2f,Q24rstl17rmemory_allocator>Fi" /* 8009F8A0 0009C800 C0 22 8C 28 */ lfs f1, lbl_805AA948@sda21(r2) /* 8009F8A4 0009C804 3B E0 00 00 */ li r31, 0 /* 8009F8A8 0009C808 C0 02 8C 3C */ lfs f0, lbl_805AA95C@sda21(r2) /* 8009F8AC 0009C80C D0 21 00 34 */ stfs f1, 0x34(r1) /* 8009F8B0 0009C810 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8009F8B4 0009C814 48 00 01 A0 */ b lbl_8009FA54 lbl_8009F8B8: /* 8009F8B8 0009C818 7F 83 E3 78 */ mr r3, r28 /* 8009F8BC 0009C81C 7F C4 F3 78 */ mr r4, r30 /* 8009F8C0 0009C820 7F E5 FB 78 */ mr r5, r31 /* 8009F8C4 0009C824 38 C0 00 01 */ li r6, 1 /* 8009F8C8 0009C828 48 00 0F 65 */ bl IsMapAreaValid__9CMapWorldCFRC6IWorldib /* 8009F8CC 0009C82C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009F8D0 0009C830 41 82 01 80 */ beq lbl_8009FA50 /* 8009F8D4 0009C834 7F 83 E3 78 */ mr r3, r28 /* 8009F8D8 0009C838 7F E4 FB 78 */ mr r4, r31 /* 8009F8DC 0009C83C 48 00 1A DD */ bl GetMapArea__9CMapWorldCFi /* 8009F8E0 0009C840 93 E1 00 20 */ stw r31, 0x20(r1) /* 8009F8E4 0009C844 7C 7A 1B 78 */ mr r26, r3 /* 8009F8E8 0009C848 7F A3 EB 78 */ mr r3, r29 /* 8009F8EC 0009C84C 38 81 00 24 */ addi r4, r1, 0x24 /* 8009F8F0 0009C850 93 E1 00 24 */ stw r31, 0x24(r1) /* 8009F8F4 0009C854 93 E1 00 28 */ stw r31, 0x28(r1) /* 8009F8F8 0009C858 93 E1 00 2C */ stw r31, 0x2c(r1) /* 8009F8FC 0009C85C 48 0C 84 09 */ bl IsAreaVisible__13CMapWorldInfoCF7TAreaId /* 8009F900 0009C860 7C 7B 1B 78 */ mr r27, r3 /* 8009F904 0009C864 7F A3 EB 78 */ mr r3, r29 /* 8009F908 0009C868 38 81 00 2C */ addi r4, r1, 0x2c /* 8009F90C 0009C86C 48 0C 8B 35 */ bl IsWorldVisible__13CMapWorldInfoCF7TAreaId /* 8009F910 0009C870 7C 64 1B 78 */ mr r4, r3 /* 8009F914 0009C874 7F 43 D3 78 */ mr r3, r26 /* 8009F918 0009C878 7F 65 DB 78 */ mr r5, r27 /* 8009F91C 0009C87C 4B FE 14 11 */ bl GetIsVisibleToAutoMapper__8CMapAreaCFbb /* 8009F920 0009C880 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009F924 0009C884 41 82 01 2C */ beq lbl_8009FA50 /* 8009F928 0009C888 7F 44 D3 78 */ mr r4, r26 /* 8009F92C 0009C88C 7F C5 F3 78 */ mr r5, r30 /* 8009F930 0009C890 7F E6 FB 78 */ mr r6, r31 /* 8009F934 0009C894 38 61 00 98 */ addi r3, r1, 0x98 /* 8009F938 0009C898 4B FE 0B 31 */ bl GetAreaPostTransform__8CMapAreaFRC6CWorld7TAreaId /* 8009F93C 0009C89C 38 61 00 68 */ addi r3, r1, 0x68 /* 8009F940 0009C8A0 38 9A 00 10 */ addi r4, r26, 0x10 /* 8009F944 0009C8A4 38 A1 00 98 */ addi r5, r1, 0x98 /* 8009F948 0009C8A8 48 29 7F B5 */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f /* 8009F94C 0009C8AC C0 A1 00 68 */ lfs f5, 0x68(r1) /* 8009F950 0009C8B0 3B 40 00 00 */ li r26, 0 /* 8009F954 0009C8B4 C0 81 00 6C */ lfs f4, 0x6c(r1) /* 8009F958 0009C8B8 C0 61 00 70 */ lfs f3, 0x70(r1) /* 8009F95C 0009C8BC C0 41 00 74 */ lfs f2, 0x74(r1) /* 8009F960 0009C8C0 C0 21 00 78 */ lfs f1, 0x78(r1) /* 8009F964 0009C8C4 C0 01 00 7C */ lfs f0, 0x7c(r1) /* 8009F968 0009C8C8 D0 A1 00 80 */ stfs f5, 0x80(r1) /* 8009F96C 0009C8CC D0 81 00 84 */ stfs f4, 0x84(r1) /* 8009F970 0009C8D0 D0 61 00 88 */ stfs f3, 0x88(r1) /* 8009F974 0009C8D4 D0 41 00 8C */ stfs f2, 0x8c(r1) /* 8009F978 0009C8D8 D0 21 00 90 */ stfs f1, 0x90(r1) /* 8009F97C 0009C8DC D0 01 00 94 */ stfs f0, 0x94(r1) lbl_8009F980: /* 8009F980 0009C8E0 7F 45 D3 78 */ mr r5, r26 /* 8009F984 0009C8E4 38 61 00 4C */ addi r3, r1, 0x4c /* 8009F988 0009C8E8 38 81 00 80 */ addi r4, r1, 0x80 /* 8009F98C 0009C8EC 48 29 7C 25 */ bl GetPoint__6CAABoxCFi /* 8009F990 0009C8F0 C3 E1 00 54 */ lfs f31, 0x54(r1) /* 8009F994 0009C8F4 38 61 00 38 */ addi r3, r1, 0x38 /* 8009F998 0009C8F8 C0 21 00 4C */ lfs f1, 0x4c(r1) /* 8009F99C 0009C8FC C0 41 00 50 */ lfs f2, 0x50(r1) /* 8009F9A0 0009C900 48 27 48 61 */ bl __ct__9CVector2fFff /* 8009F9A4 0009C904 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8009F9A8 0009C908 80 A1 00 60 */ lwz r5, 0x60(r1) /* 8009F9AC 0009C90C 7C 00 28 00 */ cmpw r0, r5 /* 8009F9B0 0009C910 41 80 00 1C */ blt lbl_8009F9CC /* 8009F9B4 0009C914 2C 05 00 00 */ cmpwi r5, 0 /* 8009F9B8 0009C918 38 61 00 58 */ addi r3, r1, 0x58 /* 8009F9BC 0009C91C 38 80 00 04 */ li r4, 4 /* 8009F9C0 0009C920 41 82 00 08 */ beq lbl_8009F9C8 /* 8009F9C4 0009C924 54 A4 08 3C */ slwi r4, r5, 1 lbl_8009F9C8: /* 8009F9C8 0009C928 48 00 28 9D */ bl "reserve__Q24rstl45vector<9CVector2f,Q24rstl17rmemory_allocator>Fi" lbl_8009F9CC: /* 8009F9CC 0009C92C 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8009F9D0 0009C930 80 61 00 64 */ lwz r3, 0x64(r1) /* 8009F9D4 0009C934 54 00 18 38 */ slwi r0, r0, 3 /* 8009F9D8 0009C938 7C 63 02 15 */ add. r3, r3, r0 /* 8009F9DC 0009C93C 41 82 00 14 */ beq lbl_8009F9F0 /* 8009F9E0 0009C940 C0 01 00 38 */ lfs f0, 0x38(r1) /* 8009F9E4 0009C944 D0 03 00 00 */ stfs f0, 0(r3) /* 8009F9E8 0009C948 C0 01 00 3C */ lfs f0, 0x3c(r1) /* 8009F9EC 0009C94C D0 03 00 04 */ stfs f0, 4(r3) lbl_8009F9F0: /* 8009F9F0 0009C950 80 61 00 5C */ lwz r3, 0x5c(r1) /* 8009F9F4 0009C954 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8009F9F8 0009C958 38 03 00 01 */ addi r0, r3, 1 /* 8009F9FC 0009C95C D3 E1 00 1C */ stfs f31, 0x1c(r1) /* 8009FA00 0009C960 FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 8009FA04 0009C964 90 01 00 5C */ stw r0, 0x5c(r1) /* 8009FA08 0009C968 40 80 00 0C */ bge lbl_8009FA14 /* 8009FA0C 0009C96C 38 61 00 1C */ addi r3, r1, 0x1c /* 8009FA10 0009C970 48 00 00 08 */ b lbl_8009FA18 lbl_8009FA14: /* 8009FA14 0009C974 38 61 00 34 */ addi r3, r1, 0x34 lbl_8009FA18: /* 8009FA18 0009C978 C0 01 00 30 */ lfs f0, 0x30(r1) /* 8009FA1C 0009C97C C0 23 00 00 */ lfs f1, 0(r3) /* 8009FA20 0009C980 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 8009FA24 0009C984 D0 21 00 34 */ stfs f1, 0x34(r1) /* 8009FA28 0009C988 D3 E1 00 18 */ stfs f31, 0x18(r1) /* 8009FA2C 0009C98C 40 80 00 0C */ bge lbl_8009FA38 /* 8009FA30 0009C990 38 61 00 18 */ addi r3, r1, 0x18 /* 8009FA34 0009C994 48 00 00 08 */ b lbl_8009FA3C lbl_8009FA38: /* 8009FA38 0009C998 38 61 00 30 */ addi r3, r1, 0x30 lbl_8009FA3C: /* 8009FA3C 0009C99C C0 03 00 00 */ lfs f0, 0(r3) /* 8009FA40 0009C9A0 3B 5A 00 01 */ addi r26, r26, 1 /* 8009FA44 0009C9A4 2C 1A 00 08 */ cmpwi r26, 8 /* 8009FA48 0009C9A8 D0 01 00 30 */ stfs f0, 0x30(r1) /* 8009FA4C 0009C9AC 41 80 FF 34 */ blt lbl_8009F980 lbl_8009FA50: /* 8009FA50 0009C9B0 3B FF 00 01 */ addi r31, r31, 1 lbl_8009FA54: /* 8009FA54 0009C9B4 80 1C 00 04 */ lwz r0, 4(r28) /* 8009FA58 0009C9B8 7C 1F 00 00 */ cmpw r31, r0 /* 8009FA5C 0009C9BC 41 80 FE 5C */ blt lbl_8009F8B8 /* 8009FA60 0009C9C0 80 81 00 5C */ lwz r4, 0x5c(r1) /* 8009FA64 0009C9C4 38 61 00 40 */ addi r3, r1, 0x40 /* 8009FA68 0009C9C8 80 A1 00 64 */ lwz r5, 0x64(r1) /* 8009FA6C 0009C9CC 4B FF EC 69 */ bl MinCircle__FiPC9CVector2f /* 8009FA70 0009C9D0 C0 21 00 48 */ lfs f1, 0x48(r1) /* 8009FA74 0009C9D4 C0 41 00 30 */ lfs f2, 0x30(r1) /* 8009FA78 0009C9D8 C0 01 00 34 */ lfs f0, 0x34(r1) /* 8009FA7C 0009C9DC D0 3C 00 3C */ stfs f1, 0x3c(r28) /* 8009FA80 0009C9E0 C0 81 00 40 */ lfs f4, 0x40(r1) /* 8009FA84 0009C9E4 EC 22 00 2A */ fadds f1, f2, f0 /* 8009FA88 0009C9E8 C0 62 8C 2C */ lfs f3, lbl_805AA94C@sda21(r2) /* 8009FA8C 0009C9EC EC 02 00 28 */ fsubs f0, f2, f0 /* 8009FA90 0009C9F0 80 01 00 5C */ lwz r0, 0x5c(r1) /* 8009FA94 0009C9F4 80 61 00 64 */ lwz r3, 0x64(r1) /* 8009FA98 0009C9F8 EC 23 00 72 */ fmuls f1, f3, f1 /* 8009FA9C 0009C9FC 54 00 18 38 */ slwi r0, r0, 3 /* 8009FAA0 0009CA00 D0 9C 00 30 */ stfs f4, 0x30(r28) /* 8009FAA4 0009CA04 7C 03 02 14 */ add r0, r3, r0 /* 8009FAA8 0009CA08 C0 41 00 44 */ lfs f2, 0x44(r1) /* 8009FAAC 0009CA0C EC 03 00 32 */ fmuls f0, f3, f0 /* 8009FAB0 0009CA10 D0 5C 00 34 */ stfs f2, 0x34(r28) /* 8009FAB4 0009CA14 7C 64 1B 78 */ mr r4, r3 /* 8009FAB8 0009CA18 D0 3C 00 38 */ stfs f1, 0x38(r28) /* 8009FABC 0009CA1C D0 1C 00 40 */ stfs f0, 0x40(r28) /* 8009FAC0 0009CA20 90 01 00 14 */ stw r0, 0x14(r1) /* 8009FAC4 0009CA24 90 01 00 10 */ stw r0, 0x10(r1) /* 8009FAC8 0009CA28 90 61 00 0C */ stw r3, 0xc(r1) /* 8009FACC 0009CA2C 90 61 00 08 */ stw r3, 8(r1) /* 8009FAD0 0009CA30 48 00 00 08 */ b lbl_8009FAD8 lbl_8009FAD4: /* 8009FAD4 0009CA34 38 84 00 08 */ addi r4, r4, 8 lbl_8009FAD8: /* 8009FAD8 0009CA38 7C 04 00 40 */ cmplw r4, r0 /* 8009FADC 0009CA3C 40 82 FF F8 */ bne lbl_8009FAD4 /* 8009FAE0 0009CA40 28 03 00 00 */ cmplwi r3, 0 /* 8009FAE4 0009CA44 41 82 00 08 */ beq lbl_8009FAEC /* 8009FAE8 0009CA48 48 27 5E 49 */ bl Free__7CMemoryFPCv lbl_8009FAEC: /* 8009FAEC 0009CA4C E3 E1 00 E8 */ psq_l f31, 232(r1), 0, qr0 /* 8009FAF0 0009CA50 CB E1 00 E0 */ lfd f31, 0xe0(r1) /* 8009FAF4 0009CA54 BB 41 00 C8 */ lmw r26, 0xc8(r1) /* 8009FAF8 0009CA58 80 01 00 F4 */ lwz r0, 0xf4(r1) /* 8009FAFC 0009CA5C 7C 08 03 A6 */ mtlr r0 /* 8009FB00 0009CA60 38 21 00 F0 */ addi r1, r1, 0xf0 /* 8009FB04 0009CA64 4E 80 00 20 */ blr .global "DrawAreas__9CMapWorldCFRCQ29CMapWorld18CMapWorldDrawParmsiRCQ24rstl64vectorb" "DrawAreas__9CMapWorldCFRCQ29CMapWorld18CMapWorldDrawParmsiRCQ24rstl64vectorb": /* 8009FB08 0009CA68 94 21 FA 30 */ stwu r1, -0x5d0(r1) /* 8009FB0C 0009CA6C 7C 08 02 A6 */ mflr r0 /* 8009FB10 0009CA70 90 01 05 D4 */ stw r0, 0x5d4(r1) /* 8009FB14 0009CA74 DB E1 05 C0 */ stfd f31, 0x5c0(r1) /* 8009FB18 0009CA78 F3 E1 05 C8 */ psq_st f31, 1480(r1), 0, qr0 /* 8009FB1C 0009CA7C DB C1 05 B0 */ stfd f30, 0x5b0(r1) /* 8009FB20 0009CA80 F3 C1 05 B8 */ psq_st f30, 1464(r1), 0, qr0 /* 8009FB24 0009CA84 DB A1 05 A0 */ stfd f29, 0x5a0(r1) /* 8009FB28 0009CA88 F3 A1 05 A8 */ psq_st f29, 1448(r1), 0, qr0 /* 8009FB2C 0009CA8C DB 81 05 90 */ stfd f28, 0x590(r1) /* 8009FB30 0009CA90 F3 81 05 98 */ psq_st f28, 1432(r1), 0, qr0 /* 8009FB34 0009CA94 DB 61 05 80 */ stfd f27, 0x580(r1) /* 8009FB38 0009CA98 F3 61 05 88 */ psq_st f27, 1416(r1), 0, qr0 /* 8009FB3C 0009CA9C DB 41 05 70 */ stfd f26, 0x570(r1) /* 8009FB40 0009CAA0 F3 41 05 78 */ psq_st f26, 1400(r1), 0, qr0 /* 8009FB44 0009CAA4 DB 21 05 60 */ stfd f25, 0x560(r1) /* 8009FB48 0009CAA8 F3 21 05 68 */ psq_st f25, 1384(r1), 0, qr0 /* 8009FB4C 0009CAAC DB 01 05 50 */ stfd f24, 0x550(r1) /* 8009FB50 0009CAB0 F3 01 05 58 */ psq_st f24, 1368(r1), 0, qr0 /* 8009FB54 0009CAB4 DA E1 05 40 */ stfd f23, 0x540(r1) /* 8009FB58 0009CAB8 F2 E1 05 48 */ psq_st f23, 1352(r1), 0, qr0 /* 8009FB5C 0009CABC BD C1 04 F8 */ stmw r14, 0x4f8(r1) /* 8009FB60 0009CAC0 7C 7C 1B 78 */ mr r28, r3 /* 8009FB64 0009CAC4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 8009FB68 0009CAC8 7C 9F 23 78 */ mr r31, r4 /* 8009FB6C 0009CACC 7C BD 2B 78 */ mr r29, r5 /* 8009FB70 0009CAD0 81 83 00 00 */ lwz r12, 0(r3) /* 8009FB74 0009CAD4 7C DB 33 78 */ mr r27, r6 /* 8009FB78 0009CAD8 7C EF 3B 78 */ mr r15, r7 /* 8009FB7C 0009CADC 81 8C 00 68 */ lwz r12, 0x68(r12) /* 8009FB80 0009CAE0 7D 89 03 A6 */ mtctr r12 /* 8009FB84 0009CAE4 4E 80 04 21 */ bctrl /* 8009FB88 0009CAE8 C0 22 8C 30 */ lfs f1, lbl_805AA950@sda21(r2) /* 8009FB8C 0009CAEC 38 60 00 05 */ li r3, 5 /* 8009FB90 0009CAF0 48 26 B8 49 */ bl SetLineWidth__9CGraphicsFf13ERglTexOffset /* 8009FB94 0009CAF4 3A 20 00 00 */ li r17, 0 /* 8009FB98 0009CAF8 39 C0 00 00 */ li r14, 0 /* 8009FB9C 0009CAFC 92 21 01 38 */ stw r17, 0x138(r1) /* 8009FBA0 0009CB00 3A 00 00 00 */ li r16, 0 /* 8009FBA4 0009CB04 3A 40 00 00 */ li r18, 0 /* 8009FBA8 0009CB08 92 21 01 3C */ stw r17, 0x13c(r1) /* 8009FBAC 0009CB0C 92 21 01 40 */ stw r17, 0x140(r1) /* 8009FBB0 0009CB10 48 00 00 2C */ b lbl_8009FBDC lbl_8009FBB4: /* 8009FBB4 0009CB14 80 9B 00 0C */ lwz r4, 0xc(r27) /* 8009FBB8 0009CB18 7F 83 E3 78 */ mr r3, r28 /* 8009FBBC 0009CB1C 7C 84 88 2E */ lwzx r4, r4, r17 /* 8009FBC0 0009CB20 48 00 17 F9 */ bl GetMapArea__9CMapWorldCFi /* 8009FBC4 0009CB24 80 83 00 30 */ lwz r4, 0x30(r3) /* 8009FBC8 0009CB28 3A 31 00 10 */ addi r17, r17, 0x10 /* 8009FBCC 0009CB2C 80 03 00 28 */ lwz r0, 0x28(r3) /* 8009FBD0 0009CB30 3A 52 00 01 */ addi r18, r18, 1 /* 8009FBD4 0009CB34 7D CE 22 14 */ add r14, r14, r4 /* 8009FBD8 0009CB38 7E 10 02 14 */ add r16, r16, r0 lbl_8009FBDC: /* 8009FBDC 0009CB3C 80 1B 00 04 */ lwz r0, 4(r27) /* 8009FBE0 0009CB40 7C 12 00 00 */ cmpw r18, r0 /* 8009FBE4 0009CB44 41 80 FF D0 */ blt lbl_8009FBB4 /* 8009FBE8 0009CB48 88 BF 00 38 */ lbz r5, 0x38(r31) /* 8009FBEC 0009CB4C 1C 10 00 06 */ mulli r0, r16, 6 /* 8009FBF0 0009CB50 38 61 01 34 */ addi r3, r1, 0x134 /* 8009FBF4 0009CB54 7C 85 00 D0 */ neg r4, r5 /* 8009FBF8 0009CB58 7C 84 2B 78 */ or r4, r4, r5 /* 8009FBFC 0009CB5C 7C 84 FE 70 */ srawi r4, r4, 0x1f /* 8009FC00 0009CB60 7C 00 20 38 */ and r0, r0, r4 /* 8009FC04 0009CB64 7C 90 02 14 */ add r4, r16, r0 /* 8009FC08 0009CB68 7C 8E 22 14 */ add r4, r14, r4 /* 8009FC0C 0009CB6C 48 00 25 49 */ bl "reserve__Q24rstl67vectorFi" /* 8009FC10 0009CB70 81 DF 00 18 */ lwz r14, 0x18(r31) /* 8009FC14 0009CB74 3B 20 00 00 */ li r25, 0 /* 8009FC18 0009CB78 83 DF 00 28 */ lwz r30, 0x28(r31) /* 8009FC1C 0009CB7C 3A E0 00 00 */ li r23, 0 /* 8009FC20 0009CB80 82 6E 08 CC */ lwz r19, 0x8cc(r14) /* 8009FC24 0009CB84 48 00 07 2C */ b lbl_800A0350 lbl_8009FC28: /* 8009FC28 0009CB88 80 1B 00 0C */ lwz r0, 0xc(r27) /* 8009FC2C 0009CB8C 7F 83 E3 78 */ mr r3, r28 /* 8009FC30 0009CB90 7E 20 BA 14 */ add r17, r0, r23 /* 8009FC34 0009CB94 83 51 00 00 */ lwz r26, 0(r17) /* 8009FC38 0009CB98 7F 44 D3 78 */ mr r4, r26 /* 8009FC3C 0009CB9C 48 00 17 7D */ bl GetMapArea__9CMapWorldCFi /* 8009FC40 0009CBA0 93 41 00 90 */ stw r26, 0x90(r1) /* 8009FC44 0009CBA4 7C 78 1B 78 */ mr r24, r3 /* 8009FC48 0009CBA8 7F C3 F3 78 */ mr r3, r30 /* 8009FC4C 0009CBAC 38 81 00 94 */ addi r4, r1, 0x94 /* 8009FC50 0009CBB0 93 41 00 94 */ stw r26, 0x94(r1) /* 8009FC54 0009CBB4 93 41 00 98 */ stw r26, 0x98(r1) /* 8009FC58 0009CBB8 93 41 00 9C */ stw r26, 0x9c(r1) /* 8009FC5C 0009CBBC 48 0C 80 A9 */ bl IsAreaVisible__13CMapWorldInfoCF7TAreaId /* 8009FC60 0009CBC0 7C 70 1B 78 */ mr r16, r3 /* 8009FC64 0009CBC4 7F C3 F3 78 */ mr r3, r30 /* 8009FC68 0009CBC8 38 81 00 9C */ addi r4, r1, 0x9c /* 8009FC6C 0009CBCC 48 0C 87 D5 */ bl IsWorldVisible__13CMapWorldInfoCF7TAreaId /* 8009FC70 0009CBD0 7C 64 1B 78 */ mr r4, r3 /* 8009FC74 0009CBD4 7F 03 C3 78 */ mr r3, r24 /* 8009FC78 0009CBD8 7E 05 83 78 */ mr r5, r16 /* 8009FC7C 0009CBDC 4B FE 10 B1 */ bl GetIsVisibleToAutoMapper__8CMapAreaCFbb /* 8009FC80 0009CBE0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FC84 0009CBE4 41 82 06 C4 */ beq lbl_800A0348 /* 8009FC88 0009CBE8 C3 71 00 08 */ lfs f27, 8(r17) /* 8009FC8C 0009CBEC C3 91 00 0C */ lfs f28, 0xc(r17) /* 8009FC90 0009CBF0 FC 20 D8 90 */ fmr f1, f27 /* 8009FC94 0009CBF4 C3 1F 00 00 */ lfs f24, 0(r31) /* 8009FC98 0009CBF8 C2 FF 00 04 */ lfs f23, 4(r31) /* 8009FC9C 0009CBFC C3 BF 00 08 */ lfs f29, 8(r31) /* 8009FCA0 0009CC00 C3 5F 00 0C */ lfs f26, 0xc(r31) /* 8009FCA4 0009CC04 82 1F 00 20 */ lwz r16, 0x20(r31) /* 8009FCA8 0009CC08 48 27 55 F5 */ bl FloorF__5CMathFf /* 8009FCAC 0009CC0C C3 22 8C 30 */ lfs f25, lbl_805AA950@sda21(r2) /* 8009FCB0 0009CC10 EC 1B 08 28 */ fsubs f0, f27, f1 /* 8009FCB4 0009CC14 FC 1B C8 40 */ fcmpo cr0, f27, f25 /* 8009FCB8 0009CC18 4C 41 13 82 */ cror 2, 1, 2 /* 8009FCBC 0009CC1C 40 82 00 08 */ bne lbl_8009FCC4 /* 8009FCC0 0009CC20 48 00 00 18 */ b lbl_8009FCD8 lbl_8009FCC4: /* 8009FCC4 0009CC24 C3 22 8C 20 */ lfs f25, lbl_805AA940@sda21(r2) /* 8009FCC8 0009CC28 FC 1B C8 40 */ fcmpo cr0, f27, f25 /* 8009FCCC 0009CC2C 4C 41 13 82 */ cror 2, 1, 2 /* 8009FCD0 0009CC30 40 82 00 08 */ bne lbl_8009FCD8 /* 8009FCD4 0009CC34 FF 20 00 90 */ fmr f25, f0 lbl_8009FCD8: /* 8009FCD8 0009CC38 FC 20 E0 90 */ fmr f1, f28 /* 8009FCDC 0009CC3C 48 27 55 C1 */ bl FloorF__5CMathFf /* 8009FCE0 0009CC40 C3 62 8C 30 */ lfs f27, lbl_805AA950@sda21(r2) /* 8009FCE4 0009CC44 EC 1C 08 28 */ fsubs f0, f28, f1 /* 8009FCE8 0009CC48 FC 1C D8 40 */ fcmpo cr0, f28, f27 /* 8009FCEC 0009CC4C 4C 41 13 82 */ cror 2, 1, 2 /* 8009FCF0 0009CC50 40 82 00 08 */ bne lbl_8009FCF8 /* 8009FCF4 0009CC54 48 00 00 18 */ b lbl_8009FD0C lbl_8009FCF8: /* 8009FCF8 0009CC58 C3 62 8C 20 */ lfs f27, lbl_805AA940@sda21(r2) /* 8009FCFC 0009CC5C FC 1C D8 40 */ fcmpo cr0, f28, f27 /* 8009FD00 0009CC60 4C 41 13 82 */ cror 2, 1, 2 /* 8009FD04 0009CC64 40 82 00 08 */ bne lbl_8009FD0C /* 8009FD08 0009CC68 FF 60 00 90 */ fmr f27, f0 lbl_8009FD0C: /* 8009FD0C 0009CC6C 93 41 00 88 */ stw r26, 0x88(r1) /* 8009FD10 0009CC70 7F C3 F3 78 */ mr r3, r30 /* 8009FD14 0009CC74 38 81 00 8C */ addi r4, r1, 0x8c /* 8009FD18 0009CC78 93 41 00 8C */ stw r26, 0x8c(r1) /* 8009FD1C 0009CC7C 48 0C 80 65 */ bl IsAreaVisited__13CMapWorldInfoCF7TAreaId /* 8009FD20 0009CC80 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FD24 0009CC84 41 82 00 08 */ beq lbl_8009FD2C /* 8009FD28 0009CC88 48 00 00 08 */ b lbl_8009FD30 lbl_8009FD2C: /* 8009FD2C 0009CC8C FF 00 E8 90 */ fmr f24, f29 lbl_8009FD30: /* 8009FD30 0009CC90 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FD34 0009CC94 41 82 00 08 */ beq lbl_8009FD3C /* 8009FD38 0009CC98 48 00 00 08 */ b lbl_8009FD40 lbl_8009FD3C: /* 8009FD3C 0009CC9C FE E0 D0 90 */ fmr f23, f26 lbl_8009FD40: /* 8009FD40 0009CCA0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FD44 0009CCA4 41 82 00 10 */ beq lbl_8009FD54 /* 8009FD48 0009CCA8 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD4C 0009CCAC 38 84 00 3C */ addi r4, r4, 0x3c /* 8009FD50 0009CCB0 48 00 00 0C */ b lbl_8009FD5C lbl_8009FD54: /* 8009FD54 0009CCB4 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD58 0009CCB8 38 84 00 44 */ addi r4, r4, 0x44 lbl_8009FD5C: /* 8009FD5C 0009CCBC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FD60 0009CCC0 82 24 00 00 */ lwz r17, 0(r4) /* 8009FD64 0009CCC4 41 82 00 10 */ beq lbl_8009FD74 /* 8009FD68 0009CCC8 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD6C 0009CCCC 38 84 00 40 */ addi r4, r4, 0x40 /* 8009FD70 0009CCD0 48 00 00 0C */ b lbl_8009FD7C lbl_8009FD74: /* 8009FD74 0009CCD4 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD78 0009CCD8 38 84 00 48 */ addi r4, r4, 0x48 lbl_8009FD7C: /* 8009FD7C 0009CCDC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FD80 0009CCE0 82 44 00 00 */ lwz r18, 0(r4) /* 8009FD84 0009CCE4 41 82 00 10 */ beq lbl_8009FD94 /* 8009FD88 0009CCE8 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD8C 0009CCEC 38 84 00 4C */ addi r4, r4, 0x4c /* 8009FD90 0009CCF0 48 00 00 0C */ b lbl_8009FD9C lbl_8009FD94: /* 8009FD94 0009CCF4 80 8D A1 44 */ lwz r4, gpTweakAutoMapper@sda21(r13) /* 8009FD98 0009CCF8 38 84 00 7C */ addi r4, r4, 0x7c lbl_8009FD9C: /* 8009FD9C 0009CCFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 8009FDA0 0009CD00 80 64 00 00 */ lwz r3, 0(r4) /* 8009FDA4 0009CD04 90 61 00 B8 */ stw r3, 0xb8(r1) /* 8009FDA8 0009CD08 41 82 00 10 */ beq lbl_8009FDB8 /* 8009FDAC 0009CD0C 80 6D A1 44 */ lwz r3, gpTweakAutoMapper@sda21(r13) /* 8009FDB0 0009CD10 38 63 00 50 */ addi r3, r3, 0x50 /* 8009FDB4 0009CD14 48 00 00 0C */ b lbl_8009FDC0 lbl_8009FDB8: /* 8009FDB8 0009CD18 80 6D A1 44 */ lwz r3, gpTweakAutoMapper@sda21(r13) /* 8009FDBC 0009CD1C 38 63 00 80 */ addi r3, r3, 0x80 lbl_8009FDC0: /* 8009FDC0 0009CD20 80 83 00 00 */ lwz r4, 0(r3) /* 8009FDC4 0009CD24 38 C0 00 FF */ li r6, 0xff /* 8009FDC8 0009CD28 38 00 00 00 */ li r0, 0 /* 8009FDCC 0009CD2C C0 3F 00 30 */ lfs f1, 0x30(r31) /* 8009FDD0 0009CD30 90 81 00 B4 */ stw r4, 0xb4(r1) /* 8009FDD4 0009CD34 38 61 00 84 */ addi r3, r1, 0x84 /* 8009FDD8 0009CD38 38 81 00 80 */ addi r4, r1, 0x80 /* 8009FDDC 0009CD3C 38 A1 00 7C */ addi r5, r1, 0x7c /* 8009FDE0 0009CD40 98 C1 00 7C */ stb r6, 0x7c(r1) /* 8009FDE4 0009CD44 98 C1 00 7D */ stb r6, 0x7d(r1) /* 8009FDE8 0009CD48 98 C1 00 7E */ stb r6, 0x7e(r1) /* 8009FDEC 0009CD4C 98 01 00 7F */ stb r0, 0x7f(r1) /* 8009FDF0 0009CD50 90 01 00 80 */ stw r0, 0x80(r1) /* 8009FDF4 0009CD54 48 2C 34 B9 */ bl Lerp__6CColorFRC6CColorRC6CColorf /* 8009FDF8 0009CD58 7C 1A E8 50 */ subf r0, r26, r29 /* 8009FDFC 0009CD5C 80 81 00 84 */ lwz r4, 0x84(r1) /* 8009FE00 0009CD60 7C 03 00 34 */ cntlzw r3, r0 /* 8009FE04 0009CD64 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f /* 8009FE08 0009CD68 90 81 00 B0 */ stw r4, 0xb0(r1) /* 8009FE0C 0009CD6C 54 60 D9 7E */ srwi r0, r3, 5 /* 8009FE10 0009CD70 41 82 00 08 */ beq lbl_8009FE18 /* 8009FE14 0009CD74 7D E0 7B 78 */ mr r0, r15 lbl_8009FE18: /* 8009FE18 0009CD78 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8009FE1C 0009CD7C 41 82 00 1C */ beq lbl_8009FE38 /* 8009FE20 0009CD80 38 61 00 78 */ addi r3, r1, 0x78 /* 8009FE24 0009CD84 38 81 00 B8 */ addi r4, r1, 0xb8 /* 8009FE28 0009CD88 38 A1 00 B0 */ addi r5, r1, 0xb0 /* 8009FE2C 0009CD8C 48 2C 32 85 */ bl Add__6CColorFRC6CColorRC6CColor /* 8009FE30 0009CD90 38 61 00 78 */ addi r3, r1, 0x78 /* 8009FE34 0009CD94 48 00 00 24 */ b lbl_8009FE58 lbl_8009FE38: /* 8009FE38 0009CD98 EC 19 06 32 */ fmuls f0, f25, f24 /* 8009FE3C 0009CD9C C0 22 8C 40 */ lfs f1, lbl_805AA960@sda21(r2) /* 8009FE40 0009CDA0 EF E1 00 32 */ fmuls f31, f1, f0 /* 8009FE44 0009CDA4 F3 E1 A0 09 */ psq_st f31, 9(r1), 1, qr2 /* 8009FE48 0009CDA8 38 61 00 74 */ addi r3, r1, 0x74 /* 8009FE4C 0009CDAC 88 01 00 09 */ lbz r0, 9(r1) /* 8009FE50 0009CDB0 52 20 00 2E */ rlwimi r0, r17, 0, 0, 0x17 /* 8009FE54 0009CDB4 90 01 00 74 */ stw r0, 0x74(r1) lbl_8009FE58: /* 8009FE58 0009CDB8 7C 1A E8 50 */ subf r0, r26, r29 /* 8009FE5C 0009CDBC 80 83 00 00 */ lwz r4, 0(r3) /* 8009FE60 0009CDC0 7C 03 00 34 */ cntlzw r3, r0 /* 8009FE64 0009CDC4 54 60 DE 3F */ rlwinm. r0, r3, 0x1b, 0x18, 0x1f /* 8009FE68 0009CDC8 90 81 00 AC */ stw r4, 0xac(r1) /* 8009FE6C 0009CDCC 54 60 D9 7E */ srwi r0, r3, 5 /* 8009FE70 0009CDD0 41 82 00 08 */ beq lbl_8009FE78 /* 8009FE74 0009CDD4 7D E0 7B 78 */ mr r0, r15 lbl_8009FE78: /* 8009FE78 0009CDD8 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 8009FE7C 0009CDDC 41 82 00 1C */ beq lbl_8009FE98 /* 8009FE80 0009CDE0 38 61 00 70 */ addi r3, r1, 0x70 /* 8009FE84 0009CDE4 38 81 00 B4 */ addi r4, r1, 0xb4 /* 8009FE88 0009CDE8 38 A1 00 B0 */ addi r5, r1, 0xb0 /* 8009FE8C 0009CDEC 48 2C 32 25 */ bl Add__6CColorFRC6CColorRC6CColor /* 8009FE90 0009CDF0 38 61 00 70 */ addi r3, r1, 0x70 /* 8009FE94 0009CDF4 48 00 00 24 */ b lbl_8009FEB8 lbl_8009FE98: /* 8009FE98 0009CDF8 EC 1B 05 F2 */ fmuls f0, f27, f23 /* 8009FE9C 0009CDFC C0 22 8C 40 */ lfs f1, lbl_805AA960@sda21(r2) /* 8009FEA0 0009CE00 EF C1 00 32 */ fmuls f30, f1, f0 /* 8009FEA4 0009CE04 F3 C1 A0 08 */ psq_st f30, 8(r1), 1, qr2 /* 8009FEA8 0009CE08 38 61 00 6C */ addi r3, r1, 0x6c /* 8009FEAC 0009CE0C 88 01 00 08 */ lbz r0, 8(r1) /* 8009FEB0 0009CE10 52 40 00 2E */ rlwimi r0, r18, 0, 0, 0x17 /* 8009FEB4 0009CE14 90 01 00 6C */ stw r0, 0x6c(r1) lbl_8009FEB8: /* 8009FEB8 0009CE18 80 03 00 00 */ lwz r0, 0(r3) /* 8009FEBC 0009CE1C 7C 1D 98 00 */ cmpw r29, r19 /* 8009FEC0 0009CE20 90 01 00 A8 */ stw r0, 0xa8(r1) /* 8009FEC4 0009CE24 40 82 00 14 */ bne lbl_8009FED8 /* 8009FEC8 0009CE28 C0 22 8C 20 */ lfs f1, lbl_805AA940@sda21(r2) /* 8009FECC 0009CE2C C0 1F 00 30 */ lfs f0, 0x30(r31) /* 8009FED0 0009CE30 FC 01 00 00 */ fcmpu cr0, f1, f0 /* 8009FED4 0009CE34 40 82 00 60 */ bne lbl_8009FF34 lbl_8009FED8: /* 8009FED8 0009CE38 7C 13 D0 00 */ cmpw r19, r26 /* 8009FEDC 0009CE3C 40 82 00 58 */ bne lbl_8009FF34 /* 8009FEE0 0009CE40 80 6E 08 50 */ lwz r3, 0x850(r14) /* 8009FEE4 0009CE44 4B FB 77 B9 */ bl GetMapWorld__6CWorldCFv /* 8009FEE8 0009CE48 7C 1C 18 40 */ cmplw r28, r3 /* 8009FEEC 0009CE4C 40 82 00 48 */ bne lbl_8009FF34 /* 8009FEF0 0009CE50 C2 FF 00 2C */ lfs f23, 0x2c(r31) /* 8009FEF4 0009CE54 38 61 00 68 */ addi r3, r1, 0x68 /* 8009FEF8 0009CE58 80 AD A1 44 */ lwz r5, gpTweakAutoMapper@sda21(r13) /* 8009FEFC 0009CE5C 38 81 00 AC */ addi r4, r1, 0xac /* 8009FF00 0009CE60 FC 20 B8 90 */ fmr f1, f23 /* 8009FF04 0009CE64 3A 25 00 F4 */ addi r17, r5, 0xf4 /* 8009FF08 0009CE68 7E 25 8B 78 */ mr r5, r17 /* 8009FF0C 0009CE6C 48 2C 33 A1 */ bl Lerp__6CColorFRC6CColorRC6CColorf /* 8009FF10 0009CE70 80 01 00 68 */ lwz r0, 0x68(r1) /* 8009FF14 0009CE74 FC 20 B8 90 */ fmr f1, f23 /* 8009FF18 0009CE78 7E 25 8B 78 */ mr r5, r17 /* 8009FF1C 0009CE7C 38 61 00 64 */ addi r3, r1, 0x64 /* 8009FF20 0009CE80 90 01 00 AC */ stw r0, 0xac(r1) /* 8009FF24 0009CE84 38 81 00 A8 */ addi r4, r1, 0xa8 /* 8009FF28 0009CE88 48 2C 33 85 */ bl Lerp__6CColorFRC6CColorRC6CColorf /* 8009FF2C 0009CE8C 80 01 00 64 */ lwz r0, 0x64(r1) /* 8009FF30 0009CE90 90 01 00 A8 */ stw r0, 0xa8(r1) lbl_8009FF34: /* 8009FF34 0009CE94 80 BF 00 24 */ lwz r5, 0x24(r31) /* 8009FF38 0009CE98 7F 04 C3 78 */ mr r4, r24 /* 8009FF3C 0009CE9C 7F 46 D3 78 */ mr r6, r26 /* 8009FF40 0009CEA0 38 61 03 FC */ addi r3, r1, 0x3fc /* 8009FF44 0009CEA4 4B FE 05 25 */ bl GetAreaPostTransform__8CMapAreaFRC6CWorld7TAreaId /* 8009FF48 0009CEA8 7E 04 83 78 */ mr r4, r16 /* 8009FF4C 0009CEAC 38 61 04 2C */ addi r3, r1, 0x42c /* 8009FF50 0009CEB0 48 27 2D 4D */ bl GetQuickInverse__12CTransform4fCFv /* 8009FF54 0009CEB4 38 61 04 5C */ addi r3, r1, 0x45c /* 8009FF58 0009CEB8 38 81 04 2C */ addi r4, r1, 0x42c /* 8009FF5C 0009CEBC 38 A1 03 FC */ addi r5, r1, 0x3fc /* 8009FF60 0009CEC0 48 27 29 F1 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 8009FF64 0009CEC4 38 61 04 BC */ addi r3, r1, 0x4bc /* 8009FF68 0009CEC8 38 81 04 5C */ addi r4, r1, 0x45c /* 8009FF6C 0009CECC 48 27 2C 09 */ bl __ct__12CTransform4fFRC12CTransform4f /* 8009FF70 0009CED0 82 18 00 30 */ lwz r16, 0x30(r24) /* 8009FF74 0009CED4 3A 40 00 00 */ li r18, 0 /* 8009FF78 0009CED8 3A 20 00 00 */ li r17, 0 /* 8009FF7C 0009CEDC 48 00 00 DC */ b lbl_800A0058 lbl_8009FF80: /* 8009FF80 0009CEE0 80 18 00 40 */ lwz r0, 0x40(r24) /* 8009FF84 0009CEE4 38 61 01 04 */ addi r3, r1, 0x104 /* 8009FF88 0009CEE8 38 81 04 BC */ addi r4, r1, 0x4bc /* 8009FF8C 0009CEEC 38 A1 01 28 */ addi r5, r1, 0x128 /* 8009FF90 0009CEF0 7C C0 8A 14 */ add r6, r0, r17 /* 8009FF94 0009CEF4 C0 26 00 10 */ lfs f1, 0x10(r6) /* 8009FF98 0009CEF8 C0 46 00 14 */ lfs f2, 0x14(r6) /* 8009FF9C 0009CEFC C0 06 00 0C */ lfs f0, 0xc(r6) /* 8009FFA0 0009CF00 D0 01 01 28 */ stfs f0, 0x128(r1) /* 8009FFA4 0009CF04 D0 21 01 2C */ stfs f1, 0x12c(r1) /* 8009FFA8 0009CF08 D0 41 01 30 */ stfs f2, 0x130(r1) /* 8009FFAC 0009CF0C 48 27 2B 3D */ bl __ml__12CTransform4fCFRC9CVector3f /* 8009FFB0 0009CF10 80 61 00 A8 */ lwz r3, 0xa8(r1) /* 8009FFB4 0009CF14 7F 44 D3 78 */ mr r4, r26 /* 8009FFB8 0009CF18 80 01 00 AC */ lwz r0, 0xac(r1) /* 8009FFBC 0009CF1C 7E 46 93 78 */ mr r6, r18 /* 8009FFC0 0009CF20 90 61 00 5C */ stw r3, 0x5c(r1) /* 8009FFC4 0009CF24 38 61 01 6C */ addi r3, r1, 0x16c /* 8009FFC8 0009CF28 C0 21 01 08 */ lfs f1, 0x108(r1) /* 8009FFCC 0009CF2C 38 E1 00 60 */ addi r7, r1, 0x60 /* 8009FFD0 0009CF30 90 01 00 60 */ stw r0, 0x60(r1) /* 8009FFD4 0009CF34 39 01 00 5C */ addi r8, r1, 0x5c /* 8009FFD8 0009CF38 3C A0 00 04 */ lis r5, 4 /* 8009FFDC 0009CF3C 48 00 1B 8D */ bl __ct__Q29CMapWorld18CMapObjectSortInfoFfiQ39CMapWorld18CMapObjectSortInfo11EObjectCodei6CColor6CColor /* 8009FFE0 0009CF40 80 01 01 38 */ lwz r0, 0x138(r1) /* 8009FFE4 0009CF44 80 A1 01 3C */ lwz r5, 0x13c(r1) /* 8009FFE8 0009CF48 7C 00 28 00 */ cmpw r0, r5 /* 8009FFEC 0009CF4C 41 80 00 1C */ blt lbl_800A0008 /* 8009FFF0 0009CF50 2C 05 00 00 */ cmpwi r5, 0 /* 8009FFF4 0009CF54 38 61 01 34 */ addi r3, r1, 0x134 /* 8009FFF8 0009CF58 38 80 00 04 */ li r4, 4 /* 8009FFFC 0009CF5C 41 82 00 08 */ beq lbl_800A0004 /* 800A0000 0009CF60 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A0004: /* 800A0004 0009CF64 48 00 21 51 */ bl "reserve__Q24rstl67vectorFi" lbl_800A0008: /* 800A0008 0009CF68 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A000C 0009CF6C 80 61 01 40 */ lwz r3, 0x140(r1) /* 800A0010 0009CF70 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A0014 0009CF74 7C 63 02 15 */ add. r3, r3, r0 /* 800A0018 0009CF78 41 82 00 2C */ beq lbl_800A0044 /* 800A001C 0009CF7C C0 01 01 6C */ lfs f0, 0x16c(r1) /* 800A0020 0009CF80 D0 03 00 00 */ stfs f0, 0(r3) /* 800A0024 0009CF84 80 01 01 70 */ lwz r0, 0x170(r1) /* 800A0028 0009CF88 90 03 00 04 */ stw r0, 4(r3) /* 800A002C 0009CF8C 80 01 01 74 */ lwz r0, 0x174(r1) /* 800A0030 0009CF90 90 03 00 08 */ stw r0, 8(r3) /* 800A0034 0009CF94 80 01 01 78 */ lwz r0, 0x178(r1) /* 800A0038 0009CF98 90 03 00 0C */ stw r0, 0xc(r3) /* 800A003C 0009CF9C 80 01 01 7C */ lwz r0, 0x17c(r1) /* 800A0040 0009CFA0 90 03 00 10 */ stw r0, 0x10(r3) lbl_800A0044: /* 800A0044 0009CFA4 80 61 01 38 */ lwz r3, 0x138(r1) /* 800A0048 0009CFA8 3A 31 00 20 */ addi r17, r17, 0x20 /* 800A004C 0009CFAC 3A 52 00 01 */ addi r18, r18, 1 /* 800A0050 0009CFB0 38 03 00 01 */ addi r0, r3, 1 /* 800A0054 0009CFB4 90 01 01 38 */ stw r0, 0x138(r1) lbl_800A0058: /* 800A0058 0009CFB8 7C 12 80 00 */ cmpw r18, r16 /* 800A005C 0009CFBC 41 80 FF 24 */ blt lbl_8009FF80 /* 800A0060 0009CFC0 3A C0 00 00 */ li r22, 0 /* 800A0064 0009CFC4 93 41 00 54 */ stw r26, 0x54(r1) /* 800A0068 0009CFC8 7E D5 B3 78 */ mr r21, r22 /* 800A006C 0009CFCC 3A 80 00 00 */ li r20, 0 /* 800A0070 0009CFD0 48 00 02 CC */ b lbl_800A033C lbl_800A0074: /* 800A0074 0009CFD4 80 18 00 38 */ lwz r0, 0x38(r24) /* 800A0078 0009CFD8 7F C3 F3 78 */ mr r3, r30 /* 800A007C 0009CFDC 38 81 00 58 */ addi r4, r1, 0x58 /* 800A0080 0009CFE0 93 41 00 58 */ stw r26, 0x58(r1) /* 800A0084 0009CFE4 7E 40 B2 14 */ add r18, r0, r22 /* 800A0088 0009CFE8 48 0C 83 B9 */ bl IsWorldVisible__13CMapWorldInfoCF7TAreaId /* 800A008C 0009CFEC 7C 64 1B 78 */ mr r4, r3 /* 800A0090 0009CFF0 7E 43 93 78 */ mr r3, r18 /* 800A0094 0009CFF4 7F C5 F3 78 */ mr r5, r30 /* 800A0098 0009CFF8 48 04 89 AD */ bl GetIsVisibleToAutoMapper__15CMappableObjectFbRC13CMapWorldInfo /* 800A009C 0009CFFC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A00A0 0009D000 41 82 02 90 */ beq lbl_800A0330 /* 800A00A4 0009D004 80 12 00 00 */ lwz r0, 0(r18) /* 800A00A8 0009D008 3A 00 00 00 */ li r16, 0 /* 800A00AC 0009D00C 2C 00 00 00 */ cmpwi r0, 0 /* 800A00B0 0009D010 41 80 00 10 */ blt lbl_800A00C0 /* 800A00B4 0009D014 2C 00 00 0F */ cmpwi r0, 0xf /* 800A00B8 0009D018 41 81 00 08 */ bgt lbl_800A00C0 /* 800A00BC 0009D01C 3A 00 00 01 */ li r16, 1 lbl_800A00C0: /* 800A00C0 0009D020 56 00 06 3F */ clrlwi. r0, r16, 0x18 /* 800A00C4 0009D024 41 82 01 5C */ beq lbl_800A0220 /* 800A00C8 0009D028 93 41 00 4C */ stw r26, 0x4c(r1) /* 800A00CC 0009D02C 7F C3 F3 78 */ mr r3, r30 /* 800A00D0 0009D030 38 81 00 50 */ addi r4, r1, 0x50 /* 800A00D4 0009D034 93 41 00 50 */ stw r26, 0x50(r1) /* 800A00D8 0009D038 48 0C 7C 2D */ bl IsAreaVisible__13CMapWorldInfoCF7TAreaId /* 800A00DC 0009D03C 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A00E0 0009D040 41 82 02 50 */ beq lbl_800A0330 /* 800A00E4 0009D044 88 1F 00 38 */ lbz r0, 0x38(r31) /* 800A00E8 0009D048 28 00 00 00 */ cmplwi r0, 0 /* 800A00EC 0009D04C 41 82 01 34 */ beq lbl_800A0220 /* 800A00F0 0009D050 3A 00 00 00 */ li r16, 0 /* 800A00F4 0009D054 7E B1 AB 78 */ mr r17, r21 lbl_800A00F8: /* 800A00F8 0009D058 7E 44 93 78 */ mr r4, r18 /* 800A00FC 0009D05C 7E 05 83 78 */ mr r5, r16 /* 800A0100 0009D060 38 61 00 F8 */ addi r3, r1, 0xf8 /* 800A0104 0009D064 48 04 8A 41 */ bl BuildSurfaceCenterPoint__15CMappableObjectCFi /* 800A0108 0009D068 80 7F 00 24 */ lwz r3, 0x24(r31) /* 800A010C 0009D06C 7F 44 D3 78 */ mr r4, r26 /* 800A0110 0009D070 4B FE 02 ED */ bl GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId /* 800A0114 0009D074 C0 23 00 04 */ lfs f1, 4(r3) /* 800A0118 0009D078 38 81 04 BC */ addi r4, r1, 0x4bc /* 800A011C 0009D07C C0 01 00 FC */ lfs f0, 0xfc(r1) /* 800A0120 0009D080 38 A1 01 1C */ addi r5, r1, 0x11c /* 800A0124 0009D084 C0 63 00 08 */ lfs f3, 8(r3) /* 800A0128 0009D088 C0 41 01 00 */ lfs f2, 0x100(r1) /* 800A012C 0009D08C EC 81 00 2A */ fadds f4, f1, f0 /* 800A0130 0009D090 C0 23 00 00 */ lfs f1, 0(r3) /* 800A0134 0009D094 38 61 00 EC */ addi r3, r1, 0xec /* 800A0138 0009D098 C0 01 00 F8 */ lfs f0, 0xf8(r1) /* 800A013C 0009D09C EC 43 10 2A */ fadds f2, f3, f2 /* 800A0140 0009D0A0 D0 81 01 20 */ stfs f4, 0x120(r1) /* 800A0144 0009D0A4 EC 01 00 2A */ fadds f0, f1, f0 /* 800A0148 0009D0A8 D0 41 01 24 */ stfs f2, 0x124(r1) /* 800A014C 0009D0AC D0 01 01 1C */ stfs f0, 0x11c(r1) /* 800A0150 0009D0B0 48 27 29 99 */ bl __ml__12CTransform4fCFRC9CVector3f /* 800A0154 0009D0B4 39 20 00 FF */ li r9, 0xff /* 800A0158 0009D0B8 38 00 00 00 */ li r0, 0 /* 800A015C 0009D0BC C0 21 00 F0 */ lfs f1, 0xf0(r1) /* 800A0160 0009D0C0 7F 44 D3 78 */ mr r4, r26 /* 800A0164 0009D0C4 99 21 00 44 */ stb r9, 0x44(r1) /* 800A0168 0009D0C8 7E 26 8B 78 */ mr r6, r17 /* 800A016C 0009D0CC 38 61 01 58 */ addi r3, r1, 0x158 /* 800A0170 0009D0D0 38 E1 00 48 */ addi r7, r1, 0x48 /* 800A0174 0009D0D4 98 01 00 45 */ stb r0, 0x45(r1) /* 800A0178 0009D0D8 39 01 00 44 */ addi r8, r1, 0x44 /* 800A017C 0009D0DC 3C A0 00 02 */ lis r5, 2 /* 800A0180 0009D0E0 99 21 00 46 */ stb r9, 0x46(r1) /* 800A0184 0009D0E4 99 21 00 47 */ stb r9, 0x47(r1) /* 800A0188 0009D0E8 99 21 00 48 */ stb r9, 0x48(r1) /* 800A018C 0009D0EC 98 01 00 49 */ stb r0, 0x49(r1) /* 800A0190 0009D0F0 99 21 00 4A */ stb r9, 0x4a(r1) /* 800A0194 0009D0F4 99 21 00 4B */ stb r9, 0x4b(r1) /* 800A0198 0009D0F8 48 00 19 D1 */ bl __ct__Q29CMapWorld18CMapObjectSortInfoFfiQ39CMapWorld18CMapObjectSortInfo11EObjectCodei6CColor6CColor /* 800A019C 0009D0FC 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A01A0 0009D100 80 A1 01 3C */ lwz r5, 0x13c(r1) /* 800A01A4 0009D104 7C 00 28 00 */ cmpw r0, r5 /* 800A01A8 0009D108 41 80 00 1C */ blt lbl_800A01C4 /* 800A01AC 0009D10C 2C 05 00 00 */ cmpwi r5, 0 /* 800A01B0 0009D110 38 61 01 34 */ addi r3, r1, 0x134 /* 800A01B4 0009D114 38 80 00 04 */ li r4, 4 /* 800A01B8 0009D118 41 82 00 08 */ beq lbl_800A01C0 /* 800A01BC 0009D11C 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A01C0: /* 800A01C0 0009D120 48 00 1F 95 */ bl "reserve__Q24rstl67vectorFi" lbl_800A01C4: /* 800A01C4 0009D124 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A01C8 0009D128 80 61 01 40 */ lwz r3, 0x140(r1) /* 800A01CC 0009D12C 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A01D0 0009D130 7C 63 02 15 */ add. r3, r3, r0 /* 800A01D4 0009D134 41 82 00 2C */ beq lbl_800A0200 /* 800A01D8 0009D138 C0 01 01 58 */ lfs f0, 0x158(r1) /* 800A01DC 0009D13C D0 03 00 00 */ stfs f0, 0(r3) /* 800A01E0 0009D140 80 01 01 5C */ lwz r0, 0x15c(r1) /* 800A01E4 0009D144 90 03 00 04 */ stw r0, 4(r3) /* 800A01E8 0009D148 80 01 01 60 */ lwz r0, 0x160(r1) /* 800A01EC 0009D14C 90 03 00 08 */ stw r0, 8(r3) /* 800A01F0 0009D150 80 01 01 64 */ lwz r0, 0x164(r1) /* 800A01F4 0009D154 90 03 00 0C */ stw r0, 0xc(r3) /* 800A01F8 0009D158 80 01 01 68 */ lwz r0, 0x168(r1) /* 800A01FC 0009D15C 90 03 00 10 */ stw r0, 0x10(r3) lbl_800A0200: /* 800A0200 0009D160 80 61 01 38 */ lwz r3, 0x138(r1) /* 800A0204 0009D164 3A 10 00 01 */ addi r16, r16, 1 /* 800A0208 0009D168 2C 10 00 06 */ cmpwi r16, 6 /* 800A020C 0009D16C 3A 31 00 01 */ addi r17, r17, 1 /* 800A0210 0009D170 38 03 00 01 */ addi r0, r3, 1 /* 800A0214 0009D174 90 01 01 38 */ stw r0, 0x138(r1) /* 800A0218 0009D178 41 80 FE E0 */ blt lbl_800A00F8 /* 800A021C 0009D17C 48 00 01 14 */ b lbl_800A0330 lbl_800A0220: /* 800A0220 0009D180 C3 72 00 3C */ lfs f27, 0x3c(r18) /* 800A0224 0009D184 7F 44 D3 78 */ mr r4, r26 /* 800A0228 0009D188 C3 92 00 2C */ lfs f28, 0x2c(r18) /* 800A022C 0009D18C C3 B2 00 1C */ lfs f29, 0x1c(r18) /* 800A0230 0009D190 80 7F 00 24 */ lwz r3, 0x24(r31) /* 800A0234 0009D194 4B FE 01 C9 */ bl GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId /* 800A0238 0009D198 C0 43 00 04 */ lfs f2, 4(r3) /* 800A023C 0009D19C 38 81 04 BC */ addi r4, r1, 0x4bc /* 800A0240 0009D1A0 C0 23 00 08 */ lfs f1, 8(r3) /* 800A0244 0009D1A4 38 A1 01 10 */ addi r5, r1, 0x110 /* 800A0248 0009D1A8 C0 03 00 00 */ lfs f0, 0(r3) /* 800A024C 0009D1AC EC 42 E0 2A */ fadds f2, f2, f28 /* 800A0250 0009D1B0 EC 21 D8 2A */ fadds f1, f1, f27 /* 800A0254 0009D1B4 38 61 00 E0 */ addi r3, r1, 0xe0 /* 800A0258 0009D1B8 EC 00 E8 2A */ fadds f0, f0, f29 /* 800A025C 0009D1BC D0 41 01 14 */ stfs f2, 0x114(r1) /* 800A0260 0009D1C0 D0 01 01 10 */ stfs f0, 0x110(r1) /* 800A0264 0009D1C4 D0 21 01 18 */ stfs f1, 0x118(r1) /* 800A0268 0009D1C8 48 27 28 81 */ bl __ml__12CTransform4fCFRC9CVector3f /* 800A026C 0009D1CC 56 00 06 3F */ clrlwi. r0, r16, 0x18 /* 800A0270 0009D1D0 C0 21 00 E4 */ lfs f1, 0xe4(r1) /* 800A0274 0009D1D4 3C A0 00 01 */ lis r5, 1 /* 800A0278 0009D1D8 41 82 00 08 */ beq lbl_800A0280 /* 800A027C 0009D1DC 3C A0 00 03 */ lis r5, 3 lbl_800A0280: /* 800A0280 0009D1E0 39 20 00 FF */ li r9, 0xff /* 800A0284 0009D1E4 38 00 00 00 */ li r0, 0 /* 800A0288 0009D1E8 99 21 00 3C */ stb r9, 0x3c(r1) /* 800A028C 0009D1EC 7F 44 D3 78 */ mr r4, r26 /* 800A0290 0009D1F0 7E 86 A3 78 */ mr r6, r20 /* 800A0294 0009D1F4 38 61 01 44 */ addi r3, r1, 0x144 /* 800A0298 0009D1F8 98 01 00 3D */ stb r0, 0x3d(r1) /* 800A029C 0009D1FC 38 E1 00 40 */ addi r7, r1, 0x40 /* 800A02A0 0009D200 39 01 00 3C */ addi r8, r1, 0x3c /* 800A02A4 0009D204 99 21 00 3E */ stb r9, 0x3e(r1) /* 800A02A8 0009D208 99 21 00 3F */ stb r9, 0x3f(r1) /* 800A02AC 0009D20C 99 21 00 40 */ stb r9, 0x40(r1) /* 800A02B0 0009D210 98 01 00 41 */ stb r0, 0x41(r1) /* 800A02B4 0009D214 99 21 00 42 */ stb r9, 0x42(r1) /* 800A02B8 0009D218 99 21 00 43 */ stb r9, 0x43(r1) /* 800A02BC 0009D21C 48 00 18 AD */ bl __ct__Q29CMapWorld18CMapObjectSortInfoFfiQ39CMapWorld18CMapObjectSortInfo11EObjectCodei6CColor6CColor /* 800A02C0 0009D220 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A02C4 0009D224 80 A1 01 3C */ lwz r5, 0x13c(r1) /* 800A02C8 0009D228 7C 00 28 00 */ cmpw r0, r5 /* 800A02CC 0009D22C 41 80 00 1C */ blt lbl_800A02E8 /* 800A02D0 0009D230 2C 05 00 00 */ cmpwi r5, 0 /* 800A02D4 0009D234 38 61 01 34 */ addi r3, r1, 0x134 /* 800A02D8 0009D238 38 80 00 04 */ li r4, 4 /* 800A02DC 0009D23C 41 82 00 08 */ beq lbl_800A02E4 /* 800A02E0 0009D240 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A02E4: /* 800A02E4 0009D244 48 00 1E 71 */ bl "reserve__Q24rstl67vectorFi" lbl_800A02E8: /* 800A02E8 0009D248 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A02EC 0009D24C 80 61 01 40 */ lwz r3, 0x140(r1) /* 800A02F0 0009D250 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A02F4 0009D254 7C 63 02 15 */ add. r3, r3, r0 /* 800A02F8 0009D258 41 82 00 2C */ beq lbl_800A0324 /* 800A02FC 0009D25C C0 01 01 44 */ lfs f0, 0x144(r1) /* 800A0300 0009D260 D0 03 00 00 */ stfs f0, 0(r3) /* 800A0304 0009D264 80 01 01 48 */ lwz r0, 0x148(r1) /* 800A0308 0009D268 90 03 00 04 */ stw r0, 4(r3) /* 800A030C 0009D26C 80 01 01 4C */ lwz r0, 0x14c(r1) /* 800A0310 0009D270 90 03 00 08 */ stw r0, 8(r3) /* 800A0314 0009D274 80 01 01 50 */ lwz r0, 0x150(r1) /* 800A0318 0009D278 90 03 00 0C */ stw r0, 0xc(r3) /* 800A031C 0009D27C 80 01 01 54 */ lwz r0, 0x154(r1) /* 800A0320 0009D280 90 03 00 10 */ stw r0, 0x10(r3) lbl_800A0324: /* 800A0324 0009D284 80 61 01 38 */ lwz r3, 0x138(r1) /* 800A0328 0009D288 38 03 00 01 */ addi r0, r3, 1 /* 800A032C 0009D28C 90 01 01 38 */ stw r0, 0x138(r1) lbl_800A0330: /* 800A0330 0009D290 3A D6 00 50 */ addi r22, r22, 0x50 /* 800A0334 0009D294 3A B5 00 06 */ addi r21, r21, 6 /* 800A0338 0009D298 3A 94 00 01 */ addi r20, r20, 1 lbl_800A033C: /* 800A033C 0009D29C 80 18 00 28 */ lwz r0, 0x28(r24) /* 800A0340 0009D2A0 7C 14 00 00 */ cmpw r20, r0 /* 800A0344 0009D2A4 41 80 FD 30 */ blt lbl_800A0074 lbl_800A0348: /* 800A0348 0009D2A8 3A F7 00 10 */ addi r23, r23, 0x10 /* 800A034C 0009D2AC 3B 39 00 01 */ addi r25, r25, 1 lbl_800A0350: /* 800A0350 0009D2B0 80 1B 00 04 */ lwz r0, 4(r27) /* 800A0354 0009D2B4 7C 19 00 00 */ cmpw r25, r0 /* 800A0358 0009D2B8 41 80 F8 D0 */ blt lbl_8009FC28 /* 800A035C 0009D2BC 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A0360 0009D2C0 81 DF 00 1C */ lwz r14, 0x1c(r31) /* 800A0364 0009D2C4 2C 00 00 00 */ cmpwi r0, 0 /* 800A0368 0009D2C8 81 FF 00 20 */ lwz r15, 0x20(r31) /* 800A036C 0009D2CC C3 DF 00 14 */ lfs f30, 0x14(r31) /* 800A0370 0009D2D0 40 81 04 20 */ ble lbl_800A0790 /* 800A0374 0009D2D4 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A0378 0009D2D8 80 C1 01 40 */ lwz r6, 0x140(r1) /* 800A037C 0009D2DC 88 A1 00 0C */ lbz r5, 0xc(r1) /* 800A0380 0009D2E0 38 61 00 38 */ addi r3, r1, 0x38 /* 800A0384 0009D2E4 90 C1 00 34 */ stw r6, 0x34(r1) /* 800A0388 0009D2E8 38 81 00 30 */ addi r4, r1, 0x30 /* 800A038C 0009D2EC 7C 06 02 14 */ add r0, r6, r0 /* 800A0390 0009D2F0 98 A1 00 10 */ stb r5, 0x10(r1) /* 800A0394 0009D2F4 38 A1 00 10 */ addi r5, r1, 0x10 /* 800A0398 0009D2F8 90 01 00 2C */ stw r0, 0x2c(r1) /* 800A039C 0009D2FC 90 01 00 30 */ stw r0, 0x30(r1) /* 800A03A0 0009D300 90 C1 00 38 */ stw r6, 0x38(r1) /* 800A03A4 0009D304 48 00 17 E9 */ bl sub_800a1b8c /* 800A03A8 0009D308 3A 40 FF FF */ li r18, -1 /* 800A03AC 0009D30C 3B 20 FF FF */ li r25, -1 /* 800A03B0 0009D310 4B FE 01 C1 */ bl SetupGXMaterial__Q28CMapArea15CMapAreaSurfaceFv /* 800A03B4 0009D314 3B 41 03 CC */ addi r26, r1, 0x3cc /* 800A03B8 0009D318 3A 60 00 00 */ li r19, 0 /* 800A03BC 0009D31C 3A 20 00 00 */ li r17, 0 /* 800A03C0 0009D320 48 00 03 C4 */ b lbl_800A0784 lbl_800A03C4: /* 800A03C4 0009D324 80 01 01 40 */ lwz r0, 0x140(r1) /* 800A03C8 0009D328 7F 83 E3 78 */ mr r3, r28 /* 800A03CC 0009D32C 7C 80 8A 14 */ add r4, r0, r17 /* 800A03D0 0009D330 80 04 00 08 */ lwz r0, 8(r4) /* 800A03D4 0009D334 3A E4 00 0C */ addi r23, r4, 0xc /* 800A03D8 0009D338 82 04 00 04 */ lwz r16, 4(r4) /* 800A03DC 0009D33C 3B 04 00 10 */ addi r24, r4, 0x10 /* 800A03E0 0009D340 54 14 00 1E */ rlwinm r20, r0, 0, 0, 0xf /* 800A03E4 0009D344 54 16 04 3E */ clrlwi r22, r0, 0x10 /* 800A03E8 0009D348 7E 04 83 78 */ mr r4, r16 /* 800A03EC 0009D34C 48 00 0F CD */ bl GetMapArea__9CMapWorldCFi /* 800A03F0 0009D350 7C 75 1B 78 */ mr r21, r3 /* 800A03F4 0009D354 80 BF 00 24 */ lwz r5, 0x24(r31) /* 800A03F8 0009D358 7E 06 83 78 */ mr r6, r16 /* 800A03FC 0009D35C 38 61 03 CC */ addi r3, r1, 0x3cc /* 800A0400 0009D360 7E A4 AB 78 */ mr r4, r21 /* 800A0404 0009D364 4B FE 00 65 */ bl GetAreaPostTransform__8CMapAreaFRC6CWorld7TAreaId /* 800A0408 0009D368 3C 14 FF FC */ addis r0, r20, 0xfffc /* 800A040C 0009D36C 28 00 00 00 */ cmplwi r0, 0 /* 800A0410 0009D370 40 82 01 50 */ bne lbl_800A0560 /* 800A0414 0009D374 80 75 00 40 */ lwz r3, 0x40(r21) /* 800A0418 0009D378 56 C0 28 34 */ slwi r0, r22, 5 /* 800A041C 0009D37C 80 CD A1 44 */ lwz r6, gpTweakAutoMapper@sda21(r13) /* 800A0420 0009D380 7F 44 D3 78 */ mr r4, r26 /* 800A0424 0009D384 7E 83 02 14 */ add r20, r3, r0 /* 800A0428 0009D388 38 61 00 C8 */ addi r3, r1, 0xc8 /* 800A042C 0009D38C C3 E6 00 54 */ lfs f31, 0x54(r6) /* 800A0430 0009D390 38 A1 00 BC */ addi r5, r1, 0xbc /* 800A0434 0009D394 C3 A6 00 58 */ lfs f29, 0x58(r6) /* 800A0438 0009D398 C0 14 00 00 */ lfs f0, 0(r20) /* 800A043C 0009D39C D0 01 00 BC */ stfs f0, 0xbc(r1) /* 800A0440 0009D3A0 C0 14 00 04 */ lfs f0, 4(r20) /* 800A0444 0009D3A4 D0 01 00 C0 */ stfs f0, 0xc0(r1) /* 800A0448 0009D3A8 C0 14 00 08 */ lfs f0, 8(r20) /* 800A044C 0009D3AC D0 01 00 C4 */ stfs f0, 0xc4(r1) /* 800A0450 0009D3B0 48 27 26 31 */ bl Rotate__12CTransform4fCFRC9CVector3f /* 800A0454 0009D3B4 C0 A2 8C 44 */ lfs f5, lbl_805AA964@sda21(r2) /* 800A0458 0009D3B8 C0 0F 00 14 */ lfs f0, 0x14(r15) /* 800A045C 0009D3BC C0 2F 00 04 */ lfs f1, 4(r15) /* 800A0460 0009D3C0 EC C5 00 32 */ fmuls f6, f5, f0 /* 800A0464 0009D3C4 C0 01 00 CC */ lfs f0, 0xcc(r1) /* 800A0468 0009D3C8 EC 85 00 72 */ fmuls f4, f5, f1 /* 800A046C 0009D3CC C0 6F 00 24 */ lfs f3, 0x24(r15) /* 800A0470 0009D3D0 C0 41 00 C8 */ lfs f2, 0xc8(r1) /* 800A0474 0009D3D4 EC 26 00 32 */ fmuls f1, f6, f0 /* 800A0478 0009D3D8 EC A5 00 F2 */ fmuls f5, f5, f3 /* 800A047C 0009D3DC C0 61 00 D0 */ lfs f3, 0xd0(r1) /* 800A0480 0009D3E0 C0 0D 86 04 */ lfs f0, lbl_805A71C4@sda21(r13) /* 800A0484 0009D3E4 EC 24 08 BA */ fmadds f1, f4, f2, f1 /* 800A0488 0009D3E8 D0 81 00 D4 */ stfs f4, 0xd4(r1) /* 800A048C 0009D3EC D0 C1 00 D8 */ stfs f6, 0xd8(r1) /* 800A0490 0009D3F0 EC 25 08 FA */ fmadds f1, f5, f3, f1 /* 800A0494 0009D3F4 D0 A1 00 DC */ stfs f5, 0xdc(r1) /* 800A0498 0009D3F8 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 800A049C 0009D3FC D0 21 00 28 */ stfs f1, 0x28(r1) /* 800A04A0 0009D400 40 80 00 0C */ bge lbl_800A04AC /* 800A04A4 0009D404 38 61 00 28 */ addi r3, r1, 0x28 /* 800A04A8 0009D408 48 00 00 08 */ b lbl_800A04B0 lbl_800A04AC: /* 800A04AC 0009D40C 38 6D 86 04 */ addi r3, r13, lbl_805A71C4@sda21 lbl_800A04B0: /* 800A04B0 0009D410 C0 03 00 00 */ lfs f0, 0(r3) /* 800A04B4 0009D414 38 61 00 A4 */ addi r3, r1, 0xa4 /* 800A04B8 0009D418 C0 82 8C 30 */ lfs f4, lbl_805AA950@sda21(r2) /* 800A04BC 0009D41C EC 1F 00 32 */ fmuls f0, f31, f0 /* 800A04C0 0009D420 EC 3D 00 2A */ fadds f1, f29, f0 /* 800A04C4 0009D424 FC 40 08 90 */ fmr f2, f1 /* 800A04C8 0009D428 FC 60 08 90 */ fmr f3, f1 /* 800A04CC 0009D42C 48 2C 2F 21 */ bl __ct__6CColorFffff /* 800A04D0 0009D430 7E E4 BB 78 */ mr r4, r23 /* 800A04D4 0009D434 38 61 00 24 */ addi r3, r1, 0x24 /* 800A04D8 0009D438 38 A1 00 A4 */ addi r5, r1, 0xa4 /* 800A04DC 0009D43C 48 2C 2C 9D */ bl Modulate__6CColorFRC6CColorRC6CColor /* 800A04E0 0009D440 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A04E4 0009D444 7C 19 80 00 */ cmpw r25, r16 /* 800A04E8 0009D448 3A C0 00 00 */ li r22, 0 /* 800A04EC 0009D44C 90 01 00 A0 */ stw r0, 0xa0(r1) /* 800A04F0 0009D450 40 82 00 0C */ bne lbl_800A04FC /* 800A04F4 0009D454 2C 12 00 00 */ cmpwi r18, 0 /* 800A04F8 0009D458 41 82 00 08 */ beq lbl_800A0500 lbl_800A04FC: /* 800A04FC 0009D45C 3A C0 00 01 */ li r22, 1 lbl_800A0500: /* 800A0500 0009D460 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 800A0504 0009D464 41 82 00 2C */ beq lbl_800A0530 /* 800A0508 0009D468 7D C4 73 78 */ mr r4, r14 /* 800A050C 0009D46C 7F 45 D3 78 */ mr r5, r26 /* 800A0510 0009D470 38 61 03 9C */ addi r3, r1, 0x39c /* 800A0514 0009D474 48 27 24 3D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A0518 0009D478 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 800A051C 0009D47C 38 81 03 9C */ addi r4, r1, 0x39c /* 800A0520 0009D480 81 83 00 00 */ lwz r12, 0(r3) /* 800A0524 0009D484 81 8C 00 30 */ lwz r12, 0x30(r12) /* 800A0528 0009D488 7D 89 03 A6 */ mtctr r12 /* 800A052C 0009D48C 4E 80 04 21 */ bctrl lbl_800A0530: /* 800A0530 0009D490 56 C0 06 3F */ clrlwi. r0, r22, 0x18 /* 800A0534 0009D494 41 82 00 0C */ beq lbl_800A0540 /* 800A0538 0009D498 80 95 00 3C */ lwz r4, 0x3c(r21) /* 800A053C 0009D49C 48 00 00 08 */ b lbl_800A0544 lbl_800A0540: /* 800A0540 0009D4A0 38 80 00 00 */ li r4, 0 lbl_800A0544: /* 800A0544 0009D4A4 FC 20 F0 90 */ fmr f1, f30 /* 800A0548 0009D4A8 7E 83 A3 78 */ mr r3, r20 /* 800A054C 0009D4AC 7F 06 C3 78 */ mr r6, r24 /* 800A0550 0009D4B0 38 A1 00 A0 */ addi r5, r1, 0xa0 /* 800A0554 0009D4B4 4B FE 01 21 */ bl Draw__Q28CMapArea15CMapAreaSurfaceCFPC9CVector3fRC6CColorRC6CColorf /* 800A0558 0009D4B8 3A 40 00 00 */ li r18, 0 /* 800A055C 0009D4BC 48 00 02 1C */ b lbl_800A0778 lbl_800A0560: /* 800A0560 0009D4C0 3C 14 FF FD */ addis r0, r20, 0xfffd /* 800A0564 0009D4C4 28 00 00 00 */ cmplwi r0, 0 /* 800A0568 0009D4C8 41 82 00 10 */ beq lbl_800A0578 /* 800A056C 0009D4CC 3C 14 FF FF */ addis r0, r20, 0xffff /* 800A0570 0009D4D0 28 00 00 00 */ cmplwi r0, 0 /* 800A0574 0009D4D4 40 82 01 44 */ bne lbl_800A06B8 lbl_800A0578: /* 800A0578 0009D4D8 3C 14 FF FD */ addis r0, r20, 0xfffd /* 800A057C 0009D4DC 3A E0 00 03 */ li r23, 3 /* 800A0580 0009D4E0 28 00 00 00 */ cmplwi r0, 0 /* 800A0584 0009D4E4 40 82 00 08 */ bne lbl_800A058C /* 800A0588 0009D4E8 3A E0 00 01 */ li r23, 1 lbl_800A058C: /* 800A058C 0009D4EC 1C B6 00 50 */ mulli r5, r22, 0x50 /* 800A0590 0009D4F0 80 D5 00 38 */ lwz r6, 0x38(r21) /* 800A0594 0009D4F4 7C 92 B8 50 */ subf r4, r18, r23 /* 800A0598 0009D4F8 80 7F 00 24 */ lwz r3, 0x24(r31) /* 800A059C 0009D4FC 7C 17 90 50 */ subf r0, r23, r18 /* 800A05A0 0009D500 7C 80 03 78 */ or r0, r4, r0 /* 800A05A4 0009D504 7E 04 83 78 */ mr r4, r16 /* 800A05A8 0009D508 7E 46 2A 14 */ add r18, r6, r5 /* 800A05AC 0009D50C 54 15 0F FE */ srwi r21, r0, 0x1f /* 800A05B0 0009D510 4B FD FE 4D */ bl GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId /* 800A05B4 0009D514 7C 64 1B 78 */ mr r4, r3 /* 800A05B8 0009D518 38 61 03 3C */ addi r3, r1, 0x33c /* 800A05BC 0009D51C 48 27 2B 85 */ bl Translate__12CTransform4fFRC9CVector3f /* 800A05C0 0009D520 38 61 03 6C */ addi r3, r1, 0x36c /* 800A05C4 0009D524 38 81 03 3C */ addi r4, r1, 0x33c /* 800A05C8 0009D528 38 B2 00 10 */ addi r5, r18, 0x10 /* 800A05CC 0009D52C 48 27 23 85 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A05D0 0009D530 38 61 04 8C */ addi r3, r1, 0x48c /* 800A05D4 0009D534 38 81 03 6C */ addi r4, r1, 0x36c /* 800A05D8 0009D538 48 27 25 9D */ bl __ct__12CTransform4fFRC12CTransform4f /* 800A05DC 0009D53C 3C 14 FF FD */ addis r0, r20, 0xfffd /* 800A05E0 0009D540 28 00 00 00 */ cmplwi r0, 0 /* 800A05E4 0009D544 40 82 00 1C */ bne lbl_800A0600 /* 800A05E8 0009D548 7D C4 73 78 */ mr r4, r14 /* 800A05EC 0009D54C 38 61 03 0C */ addi r3, r1, 0x30c /* 800A05F0 0009D550 38 A1 04 8C */ addi r5, r1, 0x48c /* 800A05F4 0009D554 48 27 23 5D */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A05F8 0009D558 38 81 03 0C */ addi r4, r1, 0x30c /* 800A05FC 0009D55C 48 00 00 88 */ b lbl_800A0684 lbl_800A0600: /* 800A0600 0009D560 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 800A0604 0009D564 7D E4 7B 78 */ mr r4, r15 /* 800A0608 0009D568 C0 3F 00 34 */ lfs f1, 0x34(r31) /* 800A060C 0009D56C 38 61 02 C4 */ addi r3, r1, 0x2c4 /* 800A0610 0009D570 D0 01 02 EC */ stfs f0, 0x2ec(r1) /* 800A0614 0009D574 D0 21 02 E8 */ stfs f1, 0x2e8(r1) /* 800A0618 0009D578 D0 01 02 F0 */ stfs f0, 0x2f0(r1) /* 800A061C 0009D57C D0 01 02 F4 */ stfs f0, 0x2f4(r1) /* 800A0620 0009D580 D0 21 02 F8 */ stfs f1, 0x2f8(r1) /* 800A0624 0009D584 D0 01 02 FC */ stfs f0, 0x2fc(r1) /* 800A0628 0009D588 D0 01 03 00 */ stfs f0, 0x300(r1) /* 800A062C 0009D58C D0 01 03 04 */ stfs f0, 0x304(r1) /* 800A0630 0009D590 D0 21 03 08 */ stfs f1, 0x308(r1) /* 800A0634 0009D594 48 27 2A C1 */ bl BuildMatrix3f__12CTransform4fCFv /* 800A0638 0009D598 38 61 02 A0 */ addi r3, r1, 0x2a0 /* 800A063C 0009D59C 38 81 02 C4 */ addi r4, r1, 0x2c4 /* 800A0640 0009D5A0 38 A1 02 E8 */ addi r5, r1, 0x2e8 /* 800A0644 0009D5A4 48 26 FA ED */ bl __ml__9CMatrix3fCFRC9CMatrix3f /* 800A0648 0009D5A8 3C 80 80 5A */ lis r4, skZero3f@ha /* 800A064C 0009D5AC 38 61 02 70 */ addi r3, r1, 0x270 /* 800A0650 0009D5B0 38 A4 66 A0 */ addi r5, r4, skZero3f@l /* 800A0654 0009D5B4 38 81 02 A0 */ addi r4, r1, 0x2a0 /* 800A0658 0009D5B8 48 27 2C 21 */ bl __ct__12CTransform4fFRC9CMatrix3fRC9CVector3f /* 800A065C 0009D5BC 7C 74 1B 78 */ mr r20, r3 /* 800A0660 0009D5C0 7D C4 73 78 */ mr r4, r14 /* 800A0664 0009D5C4 38 61 02 40 */ addi r3, r1, 0x240 /* 800A0668 0009D5C8 38 A1 04 8C */ addi r5, r1, 0x48c /* 800A066C 0009D5CC 48 27 22 E5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A0670 0009D5D0 7E 85 A3 78 */ mr r5, r20 /* 800A0674 0009D5D4 38 61 02 10 */ addi r3, r1, 0x210 /* 800A0678 0009D5D8 38 81 02 40 */ addi r4, r1, 0x240 /* 800A067C 0009D5DC 48 27 22 D5 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A0680 0009D5E0 38 81 02 10 */ addi r4, r1, 0x210 lbl_800A0684: /* 800A0684 0009D5E4 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 800A0688 0009D5E8 81 83 00 00 */ lwz r12, 0(r3) /* 800A068C 0009D5EC 81 8C 00 30 */ lwz r12, 0x30(r12) /* 800A0690 0009D5F0 7D 89 03 A6 */ mtctr r12 /* 800A0694 0009D5F4 4E 80 04 21 */ bctrl /* 800A0698 0009D5F8 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 800A069C 0009D5FC 7E 43 93 78 */ mr r3, r18 /* 800A06A0 0009D600 7F A4 EB 78 */ mr r4, r29 /* 800A06A4 0009D604 7F C5 F3 78 */ mr r5, r30 /* 800A06A8 0009D608 7E A6 AB 78 */ mr r6, r21 /* 800A06AC 0009D60C 48 04 87 01 */ bl Draw__15CMappableObjectCFiRC13CMapWorldInfofb /* 800A06B0 0009D610 7E F2 BB 78 */ mr r18, r23 /* 800A06B4 0009D614 48 00 00 C4 */ b lbl_800A0778 lbl_800A06B8: /* 800A06B8 0009D618 3C 14 FF FE */ addis r0, r20, 0xfffe /* 800A06BC 0009D61C 28 00 00 00 */ cmplwi r0, 0 /* 800A06C0 0009D620 40 82 00 B8 */ bne lbl_800A0778 /* 800A06C4 0009D624 3C 60 2A AB */ lis r3, 0x2AAAAAAB@ha /* 800A06C8 0009D628 80 D5 00 38 */ lwz r6, 0x38(r21) /* 800A06CC 0009D62C 38 03 AA AB */ addi r0, r3, 0x2AAAAAAB@l /* 800A06D0 0009D630 80 7F 00 24 */ lwz r3, 0x24(r31) /* 800A06D4 0009D634 7C A0 B0 96 */ mulhw r5, r0, r22 /* 800A06D8 0009D638 7E 04 83 78 */ mr r4, r16 /* 800A06DC 0009D63C 54 A0 0F FE */ srwi r0, r5, 0x1f /* 800A06E0 0009D640 7C 05 02 14 */ add r0, r5, r0 /* 800A06E4 0009D644 1C 00 00 50 */ mulli r0, r0, 0x50 /* 800A06E8 0009D648 7E 86 02 14 */ add r20, r6, r0 /* 800A06EC 0009D64C 4B FD FD 11 */ bl GetAreaPostTranslate__8CMapAreaFRC6IWorld7TAreaId /* 800A06F0 0009D650 7C 64 1B 78 */ mr r4, r3 /* 800A06F4 0009D654 38 61 01 80 */ addi r3, r1, 0x180 /* 800A06F8 0009D658 48 27 2A 49 */ bl Translate__12CTransform4fFRC9CVector3f /* 800A06FC 0009D65C 7D C4 73 78 */ mr r4, r14 /* 800A0700 0009D660 38 61 01 B0 */ addi r3, r1, 0x1b0 /* 800A0704 0009D664 38 A1 01 80 */ addi r5, r1, 0x180 /* 800A0708 0009D668 48 27 22 49 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A070C 0009D66C 38 61 01 E0 */ addi r3, r1, 0x1e0 /* 800A0710 0009D670 38 81 01 B0 */ addi r4, r1, 0x1b0 /* 800A0714 0009D674 38 B4 00 10 */ addi r5, r20, 0x10 /* 800A0718 0009D678 48 27 22 39 */ bl __ml__12CTransform4fCFRC12CTransform4f /* 800A071C 0009D67C 80 6D A0 68 */ lwz r3, gpRender@sda21(r13) /* 800A0720 0009D680 38 81 01 E0 */ addi r4, r1, 0x1e0 /* 800A0724 0009D684 81 83 00 00 */ lwz r12, 0(r3) /* 800A0728 0009D688 81 8C 00 30 */ lwz r12, 0x30(r12) /* 800A072C 0009D68C 7D 89 03 A6 */ mtctr r12 /* 800A0730 0009D690 4E 80 04 21 */ bctrl /* 800A0734 0009D694 3C 80 2A AB */ lis r4, 0x2AAAAAAB@ha /* 800A0738 0009D698 20 72 00 02 */ subfic r3, r18, 2 /* 800A073C 0009D69C 38 84 AA AB */ addi r4, r4, 0x2AAAAAAB@l /* 800A0740 0009D6A0 38 12 FF FE */ addi r0, r18, -2 /* 800A0744 0009D6A4 7D 04 B0 96 */ mulhw r8, r4, r22 /* 800A0748 0009D6A8 C0 3F 00 10 */ lfs f1, 0x10(r31) /* 800A074C 0009D6AC 7C 60 03 78 */ or r0, r3, r0 /* 800A0750 0009D6B0 7E 83 A3 78 */ mr r3, r20 /* 800A0754 0009D6B4 7F A4 EB 78 */ mr r4, r29 /* 800A0758 0009D6B8 7F C5 F3 78 */ mr r5, r30 /* 800A075C 0009D6BC 55 06 0F FE */ srwi r6, r8, 0x1f /* 800A0760 0009D6C0 54 07 0F FE */ srwi r7, r0, 0x1f /* 800A0764 0009D6C4 7C 08 32 14 */ add r0, r8, r6 /* 800A0768 0009D6C8 1C 00 00 06 */ mulli r0, r0, 6 /* 800A076C 0009D6CC 7C C0 B0 50 */ subf r6, r0, r22 /* 800A0770 0009D6D0 48 04 85 21 */ bl DrawDoorSurface__15CMappableObjectCFiRC13CMapWorldInfofib /* 800A0774 0009D6D4 3A 40 00 02 */ li r18, 2 lbl_800A0778: /* 800A0778 0009D6D8 7E 19 83 78 */ mr r25, r16 /* 800A077C 0009D6DC 3A 31 00 14 */ addi r17, r17, 0x14 /* 800A0780 0009D6E0 3A 73 00 01 */ addi r19, r19, 1 lbl_800A0784: /* 800A0784 0009D6E4 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A0788 0009D6E8 7C 13 00 00 */ cmpw r19, r0 /* 800A078C 0009D6EC 41 80 FC 38 */ blt lbl_800A03C4 lbl_800A0790: /* 800A0790 0009D6F0 80 01 01 38 */ lwz r0, 0x138(r1) /* 800A0794 0009D6F4 80 61 01 40 */ lwz r3, 0x140(r1) /* 800A0798 0009D6F8 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A079C 0009D6FC 90 61 00 18 */ stw r3, 0x18(r1) /* 800A07A0 0009D700 7C 64 1B 78 */ mr r4, r3 /* 800A07A4 0009D704 7C 03 02 14 */ add r0, r3, r0 /* 800A07A8 0009D708 90 61 00 14 */ stw r3, 0x14(r1) /* 800A07AC 0009D70C 90 01 00 20 */ stw r0, 0x20(r1) /* 800A07B0 0009D710 90 01 00 1C */ stw r0, 0x1c(r1) /* 800A07B4 0009D714 48 00 00 08 */ b lbl_800A07BC lbl_800A07B8: /* 800A07B8 0009D718 38 84 00 14 */ addi r4, r4, 0x14 lbl_800A07BC: /* 800A07BC 0009D71C 7C 04 00 40 */ cmplw r4, r0 /* 800A07C0 0009D720 40 82 FF F8 */ bne lbl_800A07B8 /* 800A07C4 0009D724 28 03 00 00 */ cmplwi r3, 0 /* 800A07C8 0009D728 41 82 00 08 */ beq lbl_800A07D0 /* 800A07CC 0009D72C 48 27 51 65 */ bl Free__7CMemoryFPCv lbl_800A07D0: /* 800A07D0 0009D730 E3 E1 05 C8 */ psq_l f31, 1480(r1), 0, qr0 /* 800A07D4 0009D734 CB E1 05 C0 */ lfd f31, 0x5c0(r1) /* 800A07D8 0009D738 E3 C1 05 B8 */ psq_l f30, 1464(r1), 0, qr0 /* 800A07DC 0009D73C CB C1 05 B0 */ lfd f30, 0x5b0(r1) /* 800A07E0 0009D740 E3 A1 05 A8 */ psq_l f29, 1448(r1), 0, qr0 /* 800A07E4 0009D744 CB A1 05 A0 */ lfd f29, 0x5a0(r1) /* 800A07E8 0009D748 E3 81 05 98 */ psq_l f28, 1432(r1), 0, qr0 /* 800A07EC 0009D74C CB 81 05 90 */ lfd f28, 0x590(r1) /* 800A07F0 0009D750 E3 61 05 88 */ psq_l f27, 1416(r1), 0, qr0 /* 800A07F4 0009D754 CB 61 05 80 */ lfd f27, 0x580(r1) /* 800A07F8 0009D758 E3 41 05 78 */ psq_l f26, 1400(r1), 0, qr0 /* 800A07FC 0009D75C CB 41 05 70 */ lfd f26, 0x570(r1) /* 800A0800 0009D760 E3 21 05 68 */ psq_l f25, 1384(r1), 0, qr0 /* 800A0804 0009D764 CB 21 05 60 */ lfd f25, 0x560(r1) /* 800A0808 0009D768 E3 01 05 58 */ psq_l f24, 1368(r1), 0, qr0 /* 800A080C 0009D76C CB 01 05 50 */ lfd f24, 0x550(r1) /* 800A0810 0009D770 E2 E1 05 48 */ psq_l f23, 1352(r1), 0, qr0 /* 800A0814 0009D774 CA E1 05 40 */ lfd f23, 0x540(r1) /* 800A0818 0009D778 B9 C1 04 F8 */ lmw r14, 0x4f8(r1) /* 800A081C 0009D77C 80 01 05 D4 */ lwz r0, 0x5d4(r1) /* 800A0820 0009D780 7C 08 03 A6 */ mtlr r0 /* 800A0824 0009D784 38 21 05 D0 */ addi r1, r1, 0x5d0 /* 800A0828 0009D788 4E 80 00 20 */ blr .global IsMapAreaValid__9CMapWorldCFRC6IWorldib IsMapAreaValid__9CMapWorldCFRC6IWorldib: /* 800A082C 0009D78C 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800A0830 0009D790 7C 08 02 A6 */ mflr r0 /* 800A0834 0009D794 90 01 00 24 */ stw r0, 0x24(r1) /* 800A0838 0009D798 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A083C 0009D79C 7C BF 2B 78 */ mr r31, r5 /* 800A0840 0009D7A0 93 C1 00 18 */ stw r30, 0x18(r1) /* 800A0844 0009D7A4 7C DE 33 78 */ mr r30, r6 /* 800A0848 0009D7A8 93 A1 00 14 */ stw r29, 0x14(r1) /* 800A084C 0009D7AC 7C 7D 1B 78 */ mr r29, r3 /* 800A0850 0009D7B0 7C 83 23 78 */ mr r3, r4 /* 800A0854 0009D7B4 38 81 00 0C */ addi r4, r1, 0xc /* 800A0858 0009D7B8 93 E1 00 0C */ stw r31, 0xc(r1) /* 800A085C 0009D7BC 81 83 00 00 */ lwz r12, 0(r3) /* 800A0860 0009D7C0 93 E1 00 08 */ stw r31, 8(r1) /* 800A0864 0009D7C4 81 8C 00 20 */ lwz r12, 0x20(r12) /* 800A0868 0009D7C8 7D 89 03 A6 */ mtctr r12 /* 800A086C 0009D7CC 4E 80 04 21 */ bctrl /* 800A0870 0009D7D0 81 83 00 00 */ lwz r12, 0(r3) /* 800A0874 0009D7D4 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 800A0878 0009D7D8 7D 89 03 A6 */ mtctr r12 /* 800A087C 0009D7DC 4E 80 04 21 */ bctrl /* 800A0880 0009D7E0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A0884 0009D7E4 40 82 00 0C */ bne lbl_800A0890 /* 800A0888 0009D7E8 38 60 00 00 */ li r3, 0 /* 800A088C 0009D7EC 48 00 00 2C */ b lbl_800A08B8 lbl_800A0890: /* 800A0890 0009D7F0 7F A3 EB 78 */ mr r3, r29 /* 800A0894 0009D7F4 7F E4 FB 78 */ mr r4, r31 /* 800A0898 0009D7F8 48 00 0B 21 */ bl GetMapArea__9CMapWorldCFi /* 800A089C 0009D7FC 57 C0 06 3F */ clrlwi. r0, r30, 0x18 /* 800A08A0 0009D800 41 82 00 14 */ beq lbl_800A08B4 /* 800A08A4 0009D804 28 03 00 00 */ cmplwi r3, 0 /* 800A08A8 0009D808 40 82 00 0C */ bne lbl_800A08B4 /* 800A08AC 0009D80C 38 60 00 00 */ li r3, 0 /* 800A08B0 0009D810 48 00 00 08 */ b lbl_800A08B8 lbl_800A08B4: /* 800A08B4 0009D814 38 60 00 01 */ li r3, 1 lbl_800A08B8: /* 800A08B8 0009D818 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A08BC 0009D81C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800A08C0 0009D820 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800A08C4 0009D824 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800A08C8 0009D828 7C 08 03 A6 */ mtlr r0 /* 800A08CC 0009D82C 38 21 00 20 */ addi r1, r1, 0x20 /* 800A08D0 0009D830 4E 80 00 20 */ blr .global "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector": /* 800A08D4 0009D834 94 21 FF 60 */ stwu r1, -0xa0(r1) /* 800A08D8 0009D838 7C 08 02 A6 */ mflr r0 /* 800A08DC 0009D83C 90 01 00 A4 */ stw r0, 0xa4(r1) /* 800A08E0 0009D840 DB E1 00 90 */ stfd f31, 0x90(r1) /* 800A08E4 0009D844 F3 E1 00 98 */ psq_st f31, 152(r1), 0, qr0 /* 800A08E8 0009D848 DB C1 00 80 */ stfd f30, 0x80(r1) /* 800A08EC 0009D84C F3 C1 00 88 */ psq_st f30, 136(r1), 0, qr0 /* 800A08F0 0009D850 DB A1 00 70 */ stfd f29, 0x70(r1) /* 800A08F4 0009D854 F3 A1 00 78 */ psq_st f29, 120(r1), 0, qr0 /* 800A08F8 0009D858 BE A1 00 44 */ stmw r21, 0x44(r1) /* 800A08FC 0009D85C 7C D7 33 79 */ or. r23, r6, r6 /* 800A0900 0009D860 FF C0 08 90 */ fmr f30, f1 /* 800A0904 0009D864 FF A0 10 90 */ fmr f29, f2 /* 800A0908 0009D868 7C 75 1B 78 */ mr r21, r3 /* 800A090C 0009D86C 7C 96 23 78 */ mr r22, r4 /* 800A0910 0009D870 7C BA 2B 78 */ mr r26, r5 /* 800A0914 0009D874 7C F8 3B 78 */ mr r24, r7 /* 800A0918 0009D878 7D 19 43 78 */ mr r25, r8 /* 800A091C 0009D87C 40 81 02 10 */ ble lbl_800A0B2C /* 800A0920 0009D880 7F 06 C3 78 */ mr r6, r24 /* 800A0924 0009D884 4B FF FF 09 */ bl IsMapAreaValid__9CMapWorldCFRC6IWorldib /* 800A0928 0009D888 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A092C 0009D88C 41 82 02 00 */ beq lbl_800A0B2C /* 800A0930 0009D890 FC 20 F0 90 */ fmr f1, f30 /* 800A0934 0009D894 83 99 00 04 */ lwz r28, 4(r25) /* 800A0938 0009D898 FC 40 E8 90 */ fmr f2, f29 /* 800A093C 0009D89C 7F 44 D3 78 */ mr r4, r26 /* 800A0940 0009D8A0 38 61 00 24 */ addi r3, r1, 0x24 /* 800A0944 0009D8A4 38 A0 00 01 */ li r5, 1 /* 800A0948 0009D8A8 48 00 0F E9 */ bl __ct__Q29CMapWorld15CMapAreaBFSInfoFiiff /* 800A094C 0009D8AC 80 19 00 04 */ lwz r0, 4(r25) /* 800A0950 0009D8B0 80 B9 00 08 */ lwz r5, 8(r25) /* 800A0954 0009D8B4 7C 00 28 00 */ cmpw r0, r5 /* 800A0958 0009D8B8 41 80 00 1C */ blt lbl_800A0974 /* 800A095C 0009D8BC 2C 05 00 00 */ cmpwi r5, 0 /* 800A0960 0009D8C0 7F 23 CB 78 */ mr r3, r25 /* 800A0964 0009D8C4 38 80 00 04 */ li r4, 4 /* 800A0968 0009D8C8 41 82 00 08 */ beq lbl_800A0970 /* 800A096C 0009D8CC 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A0970: /* 800A0970 0009D8D0 48 00 14 C9 */ bl "reserve__Q24rstl64vectorFi" lbl_800A0974: /* 800A0974 0009D8D4 80 19 00 04 */ lwz r0, 4(r25) /* 800A0978 0009D8D8 80 79 00 0C */ lwz r3, 0xc(r25) /* 800A097C 0009D8DC 54 00 20 36 */ slwi r0, r0, 4 /* 800A0980 0009D8E0 7C 63 02 15 */ add. r3, r3, r0 /* 800A0984 0009D8E4 41 82 00 24 */ beq lbl_800A09A8 /* 800A0988 0009D8E8 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A098C 0009D8EC 90 03 00 00 */ stw r0, 0(r3) /* 800A0990 0009D8F0 80 01 00 28 */ lwz r0, 0x28(r1) /* 800A0994 0009D8F4 90 03 00 04 */ stw r0, 4(r3) /* 800A0998 0009D8F8 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800A099C 0009D8FC D0 03 00 08 */ stfs f0, 8(r3) /* 800A09A0 0009D900 C0 01 00 30 */ lfs f0, 0x30(r1) /* 800A09A4 0009D904 D0 03 00 0C */ stfs f0, 0xc(r3) lbl_800A09A8: /* 800A09A8 0009D908 80 79 00 04 */ lwz r3, 4(r25) /* 800A09AC 0009D90C 38 00 00 01 */ li r0, 1 /* 800A09B0 0009D910 C3 E2 8C 30 */ lfs f31, lbl_805AA950@sda21(r2) /* 800A09B4 0009D914 57 9D 20 36 */ slwi r29, r28, 4 /* 800A09B8 0009D918 38 63 00 01 */ addi r3, r3, 1 /* 800A09BC 0009D91C 90 79 00 04 */ stw r3, 4(r25) /* 800A09C0 0009D920 80 75 00 2C */ lwz r3, 0x2c(r21) /* 800A09C4 0009D924 7C 03 D1 AE */ stbx r0, r3, r26 lbl_800A09C8: /* 800A09C8 0009D928 80 19 00 04 */ lwz r0, 4(r25) /* 800A09CC 0009D92C 7C 1C 00 00 */ cmpw r28, r0 /* 800A09D0 0009D930 41 82 01 5C */ beq lbl_800A0B2C /* 800A09D4 0009D934 80 19 00 0C */ lwz r0, 0xc(r25) /* 800A09D8 0009D938 7C 60 EA 14 */ add r3, r0, r29 /* 800A09DC 0009D93C 83 E3 00 04 */ lwz r31, 4(r3) /* 800A09E0 0009D940 C0 23 00 08 */ lfs f1, 8(r3) /* 800A09E4 0009D944 C0 03 00 0C */ lfs f0, 0xc(r3) /* 800A09E8 0009D948 7C 1F B8 00 */ cmpw r31, r23 /* 800A09EC 0009D94C EF C1 F8 28 */ fsubs f30, f1, f31 /* 800A09F0 0009D950 80 03 00 00 */ lwz r0, 0(r3) /* 800A09F4 0009D954 EF A0 F8 28 */ fsubs f29, f0, f31 /* 800A09F8 0009D958 41 82 01 28 */ beq lbl_800A0B20 /* 800A09FC 0009D95C 90 01 00 10 */ stw r0, 0x10(r1) /* 800A0A00 0009D960 7E C3 B3 78 */ mr r3, r22 /* 800A0A04 0009D964 38 81 00 10 */ addi r4, r1, 0x10 /* 800A0A08 0009D968 81 96 00 00 */ lwz r12, 0(r22) /* 800A0A0C 0009D96C 90 01 00 0C */ stw r0, 0xc(r1) /* 800A0A10 0009D970 81 8C 00 20 */ lwz r12, 0x20(r12) /* 800A0A14 0009D974 7D 89 03 A6 */ mtctr r12 /* 800A0A18 0009D978 4E 80 04 21 */ bctrl /* 800A0A1C 0009D97C 3B 40 00 00 */ li r26, 0 /* 800A0A20 0009D980 7C 7B 1B 78 */ mr r27, r3 /* 800A0A24 0009D984 48 00 00 E0 */ b lbl_800A0B04 lbl_800A0A28: /* 800A0A28 0009D988 7F 64 DB 78 */ mr r4, r27 /* 800A0A2C 0009D98C 7F 45 D3 78 */ mr r5, r26 /* 800A0A30 0009D990 81 9B 00 00 */ lwz r12, 0(r27) /* 800A0A34 0009D994 38 61 00 08 */ addi r3, r1, 8 /* 800A0A38 0009D998 81 8C 00 18 */ lwz r12, 0x18(r12) /* 800A0A3C 0009D99C 7D 89 03 A6 */ mtctr r12 /* 800A0A40 0009D9A0 4E 80 04 21 */ bctrl /* 800A0A44 0009D9A4 83 C1 00 08 */ lwz r30, 8(r1) /* 800A0A48 0009D9A8 7E A3 AB 78 */ mr r3, r21 /* 800A0A4C 0009D9AC 7E C4 B3 78 */ mr r4, r22 /* 800A0A50 0009D9B0 7F 06 C3 78 */ mr r6, r24 /* 800A0A54 0009D9B4 7F C5 F3 78 */ mr r5, r30 /* 800A0A58 0009D9B8 4B FF FD D5 */ bl IsMapAreaValid__9CMapWorldCFRC6IWorldib /* 800A0A5C 0009D9BC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A0A60 0009D9C0 41 82 00 A0 */ beq lbl_800A0B00 /* 800A0A64 0009D9C4 80 75 00 2C */ lwz r3, 0x2c(r21) /* 800A0A68 0009D9C8 7C 03 F0 AE */ lbzx r0, r3, r30 /* 800A0A6C 0009D9CC 28 00 00 00 */ cmplwi r0, 0 /* 800A0A70 0009D9D0 40 82 00 90 */ bne lbl_800A0B00 /* 800A0A74 0009D9D4 FC 20 F0 90 */ fmr f1, f30 /* 800A0A78 0009D9D8 7F C4 F3 78 */ mr r4, r30 /* 800A0A7C 0009D9DC FC 40 E8 90 */ fmr f2, f29 /* 800A0A80 0009D9E0 38 61 00 14 */ addi r3, r1, 0x14 /* 800A0A84 0009D9E4 38 BF 00 01 */ addi r5, r31, 1 /* 800A0A88 0009D9E8 48 00 0E A9 */ bl __ct__Q29CMapWorld15CMapAreaBFSInfoFiiff /* 800A0A8C 0009D9EC 80 19 00 04 */ lwz r0, 4(r25) /* 800A0A90 0009D9F0 80 B9 00 08 */ lwz r5, 8(r25) /* 800A0A94 0009D9F4 7C 00 28 00 */ cmpw r0, r5 /* 800A0A98 0009D9F8 41 80 00 1C */ blt lbl_800A0AB4 /* 800A0A9C 0009D9FC 2C 05 00 00 */ cmpwi r5, 0 /* 800A0AA0 0009DA00 7F 23 CB 78 */ mr r3, r25 /* 800A0AA4 0009DA04 38 80 00 04 */ li r4, 4 /* 800A0AA8 0009DA08 41 82 00 08 */ beq lbl_800A0AB0 /* 800A0AAC 0009DA0C 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A0AB0: /* 800A0AB0 0009DA10 48 00 13 89 */ bl "reserve__Q24rstl64vectorFi" lbl_800A0AB4: /* 800A0AB4 0009DA14 80 19 00 04 */ lwz r0, 4(r25) /* 800A0AB8 0009DA18 80 79 00 0C */ lwz r3, 0xc(r25) /* 800A0ABC 0009DA1C 54 00 20 36 */ slwi r0, r0, 4 /* 800A0AC0 0009DA20 7C 63 02 15 */ add. r3, r3, r0 /* 800A0AC4 0009DA24 41 82 00 24 */ beq lbl_800A0AE8 /* 800A0AC8 0009DA28 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A0ACC 0009DA2C 90 03 00 00 */ stw r0, 0(r3) /* 800A0AD0 0009DA30 80 01 00 18 */ lwz r0, 0x18(r1) /* 800A0AD4 0009DA34 90 03 00 04 */ stw r0, 4(r3) /* 800A0AD8 0009DA38 C0 01 00 1C */ lfs f0, 0x1c(r1) /* 800A0ADC 0009DA3C D0 03 00 08 */ stfs f0, 8(r3) /* 800A0AE0 0009DA40 C0 01 00 20 */ lfs f0, 0x20(r1) /* 800A0AE4 0009DA44 D0 03 00 0C */ stfs f0, 0xc(r3) lbl_800A0AE8: /* 800A0AE8 0009DA48 80 79 00 04 */ lwz r3, 4(r25) /* 800A0AEC 0009DA4C 38 00 00 01 */ li r0, 1 /* 800A0AF0 0009DA50 38 63 00 01 */ addi r3, r3, 1 /* 800A0AF4 0009DA54 90 79 00 04 */ stw r3, 4(r25) /* 800A0AF8 0009DA58 80 75 00 2C */ lwz r3, 0x2c(r21) /* 800A0AFC 0009DA5C 7C 03 F1 AE */ stbx r0, r3, r30 lbl_800A0B00: /* 800A0B00 0009DA60 3B 5A 00 01 */ addi r26, r26, 1 lbl_800A0B04: /* 800A0B04 0009DA64 7F 63 DB 78 */ mr r3, r27 /* 800A0B08 0009DA68 81 9B 00 00 */ lwz r12, 0(r27) /* 800A0B0C 0009DA6C 81 8C 00 14 */ lwz r12, 0x14(r12) /* 800A0B10 0009DA70 7D 89 03 A6 */ mtctr r12 /* 800A0B14 0009DA74 4E 80 04 21 */ bctrl /* 800A0B18 0009DA78 7C 1A 18 00 */ cmpw r26, r3 /* 800A0B1C 0009DA7C 41 80 FF 0C */ blt lbl_800A0A28 lbl_800A0B20: /* 800A0B20 0009DA80 3B BD 00 10 */ addi r29, r29, 0x10 /* 800A0B24 0009DA84 3B 9C 00 01 */ addi r28, r28, 1 /* 800A0B28 0009DA88 4B FF FE A0 */ b lbl_800A09C8 lbl_800A0B2C: /* 800A0B2C 0009DA8C E3 E1 00 98 */ psq_l f31, 152(r1), 0, qr0 /* 800A0B30 0009DA90 CB E1 00 90 */ lfd f31, 0x90(r1) /* 800A0B34 0009DA94 E3 C1 00 88 */ psq_l f30, 136(r1), 0, qr0 /* 800A0B38 0009DA98 CB C1 00 80 */ lfd f30, 0x80(r1) /* 800A0B3C 0009DA9C E3 A1 00 78 */ psq_l f29, 120(r1), 0, qr0 /* 800A0B40 0009DAA0 CB A1 00 70 */ lfd f29, 0x70(r1) /* 800A0B44 0009DAA4 BA A1 00 44 */ lmw r21, 0x44(r1) /* 800A0B48 0009DAA8 80 01 00 A4 */ lwz r0, 0xa4(r1) /* 800A0B4C 0009DAAC 7C 08 03 A6 */ mtlr r0 /* 800A0B50 0009DAB0 38 21 00 A0 */ addi r1, r1, 0xa0 /* 800A0B54 0009DAB4 4E 80 00 20 */ blr .global Draw__9CMapWorldCFRCQ29CMapWorld18CMapWorldDrawParmsiiffb Draw__9CMapWorldCFRCQ29CMapWorld18CMapWorldDrawParmsiiffb: /* 800A0B58 0009DAB8 94 21 FF 80 */ stwu r1, -0x80(r1) /* 800A0B5C 0009DABC 7C 08 02 A6 */ mflr r0 /* 800A0B60 0009DAC0 90 01 00 84 */ stw r0, 0x84(r1) /* 800A0B64 0009DAC4 DB E1 00 70 */ stfd f31, 0x70(r1) /* 800A0B68 0009DAC8 F3 E1 00 78 */ psq_st f31, 120(r1), 0, qr0 /* 800A0B6C 0009DACC BF 21 00 54 */ stmw r25, 0x54(r1) /* 800A0B70 0009DAD0 FC 00 08 18 */ frsp f0, f1 /* 800A0B74 0009DAD4 C0 62 8C 20 */ lfs f3, lbl_805AA940@sda21(r2) /* 800A0B78 0009DAD8 D0 21 00 08 */ stfs f1, 8(r1) /* 800A0B7C 0009DADC 7C 79 1B 78 */ mr r25, r3 /* 800A0B80 0009DAE0 7C 9A 23 78 */ mr r26, r4 /* 800A0B84 0009DAE4 7C BB 2B 78 */ mr r27, r5 /* 800A0B88 0009DAE8 FC 03 00 00 */ fcmpu cr0, f3, f0 /* 800A0B8C 0009DAEC D0 41 00 0C */ stfs f2, 0xc(r1) /* 800A0B90 0009DAF0 7C DC 33 78 */ mr r28, r6 /* 800A0B94 0009DAF4 7C FD 3B 78 */ mr r29, r7 /* 800A0B98 0009DAF8 40 82 00 10 */ bne lbl_800A0BA8 /* 800A0B9C 0009DAFC FC 00 10 18 */ frsp f0, f2 /* 800A0BA0 0009DB00 FC 03 00 00 */ fcmpu cr0, f3, f0 /* 800A0BA4 0009DB04 41 82 02 48 */ beq lbl_800A0DEC lbl_800A0BA8: /* 800A0BA8 0009DB08 7F 23 CB 78 */ mr r3, r25 /* 800A0BAC 0009DB0C 4B FF EA 81 */ bl ClearTraversedFlags__9CMapWorldCFv /* 800A0BB0 0009DB10 C0 21 00 08 */ lfs f1, 8(r1) /* 800A0BB4 0009DB14 C0 01 00 0C */ lfs f0, 0xc(r1) /* 800A0BB8 0009DB18 83 FA 00 24 */ lwz r31, 0x24(r26) /* 800A0BBC 0009DB1C FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800A0BC0 0009DB20 40 80 00 0C */ bge lbl_800A0BCC /* 800A0BC4 0009DB24 38 61 00 0C */ addi r3, r1, 0xc /* 800A0BC8 0009DB28 48 00 00 08 */ b lbl_800A0BD0 lbl_800A0BCC: /* 800A0BCC 0009DB2C 38 61 00 08 */ addi r3, r1, 8 lbl_800A0BD0: /* 800A0BD0 0009DB30 C0 23 00 00 */ lfs f1, 0(r3) /* 800A0BD4 0009DB34 48 27 46 7D */ bl CeilingF__5CMathFf /* 800A0BD8 0009DB38 FC 00 08 1E */ fctiwz f0, f1 /* 800A0BDC 0009DB3C 38 00 00 00 */ li r0, 0 /* 800A0BE0 0009DB40 90 01 00 34 */ stw r0, 0x34(r1) /* 800A0BE4 0009DB44 38 61 00 30 */ addi r3, r1, 0x30 /* 800A0BE8 0009DB48 80 99 00 04 */ lwz r4, 4(r25) /* 800A0BEC 0009DB4C D8 01 00 40 */ stfd f0, 0x40(r1) /* 800A0BF0 0009DB50 90 01 00 38 */ stw r0, 0x38(r1) /* 800A0BF4 0009DB54 83 C1 00 44 */ lwz r30, 0x44(r1) /* 800A0BF8 0009DB58 90 01 00 3C */ stw r0, 0x3c(r1) /* 800A0BFC 0009DB5C 48 00 12 3D */ bl "reserve__Q24rstl64vectorFi" /* 800A0C00 0009DB60 7C 1B E0 00 */ cmpw r27, r28 /* 800A0C04 0009DB64 41 82 01 6C */ beq lbl_800A0D70 /* 800A0C08 0009DB68 80 B9 00 2C */ lwz r5, 0x2c(r25) /* 800A0C0C 0009DB6C 38 00 00 01 */ li r0, 1 /* 800A0C10 0009DB70 7F 23 CB 78 */ mr r3, r25 /* 800A0C14 0009DB74 7F E4 FB 78 */ mr r4, r31 /* 800A0C18 0009DB78 7C 05 E1 AE */ stbx r0, r5, r28 /* 800A0C1C 0009DB7C 7F 65 DB 78 */ mr r5, r27 /* 800A0C20 0009DB80 7F C6 F3 78 */ mr r6, r30 /* 800A0C24 0009DB84 39 01 00 30 */ addi r8, r1, 0x30 /* 800A0C28 0009DB88 C0 21 00 08 */ lfs f1, 8(r1) /* 800A0C2C 0009DB8C 38 E0 00 01 */ li r7, 1 /* 800A0C30 0009DB90 C0 41 00 0C */ lfs f2, 0xc(r1) /* 800A0C34 0009DB94 4B FF FC A1 */ bl "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" /* 800A0C38 0009DB98 C0 21 00 08 */ lfs f1, 8(r1) /* 800A0C3C 0009DB9C C0 02 8C 30 */ lfs f0, lbl_805AA950@sda21(r2) /* 800A0C40 0009DBA0 EC 21 00 28 */ fsubs f1, f1, f0 /* 800A0C44 0009DBA4 48 27 46 0D */ bl CeilingF__5CMathFf /* 800A0C48 0009DBA8 FF E0 08 90 */ fmr f31, f1 /* 800A0C4C 0009DBAC C0 21 00 08 */ lfs f1, 8(r1) /* 800A0C50 0009DBB0 48 27 46 4D */ bl FloorF__5CMathFf /* 800A0C54 0009DBB4 C0 01 00 08 */ lfs f0, 8(r1) /* 800A0C58 0009DBB8 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 800A0C5C 0009DBBC 40 82 00 0C */ bne lbl_800A0C68 /* 800A0C60 0009DBC0 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 800A0C64 0009DBC4 48 00 00 1C */ b lbl_800A0C80 lbl_800A0C68: /* 800A0C68 0009DBC8 FC 20 00 90 */ fmr f1, f0 /* 800A0C6C 0009DBCC C8 42 8C 48 */ lfd f2, lbl_805AA968@sda21(r2) /* 800A0C70 0009DBD0 48 2F 40 3D */ bl fmod /* 800A0C74 0009DBD4 FC 20 08 18 */ frsp f1, f1 /* 800A0C78 0009DBD8 C0 02 8C 30 */ lfs f0, lbl_805AA950@sda21(r2) /* 800A0C7C 0009DBDC EC 00 08 28 */ fsubs f0, f0, f1 lbl_800A0C80: /* 800A0C80 0009DBE0 EC 5F 00 2A */ fadds f2, f31, f0 /* 800A0C84 0009DBE4 C0 21 00 0C */ lfs f1, 0xc(r1) /* 800A0C88 0009DBE8 C0 02 8C 30 */ lfs f0, lbl_805AA950@sda21(r2) /* 800A0C8C 0009DBEC EC 21 00 28 */ fsubs f1, f1, f0 /* 800A0C90 0009DBF0 D0 41 00 2C */ stfs f2, 0x2c(r1) /* 800A0C94 0009DBF4 48 27 45 BD */ bl CeilingF__5CMathFf /* 800A0C98 0009DBF8 FF E0 08 90 */ fmr f31, f1 /* 800A0C9C 0009DBFC C0 21 00 0C */ lfs f1, 0xc(r1) /* 800A0CA0 0009DC00 48 27 45 FD */ bl FloorF__5CMathFf /* 800A0CA4 0009DC04 C0 01 00 0C */ lfs f0, 0xc(r1) /* 800A0CA8 0009DC08 FC 00 08 00 */ fcmpu cr0, f0, f1 /* 800A0CAC 0009DC0C 40 82 00 0C */ bne lbl_800A0CB8 /* 800A0CB0 0009DC10 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 800A0CB4 0009DC14 48 00 00 1C */ b lbl_800A0CD0 lbl_800A0CB8: /* 800A0CB8 0009DC18 FC 20 00 90 */ fmr f1, f0 /* 800A0CBC 0009DC1C C8 42 8C 48 */ lfd f2, lbl_805AA968@sda21(r2) /* 800A0CC0 0009DC20 48 2F 3F ED */ bl fmod /* 800A0CC4 0009DC24 FC 20 08 18 */ frsp f1, f1 /* 800A0CC8 0009DC28 C0 02 8C 30 */ lfs f0, lbl_805AA950@sda21(r2) /* 800A0CCC 0009DC2C EC 00 08 28 */ fsubs f0, f0, f1 lbl_800A0CD0: /* 800A0CD0 0009DC30 EC 3F 00 2A */ fadds f1, f31, f0 /* 800A0CD4 0009DC34 C0 01 00 2C */ lfs f0, 0x2c(r1) /* 800A0CD8 0009DC38 FC 00 08 40 */ fcmpo cr0, f0, f1 /* 800A0CDC 0009DC3C D0 21 00 28 */ stfs f1, 0x28(r1) /* 800A0CE0 0009DC40 40 80 00 0C */ bge lbl_800A0CEC /* 800A0CE4 0009DC44 38 61 00 28 */ addi r3, r1, 0x28 /* 800A0CE8 0009DC48 48 00 00 08 */ b lbl_800A0CF0 lbl_800A0CEC: /* 800A0CEC 0009DC4C 38 61 00 2C */ addi r3, r1, 0x2c lbl_800A0CF0: /* 800A0CF0 0009DC50 C0 23 00 00 */ lfs f1, 0(r3) /* 800A0CF4 0009DC54 48 27 45 5D */ bl CeilingF__5CMathFf /* 800A0CF8 0009DC58 93 81 00 24 */ stw r28, 0x24(r1) /* 800A0CFC 0009DC5C 7F E3 FB 78 */ mr r3, r31 /* 800A0D00 0009DC60 FC 00 08 1E */ fctiwz f0, f1 /* 800A0D04 0009DC64 38 81 00 24 */ addi r4, r1, 0x24 /* 800A0D08 0009DC68 81 9F 00 00 */ lwz r12, 0(r31) /* 800A0D0C 0009DC6C 93 81 00 20 */ stw r28, 0x20(r1) /* 800A0D10 0009DC70 81 8C 00 20 */ lwz r12, 0x20(r12) /* 800A0D14 0009DC74 D8 01 00 40 */ stfd f0, 0x40(r1) /* 800A0D18 0009DC78 83 C1 00 44 */ lwz r30, 0x44(r1) /* 800A0D1C 0009DC7C 7D 89 03 A6 */ mtctr r12 /* 800A0D20 0009DC80 4E 80 04 21 */ bctrl /* 800A0D24 0009DC84 81 83 00 00 */ lwz r12, 0(r3) /* 800A0D28 0009DC88 81 8C 00 1C */ lwz r12, 0x1c(r12) /* 800A0D2C 0009DC8C 7D 89 03 A6 */ mtctr r12 /* 800A0D30 0009DC90 4E 80 04 21 */ bctrl /* 800A0D34 0009DC94 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A0D38 0009DC98 41 82 00 5C */ beq lbl_800A0D94 /* 800A0D3C 0009DC9C 80 B9 00 2C */ lwz r5, 0x2c(r25) /* 800A0D40 0009DCA0 38 00 00 00 */ li r0, 0 /* 800A0D44 0009DCA4 7F 23 CB 78 */ mr r3, r25 /* 800A0D48 0009DCA8 7F E4 FB 78 */ mr r4, r31 /* 800A0D4C 0009DCAC 7C 05 E1 AE */ stbx r0, r5, r28 /* 800A0D50 0009DCB0 7F 85 E3 78 */ mr r5, r28 /* 800A0D54 0009DCB4 7F C6 F3 78 */ mr r6, r30 /* 800A0D58 0009DCB8 39 01 00 30 */ addi r8, r1, 0x30 /* 800A0D5C 0009DCBC C0 21 00 2C */ lfs f1, 0x2c(r1) /* 800A0D60 0009DCC0 38 E0 00 01 */ li r7, 1 /* 800A0D64 0009DCC4 C0 41 00 28 */ lfs f2, 0x28(r1) /* 800A0D68 0009DCC8 4B FF FB 6D */ bl "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" /* 800A0D6C 0009DCCC 48 00 00 28 */ b lbl_800A0D94 lbl_800A0D70: /* 800A0D70 0009DCD0 C0 21 00 08 */ lfs f1, 8(r1) /* 800A0D74 0009DCD4 7F 23 CB 78 */ mr r3, r25 /* 800A0D78 0009DCD8 C0 41 00 0C */ lfs f2, 0xc(r1) /* 800A0D7C 0009DCDC 7F E4 FB 78 */ mr r4, r31 /* 800A0D80 0009DCE0 7F 65 DB 78 */ mr r5, r27 /* 800A0D84 0009DCE4 7F C6 F3 78 */ mr r6, r30 /* 800A0D88 0009DCE8 39 01 00 30 */ addi r8, r1, 0x30 /* 800A0D8C 0009DCEC 38 E0 00 01 */ li r7, 1 /* 800A0D90 0009DCF0 4B FF FB 45 */ bl "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" lbl_800A0D94: /* 800A0D94 0009DCF4 7F 23 CB 78 */ mr r3, r25 /* 800A0D98 0009DCF8 7F 44 D3 78 */ mr r4, r26 /* 800A0D9C 0009DCFC 7F 65 DB 78 */ mr r5, r27 /* 800A0DA0 0009DD00 7F A7 EB 78 */ mr r7, r29 /* 800A0DA4 0009DD04 38 C1 00 30 */ addi r6, r1, 0x30 /* 800A0DA8 0009DD08 4B FF ED 61 */ bl "DrawAreas__9CMapWorldCFRCQ29CMapWorld18CMapWorldDrawParmsiRCQ24rstl64vectorb" /* 800A0DAC 0009DD0C 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A0DB0 0009DD10 80 61 00 3C */ lwz r3, 0x3c(r1) /* 800A0DB4 0009DD14 54 00 20 36 */ slwi r0, r0, 4 /* 800A0DB8 0009DD18 7C 03 02 14 */ add r0, r3, r0 /* 800A0DBC 0009DD1C 90 61 00 14 */ stw r3, 0x14(r1) /* 800A0DC0 0009DD20 7C 64 1B 78 */ mr r4, r3 /* 800A0DC4 0009DD24 90 01 00 1C */ stw r0, 0x1c(r1) /* 800A0DC8 0009DD28 90 01 00 18 */ stw r0, 0x18(r1) /* 800A0DCC 0009DD2C 90 61 00 10 */ stw r3, 0x10(r1) /* 800A0DD0 0009DD30 48 00 00 08 */ b lbl_800A0DD8 lbl_800A0DD4: /* 800A0DD4 0009DD34 38 84 00 10 */ addi r4, r4, 0x10 lbl_800A0DD8: /* 800A0DD8 0009DD38 7C 04 00 40 */ cmplw r4, r0 /* 800A0DDC 0009DD3C 40 82 FF F8 */ bne lbl_800A0DD4 /* 800A0DE0 0009DD40 28 03 00 00 */ cmplwi r3, 0 /* 800A0DE4 0009DD44 41 82 00 08 */ beq lbl_800A0DEC /* 800A0DE8 0009DD48 48 27 4B 49 */ bl Free__7CMemoryFPCv lbl_800A0DEC: /* 800A0DEC 0009DD4C E3 E1 00 78 */ psq_l f31, 120(r1), 0, qr0 /* 800A0DF0 0009DD50 CB E1 00 70 */ lfd f31, 0x70(r1) /* 800A0DF4 0009DD54 BB 21 00 54 */ lmw r25, 0x54(r1) /* 800A0DF8 0009DD58 80 01 00 84 */ lwz r0, 0x84(r1) /* 800A0DFC 0009DD5C 7C 08 03 A6 */ mtlr r0 /* 800A0E00 0009DD60 38 21 00 80 */ addi r1, r1, 0x80 /* 800A0E04 0009DD64 4E 80 00 20 */ blr .global GetVisibleAreas__9CMapWorldCFRC6IWorldRC13CMapWorldInfo GetVisibleAreas__9CMapWorldCFRC6IWorldRC13CMapWorldInfo: /* 800A0E08 0009DD68 94 21 FF A0 */ stwu r1, -0x60(r1) /* 800A0E0C 0009DD6C 7C 08 02 A6 */ mflr r0 /* 800A0E10 0009DD70 90 01 00 64 */ stw r0, 0x64(r1) /* 800A0E14 0009DD74 38 00 00 00 */ li r0, 0 /* 800A0E18 0009DD78 BF 21 00 44 */ stmw r25, 0x44(r1) /* 800A0E1C 0009DD7C 7C 9C 23 78 */ mr r28, r4 /* 800A0E20 0009DD80 7C 7B 1B 78 */ mr r27, r3 /* 800A0E24 0009DD84 7C BD 2B 78 */ mr r29, r5 /* 800A0E28 0009DD88 7C DE 33 78 */ mr r30, r6 /* 800A0E2C 0009DD8C 38 61 00 28 */ addi r3, r1, 0x28 /* 800A0E30 0009DD90 90 01 00 2C */ stw r0, 0x2c(r1) /* 800A0E34 0009DD94 80 84 00 04 */ lwz r4, 4(r4) /* 800A0E38 0009DD98 90 01 00 30 */ stw r0, 0x30(r1) /* 800A0E3C 0009DD9C 90 01 00 34 */ stw r0, 0x34(r1) /* 800A0E40 0009DDA0 4B FB 8E 69 */ bl "reserve__Q24rstl36vectorFi" /* 800A0E44 0009DDA4 3B E0 00 00 */ li r31, 0 /* 800A0E48 0009DDA8 48 00 00 C4 */ b lbl_800A0F0C lbl_800A0E4C: /* 800A0E4C 0009DDAC 7F 83 E3 78 */ mr r3, r28 /* 800A0E50 0009DDB0 7F A4 EB 78 */ mr r4, r29 /* 800A0E54 0009DDB4 7F E5 FB 78 */ mr r5, r31 /* 800A0E58 0009DDB8 38 C0 00 01 */ li r6, 1 /* 800A0E5C 0009DDBC 4B FF F9 D1 */ bl IsMapAreaValid__9CMapWorldCFRC6IWorldib /* 800A0E60 0009DDC0 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A0E64 0009DDC4 41 82 00 A4 */ beq lbl_800A0F08 /* 800A0E68 0009DDC8 93 E1 00 18 */ stw r31, 0x18(r1) /* 800A0E6C 0009DDCC 7F 83 E3 78 */ mr r3, r28 /* 800A0E70 0009DDD0 7F E4 FB 78 */ mr r4, r31 /* 800A0E74 0009DDD4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A0E78 0009DDD8 93 E1 00 20 */ stw r31, 0x20(r1) /* 800A0E7C 0009DDDC 93 E1 00 24 */ stw r31, 0x24(r1) /* 800A0E80 0009DDE0 48 00 05 39 */ bl GetMapArea__9CMapWorldCFi /* 800A0E84 0009DDE4 7C 79 1B 78 */ mr r25, r3 /* 800A0E88 0009DDE8 7F C3 F3 78 */ mr r3, r30 /* 800A0E8C 0009DDEC 38 81 00 1C */ addi r4, r1, 0x1c /* 800A0E90 0009DDF0 48 0C 6E 75 */ bl IsAreaVisible__13CMapWorldInfoCF7TAreaId /* 800A0E94 0009DDF4 7C 7A 1B 78 */ mr r26, r3 /* 800A0E98 0009DDF8 7F C3 F3 78 */ mr r3, r30 /* 800A0E9C 0009DDFC 38 81 00 24 */ addi r4, r1, 0x24 /* 800A0EA0 0009DE00 48 0C 75 A1 */ bl IsWorldVisible__13CMapWorldInfoCF7TAreaId /* 800A0EA4 0009DE04 7C 64 1B 78 */ mr r4, r3 /* 800A0EA8 0009DE08 7F 23 CB 78 */ mr r3, r25 /* 800A0EAC 0009DE0C 7F 45 D3 78 */ mr r5, r26 /* 800A0EB0 0009DE10 4B FD FE 7D */ bl GetIsVisibleToAutoMapper__8CMapAreaCFbb /* 800A0EB4 0009DE14 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A0EB8 0009DE18 41 82 00 50 */ beq lbl_800A0F08 /* 800A0EBC 0009DE1C 80 01 00 2C */ lwz r0, 0x2c(r1) /* 800A0EC0 0009DE20 80 A1 00 30 */ lwz r5, 0x30(r1) /* 800A0EC4 0009DE24 7C 00 28 00 */ cmpw r0, r5 /* 800A0EC8 0009DE28 41 80 00 1C */ blt lbl_800A0EE4 /* 800A0ECC 0009DE2C 2C 05 00 00 */ cmpwi r5, 0 /* 800A0ED0 0009DE30 38 61 00 28 */ addi r3, r1, 0x28 /* 800A0ED4 0009DE34 38 80 00 04 */ li r4, 4 /* 800A0ED8 0009DE38 41 82 00 08 */ beq lbl_800A0EE0 /* 800A0EDC 0009DE3C 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A0EE0: /* 800A0EE0 0009DE40 4B FB 8D C9 */ bl "reserve__Q24rstl36vectorFi" lbl_800A0EE4: /* 800A0EE4 0009DE44 80 01 00 2C */ lwz r0, 0x2c(r1) /* 800A0EE8 0009DE48 80 61 00 34 */ lwz r3, 0x34(r1) /* 800A0EEC 0009DE4C 54 00 10 3A */ slwi r0, r0, 2 /* 800A0EF0 0009DE50 7C 63 02 15 */ add. r3, r3, r0 /* 800A0EF4 0009DE54 41 82 00 08 */ beq lbl_800A0EFC /* 800A0EF8 0009DE58 93 E3 00 00 */ stw r31, 0(r3) lbl_800A0EFC: /* 800A0EFC 0009DE5C 80 61 00 2C */ lwz r3, 0x2c(r1) /* 800A0F00 0009DE60 38 03 00 01 */ addi r0, r3, 1 /* 800A0F04 0009DE64 90 01 00 2C */ stw r0, 0x2c(r1) lbl_800A0F08: /* 800A0F08 0009DE68 3B FF 00 01 */ addi r31, r31, 1 lbl_800A0F0C: /* 800A0F0C 0009DE6C 80 1C 00 04 */ lwz r0, 4(r28) /* 800A0F10 0009DE70 7C 1F 00 00 */ cmpw r31, r0 /* 800A0F14 0009DE74 41 80 FF 38 */ blt lbl_800A0E4C /* 800A0F18 0009DE78 80 01 00 2C */ lwz r0, 0x2c(r1) /* 800A0F1C 0009DE7C 90 1B 00 04 */ stw r0, 4(r27) /* 800A0F20 0009DE80 80 01 00 30 */ lwz r0, 0x30(r1) /* 800A0F24 0009DE84 90 1B 00 08 */ stw r0, 8(r27) /* 800A0F28 0009DE88 80 01 00 2C */ lwz r0, 0x2c(r1) /* 800A0F2C 0009DE8C 2C 00 00 00 */ cmpwi r0, 0 /* 800A0F30 0009DE90 40 82 00 1C */ bne lbl_800A0F4C /* 800A0F34 0009DE94 80 01 00 30 */ lwz r0, 0x30(r1) /* 800A0F38 0009DE98 2C 00 00 00 */ cmpwi r0, 0 /* 800A0F3C 0009DE9C 40 82 00 10 */ bne lbl_800A0F4C /* 800A0F40 0009DEA0 38 00 00 00 */ li r0, 0 /* 800A0F44 0009DEA4 90 1B 00 0C */ stw r0, 0xc(r27) /* 800A0F48 0009DEA8 48 00 00 64 */ b lbl_800A0FAC lbl_800A0F4C: /* 800A0F4C 0009DEAC 80 1B 00 08 */ lwz r0, 8(r27) /* 800A0F50 0009DEB0 54 03 10 3B */ rlwinm. r3, r0, 2, 0, 0x1d /* 800A0F54 0009DEB4 40 82 00 10 */ bne lbl_800A0F64 /* 800A0F58 0009DEB8 38 00 00 00 */ li r0, 0 /* 800A0F5C 0009DEBC 90 1B 00 0C */ stw r0, 0xc(r27) /* 800A0F60 0009DEC0 48 00 00 18 */ b lbl_800A0F78 lbl_800A0F64: /* 800A0F64 0009DEC4 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A0F68 0009DEC8 38 A0 00 00 */ li r5, 0 /* 800A0F6C 0009DECC 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A0F70 0009DED0 48 27 48 A9 */ bl __nwa__FUlPCcPCc /* 800A0F74 0009DED4 90 7B 00 0C */ stw r3, 0xc(r27) lbl_800A0F78: /* 800A0F78 0009DED8 80 1B 00 04 */ lwz r0, 4(r27) /* 800A0F7C 0009DEDC 80 81 00 34 */ lwz r4, 0x34(r1) /* 800A0F80 0009DEE0 80 7B 00 0C */ lwz r3, 0xc(r27) /* 800A0F84 0009DEE4 7C 09 03 A6 */ mtctr r0 /* 800A0F88 0009DEE8 2C 00 00 00 */ cmpwi r0, 0 /* 800A0F8C 0009DEEC 40 81 00 20 */ ble lbl_800A0FAC lbl_800A0F90: /* 800A0F90 0009DEF0 28 03 00 00 */ cmplwi r3, 0 /* 800A0F94 0009DEF4 41 82 00 0C */ beq lbl_800A0FA0 /* 800A0F98 0009DEF8 80 04 00 00 */ lwz r0, 0(r4) /* 800A0F9C 0009DEFC 90 03 00 00 */ stw r0, 0(r3) lbl_800A0FA0: /* 800A0FA0 0009DF00 38 63 00 04 */ addi r3, r3, 4 /* 800A0FA4 0009DF04 38 84 00 04 */ addi r4, r4, 4 /* 800A0FA8 0009DF08 42 00 FF E8 */ bdnz lbl_800A0F90 lbl_800A0FAC: /* 800A0FAC 0009DF0C 80 01 00 2C */ lwz r0, 0x2c(r1) /* 800A0FB0 0009DF10 80 61 00 34 */ lwz r3, 0x34(r1) /* 800A0FB4 0009DF14 54 00 10 3A */ slwi r0, r0, 2 /* 800A0FB8 0009DF18 7C 03 02 14 */ add r0, r3, r0 /* 800A0FBC 0009DF1C 90 61 00 0C */ stw r3, 0xc(r1) /* 800A0FC0 0009DF20 7C 64 1B 78 */ mr r4, r3 /* 800A0FC4 0009DF24 90 01 00 14 */ stw r0, 0x14(r1) /* 800A0FC8 0009DF28 90 01 00 10 */ stw r0, 0x10(r1) /* 800A0FCC 0009DF2C 90 61 00 08 */ stw r3, 8(r1) /* 800A0FD0 0009DF30 48 00 00 08 */ b lbl_800A0FD8 lbl_800A0FD4: /* 800A0FD4 0009DF34 38 84 00 04 */ addi r4, r4, 4 lbl_800A0FD8: /* 800A0FD8 0009DF38 7C 04 00 40 */ cmplw r4, r0 /* 800A0FDC 0009DF3C 40 82 FF F8 */ bne lbl_800A0FD4 /* 800A0FE0 0009DF40 28 03 00 00 */ cmplwi r3, 0 /* 800A0FE4 0009DF44 41 82 00 08 */ beq lbl_800A0FEC /* 800A0FE8 0009DF48 48 27 49 49 */ bl Free__7CMemoryFPCv lbl_800A0FEC: /* 800A0FEC 0009DF4C BB 21 00 44 */ lmw r25, 0x44(r1) /* 800A0FF0 0009DF50 80 01 00 64 */ lwz r0, 0x64(r1) /* 800A0FF4 0009DF54 7C 08 03 A6 */ mtlr r0 /* 800A0FF8 0009DF58 38 21 00 60 */ addi r1, r1, 0x60 /* 800A0FFC 0009DF5C 4E 80 00 20 */ blr .global GetCurrentMapAreaDepth__9CMapWorldCFRC6IWorldi GetCurrentMapAreaDepth__9CMapWorldCFRC6IWorldi: /* 800A1000 0009DF60 94 21 FF B0 */ stwu r1, -0x50(r1) /* 800A1004 0009DF64 7C 08 02 A6 */ mflr r0 /* 800A1008 0009DF68 90 01 00 54 */ stw r0, 0x54(r1) /* 800A100C 0009DF6C 93 E1 00 4C */ stw r31, 0x4c(r1) /* 800A1010 0009DF70 7C BF 2B 78 */ mr r31, r5 /* 800A1014 0009DF74 93 C1 00 48 */ stw r30, 0x48(r1) /* 800A1018 0009DF78 7C 9E 23 78 */ mr r30, r4 /* 800A101C 0009DF7C 93 A1 00 44 */ stw r29, 0x44(r1) /* 800A1020 0009DF80 7C 7D 1B 78 */ mr r29, r3 /* 800A1024 0009DF84 4B FF E6 09 */ bl ClearTraversedFlags__9CMapWorldCFv /* 800A1028 0009DF88 38 00 00 00 */ li r0, 0 /* 800A102C 0009DF8C 80 9D 00 04 */ lwz r4, 4(r29) /* 800A1030 0009DF90 90 01 00 2C */ stw r0, 0x2c(r1) /* 800A1034 0009DF94 38 61 00 28 */ addi r3, r1, 0x28 /* 800A1038 0009DF98 90 01 00 30 */ stw r0, 0x30(r1) /* 800A103C 0009DF9C 90 01 00 34 */ stw r0, 0x34(r1) /* 800A1040 0009DFA0 48 00 0D F9 */ bl "reserve__Q24rstl64vectorFi" /* 800A1044 0009DFA4 C0 22 8C 50 */ lfs f1, lbl_805AA970@sda21(r2) /* 800A1048 0009DFA8 7F A3 EB 78 */ mr r3, r29 /* 800A104C 0009DFAC 7F C4 F3 78 */ mr r4, r30 /* 800A1050 0009DFB0 7F E5 FB 78 */ mr r5, r31 /* 800A1054 0009DFB4 FC 40 08 90 */ fmr f2, f1 /* 800A1058 0009DFB8 39 01 00 28 */ addi r8, r1, 0x28 /* 800A105C 0009DFBC 38 C0 27 0F */ li r6, 0x270f /* 800A1060 0009DFC0 38 E0 00 00 */ li r7, 0 /* 800A1064 0009DFC4 4B FF F8 71 */ bl "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" /* 800A1068 0009DFC8 80 A1 00 2C */ lwz r5, 0x2c(r1) /* 800A106C 0009DFCC 2C 05 00 00 */ cmpwi r5, 0 /* 800A1070 0009DFD0 40 82 00 48 */ bne lbl_800A10B8 /* 800A1074 0009DFD4 80 61 00 34 */ lwz r3, 0x34(r1) /* 800A1078 0009DFD8 54 A0 20 36 */ slwi r0, r5, 4 /* 800A107C 0009DFDC 7C 03 02 14 */ add r0, r3, r0 /* 800A1080 0009DFE0 90 61 00 1C */ stw r3, 0x1c(r1) /* 800A1084 0009DFE4 7C 64 1B 78 */ mr r4, r3 /* 800A1088 0009DFE8 90 01 00 24 */ stw r0, 0x24(r1) /* 800A108C 0009DFEC 90 01 00 20 */ stw r0, 0x20(r1) /* 800A1090 0009DFF0 90 61 00 18 */ stw r3, 0x18(r1) /* 800A1094 0009DFF4 48 00 00 08 */ b lbl_800A109C lbl_800A1098: /* 800A1098 0009DFF8 38 84 00 10 */ addi r4, r4, 0x10 lbl_800A109C: /* 800A109C 0009DFFC 7C 04 00 40 */ cmplw r4, r0 /* 800A10A0 0009E000 40 82 FF F8 */ bne lbl_800A1098 /* 800A10A4 0009E004 28 03 00 00 */ cmplwi r3, 0 /* 800A10A8 0009E008 41 82 00 08 */ beq lbl_800A10B0 /* 800A10AC 0009E00C 48 27 48 85 */ bl Free__7CMemoryFPCv lbl_800A10B0: /* 800A10B0 0009E010 38 60 00 00 */ li r3, 0 /* 800A10B4 0009E014 48 00 00 54 */ b lbl_800A1108 lbl_800A10B8: /* 800A10B8 0009E018 80 61 00 34 */ lwz r3, 0x34(r1) /* 800A10BC 0009E01C 38 05 FF FF */ addi r0, r5, -1 /* 800A10C0 0009E020 54 04 20 36 */ slwi r4, r0, 4 /* 800A10C4 0009E024 54 A0 20 36 */ slwi r0, r5, 4 /* 800A10C8 0009E028 7C 03 02 14 */ add r0, r3, r0 /* 800A10CC 0009E02C 90 61 00 0C */ stw r3, 0xc(r1) /* 800A10D0 0009E030 7C 83 22 14 */ add r4, r3, r4 /* 800A10D4 0009E034 7C 65 1B 78 */ mr r5, r3 /* 800A10D8 0009E038 90 01 00 14 */ stw r0, 0x14(r1) /* 800A10DC 0009E03C 83 E4 00 04 */ lwz r31, 4(r4) /* 800A10E0 0009E040 90 01 00 10 */ stw r0, 0x10(r1) /* 800A10E4 0009E044 90 61 00 08 */ stw r3, 8(r1) /* 800A10E8 0009E048 48 00 00 08 */ b lbl_800A10F0 lbl_800A10EC: /* 800A10EC 0009E04C 38 A5 00 10 */ addi r5, r5, 0x10 lbl_800A10F0: /* 800A10F0 0009E050 7C 05 00 40 */ cmplw r5, r0 /* 800A10F4 0009E054 40 82 FF F8 */ bne lbl_800A10EC /* 800A10F8 0009E058 28 03 00 00 */ cmplwi r3, 0 /* 800A10FC 0009E05C 41 82 00 08 */ beq lbl_800A1104 /* 800A1100 0009E060 48 27 48 31 */ bl Free__7CMemoryFPCv lbl_800A1104: /* 800A1104 0009E064 7F E3 FB 78 */ mr r3, r31 lbl_800A1108: /* 800A1108 0009E068 80 01 00 54 */ lwz r0, 0x54(r1) /* 800A110C 0009E06C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 800A1110 0009E070 83 C1 00 48 */ lwz r30, 0x48(r1) /* 800A1114 0009E074 83 A1 00 44 */ lwz r29, 0x44(r1) /* 800A1118 0009E078 7C 08 03 A6 */ mtlr r0 /* 800A111C 0009E07C 38 21 00 50 */ addi r1, r1, 0x50 /* 800A1120 0009E080 4E 80 00 20 */ blr .global MoveMapAreaToList__9CMapWorldFPQ29CMapWorld12CMapAreaDataQ29CMapWorld12EMapAreaList MoveMapAreaToList__9CMapWorldFPQ29CMapWorld12CMapAreaDataQ29CMapWorld12EMapAreaList: /* 800A1124 0009E084 80 04 00 10 */ lwz r0, 0x10(r4) /* 800A1128 0009E088 38 C3 00 14 */ addi r6, r3, 0x14 /* 800A112C 0009E08C 38 E0 00 00 */ li r7, 0 /* 800A1130 0009E090 54 00 10 3A */ slwi r0, r0, 2 /* 800A1134 0009E094 7C 66 00 2E */ lwzx r3, r6, r0 lbl_800A1138: /* 800A1138 0009E098 7C 03 20 40 */ cmplw r3, r4 /* 800A113C 0009E09C 40 82 00 20 */ bne lbl_800A115C /* 800A1140 0009E0A0 28 07 00 00 */ cmplwi r7, 0 /* 800A1144 0009E0A4 80 63 00 14 */ lwz r3, 0x14(r3) /* 800A1148 0009E0A8 40 82 00 0C */ bne lbl_800A1154 /* 800A114C 0009E0AC 7C 66 01 2E */ stwx r3, r6, r0 /* 800A1150 0009E0B0 48 00 00 18 */ b lbl_800A1168 lbl_800A1154: /* 800A1154 0009E0B4 90 67 00 14 */ stw r3, 0x14(r7) /* 800A1158 0009E0B8 48 00 00 10 */ b lbl_800A1168 lbl_800A115C: /* 800A115C 0009E0BC 7C 67 1B 78 */ mr r7, r3 /* 800A1160 0009E0C0 80 63 00 14 */ lwz r3, 0x14(r3) /* 800A1164 0009E0C4 4B FF FF D4 */ b lbl_800A1138 lbl_800A1168: /* 800A1168 0009E0C8 54 A3 10 3A */ slwi r3, r5, 2 /* 800A116C 0009E0CC 7C 06 18 2E */ lwzx r0, r6, r3 /* 800A1170 0009E0D0 90 04 00 14 */ stw r0, 0x14(r4) /* 800A1174 0009E0D4 90 A4 00 10 */ stw r5, 0x10(r4) /* 800A1178 0009E0D8 7C 86 19 2E */ stwx r4, r6, r3 /* 800A117C 0009E0DC 4E 80 00 20 */ blr .global IsMapAreasStreaming__9CMapWorldCFv IsMapAreasStreaming__9CMapWorldCFv: /* 800A1180 0009E0E0 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800A1184 0009E0E4 7C 08 02 A6 */ mflr r0 /* 800A1188 0009E0E8 90 01 00 24 */ stw r0, 0x24(r1) /* 800A118C 0009E0EC 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A1190 0009E0F0 93 C1 00 18 */ stw r30, 0x18(r1) /* 800A1194 0009E0F4 3B C0 00 00 */ li r30, 0 /* 800A1198 0009E0F8 93 A1 00 14 */ stw r29, 0x14(r1) /* 800A119C 0009E0FC 93 81 00 10 */ stw r28, 0x10(r1) /* 800A11A0 0009E100 7C 7C 1B 78 */ mr r28, r3 /* 800A11A4 0009E104 83 A3 00 18 */ lwz r29, 0x18(r3) /* 800A11A8 0009E108 48 00 00 34 */ b lbl_800A11DC lbl_800A11AC: /* 800A11AC 0009E10C 83 FD 00 14 */ lwz r31, 0x14(r29) /* 800A11B0 0009E110 7F A3 EB 78 */ mr r3, r29 /* 800A11B4 0009E114 48 00 08 39 */ bl IsLoaded__Q29CMapWorld12CMapAreaDataCFv /* 800A11B8 0009E118 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A11BC 0009E11C 41 82 00 18 */ beq lbl_800A11D4 /* 800A11C0 0009E120 7F 83 E3 78 */ mr r3, r28 /* 800A11C4 0009E124 7F A4 EB 78 */ mr r4, r29 /* 800A11C8 0009E128 38 A0 00 00 */ li r5, 0 /* 800A11CC 0009E12C 4B FF FF 59 */ bl MoveMapAreaToList__9CMapWorldFPQ29CMapWorld12CMapAreaDataQ29CMapWorld12EMapAreaList /* 800A11D0 0009E130 48 00 00 08 */ b lbl_800A11D8 lbl_800A11D4: /* 800A11D4 0009E134 3B C0 00 01 */ li r30, 1 lbl_800A11D8: /* 800A11D8 0009E138 7F FD FB 78 */ mr r29, r31 lbl_800A11DC: /* 800A11DC 0009E13C 28 1D 00 00 */ cmplwi r29, 0 /* 800A11E0 0009E140 40 82 FF CC */ bne lbl_800A11AC /* 800A11E4 0009E144 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A11E8 0009E148 57 C3 06 3E */ clrlwi r3, r30, 0x18 /* 800A11EC 0009E14C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800A11F0 0009E150 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800A11F4 0009E154 83 A1 00 14 */ lwz r29, 0x14(r1) /* 800A11F8 0009E158 83 81 00 10 */ lwz r28, 0x10(r1) /* 800A11FC 0009E15C 7C 08 03 A6 */ mtlr r0 /* 800A1200 0009E160 38 21 00 20 */ addi r1, r1, 0x20 /* 800A1204 0009E164 4E 80 00 20 */ blr .global SetWhichMapAreasLoaded__9CMapWorldFRC6IWorldii SetWhichMapAreasLoaded__9CMapWorldFRC6IWorldii: /* 800A1208 0009E168 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800A120C 0009E16C 7C 08 02 A6 */ mflr r0 /* 800A1210 0009E170 90 01 00 44 */ stw r0, 0x44(r1) /* 800A1214 0009E174 BF 61 00 2C */ stmw r27, 0x2c(r1) /* 800A1218 0009E178 7C 7F 1B 78 */ mr r31, r3 /* 800A121C 0009E17C 7C 9D 23 78 */ mr r29, r4 /* 800A1220 0009E180 7C BC 2B 78 */ mr r28, r5 /* 800A1224 0009E184 7C DB 33 78 */ mr r27, r6 /* 800A1228 0009E188 4B FF E4 05 */ bl ClearTraversedFlags__9CMapWorldCFv /* 800A122C 0009E18C 38 00 00 00 */ li r0, 0 /* 800A1230 0009E190 80 9F 00 04 */ lwz r4, 4(r31) /* 800A1234 0009E194 90 01 00 1C */ stw r0, 0x1c(r1) /* 800A1238 0009E198 38 61 00 18 */ addi r3, r1, 0x18 /* 800A123C 0009E19C 90 01 00 20 */ stw r0, 0x20(r1) /* 800A1240 0009E1A0 90 01 00 24 */ stw r0, 0x24(r1) /* 800A1244 0009E1A4 48 00 0B F5 */ bl "reserve__Q24rstl64vectorFi" /* 800A1248 0009E1A8 C0 22 8C 50 */ lfs f1, lbl_805AA970@sda21(r2) /* 800A124C 0009E1AC 7F E3 FB 78 */ mr r3, r31 /* 800A1250 0009E1B0 7F A4 EB 78 */ mr r4, r29 /* 800A1254 0009E1B4 7F 85 E3 78 */ mr r5, r28 /* 800A1258 0009E1B8 FC 40 08 90 */ fmr f2, f1 /* 800A125C 0009E1BC 7F 66 DB 78 */ mr r6, r27 /* 800A1260 0009E1C0 39 01 00 18 */ addi r8, r1, 0x18 /* 800A1264 0009E1C4 38 E0 00 00 */ li r7, 0 /* 800A1268 0009E1C8 4B FF F6 6D */ bl "DoBFS__9CMapWorldCFRC6IWorldiiffbRQ24rstl64vector" /* 800A126C 0009E1CC 3B 80 00 00 */ li r28, 0 /* 800A1270 0009E1D0 3B BF 00 14 */ addi r29, r31, 0x14 lbl_800A1274: /* 800A1274 0009E1D4 7C 1C 00 D0 */ neg r0, r28 /* 800A1278 0009E1D8 7C 00 E3 78 */ or r0, r0, r28 /* 800A127C 0009E1DC 54 00 1F 7A */ rlwinm r0, r0, 3, 0x1d, 0x1d /* 800A1280 0009E1E0 7F 7D 00 2E */ lwzx r27, r29, r0 /* 800A1284 0009E1E4 48 00 00 3C */ b lbl_800A12C0 lbl_800A1288: /* 800A1288 0009E1E8 83 DB 00 14 */ lwz r30, 0x14(r27) /* 800A128C 0009E1EC 7F E3 FB 78 */ mr r3, r31 /* 800A1290 0009E1F0 7F 64 DB 78 */ mr r4, r27 /* 800A1294 0009E1F4 38 A1 00 18 */ addi r5, r1, 0x18 /* 800A1298 0009E1F8 48 00 00 D9 */ bl "IsMapAreaInBFSInfoVector__9CMapWorldCFPCQ29CMapWorld12CMapAreaDataRCQ24rstl64vector" /* 800A129C 0009E1FC 54 60 06 3F */ clrlwi. r0, r3, 0x18 /* 800A12A0 0009E200 40 82 00 1C */ bne lbl_800A12BC /* 800A12A4 0009E204 7F 63 DB 78 */ mr r3, r27 /* 800A12A8 0009E208 48 00 07 C9 */ bl Unlock__Q29CMapWorld12CMapAreaDataFv /* 800A12AC 0009E20C 7F E3 FB 78 */ mr r3, r31 /* 800A12B0 0009E210 7F 64 DB 78 */ mr r4, r27 /* 800A12B4 0009E214 38 A0 00 02 */ li r5, 2 /* 800A12B8 0009E218 4B FF FE 6D */ bl MoveMapAreaToList__9CMapWorldFPQ29CMapWorld12CMapAreaDataQ29CMapWorld12EMapAreaList lbl_800A12BC: /* 800A12BC 0009E21C 7F DB F3 78 */ mr r27, r30 lbl_800A12C0: /* 800A12C0 0009E220 28 1B 00 00 */ cmplwi r27, 0 /* 800A12C4 0009E224 40 82 FF C4 */ bne lbl_800A1288 /* 800A12C8 0009E228 3B 9C 00 01 */ addi r28, r28, 1 /* 800A12CC 0009E22C 2C 1C 00 02 */ cmpwi r28, 2 /* 800A12D0 0009E230 41 80 FF A4 */ blt lbl_800A1274 /* 800A12D4 0009E234 83 C1 00 24 */ lwz r30, 0x24(r1) /* 800A12D8 0009E238 48 00 00 3C */ b lbl_800A1314 lbl_800A12DC: /* 800A12DC 0009E23C 80 1E 00 00 */ lwz r0, 0(r30) /* 800A12E0 0009E240 80 7F 00 0C */ lwz r3, 0xc(r31) /* 800A12E4 0009E244 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A12E8 0009E248 7F 63 02 14 */ add r27, r3, r0 /* 800A12EC 0009E24C 7F 63 DB 78 */ mr r3, r27 /* 800A12F0 0009E250 48 00 07 AD */ bl Lock__Q29CMapWorld12CMapAreaDataFv /* 800A12F4 0009E254 80 1B 00 10 */ lwz r0, 0x10(r27) /* 800A12F8 0009E258 2C 00 00 02 */ cmpwi r0, 2 /* 800A12FC 0009E25C 40 82 00 14 */ bne lbl_800A1310 /* 800A1300 0009E260 7F E3 FB 78 */ mr r3, r31 /* 800A1304 0009E264 7F 64 DB 78 */ mr r4, r27 /* 800A1308 0009E268 38 A0 00 01 */ li r5, 1 /* 800A130C 0009E26C 4B FF FE 19 */ bl MoveMapAreaToList__9CMapWorldFPQ29CMapWorld12CMapAreaDataQ29CMapWorld12EMapAreaList lbl_800A1310: /* 800A1310 0009E270 3B DE 00 10 */ addi r30, r30, 0x10 lbl_800A1314: /* 800A1314 0009E274 80 01 00 1C */ lwz r0, 0x1c(r1) /* 800A1318 0009E278 80 61 00 24 */ lwz r3, 0x24(r1) /* 800A131C 0009E27C 54 00 20 36 */ slwi r0, r0, 4 /* 800A1320 0009E280 7C 03 02 14 */ add r0, r3, r0 /* 800A1324 0009E284 7C 1E 00 40 */ cmplw r30, r0 /* 800A1328 0009E288 40 82 FF B4 */ bne lbl_800A12DC /* 800A132C 0009E28C 90 01 00 14 */ stw r0, 0x14(r1) /* 800A1330 0009E290 7C 64 1B 78 */ mr r4, r3 /* 800A1334 0009E294 90 01 00 10 */ stw r0, 0x10(r1) /* 800A1338 0009E298 90 61 00 0C */ stw r3, 0xc(r1) /* 800A133C 0009E29C 90 61 00 08 */ stw r3, 8(r1) /* 800A1340 0009E2A0 48 00 00 08 */ b lbl_800A1348 lbl_800A1344: /* 800A1344 0009E2A4 38 84 00 10 */ addi r4, r4, 0x10 lbl_800A1348: /* 800A1348 0009E2A8 7C 04 00 40 */ cmplw r4, r0 /* 800A134C 0009E2AC 40 82 FF F8 */ bne lbl_800A1344 /* 800A1350 0009E2B0 28 03 00 00 */ cmplwi r3, 0 /* 800A1354 0009E2B4 41 82 00 08 */ beq lbl_800A135C /* 800A1358 0009E2B8 48 27 45 D9 */ bl Free__7CMemoryFPCv lbl_800A135C: /* 800A135C 0009E2BC BB 61 00 2C */ lmw r27, 0x2c(r1) /* 800A1360 0009E2C0 80 01 00 44 */ lwz r0, 0x44(r1) /* 800A1364 0009E2C4 7C 08 03 A6 */ mtlr r0 /* 800A1368 0009E2C8 38 21 00 40 */ addi r1, r1, 0x40 /* 800A136C 0009E2CC 4E 80 00 20 */ blr .global "IsMapAreaInBFSInfoVector__9CMapWorldCFPCQ29CMapWorld12CMapAreaDataRCQ24rstl64vector" "IsMapAreaInBFSInfoVector__9CMapWorldCFPCQ29CMapWorld12CMapAreaDataRCQ24rstl64vector": /* 800A1370 0009E2D0 80 05 00 04 */ lwz r0, 4(r5) /* 800A1374 0009E2D4 80 E5 00 0C */ lwz r7, 0xc(r5) /* 800A1378 0009E2D8 54 00 20 36 */ slwi r0, r0, 4 /* 800A137C 0009E2DC 7C C7 02 14 */ add r6, r7, r0 /* 800A1380 0009E2E0 48 00 00 28 */ b lbl_800A13A8 lbl_800A1384: /* 800A1384 0009E2E4 80 07 00 00 */ lwz r0, 0(r7) /* 800A1388 0009E2E8 80 A3 00 0C */ lwz r5, 0xc(r3) /* 800A138C 0009E2EC 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1390 0009E2F0 7C 05 02 14 */ add r0, r5, r0 /* 800A1394 0009E2F4 7C 04 00 40 */ cmplw r4, r0 /* 800A1398 0009E2F8 40 82 00 0C */ bne lbl_800A13A4 /* 800A139C 0009E2FC 38 60 00 01 */ li r3, 1 /* 800A13A0 0009E300 4E 80 00 20 */ blr lbl_800A13A4: /* 800A13A4 0009E304 38 E7 00 10 */ addi r7, r7, 0x10 lbl_800A13A8: /* 800A13A8 0009E308 7C 07 30 40 */ cmplw r7, r6 /* 800A13AC 0009E30C 40 82 FF D8 */ bne lbl_800A1384 /* 800A13B0 0009E310 38 60 00 00 */ li r3, 0 /* 800A13B4 0009E314 4E 80 00 20 */ blr .global GetMapArea__9CMapWorldCFi GetMapArea__9CMapWorldCFi: /* 800A13B8 0009E318 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800A13BC 0009E31C 7C 08 02 A6 */ mflr r0 /* 800A13C0 0009E320 90 01 00 14 */ stw r0, 0x14(r1) /* 800A13C4 0009E324 1C 04 00 18 */ mulli r0, r4, 0x18 /* 800A13C8 0009E328 80 63 00 0C */ lwz r3, 0xc(r3) /* 800A13CC 0009E32C 7C 63 02 14 */ add r3, r3, r0 /* 800A13D0 0009E330 48 00 05 B9 */ bl GetMapArea__Q29CMapWorld12CMapAreaDataCFv /* 800A13D4 0009E334 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A13D8 0009E338 7C 08 03 A6 */ mtlr r0 /* 800A13DC 0009E33C 38 21 00 10 */ addi r1, r1, 0x10 /* 800A13E0 0009E340 4E 80 00 20 */ blr .global __dt__9CMapWorldFv __dt__9CMapWorldFv: /* 800A13E4 0009E344 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800A13E8 0009E348 7C 08 02 A6 */ mflr r0 /* 800A13EC 0009E34C 90 01 00 24 */ stw r0, 0x24(r1) /* 800A13F0 0009E350 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A13F4 0009E354 7C 9F 23 78 */ mr r31, r4 /* 800A13F8 0009E358 93 C1 00 18 */ stw r30, 0x18(r1) /* 800A13FC 0009E35C 7C 7E 1B 79 */ or. r30, r3, r3 /* 800A1400 0009E360 41 82 00 D8 */ beq lbl_800A14D8 /* 800A1404 0009E364 80 7E 00 08 */ lwz r3, 8(r30) /* 800A1408 0009E368 34 1E 00 20 */ addic. r0, r30, 0x20 /* 800A140C 0009E36C 80 0D A2 F0 */ lwz r0, lbl_805A8EB0@sda21(r13) /* 800A1410 0009E370 1C 63 00 18 */ mulli r3, r3, 0x18 /* 800A1414 0009E374 38 63 00 44 */ addi r3, r3, 0x44 /* 800A1418 0009E378 7C 03 00 50 */ subf r0, r3, r0 /* 800A141C 0009E37C 90 0D A2 F0 */ stw r0, lbl_805A8EB0@sda21(r13) /* 800A1420 0009E380 41 82 00 40 */ beq lbl_800A1460 /* 800A1424 0009E384 80 7E 00 2C */ lwz r3, 0x2c(r30) /* 800A1428 0009E388 80 1E 00 24 */ lwz r0, 0x24(r30) /* 800A142C 0009E38C 90 61 00 0C */ stw r3, 0xc(r1) /* 800A1430 0009E390 7C 83 02 14 */ add r4, r3, r0 /* 800A1434 0009E394 7C 03 20 50 */ subf r0, r3, r4 /* 800A1438 0009E398 90 81 00 14 */ stw r4, 0x14(r1) /* 800A143C 0009E39C 90 81 00 10 */ stw r4, 0x10(r1) /* 800A1440 0009E3A0 90 61 00 08 */ stw r3, 8(r1) /* 800A1444 0009E3A4 7C 09 03 A6 */ mtctr r0 /* 800A1448 0009E3A8 7C 03 20 40 */ cmplw r3, r4 /* 800A144C 0009E3AC 41 82 00 08 */ beq lbl_800A1454 lbl_800A1450: /* 800A1450 0009E3B0 42 00 00 00 */ bdnz lbl_800A1450 lbl_800A1454: /* 800A1454 0009E3B4 28 03 00 00 */ cmplwi r3, 0 /* 800A1458 0009E3B8 41 82 00 08 */ beq lbl_800A1460 /* 800A145C 0009E3BC 48 27 44 D5 */ bl Free__7CMemoryFPCv lbl_800A1460: /* 800A1460 0009E3C0 34 1E 00 10 */ addic. r0, r30, 0x10 /* 800A1464 0009E3C4 41 82 00 58 */ beq lbl_800A14BC /* 800A1468 0009E3C8 80 BE 00 10 */ lwz r5, 0x10(r30) /* 800A146C 0009E3CC 38 60 00 00 */ li r3, 0 /* 800A1470 0009E3D0 2C 05 00 00 */ cmpwi r5, 0 /* 800A1474 0009E3D4 40 81 00 40 */ ble lbl_800A14B4 /* 800A1478 0009E3D8 2C 05 00 08 */ cmpwi r5, 8 /* 800A147C 0009E3DC 38 85 FF F8 */ addi r4, r5, -8 /* 800A1480 0009E3E0 40 81 00 20 */ ble lbl_800A14A0 /* 800A1484 0009E3E4 38 04 00 07 */ addi r0, r4, 7 /* 800A1488 0009E3E8 54 00 E8 FE */ srwi r0, r0, 3 /* 800A148C 0009E3EC 7C 09 03 A6 */ mtctr r0 /* 800A1490 0009E3F0 2C 04 00 00 */ cmpwi r4, 0 /* 800A1494 0009E3F4 40 81 00 0C */ ble lbl_800A14A0 lbl_800A1498: /* 800A1498 0009E3F8 38 63 00 08 */ addi r3, r3, 8 /* 800A149C 0009E3FC 42 00 FF FC */ bdnz lbl_800A1498 lbl_800A14A0: /* 800A14A0 0009E400 7C 03 28 50 */ subf r0, r3, r5 /* 800A14A4 0009E404 7C 09 03 A6 */ mtctr r0 /* 800A14A8 0009E408 7C 03 28 00 */ cmpw r3, r5 /* 800A14AC 0009E40C 40 80 00 08 */ bge lbl_800A14B4 lbl_800A14B0: /* 800A14B0 0009E410 42 00 00 00 */ bdnz lbl_800A14B0 lbl_800A14B4: /* 800A14B4 0009E414 38 00 00 00 */ li r0, 0 /* 800A14B8 0009E418 90 1E 00 10 */ stw r0, 0x10(r30) lbl_800A14BC: /* 800A14BC 0009E41C 7F C3 F3 78 */ mr r3, r30 /* 800A14C0 0009E420 38 80 FF FF */ li r4, -1 /* 800A14C4 0009E424 48 00 00 31 */ bl sub_800a14f4 /* 800A14C8 0009E428 7F E0 07 35 */ extsh. r0, r31 /* 800A14CC 0009E42C 40 81 00 0C */ ble lbl_800A14D8 /* 800A14D0 0009E430 7F C3 F3 78 */ mr r3, r30 /* 800A14D4 0009E434 48 27 44 5D */ bl Free__7CMemoryFPCv lbl_800A14D8: /* 800A14D8 0009E438 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A14DC 0009E43C 7F C3 F3 78 */ mr r3, r30 /* 800A14E0 0009E440 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800A14E4 0009E444 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800A14E8 0009E448 7C 08 03 A6 */ mtlr r0 /* 800A14EC 0009E44C 38 21 00 20 */ addi r1, r1, 0x20 /* 800A14F0 0009E450 4E 80 00 20 */ blr .global sub_800a14f4 sub_800a14f4: /* 800A14F4 0009E454 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A14F8 0009E458 7C 08 02 A6 */ mflr r0 /* 800A14FC 0009E45C 90 01 00 34 */ stw r0, 0x34(r1) /* 800A1500 0009E460 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A1504 0009E464 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A1508 0009E468 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A150C 0009E46C 7C 9D 23 78 */ mr r29, r4 /* 800A1510 0009E470 93 81 00 20 */ stw r28, 0x20(r1) /* 800A1514 0009E474 7C 7C 1B 79 */ or. r28, r3, r3 /* 800A1518 0009E478 41 82 00 78 */ beq lbl_800A1590 /* 800A151C 0009E47C 80 1C 00 04 */ lwz r0, 4(r28) /* 800A1520 0009E480 83 DC 00 0C */ lwz r30, 0xc(r28) /* 800A1524 0009E484 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1528 0009E488 93 C1 00 10 */ stw r30, 0x10(r1) /* 800A152C 0009E48C 7F FE 02 14 */ add r31, r30, r0 /* 800A1530 0009E490 93 C1 00 14 */ stw r30, 0x14(r1) /* 800A1534 0009E494 93 E1 00 08 */ stw r31, 8(r1) /* 800A1538 0009E498 93 E1 00 0C */ stw r31, 0xc(r1) /* 800A153C 0009E49C 48 00 00 2C */ b lbl_800A1568 lbl_800A1540: /* 800A1540 0009E4A0 28 1E 00 00 */ cmplwi r30, 0 /* 800A1544 0009E4A4 41 82 00 20 */ beq lbl_800A1564 /* 800A1548 0009E4A8 34 1E 00 04 */ addic. r0, r30, 4 /* 800A154C 0009E4AC 41 82 00 18 */ beq lbl_800A1564 /* 800A1550 0009E4B0 34 1E 00 04 */ addic. r0, r30, 4 /* 800A1554 0009E4B4 41 82 00 10 */ beq lbl_800A1564 /* 800A1558 0009E4B8 38 7E 00 04 */ addi r3, r30, 4 /* 800A155C 0009E4BC 38 80 00 00 */ li r4, 0 /* 800A1560 0009E4C0 48 29 F8 E1 */ bl __dt__6CTokenFv lbl_800A1564: /* 800A1564 0009E4C4 3B DE 00 18 */ addi r30, r30, 0x18 lbl_800A1568: /* 800A1568 0009E4C8 7C 1E F8 40 */ cmplw r30, r31 /* 800A156C 0009E4CC 40 82 FF D4 */ bne lbl_800A1540 /* 800A1570 0009E4D0 80 7C 00 0C */ lwz r3, 0xc(r28) /* 800A1574 0009E4D4 28 03 00 00 */ cmplwi r3, 0 /* 800A1578 0009E4D8 41 82 00 08 */ beq lbl_800A1580 /* 800A157C 0009E4DC 48 27 43 B5 */ bl Free__7CMemoryFPCv lbl_800A1580: /* 800A1580 0009E4E0 7F A0 07 35 */ extsh. r0, r29 /* 800A1584 0009E4E4 40 81 00 0C */ ble lbl_800A1590 /* 800A1588 0009E4E8 7F 83 E3 78 */ mr r3, r28 /* 800A158C 0009E4EC 48 27 43 A5 */ bl Free__7CMemoryFPCv lbl_800A1590: /* 800A1590 0009E4F0 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A1594 0009E4F4 7F 83 E3 78 */ mr r3, r28 /* 800A1598 0009E4F8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A159C 0009E4FC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A15A0 0009E500 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A15A4 0009E504 83 81 00 20 */ lwz r28, 0x20(r1) /* 800A15A8 0009E508 7C 08 03 A6 */ mtlr r0 /* 800A15AC 0009E50C 38 21 00 30 */ addi r1, r1, 0x30 /* 800A15B0 0009E510 4E 80 00 20 */ blr .global __ct__9CMapWorldFR12CInputStream __ct__9CMapWorldFR12CInputStream: /* 800A15B4 0009E514 94 21 FF A0 */ stwu r1, -0x60(r1) /* 800A15B8 0009E518 7C 08 02 A6 */ mflr r0 /* 800A15BC 0009E51C 90 01 00 64 */ stw r0, 0x64(r1) /* 800A15C0 0009E520 38 00 00 03 */ li r0, 3 /* 800A15C4 0009E524 BF 21 00 44 */ stmw r25, 0x44(r1) /* 800A15C8 0009E528 7C 7B 1B 78 */ mr r27, r3 /* 800A15CC 0009E52C 38 60 00 00 */ li r3, 0 /* 800A15D0 0009E530 7C 9C 23 78 */ mr r28, r4 /* 800A15D4 0009E534 34 BB 00 14 */ addic. r5, r27, 0x14 /* 800A15D8 0009E538 90 7B 00 04 */ stw r3, 4(r27) /* 800A15DC 0009E53C 90 7B 00 08 */ stw r3, 8(r27) /* 800A15E0 0009E540 90 7B 00 0C */ stw r3, 0xc(r27) /* 800A15E4 0009E544 90 1B 00 10 */ stw r0, 0x10(r27) /* 800A15E8 0009E548 41 82 00 08 */ beq lbl_800A15F0 /* 800A15EC 0009E54C 90 65 00 00 */ stw r3, 0(r5) lbl_800A15F0: /* 800A15F0 0009E550 34 A5 00 04 */ addic. r5, r5, 4 /* 800A15F4 0009E554 41 82 00 08 */ beq lbl_800A15FC /* 800A15F8 0009E558 90 65 00 00 */ stw r3, 0(r5) lbl_800A15FC: /* 800A15FC 0009E55C 34 A5 00 04 */ addic. r5, r5, 4 /* 800A1600 0009E560 41 82 00 08 */ beq lbl_800A1608 /* 800A1604 0009E564 90 65 00 00 */ stw r3, 0(r5) lbl_800A1608: /* 800A1608 0009E568 38 00 00 00 */ li r0, 0 /* 800A160C 0009E56C 3C 60 80 5A */ lis r3, skZero3f@ha /* 800A1610 0009E570 90 1B 00 24 */ stw r0, 0x24(r27) /* 800A1614 0009E574 38 83 66 A0 */ addi r4, r3, skZero3f@l /* 800A1618 0009E578 C0 02 8C 20 */ lfs f0, lbl_805AA940@sda21(r2) /* 800A161C 0009E57C 7F 83 E3 78 */ mr r3, r28 /* 800A1620 0009E580 90 1B 00 28 */ stw r0, 0x28(r27) /* 800A1624 0009E584 90 1B 00 2C */ stw r0, 0x2c(r27) /* 800A1628 0009E588 C0 24 00 00 */ lfs f1, 0(r4) /* 800A162C 0009E58C D0 3B 00 30 */ stfs f1, 0x30(r27) /* 800A1630 0009E590 C0 24 00 04 */ lfs f1, 4(r4) /* 800A1634 0009E594 D0 3B 00 34 */ stfs f1, 0x34(r27) /* 800A1638 0009E598 C0 24 00 08 */ lfs f1, 8(r4) /* 800A163C 0009E59C D0 3B 00 38 */ stfs f1, 0x38(r27) /* 800A1640 0009E5A0 D0 1B 00 3C */ stfs f0, 0x3c(r27) /* 800A1644 0009E5A4 D0 1B 00 40 */ stfs f0, 0x40(r27) /* 800A1648 0009E5A8 48 29 D6 3D */ bl ReadLong__12CInputStreamFv /* 800A164C 0009E5AC 7F 83 E3 78 */ mr r3, r28 /* 800A1650 0009E5B0 48 29 D6 35 */ bl ReadLong__12CInputStreamFv /* 800A1654 0009E5B4 7F 83 E3 78 */ mr r3, r28 /* 800A1658 0009E5B8 48 29 D6 2D */ bl ReadLong__12CInputStreamFv /* 800A165C 0009E5BC 7C 7F 1B 78 */ mr r31, r3 /* 800A1660 0009E5C0 7F 63 DB 78 */ mr r3, r27 /* 800A1664 0009E5C4 7F E4 FB 78 */ mr r4, r31 /* 800A1668 0009E5C8 48 00 08 D5 */ bl "reserve__Q24rstl61vectorFi" /* 800A166C 0009E5CC 2C 1F 00 00 */ cmpwi r31, 0 /* 800A1670 0009E5D0 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A1674 0009E5D4 93 E1 00 20 */ stw r31, 0x20(r1) /* 800A1678 0009E5D8 40 82 00 10 */ bne lbl_800A1688 /* 800A167C 0009E5DC 38 00 00 00 */ li r0, 0 /* 800A1680 0009E5E0 90 01 00 24 */ stw r0, 0x24(r1) /* 800A1684 0009E5E4 48 00 00 1C */ b lbl_800A16A0 lbl_800A1688: /* 800A1688 0009E5E8 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A168C 0009E5EC 7F E3 FB 78 */ mr r3, r31 /* 800A1690 0009E5F0 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A1694 0009E5F4 38 A0 00 00 */ li r5, 0 /* 800A1698 0009E5F8 48 27 41 81 */ bl __nwa__FUlPCcPCc /* 800A169C 0009E5FC 90 61 00 24 */ stw r3, 0x24(r1) lbl_800A16A0: /* 800A16A0 0009E600 80 61 00 24 */ lwz r3, 0x24(r1) /* 800A16A4 0009E604 7F E9 03 A6 */ mtctr r31 /* 800A16A8 0009E608 2C 1F 00 00 */ cmpwi r31, 0 /* 800A16AC 0009E60C 40 81 00 1C */ ble lbl_800A16C8 lbl_800A16B0: /* 800A16B0 0009E610 28 03 00 00 */ cmplwi r3, 0 /* 800A16B4 0009E614 41 82 00 0C */ beq lbl_800A16C0 /* 800A16B8 0009E618 88 0D 86 00 */ lbz r0, lbl_805A71C0@sda21(r13) /* 800A16BC 0009E61C 98 03 00 00 */ stb r0, 0(r3) lbl_800A16C0: /* 800A16C0 0009E620 38 63 00 01 */ addi r3, r3, 1 /* 800A16C4 0009E624 42 00 FF EC */ bdnz lbl_800A16B0 lbl_800A16C8: /* 800A16C8 0009E628 38 7B 00 20 */ addi r3, r27, 0x20 /* 800A16CC 0009E62C 38 81 00 18 */ addi r4, r1, 0x18 /* 800A16D0 0009E630 48 00 01 69 */ bl sub_800a1838 /* 800A16D4 0009E634 80 61 00 24 */ lwz r3, 0x24(r1) /* 800A16D8 0009E638 80 01 00 1C */ lwz r0, 0x1c(r1) /* 800A16DC 0009E63C 90 61 00 0C */ stw r3, 0xc(r1) /* 800A16E0 0009E640 7C 83 02 14 */ add r4, r3, r0 /* 800A16E4 0009E644 7C 03 20 50 */ subf r0, r3, r4 /* 800A16E8 0009E648 90 81 00 14 */ stw r4, 0x14(r1) /* 800A16EC 0009E64C 90 81 00 10 */ stw r4, 0x10(r1) /* 800A16F0 0009E650 90 61 00 08 */ stw r3, 8(r1) /* 800A16F4 0009E654 7C 09 03 A6 */ mtctr r0 /* 800A16F8 0009E658 7C 03 20 40 */ cmplw r3, r4 /* 800A16FC 0009E65C 41 82 00 08 */ beq lbl_800A1704 lbl_800A1700: /* 800A1700 0009E660 42 00 00 00 */ bdnz lbl_800A1700 lbl_800A1704: /* 800A1704 0009E664 28 03 00 00 */ cmplwi r3, 0 /* 800A1708 0009E668 41 82 00 08 */ beq lbl_800A1710 /* 800A170C 0009E66C 48 27 42 25 */ bl Free__7CMemoryFPCv lbl_800A1710: /* 800A1710 0009E670 3B C1 00 2C */ addi r30, r1, 0x2c /* 800A1714 0009E674 3B A0 00 00 */ li r29, 0 /* 800A1718 0009E678 48 00 00 D0 */ b lbl_800A17E8 lbl_800A171C: /* 800A171C 0009E67C 7F 83 E3 78 */ mr r3, r28 /* 800A1720 0009E680 48 29 D5 65 */ bl ReadLong__12CInputStreamFv /* 800A1724 0009E684 2C 1D 00 00 */ cmpwi r29, 0 /* 800A1728 0009E688 7C 64 1B 78 */ mr r4, r3 /* 800A172C 0009E68C 38 61 00 28 */ addi r3, r1, 0x28 /* 800A1730 0009E690 38 A0 00 02 */ li r5, 2 /* 800A1734 0009E694 40 82 00 0C */ bne lbl_800A1740 /* 800A1738 0009E698 38 C0 00 00 */ li r6, 0 /* 800A173C 0009E69C 48 00 00 14 */ b lbl_800A1750 lbl_800A1740: /* 800A1740 0009E6A0 38 1D FF FF */ addi r0, r29, -1 /* 800A1744 0009E6A4 80 DB 00 0C */ lwz r6, 0xc(r27) /* 800A1748 0009E6A8 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A174C 0009E6AC 7C C6 02 14 */ add r6, r6, r0 lbl_800A1750: /* 800A1750 0009E6B0 48 00 03 71 */ bl __ct__Q29CMapWorld12CMapAreaDataFUiQ29CMapWorld12EMapAreaListPQ29CMapWorld12CMapAreaData /* 800A1754 0009E6B4 80 1B 00 04 */ lwz r0, 4(r27) /* 800A1758 0009E6B8 80 BB 00 08 */ lwz r5, 8(r27) /* 800A175C 0009E6BC 7C 00 28 00 */ cmpw r0, r5 /* 800A1760 0009E6C0 41 80 00 1C */ blt lbl_800A177C /* 800A1764 0009E6C4 2C 05 00 00 */ cmpwi r5, 0 /* 800A1768 0009E6C8 7F 63 DB 78 */ mr r3, r27 /* 800A176C 0009E6CC 38 80 00 04 */ li r4, 4 /* 800A1770 0009E6D0 41 82 00 08 */ beq lbl_800A1778 /* 800A1774 0009E6D4 54 A4 08 3C */ slwi r4, r5, 1 lbl_800A1778: /* 800A1778 0009E6D8 48 00 07 C5 */ bl "reserve__Q24rstl61vectorFi" lbl_800A177C: /* 800A177C 0009E6DC 80 1B 00 04 */ lwz r0, 4(r27) /* 800A1780 0009E6E0 80 7B 00 0C */ lwz r3, 0xc(r27) /* 800A1784 0009E6E4 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1788 0009E6E8 7F 43 02 15 */ add. r26, r3, r0 /* 800A178C 0009E6EC 41 82 00 34 */ beq lbl_800A17C0 /* 800A1790 0009E6F0 80 01 00 28 */ lwz r0, 0x28(r1) /* 800A1794 0009E6F4 3B 3A 00 04 */ addi r25, r26, 4 /* 800A1798 0009E6F8 7F 23 CB 78 */ mr r3, r25 /* 800A179C 0009E6FC 7F C4 F3 78 */ mr r4, r30 /* 800A17A0 0009E700 90 1A 00 00 */ stw r0, 0(r26) /* 800A17A4 0009E704 48 29 F7 05 */ bl __ct__6CTokenFRC6CToken /* 800A17A8 0009E708 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A17AC 0009E70C 90 19 00 08 */ stw r0, 8(r25) /* 800A17B0 0009E710 80 01 00 38 */ lwz r0, 0x38(r1) /* 800A17B4 0009E714 90 1A 00 10 */ stw r0, 0x10(r26) /* 800A17B8 0009E718 80 01 00 3C */ lwz r0, 0x3c(r1) /* 800A17BC 0009E71C 90 1A 00 14 */ stw r0, 0x14(r26) lbl_800A17C0: /* 800A17C0 0009E720 80 7B 00 04 */ lwz r3, 4(r27) /* 800A17C4 0009E724 28 1E 00 00 */ cmplwi r30, 0 /* 800A17C8 0009E728 38 03 00 01 */ addi r0, r3, 1 /* 800A17CC 0009E72C 90 1B 00 04 */ stw r0, 4(r27) /* 800A17D0 0009E730 41 82 00 14 */ beq lbl_800A17E4 /* 800A17D4 0009E734 41 82 00 10 */ beq lbl_800A17E4 /* 800A17D8 0009E738 7F C3 F3 78 */ mr r3, r30 /* 800A17DC 0009E73C 38 80 00 00 */ li r4, 0 /* 800A17E0 0009E740 48 29 F6 61 */ bl __dt__6CTokenFv lbl_800A17E4: /* 800A17E4 0009E744 3B BD 00 01 */ addi r29, r29, 1 lbl_800A17E8: /* 800A17E8 0009E748 7C 1D F8 00 */ cmpw r29, r31 /* 800A17EC 0009E74C 41 80 FF 30 */ blt lbl_800A171C /* 800A17F0 0009E750 80 9B 00 04 */ lwz r4, 4(r27) /* 800A17F4 0009E754 7F 63 DB 78 */ mr r3, r27 /* 800A17F8 0009E758 80 BB 00 0C */ lwz r5, 0xc(r27) /* 800A17FC 0009E75C 38 04 FF FF */ addi r0, r4, -1 /* 800A1800 0009E760 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1804 0009E764 7C 05 02 14 */ add r0, r5, r0 /* 800A1808 0009E768 90 1B 00 1C */ stw r0, 0x1c(r27) /* 800A180C 0009E76C 80 1B 00 08 */ lwz r0, 8(r27) /* 800A1810 0009E770 80 8D A2 F0 */ lwz r4, lbl_805A8EB0@sda21(r13) /* 800A1814 0009E774 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1818 0009E778 7C 80 22 14 */ add r4, r0, r4 /* 800A181C 0009E77C 38 04 00 44 */ addi r0, r4, 0x44 /* 800A1820 0009E780 90 0D A2 F0 */ stw r0, lbl_805A8EB0@sda21(r13) /* 800A1824 0009E784 BB 21 00 44 */ lmw r25, 0x44(r1) /* 800A1828 0009E788 80 01 00 64 */ lwz r0, 0x64(r1) /* 800A182C 0009E78C 7C 08 03 A6 */ mtlr r0 /* 800A1830 0009E790 38 21 00 60 */ addi r1, r1, 0x60 /* 800A1834 0009E794 4E 80 00 20 */ blr .global sub_800a1838 sub_800a1838: /* 800A1838 0009E798 94 21 FF E0 */ stwu r1, -0x20(r1) /* 800A183C 0009E79C 7C 08 02 A6 */ mflr r0 /* 800A1840 0009E7A0 90 01 00 24 */ stw r0, 0x24(r1) /* 800A1844 0009E7A4 93 E1 00 1C */ stw r31, 0x1c(r1) /* 800A1848 0009E7A8 7C 7F 1B 78 */ mr r31, r3 /* 800A184C 0009E7AC 93 C1 00 18 */ stw r30, 0x18(r1) /* 800A1850 0009E7B0 7C 9E 23 78 */ mr r30, r4 /* 800A1854 0009E7B4 7C 1F F0 40 */ cmplw r31, r30 /* 800A1858 0009E7B8 40 82 00 08 */ bne lbl_800A1860 /* 800A185C 0009E7BC 48 00 00 BC */ b lbl_800A1918 lbl_800A1860: /* 800A1860 0009E7C0 80 9F 00 0C */ lwz r4, 0xc(r31) /* 800A1864 0009E7C4 80 1F 00 04 */ lwz r0, 4(r31) /* 800A1868 0009E7C8 90 81 00 0C */ stw r4, 0xc(r1) /* 800A186C 0009E7CC 7C 64 02 14 */ add r3, r4, r0 /* 800A1870 0009E7D0 7C 04 18 50 */ subf r0, r4, r3 /* 800A1874 0009E7D4 90 61 00 14 */ stw r3, 0x14(r1) /* 800A1878 0009E7D8 90 61 00 10 */ stw r3, 0x10(r1) /* 800A187C 0009E7DC 90 81 00 08 */ stw r4, 8(r1) /* 800A1880 0009E7E0 7C 09 03 A6 */ mtctr r0 /* 800A1884 0009E7E4 7C 04 18 40 */ cmplw r4, r3 /* 800A1888 0009E7E8 41 82 00 08 */ beq lbl_800A1890 lbl_800A188C: /* 800A188C 0009E7EC 42 00 00 00 */ bdnz lbl_800A188C lbl_800A1890: /* 800A1890 0009E7F0 38 00 00 00 */ li r0, 0 /* 800A1894 0009E7F4 90 1F 00 04 */ stw r0, 4(r31) /* 800A1898 0009E7F8 80 9E 00 04 */ lwz r4, 4(r30) /* 800A189C 0009E7FC 2C 04 00 00 */ cmpwi r4, 0 /* 800A18A0 0009E800 40 82 00 28 */ bne lbl_800A18C8 /* 800A18A4 0009E804 80 7F 00 0C */ lwz r3, 0xc(r31) /* 800A18A8 0009E808 28 03 00 00 */ cmplwi r3, 0 /* 800A18AC 0009E80C 41 82 00 08 */ beq lbl_800A18B4 /* 800A18B0 0009E810 48 27 40 81 */ bl Free__7CMemoryFPCv lbl_800A18B4: /* 800A18B4 0009E814 38 00 00 00 */ li r0, 0 /* 800A18B8 0009E818 90 1F 00 04 */ stw r0, 4(r31) /* 800A18BC 0009E81C 90 1F 00 08 */ stw r0, 8(r31) /* 800A18C0 0009E820 90 1F 00 0C */ stw r0, 0xc(r31) /* 800A18C4 0009E824 48 00 00 50 */ b lbl_800A1914 lbl_800A18C8: /* 800A18C8 0009E828 7F E3 FB 78 */ mr r3, r31 /* 800A18CC 0009E82C 48 00 07 9D */ bl sub_800a2068 /* 800A18D0 0009E830 80 BE 00 0C */ lwz r5, 0xc(r30) /* 800A18D4 0009E834 80 1E 00 04 */ lwz r0, 4(r30) /* 800A18D8 0009E838 80 7F 00 0C */ lwz r3, 0xc(r31) /* 800A18DC 0009E83C 7C 85 02 14 */ add r4, r5, r0 /* 800A18E0 0009E840 7C 05 20 50 */ subf r0, r5, r4 /* 800A18E4 0009E844 7C 09 03 A6 */ mtctr r0 /* 800A18E8 0009E848 7C 05 20 40 */ cmplw r5, r4 /* 800A18EC 0009E84C 41 82 00 20 */ beq lbl_800A190C lbl_800A18F0: /* 800A18F0 0009E850 28 03 00 00 */ cmplwi r3, 0 /* 800A18F4 0009E854 41 82 00 0C */ beq lbl_800A1900 /* 800A18F8 0009E858 88 05 00 00 */ lbz r0, 0(r5) /* 800A18FC 0009E85C 98 03 00 00 */ stb r0, 0(r3) lbl_800A1900: /* 800A1900 0009E860 38 63 00 01 */ addi r3, r3, 1 /* 800A1904 0009E864 38 A5 00 01 */ addi r5, r5, 1 /* 800A1908 0009E868 42 00 FF E8 */ bdnz lbl_800A18F0 lbl_800A190C: /* 800A190C 0009E86C 80 1E 00 04 */ lwz r0, 4(r30) /* 800A1910 0009E870 90 1F 00 04 */ stw r0, 4(r31) lbl_800A1914: /* 800A1914 0009E874 7F E3 FB 78 */ mr r3, r31 lbl_800A1918: /* 800A1918 0009E878 80 01 00 24 */ lwz r0, 0x24(r1) /* 800A191C 0009E87C 83 E1 00 1C */ lwz r31, 0x1c(r1) /* 800A1920 0009E880 83 C1 00 18 */ lwz r30, 0x18(r1) /* 800A1924 0009E884 7C 08 03 A6 */ mtlr r0 /* 800A1928 0009E888 38 21 00 20 */ addi r1, r1, 0x20 /* 800A192C 0009E88C 4E 80 00 20 */ blr .global __ct__Q29CMapWorld15CMapAreaBFSInfoFiiff __ct__Q29CMapWorld15CMapAreaBFSInfoFiiff: /* 800A1930 0009E890 90 83 00 00 */ stw r4, 0(r3) /* 800A1934 0009E894 90 A3 00 04 */ stw r5, 4(r3) /* 800A1938 0009E898 D0 23 00 08 */ stfs f1, 8(r3) /* 800A193C 0009E89C D0 43 00 0C */ stfs f2, 0xc(r3) /* 800A1940 0009E8A0 4E 80 00 20 */ blr .global __ct__Q29CMapWorld18CMapWorldDrawParmsFfffffRC13CStateManagerRC12CTransform4fRC12CTransform4fRC6IWorldRC13CMapWorldInfofb __ct__Q29CMapWorld18CMapWorldDrawParmsFfffffRC13CStateManagerRC12CTransform4fRC12CTransform4fRC6IWorldRC13CMapWorldInfofb: /* 800A1944 0009E8A4 D0 23 00 00 */ stfs f1, 0(r3) /* 800A1948 0009E8A8 C0 01 00 08 */ lfs f0, 8(r1) /* 800A194C 0009E8AC D0 43 00 04 */ stfs f2, 4(r3) /* 800A1950 0009E8B0 D0 63 00 08 */ stfs f3, 8(r3) /* 800A1954 0009E8B4 D0 83 00 0C */ stfs f4, 0xc(r3) /* 800A1958 0009E8B8 D0 A3 00 10 */ stfs f5, 0x10(r3) /* 800A195C 0009E8BC D0 C3 00 14 */ stfs f6, 0x14(r3) /* 800A1960 0009E8C0 90 83 00 18 */ stw r4, 0x18(r3) /* 800A1964 0009E8C4 90 A3 00 1C */ stw r5, 0x1c(r3) /* 800A1968 0009E8C8 90 C3 00 20 */ stw r6, 0x20(r3) /* 800A196C 0009E8CC 90 E3 00 24 */ stw r7, 0x24(r3) /* 800A1970 0009E8D0 91 03 00 28 */ stw r8, 0x28(r3) /* 800A1974 0009E8D4 D0 E3 00 2C */ stfs f7, 0x2c(r3) /* 800A1978 0009E8D8 D1 03 00 30 */ stfs f8, 0x30(r3) /* 800A197C 0009E8DC D0 03 00 34 */ stfs f0, 0x34(r3) /* 800A1980 0009E8E0 99 23 00 38 */ stb r9, 0x38(r3) /* 800A1984 0009E8E4 4E 80 00 20 */ blr .global GetMapArea__Q29CMapWorld12CMapAreaDataCFv GetMapArea__Q29CMapWorld12CMapAreaDataCFv: /* 800A1988 0009E8E8 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800A198C 0009E8EC 7C 08 02 A6 */ mflr r0 /* 800A1990 0009E8F0 90 01 00 14 */ stw r0, 0x14(r1) /* 800A1994 0009E8F4 93 E1 00 0C */ stw r31, 0xc(r1) /* 800A1998 0009E8F8 7C 7F 1B 78 */ mr r31, r3 /* 800A199C 0009E8FC 80 03 00 0C */ lwz r0, 0xc(r3) /* 800A19A0 0009E900 28 00 00 00 */ cmplwi r0, 0 /* 800A19A4 0009E904 40 82 00 30 */ bne lbl_800A19D4 /* 800A19A8 0009E908 88 1F 00 08 */ lbz r0, 8(r31) /* 800A19AC 0009E90C 28 00 00 00 */ cmplwi r0, 0 /* 800A19B0 0009E910 41 82 00 24 */ beq lbl_800A19D4 /* 800A19B4 0009E914 80 7F 00 04 */ lwz r3, 4(r31) /* 800A19B8 0009E918 80 03 00 10 */ lwz r0, 0x10(r3) /* 800A19BC 0009E91C 28 00 00 00 */ cmplwi r0, 0 /* 800A19C0 0009E920 41 82 00 14 */ beq lbl_800A19D4 /* 800A19C4 0009E924 38 7F 00 04 */ addi r3, r31, 4 /* 800A19C8 0009E928 48 29 F4 45 */ bl GetObj__6CTokenFv /* 800A19CC 0009E92C 80 03 00 04 */ lwz r0, 4(r3) /* 800A19D0 0009E930 90 1F 00 0C */ stw r0, 0xc(r31) lbl_800A19D4: /* 800A19D4 0009E934 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A19D8 0009E938 80 7F 00 0C */ lwz r3, 0xc(r31) /* 800A19DC 0009E93C 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800A19E0 0009E940 7C 08 03 A6 */ mtlr r0 /* 800A19E4 0009E944 38 21 00 10 */ addi r1, r1, 0x10 /* 800A19E8 0009E948 4E 80 00 20 */ blr .global IsLoaded__Q29CMapWorld12CMapAreaDataCFv IsLoaded__Q29CMapWorld12CMapAreaDataCFv: /* 800A19EC 0009E94C 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800A19F0 0009E950 7C 08 02 A6 */ mflr r0 /* 800A19F4 0009E954 90 01 00 14 */ stw r0, 0x14(r1) /* 800A19F8 0009E958 93 E1 00 0C */ stw r31, 0xc(r1) /* 800A19FC 0009E95C 7C 7F 1B 78 */ mr r31, r3 /* 800A1A00 0009E960 88 63 00 08 */ lbz r3, 8(r3) /* 800A1A04 0009E964 28 03 00 00 */ cmplwi r3, 0 /* 800A1A08 0009E968 40 82 00 0C */ bne lbl_800A1A14 /* 800A1A0C 0009E96C 38 60 00 00 */ li r3, 0 /* 800A1A10 0009E970 48 00 00 4C */ b lbl_800A1A5C lbl_800A1A14: /* 800A1A14 0009E974 80 1F 00 0C */ lwz r0, 0xc(r31) /* 800A1A18 0009E978 28 00 00 00 */ cmplwi r0, 0 /* 800A1A1C 0009E97C 41 82 00 0C */ beq lbl_800A1A28 /* 800A1A20 0009E980 38 60 00 01 */ li r3, 1 /* 800A1A24 0009E984 48 00 00 38 */ b lbl_800A1A5C lbl_800A1A28: /* 800A1A28 0009E988 28 03 00 00 */ cmplwi r3, 0 /* 800A1A2C 0009E98C 41 82 00 2C */ beq lbl_800A1A58 /* 800A1A30 0009E990 80 7F 00 04 */ lwz r3, 4(r31) /* 800A1A34 0009E994 80 03 00 10 */ lwz r0, 0x10(r3) /* 800A1A38 0009E998 28 00 00 00 */ cmplwi r0, 0 /* 800A1A3C 0009E99C 41 82 00 1C */ beq lbl_800A1A58 /* 800A1A40 0009E9A0 38 7F 00 04 */ addi r3, r31, 4 /* 800A1A44 0009E9A4 48 29 F3 C9 */ bl GetObj__6CTokenFv /* 800A1A48 0009E9A8 80 03 00 04 */ lwz r0, 4(r3) /* 800A1A4C 0009E9AC 38 60 00 01 */ li r3, 1 /* 800A1A50 0009E9B0 90 1F 00 0C */ stw r0, 0xc(r31) /* 800A1A54 0009E9B4 48 00 00 08 */ b lbl_800A1A5C lbl_800A1A58: /* 800A1A58 0009E9B8 38 60 00 00 */ li r3, 0 lbl_800A1A5C: /* 800A1A5C 0009E9BC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A1A60 0009E9C0 83 E1 00 0C */ lwz r31, 0xc(r1) /* 800A1A64 0009E9C4 7C 08 03 A6 */ mtlr r0 /* 800A1A68 0009E9C8 38 21 00 10 */ addi r1, r1, 0x10 /* 800A1A6C 0009E9CC 4E 80 00 20 */ blr .global Unlock__Q29CMapWorld12CMapAreaDataFv Unlock__Q29CMapWorld12CMapAreaDataFv: /* 800A1A70 0009E9D0 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800A1A74 0009E9D4 7C 08 02 A6 */ mflr r0 /* 800A1A78 0009E9D8 90 01 00 14 */ stw r0, 0x14(r1) /* 800A1A7C 0009E9DC 38 00 00 00 */ li r0, 0 /* 800A1A80 0009E9E0 90 03 00 0C */ stw r0, 0xc(r3) /* 800A1A84 0009E9E4 38 63 00 04 */ addi r3, r3, 4 /* 800A1A88 0009E9E8 48 29 F2 B9 */ bl Unlock__6CTokenFv /* 800A1A8C 0009E9EC 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A1A90 0009E9F0 7C 08 03 A6 */ mtlr r0 /* 800A1A94 0009E9F4 38 21 00 10 */ addi r1, r1, 0x10 /* 800A1A98 0009E9F8 4E 80 00 20 */ blr .global Lock__Q29CMapWorld12CMapAreaDataFv Lock__Q29CMapWorld12CMapAreaDataFv: /* 800A1A9C 0009E9FC 94 21 FF F0 */ stwu r1, -0x10(r1) /* 800A1AA0 0009EA00 7C 08 02 A6 */ mflr r0 /* 800A1AA4 0009EA04 38 63 00 04 */ addi r3, r3, 4 /* 800A1AA8 0009EA08 90 01 00 14 */ stw r0, 0x14(r1) /* 800A1AAC 0009EA0C 48 29 F2 D9 */ bl Lock__6CTokenFv /* 800A1AB0 0009EA10 80 01 00 14 */ lwz r0, 0x14(r1) /* 800A1AB4 0009EA14 7C 08 03 A6 */ mtlr r0 /* 800A1AB8 0009EA18 38 21 00 10 */ addi r1, r1, 0x10 /* 800A1ABC 0009EA1C 4E 80 00 20 */ blr .global __ct__Q29CMapWorld12CMapAreaDataFUiQ29CMapWorld12EMapAreaListPQ29CMapWorld12CMapAreaData __ct__Q29CMapWorld12CMapAreaDataFUiQ29CMapWorld12EMapAreaListPQ29CMapWorld12CMapAreaData: /* 800A1AC0 0009EA20 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A1AC4 0009EA24 7C 08 02 A6 */ mflr r0 /* 800A1AC8 0009EA28 90 01 00 34 */ stw r0, 0x34(r1) /* 800A1ACC 0009EA2C 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A1AD0 0009EA30 7C DF 33 78 */ mr r31, r6 /* 800A1AD4 0009EA34 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A1AD8 0009EA38 7C BE 2B 78 */ mr r30, r5 /* 800A1ADC 0009EA3C 38 A1 00 10 */ addi r5, r1, 0x10 /* 800A1AE0 0009EA40 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A1AE4 0009EA44 93 81 00 20 */ stw r28, 0x20(r1) /* 800A1AE8 0009EA48 7C 7C 1B 78 */ mr r28, r3 /* 800A1AEC 0009EA4C 3C 60 4D 41 */ lis r3, 0x4D415041@ha /* 800A1AF0 0009EA50 90 9C 00 00 */ stw r4, 0(r28) /* 800A1AF4 0009EA54 38 03 50 41 */ addi r0, r3, 0x4D415041@l /* 800A1AF8 0009EA58 38 61 00 08 */ addi r3, r1, 8 /* 800A1AFC 0009EA5C 90 81 00 14 */ stw r4, 0x14(r1) /* 800A1B00 0009EA60 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13) /* 800A1B04 0009EA64 90 01 00 10 */ stw r0, 0x10(r1) /* 800A1B08 0009EA68 81 84 00 00 */ lwz r12, 0(r4) /* 800A1B0C 0009EA6C 81 8C 00 0C */ lwz r12, 0xc(r12) /* 800A1B10 0009EA70 7D 89 03 A6 */ mtctr r12 /* 800A1B14 0009EA74 4E 80 04 21 */ bctrl /* 800A1B18 0009EA78 3B BC 00 04 */ addi r29, r28, 4 /* 800A1B1C 0009EA7C 38 81 00 08 */ addi r4, r1, 8 /* 800A1B20 0009EA80 7F A3 EB 78 */ mr r3, r29 /* 800A1B24 0009EA84 48 29 F3 85 */ bl __ct__6CTokenFRC6CToken /* 800A1B28 0009EA88 38 00 00 00 */ li r0, 0 /* 800A1B2C 0009EA8C 38 61 00 08 */ addi r3, r1, 8 /* 800A1B30 0009EA90 90 1D 00 08 */ stw r0, 8(r29) /* 800A1B34 0009EA94 38 80 FF FF */ li r4, -1 /* 800A1B38 0009EA98 48 29 F3 09 */ bl __dt__6CTokenFv /* 800A1B3C 0009EA9C 93 DC 00 10 */ stw r30, 0x10(r28) /* 800A1B40 0009EAA0 7F 83 E3 78 */ mr r3, r28 /* 800A1B44 0009EAA4 93 FC 00 14 */ stw r31, 0x14(r28) /* 800A1B48 0009EAA8 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A1B4C 0009EAAC 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A1B50 0009EAB0 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A1B54 0009EAB4 83 81 00 20 */ lwz r28, 0x20(r1) /* 800A1B58 0009EAB8 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A1B5C 0009EABC 7C 08 03 A6 */ mtlr r0 /* 800A1B60 0009EAC0 38 21 00 30 */ addi r1, r1, 0x30 /* 800A1B64 0009EAC4 4E 80 00 20 */ blr .global __ct__Q29CMapWorld18CMapObjectSortInfoFfiQ39CMapWorld18CMapObjectSortInfo11EObjectCodei6CColor6CColor __ct__Q29CMapWorld18CMapObjectSortInfoFfiQ39CMapWorld18CMapObjectSortInfo11EObjectCodei6CColor6CColor: /* 800A1B68 0009EAC8 D0 23 00 00 */ stfs f1, 0(r3) /* 800A1B6C 0009EACC 7C A0 33 78 */ or r0, r5, r6 /* 800A1B70 0009EAD0 90 83 00 04 */ stw r4, 4(r3) /* 800A1B74 0009EAD4 90 03 00 08 */ stw r0, 8(r3) /* 800A1B78 0009EAD8 80 07 00 00 */ lwz r0, 0(r7) /* 800A1B7C 0009EADC 90 03 00 0C */ stw r0, 0xc(r3) /* 800A1B80 0009EAE0 80 08 00 00 */ lwz r0, 0(r8) /* 800A1B84 0009EAE4 90 03 00 10 */ stw r0, 0x10(r3) /* 800A1B88 0009EAE8 4E 80 00 20 */ blr .global sub_800a1b8c sub_800a1b8c: /* 800A1B8C 0009EAEC 94 21 FF A0 */ stwu r1, -0x60(r1) /* 800A1B90 0009EAF0 7C 08 02 A6 */ mflr r0 /* 800A1B94 0009EAF4 90 01 00 64 */ stw r0, 0x64(r1) /* 800A1B98 0009EAF8 DB E1 00 50 */ stfd f31, 0x50(r1) /* 800A1B9C 0009EAFC F3 E1 00 58 */ psq_st f31, 88(r1), 0, qr0 /* 800A1BA0 0009EB00 93 E1 00 4C */ stw r31, 0x4c(r1) /* 800A1BA4 0009EB04 93 C1 00 48 */ stw r30, 0x48(r1) /* 800A1BA8 0009EB08 93 A1 00 44 */ stw r29, 0x44(r1) /* 800A1BAC 0009EB0C 93 81 00 40 */ stw r28, 0x40(r1) /* 800A1BB0 0009EB10 7C 7C 1B 78 */ mr r28, r3 /* 800A1BB4 0009EB14 7C 9D 23 78 */ mr r29, r4 /* 800A1BB8 0009EB18 80 63 00 00 */ lwz r3, 0(r3) /* 800A1BBC 0009EB1C 3C 80 66 66 */ lis r4, 0x66666667@ha /* 800A1BC0 0009EB20 80 DD 00 00 */ lwz r6, 0(r29) /* 800A1BC4 0009EB24 38 84 66 67 */ addi r4, r4, 0x66666667@l /* 800A1BC8 0009EB28 7C BE 2B 78 */ mr r30, r5 /* 800A1BCC 0009EB2C 7C 03 30 50 */ subf r0, r3, r6 /* 800A1BD0 0009EB30 7C 04 00 96 */ mulhw r0, r4, r0 /* 800A1BD4 0009EB34 7C 00 1E 70 */ srawi r0, r0, 3 /* 800A1BD8 0009EB38 54 04 0F FE */ srwi r4, r0, 0x1f /* 800A1BDC 0009EB3C 7C 80 22 14 */ add r4, r0, r4 /* 800A1BE0 0009EB40 2C 04 00 01 */ cmpwi r4, 1 /* 800A1BE4 0009EB44 40 81 01 CC */ ble lbl_800A1DB0 /* 800A1BE8 0009EB48 2C 04 00 14 */ cmpwi r4, 0x14 /* 800A1BEC 0009EB4C 41 81 00 30 */ bgt lbl_800A1C1C /* 800A1BF0 0009EB50 88 FE 00 00 */ lbz r7, 0(r30) /* 800A1BF4 0009EB54 38 61 00 34 */ addi r3, r1, 0x34 /* 800A1BF8 0009EB58 80 DD 00 00 */ lwz r6, 0(r29) /* 800A1BFC 0009EB5C 38 81 00 30 */ addi r4, r1, 0x30 /* 800A1C00 0009EB60 80 1C 00 00 */ lwz r0, 0(r28) /* 800A1C04 0009EB64 38 A1 00 14 */ addi r5, r1, 0x14 /* 800A1C08 0009EB68 98 E1 00 14 */ stb r7, 0x14(r1) /* 800A1C0C 0009EB6C 90 C1 00 30 */ stw r6, 0x30(r1) /* 800A1C10 0009EB70 90 01 00 34 */ stw r0, 0x34(r1) /* 800A1C14 0009EB74 48 00 08 FD */ bl "__insertion_sort,Q24rstl17rmemory_allocator>,29CMapObjectSortInfoGreaterThan>__4rstlFQ24rstl154pointer_iterator,Q24rstl17rmemory_allocator>Q24rstl154pointer_iterator__4rstlFRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfo29CMapObjectSortInfoGreaterThan" /* 800A1C4C 0009EBAC 80 9C 00 00 */ lwz r4, 0(r28) /* 800A1C50 0009EBB0 80 61 00 3C */ lwz r3, 0x3c(r1) /* 800A1C54 0009EBB4 38 84 00 14 */ addi r4, r4, 0x14 /* 800A1C58 0009EBB8 80 BF 00 08 */ lwz r5, 8(r31) /* 800A1C5C 0009EBBC 38 03 FF EC */ addi r0, r3, -20 /* 800A1C60 0009EBC0 90 81 00 38 */ stw r4, 0x38(r1) /* 800A1C64 0009EBC4 C3 FF 00 00 */ lfs f31, 0(r31) /* 800A1C68 0009EBC8 54 BF 00 1E */ rlwinm r31, r5, 0, 0, 0xf /* 800A1C6C 0009EBCC 90 01 00 3C */ stw r0, 0x3c(r1) /* 800A1C70 0009EBD0 48 00 00 10 */ b lbl_800A1C80 lbl_800A1C74: /* 800A1C74 0009EBD4 80 61 00 38 */ lwz r3, 0x38(r1) /* 800A1C78 0009EBD8 38 03 00 14 */ addi r0, r3, 0x14 /* 800A1C7C 0009EBDC 90 01 00 38 */ stw r0, 0x38(r1) lbl_800A1C80: /* 800A1C80 0009EBE0 80 61 00 38 */ lwz r3, 0x38(r1) /* 800A1C84 0009EBE4 80 03 00 08 */ lwz r0, 8(r3) /* 800A1C88 0009EBE8 54 04 00 1E */ rlwinm r4, r0, 0, 0, 0xf /* 800A1C8C 0009EBEC 7C 04 F8 00 */ cmpw r4, r31 /* 800A1C90 0009EBF0 40 82 00 18 */ bne lbl_800A1CA8 /* 800A1C94 0009EBF4 C0 03 00 00 */ lfs f0, 0(r3) /* 800A1C98 0009EBF8 FC 00 F8 40 */ fcmpo cr0, f0, f31 /* 800A1C9C 0009EBFC 7C 00 00 26 */ mfcr r0 /* 800A1CA0 0009EC00 54 00 17 FE */ rlwinm r0, r0, 2, 0x1f, 0x1f /* 800A1CA4 0009EC04 48 00 00 18 */ b lbl_800A1CBC lbl_800A1CA8: /* 800A1CA8 0009EC08 7C 80 FA 78 */ xor r0, r4, r31 /* 800A1CAC 0009EC0C 7C 03 0E 70 */ srawi r3, r0, 1 /* 800A1CB0 0009EC10 7C 00 20 38 */ and r0, r0, r4 /* 800A1CB4 0009EC14 7C 00 18 50 */ subf r0, r0, r3 /* 800A1CB8 0009EC18 54 00 0F FE */ srwi r0, r0, 0x1f lbl_800A1CBC: /* 800A1CBC 0009EC1C 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 800A1CC0 0009EC20 40 82 FF B4 */ bne lbl_800A1C74 /* 800A1CC4 0009EC24 48 00 00 10 */ b lbl_800A1CD4 lbl_800A1CC8: /* 800A1CC8 0009EC28 80 61 00 3C */ lwz r3, 0x3c(r1) /* 800A1CCC 0009EC2C 38 03 FF EC */ addi r0, r3, -20 /* 800A1CD0 0009EC30 90 01 00 3C */ stw r0, 0x3c(r1) lbl_800A1CD4: /* 800A1CD4 0009EC34 80 61 00 3C */ lwz r3, 0x3c(r1) /* 800A1CD8 0009EC38 80 03 00 08 */ lwz r0, 8(r3) /* 800A1CDC 0009EC3C 54 00 00 1E */ rlwinm r0, r0, 0, 0, 0xf /* 800A1CE0 0009EC40 7C 1F 00 00 */ cmpw r31, r0 /* 800A1CE4 0009EC44 40 82 00 18 */ bne lbl_800A1CFC /* 800A1CE8 0009EC48 C0 03 00 00 */ lfs f0, 0(r3) /* 800A1CEC 0009EC4C FC 1F 00 40 */ fcmpo cr0, f31, f0 /* 800A1CF0 0009EC50 7C 00 00 26 */ mfcr r0 /* 800A1CF4 0009EC54 54 00 17 FE */ rlwinm r0, r0, 2, 0x1f, 0x1f /* 800A1CF8 0009EC58 48 00 00 18 */ b lbl_800A1D10 lbl_800A1CFC: /* 800A1CFC 0009EC5C 7F E0 02 78 */ xor r0, r31, r0 /* 800A1D00 0009EC60 7C 03 0E 70 */ srawi r3, r0, 1 /* 800A1D04 0009EC64 7C 00 F8 38 */ and r0, r0, r31 /* 800A1D08 0009EC68 7C 00 18 50 */ subf r0, r0, r3 /* 800A1D0C 0009EC6C 54 00 0F FE */ srwi r0, r0, 0x1f lbl_800A1D10: /* 800A1D10 0009EC70 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 800A1D14 0009EC74 40 82 FF B4 */ bne lbl_800A1CC8 /* 800A1D18 0009EC78 80 61 00 38 */ lwz r3, 0x38(r1) /* 800A1D1C 0009EC7C 80 01 00 3C */ lwz r0, 0x3c(r1) /* 800A1D20 0009EC80 7C 03 00 40 */ cmplw r3, r0 /* 800A1D24 0009EC84 40 80 00 3C */ bge lbl_800A1D60 /* 800A1D28 0009EC88 80 A1 00 3C */ lwz r5, 0x3c(r1) /* 800A1D2C 0009EC8C 38 61 00 2C */ addi r3, r1, 0x2c /* 800A1D30 0009EC90 80 01 00 38 */ lwz r0, 0x38(r1) /* 800A1D34 0009EC94 38 81 00 28 */ addi r4, r1, 0x28 /* 800A1D38 0009EC98 90 A1 00 28 */ stw r5, 0x28(r1) /* 800A1D3C 0009EC9C 90 01 00 2C */ stw r0, 0x2c(r1) /* 800A1D40 0009ECA0 48 00 00 99 */ bl sub_800a1dd8 /* 800A1D44 0009ECA4 80 81 00 38 */ lwz r4, 0x38(r1) /* 800A1D48 0009ECA8 80 61 00 3C */ lwz r3, 0x3c(r1) /* 800A1D4C 0009ECAC 38 84 00 14 */ addi r4, r4, 0x14 /* 800A1D50 0009ECB0 38 03 FF EC */ addi r0, r3, -20 /* 800A1D54 0009ECB4 90 81 00 38 */ stw r4, 0x38(r1) /* 800A1D58 0009ECB8 90 01 00 3C */ stw r0, 0x3c(r1) /* 800A1D5C 0009ECBC 4B FF FF 24 */ b lbl_800A1C80 lbl_800A1D60: /* 800A1D60 0009ECC0 88 FE 00 00 */ lbz r7, 0(r30) /* 800A1D64 0009ECC4 38 61 00 24 */ addi r3, r1, 0x24 /* 800A1D68 0009ECC8 80 C1 00 38 */ lwz r6, 0x38(r1) /* 800A1D6C 0009ECCC 38 81 00 20 */ addi r4, r1, 0x20 /* 800A1D70 0009ECD0 80 1C 00 00 */ lwz r0, 0(r28) /* 800A1D74 0009ECD4 38 A1 00 0C */ addi r5, r1, 0xc /* 800A1D78 0009ECD8 98 E1 00 0C */ stb r7, 0xc(r1) /* 800A1D7C 0009ECDC 90 C1 00 20 */ stw r6, 0x20(r1) /* 800A1D80 0009ECE0 90 01 00 24 */ stw r0, 0x24(r1) /* 800A1D84 0009ECE4 4B FF FE 09 */ bl sub_800a1b8c /* 800A1D88 0009ECE8 88 FE 00 00 */ lbz r7, 0(r30) /* 800A1D8C 0009ECEC 38 61 00 1C */ addi r3, r1, 0x1c /* 800A1D90 0009ECF0 80 DD 00 00 */ lwz r6, 0(r29) /* 800A1D94 0009ECF4 38 81 00 18 */ addi r4, r1, 0x18 /* 800A1D98 0009ECF8 80 01 00 38 */ lwz r0, 0x38(r1) /* 800A1D9C 0009ECFC 38 A1 00 08 */ addi r5, r1, 8 /* 800A1DA0 0009ED00 98 E1 00 08 */ stb r7, 8(r1) /* 800A1DA4 0009ED04 90 C1 00 18 */ stw r6, 0x18(r1) /* 800A1DA8 0009ED08 90 01 00 1C */ stw r0, 0x1c(r1) /* 800A1DAC 0009ED0C 4B FF FD E1 */ bl sub_800a1b8c lbl_800A1DB0: /* 800A1DB0 0009ED10 E3 E1 00 58 */ psq_l f31, 88(r1), 0, qr0 /* 800A1DB4 0009ED14 80 01 00 64 */ lwz r0, 0x64(r1) /* 800A1DB8 0009ED18 CB E1 00 50 */ lfd f31, 0x50(r1) /* 800A1DBC 0009ED1C 83 E1 00 4C */ lwz r31, 0x4c(r1) /* 800A1DC0 0009ED20 83 C1 00 48 */ lwz r30, 0x48(r1) /* 800A1DC4 0009ED24 83 A1 00 44 */ lwz r29, 0x44(r1) /* 800A1DC8 0009ED28 83 81 00 40 */ lwz r28, 0x40(r1) /* 800A1DCC 0009ED2C 7C 08 03 A6 */ mtlr r0 /* 800A1DD0 0009ED30 38 21 00 60 */ addi r1, r1, 0x60 /* 800A1DD4 0009ED34 4E 80 00 20 */ blr .global sub_800a1dd8 sub_800a1dd8: /* 800A1DD8 0009ED38 81 23 00 00 */ lwz r9, 0(r3) /* 800A1DDC 0009ED3C 80 64 00 00 */ lwz r3, 0(r4) /* 800A1DE0 0009ED40 C0 29 00 00 */ lfs f1, 0(r9) /* 800A1DE4 0009ED44 80 A9 00 04 */ lwz r5, 4(r9) /* 800A1DE8 0009ED48 80 C9 00 08 */ lwz r6, 8(r9) /* 800A1DEC 0009ED4C 80 E9 00 0C */ lwz r7, 0xc(r9) /* 800A1DF0 0009ED50 81 09 00 10 */ lwz r8, 0x10(r9) /* 800A1DF4 0009ED54 C0 03 00 00 */ lfs f0, 0(r3) /* 800A1DF8 0009ED58 D0 09 00 00 */ stfs f0, 0(r9) /* 800A1DFC 0009ED5C 80 03 00 04 */ lwz r0, 4(r3) /* 800A1E00 0009ED60 90 09 00 04 */ stw r0, 4(r9) /* 800A1E04 0009ED64 80 03 00 08 */ lwz r0, 8(r3) /* 800A1E08 0009ED68 90 09 00 08 */ stw r0, 8(r9) /* 800A1E0C 0009ED6C 80 03 00 0C */ lwz r0, 0xc(r3) /* 800A1E10 0009ED70 90 09 00 0C */ stw r0, 0xc(r9) /* 800A1E14 0009ED74 80 03 00 10 */ lwz r0, 0x10(r3) /* 800A1E18 0009ED78 90 09 00 10 */ stw r0, 0x10(r9) /* 800A1E1C 0009ED7C 80 64 00 00 */ lwz r3, 0(r4) /* 800A1E20 0009ED80 D0 23 00 00 */ stfs f1, 0(r3) /* 800A1E24 0009ED84 90 A3 00 04 */ stw r5, 4(r3) /* 800A1E28 0009ED88 90 C3 00 08 */ stw r6, 8(r3) /* 800A1E2C 0009ED8C 90 E3 00 0C */ stw r7, 0xc(r3) /* 800A1E30 0009ED90 91 03 00 10 */ stw r8, 0x10(r3) /* 800A1E34 0009ED94 4E 80 00 20 */ blr .global "reserve__Q24rstl64vectorFi" "reserve__Q24rstl64vectorFi": /* 800A1E38 0009ED98 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A1E3C 0009ED9C 7C 08 02 A6 */ mflr r0 /* 800A1E40 0009EDA0 90 01 00 34 */ stw r0, 0x34(r1) /* 800A1E44 0009EDA4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A1E48 0009EDA8 7C 9F 23 78 */ mr r31, r4 /* 800A1E4C 0009EDAC 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A1E50 0009EDB0 7C 7E 1B 78 */ mr r30, r3 /* 800A1E54 0009EDB4 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A1E58 0009EDB8 80 03 00 08 */ lwz r0, 8(r3) /* 800A1E5C 0009EDBC 7C 1F 00 00 */ cmpw r31, r0 /* 800A1E60 0009EDC0 40 81 00 C0 */ ble lbl_800A1F20 /* 800A1E64 0009EDC4 57 E3 20 37 */ rlwinm. r3, r31, 4, 0, 0x1b /* 800A1E68 0009EDC8 40 82 00 0C */ bne lbl_800A1E74 /* 800A1E6C 0009EDCC 3B A0 00 00 */ li r29, 0 /* 800A1E70 0009EDD0 48 00 00 18 */ b lbl_800A1E88 lbl_800A1E74: /* 800A1E74 0009EDD4 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A1E78 0009EDD8 38 A0 00 00 */ li r5, 0 /* 800A1E7C 0009EDDC 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A1E80 0009EDE0 48 27 39 99 */ bl __nwa__FUlPCcPCc /* 800A1E84 0009EDE4 7C 7D 1B 78 */ mr r29, r3 lbl_800A1E88: /* 800A1E88 0009EDE8 80 1E 00 04 */ lwz r0, 4(r30) /* 800A1E8C 0009EDEC 7F A4 EB 78 */ mr r4, r29 /* 800A1E90 0009EDF0 80 BE 00 0C */ lwz r5, 0xc(r30) /* 800A1E94 0009EDF4 54 00 20 36 */ slwi r0, r0, 4 /* 800A1E98 0009EDF8 7C 65 02 14 */ add r3, r5, r0 /* 800A1E9C 0009EDFC 90 A1 00 10 */ stw r5, 0x10(r1) /* 800A1EA0 0009EE00 90 61 00 08 */ stw r3, 8(r1) /* 800A1EA4 0009EE04 90 61 00 0C */ stw r3, 0xc(r1) /* 800A1EA8 0009EE08 90 A1 00 14 */ stw r5, 0x14(r1) /* 800A1EAC 0009EE0C 48 00 00 34 */ b lbl_800A1EE0 lbl_800A1EB0: /* 800A1EB0 0009EE10 28 04 00 00 */ cmplwi r4, 0 /* 800A1EB4 0009EE14 41 82 00 24 */ beq lbl_800A1ED8 /* 800A1EB8 0009EE18 80 05 00 00 */ lwz r0, 0(r5) /* 800A1EBC 0009EE1C 90 04 00 00 */ stw r0, 0(r4) /* 800A1EC0 0009EE20 80 05 00 04 */ lwz r0, 4(r5) /* 800A1EC4 0009EE24 90 04 00 04 */ stw r0, 4(r4) /* 800A1EC8 0009EE28 C0 05 00 08 */ lfs f0, 8(r5) /* 800A1ECC 0009EE2C D0 04 00 08 */ stfs f0, 8(r4) /* 800A1ED0 0009EE30 C0 05 00 0C */ lfs f0, 0xc(r5) /* 800A1ED4 0009EE34 D0 04 00 0C */ stfs f0, 0xc(r4) lbl_800A1ED8: /* 800A1ED8 0009EE38 38 84 00 10 */ addi r4, r4, 0x10 /* 800A1EDC 0009EE3C 38 A5 00 10 */ addi r5, r5, 0x10 lbl_800A1EE0: /* 800A1EE0 0009EE40 7C 05 18 40 */ cmplw r5, r3 /* 800A1EE4 0009EE44 40 82 FF CC */ bne lbl_800A1EB0 /* 800A1EE8 0009EE48 80 1E 00 04 */ lwz r0, 4(r30) /* 800A1EEC 0009EE4C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 800A1EF0 0009EE50 54 00 20 36 */ slwi r0, r0, 4 /* 800A1EF4 0009EE54 7C 64 1B 78 */ mr r4, r3 /* 800A1EF8 0009EE58 7C 03 02 14 */ add r0, r3, r0 /* 800A1EFC 0009EE5C 48 00 00 08 */ b lbl_800A1F04 lbl_800A1F00: /* 800A1F00 0009EE60 38 84 00 10 */ addi r4, r4, 0x10 lbl_800A1F04: /* 800A1F04 0009EE64 7C 04 00 40 */ cmplw r4, r0 /* 800A1F08 0009EE68 40 82 FF F8 */ bne lbl_800A1F00 /* 800A1F0C 0009EE6C 28 03 00 00 */ cmplwi r3, 0 /* 800A1F10 0009EE70 41 82 00 08 */ beq lbl_800A1F18 /* 800A1F14 0009EE74 48 27 3A 1D */ bl Free__7CMemoryFPCv lbl_800A1F18: /* 800A1F18 0009EE78 93 BE 00 0C */ stw r29, 0xc(r30) /* 800A1F1C 0009EE7C 93 FE 00 08 */ stw r31, 8(r30) lbl_800A1F20: /* 800A1F20 0009EE80 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A1F24 0009EE84 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A1F28 0009EE88 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A1F2C 0009EE8C 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A1F30 0009EE90 7C 08 03 A6 */ mtlr r0 /* 800A1F34 0009EE94 38 21 00 30 */ addi r1, r1, 0x30 /* 800A1F38 0009EE98 4E 80 00 20 */ blr .global "reserve__Q24rstl61vectorFi" "reserve__Q24rstl61vectorFi": /* 800A1F3C 0009EE9C 94 21 FF C0 */ stwu r1, -0x40(r1) /* 800A1F40 0009EEA0 7C 08 02 A6 */ mflr r0 /* 800A1F44 0009EEA4 90 01 00 44 */ stw r0, 0x44(r1) /* 800A1F48 0009EEA8 BF 21 00 24 */ stmw r25, 0x24(r1) /* 800A1F4C 0009EEAC 7C 9F 23 78 */ mr r31, r4 /* 800A1F50 0009EEB0 7C 7E 1B 78 */ mr r30, r3 /* 800A1F54 0009EEB4 80 03 00 08 */ lwz r0, 8(r3) /* 800A1F58 0009EEB8 7C 1F 00 00 */ cmpw r31, r0 /* 800A1F5C 0009EEBC 40 81 00 F8 */ ble lbl_800A2054 /* 800A1F60 0009EEC0 1C 7F 00 18 */ mulli r3, r31, 0x18 /* 800A1F64 0009EEC4 2C 03 00 00 */ cmpwi r3, 0 /* 800A1F68 0009EEC8 40 82 00 0C */ bne lbl_800A1F74 /* 800A1F6C 0009EECC 3B 80 00 00 */ li r28, 0 /* 800A1F70 0009EED0 48 00 00 18 */ b lbl_800A1F88 lbl_800A1F74: /* 800A1F74 0009EED4 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A1F78 0009EED8 38 A0 00 00 */ li r5, 0 /* 800A1F7C 0009EEDC 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A1F80 0009EEE0 48 27 38 99 */ bl __nwa__FUlPCcPCc /* 800A1F84 0009EEE4 7C 7C 1B 78 */ mr r28, r3 lbl_800A1F88: /* 800A1F88 0009EEE8 80 1E 00 04 */ lwz r0, 4(r30) /* 800A1F8C 0009EEEC 7F 9B E3 78 */ mr r27, r28 /* 800A1F90 0009EEF0 83 5E 00 0C */ lwz r26, 0xc(r30) /* 800A1F94 0009EEF4 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A1F98 0009EEF8 93 41 00 10 */ stw r26, 0x10(r1) /* 800A1F9C 0009EEFC 7F BA 02 14 */ add r29, r26, r0 /* 800A1FA0 0009EF00 93 41 00 14 */ stw r26, 0x14(r1) /* 800A1FA4 0009EF04 93 A1 00 08 */ stw r29, 8(r1) /* 800A1FA8 0009EF08 93 A1 00 0C */ stw r29, 0xc(r1) /* 800A1FAC 0009EF0C 48 00 00 44 */ b lbl_800A1FF0 lbl_800A1FB0: /* 800A1FB0 0009EF10 28 1B 00 00 */ cmplwi r27, 0 /* 800A1FB4 0009EF14 41 82 00 34 */ beq lbl_800A1FE8 /* 800A1FB8 0009EF18 80 1A 00 00 */ lwz r0, 0(r26) /* 800A1FBC 0009EF1C 3B 3B 00 04 */ addi r25, r27, 4 /* 800A1FC0 0009EF20 7F 23 CB 78 */ mr r3, r25 /* 800A1FC4 0009EF24 38 9A 00 04 */ addi r4, r26, 4 /* 800A1FC8 0009EF28 90 1B 00 00 */ stw r0, 0(r27) /* 800A1FCC 0009EF2C 48 29 EE DD */ bl __ct__6CTokenFRC6CToken /* 800A1FD0 0009EF30 80 1A 00 0C */ lwz r0, 0xc(r26) /* 800A1FD4 0009EF34 90 19 00 08 */ stw r0, 8(r25) /* 800A1FD8 0009EF38 80 1A 00 10 */ lwz r0, 0x10(r26) /* 800A1FDC 0009EF3C 90 1B 00 10 */ stw r0, 0x10(r27) /* 800A1FE0 0009EF40 80 1A 00 14 */ lwz r0, 0x14(r26) /* 800A1FE4 0009EF44 90 1B 00 14 */ stw r0, 0x14(r27) lbl_800A1FE8: /* 800A1FE8 0009EF48 3B 7B 00 18 */ addi r27, r27, 0x18 /* 800A1FEC 0009EF4C 3B 5A 00 18 */ addi r26, r26, 0x18 lbl_800A1FF0: /* 800A1FF0 0009EF50 7C 1A E8 40 */ cmplw r26, r29 /* 800A1FF4 0009EF54 40 82 FF BC */ bne lbl_800A1FB0 /* 800A1FF8 0009EF58 80 1E 00 04 */ lwz r0, 4(r30) /* 800A1FFC 0009EF5C 83 5E 00 0C */ lwz r26, 0xc(r30) /* 800A2000 0009EF60 1C 00 00 18 */ mulli r0, r0, 0x18 /* 800A2004 0009EF64 7F 7A 02 14 */ add r27, r26, r0 /* 800A2008 0009EF68 48 00 00 2C */ b lbl_800A2034 lbl_800A200C: /* 800A200C 0009EF6C 28 1A 00 00 */ cmplwi r26, 0 /* 800A2010 0009EF70 41 82 00 20 */ beq lbl_800A2030 /* 800A2014 0009EF74 34 1A 00 04 */ addic. r0, r26, 4 /* 800A2018 0009EF78 41 82 00 18 */ beq lbl_800A2030 /* 800A201C 0009EF7C 34 1A 00 04 */ addic. r0, r26, 4 /* 800A2020 0009EF80 41 82 00 10 */ beq lbl_800A2030 /* 800A2024 0009EF84 38 7A 00 04 */ addi r3, r26, 4 /* 800A2028 0009EF88 38 80 00 00 */ li r4, 0 /* 800A202C 0009EF8C 48 29 EE 15 */ bl __dt__6CTokenFv lbl_800A2030: /* 800A2030 0009EF90 3B 5A 00 18 */ addi r26, r26, 0x18 lbl_800A2034: /* 800A2034 0009EF94 7C 1A D8 40 */ cmplw r26, r27 /* 800A2038 0009EF98 40 82 FF D4 */ bne lbl_800A200C /* 800A203C 0009EF9C 80 7E 00 0C */ lwz r3, 0xc(r30) /* 800A2040 0009EFA0 28 03 00 00 */ cmplwi r3, 0 /* 800A2044 0009EFA4 41 82 00 08 */ beq lbl_800A204C /* 800A2048 0009EFA8 48 27 38 E9 */ bl Free__7CMemoryFPCv lbl_800A204C: /* 800A204C 0009EFAC 93 9E 00 0C */ stw r28, 0xc(r30) /* 800A2050 0009EFB0 93 FE 00 08 */ stw r31, 8(r30) lbl_800A2054: /* 800A2054 0009EFB4 BB 21 00 24 */ lmw r25, 0x24(r1) /* 800A2058 0009EFB8 80 01 00 44 */ lwz r0, 0x44(r1) /* 800A205C 0009EFBC 7C 08 03 A6 */ mtlr r0 /* 800A2060 0009EFC0 38 21 00 40 */ addi r1, r1, 0x40 /* 800A2064 0009EFC4 4E 80 00 20 */ blr .global sub_800a2068 sub_800a2068: /* 800A2068 0009EFC8 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A206C 0009EFCC 7C 08 02 A6 */ mflr r0 /* 800A2070 0009EFD0 90 01 00 34 */ stw r0, 0x34(r1) /* 800A2074 0009EFD4 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A2078 0009EFD8 7C 9F 23 78 */ mr r31, r4 /* 800A207C 0009EFDC 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A2080 0009EFE0 7C 7E 1B 78 */ mr r30, r3 /* 800A2084 0009EFE4 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A2088 0009EFE8 80 03 00 08 */ lwz r0, 8(r3) /* 800A208C 0009EFEC 7C 1F 00 00 */ cmpw r31, r0 /* 800A2090 0009EFF0 40 81 00 A8 */ ble lbl_800A2138 /* 800A2094 0009EFF4 7F E3 FB 79 */ or. r3, r31, r31 /* 800A2098 0009EFF8 40 82 00 0C */ bne lbl_800A20A4 /* 800A209C 0009EFFC 3B A0 00 00 */ li r29, 0 /* 800A20A0 0009F000 48 00 00 18 */ b lbl_800A20B8 lbl_800A20A4: /* 800A20A4 0009F004 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A20A8 0009F008 38 A0 00 00 */ li r5, 0 /* 800A20AC 0009F00C 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A20B0 0009F010 48 27 37 69 */ bl __nwa__FUlPCcPCc /* 800A20B4 0009F014 7C 7D 1B 78 */ mr r29, r3 lbl_800A20B8: /* 800A20B8 0009F018 80 BE 00 0C */ lwz r5, 0xc(r30) /* 800A20BC 0009F01C 7F A4 EB 78 */ mr r4, r29 /* 800A20C0 0009F020 80 1E 00 04 */ lwz r0, 4(r30) /* 800A20C4 0009F024 90 A1 00 10 */ stw r5, 0x10(r1) /* 800A20C8 0009F028 7C 65 02 14 */ add r3, r5, r0 /* 800A20CC 0009F02C 7C 05 18 50 */ subf r0, r5, r3 /* 800A20D0 0009F030 90 61 00 08 */ stw r3, 8(r1) /* 800A20D4 0009F034 90 61 00 0C */ stw r3, 0xc(r1) /* 800A20D8 0009F038 90 A1 00 14 */ stw r5, 0x14(r1) /* 800A20DC 0009F03C 7C 09 03 A6 */ mtctr r0 /* 800A20E0 0009F040 7C 05 18 40 */ cmplw r5, r3 /* 800A20E4 0009F044 41 82 00 20 */ beq lbl_800A2104 lbl_800A20E8: /* 800A20E8 0009F048 28 04 00 00 */ cmplwi r4, 0 /* 800A20EC 0009F04C 41 82 00 0C */ beq lbl_800A20F8 /* 800A20F0 0009F050 88 05 00 00 */ lbz r0, 0(r5) /* 800A20F4 0009F054 98 04 00 00 */ stb r0, 0(r4) lbl_800A20F8: /* 800A20F8 0009F058 38 84 00 01 */ addi r4, r4, 1 /* 800A20FC 0009F05C 38 A5 00 01 */ addi r5, r5, 1 /* 800A2100 0009F060 42 00 FF E8 */ bdnz lbl_800A20E8 lbl_800A2104: /* 800A2104 0009F064 80 7E 00 0C */ lwz r3, 0xc(r30) /* 800A2108 0009F068 80 1E 00 04 */ lwz r0, 4(r30) /* 800A210C 0009F06C 7C 83 02 14 */ add r4, r3, r0 /* 800A2110 0009F070 7C 03 20 50 */ subf r0, r3, r4 /* 800A2114 0009F074 7C 09 03 A6 */ mtctr r0 /* 800A2118 0009F078 7C 03 20 40 */ cmplw r3, r4 /* 800A211C 0009F07C 41 82 00 08 */ beq lbl_800A2124 lbl_800A2120: /* 800A2120 0009F080 42 00 00 00 */ bdnz lbl_800A2120 lbl_800A2124: /* 800A2124 0009F084 28 03 00 00 */ cmplwi r3, 0 /* 800A2128 0009F088 41 82 00 08 */ beq lbl_800A2130 /* 800A212C 0009F08C 48 27 38 05 */ bl Free__7CMemoryFPCv lbl_800A2130: /* 800A2130 0009F090 93 BE 00 0C */ stw r29, 0xc(r30) /* 800A2134 0009F094 93 FE 00 08 */ stw r31, 8(r30) lbl_800A2138: /* 800A2138 0009F098 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A213C 0009F09C 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A2140 0009F0A0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A2144 0009F0A4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A2148 0009F0A8 7C 08 03 A6 */ mtlr r0 /* 800A214C 0009F0AC 38 21 00 30 */ addi r1, r1, 0x30 /* 800A2150 0009F0B0 4E 80 00 20 */ blr .global "reserve__Q24rstl67vectorFi" "reserve__Q24rstl67vectorFi": /* 800A2154 0009F0B4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A2158 0009F0B8 7C 08 02 A6 */ mflr r0 /* 800A215C 0009F0BC 90 01 00 34 */ stw r0, 0x34(r1) /* 800A2160 0009F0C0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A2164 0009F0C4 7C 9F 23 78 */ mr r31, r4 /* 800A2168 0009F0C8 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A216C 0009F0CC 7C 7E 1B 78 */ mr r30, r3 /* 800A2170 0009F0D0 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A2174 0009F0D4 80 03 00 08 */ lwz r0, 8(r3) /* 800A2178 0009F0D8 7C 1F 00 00 */ cmpw r31, r0 /* 800A217C 0009F0DC 40 81 00 CC */ ble lbl_800A2248 /* 800A2180 0009F0E0 1C 7F 00 14 */ mulli r3, r31, 0x14 /* 800A2184 0009F0E4 2C 03 00 00 */ cmpwi r3, 0 /* 800A2188 0009F0E8 40 82 00 0C */ bne lbl_800A2194 /* 800A218C 0009F0EC 3B A0 00 00 */ li r29, 0 /* 800A2190 0009F0F0 48 00 00 18 */ b lbl_800A21A8 lbl_800A2194: /* 800A2194 0009F0F4 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A2198 0009F0F8 38 A0 00 00 */ li r5, 0 /* 800A219C 0009F0FC 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A21A0 0009F100 48 27 36 79 */ bl __nwa__FUlPCcPCc /* 800A21A4 0009F104 7C 7D 1B 78 */ mr r29, r3 lbl_800A21A8: /* 800A21A8 0009F108 80 1E 00 04 */ lwz r0, 4(r30) /* 800A21AC 0009F10C 7F A4 EB 78 */ mr r4, r29 /* 800A21B0 0009F110 80 BE 00 0C */ lwz r5, 0xc(r30) /* 800A21B4 0009F114 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A21B8 0009F118 90 A1 00 10 */ stw r5, 0x10(r1) /* 800A21BC 0009F11C 7C 65 02 14 */ add r3, r5, r0 /* 800A21C0 0009F120 90 A1 00 14 */ stw r5, 0x14(r1) /* 800A21C4 0009F124 90 61 00 08 */ stw r3, 8(r1) /* 800A21C8 0009F128 90 61 00 0C */ stw r3, 0xc(r1) /* 800A21CC 0009F12C 48 00 00 3C */ b lbl_800A2208 lbl_800A21D0: /* 800A21D0 0009F130 28 04 00 00 */ cmplwi r4, 0 /* 800A21D4 0009F134 41 82 00 2C */ beq lbl_800A2200 /* 800A21D8 0009F138 C0 05 00 00 */ lfs f0, 0(r5) /* 800A21DC 0009F13C D0 04 00 00 */ stfs f0, 0(r4) /* 800A21E0 0009F140 80 05 00 04 */ lwz r0, 4(r5) /* 800A21E4 0009F144 90 04 00 04 */ stw r0, 4(r4) /* 800A21E8 0009F148 80 05 00 08 */ lwz r0, 8(r5) /* 800A21EC 0009F14C 90 04 00 08 */ stw r0, 8(r4) /* 800A21F0 0009F150 80 05 00 0C */ lwz r0, 0xc(r5) /* 800A21F4 0009F154 90 04 00 0C */ stw r0, 0xc(r4) /* 800A21F8 0009F158 80 05 00 10 */ lwz r0, 0x10(r5) /* 800A21FC 0009F15C 90 04 00 10 */ stw r0, 0x10(r4) lbl_800A2200: /* 800A2200 0009F160 38 84 00 14 */ addi r4, r4, 0x14 /* 800A2204 0009F164 38 A5 00 14 */ addi r5, r5, 0x14 lbl_800A2208: /* 800A2208 0009F168 7C 05 18 40 */ cmplw r5, r3 /* 800A220C 0009F16C 40 82 FF C4 */ bne lbl_800A21D0 /* 800A2210 0009F170 80 1E 00 04 */ lwz r0, 4(r30) /* 800A2214 0009F174 80 7E 00 0C */ lwz r3, 0xc(r30) /* 800A2218 0009F178 1C 00 00 14 */ mulli r0, r0, 0x14 /* 800A221C 0009F17C 7C 64 1B 78 */ mr r4, r3 /* 800A2220 0009F180 7C 03 02 14 */ add r0, r3, r0 /* 800A2224 0009F184 48 00 00 08 */ b lbl_800A222C lbl_800A2228: /* 800A2228 0009F188 38 84 00 14 */ addi r4, r4, 0x14 lbl_800A222C: /* 800A222C 0009F18C 7C 04 00 40 */ cmplw r4, r0 /* 800A2230 0009F190 40 82 FF F8 */ bne lbl_800A2228 /* 800A2234 0009F194 28 03 00 00 */ cmplwi r3, 0 /* 800A2238 0009F198 41 82 00 08 */ beq lbl_800A2240 /* 800A223C 0009F19C 48 27 36 F5 */ bl Free__7CMemoryFPCv lbl_800A2240: /* 800A2240 0009F1A0 93 BE 00 0C */ stw r29, 0xc(r30) /* 800A2244 0009F1A4 93 FE 00 08 */ stw r31, 8(r30) lbl_800A2248: /* 800A2248 0009F1A8 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A224C 0009F1AC 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A2250 0009F1B0 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A2254 0009F1B4 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A2258 0009F1B8 7C 08 03 A6 */ mtlr r0 /* 800A225C 0009F1BC 38 21 00 30 */ addi r1, r1, 0x30 /* 800A2260 0009F1C0 4E 80 00 20 */ blr .global "reserve__Q24rstl45vector<9CVector2f,Q24rstl17rmemory_allocator>Fi" "reserve__Q24rstl45vector<9CVector2f,Q24rstl17rmemory_allocator>Fi": /* 800A2264 0009F1C4 94 21 FF D0 */ stwu r1, -0x30(r1) /* 800A2268 0009F1C8 7C 08 02 A6 */ mflr r0 /* 800A226C 0009F1CC 90 01 00 34 */ stw r0, 0x34(r1) /* 800A2270 0009F1D0 93 E1 00 2C */ stw r31, 0x2c(r1) /* 800A2274 0009F1D4 7C 9F 23 78 */ mr r31, r4 /* 800A2278 0009F1D8 93 C1 00 28 */ stw r30, 0x28(r1) /* 800A227C 0009F1DC 7C 7E 1B 78 */ mr r30, r3 /* 800A2280 0009F1E0 93 A1 00 24 */ stw r29, 0x24(r1) /* 800A2284 0009F1E4 80 03 00 08 */ lwz r0, 8(r3) /* 800A2288 0009F1E8 7C 1F 00 00 */ cmpw r31, r0 /* 800A228C 0009F1EC 40 81 00 B0 */ ble lbl_800A233C /* 800A2290 0009F1F0 57 E3 18 39 */ rlwinm. r3, r31, 3, 0, 0x1c /* 800A2294 0009F1F4 40 82 00 0C */ bne lbl_800A22A0 /* 800A2298 0009F1F8 3B A0 00 00 */ li r29, 0 /* 800A229C 0009F1FC 48 00 00 18 */ b lbl_800A22B4 lbl_800A22A0: /* 800A22A0 0009F200 3C 80 80 3D */ lis r4, lbl_803CD960@ha /* 800A22A4 0009F204 38 A0 00 00 */ li r5, 0 /* 800A22A8 0009F208 38 84 D9 60 */ addi r4, r4, lbl_803CD960@l /* 800A22AC 0009F20C 48 27 35 6D */ bl __nwa__FUlPCcPCc /* 800A22B0 0009F210 7C 7D 1B 78 */ mr r29, r3 lbl_800A22B4: /* 800A22B4 0009F214 80 1E 00 04 */ lwz r0, 4(r30) /* 800A22B8 0009F218 7F A3 EB 78 */ mr r3, r29 /* 800A22BC 0009F21C 80 9E 00 0C */ lwz r4, 0xc(r30) /* 800A22C0 0009F220 54 00 18 38 */ slwi r0, r0, 3 /* 800A22C4 0009F224 7C 04 02 14 */ add r0, r4, r0 /* 800A22C8 0009F228 90 81 00 10 */ stw r4, 0x10(r1) /* 800A22CC 0009F22C 90 01 00 08 */ stw r0, 8(r1) /* 800A22D0 0009F230 90 01 00 0C */ stw r0, 0xc(r1) /* 800A22D4 0009F234 90 81 00 14 */ stw r4, 0x14(r1) /* 800A22D8 0009F238 48 00 00 24 */ b lbl_800A22FC lbl_800A22DC: /* 800A22DC 0009F23C 28 03 00 00 */ cmplwi r3, 0 /* 800A22E0 0009F240 41 82 00 14 */ beq lbl_800A22F4 /* 800A22E4 0009F244 C0 04 00 00 */ lfs f0, 0(r4) /* 800A22E8 0009F248 D0 03 00 00 */ stfs f0, 0(r3) /* 800A22EC 0009F24C C0 04 00 04 */ lfs f0, 4(r4) /* 800A22F0 0009F250 D0 03 00 04 */ stfs f0, 4(r3) lbl_800A22F4: /* 800A22F4 0009F254 38 63 00 08 */ addi r3, r3, 8 /* 800A22F8 0009F258 38 84 00 08 */ addi r4, r4, 8 lbl_800A22FC: /* 800A22FC 0009F25C 7C 04 00 40 */ cmplw r4, r0 /* 800A2300 0009F260 40 82 FF DC */ bne lbl_800A22DC /* 800A2304 0009F264 80 1E 00 04 */ lwz r0, 4(r30) /* 800A2308 0009F268 80 7E 00 0C */ lwz r3, 0xc(r30) /* 800A230C 0009F26C 54 00 18 38 */ slwi r0, r0, 3 /* 800A2310 0009F270 7C 64 1B 78 */ mr r4, r3 /* 800A2314 0009F274 7C 03 02 14 */ add r0, r3, r0 /* 800A2318 0009F278 48 00 00 08 */ b lbl_800A2320 lbl_800A231C: /* 800A231C 0009F27C 38 84 00 08 */ addi r4, r4, 8 lbl_800A2320: /* 800A2320 0009F280 7C 04 00 40 */ cmplw r4, r0 /* 800A2324 0009F284 40 82 FF F8 */ bne lbl_800A231C /* 800A2328 0009F288 28 03 00 00 */ cmplwi r3, 0 /* 800A232C 0009F28C 41 82 00 08 */ beq lbl_800A2334 /* 800A2330 0009F290 48 27 36 01 */ bl Free__7CMemoryFPCv lbl_800A2334: /* 800A2334 0009F294 93 BE 00 0C */ stw r29, 0xc(r30) /* 800A2338 0009F298 93 FE 00 08 */ stw r31, 8(r30) lbl_800A233C: /* 800A233C 0009F29C 80 01 00 34 */ lwz r0, 0x34(r1) /* 800A2340 0009F2A0 83 E1 00 2C */ lwz r31, 0x2c(r1) /* 800A2344 0009F2A4 83 C1 00 28 */ lwz r30, 0x28(r1) /* 800A2348 0009F2A8 83 A1 00 24 */ lwz r29, 0x24(r1) /* 800A234C 0009F2AC 7C 08 03 A6 */ mtlr r0 /* 800A2350 0009F2B0 38 21 00 30 */ addi r1, r1, 0x30 /* 800A2354 0009F2B4 4E 80 00 20 */ blr .global "__sort3__4rstlFRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfo29CMapObjectSortInfoGreaterThan" "__sort3__4rstlFRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfoRQ29CMapWorld18CMapObjectSortInfo29CMapObjectSortInfoGreaterThan": /* 800A2358 0009F2B8 80 04 00 08 */ lwz r0, 8(r4) /* 800A235C 0009F2BC 81 23 00 08 */ lwz r9, 8(r3) /* 800A2360 0009F2C0 54 07 00 1E */ rlwinm r7, r0, 0, 0, 0xf /* 800A2364 0009F2C4 55 20 00 1E */ rlwinm r0, r9, 0, 0, 0xf /* 800A2368 0009F2C8 7C 07 00 00 */ cmpw r7, r0 /* 800A236C 0009F2CC 40 82 00 1C */ bne lbl_800A2388 /* 800A2370 0009F2D0 C0 24 00 00 */ lfs f1, 0(r4) /* 800A2374 0009F2D4 C0 03 00 00 */ lfs f0, 0(r3) /* 800A2378 0009F2D8 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800A237C 0009F2DC 7C 00 00 26 */ mfcr r0 /* 800A2380 0009F2E0 54 00 17 FE */ rlwinm r0, r0, 2, 0x1f, 0x1f /* 800A2384 0009F2E4 48 00 00 18 */ b lbl_800A239C lbl_800A2388: /* 800A2388 0009F2E8 7C E0 02 78 */ xor r0, r7, r0 /* 800A238C 0009F2EC 7C 06 0E 70 */ srawi r6, r0, 1 /* 800A2390 0009F2F0 7C 00 38 38 */ and r0, r0, r7 /* 800A2394 0009F2F4 7C 00 30 50 */ subf r0, r0, r6 /* 800A2398 0009F2F8 54 00 0F FE */ srwi r0, r0, 0x1f lbl_800A239C: /* 800A239C 0009F2FC 54 00 06 3F */ clrlwi. r0, r0, 0x18 /* 800A23A0 0009F300 41 82 00 50 */ beq lbl_800A23F0 /* 800A23A4 0009F304 C0 23 00 00 */ lfs f1, 0(r3) /* 800A23A8 0009F308 80 C3 00 04 */ lwz r6, 4(r3) /* 800A23AC 0009F30C 80 E3 00 0C */ lwz r7, 0xc(r3) /* 800A23B0 0009F310 81 03 00 10 */ lwz r8, 0x10(r3) /* 800A23B4 0009F314 C0 04 00 00 */ lfs f0, 0(r4) /* 800A23B8 0009F318 D0 03 00 00 */ stfs f0, 0(r3) /* 800A23BC 0009F31C 80 04 00 04 */ lwz r0, 4(r4) /* 800A23C0 0009F320 90 03 00 04 */ stw r0, 4(r3) /* 800A23C4 0009F324 80 04 00 08 */ lwz r0, 8(r4) /* 800A23C8 0009F328 90 03 00 08 */ stw r0, 8(r3) /* 800A23CC 0009F32C 80 04 00 0C */ lwz r0, 0xc(r4) /* 800A23D0 0009F330 90 03 00 0C */ stw r0, 0xc(r3) /* 800A23D4 0009F334 80 04 00 10 */ lwz r0, 0x10(r4) /* 800A23D8 0009F338 90 03 00 10 */ stw r0, 0x10(r3) /* 800A23DC 0009F33C D0 24 00 00 */ stfs f1, 0(r4) /* 800A23E0 0009F340 90 C4 00 04 */ stw r6, 4(r4) /* 800A23E4 0009F344 91 24 00 08 */ stw r9, 8(r4) /* 800A23E8 0009F348 90 E4 00 0C */ stw r7, 0xc(r4) /* 800A23EC 0009F34C 91 04 00 10 */ stw r8, 0x10(r4) lbl_800A23F0: /* 800A23F0 0009F350 80 05 00 08 */ lwz r0, 8(r5) /* 800A23F4 0009F354 80 C4 00 08 */ lwz r6, 8(r4) /* 800A23F8 0009F358 54 08 00 1E */ rlwinm r8, r0, 0, 0, 0xf /* 800A23FC 0009F35C 54 C6 00 1E */ rlwinm r6, r6, 0, 0, 0xf /* 800A2400 0009F360 7C 08 30 00 */ cmpw r8, r6 /* 800A2404 0009F364 40 82 00 1C */ bne lbl_800A2420 /* 800A2408 0009F368 C0 25 00 00 */ lfs f1, 0(r5) /* 800A240C 0009F36C C0 04 00 00 */ lfs f0, 0(r4) /* 800A2410 0009F370 FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800A2414 0009F374 7C C0 00 26 */ mfcr r6 /* 800A2418 0009F378 54 C6 17 FE */ rlwinm r6, r6, 2, 0x1f, 0x1f /* 800A241C 0009F37C 48 00 00 18 */ b lbl_800A2434 lbl_800A2420: /* 800A2420 0009F380 7D 06 32 78 */ xor r6, r8, r6 /* 800A2424 0009F384 7C C7 0E 70 */ srawi r7, r6, 1 /* 800A2428 0009F388 7C C6 40 38 */ and r6, r6, r8 /* 800A242C 0009F38C 7C C6 38 50 */ subf r6, r6, r7 /* 800A2430 0009F390 54 C6 0F FE */ srwi r6, r6, 0x1f lbl_800A2434: /* 800A2434 0009F394 54 C6 06 3F */ clrlwi. r6, r6, 0x18 /* 800A2438 0009F398 4D 82 00 20 */ beqlr /* 800A243C 0009F39C C0 25 00 00 */ lfs f1, 0(r5) /* 800A2440 0009F3A0 54 0A 00 1E */ rlwinm r10, r0, 0, 0, 0xf /* 800A2444 0009F3A4 80 E5 00 04 */ lwz r7, 4(r5) /* 800A2448 0009F3A8 81 05 00 0C */ lwz r8, 0xc(r5) /* 800A244C 0009F3AC 81 25 00 10 */ lwz r9, 0x10(r5) /* 800A2450 0009F3B0 C0 04 00 00 */ lfs f0, 0(r4) /* 800A2454 0009F3B4 D0 05 00 00 */ stfs f0, 0(r5) /* 800A2458 0009F3B8 80 C4 00 04 */ lwz r6, 4(r4) /* 800A245C 0009F3BC 90 C5 00 04 */ stw r6, 4(r5) /* 800A2460 0009F3C0 80 C4 00 08 */ lwz r6, 8(r4) /* 800A2464 0009F3C4 90 C5 00 08 */ stw r6, 8(r5) /* 800A2468 0009F3C8 80 C4 00 0C */ lwz r6, 0xc(r4) /* 800A246C 0009F3CC 90 C5 00 0C */ stw r6, 0xc(r5) /* 800A2470 0009F3D0 80 C4 00 10 */ lwz r6, 0x10(r4) /* 800A2474 0009F3D4 90 C5 00 10 */ stw r6, 0x10(r5) /* 800A2478 0009F3D8 80 A3 00 08 */ lwz r5, 8(r3) /* 800A247C 0009F3DC 54 A5 00 1E */ rlwinm r5, r5, 0, 0, 0xf /* 800A2480 0009F3E0 7C 0A 28 00 */ cmpw r10, r5 /* 800A2484 0009F3E4 40 82 00 18 */ bne lbl_800A249C /* 800A2488 0009F3E8 C0 03 00 00 */ lfs f0, 0(r3) /* 800A248C 0009F3EC FC 01 00 40 */ fcmpo cr0, f1, f0 /* 800A2490 0009F3F0 7C A0 00 26 */ mfcr r5 /* 800A2494 0009F3F4 54 A5 17 FE */ rlwinm r5, r5, 2, 0x1f, 0x1f /* 800A2498 0009F3F8 48 00 00 18 */ b lbl_800A24B0 lbl_800A249C: /* 800A249C 0009F3FC 7D 45 2A 78 */ xor r5, r10, r5 /* 800A24A0 0009F400 7C A6 0E 70 */ srawi r6, r5, 1 /* 800A24A4 0009F404 7C A5 50 38 */ and r5, r5, r10 /* 800A24A8 0009F408 7C A5 30 50 */ subf r5, r5, r6 /* 800A24AC 0009F40C 54 A5 0F FE */ srwi r5, r5, 0x1f lbl_800A24B0: /* 800A24B0 0009F410 54 A5 06 3F */ clrlwi. r5, r5, 0x18 /* 800A24B4 0009F414 41 82 00 44 */ beq lbl_800A24F8 /* 800A24B8 0009F418 C0 03 00 00 */ lfs f0, 0(r3) /* 800A24BC 0009F41C D0 04 00 00 */ stfs f0, 0(r4) /* 800A24C0 0009F420 80 A3 00 04 */ lwz r5, 4(r3) /* 800A24C4 0009F424 90 A4 00 04 */ stw r5, 4(r4) /* 800A24C8 0009F428 80 A3 00 08 */ lwz r5, 8(r3) /* 800A24CC 0009F42C 90 A4 00 08 */ stw r5, 8(r4) /* 800A24D0 0009F430 80 A3 00 0C */ lwz r5, 0xc(r3) /* 800A24D4 0009F434 90 A4 00 0C */ stw r5, 0xc(r4) /* 800A24D8 0009F438 80 A3 00 10 */ lwz r5, 0x10(r3) /* 800A24DC 0009F43C 90 A4 00 10 */ stw r5, 0x10(r4) /* 800A24E0 0009F440 D0 23 00 00 */ stfs f1, 0(r3) /* 800A24E4 0009F444 90 E3 00 04 */ stw r7, 4(r3) /* 800A24E8 0009F448 90 03 00 08 */ stw r0, 8(r3) /* 800A24EC 0009F44C 91 03 00 0C */ stw r8, 0xc(r3) /* 800A24F0 0009F450 91 23 00 10 */ stw r9, 0x10(r3) /* 800A24F4 0009F454 4E 80 00 20 */ blr lbl_800A24F8: /* 800A24F8 0009F458 D0 24 00 00 */ stfs f1, 0(r4) /* 800A24FC 0009F45C 90 E4 00 04 */ stw r7, 4(r4) /* 800A2500 0009F460 90 04 00 08 */ stw r0, 8(r4) /* 800A2504 0009F464 91 04 00 0C */ stw r8, 0xc(r4) /* 800A2508 0009F468 91 24 00 10 */ stw r9, 0x10(r4) /* 800A250C 0009F46C 4E 80 00 20 */ blr .global "__insertion_sort,Q24rstl17rmemory_allocator>,29CMapObjectSortInfoGreaterThan>__4rstlFQ24rstl154pointer_iterator,Q24rstl17rmemory_allocator>Q24rstl154pointer_iterator,Q24rstl17rmemory_allocator>,29CMapObjectSortInfoGreaterThan>__4rstlFQ24rstl154pointer_iterator,Q24rstl17rmemory_allocator>Q24rstl154pointer_iterator