prime/asm/WorldFormat/CCollidableOBBTreeGroup.s

2053 lines
106 KiB
ArmAsm

.include "macros.inc"
.section .data
.balign 8
.global __vt__23CCollidableOBBTreeGroup
__vt__23CCollidableOBBTreeGroup:
# ROM: 0x3E9470
.4byte 0
.4byte 0
.4byte GetTableIndex__23CCollidableOBBTreeGroupCFv
.4byte SetMaterial__19CCollisionPrimitiveFRC13CMaterialList
.4byte GetMaterial__19CCollisionPrimitiveCFv
.4byte CalculateAABox__23CCollidableOBBTreeGroupCFRC12CTransform4f
.4byte CalculateLocalAABox__23CCollidableOBBTreeGroupCFv
.4byte GetPrimType__23CCollidableOBBTreeGroupCFv
.4byte __dt__23CCollidableOBBTreeGroupFv
.4byte CastRayInternal__23CCollidableOBBTreeGroupCFRC25CInternalRayCastStructure
.global lbl_803EC498
lbl_803EC498:
# ROM: 0x3E9498
.4byte 0
.4byte 0
.4byte "__dt__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>Fv"
.4byte 0
.section .sdata
.balign 8
.global lbl_805A8638
lbl_805A8638:
# ROM: 0x3F5FD8
.4byte 0xFFFFFFFF
.4byte 0
.section .text, "ax"
.global GetTableIndex__23CCollidableOBBTreeGroupCFv
GetTableIndex__23CCollidableOBBTreeGroupCFv:
/* 802AC744 002A96A4 80 6D 9A 78 */ lwz r3, lbl_805A8638@sda21(r13)
/* 802AC748 002A96A8 4E 80 00 20 */ blr
.global GetPrimType__23CCollidableOBBTreeGroupCFv
GetPrimType__23CCollidableOBBTreeGroupCFv:
/* 802AC74C 002A96AC 3C 60 4F 42 */ lis r3, 0x4F425447@ha
/* 802AC750 002A96B0 38 63 54 47 */ addi r3, r3, 0x4F425447@l
/* 802AC754 002A96B4 4E 80 00 20 */ blr
.global CalculateLocalAABox__23CCollidableOBBTreeGroupCFv
CalculateLocalAABox__23CCollidableOBBTreeGroupCFv:
/* 802AC758 002A96B8 80 84 00 10 */ lwz r4, 0x10(r4)
/* 802AC75C 002A96BC C0 04 00 20 */ lfs f0, 0x20(r4)
/* 802AC760 002A96C0 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AC764 002A96C4 C0 04 00 24 */ lfs f0, 0x24(r4)
/* 802AC768 002A96C8 D0 03 00 04 */ stfs f0, 4(r3)
/* 802AC76C 002A96CC C0 04 00 28 */ lfs f0, 0x28(r4)
/* 802AC770 002A96D0 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AC774 002A96D4 C0 04 00 2C */ lfs f0, 0x2c(r4)
/* 802AC778 002A96D8 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AC77C 002A96DC C0 04 00 30 */ lfs f0, 0x30(r4)
/* 802AC780 002A96E0 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AC784 002A96E4 C0 04 00 34 */ lfs f0, 0x34(r4)
/* 802AC788 002A96E8 D0 03 00 14 */ stfs f0, 0x14(r3)
/* 802AC78C 002A96EC 4E 80 00 20 */ blr
.global CalculateAABox__23CCollidableOBBTreeGroupCFRC12CTransform4f
CalculateAABox__23CCollidableOBBTreeGroupCFRC12CTransform4f:
/* 802AC790 002A96F0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AC794 002A96F4 7C 08 02 A6 */ mflr r0
/* 802AC798 002A96F8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AC79C 002A96FC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AC7A0 002A9700 7C 7F 1B 78 */ mr r31, r3
/* 802AC7A4 002A9704 80 84 00 10 */ lwz r4, 0x10(r4)
/* 802AC7A8 002A9708 38 84 00 20 */ addi r4, r4, 0x20
/* 802AC7AC 002A970C 48 08 B1 51 */ bl GetTransformedAABox__6CAABoxCFRC12CTransform4f
/* 802AC7B0 002A9710 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AC7B4 002A9714 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AC7B8 002A9718 7C 08 03 A6 */ mtlr r0
/* 802AC7BC 002A971C 38 21 00 10 */ addi r1, r1, 0x10
/* 802AC7C0 002A9720 4E 80 00 20 */ blr
.global CollideMovingSphere__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo
CollideMovingSphere__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo:
/* 802AC7C4 002A9724 94 21 FD D0 */ stwu r1, -0x230(r1)
/* 802AC7C8 002A9728 7C 08 02 A6 */ mflr r0
/* 802AC7CC 002A972C 90 01 02 34 */ stw r0, 0x234(r1)
/* 802AC7D0 002A9730 DB E1 02 20 */ stfd f31, 0x220(r1)
/* 802AC7D4 002A9734 F3 E1 02 28 */ psq_st f31, 552(r1), 0, qr0
/* 802AC7D8 002A9738 DB C1 02 10 */ stfd f30, 0x210(r1)
/* 802AC7DC 002A973C F3 C1 02 18 */ psq_st f30, 536(r1), 0, qr0
/* 802AC7E0 002A9740 DB A1 02 00 */ stfd f29, 0x200(r1)
/* 802AC7E4 002A9744 F3 A1 02 08 */ psq_st f29, 520(r1), 0, qr0
/* 802AC7E8 002A9748 BE C1 01 D8 */ stmw r22, 0x1d8(r1)
/* 802AC7EC 002A974C 7C 7C 1B 78 */ mr r28, r3
/* 802AC7F0 002A9750 7C 9D 23 78 */ mr r29, r4
/* 802AC7F4 002A9754 83 03 00 38 */ lwz r24, 0x38(r3)
/* 802AC7F8 002A9758 7C BE 2B 78 */ mr r30, r5
/* 802AC7FC 002A975C 80 83 00 00 */ lwz r4, 0(r3)
/* 802AC800 002A9760 7C DF 33 78 */ mr r31, r6
/* 802AC804 002A9764 38 61 00 28 */ addi r3, r1, 0x28
/* 802AC808 002A9768 38 BC 00 08 */ addi r5, r28, 8
/* 802AC80C 002A976C 48 02 7B 49 */ bl Transform__17CCollidableSphereCFRC12CTransform4f
/* 802AC810 002A9770 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 802AC814 002A9774 38 61 01 A0 */ addi r3, r1, 0x1a0
/* 802AC818 002A9778 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802AC81C 002A977C 38 9C 00 40 */ addi r4, r28, 0x40
/* 802AC820 002A9780 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802AC824 002A9784 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802AC828 002A9788 D0 61 00 38 */ stfs f3, 0x38(r1)
/* 802AC82C 002A978C D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 802AC830 002A9790 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 802AC834 002A9794 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 802AC838 002A9798 48 06 63 3D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AC83C 002A979C 38 61 00 D4 */ addi r3, r1, 0xd4
/* 802AC840 002A97A0 38 81 01 A0 */ addi r4, r1, 0x1a0
/* 802AC844 002A97A4 48 06 64 59 */ bl GetQuickInverse__12CTransform4fCFv
/* 802AC848 002A97A8 38 61 01 04 */ addi r3, r1, 0x104
/* 802AC84C 002A97AC 38 81 00 D4 */ addi r4, r1, 0xd4
/* 802AC850 002A97B0 38 BC 00 08 */ addi r5, r28, 8
/* 802AC854 002A97B4 48 06 60 FD */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AC858 002A97B8 38 61 01 70 */ addi r3, r1, 0x170
/* 802AC85C 002A97BC 38 81 01 04 */ addi r4, r1, 0x104
/* 802AC860 002A97C0 48 06 63 15 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AC864 002A97C4 80 9C 00 00 */ lwz r4, 0(r28)
/* 802AC868 002A97C8 38 61 00 48 */ addi r3, r1, 0x48
/* 802AC86C 002A97CC 81 84 00 00 */ lwz r12, 0(r4)
/* 802AC870 002A97D0 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AC874 002A97D4 7D 89 03 A6 */ mtctr r12
/* 802AC878 002A97D8 4E 80 04 21 */ bctrl
/* 802AC87C 002A97DC C0 41 00 48 */ lfs f2, 0x48(r1)
/* 802AC880 002A97E0 38 61 00 80 */ addi r3, r1, 0x80
/* 802AC884 002A97E4 C0 21 00 4C */ lfs f1, 0x4c(r1)
/* 802AC888 002A97E8 38 81 00 1C */ addi r4, r1, 0x1c
/* 802AC88C 002A97EC C0 01 00 50 */ lfs f0, 0x50(r1)
/* 802AC890 002A97F0 C0 A1 00 54 */ lfs f5, 0x54(r1)
/* 802AC894 002A97F4 C0 81 00 58 */ lfs f4, 0x58(r1)
/* 802AC898 002A97F8 C0 61 00 5C */ lfs f3, 0x5c(r1)
/* 802AC89C 002A97FC D0 41 00 80 */ stfs f2, 0x80(r1)
/* 802AC8A0 002A9800 C0 5D 00 00 */ lfs f2, 0(r29)
/* 802AC8A4 002A9804 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 802AC8A8 002A9808 C0 3D 00 04 */ lfs f1, 4(r29)
/* 802AC8AC 002A980C D0 01 00 88 */ stfs f0, 0x88(r1)
/* 802AC8B0 002A9810 C0 1D 00 08 */ lfs f0, 8(r29)
/* 802AC8B4 002A9814 D0 A1 00 8C */ stfs f5, 0x8c(r1)
/* 802AC8B8 002A9818 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 802AC8BC 002A981C D0 61 00 94 */ stfs f3, 0x94(r1)
/* 802AC8C0 002A9820 C8 DE 00 00 */ lfd f6, 0(r30)
/* 802AC8C4 002A9824 FC C0 30 18 */ frsp f6, f6
/* 802AC8C8 002A9828 EF A6 00 B2 */ fmuls f29, f6, f2
/* 802AC8CC 002A982C EF C6 00 72 */ fmuls f30, f6, f1
/* 802AC8D0 002A9830 EF E6 00 32 */ fmuls f31, f6, f0
/* 802AC8D4 002A9834 EC 05 E8 2A */ fadds f0, f5, f29
/* 802AC8D8 002A9838 EC 44 F0 2A */ fadds f2, f4, f30
/* 802AC8DC 002A983C EC 23 F8 2A */ fadds f1, f3, f31
/* 802AC8E0 002A9840 D0 01 00 1C */ stfs f0, 0x1c(r1)
/* 802AC8E4 002A9844 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 802AC8E8 002A9848 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 802AC8EC 002A984C 48 08 B2 1D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AC8F0 002A9850 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 802AC8F4 002A9854 38 61 00 80 */ addi r3, r1, 0x80
/* 802AC8F8 002A9858 C0 21 00 88 */ lfs f1, 0x88(r1)
/* 802AC8FC 002A985C 38 81 00 10 */ addi r4, r1, 0x10
/* 802AC900 002A9860 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 802AC904 002A9864 EC 42 F0 2A */ fadds f2, f2, f30
/* 802AC908 002A9868 EC 21 F8 2A */ fadds f1, f1, f31
/* 802AC90C 002A986C EC 00 E8 2A */ fadds f0, f0, f29
/* 802AC910 002A9870 D0 41 00 14 */ stfs f2, 0x14(r1)
/* 802AC914 002A9874 D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802AC918 002A9878 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802AC91C 002A987C 48 08 B1 ED */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802AC920 002A9880 38 61 00 98 */ addi r3, r1, 0x98
/* 802AC924 002A9884 38 81 00 80 */ addi r4, r1, 0x80
/* 802AC928 002A9888 38 A1 01 70 */ addi r5, r1, 0x170
/* 802AC92C 002A988C 48 02 93 F1 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802AC930 002A9890 38 61 01 34 */ addi r3, r1, 0x134
/* 802AC934 002A9894 38 81 00 98 */ addi r4, r1, 0x98
/* 802AC938 002A9898 48 06 62 3D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AC93C 002A989C C0 41 00 C8 */ lfs f2, 0xc8(r1)
/* 802AC940 002A98A0 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802AC944 002A98A4 C0 21 00 CC */ lfs f1, 0xcc(r1)
/* 802AC948 002A98A8 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802AC94C 002A98AC C0 01 00 D0 */ lfs f0, 0xd0(r1)
/* 802AC950 002A98B0 3B 44 C4 48 */ addi r26, r4, lbl_803EC448@l
/* 802AC954 002A98B4 D0 41 01 64 */ stfs f2, 0x164(r1)
/* 802AC958 002A98B8 3B 63 97 E4 */ addi r27, r3, __vt__19CCollisionPrimitive@l
/* 802AC95C 002A98BC 3A E0 00 00 */ li r23, 0
/* 802AC960 002A98C0 3A C0 00 00 */ li r22, 0
/* 802AC964 002A98C4 D0 21 01 68 */ stfs f1, 0x168(r1)
/* 802AC968 002A98C8 D0 01 01 6C */ stfs f0, 0x16c(r1)
/* 802AC96C 002A98CC 48 00 00 9C */ b lbl_802ACA08
lbl_802AC970:
/* 802AC970 002A98D0 7F 03 C3 78 */ mr r3, r24
/* 802AC974 002A98D4 81 98 00 00 */ lwz r12, 0(r24)
/* 802AC978 002A98D8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AC97C 002A98DC 7D 89 03 A6 */ mtctr r12
/* 802AC980 002A98E0 4E 80 04 21 */ bctrl
/* 802AC984 002A98E4 7C 79 1B 78 */ mr r25, r3
/* 802AC988 002A98E8 7F 03 C3 78 */ mr r3, r24
/* 802AC98C 002A98EC 7E C4 B3 78 */ mr r4, r22
/* 802AC990 002A98F0 48 00 0F BD */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802AC994 002A98F4 7C 64 1B 78 */ mr r4, r3
/* 802AC998 002A98F8 7F 25 CB 78 */ mr r5, r25
/* 802AC99C 002A98FC 38 61 00 60 */ addi r3, r1, 0x60
/* 802AC9A0 002A9900 4B FF FD 45 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802AC9A4 002A9904 4B FF A6 9D */ bl ResetInternalCounters__20CMetroidAreaColliderFv
/* 802AC9A8 002A9908 80 7C 00 00 */ lwz r3, 0(r28)
/* 802AC9AC 002A990C 80 81 00 70 */ lwz r4, 0x70(r1)
/* 802AC9B0 002A9910 81 83 00 00 */ lwz r12, 0(r3)
/* 802AC9B4 002A9914 83 24 00 88 */ lwz r25, 0x88(r4)
/* 802AC9B8 002A9918 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AC9BC 002A991C 7D 89 03 A6 */ mtctr r12
/* 802AC9C0 002A9920 4E 80 04 21 */ bctrl
/* 802AC9C4 002A9924 93 C1 00 08 */ stw r30, 8(r1)
/* 802AC9C8 002A9928 7C 68 1B 78 */ mr r8, r3
/* 802AC9CC 002A992C 7F 24 CB 78 */ mr r4, r25
/* 802AC9D0 002A9930 7F AA EB 78 */ mr r10, r29
/* 802AC9D4 002A9934 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AC9D8 002A9938 38 61 00 60 */ addi r3, r1, 0x60
/* 802AC9DC 002A993C 38 A1 01 A0 */ addi r5, r1, 0x1a0
/* 802AC9E0 002A9940 38 C1 00 38 */ addi r6, r1, 0x38
/* 802AC9E4 002A9944 81 3C 00 04 */ lwz r9, 4(r28)
/* 802AC9E8 002A9948 38 E1 01 34 */ addi r7, r1, 0x134
/* 802AC9EC 002A994C 4B FF E7 59 */ bl SphereCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterRC9CVector3fRdR14CCollisionInfo
/* 802AC9F0 002A9950 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AC9F4 002A9954 41 82 00 08 */ beq lbl_802AC9FC
/* 802AC9F8 002A9958 3A E0 00 01 */ li r23, 1
lbl_802AC9FC:
/* 802AC9FC 002A995C 93 41 00 60 */ stw r26, 0x60(r1)
/* 802ACA00 002A9960 3A D6 00 01 */ addi r22, r22, 1
/* 802ACA04 002A9964 93 61 00 60 */ stw r27, 0x60(r1)
lbl_802ACA08:
/* 802ACA08 002A9968 80 78 00 10 */ lwz r3, 0x10(r24)
/* 802ACA0C 002A996C 80 03 00 04 */ lwz r0, 4(r3)
/* 802ACA10 002A9970 7C 16 00 00 */ cmpw r22, r0
/* 802ACA14 002A9974 41 80 FF 5C */ blt lbl_802AC970
/* 802ACA18 002A9978 7E E3 BB 78 */ mr r3, r23
/* 802ACA1C 002A997C E3 E1 02 28 */ psq_l f31, 552(r1), 0, qr0
/* 802ACA20 002A9980 CB E1 02 20 */ lfd f31, 0x220(r1)
/* 802ACA24 002A9984 E3 C1 02 18 */ psq_l f30, 536(r1), 0, qr0
/* 802ACA28 002A9988 CB C1 02 10 */ lfd f30, 0x210(r1)
/* 802ACA2C 002A998C E3 A1 02 08 */ psq_l f29, 520(r1), 0, qr0
/* 802ACA30 002A9990 CB A1 02 00 */ lfd f29, 0x200(r1)
/* 802ACA34 002A9994 BA C1 01 D8 */ lmw r22, 0x1d8(r1)
/* 802ACA38 002A9998 80 01 02 34 */ lwz r0, 0x234(r1)
/* 802ACA3C 002A999C 7C 08 03 A6 */ mtlr r0
/* 802ACA40 002A99A0 38 21 02 30 */ addi r1, r1, 0x230
/* 802ACA44 002A99A4 4E 80 00 20 */ blr
.global CollideMovingAABox__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo
CollideMovingAABox__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureRC9CVector3fRdR14CCollisionInfo:
/* 802ACA48 002A99A8 94 21 F6 C0 */ stwu r1, -0x940(r1)
/* 802ACA4C 002A99AC 7C 08 02 A6 */ mflr r0
/* 802ACA50 002A99B0 90 01 09 44 */ stw r0, 0x944(r1)
/* 802ACA54 002A99B4 DB E1 09 30 */ stfd f31, 0x930(r1)
/* 802ACA58 002A99B8 F3 E1 09 38 */ psq_st f31, -1736(r1), 0, qr0
/* 802ACA5C 002A99BC DB C1 09 20 */ stfd f30, 0x920(r1)
/* 802ACA60 002A99C0 F3 C1 09 28 */ psq_st f30, -1752(r1), 0, qr0
/* 802ACA64 002A99C4 DB A1 09 10 */ stfd f29, 0x910(r1)
/* 802ACA68 002A99C8 F3 A1 09 18 */ psq_st f29, -1768(r1), 0, qr0
/* 802ACA6C 002A99CC BE C1 08 E8 */ stmw r22, 0x8e8(r1)
/* 802ACA70 002A99D0 7C 7A 1B 78 */ mr r26, r3
/* 802ACA74 002A99D4 7C 9B 23 78 */ mr r27, r4
/* 802ACA78 002A99D8 80 83 00 00 */ lwz r4, 0(r3)
/* 802ACA7C 002A99DC 7C BC 2B 78 */ mr r28, r5
/* 802ACA80 002A99E0 7C DD 33 78 */ mr r29, r6
/* 802ACA84 002A99E4 38 61 00 48 */ addi r3, r1, 0x48
/* 802ACA88 002A99E8 81 84 00 00 */ lwz r12, 0(r4)
/* 802ACA8C 002A99EC 38 BA 00 08 */ addi r5, r26, 8
/* 802ACA90 002A99F0 83 FA 00 38 */ lwz r31, 0x38(r26)
/* 802ACA94 002A99F4 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802ACA98 002A99F8 7D 89 03 A6 */ mtctr r12
/* 802ACA9C 002A99FC 4E 80 04 21 */ bctrl
/* 802ACAA0 002A9A00 C0 A1 00 48 */ lfs f5, 0x48(r1)
/* 802ACAA4 002A9A04 38 61 01 B8 */ addi r3, r1, 0x1b8
/* 802ACAA8 002A9A08 C0 81 00 4C */ lfs f4, 0x4c(r1)
/* 802ACAAC 002A9A0C 38 9A 00 40 */ addi r4, r26, 0x40
/* 802ACAB0 002A9A10 C0 61 00 50 */ lfs f3, 0x50(r1)
/* 802ACAB4 002A9A14 C0 41 00 54 */ lfs f2, 0x54(r1)
/* 802ACAB8 002A9A18 C0 21 00 58 */ lfs f1, 0x58(r1)
/* 802ACABC 002A9A1C C0 01 00 5C */ lfs f0, 0x5c(r1)
/* 802ACAC0 002A9A20 D0 A1 00 98 */ stfs f5, 0x98(r1)
/* 802ACAC4 002A9A24 D0 81 00 9C */ stfs f4, 0x9c(r1)
/* 802ACAC8 002A9A28 D0 61 00 A0 */ stfs f3, 0xa0(r1)
/* 802ACACC 002A9A2C D0 41 00 A4 */ stfs f2, 0xa4(r1)
/* 802ACAD0 002A9A30 D0 21 00 A8 */ stfs f1, 0xa8(r1)
/* 802ACAD4 002A9A34 D0 01 00 AC */ stfs f0, 0xac(r1)
/* 802ACAD8 002A9A38 48 06 60 9D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACADC 002A9A3C 38 61 00 EC */ addi r3, r1, 0xec
/* 802ACAE0 002A9A40 38 81 01 B8 */ addi r4, r1, 0x1b8
/* 802ACAE4 002A9A44 48 06 61 B9 */ bl GetQuickInverse__12CTransform4fCFv
/* 802ACAE8 002A9A48 38 61 01 1C */ addi r3, r1, 0x11c
/* 802ACAEC 002A9A4C 38 81 00 EC */ addi r4, r1, 0xec
/* 802ACAF0 002A9A50 38 BA 00 08 */ addi r5, r26, 8
/* 802ACAF4 002A9A54 48 06 5E 5D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802ACAF8 002A9A58 38 61 01 88 */ addi r3, r1, 0x188
/* 802ACAFC 002A9A5C 38 81 01 1C */ addi r4, r1, 0x11c
/* 802ACB00 002A9A60 48 06 60 75 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACB04 002A9A64 7F 65 DB 78 */ mr r5, r27
/* 802ACB08 002A9A68 38 61 01 E8 */ addi r3, r1, 0x1e8
/* 802ACB0C 002A9A6C 38 81 00 98 */ addi r4, r1, 0x98
/* 802ACB10 002A9A70 4B FF 65 8D */ bl __ct__Q220CMetroidAreaCollider22CMovingAABoxComponentsFRC6CAABoxRC9CVector3f
/* 802ACB14 002A9A74 80 9A 00 00 */ lwz r4, 0(r26)
/* 802ACB18 002A9A78 38 61 00 30 */ addi r3, r1, 0x30
/* 802ACB1C 002A9A7C 81 84 00 00 */ lwz r12, 0(r4)
/* 802ACB20 002A9A80 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802ACB24 002A9A84 7D 89 03 A6 */ mtctr r12
/* 802ACB28 002A9A88 4E 80 04 21 */ bctrl
/* 802ACB2C 002A9A8C C0 41 00 30 */ lfs f2, 0x30(r1)
/* 802ACB30 002A9A90 38 61 00 80 */ addi r3, r1, 0x80
/* 802ACB34 002A9A94 C0 21 00 34 */ lfs f1, 0x34(r1)
/* 802ACB38 002A9A98 38 81 00 24 */ addi r4, r1, 0x24
/* 802ACB3C 002A9A9C C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802ACB40 002A9AA0 C0 A1 00 3C */ lfs f5, 0x3c(r1)
/* 802ACB44 002A9AA4 C0 81 00 40 */ lfs f4, 0x40(r1)
/* 802ACB48 002A9AA8 C0 61 00 44 */ lfs f3, 0x44(r1)
/* 802ACB4C 002A9AAC D0 41 00 80 */ stfs f2, 0x80(r1)
/* 802ACB50 002A9AB0 C0 5B 00 00 */ lfs f2, 0(r27)
/* 802ACB54 002A9AB4 D0 21 00 84 */ stfs f1, 0x84(r1)
/* 802ACB58 002A9AB8 C0 3B 00 04 */ lfs f1, 4(r27)
/* 802ACB5C 002A9ABC D0 01 00 88 */ stfs f0, 0x88(r1)
/* 802ACB60 002A9AC0 C0 1B 00 08 */ lfs f0, 8(r27)
/* 802ACB64 002A9AC4 D0 A1 00 8C */ stfs f5, 0x8c(r1)
/* 802ACB68 002A9AC8 D0 81 00 90 */ stfs f4, 0x90(r1)
/* 802ACB6C 002A9ACC D0 61 00 94 */ stfs f3, 0x94(r1)
/* 802ACB70 002A9AD0 C8 DC 00 00 */ lfd f6, 0(r28)
/* 802ACB74 002A9AD4 FC C0 30 18 */ frsp f6, f6
/* 802ACB78 002A9AD8 EF A6 00 B2 */ fmuls f29, f6, f2
/* 802ACB7C 002A9ADC EF C6 00 72 */ fmuls f30, f6, f1
/* 802ACB80 002A9AE0 EF E6 00 32 */ fmuls f31, f6, f0
/* 802ACB84 002A9AE4 EC 05 E8 2A */ fadds f0, f5, f29
/* 802ACB88 002A9AE8 EC 44 F0 2A */ fadds f2, f4, f30
/* 802ACB8C 002A9AEC EC 23 F8 2A */ fadds f1, f3, f31
/* 802ACB90 002A9AF0 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802ACB94 002A9AF4 D0 41 00 28 */ stfs f2, 0x28(r1)
/* 802ACB98 002A9AF8 D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 802ACB9C 002A9AFC 48 08 AF 6D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ACBA0 002A9B00 C0 41 00 84 */ lfs f2, 0x84(r1)
/* 802ACBA4 002A9B04 38 61 00 80 */ addi r3, r1, 0x80
/* 802ACBA8 002A9B08 C0 21 00 88 */ lfs f1, 0x88(r1)
/* 802ACBAC 002A9B0C 38 81 00 18 */ addi r4, r1, 0x18
/* 802ACBB0 002A9B10 C0 01 00 80 */ lfs f0, 0x80(r1)
/* 802ACBB4 002A9B14 EC 42 F0 2A */ fadds f2, f2, f30
/* 802ACBB8 002A9B18 EC 21 F8 2A */ fadds f1, f1, f31
/* 802ACBBC 002A9B1C EC 00 E8 2A */ fadds f0, f0, f29
/* 802ACBC0 002A9B20 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 802ACBC4 002A9B24 D0 01 00 18 */ stfs f0, 0x18(r1)
/* 802ACBC8 002A9B28 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802ACBCC 002A9B2C 48 08 AF 3D */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ACBD0 002A9B30 38 61 00 B0 */ addi r3, r1, 0xb0
/* 802ACBD4 002A9B34 38 81 00 80 */ addi r4, r1, 0x80
/* 802ACBD8 002A9B38 38 A1 01 88 */ addi r5, r1, 0x188
/* 802ACBDC 002A9B3C 48 02 91 41 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802ACBE0 002A9B40 38 61 01 4C */ addi r3, r1, 0x14c
/* 802ACBE4 002A9B44 38 81 00 B0 */ addi r4, r1, 0xb0
/* 802ACBE8 002A9B48 48 06 5F 8D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACBEC 002A9B4C C0 41 00 E0 */ lfs f2, 0xe0(r1)
/* 802ACBF0 002A9B50 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802ACBF4 002A9B54 C0 21 00 E4 */ lfs f1, 0xe4(r1)
/* 802ACBF8 002A9B58 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802ACBFC 002A9B5C C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 802ACC00 002A9B60 3B 04 C4 48 */ addi r24, r4, lbl_803EC448@l
/* 802ACC04 002A9B64 D0 41 01 7C */ stfs f2, 0x17c(r1)
/* 802ACC08 002A9B68 3B 23 97 E4 */ addi r25, r3, __vt__19CCollisionPrimitive@l
/* 802ACC0C 002A9B6C 3B C0 00 00 */ li r30, 0
/* 802ACC10 002A9B70 3A C0 00 00 */ li r22, 0
/* 802ACC14 002A9B74 D0 21 01 80 */ stfs f1, 0x180(r1)
/* 802ACC18 002A9B78 D0 01 01 84 */ stfs f0, 0x184(r1)
/* 802ACC1C 002A9B7C 48 00 00 A0 */ b lbl_802ACCBC
lbl_802ACC20:
/* 802ACC20 002A9B80 7F E3 FB 78 */ mr r3, r31
/* 802ACC24 002A9B84 81 9F 00 00 */ lwz r12, 0(r31)
/* 802ACC28 002A9B88 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802ACC2C 002A9B8C 7D 89 03 A6 */ mtctr r12
/* 802ACC30 002A9B90 4E 80 04 21 */ bctrl
/* 802ACC34 002A9B94 7C 77 1B 78 */ mr r23, r3
/* 802ACC38 002A9B98 7F E3 FB 78 */ mr r3, r31
/* 802ACC3C 002A9B9C 7E C4 B3 78 */ mr r4, r22
/* 802ACC40 002A9BA0 48 00 0D 0D */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802ACC44 002A9BA4 7C 64 1B 78 */ mr r4, r3
/* 802ACC48 002A9BA8 7E E5 BB 78 */ mr r5, r23
/* 802ACC4C 002A9BAC 38 61 00 60 */ addi r3, r1, 0x60
/* 802ACC50 002A9BB0 4B FF FA 95 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802ACC54 002A9BB4 4B FF A3 ED */ bl ResetInternalCounters__20CMetroidAreaColliderFv
/* 802ACC58 002A9BB8 80 7A 00 00 */ lwz r3, 0(r26)
/* 802ACC5C 002A9BBC 80 81 00 70 */ lwz r4, 0x70(r1)
/* 802ACC60 002A9BC0 81 83 00 00 */ lwz r12, 0(r3)
/* 802ACC64 002A9BC4 82 E4 00 88 */ lwz r23, 0x88(r4)
/* 802ACC68 002A9BC8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802ACC6C 002A9BCC 7D 89 03 A6 */ mtctr r12
/* 802ACC70 002A9BD0 4E 80 04 21 */ bctrl
/* 802ACC74 002A9BD4 93 61 00 08 */ stw r27, 8(r1)
/* 802ACC78 002A9BD8 7C 68 1B 78 */ mr r8, r3
/* 802ACC7C 002A9BDC 7E E4 BB 78 */ mr r4, r23
/* 802ACC80 002A9BE0 38 61 00 60 */ addi r3, r1, 0x60
/* 802ACC84 002A9BE4 93 81 00 0C */ stw r28, 0xc(r1)
/* 802ACC88 002A9BE8 38 A1 01 B8 */ addi r5, r1, 0x1b8
/* 802ACC8C 002A9BEC 38 C1 00 98 */ addi r6, r1, 0x98
/* 802ACC90 002A9BF0 38 E1 01 4C */ addi r7, r1, 0x14c
/* 802ACC94 002A9BF4 93 A1 00 10 */ stw r29, 0x10(r1)
/* 802ACC98 002A9BF8 39 41 01 E8 */ addi r10, r1, 0x1e8
/* 802ACC9C 002A9BFC 81 3A 00 04 */ lwz r9, 4(r26)
/* 802ACCA0 002A9C00 4B FF ED CD */ bl AABoxCollisionMoving__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterRCQ220CMetroidAreaCollider22CMovingAABoxComponentsRC9CVector3fRdR14CCollisionInfo
/* 802ACCA4 002A9C04 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802ACCA8 002A9C08 41 82 00 08 */ beq lbl_802ACCB0
/* 802ACCAC 002A9C0C 3B C0 00 01 */ li r30, 1
lbl_802ACCB0:
/* 802ACCB0 002A9C10 93 01 00 60 */ stw r24, 0x60(r1)
/* 802ACCB4 002A9C14 3A D6 00 01 */ addi r22, r22, 1
/* 802ACCB8 002A9C18 93 21 00 60 */ stw r25, 0x60(r1)
lbl_802ACCBC:
/* 802ACCBC 002A9C1C 80 7F 00 10 */ lwz r3, 0x10(r31)
/* 802ACCC0 002A9C20 80 03 00 04 */ lwz r0, 4(r3)
/* 802ACCC4 002A9C24 7C 16 00 00 */ cmpw r22, r0
/* 802ACCC8 002A9C28 41 80 FF 58 */ blt lbl_802ACC20
/* 802ACCCC 002A9C2C 34 A1 08 AC */ addic. r5, r1, 0x8ac
/* 802ACCD0 002A9C30 41 82 00 58 */ beq lbl_802ACD28
/* 802ACCD4 002A9C34 80 C5 00 00 */ lwz r6, 0(r5)
/* 802ACCD8 002A9C38 38 60 00 00 */ li r3, 0
/* 802ACCDC 002A9C3C 2C 06 00 00 */ cmpwi r6, 0
/* 802ACCE0 002A9C40 40 81 00 40 */ ble lbl_802ACD20
/* 802ACCE4 002A9C44 2C 06 00 08 */ cmpwi r6, 8
/* 802ACCE8 002A9C48 38 86 FF F8 */ addi r4, r6, -8
/* 802ACCEC 002A9C4C 40 81 00 20 */ ble lbl_802ACD0C
/* 802ACCF0 002A9C50 38 04 00 07 */ addi r0, r4, 7
/* 802ACCF4 002A9C54 54 00 E8 FE */ srwi r0, r0, 3
/* 802ACCF8 002A9C58 7C 09 03 A6 */ mtctr r0
/* 802ACCFC 002A9C5C 2C 04 00 00 */ cmpwi r4, 0
/* 802ACD00 002A9C60 40 81 00 0C */ ble lbl_802ACD0C
lbl_802ACD04:
/* 802ACD04 002A9C64 38 63 00 08 */ addi r3, r3, 8
/* 802ACD08 002A9C68 42 00 FF FC */ bdnz lbl_802ACD04
lbl_802ACD0C:
/* 802ACD0C 002A9C6C 7C 03 30 50 */ subf r0, r3, r6
/* 802ACD10 002A9C70 7C 09 03 A6 */ mtctr r0
/* 802ACD14 002A9C74 7C 03 30 00 */ cmpw r3, r6
/* 802ACD18 002A9C78 40 80 00 08 */ bge lbl_802ACD20
lbl_802ACD1C:
/* 802ACD1C 002A9C7C 42 00 00 00 */ bdnz lbl_802ACD1C
lbl_802ACD20:
/* 802ACD20 002A9C80 38 00 00 00 */ li r0, 0
/* 802ACD24 002A9C84 90 05 00 00 */ stw r0, 0(r5)
lbl_802ACD28:
/* 802ACD28 002A9C88 80 A1 01 E8 */ lwz r5, 0x1e8(r1)
/* 802ACD2C 002A9C8C 38 60 00 00 */ li r3, 0
/* 802ACD30 002A9C90 2C 05 00 00 */ cmpwi r5, 0
/* 802ACD34 002A9C94 40 81 00 40 */ ble lbl_802ACD74
/* 802ACD38 002A9C98 2C 05 00 08 */ cmpwi r5, 8
/* 802ACD3C 002A9C9C 38 85 FF F8 */ addi r4, r5, -8
/* 802ACD40 002A9CA0 40 81 00 20 */ ble lbl_802ACD60
/* 802ACD44 002A9CA4 38 04 00 07 */ addi r0, r4, 7
/* 802ACD48 002A9CA8 54 00 E8 FE */ srwi r0, r0, 3
/* 802ACD4C 002A9CAC 7C 09 03 A6 */ mtctr r0
/* 802ACD50 002A9CB0 2C 04 00 00 */ cmpwi r4, 0
/* 802ACD54 002A9CB4 40 81 00 0C */ ble lbl_802ACD60
lbl_802ACD58:
/* 802ACD58 002A9CB8 38 63 00 08 */ addi r3, r3, 8
/* 802ACD5C 002A9CBC 42 00 FF FC */ bdnz lbl_802ACD58
lbl_802ACD60:
/* 802ACD60 002A9CC0 7C 03 28 50 */ subf r0, r3, r5
/* 802ACD64 002A9CC4 7C 09 03 A6 */ mtctr r0
/* 802ACD68 002A9CC8 7C 03 28 00 */ cmpw r3, r5
/* 802ACD6C 002A9CCC 40 80 00 08 */ bge lbl_802ACD74
lbl_802ACD70:
/* 802ACD70 002A9CD0 42 00 00 00 */ bdnz lbl_802ACD70
lbl_802ACD74:
/* 802ACD74 002A9CD4 38 00 00 00 */ li r0, 0
/* 802ACD78 002A9CD8 7F C3 F3 78 */ mr r3, r30
/* 802ACD7C 002A9CDC 90 01 01 E8 */ stw r0, 0x1e8(r1)
/* 802ACD80 002A9CE0 E3 E1 09 38 */ psq_l f31, -1736(r1), 0, qr0
/* 802ACD84 002A9CE4 CB E1 09 30 */ lfd f31, 0x930(r1)
/* 802ACD88 002A9CE8 E3 C1 09 28 */ psq_l f30, -1752(r1), 0, qr0
/* 802ACD8C 002A9CEC CB C1 09 20 */ lfd f30, 0x920(r1)
/* 802ACD90 002A9CF0 E3 A1 09 18 */ psq_l f29, -1768(r1), 0, qr0
/* 802ACD94 002A9CF4 CB A1 09 10 */ lfd f29, 0x910(r1)
/* 802ACD98 002A9CF8 BA C1 08 E8 */ lmw r22, 0x8e8(r1)
/* 802ACD9C 002A9CFC 80 01 09 44 */ lwz r0, 0x944(r1)
/* 802ACDA0 002A9D00 7C 08 03 A6 */ mtlr r0
/* 802ACDA4 002A9D04 38 21 09 40 */ addi r1, r1, 0x940
/* 802ACDA8 002A9D08 4E 80 00 20 */ blr
.global SphereCollideBoolean__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructure
SphereCollideBoolean__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructure:
/* 802ACDAC 002A9D0C 94 21 FE 50 */ stwu r1, -0x1b0(r1)
/* 802ACDB0 002A9D10 7C 08 02 A6 */ mflr r0
/* 802ACDB4 002A9D14 90 01 01 B4 */ stw r0, 0x1b4(r1)
/* 802ACDB8 002A9D18 BF 41 01 98 */ stmw r26, 0x198(r1)
/* 802ACDBC 002A9D1C 7C 7A 1B 78 */ mr r26, r3
/* 802ACDC0 002A9D20 38 61 00 08 */ addi r3, r1, 8
/* 802ACDC4 002A9D24 38 BA 00 08 */ addi r5, r26, 8
/* 802ACDC8 002A9D28 83 BA 00 00 */ lwz r29, 0(r26)
/* 802ACDCC 002A9D2C 83 9A 00 38 */ lwz r28, 0x38(r26)
/* 802ACDD0 002A9D30 7F A4 EB 78 */ mr r4, r29
/* 802ACDD4 002A9D34 48 02 75 81 */ bl Transform__17CCollidableSphereCFRC12CTransform4f
/* 802ACDD8 002A9D38 C0 61 00 08 */ lfs f3, 8(r1)
/* 802ACDDC 002A9D3C 38 61 01 68 */ addi r3, r1, 0x168
/* 802ACDE0 002A9D40 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 802ACDE4 002A9D44 38 9A 00 40 */ addi r4, r26, 0x40
/* 802ACDE8 002A9D48 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802ACDEC 002A9D4C C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802ACDF0 002A9D50 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 802ACDF4 002A9D54 D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 802ACDF8 002A9D58 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802ACDFC 002A9D5C D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802ACE00 002A9D60 48 06 5D 75 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACE04 002A9D64 38 61 00 9C */ addi r3, r1, 0x9c
/* 802ACE08 002A9D68 38 81 01 68 */ addi r4, r1, 0x168
/* 802ACE0C 002A9D6C 48 06 5E 91 */ bl GetQuickInverse__12CTransform4fCFv
/* 802ACE10 002A9D70 38 61 00 CC */ addi r3, r1, 0xcc
/* 802ACE14 002A9D74 38 81 00 9C */ addi r4, r1, 0x9c
/* 802ACE18 002A9D78 38 BA 00 08 */ addi r5, r26, 8
/* 802ACE1C 002A9D7C 48 06 5B 35 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802ACE20 002A9D80 38 61 01 38 */ addi r3, r1, 0x138
/* 802ACE24 002A9D84 38 81 00 CC */ addi r4, r1, 0xcc
/* 802ACE28 002A9D88 48 06 5D 4D */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACE2C 002A9D8C 7F A4 EB 78 */ mr r4, r29
/* 802ACE30 002A9D90 38 61 00 28 */ addi r3, r1, 0x28
/* 802ACE34 002A9D94 81 9D 00 00 */ lwz r12, 0(r29)
/* 802ACE38 002A9D98 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802ACE3C 002A9D9C 7D 89 03 A6 */ mtctr r12
/* 802ACE40 002A9DA0 4E 80 04 21 */ bctrl
/* 802ACE44 002A9DA4 38 61 00 60 */ addi r3, r1, 0x60
/* 802ACE48 002A9DA8 38 81 00 28 */ addi r4, r1, 0x28
/* 802ACE4C 002A9DAC 38 A1 01 38 */ addi r5, r1, 0x138
/* 802ACE50 002A9DB0 48 02 8E CD */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802ACE54 002A9DB4 38 61 00 FC */ addi r3, r1, 0xfc
/* 802ACE58 002A9DB8 38 81 00 60 */ addi r4, r1, 0x60
/* 802ACE5C 002A9DBC 48 06 5D 19 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACE60 002A9DC0 C0 41 00 90 */ lfs f2, 0x90(r1)
/* 802ACE64 002A9DC4 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802ACE68 002A9DC8 C0 21 00 94 */ lfs f1, 0x94(r1)
/* 802ACE6C 002A9DCC 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802ACE70 002A9DD0 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 802ACE74 002A9DD4 3B C4 C4 48 */ addi r30, r4, lbl_803EC448@l
/* 802ACE78 002A9DD8 D0 41 01 2C */ stfs f2, 0x12c(r1)
/* 802ACE7C 002A9DDC 3B E3 97 E4 */ addi r31, r3, __vt__19CCollisionPrimitive@l
/* 802ACE80 002A9DE0 3B 60 00 00 */ li r27, 0
/* 802ACE84 002A9DE4 D0 21 01 30 */ stfs f1, 0x130(r1)
/* 802ACE88 002A9DE8 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 802ACE8C 002A9DEC 48 00 00 8C */ b lbl_802ACF18
lbl_802ACE90:
/* 802ACE90 002A9DF0 7F 83 E3 78 */ mr r3, r28
/* 802ACE94 002A9DF4 81 9C 00 00 */ lwz r12, 0(r28)
/* 802ACE98 002A9DF8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802ACE9C 002A9DFC 7D 89 03 A6 */ mtctr r12
/* 802ACEA0 002A9E00 4E 80 04 21 */ bctrl
/* 802ACEA4 002A9E04 7C 7D 1B 78 */ mr r29, r3
/* 802ACEA8 002A9E08 7F 83 E3 78 */ mr r3, r28
/* 802ACEAC 002A9E0C 7F 64 DB 78 */ mr r4, r27
/* 802ACEB0 002A9E10 48 00 0A 9D */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802ACEB4 002A9E14 7C 64 1B 78 */ mr r4, r3
/* 802ACEB8 002A9E18 7F A5 EB 78 */ mr r5, r29
/* 802ACEBC 002A9E1C 38 61 00 40 */ addi r3, r1, 0x40
/* 802ACEC0 002A9E20 4B FF F8 25 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802ACEC4 002A9E24 80 81 00 50 */ lwz r4, 0x50(r1)
/* 802ACEC8 002A9E28 38 61 00 40 */ addi r3, r1, 0x40
/* 802ACECC 002A9E2C 81 1A 00 04 */ lwz r8, 4(r26)
/* 802ACED0 002A9E30 38 A1 01 68 */ addi r5, r1, 0x168
/* 802ACED4 002A9E34 80 84 00 88 */ lwz r4, 0x88(r4)
/* 802ACED8 002A9E38 38 C1 00 18 */ addi r6, r1, 0x18
/* 802ACEDC 002A9E3C 38 E1 00 FC */ addi r7, r1, 0xfc
/* 802ACEE0 002A9E40 4B FF EC D9 */ bl SphereCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC15CMaterialFilter
/* 802ACEE4 002A9E44 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802ACEE8 002A9E48 41 82 00 24 */ beq lbl_802ACF0C
/* 802ACEEC 002A9E4C 3C 60 80 3F */ lis r3, lbl_803EC448@ha
/* 802ACEF0 002A9E50 3C 80 80 3E */ lis r4, __vt__19CCollisionPrimitive@ha
/* 802ACEF4 002A9E54 38 03 C4 48 */ addi r0, r3, lbl_803EC448@l
/* 802ACEF8 002A9E58 38 60 00 01 */ li r3, 1
/* 802ACEFC 002A9E5C 90 01 00 40 */ stw r0, 0x40(r1)
/* 802ACF00 002A9E60 38 04 97 E4 */ addi r0, r4, __vt__19CCollisionPrimitive@l
/* 802ACF04 002A9E64 90 01 00 40 */ stw r0, 0x40(r1)
/* 802ACF08 002A9E68 48 00 00 24 */ b lbl_802ACF2C
lbl_802ACF0C:
/* 802ACF0C 002A9E6C 93 C1 00 40 */ stw r30, 0x40(r1)
/* 802ACF10 002A9E70 3B 7B 00 01 */ addi r27, r27, 1
/* 802ACF14 002A9E74 93 E1 00 40 */ stw r31, 0x40(r1)
lbl_802ACF18:
/* 802ACF18 002A9E78 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 802ACF1C 002A9E7C 80 03 00 04 */ lwz r0, 4(r3)
/* 802ACF20 002A9E80 7C 1B 00 00 */ cmpw r27, r0
/* 802ACF24 002A9E84 41 80 FF 6C */ blt lbl_802ACE90
/* 802ACF28 002A9E88 38 60 00 00 */ li r3, 0
lbl_802ACF2C:
/* 802ACF2C 002A9E8C BB 41 01 98 */ lmw r26, 0x198(r1)
/* 802ACF30 002A9E90 80 01 01 B4 */ lwz r0, 0x1b4(r1)
/* 802ACF34 002A9E94 7C 08 03 A6 */ mtlr r0
/* 802ACF38 002A9E98 38 21 01 B0 */ addi r1, r1, 0x1b0
/* 802ACF3C 002A9E9C 4E 80 00 20 */ blr
.global SphereCollide__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureR18CCollisionInfoList
SphereCollide__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureR18CCollisionInfoList:
/* 802ACF40 002A9EA0 94 21 FE 40 */ stwu r1, -0x1c0(r1)
/* 802ACF44 002A9EA4 7C 08 02 A6 */ mflr r0
/* 802ACF48 002A9EA8 90 01 01 C4 */ stw r0, 0x1c4(r1)
/* 802ACF4C 002A9EAC BE E1 01 9C */ stmw r23, 0x19c(r1)
/* 802ACF50 002A9EB0 7C 7E 1B 78 */ mr r30, r3
/* 802ACF54 002A9EB4 7C 9F 23 78 */ mr r31, r4
/* 802ACF58 002A9EB8 38 BE 00 08 */ addi r5, r30, 8
/* 802ACF5C 002A9EBC 83 23 00 00 */ lwz r25, 0(r3)
/* 802ACF60 002A9EC0 38 61 00 08 */ addi r3, r1, 8
/* 802ACF64 002A9EC4 83 5E 00 38 */ lwz r26, 0x38(r30)
/* 802ACF68 002A9EC8 7F 24 CB 78 */ mr r4, r25
/* 802ACF6C 002A9ECC 48 02 73 E9 */ bl Transform__17CCollidableSphereCFRC12CTransform4f
/* 802ACF70 002A9ED0 C0 61 00 08 */ lfs f3, 8(r1)
/* 802ACF74 002A9ED4 38 61 01 68 */ addi r3, r1, 0x168
/* 802ACF78 002A9ED8 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 802ACF7C 002A9EDC 38 9E 00 40 */ addi r4, r30, 0x40
/* 802ACF80 002A9EE0 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 802ACF84 002A9EE4 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802ACF88 002A9EE8 D0 61 00 18 */ stfs f3, 0x18(r1)
/* 802ACF8C 002A9EEC D0 41 00 1C */ stfs f2, 0x1c(r1)
/* 802ACF90 002A9EF0 D0 21 00 20 */ stfs f1, 0x20(r1)
/* 802ACF94 002A9EF4 D0 01 00 24 */ stfs f0, 0x24(r1)
/* 802ACF98 002A9EF8 48 06 5B DD */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACF9C 002A9EFC 38 61 00 9C */ addi r3, r1, 0x9c
/* 802ACFA0 002A9F00 38 81 01 68 */ addi r4, r1, 0x168
/* 802ACFA4 002A9F04 48 06 5C F9 */ bl GetQuickInverse__12CTransform4fCFv
/* 802ACFA8 002A9F08 38 61 00 CC */ addi r3, r1, 0xcc
/* 802ACFAC 002A9F0C 38 81 00 9C */ addi r4, r1, 0x9c
/* 802ACFB0 002A9F10 38 BE 00 08 */ addi r5, r30, 8
/* 802ACFB4 002A9F14 48 06 59 9D */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802ACFB8 002A9F18 38 61 01 38 */ addi r3, r1, 0x138
/* 802ACFBC 002A9F1C 38 81 00 CC */ addi r4, r1, 0xcc
/* 802ACFC0 002A9F20 48 06 5B B5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACFC4 002A9F24 7F 24 CB 78 */ mr r4, r25
/* 802ACFC8 002A9F28 38 61 00 28 */ addi r3, r1, 0x28
/* 802ACFCC 002A9F2C 81 99 00 00 */ lwz r12, 0(r25)
/* 802ACFD0 002A9F30 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802ACFD4 002A9F34 7D 89 03 A6 */ mtctr r12
/* 802ACFD8 002A9F38 4E 80 04 21 */ bctrl
/* 802ACFDC 002A9F3C 38 61 00 60 */ addi r3, r1, 0x60
/* 802ACFE0 002A9F40 38 81 00 28 */ addi r4, r1, 0x28
/* 802ACFE4 002A9F44 38 A1 01 38 */ addi r5, r1, 0x138
/* 802ACFE8 002A9F48 48 02 8D 35 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802ACFEC 002A9F4C 38 61 00 FC */ addi r3, r1, 0xfc
/* 802ACFF0 002A9F50 38 81 00 60 */ addi r4, r1, 0x60
/* 802ACFF4 002A9F54 48 06 5B 81 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802ACFF8 002A9F58 C0 41 00 90 */ lfs f2, 0x90(r1)
/* 802ACFFC 002A9F5C 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802AD000 002A9F60 C0 21 00 94 */ lfs f1, 0x94(r1)
/* 802AD004 002A9F64 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802AD008 002A9F68 C0 01 00 98 */ lfs f0, 0x98(r1)
/* 802AD00C 002A9F6C 3B 84 C4 48 */ addi r28, r4, lbl_803EC448@l
/* 802AD010 002A9F70 D0 41 01 2C */ stfs f2, 0x12c(r1)
/* 802AD014 002A9F74 3B A3 97 E4 */ addi r29, r3, __vt__19CCollisionPrimitive@l
/* 802AD018 002A9F78 3B 00 00 00 */ li r24, 0
/* 802AD01C 002A9F7C 3A E0 00 00 */ li r23, 0
/* 802AD020 002A9F80 D0 21 01 30 */ stfs f1, 0x130(r1)
/* 802AD024 002A9F84 D0 01 01 34 */ stfs f0, 0x134(r1)
/* 802AD028 002A9F88 48 00 00 90 */ b lbl_802AD0B8
lbl_802AD02C:
/* 802AD02C 002A9F8C 7F 43 D3 78 */ mr r3, r26
/* 802AD030 002A9F90 81 9A 00 00 */ lwz r12, 0(r26)
/* 802AD034 002A9F94 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD038 002A9F98 7D 89 03 A6 */ mtctr r12
/* 802AD03C 002A9F9C 4E 80 04 21 */ bctrl
/* 802AD040 002A9FA0 7C 7B 1B 78 */ mr r27, r3
/* 802AD044 002A9FA4 7F 43 D3 78 */ mr r3, r26
/* 802AD048 002A9FA8 7E E4 BB 78 */ mr r4, r23
/* 802AD04C 002A9FAC 48 00 09 01 */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802AD050 002A9FB0 7C 64 1B 78 */ mr r4, r3
/* 802AD054 002A9FB4 7F 65 DB 78 */ mr r5, r27
/* 802AD058 002A9FB8 38 61 00 40 */ addi r3, r1, 0x40
/* 802AD05C 002A9FBC 4B FF F6 89 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802AD060 002A9FC0 7F 23 CB 78 */ mr r3, r25
/* 802AD064 002A9FC4 80 81 00 50 */ lwz r4, 0x50(r1)
/* 802AD068 002A9FC8 81 99 00 00 */ lwz r12, 0(r25)
/* 802AD06C 002A9FCC 83 64 00 88 */ lwz r27, 0x88(r4)
/* 802AD070 002A9FD0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD074 002A9FD4 7D 89 03 A6 */ mtctr r12
/* 802AD078 002A9FD8 4E 80 04 21 */ bctrl
/* 802AD07C 002A9FDC 81 3E 00 04 */ lwz r9, 4(r30)
/* 802AD080 002A9FE0 7C 68 1B 78 */ mr r8, r3
/* 802AD084 002A9FE4 7F 64 DB 78 */ mr r4, r27
/* 802AD088 002A9FE8 7F EA FB 78 */ mr r10, r31
/* 802AD08C 002A9FEC 38 61 00 40 */ addi r3, r1, 0x40
/* 802AD090 002A9FF0 38 A1 01 68 */ addi r5, r1, 0x168
/* 802AD094 002A9FF4 38 C1 00 18 */ addi r6, r1, 0x18
/* 802AD098 002A9FF8 38 E1 00 FC */ addi r7, r1, 0xfc
/* 802AD09C 002A9FFC 4B FF F0 C9 */ bl SphereCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC7CSphereRC6COBBoxRC13CMaterialListRC15CMaterialFilterR18CCollisionInfoList
/* 802AD0A0 002AA000 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AD0A4 002AA004 41 82 00 08 */ beq lbl_802AD0AC
/* 802AD0A8 002AA008 3B 00 00 01 */ li r24, 1
lbl_802AD0AC:
/* 802AD0AC 002AA00C 93 81 00 40 */ stw r28, 0x40(r1)
/* 802AD0B0 002AA010 3A F7 00 01 */ addi r23, r23, 1
/* 802AD0B4 002AA014 93 A1 00 40 */ stw r29, 0x40(r1)
lbl_802AD0B8:
/* 802AD0B8 002AA018 80 7A 00 10 */ lwz r3, 0x10(r26)
/* 802AD0BC 002AA01C 80 03 00 04 */ lwz r0, 4(r3)
/* 802AD0C0 002AA020 7C 17 00 00 */ cmpw r23, r0
/* 802AD0C4 002AA024 41 80 FF 68 */ blt lbl_802AD02C
/* 802AD0C8 002AA028 7F 03 C3 78 */ mr r3, r24
/* 802AD0CC 002AA02C BA E1 01 9C */ lmw r23, 0x19c(r1)
/* 802AD0D0 002AA030 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 802AD0D4 002AA034 7C 08 03 A6 */ mtlr r0
/* 802AD0D8 002AA038 38 21 01 C0 */ addi r1, r1, 0x1c0
/* 802AD0DC 002AA03C 4E 80 00 20 */ blr
.global AABoxCollideBoolean__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructure
AABoxCollideBoolean__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructure:
/* 802AD0E0 002AA040 94 21 FE 40 */ stwu r1, -0x1c0(r1)
/* 802AD0E4 002AA044 7C 08 02 A6 */ mflr r0
/* 802AD0E8 002AA048 90 01 01 C4 */ stw r0, 0x1c4(r1)
/* 802AD0EC 002AA04C BF 41 01 A8 */ stmw r26, 0x1a8(r1)
/* 802AD0F0 002AA050 7C 7A 1B 78 */ mr r26, r3
/* 802AD0F4 002AA054 38 61 00 20 */ addi r3, r1, 0x20
/* 802AD0F8 002AA058 38 BA 00 08 */ addi r5, r26, 8
/* 802AD0FC 002AA05C 80 9A 00 00 */ lwz r4, 0(r26)
/* 802AD100 002AA060 83 9A 00 38 */ lwz r28, 0x38(r26)
/* 802AD104 002AA064 81 84 00 00 */ lwz r12, 0(r4)
/* 802AD108 002AA068 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AD10C 002AA06C 7D 89 03 A6 */ mtctr r12
/* 802AD110 002AA070 4E 80 04 21 */ bctrl
/* 802AD114 002AA074 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 802AD118 002AA078 38 61 01 78 */ addi r3, r1, 0x178
/* 802AD11C 002AA07C C0 81 00 24 */ lfs f4, 0x24(r1)
/* 802AD120 002AA080 38 9A 00 40 */ addi r4, r26, 0x40
/* 802AD124 002AA084 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 802AD128 002AA088 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802AD12C 002AA08C C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802AD130 002AA090 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802AD134 002AA094 D0 A1 00 58 */ stfs f5, 0x58(r1)
/* 802AD138 002AA098 D0 81 00 5C */ stfs f4, 0x5c(r1)
/* 802AD13C 002AA09C D0 61 00 60 */ stfs f3, 0x60(r1)
/* 802AD140 002AA0A0 D0 41 00 64 */ stfs f2, 0x64(r1)
/* 802AD144 002AA0A4 D0 21 00 68 */ stfs f1, 0x68(r1)
/* 802AD148 002AA0A8 D0 01 00 6C */ stfs f0, 0x6c(r1)
/* 802AD14C 002AA0AC 48 06 5A 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD150 002AA0B0 38 61 00 AC */ addi r3, r1, 0xac
/* 802AD154 002AA0B4 38 81 01 78 */ addi r4, r1, 0x178
/* 802AD158 002AA0B8 48 06 5B 45 */ bl GetQuickInverse__12CTransform4fCFv
/* 802AD15C 002AA0BC 38 61 00 DC */ addi r3, r1, 0xdc
/* 802AD160 002AA0C0 38 81 00 AC */ addi r4, r1, 0xac
/* 802AD164 002AA0C4 38 BA 00 08 */ addi r5, r26, 8
/* 802AD168 002AA0C8 48 06 57 E9 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AD16C 002AA0CC 38 61 01 48 */ addi r3, r1, 0x148
/* 802AD170 002AA0D0 38 81 00 DC */ addi r4, r1, 0xdc
/* 802AD174 002AA0D4 48 06 5A 01 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD178 002AA0D8 80 9A 00 00 */ lwz r4, 0(r26)
/* 802AD17C 002AA0DC 38 61 00 08 */ addi r3, r1, 8
/* 802AD180 002AA0E0 81 84 00 00 */ lwz r12, 0(r4)
/* 802AD184 002AA0E4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AD188 002AA0E8 7D 89 03 A6 */ mtctr r12
/* 802AD18C 002AA0EC 4E 80 04 21 */ bctrl
/* 802AD190 002AA0F0 38 61 00 70 */ addi r3, r1, 0x70
/* 802AD194 002AA0F4 38 81 00 08 */ addi r4, r1, 8
/* 802AD198 002AA0F8 38 A1 01 48 */ addi r5, r1, 0x148
/* 802AD19C 002AA0FC 48 02 8B 81 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802AD1A0 002AA100 38 61 01 0C */ addi r3, r1, 0x10c
/* 802AD1A4 002AA104 38 81 00 70 */ addi r4, r1, 0x70
/* 802AD1A8 002AA108 48 06 59 CD */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD1AC 002AA10C C0 41 00 A0 */ lfs f2, 0xa0(r1)
/* 802AD1B0 002AA110 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802AD1B4 002AA114 C0 21 00 A4 */ lfs f1, 0xa4(r1)
/* 802AD1B8 002AA118 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802AD1BC 002AA11C C0 01 00 A8 */ lfs f0, 0xa8(r1)
/* 802AD1C0 002AA120 3B C4 C4 48 */ addi r30, r4, lbl_803EC448@l
/* 802AD1C4 002AA124 D0 41 01 3C */ stfs f2, 0x13c(r1)
/* 802AD1C8 002AA128 3B E3 97 E4 */ addi r31, r3, __vt__19CCollisionPrimitive@l
/* 802AD1CC 002AA12C 3B 60 00 00 */ li r27, 0
/* 802AD1D0 002AA130 D0 21 01 40 */ stfs f1, 0x140(r1)
/* 802AD1D4 002AA134 D0 01 01 44 */ stfs f0, 0x144(r1)
/* 802AD1D8 002AA138 48 00 00 8C */ b lbl_802AD264
lbl_802AD1DC:
/* 802AD1DC 002AA13C 7F 83 E3 78 */ mr r3, r28
/* 802AD1E0 002AA140 81 9C 00 00 */ lwz r12, 0(r28)
/* 802AD1E4 002AA144 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD1E8 002AA148 7D 89 03 A6 */ mtctr r12
/* 802AD1EC 002AA14C 4E 80 04 21 */ bctrl
/* 802AD1F0 002AA150 7C 7D 1B 78 */ mr r29, r3
/* 802AD1F4 002AA154 7F 83 E3 78 */ mr r3, r28
/* 802AD1F8 002AA158 7F 64 DB 78 */ mr r4, r27
/* 802AD1FC 002AA15C 48 00 07 51 */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802AD200 002AA160 7C 64 1B 78 */ mr r4, r3
/* 802AD204 002AA164 7F A5 EB 78 */ mr r5, r29
/* 802AD208 002AA168 38 61 00 38 */ addi r3, r1, 0x38
/* 802AD20C 002AA16C 4B FF F4 D9 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802AD210 002AA170 80 81 00 48 */ lwz r4, 0x48(r1)
/* 802AD214 002AA174 38 61 00 38 */ addi r3, r1, 0x38
/* 802AD218 002AA178 81 1A 00 04 */ lwz r8, 4(r26)
/* 802AD21C 002AA17C 38 A1 01 78 */ addi r5, r1, 0x178
/* 802AD220 002AA180 80 84 00 88 */ lwz r4, 0x88(r4)
/* 802AD224 002AA184 38 C1 00 58 */ addi r6, r1, 0x58
/* 802AD228 002AA188 38 E1 01 0C */ addi r7, r1, 0x10c
/* 802AD22C 002AA18C 4B FF EB 5D */ bl AABoxCollisionBoolean__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC15CMaterialFilter
/* 802AD230 002AA190 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AD234 002AA194 41 82 00 24 */ beq lbl_802AD258
/* 802AD238 002AA198 3C 60 80 3F */ lis r3, lbl_803EC448@ha
/* 802AD23C 002AA19C 3C 80 80 3E */ lis r4, __vt__19CCollisionPrimitive@ha
/* 802AD240 002AA1A0 38 03 C4 48 */ addi r0, r3, lbl_803EC448@l
/* 802AD244 002AA1A4 38 60 00 01 */ li r3, 1
/* 802AD248 002AA1A8 90 01 00 38 */ stw r0, 0x38(r1)
/* 802AD24C 002AA1AC 38 04 97 E4 */ addi r0, r4, __vt__19CCollisionPrimitive@l
/* 802AD250 002AA1B0 90 01 00 38 */ stw r0, 0x38(r1)
/* 802AD254 002AA1B4 48 00 00 24 */ b lbl_802AD278
lbl_802AD258:
/* 802AD258 002AA1B8 93 C1 00 38 */ stw r30, 0x38(r1)
/* 802AD25C 002AA1BC 3B 7B 00 01 */ addi r27, r27, 1
/* 802AD260 002AA1C0 93 E1 00 38 */ stw r31, 0x38(r1)
lbl_802AD264:
/* 802AD264 002AA1C4 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 802AD268 002AA1C8 80 03 00 04 */ lwz r0, 4(r3)
/* 802AD26C 002AA1CC 7C 1B 00 00 */ cmpw r27, r0
/* 802AD270 002AA1D0 41 80 FF 6C */ blt lbl_802AD1DC
/* 802AD274 002AA1D4 38 60 00 00 */ li r3, 0
lbl_802AD278:
/* 802AD278 002AA1D8 BB 41 01 A8 */ lmw r26, 0x1a8(r1)
/* 802AD27C 002AA1DC 80 01 01 C4 */ lwz r0, 0x1c4(r1)
/* 802AD280 002AA1E0 7C 08 03 A6 */ mtlr r0
/* 802AD284 002AA1E4 38 21 01 C0 */ addi r1, r1, 0x1c0
/* 802AD288 002AA1E8 4E 80 00 20 */ blr
.global AABoxCollide__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureR18CCollisionInfoList
AABoxCollide__23CCollidableOBBTreeGroupFRC27CInternalCollisionStructureR18CCollisionInfoList:
/* 802AD28C 002AA1EC 94 21 FD 80 */ stwu r1, -0x280(r1)
/* 802AD290 002AA1F0 7C 08 02 A6 */ mflr r0
/* 802AD294 002AA1F4 90 01 02 84 */ stw r0, 0x284(r1)
/* 802AD298 002AA1F8 DB E1 02 70 */ stfd f31, 0x270(r1)
/* 802AD29C 002AA1FC F3 E1 02 78 */ psq_st f31, 632(r1), 0, qr0
/* 802AD2A0 002AA200 DB C1 02 60 */ stfd f30, 0x260(r1)
/* 802AD2A4 002AA204 F3 C1 02 68 */ psq_st f30, 616(r1), 0, qr0
/* 802AD2A8 002AA208 DB A1 02 50 */ stfd f29, 0x250(r1)
/* 802AD2AC 002AA20C F3 A1 02 58 */ psq_st f29, 600(r1), 0, qr0
/* 802AD2B0 002AA210 DB 81 02 40 */ stfd f28, 0x240(r1)
/* 802AD2B4 002AA214 F3 81 02 48 */ psq_st f28, 584(r1), 0, qr0
/* 802AD2B8 002AA218 DB 61 02 30 */ stfd f27, 0x230(r1)
/* 802AD2BC 002AA21C F3 61 02 38 */ psq_st f27, 568(r1), 0, qr0
/* 802AD2C0 002AA220 BF 01 02 10 */ stmw r24, 0x210(r1)
/* 802AD2C4 002AA224 7C 78 1B 78 */ mr r24, r3
/* 802AD2C8 002AA228 7C 99 23 78 */ mr r25, r4
/* 802AD2CC 002AA22C 80 83 00 00 */ lwz r4, 0(r3)
/* 802AD2D0 002AA230 38 61 00 28 */ addi r3, r1, 0x28
/* 802AD2D4 002AA234 38 B8 00 08 */ addi r5, r24, 8
/* 802AD2D8 002AA238 83 98 00 38 */ lwz r28, 0x38(r24)
/* 802AD2DC 002AA23C 81 84 00 00 */ lwz r12, 0(r4)
/* 802AD2E0 002AA240 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 802AD2E4 002AA244 7D 89 03 A6 */ mtctr r12
/* 802AD2E8 002AA248 4E 80 04 21 */ bctrl
/* 802AD2EC 002AA24C C0 A1 00 28 */ lfs f5, 0x28(r1)
/* 802AD2F0 002AA250 38 61 01 80 */ addi r3, r1, 0x180
/* 802AD2F4 002AA254 C0 81 00 2C */ lfs f4, 0x2c(r1)
/* 802AD2F8 002AA258 38 98 00 40 */ addi r4, r24, 0x40
/* 802AD2FC 002AA25C C0 61 00 30 */ lfs f3, 0x30(r1)
/* 802AD300 002AA260 C0 41 00 34 */ lfs f2, 0x34(r1)
/* 802AD304 002AA264 C0 21 00 38 */ lfs f1, 0x38(r1)
/* 802AD308 002AA268 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802AD30C 002AA26C D0 A1 00 60 */ stfs f5, 0x60(r1)
/* 802AD310 002AA270 D0 81 00 64 */ stfs f4, 0x64(r1)
/* 802AD314 002AA274 D0 61 00 68 */ stfs f3, 0x68(r1)
/* 802AD318 002AA278 D0 41 00 6C */ stfs f2, 0x6c(r1)
/* 802AD31C 002AA27C D0 21 00 70 */ stfs f1, 0x70(r1)
/* 802AD320 002AA280 D0 01 00 74 */ stfs f0, 0x74(r1)
/* 802AD324 002AA284 48 06 58 51 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD328 002AA288 38 61 00 B4 */ addi r3, r1, 0xb4
/* 802AD32C 002AA28C 38 81 01 80 */ addi r4, r1, 0x180
/* 802AD330 002AA290 48 06 59 6D */ bl GetQuickInverse__12CTransform4fCFv
/* 802AD334 002AA294 38 61 00 E4 */ addi r3, r1, 0xe4
/* 802AD338 002AA298 38 81 00 B4 */ addi r4, r1, 0xb4
/* 802AD33C 002AA29C 38 B8 00 08 */ addi r5, r24, 8
/* 802AD340 002AA2A0 48 06 56 11 */ bl __ml__12CTransform4fCFRC12CTransform4f
/* 802AD344 002AA2A4 38 61 01 50 */ addi r3, r1, 0x150
/* 802AD348 002AA2A8 38 81 00 E4 */ addi r4, r1, 0xe4
/* 802AD34C 002AA2AC 48 06 58 29 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD350 002AA2B0 80 98 00 00 */ lwz r4, 0(r24)
/* 802AD354 002AA2B4 38 61 00 10 */ addi r3, r1, 0x10
/* 802AD358 002AA2B8 81 84 00 00 */ lwz r12, 0(r4)
/* 802AD35C 002AA2BC 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 802AD360 002AA2C0 7D 89 03 A6 */ mtctr r12
/* 802AD364 002AA2C4 4E 80 04 21 */ bctrl
/* 802AD368 002AA2C8 38 61 00 78 */ addi r3, r1, 0x78
/* 802AD36C 002AA2CC 38 81 00 10 */ addi r4, r1, 0x10
/* 802AD370 002AA2D0 38 A1 01 50 */ addi r5, r1, 0x150
/* 802AD374 002AA2D4 48 02 89 A9 */ bl FromAABox__6COBBoxFRC6CAABoxRC12CTransform4f
/* 802AD378 002AA2D8 38 61 01 14 */ addi r3, r1, 0x114
/* 802AD37C 002AA2DC 38 81 00 78 */ addi r4, r1, 0x78
/* 802AD380 002AA2E0 48 06 57 F5 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD384 002AA2E4 C0 E2 C1 E0 */ lfs f7, lbl_805ADF00@sda21(r2)
/* 802AD388 002AA2E8 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802AD38C 002AA2EC C0 C2 C1 E4 */ lfs f6, lbl_805ADF04@sda21(r2)
/* 802AD390 002AA2F0 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802AD394 002AA2F4 FF E0 38 50 */ fneg f31, f7
/* 802AD398 002AA2F8 C1 41 00 64 */ lfs f10, 0x64(r1)
/* 802AD39C 002AA2FC FF A0 30 50 */ fneg f29, f6
/* 802AD3A0 002AA300 C0 01 00 70 */ lfs f0, 0x70(r1)
/* 802AD3A4 002AA304 C3 C1 00 60 */ lfs f30, 0x60(r1)
/* 802AD3A8 002AA308 EF 8A 01 F2 */ fmuls f28, f10, f7
/* 802AD3AC 002AA30C EF 7E 01 F2 */ fmuls f27, f30, f7
/* 802AD3B0 002AA310 C1 61 00 68 */ lfs f11, 0x68(r1)
/* 802AD3B4 002AA314 EC 80 07 F2 */ fmuls f4, f0, f31
/* 802AD3B8 002AA318 C1 81 00 6C */ lfs f12, 0x6c(r1)
/* 802AD3BC 002AA31C EC 00 07 72 */ fmuls f0, f0, f29
/* 802AD3C0 002AA320 C1 21 00 A8 */ lfs f9, 0xa8(r1)
/* 802AD3C4 002AA324 EC 3B E0 2A */ fadds f1, f27, f28
/* 802AD3C8 002AA328 C1 A1 00 74 */ lfs f13, 0x74(r1)
/* 802AD3CC 002AA32C EC 6C 27 7A */ fmadds f3, f12, f29, f4
/* 802AD3D0 002AA330 C1 01 00 AC */ lfs f8, 0xac(r1)
/* 802AD3D4 002AA334 EC 4C 07 FA */ fmadds f2, f12, f31, f0
/* 802AD3D8 002AA338 C0 A1 00 B0 */ lfs f5, 0xb0(r1)
/* 802AD3DC 002AA33C EC 0C 27 FA */ fmadds f0, f12, f31, f4
/* 802AD3E0 002AA340 D1 21 01 44 */ stfs f9, 0x144(r1)
/* 802AD3E4 002AA344 EC 8D 1F FA */ fmadds f4, f13, f31, f3
/* 802AD3E8 002AA348 3B C4 C4 48 */ addi r30, r4, lbl_803EC448@l
/* 802AD3EC 002AA34C EC 4D 17 FA */ fmadds f2, f13, f31, f2
/* 802AD3F0 002AA350 D1 01 01 48 */ stfs f8, 0x148(r1)
/* 802AD3F4 002AA354 EC 2B 09 BA */ fmadds f1, f11, f6, f1
/* 802AD3F8 002AA358 D0 A1 01 4C */ stfs f5, 0x14c(r1)
/* 802AD3FC 002AA35C EC 0D 07 7A */ fmadds f0, f13, f29, f0
/* 802AD400 002AA360 3B E3 97 E4 */ addi r31, r3, __vt__19CCollisionPrimitive@l
/* 802AD404 002AA364 ED 0B 01 F2 */ fmuls f8, f11, f7
/* 802AD408 002AA368 D0 C1 01 B0 */ stfs f6, 0x1b0(r1)
/* 802AD40C 002AA36C EC BE E1 BA */ fmadds f5, f30, f6, f28
/* 802AD410 002AA370 D0 E1 01 B4 */ stfs f7, 0x1b4(r1)
/* 802AD414 002AA374 EC 6A D9 BA */ fmadds f3, f10, f6, f27
/* 802AD418 002AA378 3B 60 00 00 */ li r27, 0
/* 802AD41C 002AA37C D0 E1 01 B8 */ stfs f7, 0x1b8(r1)
/* 802AD420 002AA380 3B 40 00 00 */ li r26, 0
/* 802AD424 002AA384 EC A8 28 2A */ fadds f5, f8, f5
/* 802AD428 002AA388 D3 A1 01 C0 */ stfs f29, 0x1c0(r1)
/* 802AD42C 002AA38C EC 68 18 2A */ fadds f3, f8, f3
/* 802AD430 002AA390 D3 E1 01 C4 */ stfs f31, 0x1c4(r1)
/* 802AD434 002AA394 D0 A1 01 BC */ stfs f5, 0x1bc(r1)
/* 802AD438 002AA398 D3 E1 01 C8 */ stfs f31, 0x1c8(r1)
/* 802AD43C 002AA39C D0 81 01 CC */ stfs f4, 0x1cc(r1)
/* 802AD440 002AA3A0 D0 E1 01 D0 */ stfs f7, 0x1d0(r1)
/* 802AD444 002AA3A4 D0 C1 01 D4 */ stfs f6, 0x1d4(r1)
/* 802AD448 002AA3A8 D0 E1 01 D8 */ stfs f7, 0x1d8(r1)
/* 802AD44C 002AA3AC D0 61 01 DC */ stfs f3, 0x1dc(r1)
/* 802AD450 002AA3B0 D3 E1 01 E0 */ stfs f31, 0x1e0(r1)
/* 802AD454 002AA3B4 D3 A1 01 E4 */ stfs f29, 0x1e4(r1)
/* 802AD458 002AA3B8 D3 E1 01 E8 */ stfs f31, 0x1e8(r1)
/* 802AD45C 002AA3BC D0 41 01 EC */ stfs f2, 0x1ec(r1)
/* 802AD460 002AA3C0 D0 E1 01 F0 */ stfs f7, 0x1f0(r1)
/* 802AD464 002AA3C4 D0 E1 01 F4 */ stfs f7, 0x1f4(r1)
/* 802AD468 002AA3C8 D0 C1 01 F8 */ stfs f6, 0x1f8(r1)
/* 802AD46C 002AA3CC D0 21 01 FC */ stfs f1, 0x1fc(r1)
/* 802AD470 002AA3D0 D3 E1 02 00 */ stfs f31, 0x200(r1)
/* 802AD474 002AA3D4 D3 E1 02 04 */ stfs f31, 0x204(r1)
/* 802AD478 002AA3D8 D3 A1 02 08 */ stfs f29, 0x208(r1)
/* 802AD47C 002AA3DC D0 01 02 0C */ stfs f0, 0x20c(r1)
/* 802AD480 002AA3E0 48 00 00 94 */ b lbl_802AD514
lbl_802AD484:
/* 802AD484 002AA3E4 7F 83 E3 78 */ mr r3, r28
/* 802AD488 002AA3E8 81 9C 00 00 */ lwz r12, 0(r28)
/* 802AD48C 002AA3EC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD490 002AA3F0 7D 89 03 A6 */ mtctr r12
/* 802AD494 002AA3F4 4E 80 04 21 */ bctrl
/* 802AD498 002AA3F8 7C 7D 1B 78 */ mr r29, r3
/* 802AD49C 002AA3FC 7F 83 E3 78 */ mr r3, r28
/* 802AD4A0 002AA400 7F 44 D3 78 */ mr r4, r26
/* 802AD4A4 002AA404 48 00 04 A9 */ bl GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
/* 802AD4A8 002AA408 7C 64 1B 78 */ mr r4, r3
/* 802AD4AC 002AA40C 7F A5 EB 78 */ mr r5, r29
/* 802AD4B0 002AA410 38 61 00 40 */ addi r3, r1, 0x40
/* 802AD4B4 002AA414 4B FF F2 31 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802AD4B8 002AA418 80 78 00 00 */ lwz r3, 0(r24)
/* 802AD4BC 002AA41C 80 81 00 50 */ lwz r4, 0x50(r1)
/* 802AD4C0 002AA420 81 83 00 00 */ lwz r12, 0(r3)
/* 802AD4C4 002AA424 83 A4 00 88 */ lwz r29, 0x88(r4)
/* 802AD4C8 002AA428 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD4CC 002AA42C 7D 89 03 A6 */ mtctr r12
/* 802AD4D0 002AA430 4E 80 04 21 */ bctrl
/* 802AD4D4 002AA434 93 21 00 08 */ stw r25, 8(r1)
/* 802AD4D8 002AA438 7C 68 1B 78 */ mr r8, r3
/* 802AD4DC 002AA43C 7F A4 EB 78 */ mr r4, r29
/* 802AD4E0 002AA440 38 61 00 40 */ addi r3, r1, 0x40
/* 802AD4E4 002AA444 81 38 00 04 */ lwz r9, 4(r24)
/* 802AD4E8 002AA448 38 A1 01 80 */ addi r5, r1, 0x180
/* 802AD4EC 002AA44C 38 C1 00 60 */ addi r6, r1, 0x60
/* 802AD4F0 002AA450 38 E1 01 14 */ addi r7, r1, 0x114
/* 802AD4F4 002AA454 39 41 01 B0 */ addi r10, r1, 0x1b0
/* 802AD4F8 002AA458 4B FF EF FD */ bl AABoxCollision__18CCollidableOBBTreeCFRCQ28COBBTree5CNodeRC12CTransform4fRC6CAABoxRC6COBBoxRC13CMaterialListRC15CMaterialFilterPC6CPlaneR18CCollisionInfoList
/* 802AD4FC 002AA45C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802AD500 002AA460 41 82 00 08 */ beq lbl_802AD508
/* 802AD504 002AA464 3B 60 00 01 */ li r27, 1
lbl_802AD508:
/* 802AD508 002AA468 93 C1 00 40 */ stw r30, 0x40(r1)
/* 802AD50C 002AA46C 3B 5A 00 01 */ addi r26, r26, 1
/* 802AD510 002AA470 93 E1 00 40 */ stw r31, 0x40(r1)
lbl_802AD514:
/* 802AD514 002AA474 80 7C 00 10 */ lwz r3, 0x10(r28)
/* 802AD518 002AA478 80 03 00 04 */ lwz r0, 4(r3)
/* 802AD51C 002AA47C 7C 1A 00 00 */ cmpw r26, r0
/* 802AD520 002AA480 41 80 FF 64 */ blt lbl_802AD484
/* 802AD524 002AA484 7F 63 DB 78 */ mr r3, r27
/* 802AD528 002AA488 E3 E1 02 78 */ psq_l f31, 632(r1), 0, qr0
/* 802AD52C 002AA48C CB E1 02 70 */ lfd f31, 0x270(r1)
/* 802AD530 002AA490 E3 C1 02 68 */ psq_l f30, 616(r1), 0, qr0
/* 802AD534 002AA494 CB C1 02 60 */ lfd f30, 0x260(r1)
/* 802AD538 002AA498 E3 A1 02 58 */ psq_l f29, 600(r1), 0, qr0
/* 802AD53C 002AA49C CB A1 02 50 */ lfd f29, 0x250(r1)
/* 802AD540 002AA4A0 E3 81 02 48 */ psq_l f28, 584(r1), 0, qr0
/* 802AD544 002AA4A4 CB 81 02 40 */ lfd f28, 0x240(r1)
/* 802AD548 002AA4A8 E3 61 02 38 */ psq_l f27, 568(r1), 0, qr0
/* 802AD54C 002AA4AC CB 61 02 30 */ lfd f27, 0x230(r1)
/* 802AD550 002AA4B0 BB 01 02 10 */ lmw r24, 0x210(r1)
/* 802AD554 002AA4B4 80 01 02 84 */ lwz r0, 0x284(r1)
/* 802AD558 002AA4B8 7C 08 03 A6 */ mtlr r0
/* 802AD55C 002AA4BC 38 21 02 80 */ addi r1, r1, 0x280
/* 802AD560 002AA4C0 4E 80 00 20 */ blr
.global CastRayInternal__23CCollidableOBBTreeGroupCFRC25CInternalRayCastStructure
CastRayInternal__23CCollidableOBBTreeGroupCFRC25CInternalRayCastStructure:
/* 802AD564 002AA4C4 94 21 FE 30 */ stwu r1, -0x1d0(r1)
/* 802AD568 002AA4C8 7C 08 02 A6 */ mflr r0
/* 802AD56C 002AA4CC 90 01 01 D4 */ stw r0, 0x1d4(r1)
/* 802AD570 002AA4D0 DB E1 01 C0 */ stfd f31, 0x1c0(r1)
/* 802AD574 002AA4D4 F3 E1 01 C8 */ psq_st f31, 456(r1), 0, qr0
/* 802AD578 002AA4D8 DB C1 01 B0 */ stfd f30, 0x1b0(r1)
/* 802AD57C 002AA4DC F3 C1 01 B8 */ psq_st f30, 440(r1), 0, qr0
/* 802AD580 002AA4E0 BE C1 01 88 */ stmw r22, 0x188(r1)
/* 802AD584 002AA4E4 C0 22 C1 E0 */ lfs f1, lbl_805ADF00@sda21(r2)
/* 802AD588 002AA4E8 7C 79 1B 78 */ mr r25, r3
/* 802AD58C 002AA4EC C0 02 C1 E4 */ lfs f0, lbl_805ADF04@sda21(r2)
/* 802AD590 002AA4F0 7C 9A 23 78 */ mr r26, r4
/* 802AD594 002AA4F4 D0 21 00 E0 */ stfs f1, 0xe0(r1)
/* 802AD598 002AA4F8 7C BB 2B 78 */ mr r27, r5
/* 802AD59C 002AA4FC 38 61 00 10 */ addi r3, r1, 0x10
/* 802AD5A0 002AA500 D0 21 00 E4 */ stfs f1, 0xe4(r1)
/* 802AD5A4 002AA504 D0 21 00 E8 */ stfs f1, 0xe8(r1)
/* 802AD5A8 002AA508 D0 21 00 EC */ stfs f1, 0xec(r1)
/* 802AD5AC 002AA50C D0 01 00 10 */ stfs f0, 0x10(r1)
/* 802AD5B0 002AA510 D0 21 00 14 */ stfs f1, 0x14(r1)
/* 802AD5B4 002AA514 D0 21 00 18 */ stfs f1, 0x18(r1)
/* 802AD5B8 002AA518 48 06 73 41 */ bl Normalize__9CVector3fFv
/* 802AD5BC 002AA51C C0 61 00 10 */ lfs f3, 0x10(r1)
/* 802AD5C0 002AA520 38 00 00 00 */ li r0, 0
/* 802AD5C4 002AA524 C0 41 00 14 */ lfs f2, 0x14(r1)
/* 802AD5C8 002AA528 7F 64 DB 78 */ mr r4, r27
/* 802AD5CC 002AA52C C0 21 00 18 */ lfs f1, 0x18(r1)
/* 802AD5D0 002AA530 38 61 00 70 */ addi r3, r1, 0x70
/* 802AD5D4 002AA534 C0 02 C1 E0 */ lfs f0, lbl_805ADF00@sda21(r2)
/* 802AD5D8 002AA538 38 BB 00 3C */ addi r5, r27, 0x3c
/* 802AD5DC 002AA53C D0 61 00 F0 */ stfs f3, 0xf0(r1)
/* 802AD5E0 002AA540 80 DA 00 10 */ lwz r6, 0x10(r26)
/* 802AD5E4 002AA544 D0 41 00 F4 */ stfs f2, 0xf4(r1)
/* 802AD5E8 002AA548 C3 FB 00 38 */ lfs f31, 0x38(r27)
/* 802AD5EC 002AA54C D0 21 00 F8 */ stfs f1, 0xf8(r1)
/* 802AD5F0 002AA550 D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 802AD5F4 002AA554 98 01 01 00 */ stb r0, 0x100(r1)
/* 802AD5F8 002AA558 90 01 01 0C */ stw r0, 0x10c(r1)
/* 802AD5FC 002AA55C 90 01 01 08 */ stw r0, 0x108(r1)
/* 802AD600 002AA560 83 E6 00 0C */ lwz r31, 0xc(r6)
/* 802AD604 002AA564 83 C6 00 1C */ lwz r30, 0x1c(r6)
/* 802AD608 002AA568 48 02 89 E1 */ bl GetInvUnscaledTransformRay__5CMRayCFRC12CTransform4f
/* 802AD60C 002AA56C C1 A1 00 70 */ lfs f13, 0x70(r1)
/* 802AD610 002AA570 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802AD614 002AA574 C1 81 00 74 */ lfs f12, 0x74(r1)
/* 802AD618 002AA578 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802AD61C 002AA57C C1 61 00 78 */ lfs f11, 0x78(r1)
/* 802AD620 002AA580 3B 81 00 D4 */ addi r28, r1, 0xd4
/* 802AD624 002AA584 C1 41 00 7C */ lfs f10, 0x7c(r1)
/* 802AD628 002AA588 3B A1 01 4C */ addi r29, r1, 0x14c
/* 802AD62C 002AA58C C1 21 00 80 */ lfs f9, 0x80(r1)
/* 802AD630 002AA590 3A E4 C4 48 */ addi r23, r4, lbl_803EC448@l
/* 802AD634 002AA594 C1 01 00 84 */ lfs f8, 0x84(r1)
/* 802AD638 002AA598 3B 03 97 E4 */ addi r24, r3, __vt__19CCollisionPrimitive@l
/* 802AD63C 002AA59C C0 E1 00 88 */ lfs f7, 0x88(r1)
/* 802AD640 002AA5A0 C0 C1 00 8C */ lfs f6, 0x8c(r1)
/* 802AD644 002AA5A4 C0 A1 00 90 */ lfs f5, 0x90(r1)
/* 802AD648 002AA5A8 C0 81 00 94 */ lfs f4, 0x94(r1)
/* 802AD64C 002AA5AC C0 61 00 98 */ lfs f3, 0x98(r1)
/* 802AD650 002AA5B0 C0 41 00 9C */ lfs f2, 0x9c(r1)
/* 802AD654 002AA5B4 C0 21 00 A0 */ lfs f1, 0xa0(r1)
/* 802AD658 002AA5B8 C0 01 00 A4 */ lfs f0, 0xa4(r1)
/* 802AD65C 002AA5BC D1 A1 00 A8 */ stfs f13, 0xa8(r1)
/* 802AD660 002AA5C0 C3 C2 C1 E0 */ lfs f30, lbl_805ADF00@sda21(r2)
/* 802AD664 002AA5C4 D1 81 00 AC */ stfs f12, 0xac(r1)
/* 802AD668 002AA5C8 D1 61 00 B0 */ stfs f11, 0xb0(r1)
/* 802AD66C 002AA5CC D1 41 00 B4 */ stfs f10, 0xb4(r1)
/* 802AD670 002AA5D0 D1 21 00 B8 */ stfs f9, 0xb8(r1)
/* 802AD674 002AA5D4 D1 01 00 BC */ stfs f8, 0xbc(r1)
/* 802AD678 002AA5D8 D0 E1 00 C0 */ stfs f7, 0xc0(r1)
/* 802AD67C 002AA5DC D0 C1 00 C4 */ stfs f6, 0xc4(r1)
/* 802AD680 002AA5E0 D0 A1 00 C8 */ stfs f5, 0xc8(r1)
/* 802AD684 002AA5E4 D0 81 00 CC */ stfs f4, 0xcc(r1)
/* 802AD688 002AA5E8 D0 61 00 D0 */ stfs f3, 0xd0(r1)
/* 802AD68C 002AA5EC D0 41 00 D4 */ stfs f2, 0xd4(r1)
/* 802AD690 002AA5F0 D0 21 00 D8 */ stfs f1, 0xd8(r1)
/* 802AD694 002AA5F4 D0 01 00 DC */ stfs f0, 0xdc(r1)
/* 802AD698 002AA5F8 48 00 01 74 */ b lbl_802AD80C
lbl_802AD69C:
/* 802AD69C 002AA5FC 7F 43 D3 78 */ mr r3, r26
/* 802AD6A0 002AA600 82 DF 00 04 */ lwz r22, 4(r31)
/* 802AD6A4 002AA604 81 9A 00 00 */ lwz r12, 0(r26)
/* 802AD6A8 002AA608 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 802AD6AC 002AA60C 7D 89 03 A6 */ mtctr r12
/* 802AD6B0 002AA610 4E 80 04 21 */ bctrl
/* 802AD6B4 002AA614 7C 65 1B 78 */ mr r5, r3
/* 802AD6B8 002AA618 7E C4 B3 78 */ mr r4, r22
/* 802AD6BC 002AA61C 38 61 00 20 */ addi r3, r1, 0x20
/* 802AD6C0 002AA620 4B FF F0 25 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802AD6C4 002AA624 D3 C1 00 0C */ stfs f30, 0xc(r1)
/* 802AD6C8 002AA628 7F C4 F3 78 */ mr r4, r30
/* 802AD6CC 002AA62C 38 61 00 A8 */ addi r3, r1, 0xa8
/* 802AD6D0 002AA630 38 A1 00 0C */ addi r5, r1, 0xc
/* 802AD6D4 002AA634 D3 C1 00 08 */ stfs f30, 8(r1)
/* 802AD6D8 002AA638 38 C1 00 08 */ addi r6, r1, 8
/* 802AD6DC 002AA63C 48 02 58 A5 */ bl RayAABoxIntersection__13CollisionUtilFRC5CMRayRC6CAABoxRfRf
/* 802AD6E0 002AA640 2C 03 00 00 */ cmpwi r3, 0
/* 802AD6E4 002AA644 41 82 01 18 */ beq lbl_802AD7FC
/* 802AD6E8 002AA648 FC 20 F8 90 */ fmr f1, f31
/* 802AD6EC 002AA64C 82 DB 00 6C */ lwz r22, 0x6c(r27)
/* 802AD6F0 002AA650 7F 85 E3 78 */ mr r5, r28
/* 802AD6F4 002AA654 38 61 01 10 */ addi r3, r1, 0x110
/* 802AD6F8 002AA658 38 81 00 A8 */ addi r4, r1, 0xa8
/* 802AD6FC 002AA65C 48 02 89 71 */ bl __ct__5CMRayFRC9CVector3fRC9CVector3ff
/* 802AD700 002AA660 3C 60 80 5A */ lis r3, sIdentity__12CTransform4f@ha
/* 802AD704 002AA664 D3 E1 01 48 */ stfs f31, 0x148(r1)
/* 802AD708 002AA668 38 83 66 70 */ addi r4, r3, sIdentity__12CTransform4f@l
/* 802AD70C 002AA66C 7F A3 EB 78 */ mr r3, r29
/* 802AD710 002AA670 48 06 54 65 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 802AD714 002AA674 92 C1 01 7C */ stw r22, 0x17c(r1)
/* 802AD718 002AA678 38 61 00 40 */ addi r3, r1, 0x40
/* 802AD71C 002AA67C 81 81 00 20 */ lwz r12, 0x20(r1)
/* 802AD720 002AA680 38 81 00 20 */ addi r4, r1, 0x20
/* 802AD724 002AA684 38 A1 01 10 */ addi r5, r1, 0x110
/* 802AD728 002AA688 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 802AD72C 002AA68C 7D 89 03 A6 */ mtctr r12
/* 802AD730 002AA690 4E 80 04 21 */ bctrl
/* 802AD734 002AA694 88 A1 00 60 */ lbz r5, 0x60(r1)
/* 802AD738 002AA698 28 05 00 00 */ cmplwi r5, 0
/* 802AD73C 002AA69C 41 82 00 C0 */ beq lbl_802AD7FC
/* 802AD740 002AA6A0 88 01 01 00 */ lbz r0, 0x100(r1)
/* 802AD744 002AA6A4 28 00 00 00 */ cmplwi r0, 0
/* 802AD748 002AA6A8 41 82 00 64 */ beq lbl_802AD7AC
/* 802AD74C 002AA6AC C0 A1 00 40 */ lfs f5, 0x40(r1)
/* 802AD750 002AA6B0 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 802AD754 002AA6B4 FC 05 00 40 */ fcmpo cr0, f5, f0
/* 802AD758 002AA6B8 40 80 00 A4 */ bge lbl_802AD7FC
/* 802AD75C 002AA6BC 80 81 00 44 */ lwz r4, 0x44(r1)
/* 802AD760 002AA6C0 FF E0 28 90 */ fmr f31, f5
/* 802AD764 002AA6C4 80 61 00 48 */ lwz r3, 0x48(r1)
/* 802AD768 002AA6C8 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 802AD76C 002AA6CC C0 81 00 50 */ lfs f4, 0x50(r1)
/* 802AD770 002AA6D0 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 802AD774 002AA6D4 C0 41 00 58 */ lfs f2, 0x58(r1)
/* 802AD778 002AA6D8 C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 802AD77C 002AA6DC C8 01 00 68 */ lfd f0, 0x68(r1)
/* 802AD780 002AA6E0 D0 A1 00 E0 */ stfs f5, 0xe0(r1)
/* 802AD784 002AA6E4 90 81 00 E4 */ stw r4, 0xe4(r1)
/* 802AD788 002AA6E8 90 61 00 E8 */ stw r3, 0xe8(r1)
/* 802AD78C 002AA6EC 90 01 00 EC */ stw r0, 0xec(r1)
/* 802AD790 002AA6F0 D0 81 00 F0 */ stfs f4, 0xf0(r1)
/* 802AD794 002AA6F4 D0 61 00 F4 */ stfs f3, 0xf4(r1)
/* 802AD798 002AA6F8 D0 41 00 F8 */ stfs f2, 0xf8(r1)
/* 802AD79C 002AA6FC D0 21 00 FC */ stfs f1, 0xfc(r1)
/* 802AD7A0 002AA700 98 A1 01 00 */ stb r5, 0x100(r1)
/* 802AD7A4 002AA704 D8 01 01 08 */ stfd f0, 0x108(r1)
/* 802AD7A8 002AA708 48 00 00 54 */ b lbl_802AD7FC
lbl_802AD7AC:
/* 802AD7AC 002AA70C C0 A1 00 40 */ lfs f5, 0x40(r1)
/* 802AD7B0 002AA710 80 81 00 44 */ lwz r4, 0x44(r1)
/* 802AD7B4 002AA714 80 61 00 48 */ lwz r3, 0x48(r1)
/* 802AD7B8 002AA718 FF E0 28 90 */ fmr f31, f5
/* 802AD7BC 002AA71C 80 01 00 4C */ lwz r0, 0x4c(r1)
/* 802AD7C0 002AA720 C0 81 00 50 */ lfs f4, 0x50(r1)
/* 802AD7C4 002AA724 C0 61 00 54 */ lfs f3, 0x54(r1)
/* 802AD7C8 002AA728 C0 41 00 58 */ lfs f2, 0x58(r1)
/* 802AD7CC 002AA72C C0 21 00 5C */ lfs f1, 0x5c(r1)
/* 802AD7D0 002AA730 C8 01 00 68 */ lfd f0, 0x68(r1)
/* 802AD7D4 002AA734 D0 A1 00 E0 */ stfs f5, 0xe0(r1)
/* 802AD7D8 002AA738 90 81 00 E4 */ stw r4, 0xe4(r1)
/* 802AD7DC 002AA73C 90 61 00 E8 */ stw r3, 0xe8(r1)
/* 802AD7E0 002AA740 90 01 00 EC */ stw r0, 0xec(r1)
/* 802AD7E4 002AA744 D0 81 00 F0 */ stfs f4, 0xf0(r1)
/* 802AD7E8 002AA748 D0 61 00 F4 */ stfs f3, 0xf4(r1)
/* 802AD7EC 002AA74C D0 41 00 F8 */ stfs f2, 0xf8(r1)
/* 802AD7F0 002AA750 D0 21 00 FC */ stfs f1, 0xfc(r1)
/* 802AD7F4 002AA754 98 A1 01 00 */ stb r5, 0x100(r1)
/* 802AD7F8 002AA758 D8 01 01 08 */ stfd f0, 0x108(r1)
lbl_802AD7FC:
/* 802AD7FC 002AA75C 92 E1 00 20 */ stw r23, 0x20(r1)
/* 802AD800 002AA760 3B FF 00 08 */ addi r31, r31, 8
/* 802AD804 002AA764 3B DE 00 18 */ addi r30, r30, 0x18
/* 802AD808 002AA768 93 01 00 20 */ stw r24, 0x20(r1)
lbl_802AD80C:
/* 802AD80C 002AA76C 80 7A 00 10 */ lwz r3, 0x10(r26)
/* 802AD810 002AA770 80 03 00 04 */ lwz r0, 4(r3)
/* 802AD814 002AA774 80 63 00 0C */ lwz r3, 0xc(r3)
/* 802AD818 002AA778 54 00 18 38 */ slwi r0, r0, 3
/* 802AD81C 002AA77C 7C 03 02 14 */ add r0, r3, r0
/* 802AD820 002AA780 7C 1F 00 40 */ cmplw r31, r0
/* 802AD824 002AA784 40 82 FE 78 */ bne lbl_802AD69C
/* 802AD828 002AA788 38 61 00 E0 */ addi r3, r1, 0xe0
/* 802AD82C 002AA78C 38 9B 00 3C */ addi r4, r27, 0x3c
/* 802AD830 002AA790 48 00 00 81 */ bl Transform__14CRayCastResultFRC12CTransform4f
/* 802AD834 002AA794 C0 01 00 E0 */ lfs f0, 0xe0(r1)
/* 802AD838 002AA798 D0 19 00 00 */ stfs f0, 0(r25)
/* 802AD83C 002AA79C C0 01 00 E4 */ lfs f0, 0xe4(r1)
/* 802AD840 002AA7A0 D0 19 00 04 */ stfs f0, 4(r25)
/* 802AD844 002AA7A4 C0 01 00 E8 */ lfs f0, 0xe8(r1)
/* 802AD848 002AA7A8 D0 19 00 08 */ stfs f0, 8(r25)
/* 802AD84C 002AA7AC C0 01 00 EC */ lfs f0, 0xec(r1)
/* 802AD850 002AA7B0 D0 19 00 0C */ stfs f0, 0xc(r25)
/* 802AD854 002AA7B4 C0 01 00 F0 */ lfs f0, 0xf0(r1)
/* 802AD858 002AA7B8 D0 19 00 10 */ stfs f0, 0x10(r25)
/* 802AD85C 002AA7BC C0 01 00 F4 */ lfs f0, 0xf4(r1)
/* 802AD860 002AA7C0 D0 19 00 14 */ stfs f0, 0x14(r25)
/* 802AD864 002AA7C4 C0 01 00 F8 */ lfs f0, 0xf8(r1)
/* 802AD868 002AA7C8 D0 19 00 18 */ stfs f0, 0x18(r25)
/* 802AD86C 002AA7CC C0 01 00 FC */ lfs f0, 0xfc(r1)
/* 802AD870 002AA7D0 D0 19 00 1C */ stfs f0, 0x1c(r25)
/* 802AD874 002AA7D4 88 01 01 00 */ lbz r0, 0x100(r1)
/* 802AD878 002AA7D8 98 19 00 20 */ stb r0, 0x20(r25)
/* 802AD87C 002AA7DC 80 01 01 08 */ lwz r0, 0x108(r1)
/* 802AD880 002AA7E0 80 61 01 0C */ lwz r3, 0x10c(r1)
/* 802AD884 002AA7E4 90 79 00 2C */ stw r3, 0x2c(r25)
/* 802AD888 002AA7E8 90 19 00 28 */ stw r0, 0x28(r25)
/* 802AD88C 002AA7EC E3 E1 01 C8 */ psq_l f31, 456(r1), 0, qr0
/* 802AD890 002AA7F0 CB E1 01 C0 */ lfd f31, 0x1c0(r1)
/* 802AD894 002AA7F4 E3 C1 01 B8 */ psq_l f30, 440(r1), 0, qr0
/* 802AD898 002AA7F8 CB C1 01 B0 */ lfd f30, 0x1b0(r1)
/* 802AD89C 002AA7FC BA C1 01 88 */ lmw r22, 0x188(r1)
/* 802AD8A0 002AA800 80 01 01 D4 */ lwz r0, 0x1d4(r1)
/* 802AD8A4 002AA804 7C 08 03 A6 */ mtlr r0
/* 802AD8A8 002AA808 38 21 01 D0 */ addi r1, r1, 0x1d0
/* 802AD8AC 002AA80C 4E 80 00 20 */ blr
.global Transform__14CRayCastResultFRC12CTransform4f
Transform__14CRayCastResultFRC12CTransform4f:
/* 802AD8B0 002AA810 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802AD8B4 002AA814 7C 08 02 A6 */ mflr r0
/* 802AD8B8 002AA818 90 01 00 34 */ stw r0, 0x34(r1)
/* 802AD8BC 002AA81C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802AD8C0 002AA820 7C 9F 23 78 */ mr r31, r4
/* 802AD8C4 002AA824 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802AD8C8 002AA828 7C 7E 1B 78 */ mr r30, r3
/* 802AD8CC 002AA82C 38 61 00 14 */ addi r3, r1, 0x14
/* 802AD8D0 002AA830 38 BE 00 04 */ addi r5, r30, 4
/* 802AD8D4 002AA834 48 06 52 15 */ bl __ml__12CTransform4fCFRC9CVector3f
/* 802AD8D8 002AA838 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 802AD8DC 002AA83C 7F E4 FB 78 */ mr r4, r31
/* 802AD8E0 002AA840 38 61 00 08 */ addi r3, r1, 8
/* 802AD8E4 002AA844 38 BE 00 10 */ addi r5, r30, 0x10
/* 802AD8E8 002AA848 D0 1E 00 04 */ stfs f0, 4(r30)
/* 802AD8EC 002AA84C C0 01 00 18 */ lfs f0, 0x18(r1)
/* 802AD8F0 002AA850 D0 1E 00 08 */ stfs f0, 8(r30)
/* 802AD8F4 002AA854 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 802AD8F8 002AA858 D0 1E 00 0C */ stfs f0, 0xc(r30)
/* 802AD8FC 002AA85C 48 06 51 85 */ bl Rotate__12CTransform4fCFRC9CVector3f
/* 802AD900 002AA860 C0 81 00 0C */ lfs f4, 0xc(r1)
/* 802AD904 002AA864 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802AD908 002AA868 C0 61 00 08 */ lfs f3, 8(r1)
/* 802AD90C 002AA86C EC 00 01 32 */ fmuls f0, f0, f4
/* 802AD910 002AA870 C0 3E 00 04 */ lfs f1, 4(r30)
/* 802AD914 002AA874 C0 A1 00 10 */ lfs f5, 0x10(r1)
/* 802AD918 002AA878 C0 5E 00 0C */ lfs f2, 0xc(r30)
/* 802AD91C 002AA87C EC 01 00 FA */ fmadds f0, f1, f3, f0
/* 802AD920 002AA880 D0 7E 00 10 */ stfs f3, 0x10(r30)
/* 802AD924 002AA884 D0 9E 00 14 */ stfs f4, 0x14(r30)
/* 802AD928 002AA888 EC 02 01 7A */ fmadds f0, f2, f5, f0
/* 802AD92C 002AA88C D0 BE 00 18 */ stfs f5, 0x18(r30)
/* 802AD930 002AA890 D0 1E 00 1C */ stfs f0, 0x1c(r30)
/* 802AD934 002AA894 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802AD938 002AA898 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802AD93C 002AA89C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802AD940 002AA8A0 7C 08 03 A6 */ mtlr r0
/* 802AD944 002AA8A4 38 21 00 30 */ addi r1, r1, 0x30
/* 802AD948 002AA8A8 4E 80 00 20 */ blr
.global GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi
GetOBBTreeAABox__23CCollidableOBBTreeGroupCFi:
/* 802AD94C 002AA8AC 80 A3 00 10 */ lwz r5, 0x10(r3)
/* 802AD950 002AA8B0 54 83 18 38 */ slwi r3, r4, 3
/* 802AD954 002AA8B4 38 03 00 04 */ addi r0, r3, 4
/* 802AD958 002AA8B8 80 65 00 0C */ lwz r3, 0xc(r5)
/* 802AD95C 002AA8BC 7C 63 00 2E */ lwzx r3, r3, r0
/* 802AD960 002AA8C0 4E 80 00 20 */ blr
.global "__ct__23CCollidableOBBTreeGroupFP32CCollidableOBBTreeGroupContainerRC13CMaterialList"
"__ct__23CCollidableOBBTreeGroupFP32CCollidableOBBTreeGroupContainerRC13CMaterialList":
/* 802AD964 002AA8C4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AD968 002AA8C8 7C 08 02 A6 */ mflr r0
/* 802AD96C 002AA8CC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AD970 002AA8D0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AD974 002AA8D4 7C 9F 23 78 */ mr r31, r4
/* 802AD978 002AA8D8 7C A4 2B 78 */ mr r4, r5
/* 802AD97C 002AA8DC 93 C1 00 08 */ stw r30, 8(r1)
/* 802AD980 002AA8E0 7C 7E 1B 78 */ mr r30, r3
/* 802AD984 002AA8E4 48 02 1F 31 */ bl __ct__19CCollisionPrimitiveFRC13CMaterialList
/* 802AD988 002AA8E8 3C 80 80 3F */ lis r4, __vt__23CCollidableOBBTreeGroup@ha
/* 802AD98C 002AA8EC 7F C3 F3 78 */ mr r3, r30
/* 802AD990 002AA8F0 38 04 C4 70 */ addi r0, r4, __vt__23CCollidableOBBTreeGroup@l
/* 802AD994 002AA8F4 90 1E 00 00 */ stw r0, 0(r30)
/* 802AD998 002AA8F8 93 FE 00 10 */ stw r31, 0x10(r30)
/* 802AD99C 002AA8FC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AD9A0 002AA900 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AD9A4 002AA904 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AD9A8 002AA908 7C 08 03 A6 */ mtlr r0
/* 802AD9AC 002AA90C 38 21 00 10 */ addi r1, r1, 0x10
/* 802AD9B0 002AA910 4E 80 00 20 */ blr
.global GetType__23CCollidableOBBTreeGroupFv
GetType__23CCollidableOBBTreeGroupFv:
/* 802AD9B4 002AA914 3C A0 80 2B */ lis r5, SetStaticTableIndex__23CCollidableOBBTreeGroupFUi@ha
/* 802AD9B8 002AA918 3C 80 80 3D */ lis r4, lbl_803D60F0@ha
/* 802AD9BC 002AA91C 38 05 D9 D0 */ addi r0, r5, SetStaticTableIndex__23CCollidableOBBTreeGroupFUi@l
/* 802AD9C0 002AA920 90 03 00 00 */ stw r0, 0(r3)
/* 802AD9C4 002AA924 38 04 60 F0 */ addi r0, r4, lbl_803D60F0@l
/* 802AD9C8 002AA928 90 03 00 04 */ stw r0, 4(r3)
/* 802AD9CC 002AA92C 4E 80 00 20 */ blr
.global SetStaticTableIndex__23CCollidableOBBTreeGroupFUi
SetStaticTableIndex__23CCollidableOBBTreeGroupFUi:
/* 802AD9D0 002AA930 90 6D 9A 78 */ stw r3, lbl_805A8638@sda21(r13)
/* 802AD9D4 002AA934 4E 80 00 20 */ blr
.global __ct__23CCollidableOBBTreeGroupFRC9CVector3fRC9CVector3f
__ct__23CCollidableOBBTreeGroupFRC9CVector3fRC9CVector3f:
/* 802AD9D8 002AA938 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802AD9DC 002AA93C 7C 08 02 A6 */ mflr r0
/* 802AD9E0 002AA940 3C C0 80 5A */ lis r6, mskInvertedBox__6CAABox@ha
/* 802AD9E4 002AA944 90 01 00 94 */ stw r0, 0x94(r1)
/* 802AD9E8 002AA948 38 00 00 00 */ li r0, 0
/* 802AD9EC 002AA94C BF 61 00 7C */ stmw r27, 0x7c(r1)
/* 802AD9F0 002AA950 7C BB 2B 78 */ mr r27, r5
/* 802AD9F4 002AA954 7C 9C 23 78 */ mr r28, r4
/* 802AD9F8 002AA958 38 A6 67 54 */ addi r5, r6, mskInvertedBox__6CAABox@l
/* 802AD9FC 002AA95C 7C 7D 1B 78 */ mr r29, r3
/* 802ADA00 002AA960 38 80 00 01 */ li r4, 1
/* 802ADA04 002AA964 90 03 00 04 */ stw r0, 4(r3)
/* 802ADA08 002AA968 90 03 00 08 */ stw r0, 8(r3)
/* 802ADA0C 002AA96C 90 03 00 0C */ stw r0, 0xc(r3)
/* 802ADA10 002AA970 90 03 00 14 */ stw r0, 0x14(r3)
/* 802ADA14 002AA974 90 03 00 18 */ stw r0, 0x18(r3)
/* 802ADA18 002AA978 90 03 00 1C */ stw r0, 0x1c(r3)
/* 802ADA1C 002AA97C C0 05 00 00 */ lfs f0, 0(r5)
/* 802ADA20 002AA980 D0 03 00 20 */ stfs f0, 0x20(r3)
/* 802ADA24 002AA984 C0 05 00 04 */ lfs f0, 4(r5)
/* 802ADA28 002AA988 D0 03 00 24 */ stfs f0, 0x24(r3)
/* 802ADA2C 002AA98C C0 05 00 08 */ lfs f0, 8(r5)
/* 802ADA30 002AA990 D0 03 00 28 */ stfs f0, 0x28(r3)
/* 802ADA34 002AA994 C0 05 00 0C */ lfs f0, 0xc(r5)
/* 802ADA38 002AA998 D0 03 00 2C */ stfs f0, 0x2c(r3)
/* 802ADA3C 002AA99C C0 05 00 10 */ lfs f0, 0x10(r5)
/* 802ADA40 002AA9A0 D0 03 00 30 */ stfs f0, 0x30(r3)
/* 802ADA44 002AA9A4 C0 05 00 14 */ lfs f0, 0x14(r5)
/* 802ADA48 002AA9A8 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 802ADA4C 002AA9AC 48 00 07 6D */ bl "reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi"
/* 802ADA50 002AA9B0 7F 84 E3 78 */ mr r4, r28
/* 802ADA54 002AA9B4 7F 65 DB 78 */ mr r5, r27
/* 802ADA58 002AA9B8 38 61 00 18 */ addi r3, r1, 0x18
/* 802ADA5C 002AA9BC 4B FF A5 B5 */ bl BuildOrientedBoundingBoxTree__8COBBTreeFRC9CVector3fRC9CVector3f
/* 802ADA60 002AA9C0 88 81 00 18 */ lbz r4, 0x18(r1)
/* 802ADA64 002AA9C4 38 00 00 00 */ li r0, 0
/* 802ADA68 002AA9C8 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 802ADA6C 002AA9CC 98 01 00 18 */ stb r0, 0x18(r1)
/* 802ADA70 002AA9D0 80 1D 00 04 */ lwz r0, 4(r29)
/* 802ADA74 002AA9D4 80 BD 00 08 */ lwz r5, 8(r29)
/* 802ADA78 002AA9D8 98 81 00 10 */ stb r4, 0x10(r1)
/* 802ADA7C 002AA9DC 7C 00 28 00 */ cmpw r0, r5
/* 802ADA80 002AA9E0 90 61 00 14 */ stw r3, 0x14(r1)
/* 802ADA84 002AA9E4 41 80 00 1C */ blt lbl_802ADAA0
/* 802ADA88 002AA9E8 2C 05 00 00 */ cmpwi r5, 0
/* 802ADA8C 002AA9EC 7F A3 EB 78 */ mr r3, r29
/* 802ADA90 002AA9F0 38 80 00 04 */ li r4, 4
/* 802ADA94 002AA9F4 41 82 00 08 */ beq lbl_802ADA9C
/* 802ADA98 002AA9F8 54 A4 08 3C */ slwi r4, r5, 1
lbl_802ADA9C:
/* 802ADA9C 002AA9FC 48 00 07 1D */ bl "reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi"
lbl_802ADAA0:
/* 802ADAA0 002AAA00 80 1D 00 04 */ lwz r0, 4(r29)
/* 802ADAA4 002AAA04 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 802ADAA8 002AAA08 54 00 18 38 */ slwi r0, r0, 3
/* 802ADAAC 002AAA0C 7C A3 02 15 */ add. r5, r3, r0
/* 802ADAB0 002AAA10 41 82 00 1C */ beq lbl_802ADACC
/* 802ADAB4 002AAA14 88 81 00 10 */ lbz r4, 0x10(r1)
/* 802ADAB8 002AAA18 38 00 00 00 */ li r0, 0
/* 802ADABC 002AAA1C 80 61 00 14 */ lwz r3, 0x14(r1)
/* 802ADAC0 002AAA20 98 85 00 00 */ stb r4, 0(r5)
/* 802ADAC4 002AAA24 90 65 00 04 */ stw r3, 4(r5)
/* 802ADAC8 002AAA28 98 01 00 10 */ stb r0, 0x10(r1)
lbl_802ADACC:
/* 802ADACC 002AAA2C 80 7D 00 04 */ lwz r3, 4(r29)
/* 802ADAD0 002AAA30 88 01 00 10 */ lbz r0, 0x10(r1)
/* 802ADAD4 002AAA34 38 63 00 01 */ addi r3, r3, 1
/* 802ADAD8 002AAA38 28 00 00 00 */ cmplwi r0, 0
/* 802ADADC 002AAA3C 90 7D 00 04 */ stw r3, 4(r29)
/* 802ADAE0 002AAA40 41 82 00 10 */ beq lbl_802ADAF0
/* 802ADAE4 002AAA44 80 61 00 14 */ lwz r3, 0x14(r1)
/* 802ADAE8 002AAA48 38 80 00 01 */ li r4, 1
/* 802ADAEC 002AAA4C 4B FF B2 25 */ bl __dt__8COBBTreeFv
lbl_802ADAF0:
/* 802ADAF0 002AAA50 88 01 00 18 */ lbz r0, 0x18(r1)
/* 802ADAF4 002AAA54 28 00 00 00 */ cmplwi r0, 0
/* 802ADAF8 002AAA58 41 82 00 10 */ beq lbl_802ADB08
/* 802ADAFC 002AAA5C 80 61 00 1C */ lwz r3, 0x1c(r1)
/* 802ADB00 002AAA60 38 80 00 01 */ li r4, 1
/* 802ADB04 002AAA64 4B FF B2 0D */ bl __dt__8COBBTreeFv
lbl_802ADB08:
/* 802ADB08 002AAA68 38 7D 00 10 */ addi r3, r29, 0x10
/* 802ADB0C 002AAA6C 38 80 00 01 */ li r4, 1
/* 802ADB10 002AAA70 48 00 07 B9 */ bl "reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi"
/* 802ADB14 002AAA74 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802ADB18 002AAA78 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802ADB1C 002AAA7C 83 FD 00 0C */ lwz r31, 0xc(r29)
/* 802ADB20 002AAA80 3B C1 00 44 */ addi r30, r1, 0x44
/* 802ADB24 002AAA84 3B 64 C4 48 */ addi r27, r4, lbl_803EC448@l
/* 802ADB28 002AAA88 3B 83 97 E4 */ addi r28, r3, __vt__19CCollisionPrimitive@l
/* 802ADB2C 002AAA8C 48 00 00 F8 */ b lbl_802ADC24
lbl_802ADB30:
/* 802ADB30 002AAA90 38 00 00 00 */ li r0, 0
/* 802ADB34 002AAA94 38 61 00 50 */ addi r3, r1, 0x50
/* 802ADB38 002AAA98 90 01 00 0C */ stw r0, 0xc(r1)
/* 802ADB3C 002AAA9C 38 A1 00 08 */ addi r5, r1, 8
/* 802ADB40 002AAAA0 90 01 00 08 */ stw r0, 8(r1)
/* 802ADB44 002AAAA4 80 9F 00 04 */ lwz r4, 4(r31)
/* 802ADB48 002AAAA8 4B FF EB 9D */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802ADB4C 002AAAAC 38 61 00 20 */ addi r3, r1, 0x20
/* 802ADB50 002AAAB0 38 81 00 50 */ addi r4, r1, 0x50
/* 802ADB54 002AAAB4 4B FF EA D9 */ bl CalculateLocalAABox__18CCollidableOBBTreeCFv
/* 802ADB58 002AAAB8 C0 A1 00 20 */ lfs f5, 0x20(r1)
/* 802ADB5C 002AAABC C0 81 00 24 */ lfs f4, 0x24(r1)
/* 802ADB60 002AAAC0 C0 61 00 28 */ lfs f3, 0x28(r1)
/* 802ADB64 002AAAC4 C0 41 00 2C */ lfs f2, 0x2c(r1)
/* 802ADB68 002AAAC8 C0 21 00 30 */ lfs f1, 0x30(r1)
/* 802ADB6C 002AAACC C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802ADB70 002AAAD0 D0 A1 00 38 */ stfs f5, 0x38(r1)
/* 802ADB74 002AAAD4 D0 81 00 3C */ stfs f4, 0x3c(r1)
/* 802ADB78 002AAAD8 D0 61 00 40 */ stfs f3, 0x40(r1)
/* 802ADB7C 002AAADC D0 41 00 44 */ stfs f2, 0x44(r1)
/* 802ADB80 002AAAE0 D0 21 00 48 */ stfs f1, 0x48(r1)
/* 802ADB84 002AAAE4 D0 01 00 4C */ stfs f0, 0x4c(r1)
/* 802ADB88 002AAAE8 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 802ADB8C 002AAAEC 80 BD 00 18 */ lwz r5, 0x18(r29)
/* 802ADB90 002AAAF0 7C 00 28 00 */ cmpw r0, r5
/* 802ADB94 002AAAF4 41 80 00 1C */ blt lbl_802ADBB0
/* 802ADB98 002AAAF8 2C 05 00 00 */ cmpwi r5, 0
/* 802ADB9C 002AAAFC 38 7D 00 10 */ addi r3, r29, 0x10
/* 802ADBA0 002AAB00 38 80 00 04 */ li r4, 4
/* 802ADBA4 002AAB04 41 82 00 08 */ beq lbl_802ADBAC
/* 802ADBA8 002AAB08 54 A4 08 3C */ slwi r4, r5, 1
lbl_802ADBAC:
/* 802ADBAC 002AAB0C 48 00 07 1D */ bl "reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi"
lbl_802ADBB0:
/* 802ADBB0 002AAB10 80 1D 00 14 */ lwz r0, 0x14(r29)
/* 802ADBB4 002AAB14 80 7D 00 1C */ lwz r3, 0x1c(r29)
/* 802ADBB8 002AAB18 1C 00 00 18 */ mulli r0, r0, 0x18
/* 802ADBBC 002AAB1C 7C 63 02 15 */ add. r3, r3, r0
/* 802ADBC0 002AAB20 41 82 00 34 */ beq lbl_802ADBF4
/* 802ADBC4 002AAB24 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802ADBC8 002AAB28 D0 03 00 00 */ stfs f0, 0(r3)
/* 802ADBCC 002AAB2C C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802ADBD0 002AAB30 D0 03 00 04 */ stfs f0, 4(r3)
/* 802ADBD4 002AAB34 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802ADBD8 002AAB38 D0 03 00 08 */ stfs f0, 8(r3)
/* 802ADBDC 002AAB3C C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802ADBE0 002AAB40 D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802ADBE4 002AAB44 C0 01 00 48 */ lfs f0, 0x48(r1)
/* 802ADBE8 002AAB48 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802ADBEC 002AAB4C C0 01 00 4C */ lfs f0, 0x4c(r1)
/* 802ADBF0 002AAB50 D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802ADBF4:
/* 802ADBF4 002AAB54 80 BD 00 14 */ lwz r5, 0x14(r29)
/* 802ADBF8 002AAB58 38 7D 00 20 */ addi r3, r29, 0x20
/* 802ADBFC 002AAB5C 38 81 00 38 */ addi r4, r1, 0x38
/* 802ADC00 002AAB60 38 05 00 01 */ addi r0, r5, 1
/* 802ADC04 002AAB64 90 1D 00 14 */ stw r0, 0x14(r29)
/* 802ADC08 002AAB68 48 08 9F 01 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ADC0C 002AAB6C 7F C4 F3 78 */ mr r4, r30
/* 802ADC10 002AAB70 38 7D 00 20 */ addi r3, r29, 0x20
/* 802ADC14 002AAB74 48 08 9E F5 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ADC18 002AAB78 93 61 00 50 */ stw r27, 0x50(r1)
/* 802ADC1C 002AAB7C 3B FF 00 08 */ addi r31, r31, 8
/* 802ADC20 002AAB80 93 81 00 50 */ stw r28, 0x50(r1)
lbl_802ADC24:
/* 802ADC24 002AAB84 80 1D 00 04 */ lwz r0, 4(r29)
/* 802ADC28 002AAB88 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 802ADC2C 002AAB8C 54 00 18 38 */ slwi r0, r0, 3
/* 802ADC30 002AAB90 7C 03 02 14 */ add r0, r3, r0
/* 802ADC34 002AAB94 7C 1F 00 40 */ cmplw r31, r0
/* 802ADC38 002AAB98 40 82 FE F8 */ bne lbl_802ADB30
/* 802ADC3C 002AAB9C 7F A3 EB 78 */ mr r3, r29
/* 802ADC40 002AABA0 BB 61 00 7C */ lmw r27, 0x7c(r1)
/* 802ADC44 002AABA4 80 01 00 94 */ lwz r0, 0x94(r1)
/* 802ADC48 002AABA8 7C 08 03 A6 */ mtlr r0
/* 802ADC4C 002AABAC 38 21 00 90 */ addi r1, r1, 0x90
/* 802ADC50 002AABB0 4E 80 00 20 */ blr
.global __ct__23CCollidableOBBTreeGroupFR12CInputStream
__ct__23CCollidableOBBTreeGroupFR12CInputStream:
/* 802ADC54 002AABB4 94 21 FF 80 */ stwu r1, -0x80(r1)
/* 802ADC58 002AABB8 7C 08 02 A6 */ mflr r0
/* 802ADC5C 002AABBC 90 01 00 84 */ stw r0, 0x84(r1)
/* 802ADC60 002AABC0 38 00 00 00 */ li r0, 0
/* 802ADC64 002AABC4 BF 61 00 6C */ stmw r27, 0x6c(r1)
/* 802ADC68 002AABC8 7C 7B 1B 78 */ mr r27, r3
/* 802ADC6C 002AABCC 7C 9C 23 78 */ mr r28, r4
/* 802ADC70 002AABD0 90 03 00 04 */ stw r0, 4(r3)
/* 802ADC74 002AABD4 3C 60 80 5A */ lis r3, mskInvertedBox__6CAABox@ha
/* 802ADC78 002AABD8 38 83 67 54 */ addi r4, r3, mskInvertedBox__6CAABox@l
/* 802ADC7C 002AABDC 90 1B 00 08 */ stw r0, 8(r27)
/* 802ADC80 002AABE0 7F 83 E3 78 */ mr r3, r28
/* 802ADC84 002AABE4 90 1B 00 0C */ stw r0, 0xc(r27)
/* 802ADC88 002AABE8 90 1B 00 14 */ stw r0, 0x14(r27)
/* 802ADC8C 002AABEC 90 1B 00 18 */ stw r0, 0x18(r27)
/* 802ADC90 002AABF0 90 1B 00 1C */ stw r0, 0x1c(r27)
/* 802ADC94 002AABF4 C0 04 00 00 */ lfs f0, 0(r4)
/* 802ADC98 002AABF8 D0 1B 00 20 */ stfs f0, 0x20(r27)
/* 802ADC9C 002AABFC C0 04 00 04 */ lfs f0, 4(r4)
/* 802ADCA0 002AAC00 D0 1B 00 24 */ stfs f0, 0x24(r27)
/* 802ADCA4 002AAC04 C0 04 00 08 */ lfs f0, 8(r4)
/* 802ADCA8 002AAC08 D0 1B 00 28 */ stfs f0, 0x28(r27)
/* 802ADCAC 002AAC0C C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802ADCB0 002AAC10 D0 1B 00 2C */ stfs f0, 0x2c(r27)
/* 802ADCB4 002AAC14 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802ADCB8 002AAC18 D0 1B 00 30 */ stfs f0, 0x30(r27)
/* 802ADCBC 002AAC1C C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802ADCC0 002AAC20 D0 1B 00 34 */ stfs f0, 0x34(r27)
/* 802ADCC4 002AAC24 48 09 0F C1 */ bl ReadLong__12CInputStreamFv
/* 802ADCC8 002AAC28 7C 7E 1B 78 */ mr r30, r3
/* 802ADCCC 002AAC2C 7F 63 DB 78 */ mr r3, r27
/* 802ADCD0 002AAC30 7F C4 F3 78 */ mr r4, r30
/* 802ADCD4 002AAC34 48 00 04 E5 */ bl "reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi"
/* 802ADCD8 002AAC38 3C 60 80 3D */ lis r3, lbl_803D60F0@ha
/* 802ADCDC 002AAC3C 3B A0 00 00 */ li r29, 0
/* 802ADCE0 002AAC40 3B E3 60 F0 */ addi r31, r3, lbl_803D60F0@l
/* 802ADCE4 002AAC44 48 00 00 B8 */ b lbl_802ADD9C
lbl_802ADCE8:
/* 802ADCE8 002AAC48 38 9F 00 18 */ addi r4, r31, 0x18
/* 802ADCEC 002AAC4C 38 60 00 8C */ li r3, 0x8c
/* 802ADCF0 002AAC50 38 A0 00 00 */ li r5, 0
/* 802ADCF4 002AAC54 48 06 7B 79 */ bl __nw__FUlPCcPCc
/* 802ADCF8 002AAC58 7C 64 1B 79 */ or. r4, r3, r3
/* 802ADCFC 002AAC5C 41 82 00 10 */ beq lbl_802ADD0C
/* 802ADD00 002AAC60 7F 84 E3 78 */ mr r4, r28
/* 802ADD04 002AAC64 4B FF B0 9D */ bl __ct__8COBBTreeFR12CInputStream
/* 802ADD08 002AAC68 7C 64 1B 78 */ mr r4, r3
lbl_802ADD0C:
/* 802ADD0C 002AAC6C 7C 64 00 D0 */ neg r3, r4
/* 802ADD10 002AAC70 80 1B 00 04 */ lwz r0, 4(r27)
/* 802ADD14 002AAC74 80 BB 00 08 */ lwz r5, 8(r27)
/* 802ADD18 002AAC78 7C 63 23 78 */ or r3, r3, r4
/* 802ADD1C 002AAC7C 54 63 0F FE */ srwi r3, r3, 0x1f
/* 802ADD20 002AAC80 90 81 00 14 */ stw r4, 0x14(r1)
/* 802ADD24 002AAC84 7C 00 28 00 */ cmpw r0, r5
/* 802ADD28 002AAC88 98 61 00 10 */ stb r3, 0x10(r1)
/* 802ADD2C 002AAC8C 41 80 00 1C */ blt lbl_802ADD48
/* 802ADD30 002AAC90 2C 05 00 00 */ cmpwi r5, 0
/* 802ADD34 002AAC94 7F 63 DB 78 */ mr r3, r27
/* 802ADD38 002AAC98 38 80 00 04 */ li r4, 4
/* 802ADD3C 002AAC9C 41 82 00 08 */ beq lbl_802ADD44
/* 802ADD40 002AACA0 54 A4 08 3C */ slwi r4, r5, 1
lbl_802ADD44:
/* 802ADD44 002AACA4 48 00 04 75 */ bl "reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi"
lbl_802ADD48:
/* 802ADD48 002AACA8 80 1B 00 04 */ lwz r0, 4(r27)
/* 802ADD4C 002AACAC 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802ADD50 002AACB0 54 00 18 38 */ slwi r0, r0, 3
/* 802ADD54 002AACB4 7C A3 02 15 */ add. r5, r3, r0
/* 802ADD58 002AACB8 41 82 00 1C */ beq lbl_802ADD74
/* 802ADD5C 002AACBC 88 81 00 10 */ lbz r4, 0x10(r1)
/* 802ADD60 002AACC0 38 00 00 00 */ li r0, 0
/* 802ADD64 002AACC4 80 61 00 14 */ lwz r3, 0x14(r1)
/* 802ADD68 002AACC8 98 85 00 00 */ stb r4, 0(r5)
/* 802ADD6C 002AACCC 90 65 00 04 */ stw r3, 4(r5)
/* 802ADD70 002AACD0 98 01 00 10 */ stb r0, 0x10(r1)
lbl_802ADD74:
/* 802ADD74 002AACD4 80 7B 00 04 */ lwz r3, 4(r27)
/* 802ADD78 002AACD8 88 01 00 10 */ lbz r0, 0x10(r1)
/* 802ADD7C 002AACDC 38 63 00 01 */ addi r3, r3, 1
/* 802ADD80 002AACE0 28 00 00 00 */ cmplwi r0, 0
/* 802ADD84 002AACE4 90 7B 00 04 */ stw r3, 4(r27)
/* 802ADD88 002AACE8 41 82 00 10 */ beq lbl_802ADD98
/* 802ADD8C 002AACEC 80 61 00 14 */ lwz r3, 0x14(r1)
/* 802ADD90 002AACF0 38 80 00 01 */ li r4, 1
/* 802ADD94 002AACF4 4B FF AF 7D */ bl __dt__8COBBTreeFv
lbl_802ADD98:
/* 802ADD98 002AACF8 3B BD 00 01 */ addi r29, r29, 1
lbl_802ADD9C:
/* 802ADD9C 002AACFC 7C 1D F0 40 */ cmplw r29, r30
/* 802ADDA0 002AAD00 41 80 FF 48 */ blt lbl_802ADCE8
/* 802ADDA4 002AAD04 80 9B 00 04 */ lwz r4, 4(r27)
/* 802ADDA8 002AAD08 38 7B 00 10 */ addi r3, r27, 0x10
/* 802ADDAC 002AAD0C 48 00 05 1D */ bl "reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi"
/* 802ADDB0 002AAD10 3C 80 80 3F */ lis r4, lbl_803EC448@ha
/* 802ADDB4 002AAD14 3C 60 80 3E */ lis r3, __vt__19CCollisionPrimitive@ha
/* 802ADDB8 002AAD18 83 DB 00 0C */ lwz r30, 0xc(r27)
/* 802ADDBC 002AAD1C 3B E1 00 3C */ addi r31, r1, 0x3c
/* 802ADDC0 002AAD20 3B A4 C4 48 */ addi r29, r4, lbl_803EC448@l
/* 802ADDC4 002AAD24 3B 83 97 E4 */ addi r28, r3, __vt__19CCollisionPrimitive@l
/* 802ADDC8 002AAD28 48 00 00 F8 */ b lbl_802ADEC0
lbl_802ADDCC:
/* 802ADDCC 002AAD2C 38 00 00 00 */ li r0, 0
/* 802ADDD0 002AAD30 38 61 00 48 */ addi r3, r1, 0x48
/* 802ADDD4 002AAD34 90 01 00 0C */ stw r0, 0xc(r1)
/* 802ADDD8 002AAD38 38 A1 00 08 */ addi r5, r1, 8
/* 802ADDDC 002AAD3C 90 01 00 08 */ stw r0, 8(r1)
/* 802ADDE0 002AAD40 80 9E 00 04 */ lwz r4, 4(r30)
/* 802ADDE4 002AAD44 4B FF E9 01 */ bl __ct__18CCollidableOBBTreeFP8COBBTreeRC13CMaterialList
/* 802ADDE8 002AAD48 38 61 00 18 */ addi r3, r1, 0x18
/* 802ADDEC 002AAD4C 38 81 00 48 */ addi r4, r1, 0x48
/* 802ADDF0 002AAD50 4B FF E8 3D */ bl CalculateLocalAABox__18CCollidableOBBTreeCFv
/* 802ADDF4 002AAD54 C0 A1 00 18 */ lfs f5, 0x18(r1)
/* 802ADDF8 002AAD58 C0 81 00 1C */ lfs f4, 0x1c(r1)
/* 802ADDFC 002AAD5C C0 61 00 20 */ lfs f3, 0x20(r1)
/* 802ADE00 002AAD60 C0 41 00 24 */ lfs f2, 0x24(r1)
/* 802ADE04 002AAD64 C0 21 00 28 */ lfs f1, 0x28(r1)
/* 802ADE08 002AAD68 C0 01 00 2C */ lfs f0, 0x2c(r1)
/* 802ADE0C 002AAD6C D0 A1 00 30 */ stfs f5, 0x30(r1)
/* 802ADE10 002AAD70 D0 81 00 34 */ stfs f4, 0x34(r1)
/* 802ADE14 002AAD74 D0 61 00 38 */ stfs f3, 0x38(r1)
/* 802ADE18 002AAD78 D0 41 00 3C */ stfs f2, 0x3c(r1)
/* 802ADE1C 002AAD7C D0 21 00 40 */ stfs f1, 0x40(r1)
/* 802ADE20 002AAD80 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 802ADE24 002AAD84 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 802ADE28 002AAD88 80 BB 00 18 */ lwz r5, 0x18(r27)
/* 802ADE2C 002AAD8C 7C 00 28 00 */ cmpw r0, r5
/* 802ADE30 002AAD90 41 80 00 1C */ blt lbl_802ADE4C
/* 802ADE34 002AAD94 2C 05 00 00 */ cmpwi r5, 0
/* 802ADE38 002AAD98 38 7B 00 10 */ addi r3, r27, 0x10
/* 802ADE3C 002AAD9C 38 80 00 04 */ li r4, 4
/* 802ADE40 002AADA0 41 82 00 08 */ beq lbl_802ADE48
/* 802ADE44 002AADA4 54 A4 08 3C */ slwi r4, r5, 1
lbl_802ADE48:
/* 802ADE48 002AADA8 48 00 04 81 */ bl "reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi"
lbl_802ADE4C:
/* 802ADE4C 002AADAC 80 1B 00 14 */ lwz r0, 0x14(r27)
/* 802ADE50 002AADB0 80 7B 00 1C */ lwz r3, 0x1c(r27)
/* 802ADE54 002AADB4 1C 00 00 18 */ mulli r0, r0, 0x18
/* 802ADE58 002AADB8 7C 63 02 15 */ add. r3, r3, r0
/* 802ADE5C 002AADBC 41 82 00 34 */ beq lbl_802ADE90
/* 802ADE60 002AADC0 C0 01 00 30 */ lfs f0, 0x30(r1)
/* 802ADE64 002AADC4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802ADE68 002AADC8 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 802ADE6C 002AADCC D0 03 00 04 */ stfs f0, 4(r3)
/* 802ADE70 002AADD0 C0 01 00 38 */ lfs f0, 0x38(r1)
/* 802ADE74 002AADD4 D0 03 00 08 */ stfs f0, 8(r3)
/* 802ADE78 002AADD8 C0 01 00 3C */ lfs f0, 0x3c(r1)
/* 802ADE7C 002AADDC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802ADE80 002AADE0 C0 01 00 40 */ lfs f0, 0x40(r1)
/* 802ADE84 002AADE4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802ADE88 002AADE8 C0 01 00 44 */ lfs f0, 0x44(r1)
/* 802ADE8C 002AADEC D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802ADE90:
/* 802ADE90 002AADF0 80 BB 00 14 */ lwz r5, 0x14(r27)
/* 802ADE94 002AADF4 38 7B 00 20 */ addi r3, r27, 0x20
/* 802ADE98 002AADF8 38 81 00 30 */ addi r4, r1, 0x30
/* 802ADE9C 002AADFC 38 05 00 01 */ addi r0, r5, 1
/* 802ADEA0 002AAE00 90 1B 00 14 */ stw r0, 0x14(r27)
/* 802ADEA4 002AAE04 48 08 9C 65 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ADEA8 002AAE08 7F E4 FB 78 */ mr r4, r31
/* 802ADEAC 002AAE0C 38 7B 00 20 */ addi r3, r27, 0x20
/* 802ADEB0 002AAE10 48 08 9C 59 */ bl AccumulateBounds__6CAABoxFRC9CVector3f
/* 802ADEB4 002AAE14 93 A1 00 48 */ stw r29, 0x48(r1)
/* 802ADEB8 002AAE18 3B DE 00 08 */ addi r30, r30, 8
/* 802ADEBC 002AAE1C 93 81 00 48 */ stw r28, 0x48(r1)
lbl_802ADEC0:
/* 802ADEC0 002AAE20 80 1B 00 04 */ lwz r0, 4(r27)
/* 802ADEC4 002AAE24 80 7B 00 0C */ lwz r3, 0xc(r27)
/* 802ADEC8 002AAE28 54 00 18 38 */ slwi r0, r0, 3
/* 802ADECC 002AAE2C 7C 03 02 14 */ add r0, r3, r0
/* 802ADED0 002AAE30 7C 1E 00 40 */ cmplw r30, r0
/* 802ADED4 002AAE34 40 82 FE F8 */ bne lbl_802ADDCC
/* 802ADED8 002AAE38 7F 63 DB 78 */ mr r3, r27
/* 802ADEDC 002AAE3C BB 61 00 6C */ lmw r27, 0x6c(r1)
/* 802ADEE0 002AAE40 80 01 00 84 */ lwz r0, 0x84(r1)
/* 802ADEE4 002AAE44 7C 08 03 A6 */ mtlr r0
/* 802ADEE8 002AAE48 38 21 00 80 */ addi r1, r1, 0x80
/* 802ADEEC 002AAE4C 4E 80 00 20 */ blr
.global FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer
FCollidableOBBTreeGroupFactory__FRC10SObjectTagR12CInputStreamRC15CVParamTransfer:
/* 802ADEF0 002AAE50 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802ADEF4 002AAE54 7C 08 02 A6 */ mflr r0
/* 802ADEF8 002AAE58 3C 80 80 3D */ lis r4, lbl_803D60F0@ha
/* 802ADEFC 002AAE5C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802ADF00 002AAE60 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802ADF04 002AAE64 7C BF 2B 78 */ mr r31, r5
/* 802ADF08 002AAE68 38 A0 00 00 */ li r5, 0
/* 802ADF0C 002AAE6C 93 C1 00 08 */ stw r30, 8(r1)
/* 802ADF10 002AAE70 7C 7E 1B 78 */ mr r30, r3
/* 802ADF14 002AAE74 38 64 60 F0 */ addi r3, r4, lbl_803D60F0@l
/* 802ADF18 002AAE78 38 83 00 18 */ addi r4, r3, 0x18
/* 802ADF1C 002AAE7C 38 60 00 38 */ li r3, 0x38
/* 802ADF20 002AAE80 48 06 79 4D */ bl __nw__FUlPCcPCc
/* 802ADF24 002AAE84 7C 64 1B 79 */ or. r4, r3, r3
/* 802ADF28 002AAE88 41 82 00 10 */ beq lbl_802ADF38
/* 802ADF2C 002AAE8C 7F E4 FB 78 */ mr r4, r31
/* 802ADF30 002AAE90 4B FF FD 25 */ bl __ct__23CCollidableOBBTreeGroupFR12CInputStream
/* 802ADF34 002AAE94 7C 64 1B 78 */ mr r4, r3
lbl_802ADF38:
/* 802ADF38 002AAE98 7F C3 F3 78 */ mr r3, r30
/* 802ADF3C 002AAE9C 48 00 00 1D */ bl "__ct<23CCollidableOBBTreeGroup>__16CFactoryFnReturnFP23CCollidableOBBTreeGroup"
/* 802ADF40 002AAEA0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802ADF44 002AAEA4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802ADF48 002AAEA8 83 C1 00 08 */ lwz r30, 8(r1)
/* 802ADF4C 002AAEAC 7C 08 03 A6 */ mtlr r0
/* 802ADF50 002AAEB0 38 21 00 10 */ addi r1, r1, 0x10
/* 802ADF54 002AAEB4 4E 80 00 20 */ blr
.global "__ct<23CCollidableOBBTreeGroup>__16CFactoryFnReturnFP23CCollidableOBBTreeGroup"
"__ct<23CCollidableOBBTreeGroup>__16CFactoryFnReturnFP23CCollidableOBBTreeGroup":
/* 802ADF58 002AAEB8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802ADF5C 002AAEBC 7C 08 02 A6 */ mflr r0
/* 802ADF60 002AAEC0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802ADF64 002AAEC4 7C 04 00 D0 */ neg r0, r4
/* 802ADF68 002AAEC8 7C 00 23 78 */ or r0, r0, r4
/* 802ADF6C 002AAECC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802ADF70 002AAED0 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802ADF74 002AAED4 7C 7F 1B 78 */ mr r31, r3
/* 802ADF78 002AAED8 38 61 00 08 */ addi r3, r1, 8
/* 802ADF7C 002AAEDC 90 81 00 14 */ stw r4, 0x14(r1)
/* 802ADF80 002AAEE0 38 81 00 10 */ addi r4, r1, 0x10
/* 802ADF84 002AAEE4 98 01 00 10 */ stb r0, 0x10(r1)
/* 802ADF88 002AAEE8 48 00 01 05 */ bl "GetIObjObjectFor__33TToken<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>"
/* 802ADF8C 002AAEEC 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802ADF90 002AAEF0 38 00 00 00 */ li r0, 0
/* 802ADF94 002AAEF4 98 01 00 08 */ stb r0, 8(r1)
/* 802ADF98 002AAEF8 7C 03 00 D0 */ neg r0, r3
/* 802ADF9C 002AAEFC 7C 00 1B 78 */ or r0, r0, r3
/* 802ADFA0 002AAF00 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802ADFA4 002AAF04 98 1F 00 00 */ stb r0, 0(r31)
/* 802ADFA8 002AAF08 90 7F 00 04 */ stw r3, 4(r31)
/* 802ADFAC 002AAF0C 88 01 00 08 */ lbz r0, 8(r1)
/* 802ADFB0 002AAF10 28 00 00 00 */ cmplwi r0, 0
/* 802ADFB4 002AAF14 41 82 00 24 */ beq lbl_802ADFD8
/* 802ADFB8 002AAF18 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802ADFBC 002AAF1C 28 03 00 00 */ cmplwi r3, 0
/* 802ADFC0 002AAF20 41 82 00 18 */ beq lbl_802ADFD8
/* 802ADFC4 002AAF24 81 83 00 00 */ lwz r12, 0(r3)
/* 802ADFC8 002AAF28 38 80 00 01 */ li r4, 1
/* 802ADFCC 002AAF2C 81 8C 00 08 */ lwz r12, 8(r12)
/* 802ADFD0 002AAF30 7D 89 03 A6 */ mtctr r12
/* 802ADFD4 002AAF34 4E 80 04 21 */ bctrl
lbl_802ADFD8:
/* 802ADFD8 002AAF38 38 61 00 10 */ addi r3, r1, 0x10
/* 802ADFDC 002AAF3C 38 80 FF FF */ li r4, -1
/* 802ADFE0 002AAF40 48 00 01 75 */ bl sub_802ae154
/* 802ADFE4 002AAF44 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802ADFE8 002AAF48 7F E3 FB 78 */ mr r3, r31
/* 802ADFEC 002AAF4C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802ADFF0 002AAF50 7C 08 03 A6 */ mtlr r0
/* 802ADFF4 002AAF54 38 21 00 20 */ addi r1, r1, 0x20
/* 802ADFF8 002AAF58 4E 80 00 20 */ blr
.global "__dt__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>Fv"
"__dt__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>Fv":
/* 802ADFFC 002AAF5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AE000 002AAF60 7C 08 02 A6 */ mflr r0
/* 802AE004 002AAF64 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AE008 002AAF68 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AE00C 002AAF6C 7C 9F 23 78 */ mr r31, r4
/* 802AE010 002AAF70 93 C1 00 08 */ stw r30, 8(r1)
/* 802AE014 002AAF74 7C 7E 1B 79 */ or. r30, r3, r3
/* 802AE018 002AAF78 41 82 00 58 */ beq lbl_802AE070
/* 802AE01C 002AAF7C 3C 60 80 3F */ lis r3, lbl_803EC498@ha
/* 802AE020 002AAF80 38 03 C4 98 */ addi r0, r3, lbl_803EC498@l
/* 802AE024 002AAF84 90 1E 00 00 */ stw r0, 0(r30)
/* 802AE028 002AAF88 80 7E 00 04 */ lwz r3, 4(r30)
/* 802AE02C 002AAF8C 28 03 00 00 */ cmplwi r3, 0
/* 802AE030 002AAF90 41 82 00 0C */ beq lbl_802AE03C
/* 802AE034 002AAF94 38 80 00 01 */ li r4, 1
/* 802AE038 002AAF98 4B EF A9 D5 */ bl sub_801a8a0c
lbl_802AE03C:
/* 802AE03C 002AAF9C 28 1E 00 00 */ cmplwi r30, 0
/* 802AE040 002AAFA0 41 82 00 20 */ beq lbl_802AE060
/* 802AE044 002AAFA4 3C 60 80 3E */ lis r3, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 802AE048 002AAFA8 38 03 8D 78 */ addi r0, r3, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 802AE04C 002AAFAC 90 1E 00 00 */ stw r0, 0(r30)
/* 802AE050 002AAFB0 41 82 00 10 */ beq lbl_802AE060
/* 802AE054 002AAFB4 3C 60 80 3E */ lis r3, __vt__4IObj@ha
/* 802AE058 002AAFB8 38 03 8D 6C */ addi r0, r3, __vt__4IObj@l
/* 802AE05C 002AAFBC 90 1E 00 00 */ stw r0, 0(r30)
lbl_802AE060:
/* 802AE060 002AAFC0 7F E0 07 35 */ extsh. r0, r31
/* 802AE064 002AAFC4 40 81 00 0C */ ble lbl_802AE070
/* 802AE068 002AAFC8 7F C3 F3 78 */ mr r3, r30
/* 802AE06C 002AAFCC 48 06 78 C5 */ bl Free__7CMemoryFPCv
lbl_802AE070:
/* 802AE070 002AAFD0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AE074 002AAFD4 7F C3 F3 78 */ mr r3, r30
/* 802AE078 002AAFD8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AE07C 002AAFDC 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AE080 002AAFE0 7C 08 03 A6 */ mtlr r0
/* 802AE084 002AAFE4 38 21 00 10 */ addi r1, r1, 0x10
/* 802AE088 002AAFE8 4E 80 00 20 */ blr
.global "GetIObjObjectFor__33TToken<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>"
"GetIObjObjectFor__33TToken<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>":
/* 802AE08C 002AAFEC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AE090 002AAFF0 7C 08 02 A6 */ mflr r0
/* 802AE094 002AAFF4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AE098 002AAFF8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AE09C 002AAFFC 7C 7F 1B 78 */ mr r31, r3
/* 802AE0A0 002AB000 48 00 00 19 */ bl "GetNewDerivedObject__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>"
/* 802AE0A4 002AB004 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AE0A8 002AB008 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AE0AC 002AB00C 7C 08 03 A6 */ mtlr r0
/* 802AE0B0 002AB010 38 21 00 10 */ addi r1, r1, 0x10
/* 802AE0B4 002AB014 4E 80 00 20 */ blr
.global "GetNewDerivedObject__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>"
"GetNewDerivedObject__51TObjOwnerDerivedFromIObj<23CCollidableOBBTreeGroup>FRCQ24rstl35auto_ptr<23CCollidableOBBTreeGroup>":
/* 802AE0B8 002AB018 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AE0BC 002AB01C 7C 08 02 A6 */ mflr r0
/* 802AE0C0 002AB020 3C A0 80 3D */ lis r5, lbl_803D60F0@ha
/* 802AE0C4 002AB024 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AE0C8 002AB028 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AE0CC 002AB02C 7C 9F 23 78 */ mr r31, r4
/* 802AE0D0 002AB030 93 C1 00 08 */ stw r30, 8(r1)
/* 802AE0D4 002AB034 7C 7E 1B 78 */ mr r30, r3
/* 802AE0D8 002AB038 38 65 60 F0 */ addi r3, r5, lbl_803D60F0@l
/* 802AE0DC 002AB03C 38 A0 00 00 */ li r5, 0
/* 802AE0E0 002AB040 38 83 00 18 */ addi r4, r3, 0x18
/* 802AE0E4 002AB044 38 60 00 08 */ li r3, 8
/* 802AE0E8 002AB048 48 06 77 85 */ bl __nw__FUlPCcPCc
/* 802AE0EC 002AB04C 28 03 00 00 */ cmplwi r3, 0
/* 802AE0F0 002AB050 41 82 00 38 */ beq lbl_802AE128
/* 802AE0F4 002AB054 3C 80 80 3E */ lis r4, __vt__4IObj@ha
/* 802AE0F8 002AB058 3C A0 80 3E */ lis r5, __vt__31CObjOwnerDerivedFromIObjUntyped@ha
/* 802AE0FC 002AB05C 38 04 8D 6C */ addi r0, r4, __vt__4IObj@l
/* 802AE100 002AB060 3C 80 80 3F */ lis r4, lbl_803EC498@ha
/* 802AE104 002AB064 90 03 00 00 */ stw r0, 0(r3)
/* 802AE108 002AB068 38 C5 8D 78 */ addi r6, r5, __vt__31CObjOwnerDerivedFromIObjUntyped@l
/* 802AE10C 002AB06C 38 A0 00 00 */ li r5, 0
/* 802AE110 002AB070 38 04 C4 98 */ addi r0, r4, lbl_803EC498@l
/* 802AE114 002AB074 90 C3 00 00 */ stw r6, 0(r3)
/* 802AE118 002AB078 98 BF 00 00 */ stb r5, 0(r31)
/* 802AE11C 002AB07C 80 9F 00 04 */ lwz r4, 4(r31)
/* 802AE120 002AB080 90 83 00 04 */ stw r4, 4(r3)
/* 802AE124 002AB084 90 03 00 00 */ stw r0, 0(r3)
lbl_802AE128:
/* 802AE128 002AB088 7C 03 00 D0 */ neg r0, r3
/* 802AE12C 002AB08C 7C 00 1B 78 */ or r0, r0, r3
/* 802AE130 002AB090 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802AE134 002AB094 98 1E 00 00 */ stb r0, 0(r30)
/* 802AE138 002AB098 90 7E 00 04 */ stw r3, 4(r30)
/* 802AE13C 002AB09C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AE140 002AB0A0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AE144 002AB0A4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AE148 002AB0A8 7C 08 03 A6 */ mtlr r0
/* 802AE14C 002AB0AC 38 21 00 10 */ addi r1, r1, 0x10
/* 802AE150 002AB0B0 4E 80 00 20 */ blr
.global sub_802ae154
sub_802ae154:
/* 802AE154 002AB0B4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802AE158 002AB0B8 7C 08 02 A6 */ mflr r0
/* 802AE15C 002AB0BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802AE160 002AB0C0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802AE164 002AB0C4 7C 9F 23 78 */ mr r31, r4
/* 802AE168 002AB0C8 93 C1 00 08 */ stw r30, 8(r1)
/* 802AE16C 002AB0CC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802AE170 002AB0D0 41 82 00 2C */ beq lbl_802AE19C
/* 802AE174 002AB0D4 88 1E 00 00 */ lbz r0, 0(r30)
/* 802AE178 002AB0D8 28 00 00 00 */ cmplwi r0, 0
/* 802AE17C 002AB0DC 41 82 00 10 */ beq lbl_802AE18C
/* 802AE180 002AB0E0 80 7E 00 04 */ lwz r3, 4(r30)
/* 802AE184 002AB0E4 38 80 00 01 */ li r4, 1
/* 802AE188 002AB0E8 4B EF A8 85 */ bl sub_801a8a0c
lbl_802AE18C:
/* 802AE18C 002AB0EC 7F E0 07 35 */ extsh. r0, r31
/* 802AE190 002AB0F0 40 81 00 0C */ ble lbl_802AE19C
/* 802AE194 002AB0F4 7F C3 F3 78 */ mr r3, r30
/* 802AE198 002AB0F8 48 06 77 99 */ bl Free__7CMemoryFPCv
lbl_802AE19C:
/* 802AE19C 002AB0FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802AE1A0 002AB100 7F C3 F3 78 */ mr r3, r30
/* 802AE1A4 002AB104 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802AE1A8 002AB108 83 C1 00 08 */ lwz r30, 8(r1)
/* 802AE1AC 002AB10C 7C 08 03 A6 */ mtlr r0
/* 802AE1B0 002AB110 38 21 00 10 */ addi r1, r1, 0x10
/* 802AE1B4 002AB114 4E 80 00 20 */ blr
.global "reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl44vector<8COBBTree,Q24rstl17rmemory_allocator>Fi":
/* 802AE1B8 002AB118 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802AE1BC 002AB11C 7C 08 02 A6 */ mflr r0
/* 802AE1C0 002AB120 90 01 00 34 */ stw r0, 0x34(r1)
/* 802AE1C4 002AB124 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 802AE1C8 002AB128 7C 9F 23 78 */ mr r31, r4
/* 802AE1CC 002AB12C 7C 7E 1B 78 */ mr r30, r3
/* 802AE1D0 002AB130 80 03 00 08 */ lwz r0, 8(r3)
/* 802AE1D4 002AB134 7C 1F 00 00 */ cmpw r31, r0
/* 802AE1D8 002AB138 40 81 00 DC */ ble lbl_802AE2B4
/* 802AE1DC 002AB13C 57 E3 18 39 */ rlwinm. r3, r31, 3, 0, 0x1c
/* 802AE1E0 002AB140 40 82 00 0C */ bne lbl_802AE1EC
/* 802AE1E4 002AB144 3B A0 00 00 */ li r29, 0
/* 802AE1E8 002AB148 48 00 00 1C */ b lbl_802AE204
lbl_802AE1EC:
/* 802AE1EC 002AB14C 3C 80 80 3D */ lis r4, lbl_803D60F0@ha
/* 802AE1F0 002AB150 38 A0 00 00 */ li r5, 0
/* 802AE1F4 002AB154 38 84 60 F0 */ addi r4, r4, lbl_803D60F0@l
/* 802AE1F8 002AB158 38 84 00 18 */ addi r4, r4, 0x18
/* 802AE1FC 002AB15C 48 06 76 1D */ bl __nwa__FUlPCcPCc
/* 802AE200 002AB160 7C 7D 1B 78 */ mr r29, r3
lbl_802AE204:
/* 802AE204 002AB164 80 7E 00 04 */ lwz r3, 4(r30)
/* 802AE208 002AB168 7F A5 EB 78 */ mr r5, r29
/* 802AE20C 002AB16C 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 802AE210 002AB170 38 00 00 00 */ li r0, 0
/* 802AE214 002AB174 54 63 18 38 */ slwi r3, r3, 3
/* 802AE218 002AB178 7C 86 1A 14 */ add r4, r6, r3
/* 802AE21C 002AB17C 90 C1 00 10 */ stw r6, 0x10(r1)
/* 802AE220 002AB180 90 81 00 08 */ stw r4, 8(r1)
/* 802AE224 002AB184 90 81 00 0C */ stw r4, 0xc(r1)
/* 802AE228 002AB188 90 C1 00 14 */ stw r6, 0x14(r1)
/* 802AE22C 002AB18C 48 00 00 28 */ b lbl_802AE254
lbl_802AE230:
/* 802AE230 002AB190 28 05 00 00 */ cmplwi r5, 0
/* 802AE234 002AB194 41 82 00 18 */ beq lbl_802AE24C
/* 802AE238 002AB198 88 66 00 00 */ lbz r3, 0(r6)
/* 802AE23C 002AB19C 98 65 00 00 */ stb r3, 0(r5)
/* 802AE240 002AB1A0 80 66 00 04 */ lwz r3, 4(r6)
/* 802AE244 002AB1A4 90 65 00 04 */ stw r3, 4(r5)
/* 802AE248 002AB1A8 98 06 00 00 */ stb r0, 0(r6)
lbl_802AE24C:
/* 802AE24C 002AB1AC 38 A5 00 08 */ addi r5, r5, 8
/* 802AE250 002AB1B0 38 C6 00 08 */ addi r6, r6, 8
lbl_802AE254:
/* 802AE254 002AB1B4 7C 06 20 40 */ cmplw r6, r4
/* 802AE258 002AB1B8 40 82 FF D8 */ bne lbl_802AE230
/* 802AE25C 002AB1BC 80 1E 00 04 */ lwz r0, 4(r30)
/* 802AE260 002AB1C0 83 7E 00 0C */ lwz r27, 0xc(r30)
/* 802AE264 002AB1C4 54 00 18 38 */ slwi r0, r0, 3
/* 802AE268 002AB1C8 7F 9B 02 14 */ add r28, r27, r0
/* 802AE26C 002AB1CC 48 00 00 28 */ b lbl_802AE294
lbl_802AE270:
/* 802AE270 002AB1D0 28 1B 00 00 */ cmplwi r27, 0
/* 802AE274 002AB1D4 41 82 00 1C */ beq lbl_802AE290
/* 802AE278 002AB1D8 88 1B 00 00 */ lbz r0, 0(r27)
/* 802AE27C 002AB1DC 28 00 00 00 */ cmplwi r0, 0
/* 802AE280 002AB1E0 41 82 00 10 */ beq lbl_802AE290
/* 802AE284 002AB1E4 80 7B 00 04 */ lwz r3, 4(r27)
/* 802AE288 002AB1E8 38 80 00 01 */ li r4, 1
/* 802AE28C 002AB1EC 4B FF AA 85 */ bl __dt__8COBBTreeFv
lbl_802AE290:
/* 802AE290 002AB1F0 3B 7B 00 08 */ addi r27, r27, 8
lbl_802AE294:
/* 802AE294 002AB1F4 7C 1B E0 40 */ cmplw r27, r28
/* 802AE298 002AB1F8 40 82 FF D8 */ bne lbl_802AE270
/* 802AE29C 002AB1FC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802AE2A0 002AB200 28 03 00 00 */ cmplwi r3, 0
/* 802AE2A4 002AB204 41 82 00 08 */ beq lbl_802AE2AC
/* 802AE2A8 002AB208 48 06 76 89 */ bl Free__7CMemoryFPCv
lbl_802AE2AC:
/* 802AE2AC 002AB20C 93 BE 00 0C */ stw r29, 0xc(r30)
/* 802AE2B0 002AB210 93 FE 00 08 */ stw r31, 8(r30)
lbl_802AE2B4:
/* 802AE2B4 002AB214 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 802AE2B8 002AB218 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802AE2BC 002AB21C 7C 08 03 A6 */ mtlr r0
/* 802AE2C0 002AB220 38 21 00 30 */ addi r1, r1, 0x30
/* 802AE2C4 002AB224 4E 80 00 20 */ blr
.global "reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl42vector<6CAABox,Q24rstl17rmemory_allocator>Fi":
/* 802AE2C8 002AB228 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 802AE2CC 002AB22C 7C 08 02 A6 */ mflr r0
/* 802AE2D0 002AB230 90 01 00 34 */ stw r0, 0x34(r1)
/* 802AE2D4 002AB234 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 802AE2D8 002AB238 7C 9F 23 78 */ mr r31, r4
/* 802AE2DC 002AB23C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 802AE2E0 002AB240 7C 7E 1B 78 */ mr r30, r3
/* 802AE2E4 002AB244 93 A1 00 24 */ stw r29, 0x24(r1)
/* 802AE2E8 002AB248 80 03 00 08 */ lwz r0, 8(r3)
/* 802AE2EC 002AB24C 7C 1F 00 00 */ cmpw r31, r0
/* 802AE2F0 002AB250 40 81 00 D8 */ ble lbl_802AE3C8
/* 802AE2F4 002AB254 1C 7F 00 18 */ mulli r3, r31, 0x18
/* 802AE2F8 002AB258 2C 03 00 00 */ cmpwi r3, 0
/* 802AE2FC 002AB25C 40 82 00 0C */ bne lbl_802AE308
/* 802AE300 002AB260 3B A0 00 00 */ li r29, 0
/* 802AE304 002AB264 48 00 00 1C */ b lbl_802AE320
lbl_802AE308:
/* 802AE308 002AB268 3C 80 80 3D */ lis r4, lbl_803D60F0@ha
/* 802AE30C 002AB26C 38 A0 00 00 */ li r5, 0
/* 802AE310 002AB270 38 84 60 F0 */ addi r4, r4, lbl_803D60F0@l
/* 802AE314 002AB274 38 84 00 18 */ addi r4, r4, 0x18
/* 802AE318 002AB278 48 06 75 01 */ bl __nwa__FUlPCcPCc
/* 802AE31C 002AB27C 7C 7D 1B 78 */ mr r29, r3
lbl_802AE320:
/* 802AE320 002AB280 80 1E 00 04 */ lwz r0, 4(r30)
/* 802AE324 002AB284 7F A3 EB 78 */ mr r3, r29
/* 802AE328 002AB288 80 9E 00 0C */ lwz r4, 0xc(r30)
/* 802AE32C 002AB28C 1C 00 00 18 */ mulli r0, r0, 0x18
/* 802AE330 002AB290 90 81 00 10 */ stw r4, 0x10(r1)
/* 802AE334 002AB294 7C 04 02 14 */ add r0, r4, r0
/* 802AE338 002AB298 90 81 00 14 */ stw r4, 0x14(r1)
/* 802AE33C 002AB29C 90 01 00 08 */ stw r0, 8(r1)
/* 802AE340 002AB2A0 90 01 00 0C */ stw r0, 0xc(r1)
/* 802AE344 002AB2A4 48 00 00 44 */ b lbl_802AE388
lbl_802AE348:
/* 802AE348 002AB2A8 28 03 00 00 */ cmplwi r3, 0
/* 802AE34C 002AB2AC 41 82 00 34 */ beq lbl_802AE380
/* 802AE350 002AB2B0 C0 04 00 00 */ lfs f0, 0(r4)
/* 802AE354 002AB2B4 D0 03 00 00 */ stfs f0, 0(r3)
/* 802AE358 002AB2B8 C0 04 00 04 */ lfs f0, 4(r4)
/* 802AE35C 002AB2BC D0 03 00 04 */ stfs f0, 4(r3)
/* 802AE360 002AB2C0 C0 04 00 08 */ lfs f0, 8(r4)
/* 802AE364 002AB2C4 D0 03 00 08 */ stfs f0, 8(r3)
/* 802AE368 002AB2C8 C0 04 00 0C */ lfs f0, 0xc(r4)
/* 802AE36C 002AB2CC D0 03 00 0C */ stfs f0, 0xc(r3)
/* 802AE370 002AB2D0 C0 04 00 10 */ lfs f0, 0x10(r4)
/* 802AE374 002AB2D4 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 802AE378 002AB2D8 C0 04 00 14 */ lfs f0, 0x14(r4)
/* 802AE37C 002AB2DC D0 03 00 14 */ stfs f0, 0x14(r3)
lbl_802AE380:
/* 802AE380 002AB2E0 38 63 00 18 */ addi r3, r3, 0x18
/* 802AE384 002AB2E4 38 84 00 18 */ addi r4, r4, 0x18
lbl_802AE388:
/* 802AE388 002AB2E8 7C 04 00 40 */ cmplw r4, r0
/* 802AE38C 002AB2EC 40 82 FF BC */ bne lbl_802AE348
/* 802AE390 002AB2F0 80 1E 00 04 */ lwz r0, 4(r30)
/* 802AE394 002AB2F4 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 802AE398 002AB2F8 1C 00 00 18 */ mulli r0, r0, 0x18
/* 802AE39C 002AB2FC 7C 64 1B 78 */ mr r4, r3
/* 802AE3A0 002AB300 7C 03 02 14 */ add r0, r3, r0
/* 802AE3A4 002AB304 48 00 00 08 */ b lbl_802AE3AC
lbl_802AE3A8:
/* 802AE3A8 002AB308 38 84 00 18 */ addi r4, r4, 0x18
lbl_802AE3AC:
/* 802AE3AC 002AB30C 7C 04 00 40 */ cmplw r4, r0
/* 802AE3B0 002AB310 40 82 FF F8 */ bne lbl_802AE3A8
/* 802AE3B4 002AB314 28 03 00 00 */ cmplwi r3, 0
/* 802AE3B8 002AB318 41 82 00 08 */ beq lbl_802AE3C0
/* 802AE3BC 002AB31C 48 06 75 75 */ bl Free__7CMemoryFPCv
lbl_802AE3C0:
/* 802AE3C0 002AB320 93 BE 00 0C */ stw r29, 0xc(r30)
/* 802AE3C4 002AB324 93 FE 00 08 */ stw r31, 8(r30)
lbl_802AE3C8:
/* 802AE3C8 002AB328 80 01 00 34 */ lwz r0, 0x34(r1)
/* 802AE3CC 002AB32C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 802AE3D0 002AB330 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 802AE3D4 002AB334 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 802AE3D8 002AB338 7C 08 03 A6 */ mtlr r0
/* 802AE3DC 002AB33C 38 21 00 30 */ addi r1, r1, 0x30
/* 802AE3E0 002AB340 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805ADF00
lbl_805ADF00:
# ROM: 0x3FA7A0
.4byte 0
.global lbl_805ADF04
lbl_805ADF04:
# ROM: 0x3FA7A4
.float 1.0
.section .rodata
.balign 8
.global lbl_803D60F0
lbl_803D60F0:
# ROM: 0x3D30F0
.asciz "CCollidableOBBTreeGroup"
.asciz "??(??)"
.balign 4