prime/asm/MetroidPrime/ScriptObjects/CScriptMazeNode.s

2387 lines
122 KiB
ArmAsm

.include "macros.inc"
.section .data
.global lbl_803EB658
lbl_803EB658:
# ROM: 0x3E8658
.4byte 0
.4byte 0
.4byte __dt__15CScriptMazeNodeFv
.4byte Accept__15CScriptMazeNodeFR8IVisitor
.4byte PreThink__7CEntityFfR13CStateManager
.4byte Think__15CScriptMazeNodeFfR13CStateManager
.4byte AcceptScriptMsg__15CScriptMazeNodeF20EScriptObjectMessage9TUniqueIdR13CStateManager
.4byte SetActive__6CActorFb
.4byte PreRender__6CActorFR13CStateManagerRC14CFrustumPlanes
.4byte AddToRenderer__6CActorCFRC14CFrustumPlanesRC13CStateManager
.4byte Render__6CActorCFRC13CStateManager
.4byte CanRenderUnsorted__6CActorCFRC13CStateManager
.4byte CalculateRenderBounds__6CActorFv
.4byte HealthInfo__6CActorFR13CStateManager
.4byte GetDamageVulnerability__6CActorCFv
.4byte GetDamageVulnerability__6CActorCFRC9CVector3fRC9CVector3fRC11CDamageInfo
.4byte GetTouchBounds__6CActorCFv
.4byte Touch__6CActorFR6CActorR13CStateManager
.4byte GetOrbitPosition__6CActorCFRC13CStateManager
.4byte GetAimPosition__6CActorCFRC13CStateManagerf
.4byte GetHomingPosition__6CActorCFRC13CStateManagerf
.4byte GetScanObjectIndicatorPosition__6CActorCFRC13CStateManager
.4byte GetCollisionResponseType__6CActorCFRC9CVector3fRC9CVector3fRC11CWeaponModei
.4byte FluidFXThink__6CActorFQ26CActor11EFluidStateR12CScriptWaterR13CStateManager
.4byte OnScanStateChange__6CActorFQ26CActor10EScanStateR13CStateManager
.4byte GetSortingBounds__6CActorCFRC12CTransform4f
.4byte DoUserAnimEvent__6CActorFR13CStateManagerRC13CInt32POINode14EUserEventType
.4byte 0
.section .text, "ax"
.global __dt__15CScriptMazeNodeFv
__dt__15CScriptMazeNodeFv:
/* 802887C8 00285728 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802887CC 0028572C 7C 08 02 A6 */ mflr r0
/* 802887D0 00285730 90 01 00 24 */ stw r0, 0x24(r1)
/* 802887D4 00285734 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 802887D8 00285738 7C 9F 23 78 */ mr r31, r4
/* 802887DC 0028573C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 802887E0 00285740 7C 7E 1B 79 */ or. r30, r3, r3
/* 802887E4 00285744 41 82 00 74 */ beq lbl_80288858
/* 802887E8 00285748 3C 60 80 3F */ lis r3, lbl_803EB658@ha
/* 802887EC 0028574C 34 1E 01 2C */ addic. r0, r30, 0x12c
/* 802887F0 00285750 38 03 B6 58 */ addi r0, r3, lbl_803EB658@l
/* 802887F4 00285754 90 1E 00 00 */ stw r0, 0(r30)
/* 802887F8 00285758 41 82 00 44 */ beq lbl_8028883C
/* 802887FC 0028575C 80 1E 01 30 */ lwz r0, 0x130(r30)
/* 80288800 00285760 80 7E 01 38 */ lwz r3, 0x138(r30)
/* 80288804 00285764 54 00 08 3C */ slwi r0, r0, 1
/* 80288808 00285768 7C 03 02 14 */ add r0, r3, r0
/* 8028880C 0028576C 90 61 00 0C */ stw r3, 0xc(r1)
/* 80288810 00285770 7C 64 1B 78 */ mr r4, r3
/* 80288814 00285774 90 01 00 14 */ stw r0, 0x14(r1)
/* 80288818 00285778 90 01 00 10 */ stw r0, 0x10(r1)
/* 8028881C 0028577C 90 61 00 08 */ stw r3, 8(r1)
/* 80288820 00285780 48 00 00 08 */ b lbl_80288828
lbl_80288824:
/* 80288824 00285784 38 84 00 02 */ addi r4, r4, 2
lbl_80288828:
/* 80288828 00285788 7C 04 00 40 */ cmplw r4, r0
/* 8028882C 0028578C 40 82 FF F8 */ bne lbl_80288824
/* 80288830 00285790 28 03 00 00 */ cmplwi r3, 0
/* 80288834 00285794 41 82 00 08 */ beq lbl_8028883C
/* 80288838 00285798 48 08 D0 F9 */ bl Free__7CMemoryFPCv
lbl_8028883C:
/* 8028883C 0028579C 7F C3 F3 78 */ mr r3, r30
/* 80288840 002857A0 38 80 00 00 */ li r4, 0
/* 80288844 002857A4 4B DC CE AD */ bl __dt__6CActorFv
/* 80288848 002857A8 7F E0 07 35 */ extsh. r0, r31
/* 8028884C 002857AC 40 81 00 0C */ ble lbl_80288858
/* 80288850 002857B0 7F C3 F3 78 */ mr r3, r30
/* 80288854 002857B4 48 08 D0 DD */ bl Free__7CMemoryFPCv
lbl_80288858:
/* 80288858 002857B8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8028885C 002857BC 7F C3 F3 78 */ mr r3, r30
/* 80288860 002857C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80288864 002857C4 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 80288868 002857C8 7C 08 03 A6 */ mtlr r0
/* 8028886C 002857CC 38 21 00 20 */ addi r1, r1, 0x20
/* 80288870 002857D0 4E 80 00 20 */ blr
.global LoadMazeSeeds__15CScriptMazeNodeFv
LoadMazeSeeds__15CScriptMazeNodeFv:
/* 80288874 002857D4 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80288878 002857D8 7C 08 02 A6 */ mflr r0
/* 8028887C 002857DC 3C 80 80 3D */ lis r4, lbl_803D5980@ha
/* 80288880 002857E0 90 01 00 24 */ stw r0, 0x24(r1)
/* 80288884 002857E4 38 84 59 80 */ addi r4, r4, lbl_803D5980@l
/* 80288888 002857E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8028888C 002857EC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 80288890 002857F0 80 6D A0 60 */ lwz r3, gpResourceFactory@sda21(r13)
/* 80288894 002857F4 81 83 00 00 */ lwz r12, 0(r3)
/* 80288898 002857F8 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 8028889C 002857FC 7D 89 03 A6 */ mtctr r12
/* 802888A0 00285800 4E 80 04 21 */ bctrl
/* 802888A4 00285804 80 CD A0 60 */ lwz r6, gpResourceFactory@sda21(r13)
/* 802888A8 00285808 7C 64 1B 78 */ mr r4, r3
/* 802888AC 0028580C 38 A0 00 00 */ li r5, 0
/* 802888B0 00285810 38 66 00 04 */ addi r3, r6, 4
/* 802888B4 00285814 48 0B 30 B5 */ bl LoadNewResourceSync__10CResLoaderFRC10SObjectTagPc
/* 802888B8 00285818 7C 03 00 D0 */ neg r0, r3
/* 802888BC 0028581C 3C 80 80 57 */ lis r4, lbl_805726FC@ha
/* 802888C0 00285820 7C 00 1B 78 */ or r0, r0, r3
/* 802888C4 00285824 90 61 00 0C */ stw r3, 0xc(r1)
/* 802888C8 00285828 54 00 0F FE */ srwi r0, r0, 0x1f
/* 802888CC 0028582C 3B E4 26 FC */ addi r31, r4, lbl_805726FC@l
/* 802888D0 00285830 98 01 00 08 */ stb r0, 8(r1)
/* 802888D4 00285834 3B C0 00 00 */ li r30, 0
lbl_802888D8:
/* 802888D8 00285838 80 61 00 0C */ lwz r3, 0xc(r1)
/* 802888DC 0028583C 48 0B 63 A9 */ bl ReadLong__12CInputStreamFv
/* 802888E0 00285840 3B DE 00 01 */ addi r30, r30, 1
/* 802888E4 00285844 90 7F 00 00 */ stw r3, 0(r31)
/* 802888E8 00285848 2C 1E 01 2C */ cmpwi r30, 0x12c
/* 802888EC 0028584C 3B FF 00 04 */ addi r31, r31, 4
/* 802888F0 00285850 41 80 FF E8 */ blt lbl_802888D8
/* 802888F4 00285854 88 01 00 08 */ lbz r0, 8(r1)
/* 802888F8 00285858 28 00 00 00 */ cmplwi r0, 0
/* 802888FC 0028585C 41 82 00 24 */ beq lbl_80288920
/* 80288900 00285860 80 61 00 0C */ lwz r3, 0xc(r1)
/* 80288904 00285864 28 03 00 00 */ cmplwi r3, 0
/* 80288908 00285868 41 82 00 18 */ beq lbl_80288920
/* 8028890C 0028586C 81 83 00 00 */ lwz r12, 0(r3)
/* 80288910 00285870 38 80 00 01 */ li r4, 1
/* 80288914 00285874 81 8C 00 08 */ lwz r12, 8(r12)
/* 80288918 00285878 7D 89 03 A6 */ mtctr r12
/* 8028891C 0028587C 4E 80 04 21 */ bctrl
lbl_80288920:
/* 80288920 00285880 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80288924 00285884 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 80288928 00285888 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8028892C 0028588C 7C 08 03 A6 */ mtlr r0
/* 80288930 00285890 38 21 00 20 */ addi r1, r1, 0x20
/* 80288934 00285894 4E 80 00 20 */ blr
.global Think__15CScriptMazeNodeFfR13CStateManager
Think__15CScriptMazeNodeFfR13CStateManager:
/* 80288938 00285898 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8028893C 0028589C 7C 08 02 A6 */ mflr r0
/* 80288940 002858A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 80288944 002858A4 88 03 00 30 */ lbz r0, 0x30(r3)
/* 80288948 002858A8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 8028894C 002858AC 41 82 00 70 */ beq lbl_802889BC
/* 80288950 002858B0 88 03 01 3C */ lbz r0, 0x13c(r3)
/* 80288954 002858B4 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80288958 002858B8 41 82 00 64 */ beq lbl_802889BC
/* 8028895C 002858BC C0 43 00 F8 */ lfs f2, 0xf8(r3)
/* 80288960 002858C0 C0 02 BE 60 */ lfs f0, lbl_805ADB80@sda21(r2)
/* 80288964 002858C4 EC 22 08 28 */ fsubs f1, f2, f1
/* 80288968 002858C8 D0 23 00 F8 */ stfs f1, 0xf8(r3)
/* 8028896C 002858CC C0 23 00 F8 */ lfs f1, 0xf8(r3)
/* 80288970 002858D0 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 80288974 002858D4 4C 40 13 82 */ cror 2, 0, 2
/* 80288978 002858D8 40 82 00 44 */ bne lbl_802889BC
/* 8028897C 002858DC C0 02 BE 64 */ lfs f0, lbl_805ADB84@sda21(r2)
/* 80288980 002858E0 D0 03 00 F8 */ stfs f0, 0xf8(r3)
/* 80288984 002858E4 88 C3 01 3C */ lbz r6, 0x13c(r3)
/* 80288988 002858E8 54 C0 DF FF */ rlwinm. r0, r6, 0x1b, 0x1f, 0x1f
/* 8028898C 002858EC 41 82 00 1C */ beq lbl_802889A8
/* 80288990 002858F0 38 00 00 00 */ li r0, 0
/* 80288994 002858F4 38 A0 00 04 */ li r5, 4
/* 80288998 002858F8 50 06 2E B4 */ rlwimi r6, r0, 5, 0x1a, 0x1a
/* 8028899C 002858FC 98 C3 01 3C */ stb r6, 0x13c(r3)
/* 802889A0 00285900 48 00 08 81 */ bl sub_80289220
/* 802889A4 00285904 48 00 00 18 */ b lbl_802889BC
lbl_802889A8:
/* 802889A8 00285908 38 00 00 01 */ li r0, 1
/* 802889AC 0028590C 38 A0 00 01 */ li r5, 1
/* 802889B0 00285910 50 06 2E B4 */ rlwimi r6, r0, 5, 0x1a, 0x1a
/* 802889B4 00285914 98 C3 01 3C */ stb r6, 0x13c(r3)
/* 802889B8 00285918 48 00 08 69 */ bl sub_80289220
lbl_802889BC:
/* 802889BC 0028591C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802889C0 00285920 7C 08 03 A6 */ mtlr r0
/* 802889C4 00285924 38 21 00 10 */ addi r1, r1, 0x10
/* 802889C8 00285928 4E 80 00 20 */ blr
.global AcceptScriptMsg__15CScriptMazeNodeF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__15CScriptMazeNodeF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 802889CC 0028592C 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 802889D0 00285930 7C 08 02 A6 */ mflr r0
/* 802889D4 00285934 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 802889D8 00285938 BF 01 00 D0 */ stmw r24, 0xd0(r1)
/* 802889DC 0028593C 7C 7F 1B 78 */ mr r31, r3
/* 802889E0 00285940 7C 98 23 78 */ mr r24, r4
/* 802889E4 00285944 7C B9 2B 78 */ mr r25, r5
/* 802889E8 00285948 7C DE 33 78 */ mr r30, r6
/* 802889EC 0028594C 88 03 00 30 */ lbz r0, 0x30(r3)
/* 802889F0 00285950 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802889F4 00285954 41 82 07 FC */ beq lbl_802891F0
/* 802889F8 00285958 2C 18 00 13 */ cmpwi r24, 0x13
/* 802889FC 0028595C 41 82 01 04 */ beq lbl_80288B00
/* 80288A00 00285960 40 80 00 1C */ bge lbl_80288A1C
/* 80288A04 00285964 2C 18 00 0D */ cmpwi r24, 0xd
/* 80288A08 00285968 41 82 04 A4 */ beq lbl_80288EAC
/* 80288A0C 0028596C 40 80 07 E4 */ bge lbl_802891F0
/* 80288A10 00285970 2C 18 00 04 */ cmpwi r24, 4
/* 80288A14 00285974 41 82 07 D4 */ beq lbl_802891E8
/* 80288A18 00285978 48 00 07 D8 */ b lbl_802891F0
lbl_80288A1C:
/* 80288A1C 0028597C 2C 18 00 23 */ cmpwi r24, 0x23
/* 80288A20 00285980 41 82 00 14 */ beq lbl_80288A34
/* 80288A24 00285984 40 80 07 CC */ bge lbl_802891F0
/* 80288A28 00285988 2C 18 00 22 */ cmpwi r24, 0x22
/* 80288A2C 0028598C 40 80 07 80 */ bge lbl_802891AC
/* 80288A30 00285990 48 00 07 C0 */ b lbl_802891F0
lbl_80288A34:
/* 80288A34 00285994 7F C3 F3 78 */ mr r3, r30
/* 80288A38 00285998 4B DB B6 51 */ bl sub_80044088
/* 80288A3C 0028599C 28 03 00 00 */ cmplwi r3, 0
/* 80288A40 002859A0 40 82 07 B0 */ bne lbl_802891F0
/* 80288A44 002859A4 3C 80 80 3D */ lis r4, lbl_803D5980@ha
/* 80288A48 002859A8 38 60 00 98 */ li r3, 0x98
/* 80288A4C 002859AC 38 84 59 80 */ addi r4, r4, lbl_803D5980@l
/* 80288A50 002859B0 38 A0 00 00 */ li r5, 0
/* 80288A54 002859B4 38 84 00 0F */ addi r4, r4, 0xf
/* 80288A58 002859B8 48 08 CE 15 */ bl __nw__FUlPCcPCc
/* 80288A5C 002859BC 7C 7A 1B 79 */ or. r26, r3, r3
/* 80288A60 002859C0 41 82 00 1C */ beq lbl_80288A7C
/* 80288A64 002859C4 38 80 00 04 */ li r4, 4
/* 80288A68 002859C8 38 A0 00 04 */ li r5, 4
/* 80288A6C 002859CC 38 C0 00 05 */ li r6, 5
/* 80288A70 002859D0 38 E0 00 03 */ li r7, 3
/* 80288A74 002859D4 48 00 1E 25 */ bl sub_8028a898
/* 80288A78 002859D8 7C 7A 1B 78 */ mr r26, r3
lbl_80288A7C:
/* 80288A7C 002859DC 93 41 00 5C */ stw r26, 0x5c(r1)
/* 80288A80 002859E0 80 7E 09 00 */ lwz r3, 0x900(r30)
/* 80288A84 002859E4 48 08 9A 9D */ bl Next__9CRandom16Fv
/* 80288A88 002859E8 3C A0 1B 4F */ lis r5, 0x1B4E81B5@ha
/* 80288A8C 002859EC 3C 80 80 57 */ lis r4, lbl_805726FC@ha
/* 80288A90 002859F0 38 05 81 B5 */ addi r0, r5, 0x1B4E81B5@l
/* 80288A94 002859F4 7C 00 18 96 */ mulhw r0, r0, r3
/* 80288A98 002859F8 38 84 26 FC */ addi r4, r4, lbl_805726FC@l
/* 80288A9C 002859FC 7C 00 2E 70 */ srawi r0, r0, 5
/* 80288AA0 00285A00 54 05 0F FE */ srwi r5, r0, 0x1f
/* 80288AA4 00285A04 7C 00 2A 14 */ add r0, r0, r5
/* 80288AA8 00285A08 1C 00 01 2C */ mulli r0, r0, 0x12c
/* 80288AAC 00285A0C 7C 00 18 50 */ subf r0, r0, r3
/* 80288AB0 00285A10 7F 43 D3 78 */ mr r3, r26
/* 80288AB4 00285A14 54 00 10 3A */ slwi r0, r0, 2
/* 80288AB8 00285A18 7C 84 00 2E */ lwzx r4, r4, r0
/* 80288ABC 00285A1C 48 00 14 75 */ bl sub_80289f30
/* 80288AC0 00285A20 7F 43 D3 78 */ mr r3, r26
/* 80288AC4 00285A24 48 00 0D 39 */ bl sub_802897fc
/* 80288AC8 00285A28 7F 43 D3 78 */ mr r3, r26
/* 80288ACC 00285A2C 48 00 0E FD */ bl sub_802899c8
/* 80288AD0 00285A30 7F 45 D3 78 */ mr r5, r26
/* 80288AD4 00285A34 38 00 00 00 */ li r0, 0
/* 80288AD8 00285A38 90 A1 00 58 */ stw r5, 0x58(r1)
/* 80288ADC 00285A3C 7F C3 F3 78 */ mr r3, r30
/* 80288AE0 00285A40 38 81 00 58 */ addi r4, r1, 0x58
/* 80288AE4 00285A44 90 01 00 5C */ stw r0, 0x5c(r1)
/* 80288AE8 00285A48 4B DB B5 49 */ bl sub_80044030
/* 80288AEC 00285A4C 80 61 00 58 */ lwz r3, 0x58(r1)
/* 80288AF0 00285A50 48 08 CE 41 */ bl Free__7CMemoryFPCv
/* 80288AF4 00285A54 80 61 00 5C */ lwz r3, 0x5c(r1)
/* 80288AF8 00285A58 48 08 CE 39 */ bl Free__7CMemoryFPCv
/* 80288AFC 00285A5C 48 00 06 F4 */ b lbl_802891F0
lbl_80288B00:
/* 80288B00 00285A60 7F C3 F3 78 */ mr r3, r30
/* 80288B04 00285A64 3B 60 00 00 */ li r27, 0
/* 80288B08 00285A68 4B DB B5 81 */ bl sub_80044088
/* 80288B0C 00285A6C 28 03 00 00 */ cmplwi r3, 0
/* 80288B10 00285A70 41 82 06 E0 */ beq lbl_802891F0
/* 80288B14 00285A74 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 80288B18 00285A78 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 80288B1C 00285A7C 48 00 13 F9 */ bl sub_80289f14
/* 80288B20 00285A80 80 9F 00 F0 */ lwz r4, 0xf0(r31)
/* 80288B24 00285A84 7C 7A 1B 78 */ mr r26, r3
/* 80288B28 00285A88 2C 04 00 00 */ cmpwi r4, 0
/* 80288B2C 00285A8C 40 82 00 30 */ bne lbl_80288B5C
/* 80288B30 00285A90 88 7A 00 00 */ lbz r3, 0(r26)
/* 80288B34 00285A94 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 80288B38 00285A98 41 82 00 24 */ beq lbl_80288B5C
/* 80288B3C 00285A9C 54 60 EF FF */ rlwinm. r0, r3, 0x1d, 0x1f, 0x1f
/* 80288B40 00285AA0 41 82 00 54 */ beq lbl_80288B94
/* 80288B44 00285AA4 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288B48 00285AA8 38 60 00 01 */ li r3, 1
/* 80288B4C 00285AAC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80288B50 00285AB0 3B 60 00 01 */ li r27, 1
/* 80288B54 00285AB4 98 1F 01 3C */ stb r0, 0x13c(r31)
/* 80288B58 00285AB8 48 00 00 3C */ b lbl_80288B94
lbl_80288B5C:
/* 80288B5C 00285ABC 2C 04 00 01 */ cmpwi r4, 1
/* 80288B60 00285AC0 40 82 00 30 */ bne lbl_80288B90
/* 80288B64 00285AC4 88 7A 00 00 */ lbz r3, 0(r26)
/* 80288B68 00285AC8 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 80288B6C 00285ACC 41 82 00 24 */ beq lbl_80288B90
/* 80288B70 00285AD0 54 60 F7 FF */ rlwinm. r0, r3, 0x1e, 0x1f, 0x1f
/* 80288B74 00285AD4 41 82 00 20 */ beq lbl_80288B94
/* 80288B78 00285AD8 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288B7C 00285ADC 38 60 00 01 */ li r3, 1
/* 80288B80 00285AE0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80288B84 00285AE4 3B 60 00 01 */ li r27, 1
/* 80288B88 00285AE8 98 1F 01 3C */ stb r0, 0x13c(r31)
/* 80288B8C 00285AEC 48 00 00 08 */ b lbl_80288B94
lbl_80288B90:
/* 80288B90 00285AF0 3B 60 00 01 */ li r27, 1
lbl_80288B94:
/* 80288B94 00285AF4 57 60 06 3F */ clrlwi. r0, r27, 0x18
/* 80288B98 00285AF8 41 82 00 10 */ beq lbl_80288BA8
/* 80288B9C 00285AFC 7F E3 FB 78 */ mr r3, r31
/* 80288BA0 00285B00 7F C4 F3 78 */ mr r4, r30
/* 80288BA4 00285B04 48 00 08 41 */ bl sub_802893e4
lbl_80288BA8:
/* 80288BA8 00285B08 80 1F 00 F0 */ lwz r0, 0xf0(r31)
/* 80288BAC 00285B0C 2C 00 00 01 */ cmpwi r0, 1
/* 80288BB0 00285B10 40 82 00 20 */ bne lbl_80288BD0
/* 80288BB4 00285B14 88 1A 00 01 */ lbz r0, 1(r26)
/* 80288BB8 00285B18 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80288BBC 00285B1C 41 82 00 14 */ beq lbl_80288BD0
/* 80288BC0 00285B20 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288BC4 00285B24 38 60 00 01 */ li r3, 1
/* 80288BC8 00285B28 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 80288BCC 00285B2C 98 1F 01 3C */ stb r0, 0x13c(r31)
lbl_80288BD0:
/* 80288BD0 00285B30 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288BD4 00285B34 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 80288BD8 00285B38 41 82 01 14 */ beq lbl_80288CEC
/* 80288BDC 00285B3C 38 61 00 94 */ addi r3, r1, 0x94
/* 80288BE0 00285B40 38 9F 00 34 */ addi r4, r31, 0x34
/* 80288BE4 00285B44 48 08 9F 91 */ bl __ct__12CTransform4fFRC12CTransform4f
/* 80288BE8 00285B48 80 DF 00 2C */ lwz r6, 0x2c(r31)
/* 80288BEC 00285B4C 48 00 00 E8 */ b lbl_80288CD4
lbl_80288BF0:
/* 80288BF0 00285B50 80 06 00 00 */ lwz r0, 0(r6)
/* 80288BF4 00285B54 2C 00 00 19 */ cmpwi r0, 0x19
/* 80288BF8 00285B58 40 82 00 D8 */ bne lbl_80288CD0
/* 80288BFC 00285B5C 80 06 00 04 */ lwz r0, 4(r6)
/* 80288C00 00285B60 2C 00 00 01 */ cmpwi r0, 1
/* 80288C04 00285B64 40 82 00 CC */ bne lbl_80288CD0
/* 80288C08 00285B68 88 BE 0F 94 */ lbz r5, 0xf94(r30)
/* 80288C0C 00285B6C 38 60 00 01 */ li r3, 1
/* 80288C10 00285B70 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 80288C14 00285B74 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80288C18 00285B78 7F C4 F3 78 */ mr r4, r30
/* 80288C1C 00285B7C 54 BA DF FE */ rlwinm r26, r5, 0x1b, 0x1f, 0x1f
/* 80288C20 00285B80 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 80288C24 00285B84 38 61 00 80 */ addi r3, r1, 0x80
/* 80288C28 00285B88 38 A6 00 08 */ addi r5, r6, 8
/* 80288C2C 00285B8C 4B DB F6 BD */ bl GenerateObject__13CStateManagerF9TEditorId
/* 80288C30 00285B90 A0 A1 00 84 */ lhz r5, 0x84(r1)
/* 80288C34 00285B94 7F C3 F3 78 */ mr r3, r30
/* 80288C38 00285B98 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 80288C3C 00285B9C 53 40 2E B4 */ rlwimi r0, r26, 5, 0x1a, 0x1a
/* 80288C40 00285BA0 B0 A1 00 3C */ sth r5, 0x3c(r1)
/* 80288C44 00285BA4 38 81 00 34 */ addi r4, r1, 0x34
/* 80288C48 00285BA8 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 80288C4C 00285BAC B0 BF 00 F4 */ sth r5, 0xf4(r31)
/* 80288C50 00285BB0 B0 A1 00 34 */ sth r5, 0x34(r1)
/* 80288C54 00285BB4 4B DC 39 21 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80288C58 00285BB8 7C 64 1B 78 */ mr r4, r3
/* 80288C5C 00285BBC 38 61 00 78 */ addi r3, r1, 0x78
/* 80288C60 00285BC0 4B E2 70 31 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80288C64 00285BC4 83 43 00 04 */ lwz r26, 4(r3)
/* 80288C68 00285BC8 28 1A 00 00 */ cmplwi r26, 0
/* 80288C6C 00285BCC 41 82 00 80 */ beq lbl_80288CEC
/* 80288C70 00285BD0 C0 3F 00 50 */ lfs f1, 0x50(r31)
/* 80288C74 00285BD4 7F 43 D3 78 */ mr r3, r26
/* 80288C78 00285BD8 C0 1F 01 24 */ lfs f0, 0x124(r31)
/* 80288C7C 00285BDC 38 81 00 88 */ addi r4, r1, 0x88
/* 80288C80 00285BE0 C0 7F 00 60 */ lfs f3, 0x60(r31)
/* 80288C84 00285BE4 C0 5F 01 28 */ lfs f2, 0x128(r31)
/* 80288C88 00285BE8 EC 81 00 2A */ fadds f4, f1, f0
/* 80288C8C 00285BEC C0 3F 00 40 */ lfs f1, 0x40(r31)
/* 80288C90 00285BF0 C0 1F 01 20 */ lfs f0, 0x120(r31)
/* 80288C94 00285BF4 EC 43 10 2A */ fadds f2, f3, f2
/* 80288C98 00285BF8 EC 01 00 2A */ fadds f0, f1, f0
/* 80288C9C 00285BFC D0 81 00 8C */ stfs f4, 0x8c(r1)
/* 80288CA0 00285C00 D0 41 00 90 */ stfs f2, 0x90(r1)
/* 80288CA4 00285C04 D0 01 00 88 */ stfs f0, 0x88(r1)
/* 80288CA8 00285C08 4B DC A1 E5 */ bl SetTranslation__6CActorFRC9CVector3f
/* 80288CAC 00285C0C A0 1F 00 08 */ lhz r0, 8(r31)
/* 80288CB0 00285C10 7F C3 F3 78 */ mr r3, r30
/* 80288CB4 00285C14 7F 44 D3 78 */ mr r4, r26
/* 80288CB8 00285C18 38 A1 00 30 */ addi r5, r1, 0x30
/* 80288CBC 00285C1C B0 01 00 2C */ sth r0, 0x2c(r1)
/* 80288CC0 00285C20 38 C0 00 01 */ li r6, 1
/* 80288CC4 00285C24 B0 01 00 30 */ sth r0, 0x30(r1)
/* 80288CC8 00285C28 4B DB B2 09 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 80288CCC 00285C2C 48 00 00 20 */ b lbl_80288CEC
lbl_80288CD0:
/* 80288CD0 00285C30 38 C6 00 0C */ addi r6, r6, 0xc
lbl_80288CD4:
/* 80288CD4 00285C34 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80288CD8 00285C38 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80288CDC 00285C3C 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80288CE0 00285C40 7C 03 02 14 */ add r0, r3, r0
/* 80288CE4 00285C44 7C 06 00 40 */ cmplw r6, r0
/* 80288CE8 00285C48 40 82 FF 08 */ bne lbl_80288BF0
lbl_80288CEC:
/* 80288CEC 00285C4C 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288CF0 00285C50 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80288CF4 00285C54 41 82 04 FC */ beq lbl_802891F0
/* 80288CF8 00285C58 80 BF 00 2C */ lwz r5, 0x2c(r31)
/* 80288CFC 00285C5C 38 80 00 00 */ li r4, 0
/* 80288D00 00285C60 48 00 00 2C */ b lbl_80288D2C
lbl_80288D04:
/* 80288D04 00285C64 80 05 00 00 */ lwz r0, 0(r5)
/* 80288D08 00285C68 2C 00 00 02 */ cmpwi r0, 2
/* 80288D0C 00285C6C 41 82 00 0C */ beq lbl_80288D18
/* 80288D10 00285C70 2C 00 00 11 */ cmpwi r0, 0x11
/* 80288D14 00285C74 40 82 00 14 */ bne lbl_80288D28
lbl_80288D18:
/* 80288D18 00285C78 80 05 00 04 */ lwz r0, 4(r5)
/* 80288D1C 00285C7C 2C 00 00 01 */ cmpwi r0, 1
/* 80288D20 00285C80 40 82 00 08 */ bne lbl_80288D28
/* 80288D24 00285C84 38 84 00 01 */ addi r4, r4, 1
lbl_80288D28:
/* 80288D28 00285C88 38 A5 00 0C */ addi r5, r5, 0xc
lbl_80288D2C:
/* 80288D2C 00285C8C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80288D30 00285C90 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80288D34 00285C94 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80288D38 00285C98 7C 03 02 14 */ add r0, r3, r0
/* 80288D3C 00285C9C 7C 05 00 40 */ cmplw r5, r0
/* 80288D40 00285CA0 40 82 FF C4 */ bne lbl_80288D04
/* 80288D44 00285CA4 38 7F 01 2C */ addi r3, r31, 0x12c
/* 80288D48 00285CA8 4B D8 36 C1 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
/* 80288D4C 00285CAC 83 5F 00 2C */ lwz r26, 0x2c(r31)
/* 80288D50 00285CB0 48 00 01 40 */ b lbl_80288E90
lbl_80288D54:
/* 80288D54 00285CB4 80 1A 00 00 */ lwz r0, 0(r26)
/* 80288D58 00285CB8 2C 00 00 02 */ cmpwi r0, 2
/* 80288D5C 00285CBC 41 82 00 0C */ beq lbl_80288D68
/* 80288D60 00285CC0 2C 00 00 11 */ cmpwi r0, 0x11
/* 80288D64 00285CC4 40 82 01 28 */ bne lbl_80288E8C
lbl_80288D68:
/* 80288D68 00285CC8 80 1A 00 04 */ lwz r0, 4(r26)
/* 80288D6C 00285CCC 2C 00 00 01 */ cmpwi r0, 1
/* 80288D70 00285CD0 40 82 01 1C */ bne lbl_80288E8C
/* 80288D74 00285CD4 88 BE 0F 94 */ lbz r5, 0xf94(r30)
/* 80288D78 00285CD8 38 60 00 01 */ li r3, 1
/* 80288D7C 00285CDC 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 80288D80 00285CE0 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 80288D84 00285CE4 7F C4 F3 78 */ mr r4, r30
/* 80288D88 00285CE8 54 BB DF FE */ rlwinm r27, r5, 0x1b, 0x1f, 0x1f
/* 80288D8C 00285CEC 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 80288D90 00285CF0 38 61 00 70 */ addi r3, r1, 0x70
/* 80288D94 00285CF4 38 BA 00 08 */ addi r5, r26, 8
/* 80288D98 00285CF8 4B DB F5 51 */ bl GenerateObject__13CStateManagerF9TEditorId
/* 80288D9C 00285CFC A0 61 00 74 */ lhz r3, 0x74(r1)
/* 80288DA0 00285D00 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 80288DA4 00285D04 53 60 2E B4 */ rlwimi r0, r27, 5, 0x1a, 0x1a
/* 80288DA8 00285D08 B0 61 00 38 */ sth r3, 0x38(r1)
/* 80288DAC 00285D0C 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 80288DB0 00285D10 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 80288DB4 00285D14 80 BF 01 34 */ lwz r5, 0x134(r31)
/* 80288DB8 00285D18 7C 00 28 00 */ cmpw r0, r5
/* 80288DBC 00285D1C 41 80 00 1C */ blt lbl_80288DD8
/* 80288DC0 00285D20 2C 05 00 00 */ cmpwi r5, 0
/* 80288DC4 00285D24 38 7F 01 2C */ addi r3, r31, 0x12c
/* 80288DC8 00285D28 38 80 00 04 */ li r4, 4
/* 80288DCC 00285D2C 41 82 00 08 */ beq lbl_80288DD4
/* 80288DD0 00285D30 54 A4 08 3C */ slwi r4, r5, 1
lbl_80288DD4:
/* 80288DD4 00285D34 4B D8 36 35 */ bl "reserve__Q24rstl45vector<9TUniqueId,Q24rstl17rmemory_allocator>Fi"
lbl_80288DD8:
/* 80288DD8 00285D38 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 80288DDC 00285D3C 80 7F 01 38 */ lwz r3, 0x138(r31)
/* 80288DE0 00285D40 54 00 08 3C */ slwi r0, r0, 1
/* 80288DE4 00285D44 7C 63 02 15 */ add. r3, r3, r0
/* 80288DE8 00285D48 41 82 00 0C */ beq lbl_80288DF4
/* 80288DEC 00285D4C A0 01 00 38 */ lhz r0, 0x38(r1)
/* 80288DF0 00285D50 B0 03 00 00 */ sth r0, 0(r3)
lbl_80288DF4:
/* 80288DF4 00285D54 80 BF 01 30 */ lwz r5, 0x130(r31)
/* 80288DF8 00285D58 7F C3 F3 78 */ mr r3, r30
/* 80288DFC 00285D5C A0 01 00 38 */ lhz r0, 0x38(r1)
/* 80288E00 00285D60 38 81 00 28 */ addi r4, r1, 0x28
/* 80288E04 00285D64 38 A5 00 01 */ addi r5, r5, 1
/* 80288E08 00285D68 90 BF 01 30 */ stw r5, 0x130(r31)
/* 80288E0C 00285D6C B0 01 00 28 */ sth r0, 0x28(r1)
/* 80288E10 00285D70 4B DC 37 65 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80288E14 00285D74 7C 64 1B 78 */ mr r4, r3
/* 80288E18 00285D78 38 61 00 68 */ addi r3, r1, 0x68
/* 80288E1C 00285D7C 4B E2 6E 75 */ bl "__ct__19TCastToPtr<6CActor>FP7CEntity"
/* 80288E20 00285D80 83 63 00 04 */ lwz r27, 4(r3)
/* 80288E24 00285D84 28 1B 00 00 */ cmplwi r27, 0
/* 80288E28 00285D88 41 82 00 64 */ beq lbl_80288E8C
/* 80288E2C 00285D8C 38 7B 00 34 */ addi r3, r27, 0x34
/* 80288E30 00285D90 38 9F 00 34 */ addi r4, r31, 0x34
/* 80288E34 00285D94 48 08 9D 0D */ bl __as__12CTransform4fFRC12CTransform4f
/* 80288E38 00285D98 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 80288E3C 00285D9C 38 60 00 01 */ li r3, 1
/* 80288E40 00285DA0 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 80288E44 00285DA4 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 80288E48 00285DA8 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 80288E4C 00285DAC 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 80288E50 00285DB0 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 80288E54 00285DB4 88 1B 00 E4 */ lbz r0, 0xe4(r27)
/* 80288E58 00285DB8 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 80288E5C 00285DBC 98 1B 00 E4 */ stb r0, 0xe4(r27)
/* 80288E60 00285DC0 80 1A 00 00 */ lwz r0, 0(r26)
/* 80288E64 00285DC4 2C 00 00 02 */ cmpwi r0, 2
/* 80288E68 00285DC8 40 82 00 24 */ bne lbl_80288E8C
/* 80288E6C 00285DCC A0 1F 00 08 */ lhz r0, 8(r31)
/* 80288E70 00285DD0 7F C3 F3 78 */ mr r3, r30
/* 80288E74 00285DD4 7F 64 DB 78 */ mr r4, r27
/* 80288E78 00285DD8 38 A1 00 24 */ addi r5, r1, 0x24
/* 80288E7C 00285DDC B0 01 00 20 */ sth r0, 0x20(r1)
/* 80288E80 00285DE0 38 C0 00 01 */ li r6, 1
/* 80288E84 00285DE4 B0 01 00 24 */ sth r0, 0x24(r1)
/* 80288E88 00285DE8 4B DB B0 49 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
lbl_80288E8C:
/* 80288E8C 00285DEC 3B 5A 00 0C */ addi r26, r26, 0xc
lbl_80288E90:
/* 80288E90 00285DF0 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 80288E94 00285DF4 80 7F 00 2C */ lwz r3, 0x2c(r31)
/* 80288E98 00285DF8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80288E9C 00285DFC 7C 03 02 14 */ add r0, r3, r0
/* 80288EA0 00285E00 7C 1A 00 40 */ cmplw r26, r0
/* 80288EA4 00285E04 40 82 FE B0 */ bne lbl_80288D54
/* 80288EA8 00285E08 48 00 03 48 */ b lbl_802891F0
lbl_80288EAC:
/* 80288EAC 00285E0C 7F C3 F3 78 */ mr r3, r30
/* 80288EB0 00285E10 4B DB B1 D9 */ bl sub_80044088
/* 80288EB4 00285E14 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 80288EB8 00285E18 7C 7C 1B 78 */ mr r28, r3
/* 80288EBC 00285E1C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80288EC0 00285E20 41 82 03 30 */ beq lbl_802891F0
/* 80288EC4 00285E24 28 1C 00 00 */ cmplwi r28, 0
/* 80288EC8 00285E28 41 82 03 28 */ beq lbl_802891F0
/* 80288ECC 00285E2C 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 80288ED0 00285E30 83 5F 01 38 */ lwz r26, 0x138(r31)
/* 80288ED4 00285E34 54 00 08 3C */ slwi r0, r0, 1
/* 80288ED8 00285E38 7C 9A 02 14 */ add r4, r26, r0
/* 80288EDC 00285E3C 93 41 00 50 */ stw r26, 0x50(r1)
/* 80288EE0 00285E40 90 81 00 44 */ stw r4, 0x44(r1)
/* 80288EE4 00285E44 93 41 00 54 */ stw r26, 0x54(r1)
/* 80288EE8 00285E48 90 81 00 48 */ stw r4, 0x48(r1)
/* 80288EEC 00285E4C 90 81 00 4C */ stw r4, 0x4c(r1)
/* 80288EF0 00285E50 48 00 00 10 */ b lbl_80288F00
lbl_80288EF4:
/* 80288EF4 00285E54 80 61 00 54 */ lwz r3, 0x54(r1)
/* 80288EF8 00285E58 38 03 00 02 */ addi r0, r3, 2
/* 80288EFC 00285E5C 90 01 00 54 */ stw r0, 0x54(r1)
lbl_80288F00:
/* 80288F00 00285E60 80 61 00 54 */ lwz r3, 0x54(r1)
/* 80288F04 00285E64 7C 03 20 40 */ cmplw r3, r4
/* 80288F08 00285E68 41 82 00 14 */ beq lbl_80288F1C
/* 80288F0C 00285E6C A0 63 00 00 */ lhz r3, 0(r3)
/* 80288F10 00285E70 A0 19 00 00 */ lhz r0, 0(r25)
/* 80288F14 00285E74 7C 03 00 40 */ cmplw r3, r0
/* 80288F18 00285E78 40 82 FF DC */ bne lbl_80288EF4
lbl_80288F1C:
/* 80288F1C 00285E7C 80 61 00 54 */ lwz r3, 0x54(r1)
/* 80288F20 00285E80 80 01 00 44 */ lwz r0, 0x44(r1)
/* 80288F24 00285E84 7C 03 00 40 */ cmplw r3, r0
/* 80288F28 00285E88 41 82 02 C8 */ beq lbl_802891F0
/* 80288F2C 00285E8C 48 00 00 68 */ b lbl_80288F94
lbl_80288F30:
/* 80288F30 00285E90 A0 1A 00 00 */ lhz r0, 0(r26)
/* 80288F34 00285E94 7F C3 F3 78 */ mr r3, r30
/* 80288F38 00285E98 38 81 00 1C */ addi r4, r1, 0x1c
/* 80288F3C 00285E9C B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80288F40 00285EA0 4B DC 36 35 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80288F44 00285EA4 7C 64 1B 79 */ or. r4, r3, r3
/* 80288F48 00285EA8 41 82 00 48 */ beq lbl_80288F90
/* 80288F4C 00285EAC 88 04 00 30 */ lbz r0, 0x30(r4)
/* 80288F50 00285EB0 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 80288F54 00285EB4 40 82 00 24 */ bne lbl_80288F78
/* 80288F58 00285EB8 A0 1F 00 08 */ lhz r0, 8(r31)
/* 80288F5C 00285EBC 7F C3 F3 78 */ mr r3, r30
/* 80288F60 00285EC0 38 A1 00 18 */ addi r5, r1, 0x18
/* 80288F64 00285EC4 38 C0 00 01 */ li r6, 1
/* 80288F68 00285EC8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80288F6C 00285ECC B0 01 00 18 */ sth r0, 0x18(r1)
/* 80288F70 00285ED0 4B DB AF 61 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 80288F74 00285ED4 48 00 00 1C */ b lbl_80288F90
lbl_80288F78:
/* 80288F78 00285ED8 A0 04 00 08 */ lhz r0, 8(r4)
/* 80288F7C 00285EDC 7F C3 F3 78 */ mr r3, r30
/* 80288F80 00285EE0 38 81 00 10 */ addi r4, r1, 0x10
/* 80288F84 00285EE4 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80288F88 00285EE8 B0 01 00 10 */ sth r0, 0x10(r1)
/* 80288F8C 00285EEC 4B DC 32 E1 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
lbl_80288F90:
/* 80288F90 00285EF0 3B 5A 00 02 */ addi r26, r26, 2
lbl_80288F94:
/* 80288F94 00285EF4 80 1F 01 30 */ lwz r0, 0x130(r31)
/* 80288F98 00285EF8 80 7F 01 38 */ lwz r3, 0x138(r31)
/* 80288F9C 00285EFC 54 00 08 3C */ slwi r0, r0, 1
/* 80288FA0 00285F00 7C 03 02 14 */ add r0, r3, r0
/* 80288FA4 00285F04 7C 1A 00 40 */ cmplw r26, r0
/* 80288FA8 00285F08 40 82 FF 88 */ bne lbl_80288F30
/* 80288FAC 00285F0C 83 5E 08 10 */ lwz r26, 0x810(r30)
/* 80288FB0 00285F10 AB BA 20 08 */ lha r29, 0x2008(r26)
/* 80288FB4 00285F14 48 00 01 EC */ b lbl_802891A0
lbl_80288FB8:
/* 80288FB8 00285F18 7F 43 D3 78 */ mr r3, r26
/* 80288FBC 00285F1C 7F A4 EB 78 */ mr r4, r29
/* 80288FC0 00285F20 4B D8 6D 55 */ bl __vc__11CObjectListFi
/* 80288FC4 00285F24 7C 64 1B 78 */ mr r4, r3
/* 80288FC8 00285F28 38 61 00 60 */ addi r3, r1, 0x60
/* 80288FCC 00285F2C 4B E2 04 D5 */ bl "__ct__29TCastToPtr<15CScriptMazeNode>FP7CEntity"
/* 80288FD0 00285F30 83 63 00 04 */ lwz r27, 4(r3)
/* 80288FD4 00285F34 28 1B 00 00 */ cmplwi r27, 0
/* 80288FD8 00285F38 41 82 01 AC */ beq lbl_80289184
/* 80288FDC 00285F3C 80 7F 00 E8 */ lwz r3, 0xe8(r31)
/* 80288FE0 00285F40 80 1B 00 E8 */ lwz r0, 0xe8(r27)
/* 80288FE4 00285F44 38 83 FF FF */ addi r4, r3, -1
/* 80288FE8 00285F48 7C 00 20 00 */ cmpw r0, r4
/* 80288FEC 00285F4C 40 82 00 5C */ bne lbl_80289048
/* 80288FF0 00285F50 80 1B 00 EC */ lwz r0, 0xec(r27)
/* 80288FF4 00285F54 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 80288FF8 00285F58 7C 00 28 00 */ cmpw r0, r5
/* 80288FFC 00285F5C 40 82 00 4C */ bne lbl_80289048
/* 80289000 00285F60 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 80289004 00285F64 2C 00 00 01 */ cmpwi r0, 1
/* 80289008 00285F68 40 82 00 40 */ bne lbl_80289048
/* 8028900C 00285F6C 7F 83 E3 78 */ mr r3, r28
/* 80289010 00285F70 48 00 0E E9 */ bl sub_80289ef8
/* 80289014 00285F74 88 A3 00 00 */ lbz r5, 0(r3)
/* 80289018 00285F78 54 A0 D7 FF */ rlwinm. r0, r5, 0x1a, 0x1f, 0x1f
/* 8028901C 00285F7C 40 82 00 2C */ bne lbl_80289048
/* 80289020 00285F80 38 00 00 01 */ li r0, 1
/* 80289024 00285F84 7F C4 F3 78 */ mr r4, r30
/* 80289028 00285F88 50 05 36 72 */ rlwimi r5, r0, 6, 0x19, 0x19
/* 8028902C 00285F8C 98 A3 00 00 */ stb r5, 0(r3)
/* 80289030 00285F90 7F 63 DB 78 */ mr r3, r27
/* 80289034 00285F94 48 00 03 0D */ bl sub_80289340
/* 80289038 00285F98 88 1B 01 3C */ lbz r0, 0x13c(r27)
/* 8028903C 00285F9C 38 60 00 00 */ li r3, 0
/* 80289040 00285FA0 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80289044 00285FA4 98 1B 01 3C */ stb r0, 0x13c(r27)
lbl_80289048:
/* 80289048 00285FA8 80 1B 00 E8 */ lwz r0, 0xe8(r27)
/* 8028904C 00285FAC 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 80289050 00285FB0 7C 00 20 00 */ cmpw r0, r4
/* 80289054 00285FB4 40 82 00 5C */ bne lbl_802890B0
/* 80289058 00285FB8 80 1B 00 EC */ lwz r0, 0xec(r27)
/* 8028905C 00285FBC 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 80289060 00285FC0 7C 00 28 00 */ cmpw r0, r5
/* 80289064 00285FC4 40 82 00 4C */ bne lbl_802890B0
/* 80289068 00285FC8 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 8028906C 00285FCC 2C 00 00 01 */ cmpwi r0, 1
/* 80289070 00285FD0 40 82 00 40 */ bne lbl_802890B0
/* 80289074 00285FD4 7F 83 E3 78 */ mr r3, r28
/* 80289078 00285FD8 48 00 0E 81 */ bl sub_80289ef8
/* 8028907C 00285FDC 88 A3 00 00 */ lbz r5, 0(r3)
/* 80289080 00285FE0 54 A0 D7 FF */ rlwinm. r0, r5, 0x1a, 0x1f, 0x1f
/* 80289084 00285FE4 40 82 00 2C */ bne lbl_802890B0
/* 80289088 00285FE8 38 00 00 01 */ li r0, 1
/* 8028908C 00285FEC 7F C4 F3 78 */ mr r4, r30
/* 80289090 00285FF0 50 05 36 72 */ rlwimi r5, r0, 6, 0x19, 0x19
/* 80289094 00285FF4 98 A3 00 00 */ stb r5, 0(r3)
/* 80289098 00285FF8 7F 63 DB 78 */ mr r3, r27
/* 8028909C 00285FFC 48 00 02 A5 */ bl sub_80289340
/* 802890A0 00286000 88 1B 01 3C */ lbz r0, 0x13c(r27)
/* 802890A4 00286004 38 60 00 00 */ li r3, 0
/* 802890A8 00286008 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 802890AC 0028600C 98 1B 01 3C */ stb r0, 0x13c(r27)
lbl_802890B0:
/* 802890B0 00286010 80 1B 00 E8 */ lwz r0, 0xe8(r27)
/* 802890B4 00286014 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 802890B8 00286018 7C 00 20 00 */ cmpw r0, r4
/* 802890BC 0028601C 40 82 00 5C */ bne lbl_80289118
/* 802890C0 00286020 80 1B 00 EC */ lwz r0, 0xec(r27)
/* 802890C4 00286024 80 BF 00 EC */ lwz r5, 0xec(r31)
/* 802890C8 00286028 7C 00 28 00 */ cmpw r0, r5
/* 802890CC 0028602C 40 82 00 4C */ bne lbl_80289118
/* 802890D0 00286030 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 802890D4 00286034 2C 00 00 00 */ cmpwi r0, 0
/* 802890D8 00286038 40 82 00 40 */ bne lbl_80289118
/* 802890DC 0028603C 7F 83 E3 78 */ mr r3, r28
/* 802890E0 00286040 48 00 0E 19 */ bl sub_80289ef8
/* 802890E4 00286044 88 A3 00 00 */ lbz r5, 0(r3)
/* 802890E8 00286048 54 A0 CF FF */ rlwinm. r0, r5, 0x19, 0x1f, 0x1f
/* 802890EC 0028604C 40 82 00 2C */ bne lbl_80289118
/* 802890F0 00286050 38 00 00 01 */ li r0, 1
/* 802890F4 00286054 7F C4 F3 78 */ mr r4, r30
/* 802890F8 00286058 50 05 3E 30 */ rlwimi r5, r0, 7, 0x18, 0x18
/* 802890FC 0028605C 98 A3 00 00 */ stb r5, 0(r3)
/* 80289100 00286060 7F 63 DB 78 */ mr r3, r27
/* 80289104 00286064 48 00 02 3D */ bl sub_80289340
/* 80289108 00286068 88 1B 01 3C */ lbz r0, 0x13c(r27)
/* 8028910C 0028606C 38 60 00 00 */ li r3, 0
/* 80289110 00286070 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80289114 00286074 98 1B 01 3C */ stb r0, 0x13c(r27)
lbl_80289118:
/* 80289118 00286078 80 1B 00 E8 */ lwz r0, 0xe8(r27)
/* 8028911C 0028607C 80 9F 00 E8 */ lwz r4, 0xe8(r31)
/* 80289120 00286080 7C 00 20 00 */ cmpw r0, r4
/* 80289124 00286084 40 82 00 60 */ bne lbl_80289184
/* 80289128 00286088 80 7F 00 EC */ lwz r3, 0xec(r31)
/* 8028912C 0028608C 80 1B 00 EC */ lwz r0, 0xec(r27)
/* 80289130 00286090 38 A3 00 01 */ addi r5, r3, 1
/* 80289134 00286094 7C 00 28 00 */ cmpw r0, r5
/* 80289138 00286098 40 82 00 4C */ bne lbl_80289184
/* 8028913C 0028609C 80 1B 00 F0 */ lwz r0, 0xf0(r27)
/* 80289140 002860A0 2C 00 00 00 */ cmpwi r0, 0
/* 80289144 002860A4 40 82 00 40 */ bne lbl_80289184
/* 80289148 002860A8 7F 83 E3 78 */ mr r3, r28
/* 8028914C 002860AC 48 00 0D AD */ bl sub_80289ef8
/* 80289150 002860B0 88 A3 00 00 */ lbz r5, 0(r3)
/* 80289154 002860B4 54 A0 CF FF */ rlwinm. r0, r5, 0x19, 0x1f, 0x1f
/* 80289158 002860B8 40 82 00 2C */ bne lbl_80289184
/* 8028915C 002860BC 38 00 00 01 */ li r0, 1
/* 80289160 002860C0 7F C4 F3 78 */ mr r4, r30
/* 80289164 002860C4 50 05 3E 30 */ rlwimi r5, r0, 7, 0x18, 0x18
/* 80289168 002860C8 98 A3 00 00 */ stb r5, 0(r3)
/* 8028916C 002860CC 7F 63 DB 78 */ mr r3, r27
/* 80289170 002860D0 48 00 01 D1 */ bl sub_80289340
/* 80289174 002860D4 88 1B 01 3C */ lbz r0, 0x13c(r27)
/* 80289178 002860D8 38 60 00 00 */ li r3, 0
/* 8028917C 002860DC 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 80289180 002860E0 98 1B 01 3C */ stb r0, 0x13c(r27)
lbl_80289184:
/* 80289184 002860E4 2C 1D FF FF */ cmpwi r29, -1
/* 80289188 002860E8 41 82 00 14 */ beq lbl_8028919C
/* 8028918C 002860EC 57 A3 18 38 */ slwi r3, r29, 3
/* 80289190 002860F0 38 03 00 08 */ addi r0, r3, 8
/* 80289194 002860F4 7F BA 02 AE */ lhax r29, r26, r0
/* 80289198 002860F8 48 00 00 08 */ b lbl_802891A0
lbl_8028919C:
/* 8028919C 002860FC 3B A0 FF FF */ li r29, -1
lbl_802891A0:
/* 802891A0 00286100 2C 1D FF FF */ cmpwi r29, -1
/* 802891A4 00286104 40 82 FE 14 */ bne lbl_80288FB8
/* 802891A8 00286108 48 00 00 48 */ b lbl_802891F0
lbl_802891AC:
/* 802891AC 0028610C 7F C3 F3 78 */ mr r3, r30
/* 802891B0 00286110 4B DB AE E1 */ bl sub_80044090
/* 802891B4 00286114 28 03 00 00 */ cmplwi r3, 0
/* 802891B8 00286118 41 82 00 20 */ beq lbl_802891D8
/* 802891BC 0028611C 38 00 00 00 */ li r0, 0
/* 802891C0 00286120 7F C3 F3 78 */ mr r3, r30
/* 802891C4 00286124 90 01 00 40 */ stw r0, 0x40(r1)
/* 802891C8 00286128 38 81 00 40 */ addi r4, r1, 0x40
/* 802891CC 0028612C 4B DB AE 65 */ bl sub_80044030
/* 802891D0 00286130 80 61 00 40 */ lwz r3, 0x40(r1)
/* 802891D4 00286134 48 08 C7 5D */ bl Free__7CMemoryFPCv
lbl_802891D8:
/* 802891D8 00286138 7F E3 FB 78 */ mr r3, r31
/* 802891DC 0028613C 7F C4 F3 78 */ mr r4, r30
/* 802891E0 00286140 48 00 01 61 */ bl sub_80289340
/* 802891E4 00286144 48 00 00 0C */ b lbl_802891F0
lbl_802891E8:
/* 802891E8 00286148 7F C4 F3 78 */ mr r4, r30
/* 802891EC 0028614C 48 00 01 55 */ bl sub_80289340
lbl_802891F0:
/* 802891F0 00286150 A0 19 00 00 */ lhz r0, 0(r25)
/* 802891F4 00286154 7F E3 FB 78 */ mr r3, r31
/* 802891F8 00286158 7F 04 C3 78 */ mr r4, r24
/* 802891FC 0028615C 7F C6 F3 78 */ mr r6, r30
/* 80289200 00286160 B0 01 00 08 */ sth r0, 8(r1)
/* 80289204 00286164 38 A1 00 08 */ addi r5, r1, 8
/* 80289208 00286168 4B DC 7F 55 */ bl AcceptScriptMsg__7CEntityF20EScriptObjectMessage9TUniqueIdR13CStateManager
/* 8028920C 0028616C BB 01 00 D0 */ lmw r24, 0xd0(r1)
/* 80289210 00286170 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 80289214 00286174 7C 08 03 A6 */ mtlr r0
/* 80289218 00286178 38 21 00 F0 */ addi r1, r1, 0xf0
/* 8028921C 0028617C 4E 80 00 20 */ blr
.global sub_80289220
sub_80289220:
/* 80289220 00286180 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 80289224 00286184 7C 08 02 A6 */ mflr r0
/* 80289228 00286188 90 01 00 54 */ stw r0, 0x54(r1)
/* 8028922C 0028618C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 80289230 00286190 7C BF 2B 78 */ mr r31, r5
/* 80289234 00286194 93 C1 00 48 */ stw r30, 0x48(r1)
/* 80289238 00286198 7C 9E 23 78 */ mr r30, r4
/* 8028923C 0028619C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 80289240 002861A0 7C 7D 1B 78 */ mr r29, r3
/* 80289244 002861A4 A0 83 00 08 */ lhz r4, 8(r3)
/* 80289248 002861A8 A0 03 01 1C */ lhz r0, 0x11c(r3)
/* 8028924C 002861AC 7F C3 F3 78 */ mr r3, r30
/* 80289250 002861B0 B0 81 00 30 */ sth r4, 0x30(r1)
/* 80289254 002861B4 38 81 00 34 */ addi r4, r1, 0x34
/* 80289258 002861B8 B0 01 00 34 */ sth r0, 0x34(r1)
/* 8028925C 002861BC 4B DC 33 19 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80289260 002861C0 A0 01 00 30 */ lhz r0, 0x30(r1)
/* 80289264 002861C4 7C 64 1B 78 */ mr r4, r3
/* 80289268 002861C8 7F C3 F3 78 */ mr r3, r30
/* 8028926C 002861CC 7F E6 FB 78 */ mr r6, r31
/* 80289270 002861D0 B0 01 00 14 */ sth r0, 0x14(r1)
/* 80289274 002861D4 38 A1 00 14 */ addi r5, r1, 0x14
/* 80289278 002861D8 4B DB AC 59 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 8028927C 002861DC A0 BD 00 08 */ lhz r5, 8(r29)
/* 80289280 002861E0 7F C3 F3 78 */ mr r3, r30
/* 80289284 002861E4 A0 1D 00 FC */ lhz r0, 0xfc(r29)
/* 80289288 002861E8 38 81 00 2C */ addi r4, r1, 0x2c
/* 8028928C 002861EC B0 A1 00 28 */ sth r5, 0x28(r1)
/* 80289290 002861F0 B0 01 00 2C */ sth r0, 0x2c(r1)
/* 80289294 002861F4 4B DC 32 E1 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80289298 002861F8 A0 01 00 28 */ lhz r0, 0x28(r1)
/* 8028929C 002861FC 7C 64 1B 78 */ mr r4, r3
/* 802892A0 00286200 7F C3 F3 78 */ mr r3, r30
/* 802892A4 00286204 7F E6 FB 78 */ mr r6, r31
/* 802892A8 00286208 B0 01 00 10 */ sth r0, 0x10(r1)
/* 802892AC 0028620C 38 A1 00 10 */ addi r5, r1, 0x10
/* 802892B0 00286210 4B DB AC 21 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 802892B4 00286214 A0 BD 00 08 */ lhz r5, 8(r29)
/* 802892B8 00286218 7F C3 F3 78 */ mr r3, r30
/* 802892BC 0028621C A0 1D 01 0C */ lhz r0, 0x10c(r29)
/* 802892C0 00286220 38 81 00 24 */ addi r4, r1, 0x24
/* 802892C4 00286224 B0 A1 00 20 */ sth r5, 0x20(r1)
/* 802892C8 00286228 B0 01 00 24 */ sth r0, 0x24(r1)
/* 802892CC 0028622C 4B DC 32 A9 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 802892D0 00286230 A0 01 00 20 */ lhz r0, 0x20(r1)
/* 802892D4 00286234 7C 64 1B 78 */ mr r4, r3
/* 802892D8 00286238 7F C3 F3 78 */ mr r3, r30
/* 802892DC 0028623C 7F E6 FB 78 */ mr r6, r31
/* 802892E0 00286240 B0 01 00 0C */ sth r0, 0xc(r1)
/* 802892E4 00286244 38 A1 00 0C */ addi r5, r1, 0xc
/* 802892E8 00286248 4B DB AB E9 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 802892EC 0028624C A0 BD 00 08 */ lhz r5, 8(r29)
/* 802892F0 00286250 7F C3 F3 78 */ mr r3, r30
/* 802892F4 00286254 A0 1D 00 F4 */ lhz r0, 0xf4(r29)
/* 802892F8 00286258 38 81 00 1C */ addi r4, r1, 0x1c
/* 802892FC 0028625C B0 A1 00 18 */ sth r5, 0x18(r1)
/* 80289300 00286260 B0 01 00 1C */ sth r0, 0x1c(r1)
/* 80289304 00286264 4B DC 32 71 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80289308 00286268 A0 01 00 18 */ lhz r0, 0x18(r1)
/* 8028930C 0028626C 7C 64 1B 78 */ mr r4, r3
/* 80289310 00286270 7F C3 F3 78 */ mr r3, r30
/* 80289314 00286274 7F E6 FB 78 */ mr r6, r31
/* 80289318 00286278 B0 01 00 08 */ sth r0, 8(r1)
/* 8028931C 0028627C 38 A1 00 08 */ addi r5, r1, 8
/* 80289320 00286280 4B DB AB B1 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 80289324 00286284 80 01 00 54 */ lwz r0, 0x54(r1)
/* 80289328 00286288 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 8028932C 0028628C 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 80289330 00286290 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 80289334 00286294 7C 08 03 A6 */ mtlr r0
/* 80289338 00286298 38 21 00 50 */ addi r1, r1, 0x50
/* 8028933C 0028629C 4E 80 00 20 */ blr
.global sub_80289340
sub_80289340:
/* 80289340 002862A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 80289344 002862A4 7C 08 02 A6 */ mflr r0
/* 80289348 002862A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028934C 002862AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 80289350 002862B0 7C 9F 23 78 */ mr r31, r4
/* 80289354 002862B4 38 81 00 14 */ addi r4, r1, 0x14
/* 80289358 002862B8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8028935C 002862BC 7C 7E 1B 78 */ mr r30, r3
/* 80289360 002862C0 A0 03 01 1C */ lhz r0, 0x11c(r3)
/* 80289364 002862C4 7F E3 FB 78 */ mr r3, r31
/* 80289368 002862C8 B0 01 00 14 */ sth r0, 0x14(r1)
/* 8028936C 002862CC 4B DC 2F 01 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 80289370 002862D0 A0 1E 00 FC */ lhz r0, 0xfc(r30)
/* 80289374 002862D4 7F E3 FB 78 */ mr r3, r31
/* 80289378 002862D8 38 81 00 10 */ addi r4, r1, 0x10
/* 8028937C 002862DC B0 01 00 10 */ sth r0, 0x10(r1)
/* 80289380 002862E0 4B DC 2E ED */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 80289384 002862E4 A0 1E 01 0C */ lhz r0, 0x10c(r30)
/* 80289388 002862E8 7F E3 FB 78 */ mr r3, r31
/* 8028938C 002862EC 38 81 00 0C */ addi r4, r1, 0xc
/* 80289390 002862F0 B0 01 00 0C */ sth r0, 0xc(r1)
/* 80289394 002862F4 4B DC 2E D9 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 80289398 002862F8 A0 1E 00 F4 */ lhz r0, 0xf4(r30)
/* 8028939C 002862FC 7F E3 FB 78 */ mr r3, r31
/* 802893A0 00286300 38 81 00 08 */ addi r4, r1, 8
/* 802893A4 00286304 B0 01 00 08 */ sth r0, 8(r1)
/* 802893A8 00286308 4B DC 2E C5 */ bl FreeScriptObject__13CStateManagerF9TUniqueId
/* 802893AC 0028630C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 802893B0 00286310 B0 1E 00 F4 */ sth r0, 0xf4(r30)
/* 802893B4 00286314 A0 1E 00 F4 */ lhz r0, 0xf4(r30)
/* 802893B8 00286318 B0 1E 01 0C */ sth r0, 0x10c(r30)
/* 802893BC 0028631C A0 1E 01 0C */ lhz r0, 0x10c(r30)
/* 802893C0 00286320 B0 1E 00 FC */ sth r0, 0xfc(r30)
/* 802893C4 00286324 A0 1E 00 FC */ lhz r0, 0xfc(r30)
/* 802893C8 00286328 B0 1E 01 1C */ sth r0, 0x11c(r30)
/* 802893CC 0028632C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 802893D0 00286330 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 802893D4 00286334 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802893D8 00286338 7C 08 03 A6 */ mtlr r0
/* 802893DC 0028633C 38 21 00 20 */ addi r1, r1, 0x20
/* 802893E0 00286340 4E 80 00 20 */ blr
.global sub_802893e4
sub_802893e4:
/* 802893E4 00286344 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 802893E8 00286348 7C 08 02 A6 */ mflr r0
/* 802893EC 0028634C 90 01 00 94 */ stw r0, 0x94(r1)
/* 802893F0 00286350 BF 21 00 74 */ stmw r25, 0x74(r1)
/* 802893F4 00286354 7C 7D 1B 78 */ mr r29, r3
/* 802893F8 00286358 7C 9E 23 78 */ mr r30, r4
/* 802893FC 0028635C 83 E3 00 2C */ lwz r31, 0x2c(r3)
/* 80289400 00286360 48 00 02 08 */ b lbl_80289608
lbl_80289404:
/* 80289404 00286364 80 1F 00 00 */ lwz r0, 0(r31)
/* 80289408 00286368 2C 00 00 07 */ cmpwi r0, 7
/* 8028940C 0028636C 40 82 01 F8 */ bne lbl_80289604
/* 80289410 00286370 80 1F 00 04 */ lwz r0, 4(r31)
/* 80289414 00286374 2C 00 00 01 */ cmpwi r0, 1
/* 80289418 00286378 40 82 01 EC */ bne lbl_80289604
/* 8028941C 0028637C 80 1F 00 08 */ lwz r0, 8(r31)
/* 80289420 00286380 7F C4 F3 78 */ mr r4, r30
/* 80289424 00286384 38 61 00 14 */ addi r3, r1, 0x14
/* 80289428 00286388 38 A1 00 20 */ addi r5, r1, 0x20
/* 8028942C 0028638C 90 01 00 20 */ stw r0, 0x20(r1)
/* 80289430 00286390 4B DB EA ED */ bl GetIdForScript__13CStateManagerCF9TEditorId
/* 80289434 00286394 A0 01 00 14 */ lhz r0, 0x14(r1)
/* 80289438 00286398 7F C3 F3 78 */ mr r3, r30
/* 8028943C 0028639C 38 81 00 18 */ addi r4, r1, 0x18
/* 80289440 002863A0 B0 01 00 18 */ sth r0, 0x18(r1)
/* 80289444 002863A4 4B DC 31 31 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 80289448 002863A8 7C 60 1B 78 */ mr r0, r3
/* 8028944C 002863AC 38 61 00 3C */ addi r3, r1, 0x3c
/* 80289450 002863B0 7C 19 03 78 */ mr r25, r0
/* 80289454 002863B4 7F 24 CB 78 */ mr r4, r25
/* 80289458 002863B8 4B E2 09 85 */ bl "__ct__27TCastToPtr<13CScriptEffect>FP7CEntity"
/* 8028945C 002863BC 83 83 00 04 */ lwz r28, 4(r3)
/* 80289460 002863C0 7F 24 CB 78 */ mr r4, r25
/* 80289464 002863C4 38 61 00 34 */ addi r3, r1, 0x34
/* 80289468 002863C8 4B E2 29 05 */ bl "__ct__26TCastToPtr<12CScriptActor>FP7CEntity"
/* 8028946C 002863CC 83 63 00 04 */ lwz r27, 4(r3)
/* 80289470 002863D0 7F 24 CB 78 */ mr r4, r25
/* 80289474 002863D4 38 61 00 2C */ addi r3, r1, 0x2c
/* 80289478 002863D8 4B E1 DA 71 */ bl "__ct__28TCastToPtr<14CScriptTrigger>FP7CEntity"
/* 8028947C 002863DC 28 1C 00 00 */ cmplwi r28, 0
/* 80289480 002863E0 83 43 00 04 */ lwz r26, 4(r3)
/* 80289484 002863E4 40 82 00 14 */ bne lbl_80289498
/* 80289488 002863E8 28 1B 00 00 */ cmplwi r27, 0
/* 8028948C 002863EC 40 82 00 0C */ bne lbl_80289498
/* 80289490 002863F0 28 1A 00 00 */ cmplwi r26, 0
/* 80289494 002863F4 41 82 01 70 */ beq lbl_80289604
lbl_80289498:
/* 80289498 002863F8 28 1C 00 00 */ cmplwi r28, 0
/* 8028949C 002863FC 41 82 00 10 */ beq lbl_802894AC
/* 802894A0 00286400 88 1D 01 3C */ lbz r0, 0x13c(r29)
/* 802894A4 00286404 54 00 D7 FF */ rlwinm. r0, r0, 0x1a, 0x1f, 0x1f
/* 802894A8 00286408 40 82 01 5C */ bne lbl_80289604
lbl_802894AC:
/* 802894AC 0028640C 88 BE 0F 94 */ lbz r5, 0xf94(r30)
/* 802894B0 00286410 38 60 00 01 */ li r3, 1
/* 802894B4 00286414 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 802894B8 00286418 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 802894BC 0028641C 7F C4 F3 78 */ mr r4, r30
/* 802894C0 00286420 54 B9 DF FE */ rlwinm r25, r5, 0x1b, 0x1f, 0x1f
/* 802894C4 00286424 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 802894C8 00286428 38 61 00 24 */ addi r3, r1, 0x24
/* 802894CC 0028642C 38 BF 00 08 */ addi r5, r31, 8
/* 802894D0 00286430 4B DB EE 19 */ bl GenerateObject__13CStateManagerF9TEditorId
/* 802894D4 00286434 A0 A1 00 28 */ lhz r5, 0x28(r1)
/* 802894D8 00286438 7F C3 F3 78 */ mr r3, r30
/* 802894DC 0028643C 88 1E 0F 94 */ lbz r0, 0xf94(r30)
/* 802894E0 00286440 53 20 2E B4 */ rlwimi r0, r25, 5, 0x1a, 0x1a
/* 802894E4 00286444 B0 A1 00 1C */ sth r5, 0x1c(r1)
/* 802894E8 00286448 38 81 00 10 */ addi r4, r1, 0x10
/* 802894EC 0028644C 98 1E 0F 94 */ stb r0, 0xf94(r30)
/* 802894F0 00286450 B0 A1 00 10 */ sth r5, 0x10(r1)
/* 802894F4 00286454 4B DC 30 81 */ bl ObjectById__13CStateManagerF9TUniqueId
/* 802894F8 00286458 7C 79 1B 79 */ or. r25, r3, r3
/* 802894FC 0028645C 41 82 01 08 */ beq lbl_80289604
/* 80289500 00286460 A0 1D 00 08 */ lhz r0, 8(r29)
/* 80289504 00286464 7F C3 F3 78 */ mr r3, r30
/* 80289508 00286468 7F 24 CB 78 */ mr r4, r25
/* 8028950C 0028646C 38 A1 00 0C */ addi r5, r1, 0xc
/* 80289510 00286470 B0 01 00 08 */ sth r0, 8(r1)
/* 80289514 00286474 38 C0 00 01 */ li r6, 1
/* 80289518 00286478 B0 01 00 0C */ sth r0, 0xc(r1)
/* 8028951C 0028647C 4B DB A9 B5 */ bl SendScriptMsg__13CStateManagerFP7CEntity9TEditorId20EScriptObjectMessage
/* 80289520 00286480 28 1C 00 00 */ cmplwi r28, 0
/* 80289524 00286484 41 82 00 48 */ beq lbl_8028956C
/* 80289528 00286488 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 8028952C 0028648C 7F 23 CB 78 */ mr r3, r25
/* 80289530 00286490 C0 1D 01 24 */ lfs f0, 0x124(r29)
/* 80289534 00286494 38 81 00 5C */ addi r4, r1, 0x5c
/* 80289538 00286498 C0 7D 00 60 */ lfs f3, 0x60(r29)
/* 8028953C 0028649C C0 5D 01 28 */ lfs f2, 0x128(r29)
/* 80289540 002864A0 EC 81 00 2A */ fadds f4, f1, f0
/* 80289544 002864A4 C0 3D 00 40 */ lfs f1, 0x40(r29)
/* 80289548 002864A8 C0 1D 01 20 */ lfs f0, 0x120(r29)
/* 8028954C 002864AC EC 43 10 2A */ fadds f2, f3, f2
/* 80289550 002864B0 EC 01 00 2A */ fadds f0, f1, f0
/* 80289554 002864B4 D0 81 00 60 */ stfs f4, 0x60(r1)
/* 80289558 002864B8 D0 41 00 64 */ stfs f2, 0x64(r1)
/* 8028955C 002864BC D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 80289560 002864C0 4B DC 99 2D */ bl SetTranslation__6CActorFRC9CVector3f
/* 80289564 002864C4 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 80289568 002864C8 B0 1D 01 1C */ sth r0, 0x11c(r29)
lbl_8028956C:
/* 8028956C 002864CC 28 1B 00 00 */ cmplwi r27, 0
/* 80289570 002864D0 41 82 00 48 */ beq lbl_802895B8
/* 80289574 002864D4 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 80289578 002864D8 7F 23 CB 78 */ mr r3, r25
/* 8028957C 002864DC C0 1D 01 04 */ lfs f0, 0x104(r29)
/* 80289580 002864E0 38 81 00 50 */ addi r4, r1, 0x50
/* 80289584 002864E4 C0 7D 00 60 */ lfs f3, 0x60(r29)
/* 80289588 002864E8 C0 5D 01 08 */ lfs f2, 0x108(r29)
/* 8028958C 002864EC EC 81 00 2A */ fadds f4, f1, f0
/* 80289590 002864F0 C0 3D 00 40 */ lfs f1, 0x40(r29)
/* 80289594 002864F4 C0 1D 01 00 */ lfs f0, 0x100(r29)
/* 80289598 002864F8 EC 43 10 2A */ fadds f2, f3, f2
/* 8028959C 002864FC EC 01 00 2A */ fadds f0, f1, f0
/* 802895A0 00286500 D0 81 00 54 */ stfs f4, 0x54(r1)
/* 802895A4 00286504 D0 41 00 58 */ stfs f2, 0x58(r1)
/* 802895A8 00286508 D0 01 00 50 */ stfs f0, 0x50(r1)
/* 802895AC 0028650C 4B DC 98 E1 */ bl SetTranslation__6CActorFRC9CVector3f
/* 802895B0 00286510 A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 802895B4 00286514 B0 1D 00 FC */ sth r0, 0xfc(r29)
lbl_802895B8:
/* 802895B8 00286518 28 1A 00 00 */ cmplwi r26, 0
/* 802895BC 0028651C 41 82 00 48 */ beq lbl_80289604
/* 802895C0 00286520 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 802895C4 00286524 7F 23 CB 78 */ mr r3, r25
/* 802895C8 00286528 C0 1D 01 14 */ lfs f0, 0x114(r29)
/* 802895CC 0028652C 38 81 00 44 */ addi r4, r1, 0x44
/* 802895D0 00286530 C0 7D 00 60 */ lfs f3, 0x60(r29)
/* 802895D4 00286534 C0 5D 01 18 */ lfs f2, 0x118(r29)
/* 802895D8 00286538 EC 81 00 2A */ fadds f4, f1, f0
/* 802895DC 0028653C C0 3D 00 40 */ lfs f1, 0x40(r29)
/* 802895E0 00286540 C0 1D 01 10 */ lfs f0, 0x110(r29)
/* 802895E4 00286544 EC 43 10 2A */ fadds f2, f3, f2
/* 802895E8 00286548 EC 01 00 2A */ fadds f0, f1, f0
/* 802895EC 0028654C D0 81 00 48 */ stfs f4, 0x48(r1)
/* 802895F0 00286550 D0 41 00 4C */ stfs f2, 0x4c(r1)
/* 802895F4 00286554 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 802895F8 00286558 4B DC 98 95 */ bl SetTranslation__6CActorFRC9CVector3f
/* 802895FC 0028655C A0 01 00 1C */ lhz r0, 0x1c(r1)
/* 80289600 00286560 B0 1D 01 0C */ sth r0, 0x10c(r29)
lbl_80289604:
/* 80289604 00286564 3B FF 00 0C */ addi r31, r31, 0xc
lbl_80289608:
/* 80289608 00286568 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 8028960C 0028656C 80 7D 00 2C */ lwz r3, 0x2c(r29)
/* 80289610 00286570 1C 00 00 0C */ mulli r0, r0, 0xc
/* 80289614 00286574 7C 03 02 14 */ add r0, r3, r0
/* 80289618 00286578 7C 1F 00 40 */ cmplw r31, r0
/* 8028961C 0028657C 40 82 FD E8 */ bne lbl_80289404
/* 80289620 00286580 BB 21 00 74 */ lmw r25, 0x74(r1)
/* 80289624 00286584 80 01 00 94 */ lwz r0, 0x94(r1)
/* 80289628 00286588 7C 08 03 A6 */ mtlr r0
/* 8028962C 0028658C 38 21 00 90 */ addi r1, r1, 0x90
/* 80289630 00286590 4E 80 00 20 */ blr
.global Accept__15CScriptMazeNodeFR8IVisitor
Accept__15CScriptMazeNodeFR8IVisitor:
/* 80289634 00286594 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 80289638 00286598 7C 08 02 A6 */ mflr r0
/* 8028963C 0028659C 90 01 00 14 */ stw r0, 0x14(r1)
/* 80289640 002865A0 7C 60 1B 78 */ mr r0, r3
/* 80289644 002865A4 7C 83 23 78 */ mr r3, r4
/* 80289648 002865A8 81 84 00 00 */ lwz r12, 0(r4)
/* 8028964C 002865AC 7C 04 03 78 */ mr r4, r0
/* 80289650 002865B0 81 8C 00 94 */ lwz r12, 0x94(r12)
/* 80289654 002865B4 7D 89 03 A6 */ mtctr r12
/* 80289658 002865B8 4E 80 04 21 */ bctrl
/* 8028965C 002865BC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 80289660 002865C0 7C 08 03 A6 */ mtlr r0
/* 80289664 002865C4 38 21 00 10 */ addi r1, r1, 0x10
/* 80289668 002865C8 4E 80 00 20 */ blr
.global "__ct__15CScriptMazeNodeF9TUniqueIdQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fbUiUiUiRC9CVector3fRC9CVector3fRC9CVector3f"
"__ct__15CScriptMazeNodeF9TUniqueIdQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fbUiUiUiRC9CVector3fRC9CVector3fRC9CVector3f":
/* 8028966C 002865CC 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 80289670 002865D0 7C 08 02 A6 */ mflr r0
/* 80289674 002865D4 90 01 01 14 */ stw r0, 0x114(r1)
/* 80289678 002865D8 BE 81 00 E0 */ stmw r20, 0xe0(r1)
/* 8028967C 002865DC 7C 7F 1B 78 */ mr r31, r3
/* 80289680 002865E0 83 61 01 18 */ lwz r27, 0x118(r1)
/* 80289684 002865E4 7C 94 23 78 */ mr r20, r4
/* 80289688 002865E8 83 81 01 1C */ lwz r28, 0x11c(r1)
/* 8028968C 002865EC 7C B5 2B 78 */ mr r21, r5
/* 80289690 002865F0 83 A1 01 20 */ lwz r29, 0x120(r1)
/* 80289694 002865F4 7C D6 33 78 */ mr r22, r6
/* 80289698 002865F8 83 C1 01 24 */ lwz r30, 0x124(r1)
/* 8028969C 002865FC 7C F7 3B 78 */ mr r23, r7
/* 802896A0 00286600 7D 18 43 78 */ mr r24, r8
/* 802896A4 00286604 7D 39 4B 78 */ mr r25, r9
/* 802896A8 00286608 7D 5A 53 78 */ mr r26, r10
/* 802896AC 0028660C 38 61 00 88 */ addi r3, r1, 0x88
/* 802896B0 00286610 4B DB 10 F5 */ bl CModelDataNull__10CModelDataFv
/* 802896B4 00286614 38 61 00 20 */ addi r3, r1, 0x20
/* 802896B8 00286618 4B D9 17 81 */ bl None__16CActorParametersFv
/* 802896BC 0028661C A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 802896C0 00286620 38 80 00 00 */ li r4, 0
/* 802896C4 00286624 A1 94 00 00 */ lhz r12, 0(r20)
/* 802896C8 00286628 39 61 00 20 */ addi r11, r1, 0x20
/* 802896CC 0028662C B0 01 00 10 */ sth r0, 0x10(r1)
/* 802896D0 00286630 38 01 00 10 */ addi r0, r1, 0x10
/* 802896D4 00286634 7F E3 FB 78 */ mr r3, r31
/* 802896D8 00286638 7F 05 C3 78 */ mr r5, r24
/* 802896DC 0028663C 90 81 00 1C */ stw r4, 0x1c(r1)
/* 802896E0 00286640 7E A6 AB 78 */ mr r6, r21
/* 802896E4 00286644 7E C7 B3 78 */ mr r7, r22
/* 802896E8 00286648 7E E8 BB 78 */ mr r8, r23
/* 802896EC 0028664C 90 81 00 18 */ stw r4, 0x18(r1)
/* 802896F0 00286650 38 81 00 14 */ addi r4, r1, 0x14
/* 802896F4 00286654 39 21 00 88 */ addi r9, r1, 0x88
/* 802896F8 00286658 39 41 00 18 */ addi r10, r1, 0x18
/* 802896FC 0028665C B1 81 00 14 */ sth r12, 0x14(r1)
/* 80289700 00286660 91 61 00 08 */ stw r11, 8(r1)
/* 80289704 00286664 90 01 00 0C */ stw r0, 0xc(r1)
/* 80289708 00286668 4B DC C1 19 */ bl "__ct__6CActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC16CActorParameters9TUniqueId"
/* 8028970C 0028666C 38 61 00 20 */ addi r3, r1, 0x20
/* 80289710 00286670 38 80 FF FF */ li r4, -1
/* 80289714 00286674 4B E7 CE F5 */ bl __dt__16CActorParametersFv
/* 80289718 00286678 38 61 00 88 */ addi r3, r1, 0x88
/* 8028971C 0028667C 38 80 FF FF */ li r4, -1
/* 80289720 00286680 4B E8 D3 2D */ bl __dt__10CModelDataFv
/* 80289724 00286684 3C 60 80 3F */ lis r3, lbl_803EB658@ha
/* 80289728 00286688 C0 02 BE 64 */ lfs f0, lbl_805ADB84@sda21(r2)
/* 8028972C 0028668C 38 03 B6 58 */ addi r0, r3, lbl_803EB658@l
/* 80289730 00286690 38 A0 00 00 */ li r5, 0
/* 80289734 00286694 90 1F 00 00 */ stw r0, 0(r31)
/* 80289738 00286698 38 80 00 01 */ li r4, 1
/* 8028973C 0028669C 7F E3 FB 78 */ mr r3, r31
/* 80289740 002866A0 93 3F 00 E8 */ stw r25, 0xe8(r31)
/* 80289744 002866A4 93 5F 00 EC */ stw r26, 0xec(r31)
/* 80289748 002866A8 93 7F 00 F0 */ stw r27, 0xf0(r31)
/* 8028974C 002866AC A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 80289750 002866B0 B0 1F 00 F4 */ sth r0, 0xf4(r31)
/* 80289754 002866B4 D0 1F 00 F8 */ stfs f0, 0xf8(r31)
/* 80289758 002866B8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8028975C 002866BC B0 1F 00 FC */ sth r0, 0xfc(r31)
/* 80289760 002866C0 C0 1C 00 00 */ lfs f0, 0(r28)
/* 80289764 002866C4 D0 1F 01 00 */ stfs f0, 0x100(r31)
/* 80289768 002866C8 C0 1C 00 04 */ lfs f0, 4(r28)
/* 8028976C 002866CC D0 1F 01 04 */ stfs f0, 0x104(r31)
/* 80289770 002866D0 C0 1C 00 08 */ lfs f0, 8(r28)
/* 80289774 002866D4 D0 1F 01 08 */ stfs f0, 0x108(r31)
/* 80289778 002866D8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8028977C 002866DC B0 1F 01 0C */ sth r0, 0x10c(r31)
/* 80289780 002866E0 C0 1D 00 00 */ lfs f0, 0(r29)
/* 80289784 002866E4 D0 1F 01 10 */ stfs f0, 0x110(r31)
/* 80289788 002866E8 C0 1D 00 04 */ lfs f0, 4(r29)
/* 8028978C 002866EC D0 1F 01 14 */ stfs f0, 0x114(r31)
/* 80289790 002866F0 C0 1D 00 08 */ lfs f0, 8(r29)
/* 80289794 002866F4 D0 1F 01 18 */ stfs f0, 0x118(r31)
/* 80289798 002866F8 A0 0D A3 8C */ lhz r0, kInvalidUniqueId@sda21(r13)
/* 8028979C 002866FC B0 1F 01 1C */ sth r0, 0x11c(r31)
/* 802897A0 00286700 C0 1E 00 00 */ lfs f0, 0(r30)
/* 802897A4 00286704 D0 1F 01 20 */ stfs f0, 0x120(r31)
/* 802897A8 00286708 C0 1E 00 04 */ lfs f0, 4(r30)
/* 802897AC 0028670C D0 1F 01 24 */ stfs f0, 0x124(r31)
/* 802897B0 00286710 C0 1E 00 08 */ lfs f0, 8(r30)
/* 802897B4 00286714 D0 1F 01 28 */ stfs f0, 0x128(r31)
/* 802897B8 00286718 90 BF 01 30 */ stw r5, 0x130(r31)
/* 802897BC 0028671C 90 BF 01 34 */ stw r5, 0x134(r31)
/* 802897C0 00286720 90 BF 01 38 */ stw r5, 0x138(r31)
/* 802897C4 00286724 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 802897C8 00286728 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 802897CC 0028672C 98 1F 01 3C */ stb r0, 0x13c(r31)
/* 802897D0 00286730 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 802897D4 00286734 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 802897D8 00286738 98 1F 01 3C */ stb r0, 0x13c(r31)
/* 802897DC 0028673C 88 1F 01 3C */ lbz r0, 0x13c(r31)
/* 802897E0 00286740 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 802897E4 00286744 98 1F 01 3C */ stb r0, 0x13c(r31)
/* 802897E8 00286748 BA 81 00 E0 */ lmw r20, 0xe0(r1)
/* 802897EC 0028674C 80 01 01 14 */ lwz r0, 0x114(r1)
/* 802897F0 00286750 7C 08 03 A6 */ mtlr r0
/* 802897F4 00286754 38 21 01 10 */ addi r1, r1, 0x110
/* 802897F8 00286758 4E 80 00 20 */ blr
.global sub_802897fc
sub_802897fc:
/* 802897FC 0028675C 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 80289800 00286760 38 A0 00 00 */ li r5, 0
/* 80289804 00286764 54 A0 10 3A */ slwi r0, r5, 2
/* 80289808 00286768 39 00 00 01 */ li r8, 1
/* 8028980C 0028676C 80 83 00 88 */ lwz r4, 0x88(r3)
/* 80289810 00286770 81 23 00 90 */ lwz r9, 0x90(r3)
/* 80289814 00286774 1C A4 00 09 */ mulli r5, r4, 9
/* 80289818 00286778 80 C3 00 84 */ lwz r6, 0x84(r3)
/* 8028981C 0028677C 38 81 00 08 */ addi r4, r1, 8
/* 80289820 00286780 81 43 00 8C */ lwz r10, 0x8c(r3)
/* 80289824 00286784 7C C6 2A 14 */ add r6, r6, r5
/* 80289828 00286788 54 C5 08 3C */ slwi r5, r6, 1
/* 8028982C 0028678C 7C C4 01 2E */ stwx r6, r4, r0
/* 80289830 00286790 38 E5 00 05 */ addi r7, r5, 5
/* 80289834 00286794 7C 03 38 AE */ lbzx r0, r3, r7
/* 80289838 00286798 1D 29 00 09 */ mulli r9, r9, 9
/* 8028983C 0028679C 51 00 2E B4 */ rlwimi r0, r8, 5, 0x1a, 0x1a
/* 80289840 002867A0 7C 03 39 AE */ stbx r0, r3, r7
/* 80289844 002867A4 38 A0 00 01 */ li r5, 1
/* 80289848 002867A8 7C EA 4A 14 */ add r7, r10, r9
/* 8028984C 002867AC 48 00 01 18 */ b lbl_80289964
lbl_80289850:
/* 80289850 002867B0 54 C8 08 3C */ slwi r8, r6, 1
/* 80289854 002867B4 38 08 00 04 */ addi r0, r8, 4
/* 80289858 002867B8 7D 03 00 AE */ lbzx r8, r3, r0
/* 8028985C 002867BC 55 08 CF FF */ rlwinm. r8, r8, 0x19, 0x1f, 0x1f
/* 80289860 002867C0 41 82 00 2C */ beq lbl_8028988C
/* 80289864 002867C4 39 46 FF F7 */ addi r10, r6, -9
/* 80289868 002867C8 55 48 08 3C */ slwi r8, r10, 1
/* 8028986C 002867CC 39 08 00 05 */ addi r8, r8, 5
/* 80289870 002867D0 7D 03 40 AE */ lbzx r8, r3, r8
/* 80289874 002867D4 55 08 DF FF */ rlwinm. r8, r8, 0x1b, 0x1f, 0x1f
/* 80289878 002867D8 40 82 00 14 */ bne lbl_8028988C
/* 8028987C 002867DC 54 A9 10 3A */ slwi r9, r5, 2
/* 80289880 002867E0 39 01 00 08 */ addi r8, r1, 8
/* 80289884 002867E4 7D 48 49 2E */ stwx r10, r8, r9
/* 80289888 002867E8 38 A5 00 01 */ addi r5, r5, 1
lbl_8028988C:
/* 8028988C 002867EC 7D 03 00 AE */ lbzx r8, r3, r0
/* 80289890 002867F0 55 08 D7 FF */ rlwinm. r8, r8, 0x1a, 0x1f, 0x1f
/* 80289894 002867F4 41 82 00 2C */ beq lbl_802898C0
/* 80289898 002867F8 39 46 00 01 */ addi r10, r6, 1
/* 8028989C 002867FC 55 48 08 3C */ slwi r8, r10, 1
/* 802898A0 00286800 39 08 00 05 */ addi r8, r8, 5
/* 802898A4 00286804 7D 03 40 AE */ lbzx r8, r3, r8
/* 802898A8 00286808 55 08 DF FF */ rlwinm. r8, r8, 0x1b, 0x1f, 0x1f
/* 802898AC 0028680C 40 82 00 14 */ bne lbl_802898C0
/* 802898B0 00286810 54 A9 10 3A */ slwi r9, r5, 2
/* 802898B4 00286814 39 01 00 08 */ addi r8, r1, 8
/* 802898B8 00286818 7D 48 49 2E */ stwx r10, r8, r9
/* 802898BC 0028681C 38 A5 00 01 */ addi r5, r5, 1
lbl_802898C0:
/* 802898C0 00286820 7D 03 00 AE */ lbzx r8, r3, r0
/* 802898C4 00286824 55 08 DF FF */ rlwinm. r8, r8, 0x1b, 0x1f, 0x1f
/* 802898C8 00286828 41 82 00 2C */ beq lbl_802898F4
/* 802898CC 0028682C 39 46 00 09 */ addi r10, r6, 9
/* 802898D0 00286830 55 48 08 3C */ slwi r8, r10, 1
/* 802898D4 00286834 39 08 00 05 */ addi r8, r8, 5
/* 802898D8 00286838 7D 03 40 AE */ lbzx r8, r3, r8
/* 802898DC 0028683C 55 08 DF FF */ rlwinm. r8, r8, 0x1b, 0x1f, 0x1f
/* 802898E0 00286840 40 82 00 14 */ bne lbl_802898F4
/* 802898E4 00286844 54 A9 10 3A */ slwi r9, r5, 2
/* 802898E8 00286848 39 01 00 08 */ addi r8, r1, 8
/* 802898EC 0028684C 7D 48 49 2E */ stwx r10, r8, r9
/* 802898F0 00286850 38 A5 00 01 */ addi r5, r5, 1
lbl_802898F4:
/* 802898F4 00286854 7C 03 00 AE */ lbzx r0, r3, r0
/* 802898F8 00286858 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 802898FC 0028685C 41 82 00 2C */ beq lbl_80289928
/* 80289900 00286860 39 26 FF FF */ addi r9, r6, -1
/* 80289904 00286864 55 28 08 3C */ slwi r8, r9, 1
/* 80289908 00286868 38 08 00 05 */ addi r0, r8, 5
/* 8028990C 0028686C 7C 03 00 AE */ lbzx r0, r3, r0
/* 80289910 00286870 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 80289914 00286874 40 82 00 14 */ bne lbl_80289928
/* 80289918 00286878 54 A0 10 3A */ slwi r0, r5, 2
/* 8028991C 0028687C 39 01 00 08 */ addi r8, r1, 8
/* 80289920 00286880 7D 28 01 2E */ stwx r9, r8, r0
/* 80289924 00286884 38 A5 00 01 */ addi r5, r5, 1
lbl_80289928:
/* 80289928 00286888 54 A8 10 3A */ slwi r8, r5, 2
/* 8028992C 0028688C 38 08 FF FC */ addi r0, r8, -4
/* 80289930 00286890 7C 04 00 2E */ lwzx r0, r4, r0
/* 80289934 00286894 7C 06 00 00 */ cmpw r6, r0
/* 80289938 00286898 40 82 00 08 */ bne lbl_80289940
/* 8028993C 0028689C 38 A5 FF FF */ addi r5, r5, -1
lbl_80289940:
/* 80289940 002868A0 54 A6 10 3A */ slwi r6, r5, 2
/* 80289944 002868A4 39 20 00 01 */ li r9, 1
/* 80289948 002868A8 38 06 FF FC */ addi r0, r6, -4
/* 8028994C 002868AC 7C C4 00 2E */ lwzx r6, r4, r0
/* 80289950 002868B0 54 C8 08 3C */ slwi r8, r6, 1
/* 80289954 002868B4 39 08 00 05 */ addi r8, r8, 5
/* 80289958 002868B8 7C 03 40 AE */ lbzx r0, r3, r8
/* 8028995C 002868BC 51 20 2E B4 */ rlwimi r0, r9, 5, 0x1a, 0x1a
/* 80289960 002868C0 7C 03 41 AE */ stbx r0, r3, r8
lbl_80289964:
/* 80289964 002868C4 7C 06 38 00 */ cmpw r6, r7
/* 80289968 002868C8 40 82 FE E8 */ bne lbl_80289850
/* 8028996C 002868CC 54 A0 10 3A */ slwi r0, r5, 2
/* 80289970 002868D0 38 E1 00 08 */ addi r7, r1, 8
/* 80289974 002868D4 7C E7 02 14 */ add r7, r7, r0
/* 80289978 002868D8 38 00 00 01 */ li r0, 1
/* 8028997C 002868DC 48 00 00 24 */ b lbl_802899A0
lbl_80289980:
/* 80289980 002868E0 80 87 00 00 */ lwz r4, 0(r7)
/* 80289984 002868E4 54 84 08 3C */ slwi r4, r4, 1
/* 80289988 002868E8 39 04 00 05 */ addi r8, r4, 5
/* 8028998C 002868EC 7C C3 40 AE */ lbzx r6, r3, r8
/* 80289990 002868F0 54 C4 DF FF */ rlwinm. r4, r6, 0x1b, 0x1f, 0x1f
/* 80289994 002868F4 41 82 00 0C */ beq lbl_802899A0
/* 80289998 002868F8 50 06 36 72 */ rlwimi r6, r0, 6, 0x19, 0x19
/* 8028999C 002868FC 7C C3 41 AE */ stbx r6, r3, r8
lbl_802899A0:
/* 802899A0 00286900 2C 05 00 00 */ cmpwi r5, 0
/* 802899A4 00286904 38 A5 FF FF */ addi r5, r5, -1
/* 802899A8 00286908 38 E7 FF FC */ addi r7, r7, -4
/* 802899AC 0028690C 40 82 FF D4 */ bne lbl_80289980
/* 802899B0 00286910 88 03 00 94 */ lbz r0, 0x94(r3)
/* 802899B4 00286914 38 80 00 01 */ li r4, 1
/* 802899B8 00286918 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 802899BC 0028691C 98 03 00 94 */ stb r0, 0x94(r3)
/* 802899C0 00286920 38 21 01 10 */ addi r1, r1, 0x110
/* 802899C4 00286924 4E 80 00 20 */ blr
.global sub_802899c8
sub_802899c8:
/* 802899C8 00286928 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802899CC 0028692C 7C 08 02 A6 */ mflr r0
/* 802899D0 00286930 90 01 00 24 */ stw r0, 0x24(r1)
/* 802899D4 00286934 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 802899D8 00286938 7C 7B 1B 78 */ mr r27, r3
/* 802899DC 0028693C 88 03 00 94 */ lbz r0, 0x94(r3)
/* 802899E0 00286940 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 802899E4 00286944 40 82 00 08 */ bne lbl_802899EC
/* 802899E8 00286948 4B FF FE 15 */ bl sub_802897fc
lbl_802899EC:
/* 802899EC 0028694C 7F 63 DB 78 */ mr r3, r27
/* 802899F0 00286950 48 08 8B 31 */ bl Next__9CRandom16Fv
/* 802899F4 00286954 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 802899F8 00286958 38 04 66 67 */ addi r0, r4, 0x66666667@l
/* 802899FC 0028695C 7C 00 18 96 */ mulhw r0, r0, r3
/* 80289A00 00286960 7C 00 0E 70 */ srawi r0, r0, 1
/* 80289A04 00286964 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80289A08 00286968 7C 00 22 14 */ add r0, r0, r4
/* 80289A0C 0028696C 1C 00 00 05 */ mulli r0, r0, 5
/* 80289A10 00286970 7C 80 18 50 */ subf r4, r0, r3
/* 80289A14 00286974 7F 63 DB 78 */ mr r3, r27
/* 80289A18 00286978 3B E4 00 09 */ addi r31, r4, 9
/* 80289A1C 0028697C 48 08 8B 05 */ bl Next__9CRandom16Fv
/* 80289A20 00286980 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 80289A24 00286984 38 04 66 67 */ addi r0, r4, 0x66666667@l
/* 80289A28 00286988 7C 00 18 96 */ mulhw r0, r0, r3
/* 80289A2C 0028698C 7C 00 0E 70 */ srawi r0, r0, 1
/* 80289A30 00286990 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80289A34 00286994 7C 00 22 14 */ add r0, r0, r4
/* 80289A38 00286998 1C 00 00 05 */ mulli r0, r0, 5
/* 80289A3C 0028699C 7C 80 18 50 */ subf r4, r0, r3
/* 80289A40 002869A0 7F 63 DB 78 */ mr r3, r27
/* 80289A44 002869A4 3B C4 00 15 */ addi r30, r4, 0x15
/* 80289A48 002869A8 48 08 8A D9 */ bl Next__9CRandom16Fv
/* 80289A4C 002869AC 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 80289A50 002869B0 38 04 66 67 */ addi r0, r4, 0x66666667@l
/* 80289A54 002869B4 7C 00 18 96 */ mulhw r0, r0, r3
/* 80289A58 002869B8 7C 00 0E 70 */ srawi r0, r0, 1
/* 80289A5C 002869BC 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80289A60 002869C0 7C 00 22 14 */ add r0, r0, r4
/* 80289A64 002869C4 1C 00 00 05 */ mulli r0, r0, 5
/* 80289A68 002869C8 7C 80 18 50 */ subf r4, r0, r3
/* 80289A6C 002869CC 7F 63 DB 78 */ mr r3, r27
/* 80289A70 002869D0 3B A4 00 21 */ addi r29, r4, 0x21
/* 80289A74 002869D4 48 08 8A AD */ bl Next__9CRandom16Fv
/* 80289A78 002869D8 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 80289A7C 002869DC 38 04 66 67 */ addi r0, r4, 0x66666667@l
/* 80289A80 002869E0 7C 00 18 96 */ mulhw r0, r0, r3
/* 80289A84 002869E4 7C 00 0E 70 */ srawi r0, r0, 1
/* 80289A88 002869E8 54 04 0F FE */ srwi r4, r0, 0x1f
/* 80289A8C 002869EC 7C 00 22 14 */ add r0, r0, r4
/* 80289A90 002869F0 1C 00 00 05 */ mulli r0, r0, 5
/* 80289A94 002869F4 7C 80 18 50 */ subf r4, r0, r3
/* 80289A98 002869F8 7F 63 DB 78 */ mr r3, r27
/* 80289A9C 002869FC 3B 84 00 0D */ addi r28, r4, 0xd
/* 80289AA0 00286A00 48 08 8A 81 */ bl Next__9CRandom16Fv
/* 80289AA4 00286A04 3C 80 66 66 */ lis r4, 0x66666667@ha
/* 80289AA8 00286A08 80 1B 00 84 */ lwz r0, 0x84(r27)
/* 80289AAC 00286A0C 38 84 66 67 */ addi r4, r4, 0x66666667@l
/* 80289AB0 00286A10 80 BB 00 88 */ lwz r5, 0x88(r27)
/* 80289AB4 00286A14 7C 84 18 96 */ mulhw r4, r4, r3
/* 80289AB8 00286A18 7C 08 03 78 */ mr r8, r0
/* 80289ABC 00286A1C 7C A9 2B 78 */ mr r9, r5
/* 80289AC0 00286A20 38 C0 FF FF */ li r6, -1
/* 80289AC4 00286A24 38 E0 00 00 */ li r7, 0
/* 80289AC8 00286A28 7C 84 0E 70 */ srawi r4, r4, 1
/* 80289ACC 00286A2C 54 8A 0F FE */ srwi r10, r4, 0x1f
/* 80289AD0 00286A30 7C 84 52 14 */ add r4, r4, r10
/* 80289AD4 00286A34 1C 84 00 05 */ mulli r4, r4, 5
/* 80289AD8 00286A38 7C 64 18 50 */ subf r3, r4, r3
/* 80289ADC 00286A3C 38 83 00 1D */ addi r4, r3, 0x1d
/* 80289AE0 00286A40 48 00 03 EC */ b lbl_80289ECC
lbl_80289AE4:
/* 80289AE4 00286A44 7C 07 F8 00 */ cmpw r7, r31
/* 80289AE8 00286A48 41 82 00 14 */ beq lbl_80289AFC
/* 80289AEC 00286A4C 7C 07 F0 00 */ cmpw r7, r30
/* 80289AF0 00286A50 41 82 00 0C */ beq lbl_80289AFC
/* 80289AF4 00286A54 7C 07 E8 00 */ cmpw r7, r29
/* 80289AF8 00286A58 40 82 01 28 */ bne lbl_80289C20
lbl_80289AFC:
/* 80289AFC 00286A5C 2C 06 00 02 */ cmpwi r6, 2
/* 80289B00 00286A60 41 82 00 A4 */ beq lbl_80289BA4
/* 80289B04 00286A64 40 80 00 14 */ bge lbl_80289B18
/* 80289B08 00286A68 2C 06 00 00 */ cmpwi r6, 0
/* 80289B0C 00286A6C 41 82 00 18 */ beq lbl_80289B24
/* 80289B10 00286A70 40 80 00 54 */ bge lbl_80289B64
/* 80289B14 00286A74 48 00 01 0C */ b lbl_80289C20
lbl_80289B18:
/* 80289B18 00286A78 2C 06 00 04 */ cmpwi r6, 4
/* 80289B1C 00286A7C 40 80 01 04 */ bge lbl_80289C20
/* 80289B20 00286A80 48 00 00 C4 */ b lbl_80289BE4
lbl_80289B24:
/* 80289B24 00286A84 1C 69 00 09 */ mulli r3, r9, 9
/* 80289B28 00286A88 39 60 00 01 */ li r11, 1
/* 80289B2C 00286A8C 7C 68 1A 14 */ add r3, r8, r3
/* 80289B30 00286A90 54 6A 08 3C */ slwi r10, r3, 1
/* 80289B34 00286A94 1C 65 00 09 */ mulli r3, r5, 9
/* 80289B38 00286A98 39 4A 00 04 */ addi r10, r10, 4
/* 80289B3C 00286A9C 7C BB 50 AE */ lbzx r5, r27, r10
/* 80289B40 00286AA0 51 65 0F BC */ rlwimi r5, r11, 1, 0x1e, 0x1e
/* 80289B44 00286AA4 7C 00 1A 14 */ add r0, r0, r3
/* 80289B48 00286AA8 54 03 08 3C */ slwi r3, r0, 1
/* 80289B4C 00286AAC 7C BB 51 AE */ stbx r5, r27, r10
/* 80289B50 00286AB0 38 63 00 04 */ addi r3, r3, 4
/* 80289B54 00286AB4 7C 1B 18 AE */ lbzx r0, r27, r3
/* 80289B58 00286AB8 51 60 1F 38 */ rlwimi r0, r11, 3, 0x1c, 0x1c
/* 80289B5C 00286ABC 7C 1B 19 AE */ stbx r0, r27, r3
/* 80289B60 00286AC0 48 00 00 C0 */ b lbl_80289C20
lbl_80289B64:
/* 80289B64 00286AC4 1C 69 00 09 */ mulli r3, r9, 9
/* 80289B68 00286AC8 39 60 00 01 */ li r11, 1
/* 80289B6C 00286ACC 7C 68 1A 14 */ add r3, r8, r3
/* 80289B70 00286AD0 54 6A 08 3C */ slwi r10, r3, 1
/* 80289B74 00286AD4 1C 65 00 09 */ mulli r3, r5, 9
/* 80289B78 00286AD8 39 4A 00 04 */ addi r10, r10, 4
/* 80289B7C 00286ADC 7C BB 50 AE */ lbzx r5, r27, r10
/* 80289B80 00286AE0 51 65 07 FE */ rlwimi r5, r11, 0, 0x1f, 0x1f
/* 80289B84 00286AE4 7C 00 1A 14 */ add r0, r0, r3
/* 80289B88 00286AE8 54 03 08 3C */ slwi r3, r0, 1
/* 80289B8C 00286AEC 7C BB 51 AE */ stbx r5, r27, r10
/* 80289B90 00286AF0 38 63 00 04 */ addi r3, r3, 4
/* 80289B94 00286AF4 7C 1B 18 AE */ lbzx r0, r27, r3
/* 80289B98 00286AF8 51 60 17 7A */ rlwimi r0, r11, 2, 0x1d, 0x1d
/* 80289B9C 00286AFC 7C 1B 19 AE */ stbx r0, r27, r3
/* 80289BA0 00286B00 48 00 00 80 */ b lbl_80289C20
lbl_80289BA4:
/* 80289BA4 00286B04 1C 69 00 09 */ mulli r3, r9, 9
/* 80289BA8 00286B08 39 60 00 01 */ li r11, 1
/* 80289BAC 00286B0C 7C 68 1A 14 */ add r3, r8, r3
/* 80289BB0 00286B10 54 6A 08 3C */ slwi r10, r3, 1
/* 80289BB4 00286B14 1C 65 00 09 */ mulli r3, r5, 9
/* 80289BB8 00286B18 39 4A 00 04 */ addi r10, r10, 4
/* 80289BBC 00286B1C 7C BB 50 AE */ lbzx r5, r27, r10
/* 80289BC0 00286B20 51 65 1F 38 */ rlwimi r5, r11, 3, 0x1c, 0x1c
/* 80289BC4 00286B24 7C 00 1A 14 */ add r0, r0, r3
/* 80289BC8 00286B28 54 03 08 3C */ slwi r3, r0, 1
/* 80289BCC 00286B2C 7C BB 51 AE */ stbx r5, r27, r10
/* 80289BD0 00286B30 38 63 00 04 */ addi r3, r3, 4
/* 80289BD4 00286B34 7C 1B 18 AE */ lbzx r0, r27, r3
/* 80289BD8 00286B38 51 60 0F BC */ rlwimi r0, r11, 1, 0x1e, 0x1e
/* 80289BDC 00286B3C 7C 1B 19 AE */ stbx r0, r27, r3
/* 80289BE0 00286B40 48 00 00 40 */ b lbl_80289C20
lbl_80289BE4:
/* 80289BE4 00286B44 1C 69 00 09 */ mulli r3, r9, 9
/* 80289BE8 00286B48 39 60 00 01 */ li r11, 1
/* 80289BEC 00286B4C 7C 68 1A 14 */ add r3, r8, r3
/* 80289BF0 00286B50 54 6A 08 3C */ slwi r10, r3, 1
/* 80289BF4 00286B54 1C 65 00 09 */ mulli r3, r5, 9
/* 80289BF8 00286B58 39 4A 00 04 */ addi r10, r10, 4
/* 80289BFC 00286B5C 7C BB 50 AE */ lbzx r5, r27, r10
/* 80289C00 00286B60 51 65 17 7A */ rlwimi r5, r11, 2, 0x1d, 0x1d
/* 80289C04 00286B64 7C 00 1A 14 */ add r0, r0, r3
/* 80289C08 00286B68 54 03 08 3C */ slwi r3, r0, 1
/* 80289C0C 00286B6C 7C BB 51 AE */ stbx r5, r27, r10
/* 80289C10 00286B70 38 63 00 04 */ addi r3, r3, 4
/* 80289C14 00286B74 7C 1B 18 AE */ lbzx r0, r27, r3
/* 80289C18 00286B78 51 60 07 FE */ rlwimi r0, r11, 0, 0x1f, 0x1f
/* 80289C1C 00286B7C 7C 1B 19 AE */ stbx r0, r27, r3
lbl_80289C20:
/* 80289C20 00286B80 2C 09 00 00 */ cmpwi r9, 0
/* 80289C24 00286B84 7D 00 43 78 */ mr r0, r8
/* 80289C28 00286B88 7D 25 4B 78 */ mr r5, r9
/* 80289C2C 00286B8C 40 81 00 54 */ ble lbl_80289C80
/* 80289C30 00286B90 2C 06 00 02 */ cmpwi r6, 2
/* 80289C34 00286B94 41 82 00 4C */ beq lbl_80289C80
/* 80289C38 00286B98 1C 69 00 09 */ mulli r3, r9, 9
/* 80289C3C 00286B9C 7C 68 1A 14 */ add r3, r8, r3
/* 80289C40 00286BA0 54 63 08 3C */ slwi r3, r3, 1
/* 80289C44 00286BA4 38 63 00 04 */ addi r3, r3, 4
/* 80289C48 00286BA8 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289C4C 00286BAC 54 63 CF FF */ rlwinm. r3, r3, 0x19, 0x1f, 0x1f
/* 80289C50 00286BB0 41 82 00 30 */ beq lbl_80289C80
/* 80289C54 00286BB4 38 69 FF FF */ addi r3, r9, -1
/* 80289C58 00286BB8 1C 63 00 09 */ mulli r3, r3, 9
/* 80289C5C 00286BBC 7C 68 1A 14 */ add r3, r8, r3
/* 80289C60 00286BC0 54 63 08 3C */ slwi r3, r3, 1
/* 80289C64 00286BC4 38 63 00 05 */ addi r3, r3, 5
/* 80289C68 00286BC8 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289C6C 00286BCC 54 63 D7 FF */ rlwinm. r3, r3, 0x1a, 0x1f, 0x1f
/* 80289C70 00286BD0 41 82 00 10 */ beq lbl_80289C80
/* 80289C74 00286BD4 38 C0 00 00 */ li r6, 0
/* 80289C78 00286BD8 39 29 FF FF */ addi r9, r9, -1
/* 80289C7C 00286BDC 48 00 01 00 */ b lbl_80289D7C
lbl_80289C80:
/* 80289C80 00286BE0 2C 09 00 06 */ cmpwi r9, 6
/* 80289C84 00286BE4 40 80 00 54 */ bge lbl_80289CD8
/* 80289C88 00286BE8 2C 06 00 00 */ cmpwi r6, 0
/* 80289C8C 00286BEC 41 82 00 4C */ beq lbl_80289CD8
/* 80289C90 00286BF0 1C 69 00 09 */ mulli r3, r9, 9
/* 80289C94 00286BF4 7C 68 1A 14 */ add r3, r8, r3
/* 80289C98 00286BF8 54 63 08 3C */ slwi r3, r3, 1
/* 80289C9C 00286BFC 38 63 00 04 */ addi r3, r3, 4
/* 80289CA0 00286C00 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289CA4 00286C04 54 63 DF FF */ rlwinm. r3, r3, 0x1b, 0x1f, 0x1f
/* 80289CA8 00286C08 41 82 00 30 */ beq lbl_80289CD8
/* 80289CAC 00286C0C 38 69 00 01 */ addi r3, r9, 1
/* 80289CB0 00286C10 1C 63 00 09 */ mulli r3, r3, 9
/* 80289CB4 00286C14 7C 68 1A 14 */ add r3, r8, r3
/* 80289CB8 00286C18 54 63 08 3C */ slwi r3, r3, 1
/* 80289CBC 00286C1C 38 63 00 05 */ addi r3, r3, 5
/* 80289CC0 00286C20 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289CC4 00286C24 54 63 D7 FF */ rlwinm. r3, r3, 0x1a, 0x1f, 0x1f
/* 80289CC8 00286C28 41 82 00 10 */ beq lbl_80289CD8
/* 80289CCC 00286C2C 38 C0 00 02 */ li r6, 2
/* 80289CD0 00286C30 39 29 00 01 */ addi r9, r9, 1
/* 80289CD4 00286C34 48 00 00 A8 */ b lbl_80289D7C
lbl_80289CD8:
/* 80289CD8 00286C38 2C 08 00 00 */ cmpwi r8, 0
/* 80289CDC 00286C3C 40 81 00 4C */ ble lbl_80289D28
/* 80289CE0 00286C40 2C 06 00 01 */ cmpwi r6, 1
/* 80289CE4 00286C44 41 82 00 44 */ beq lbl_80289D28
/* 80289CE8 00286C48 1C 69 00 09 */ mulli r3, r9, 9
/* 80289CEC 00286C4C 7D 48 1A 14 */ add r10, r8, r3
/* 80289CF0 00286C50 55 43 08 3C */ slwi r3, r10, 1
/* 80289CF4 00286C54 38 63 00 04 */ addi r3, r3, 4
/* 80289CF8 00286C58 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289CFC 00286C5C 54 63 E7 FF */ rlwinm. r3, r3, 0x1c, 0x1f, 0x1f
/* 80289D00 00286C60 41 82 00 28 */ beq lbl_80289D28
/* 80289D04 00286C64 38 6A FF FF */ addi r3, r10, -1
/* 80289D08 00286C68 54 63 08 3C */ slwi r3, r3, 1
/* 80289D0C 00286C6C 38 63 00 05 */ addi r3, r3, 5
/* 80289D10 00286C70 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289D14 00286C74 54 63 D7 FF */ rlwinm. r3, r3, 0x1a, 0x1f, 0x1f
/* 80289D18 00286C78 41 82 00 10 */ beq lbl_80289D28
/* 80289D1C 00286C7C 38 C0 00 03 */ li r6, 3
/* 80289D20 00286C80 39 08 FF FF */ addi r8, r8, -1
/* 80289D24 00286C84 48 00 00 58 */ b lbl_80289D7C
lbl_80289D28:
/* 80289D28 00286C88 2C 08 00 08 */ cmpwi r8, 8
/* 80289D2C 00286C8C 40 80 01 B8 */ bge lbl_80289EE4
/* 80289D30 00286C90 2C 06 00 03 */ cmpwi r6, 3
/* 80289D34 00286C94 41 82 01 B0 */ beq lbl_80289EE4
/* 80289D38 00286C98 1C 69 00 09 */ mulli r3, r9, 9
/* 80289D3C 00286C9C 7C C8 1A 14 */ add r6, r8, r3
/* 80289D40 00286CA0 54 C3 08 3C */ slwi r3, r6, 1
/* 80289D44 00286CA4 38 63 00 04 */ addi r3, r3, 4
/* 80289D48 00286CA8 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289D4C 00286CAC 54 63 D7 FF */ rlwinm. r3, r3, 0x1a, 0x1f, 0x1f
/* 80289D50 00286CB0 41 82 01 94 */ beq lbl_80289EE4
/* 80289D54 00286CB4 38 66 00 01 */ addi r3, r6, 1
/* 80289D58 00286CB8 54 63 08 3C */ slwi r3, r3, 1
/* 80289D5C 00286CBC 38 63 00 05 */ addi r3, r3, 5
/* 80289D60 00286CC0 7C 7B 18 AE */ lbzx r3, r27, r3
/* 80289D64 00286CC4 54 63 D7 FF */ rlwinm. r3, r3, 0x1a, 0x1f, 0x1f
/* 80289D68 00286CC8 41 82 01 7C */ beq lbl_80289EE4
/* 80289D6C 00286CCC 38 C0 00 01 */ li r6, 1
/* 80289D70 00286CD0 39 08 00 01 */ addi r8, r8, 1
/* 80289D74 00286CD4 48 00 00 08 */ b lbl_80289D7C
/* 80289D78 00286CD8 48 00 01 6C */ b lbl_80289EE4
lbl_80289D7C:
/* 80289D7C 00286CDC 7C 07 E0 00 */ cmpw r7, r28
/* 80289D80 00286CE0 41 82 00 0C */ beq lbl_80289D8C
/* 80289D84 00286CE4 7C 07 20 00 */ cmpw r7, r4
/* 80289D88 00286CE8 40 82 01 40 */ bne lbl_80289EC8
lbl_80289D8C:
/* 80289D8C 00286CEC 2C 00 00 00 */ cmpwi r0, 0
/* 80289D90 00286CF0 41 82 00 1C */ beq lbl_80289DAC
/* 80289D94 00286CF4 2C 05 00 00 */ cmpwi r5, 0
/* 80289D98 00286CF8 41 82 00 14 */ beq lbl_80289DAC
/* 80289D9C 00286CFC 2C 00 00 08 */ cmpwi r0, 8
/* 80289DA0 00286D00 41 82 00 0C */ beq lbl_80289DAC
/* 80289DA4 00286D04 2C 05 00 06 */ cmpwi r5, 6
/* 80289DA8 00286D08 40 82 00 1C */ bne lbl_80289DC4
lbl_80289DAC:
/* 80289DAC 00286D0C 7C 07 E0 00 */ cmpw r7, r28
/* 80289DB0 00286D10 40 82 00 0C */ bne lbl_80289DBC
/* 80289DB4 00286D14 3B 9C 00 01 */ addi r28, r28, 1
/* 80289DB8 00286D18 48 00 01 10 */ b lbl_80289EC8
lbl_80289DBC:
/* 80289DBC 00286D1C 38 84 00 01 */ addi r4, r4, 1
/* 80289DC0 00286D20 48 00 01 08 */ b lbl_80289EC8
lbl_80289DC4:
/* 80289DC4 00286D24 1C 65 00 09 */ mulli r3, r5, 9
/* 80289DC8 00286D28 39 60 00 01 */ li r11, 1
/* 80289DCC 00286D2C 2C 06 00 02 */ cmpwi r6, 2
/* 80289DD0 00286D30 7C 60 1A 14 */ add r3, r0, r3
/* 80289DD4 00286D34 54 63 08 3C */ slwi r3, r3, 1
/* 80289DD8 00286D38 7C 7B 1A 14 */ add r3, r27, r3
/* 80289DDC 00286D3C 89 43 00 05 */ lbz r10, 5(r3)
/* 80289DE0 00286D40 51 6A 3E 30 */ rlwimi r10, r11, 7, 0x18, 0x18
/* 80289DE4 00286D44 99 43 00 05 */ stb r10, 5(r3)
/* 80289DE8 00286D48 41 82 00 84 */ beq lbl_80289E6C
/* 80289DEC 00286D4C 40 80 00 14 */ bge lbl_80289E00
/* 80289DF0 00286D50 2C 06 00 00 */ cmpwi r6, 0
/* 80289DF4 00286D54 41 82 00 18 */ beq lbl_80289E0C
/* 80289DF8 00286D58 40 80 00 44 */ bge lbl_80289E3C
/* 80289DFC 00286D5C 48 00 00 CC */ b lbl_80289EC8
lbl_80289E00:
/* 80289E00 00286D60 2C 06 00 04 */ cmpwi r6, 4
/* 80289E04 00286D64 40 80 00 C4 */ bge lbl_80289EC8
/* 80289E08 00286D68 48 00 00 94 */ b lbl_80289E9C
lbl_80289E0C:
/* 80289E0C 00286D6C 1D 49 00 09 */ mulli r10, r9, 9
/* 80289E10 00286D70 39 80 00 00 */ li r12, 0
/* 80289E14 00286D74 7D 48 52 14 */ add r10, r8, r10
/* 80289E18 00286D78 55 4A 08 3C */ slwi r10, r10, 1
/* 80289E1C 00286D7C 39 6A 00 04 */ addi r11, r10, 4
/* 80289E20 00286D80 7D 5B 58 AE */ lbzx r10, r27, r11
/* 80289E24 00286D84 51 8A 2E B4 */ rlwimi r10, r12, 5, 0x1a, 0x1a
/* 80289E28 00286D88 7D 5B 59 AE */ stbx r10, r27, r11
/* 80289E2C 00286D8C 89 43 00 04 */ lbz r10, 4(r3)
/* 80289E30 00286D90 51 8A 3E 30 */ rlwimi r10, r12, 7, 0x18, 0x18
/* 80289E34 00286D94 99 43 00 04 */ stb r10, 4(r3)
/* 80289E38 00286D98 48 00 00 90 */ b lbl_80289EC8
lbl_80289E3C:
/* 80289E3C 00286D9C 1D 49 00 09 */ mulli r10, r9, 9
/* 80289E40 00286DA0 39 80 00 00 */ li r12, 0
/* 80289E44 00286DA4 7D 48 52 14 */ add r10, r8, r10
/* 80289E48 00286DA8 55 4A 08 3C */ slwi r10, r10, 1
/* 80289E4C 00286DAC 39 6A 00 04 */ addi r11, r10, 4
/* 80289E50 00286DB0 7D 5B 58 AE */ lbzx r10, r27, r11
/* 80289E54 00286DB4 51 8A 26 F6 */ rlwimi r10, r12, 4, 0x1b, 0x1b
/* 80289E58 00286DB8 7D 5B 59 AE */ stbx r10, r27, r11
/* 80289E5C 00286DBC 89 43 00 04 */ lbz r10, 4(r3)
/* 80289E60 00286DC0 51 8A 36 72 */ rlwimi r10, r12, 6, 0x19, 0x19
/* 80289E64 00286DC4 99 43 00 04 */ stb r10, 4(r3)
/* 80289E68 00286DC8 48 00 00 60 */ b lbl_80289EC8
lbl_80289E6C:
/* 80289E6C 00286DCC 1D 49 00 09 */ mulli r10, r9, 9
/* 80289E70 00286DD0 39 80 00 00 */ li r12, 0
/* 80289E74 00286DD4 7D 48 52 14 */ add r10, r8, r10
/* 80289E78 00286DD8 55 4A 08 3C */ slwi r10, r10, 1
/* 80289E7C 00286DDC 39 6A 00 04 */ addi r11, r10, 4
/* 80289E80 00286DE0 7D 5B 58 AE */ lbzx r10, r27, r11
/* 80289E84 00286DE4 51 8A 3E 30 */ rlwimi r10, r12, 7, 0x18, 0x18
/* 80289E88 00286DE8 7D 5B 59 AE */ stbx r10, r27, r11
/* 80289E8C 00286DEC 89 43 00 04 */ lbz r10, 4(r3)
/* 80289E90 00286DF0 51 8A 2E B4 */ rlwimi r10, r12, 5, 0x1a, 0x1a
/* 80289E94 00286DF4 99 43 00 04 */ stb r10, 4(r3)
/* 80289E98 00286DF8 48 00 00 30 */ b lbl_80289EC8
lbl_80289E9C:
/* 80289E9C 00286DFC 1D 49 00 09 */ mulli r10, r9, 9
/* 80289EA0 00286E00 39 80 00 00 */ li r12, 0
/* 80289EA4 00286E04 7D 48 52 14 */ add r10, r8, r10
/* 80289EA8 00286E08 55 4A 08 3C */ slwi r10, r10, 1
/* 80289EAC 00286E0C 39 6A 00 04 */ addi r11, r10, 4
/* 80289EB0 00286E10 7D 5B 58 AE */ lbzx r10, r27, r11
/* 80289EB4 00286E14 51 8A 36 72 */ rlwimi r10, r12, 6, 0x19, 0x19
/* 80289EB8 00286E18 7D 5B 59 AE */ stbx r10, r27, r11
/* 80289EBC 00286E1C 89 43 00 04 */ lbz r10, 4(r3)
/* 80289EC0 00286E20 51 8A 26 F6 */ rlwimi r10, r12, 4, 0x1b, 0x1b
/* 80289EC4 00286E24 99 43 00 04 */ stb r10, 4(r3)
lbl_80289EC8:
/* 80289EC8 00286E28 38 E7 00 01 */ addi r7, r7, 1
lbl_80289ECC:
/* 80289ECC 00286E2C 80 7B 00 8C */ lwz r3, 0x8c(r27)
/* 80289ED0 00286E30 7C 08 18 00 */ cmpw r8, r3
/* 80289ED4 00286E34 40 82 FC 10 */ bne lbl_80289AE4
/* 80289ED8 00286E38 80 7B 00 90 */ lwz r3, 0x90(r27)
/* 80289EDC 00286E3C 7C 09 18 00 */ cmpw r9, r3
/* 80289EE0 00286E40 40 82 FC 04 */ bne lbl_80289AE4
lbl_80289EE4:
/* 80289EE4 00286E44 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 80289EE8 00286E48 80 01 00 24 */ lwz r0, 0x24(r1)
/* 80289EEC 00286E4C 7C 08 03 A6 */ mtlr r0
/* 80289EF0 00286E50 38 21 00 20 */ addi r1, r1, 0x20
/* 80289EF4 00286E54 4E 80 00 20 */ blr
.global sub_80289ef8
sub_80289ef8:
/* 80289EF8 00286E58 1C 05 00 09 */ mulli r0, r5, 9
/* 80289EFC 00286E5C 7C 65 1B 78 */ mr r5, r3
/* 80289F00 00286E60 7C 04 02 14 */ add r0, r4, r0
/* 80289F04 00286E64 54 03 08 3C */ slwi r3, r0, 1
/* 80289F08 00286E68 38 63 00 04 */ addi r3, r3, 4
/* 80289F0C 00286E6C 7C 65 1A 14 */ add r3, r5, r3
/* 80289F10 00286E70 4E 80 00 20 */ blr
.global sub_80289f14
sub_80289f14:
/* 80289F14 00286E74 1C 05 00 09 */ mulli r0, r5, 9
/* 80289F18 00286E78 7C 65 1B 78 */ mr r5, r3
/* 80289F1C 00286E7C 7C 04 02 14 */ add r0, r4, r0
/* 80289F20 00286E80 54 03 08 3C */ slwi r3, r0, 1
/* 80289F24 00286E84 38 63 00 04 */ addi r3, r3, 4
/* 80289F28 00286E88 7C 65 1A 14 */ add r3, r5, r3
/* 80289F2C 00286E8C 4E 80 00 20 */ blr
.global sub_80289f30
sub_80289f30:
/* 80289F30 00286E90 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80289F34 00286E94 7C 08 02 A6 */ mflr r0
/* 80289F38 00286E98 90 01 00 34 */ stw r0, 0x34(r1)
/* 80289F3C 00286E9C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80289F40 00286EA0 3B E0 00 3E */ li r31, 0x3e
/* 80289F44 00286EA4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80289F48 00286EA8 3B C0 00 00 */ li r30, 0
/* 80289F4C 00286EAC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80289F50 00286EB0 7C 7D 1B 78 */ mr r29, r3
/* 80289F54 00286EB4 38 61 00 0C */ addi r3, r1, 0xc
/* 80289F58 00286EB8 93 81 00 20 */ stw r28, 0x20(r1)
/* 80289F5C 00286EBC 48 08 86 91 */ bl __ct__9CRandom16FUi
/* 80289F60 00286EC0 80 81 00 0C */ lwz r4, 0xc(r1)
/* 80289F64 00286EC4 38 C0 00 00 */ li r6, 0
/* 80289F68 00286EC8 38 00 00 07 */ li r0, 7
/* 80289F6C 00286ECC 7F A3 EB 78 */ mr r3, r29
/* 80289F70 00286ED0 90 9D 00 00 */ stw r4, 0(r29)
/* 80289F74 00286ED4 38 80 00 00 */ li r4, 0
/* 80289F78 00286ED8 88 BD 00 94 */ lbz r5, 0x94(r29)
/* 80289F7C 00286EDC 50 C5 3E 30 */ rlwimi r5, r6, 7, 0x18, 0x18
/* 80289F80 00286EE0 98 BD 00 94 */ stb r5, 0x94(r29)
/* 80289F84 00286EE4 7C 09 03 A6 */ mtctr r0
lbl_80289F88:
/* 80289F88 00286EE8 88 01 00 09 */ lbz r0, 9(r1)
/* 80289F8C 00286EEC 39 40 00 00 */ li r10, 0
/* 80289F90 00286EF0 51 40 2E B4 */ rlwimi r0, r10, 5, 0x1a, 0x1a
/* 80289F94 00286EF4 88 E1 00 08 */ lbz r7, 8(r1)
/* 80289F98 00286EF8 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 80289F9C 00286EFC 98 01 00 09 */ stb r0, 9(r1)
/* 80289FA0 00286F00 50 05 0E 72 */ rlwimi r5, r0, 1, 0x19, 0x19
/* 80289FA4 00286F04 39 60 00 00 */ li r11, 0
/* 80289FA8 00286F08 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 80289FAC 00286F0C 98 A1 00 09 */ stb r5, 9(r1)
/* 80289FB0 00286F10 50 A0 0E 30 */ rlwimi r0, r5, 1, 0x18, 0x18
/* 80289FB4 00286F14 38 C0 00 00 */ li r6, 0
/* 80289FB8 00286F18 50 07 CF FE */ rlwimi r7, r0, 0x19, 0x1f, 0x1f
/* 80289FBC 00286F1C 98 01 00 09 */ stb r0, 9(r1)
/* 80289FC0 00286F20 54 EA 07 FE */ clrlwi r10, r7, 0x1f
/* 80289FC4 00286F24 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 80289FC8 00286F28 98 E1 00 08 */ stb r7, 8(r1)
/* 80289FCC 00286F2C 54 E7 06 3E */ clrlwi r7, r7, 0x18
/* 80289FD0 00286F30 51 47 0F BC */ rlwimi r7, r10, 1, 0x1e, 0x1e
/* 80289FD4 00286F34 51 65 2E B4 */ rlwimi r5, r11, 5, 0x1a, 0x1a
/* 80289FD8 00286F38 54 E8 06 3E */ clrlwi r8, r7, 0x18
/* 80289FDC 00286F3C 98 E1 00 08 */ stb r7, 8(r1)
/* 80289FE0 00286F40 50 E8 0F 7A */ rlwimi r8, r7, 1, 0x1d, 0x1d
/* 80289FE4 00286F44 54 AB DF FE */ rlwinm r11, r5, 0x1b, 0x1f, 0x1f
/* 80289FE8 00286F48 55 07 06 3E */ clrlwi r7, r8, 0x18
/* 80289FEC 00286F4C 99 01 00 08 */ stb r8, 8(r1)
/* 80289FF0 00286F50 51 07 0F 38 */ rlwimi r7, r8, 1, 0x1c, 0x1c
/* 80289FF4 00286F54 98 A1 00 09 */ stb r5, 9(r1)
/* 80289FF8 00286F58 54 EA EF FE */ rlwinm r10, r7, 0x1d, 0x1f, 0x1f
/* 80289FFC 00286F5C 54 A5 06 3E */ clrlwi r5, r5, 0x18
/* 8028A000 00286F60 51 65 36 72 */ rlwimi r5, r11, 6, 0x19, 0x19
/* 8028A004 00286F64 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A008 00286F68 54 E7 06 3E */ clrlwi r7, r7, 0x18
/* 8028A00C 00286F6C 51 47 26 F6 */ rlwimi r7, r10, 4, 0x1b, 0x1b
/* 8028A010 00286F70 54 A9 06 3E */ clrlwi r9, r5, 0x18
/* 8028A014 00286F74 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A018 00286F78 54 EA E7 FE */ rlwinm r10, r7, 0x1c, 0x1f, 0x1f
/* 8028A01C 00286F7C 54 E7 06 3E */ clrlwi r7, r7, 0x18
/* 8028A020 00286F80 50 A9 0E 30 */ rlwimi r9, r5, 1, 0x18, 0x18
/* 8028A024 00286F84 51 47 2E B4 */ rlwimi r7, r10, 5, 0x1a, 0x1a
/* 8028A028 00286F88 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A02C 00286F8C 54 EA DF FE */ rlwinm r10, r7, 0x1b, 0x1f, 0x1f
/* 8028A030 00286F90 54 E5 06 3E */ clrlwi r5, r7, 0x18
/* 8028A034 00286F94 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A038 00286F98 51 45 36 72 */ rlwimi r5, r10, 6, 0x19, 0x19
/* 8028A03C 00286F9C 55 27 06 3E */ clrlwi r7, r9, 0x18
/* 8028A040 00286FA0 54 AC 06 3E */ clrlwi r12, r5, 0x18
/* 8028A044 00286FA4 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A048 00286FA8 50 AC 0E 30 */ rlwimi r12, r5, 1, 0x18, 0x18
/* 8028A04C 00286FAC 50 C7 2E B4 */ rlwimi r7, r6, 5, 0x1a, 0x1a
/* 8028A050 00286FB0 55 88 06 3E */ clrlwi r8, r12, 0x18
/* 8028A054 00286FB4 99 21 00 09 */ stb r9, 9(r1)
/* 8028A058 00286FB8 51 28 CF FE */ rlwimi r8, r9, 0x19, 0x1f, 0x1f
/* 8028A05C 00286FBC 54 E5 06 3E */ clrlwi r5, r7, 0x18
/* 8028A060 00286FC0 99 81 00 08 */ stb r12, 8(r1)
/* 8028A064 00286FC4 50 E5 0E 72 */ rlwimi r5, r7, 1, 0x19, 0x19
/* 8028A068 00286FC8 55 0B 07 FE */ clrlwi r11, r8, 0x1f
/* 8028A06C 00286FCC 99 01 00 08 */ stb r8, 8(r1)
/* 8028A070 00286FD0 55 08 06 3E */ clrlwi r8, r8, 0x18
/* 8028A074 00286FD4 51 68 0F BC */ rlwimi r8, r11, 1, 0x1e, 0x1e
/* 8028A078 00286FD8 54 AA 06 3E */ clrlwi r10, r5, 0x18
/* 8028A07C 00286FDC 98 E1 00 09 */ stb r7, 9(r1)
/* 8028A080 00286FE0 55 0B FF FE */ rlwinm r11, r8, 0x1f, 0x1f, 0x1f
/* 8028A084 00286FE4 50 AA 0E 30 */ rlwimi r10, r5, 1, 0x18, 0x18
/* 8028A088 00286FE8 99 01 00 08 */ stb r8, 8(r1)
/* 8028A08C 00286FEC 55 08 06 3E */ clrlwi r8, r8, 0x18
/* 8028A090 00286FF0 51 68 17 7A */ rlwimi r8, r11, 2, 0x1d, 0x1d
/* 8028A094 00286FF4 99 83 00 04 */ stb r12, 4(r3)
/* 8028A098 00286FF8 55 0B F7 FE */ rlwinm r11, r8, 0x1e, 0x1f, 0x1f
/* 8028A09C 00286FFC 99 01 00 08 */ stb r8, 8(r1)
/* 8028A0A0 00287000 55 08 06 3E */ clrlwi r8, r8, 0x18
/* 8028A0A4 00287004 51 68 1F 38 */ rlwimi r8, r11, 3, 0x1c, 0x1c
/* 8028A0A8 00287008 55 07 06 3E */ clrlwi r7, r8, 0x18
/* 8028A0AC 0028700C 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A0B0 00287010 51 07 0E F6 */ rlwimi r7, r8, 1, 0x1b, 0x1b
/* 8028A0B4 00287014 99 01 00 08 */ stb r8, 8(r1)
/* 8028A0B8 00287018 54 EB E7 FE */ rlwinm r11, r7, 0x1c, 0x1f, 0x1f
/* 8028A0BC 0028701C 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A0C0 00287020 54 E7 06 3E */ clrlwi r7, r7, 0x18
/* 8028A0C4 00287024 51 67 2E B4 */ rlwimi r7, r11, 5, 0x1a, 0x1a
/* 8028A0C8 00287028 98 03 00 05 */ stb r0, 5(r3)
/* 8028A0CC 0028702C 54 E0 06 3E */ clrlwi r0, r7, 0x18
/* 8028A0D0 00287030 50 E0 0E 72 */ rlwimi r0, r7, 1, 0x19, 0x19
/* 8028A0D4 00287034 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A0D8 00287038 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A0DC 0028703C 50 05 0E 30 */ rlwimi r5, r0, 1, 0x18, 0x18
/* 8028A0E0 00287040 98 01 00 08 */ stb r0, 8(r1)
/* 8028A0E4 00287044 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A0E8 00287048 51 40 CF FE */ rlwimi r0, r10, 0x19, 0x1f, 0x1f
/* 8028A0EC 0028704C 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A0F0 00287050 98 A3 00 06 */ stb r5, 6(r3)
/* 8028A0F4 00287054 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A0F8 00287058 50 05 0F BC */ rlwimi r5, r0, 1, 0x1e, 0x1e
/* 8028A0FC 0028705C 98 01 00 08 */ stb r0, 8(r1)
/* 8028A100 00287060 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A104 00287064 50 A0 0F 7A */ rlwimi r0, r5, 1, 0x1d, 0x1d
/* 8028A108 00287068 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A10C 0028706C 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A110 00287070 50 05 0F 38 */ rlwimi r5, r0, 1, 0x1c, 0x1c
/* 8028A114 00287074 98 01 00 08 */ stb r0, 8(r1)
/* 8028A118 00287078 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A11C 0028707C 50 A0 0E F6 */ rlwimi r0, r5, 1, 0x1b, 0x1b
/* 8028A120 00287080 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A124 00287084 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A128 00287088 50 05 0E B4 */ rlwimi r5, r0, 1, 0x1a, 0x1a
/* 8028A12C 0028708C 98 01 00 08 */ stb r0, 8(r1)
/* 8028A130 00287090 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A134 00287094 50 A0 0E 72 */ rlwimi r0, r5, 1, 0x19, 0x19
/* 8028A138 00287098 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A13C 0028709C 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A140 002870A0 50 05 0E 30 */ rlwimi r5, r0, 1, 0x18, 0x18
/* 8028A144 002870A4 98 01 00 08 */ stb r0, 8(r1)
/* 8028A148 002870A8 99 23 00 07 */ stb r9, 7(r3)
/* 8028A14C 002870AC 99 41 00 09 */ stb r10, 9(r1)
/* 8028A150 002870B0 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A154 002870B4 39 20 00 00 */ li r9, 0
/* 8028A158 002870B8 55 40 06 3E */ clrlwi r0, r10, 0x18
/* 8028A15C 002870BC 51 20 2E B4 */ rlwimi r0, r9, 5, 0x1a, 0x1a
/* 8028A160 002870C0 98 A3 00 08 */ stb r5, 8(r3)
/* 8028A164 002870C4 54 A8 06 3E */ clrlwi r8, r5, 0x18
/* 8028A168 002870C8 39 80 00 00 */ li r12, 0
/* 8028A16C 002870CC 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A170 002870D0 98 01 00 09 */ stb r0, 9(r1)
/* 8028A174 002870D4 50 05 0E 72 */ rlwimi r5, r0, 1, 0x19, 0x19
/* 8028A178 002870D8 38 C0 00 00 */ li r6, 0
/* 8028A17C 002870DC 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A180 002870E0 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A184 002870E4 50 A0 0E 30 */ rlwimi r0, r5, 1, 0x18, 0x18
/* 8028A188 002870E8 50 08 CF FE */ rlwimi r8, r0, 0x19, 0x1f, 0x1f
/* 8028A18C 002870EC 98 01 00 09 */ stb r0, 9(r1)
/* 8028A190 002870F0 55 09 07 FE */ clrlwi r9, r8, 0x1f
/* 8028A194 002870F4 54 07 06 3E */ clrlwi r7, r0, 0x18
/* 8028A198 002870F8 99 01 00 08 */ stb r8, 8(r1)
/* 8028A19C 002870FC 55 08 06 3E */ clrlwi r8, r8, 0x18
/* 8028A1A0 00287100 51 28 0F BC */ rlwimi r8, r9, 1, 0x1e, 0x1e
/* 8028A1A4 00287104 51 87 2E B4 */ rlwimi r7, r12, 5, 0x1a, 0x1a
/* 8028A1A8 00287108 55 05 06 3E */ clrlwi r5, r8, 0x18
/* 8028A1AC 0028710C 99 01 00 08 */ stb r8, 8(r1)
/* 8028A1B0 00287110 51 05 0F 7A */ rlwimi r5, r8, 1, 0x1d, 0x1d
/* 8028A1B4 00287114 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A1B8 00287118 54 A9 F7 FE */ rlwinm r9, r5, 0x1e, 0x1f, 0x1f
/* 8028A1BC 0028711C 54 A8 06 3E */ clrlwi r8, r5, 0x18
/* 8028A1C0 00287120 54 E5 06 3E */ clrlwi r5, r7, 0x18
/* 8028A1C4 00287124 51 28 1F 38 */ rlwimi r8, r9, 3, 0x1c, 0x1c
/* 8028A1C8 00287128 98 E1 00 09 */ stb r7, 9(r1)
/* 8028A1CC 0028712C 50 E5 0E 72 */ rlwimi r5, r7, 1, 0x19, 0x19
/* 8028A1D0 00287130 55 07 06 3E */ clrlwi r7, r8, 0x18
/* 8028A1D4 00287134 99 01 00 08 */ stb r8, 8(r1)
/* 8028A1D8 00287138 51 07 0E F6 */ rlwimi r7, r8, 1, 0x1b, 0x1b
/* 8028A1DC 0028713C 54 AB 06 3E */ clrlwi r11, r5, 0x18
/* 8028A1E0 00287140 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A1E4 00287144 54 E9 E7 FE */ rlwinm r9, r7, 0x1c, 0x1f, 0x1f
/* 8028A1E8 00287148 54 E7 06 3E */ clrlwi r7, r7, 0x18
/* 8028A1EC 0028714C 50 AB 0E 30 */ rlwimi r11, r5, 1, 0x18, 0x18
/* 8028A1F0 00287150 51 27 2E B4 */ rlwimi r7, r9, 5, 0x1a, 0x1a
/* 8028A1F4 00287154 99 43 00 09 */ stb r10, 9(r3)
/* 8028A1F8 00287158 54 E9 DF FE */ rlwinm r9, r7, 0x1b, 0x1f, 0x1f
/* 8028A1FC 0028715C 54 E8 06 3E */ clrlwi r8, r7, 0x18
/* 8028A200 00287160 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A204 00287164 51 28 36 72 */ rlwimi r8, r9, 6, 0x19, 0x19
/* 8028A208 00287168 55 67 06 3E */ clrlwi r7, r11, 0x18
/* 8028A20C 0028716C 55 0A 06 3E */ clrlwi r10, r8, 0x18
/* 8028A210 00287170 99 01 00 08 */ stb r8, 8(r1)
/* 8028A214 00287174 51 0A 0E 30 */ rlwimi r10, r8, 1, 0x18, 0x18
/* 8028A218 00287178 50 C7 2E B4 */ rlwimi r7, r6, 5, 0x1a, 0x1a
/* 8028A21C 0028717C 55 48 06 3E */ clrlwi r8, r10, 0x18
/* 8028A220 00287180 99 43 00 0A */ stb r10, 0xa(r3)
/* 8028A224 00287184 51 68 CF FE */ rlwimi r8, r11, 0x19, 0x1f, 0x1f
/* 8028A228 00287188 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A22C 0028718C 55 09 06 3E */ clrlwi r9, r8, 0x18
/* 8028A230 00287190 51 09 0F BC */ rlwimi r9, r8, 1, 0x1e, 0x1e
/* 8028A234 00287194 54 E5 06 3E */ clrlwi r5, r7, 0x18
/* 8028A238 00287198 99 41 00 08 */ stb r10, 8(r1)
/* 8028A23C 0028719C 55 2C FF FE */ rlwinm r12, r9, 0x1f, 0x1f, 0x1f
/* 8028A240 002871A0 50 E5 0E 72 */ rlwimi r5, r7, 1, 0x19, 0x19
/* 8028A244 002871A4 99 01 00 08 */ stb r8, 8(r1)
/* 8028A248 002871A8 54 A8 06 3E */ clrlwi r8, r5, 0x18
/* 8028A24C 002871AC 50 A8 0E 30 */ rlwimi r8, r5, 1, 0x18, 0x18
/* 8028A250 002871B0 99 21 00 08 */ stb r9, 8(r1)
/* 8028A254 002871B4 55 29 06 3E */ clrlwi r9, r9, 0x18
/* 8028A258 002871B8 51 89 17 7A */ rlwimi r9, r12, 2, 0x1d, 0x1d
/* 8028A25C 002871BC 55 2A 06 3E */ clrlwi r10, r9, 0x18
/* 8028A260 002871C0 99 61 00 09 */ stb r11, 9(r1)
/* 8028A264 002871C4 51 2A 0F 38 */ rlwimi r10, r9, 1, 0x1c, 0x1c
/* 8028A268 002871C8 99 21 00 08 */ stb r9, 8(r1)
/* 8028A26C 002871CC 55 49 06 3E */ clrlwi r9, r10, 0x18
/* 8028A270 002871D0 51 49 0E F6 */ rlwimi r9, r10, 1, 0x1b, 0x1b
/* 8028A274 002871D4 99 41 00 08 */ stb r10, 8(r1)
/* 8028A278 002871D8 55 2C E7 FE */ rlwinm r12, r9, 0x1c, 0x1f, 0x1f
/* 8028A27C 002871DC 99 21 00 08 */ stb r9, 8(r1)
/* 8028A280 002871E0 55 29 06 3E */ clrlwi r9, r9, 0x18
/* 8028A284 002871E4 51 89 2E B4 */ rlwimi r9, r12, 5, 0x1a, 0x1a
/* 8028A288 002871E8 98 E1 00 09 */ stb r7, 9(r1)
/* 8028A28C 002871EC 55 27 06 3E */ clrlwi r7, r9, 0x18
/* 8028A290 002871F0 51 27 0E 72 */ rlwimi r7, r9, 1, 0x19, 0x19
/* 8028A294 002871F4 99 21 00 08 */ stb r9, 8(r1)
/* 8028A298 002871F8 54 E9 06 3E */ clrlwi r9, r7, 0x18
/* 8028A29C 002871FC 50 E9 0E 30 */ rlwimi r9, r7, 1, 0x18, 0x18
/* 8028A2A0 00287200 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A2A4 00287204 55 27 06 3E */ clrlwi r7, r9, 0x18
/* 8028A2A8 00287208 51 07 CF FE */ rlwimi r7, r8, 0x19, 0x1f, 0x1f
/* 8028A2AC 0028720C 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A2B0 00287210 54 E5 06 3E */ clrlwi r5, r7, 0x18
/* 8028A2B4 00287214 50 E5 0F BC */ rlwimi r5, r7, 1, 0x1e, 0x1e
/* 8028A2B8 00287218 98 03 00 0B */ stb r0, 0xb(r3)
/* 8028A2BC 0028721C 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A2C0 00287220 50 A0 0F 7A */ rlwimi r0, r5, 1, 0x1d, 0x1d
/* 8028A2C4 00287224 99 21 00 08 */ stb r9, 8(r1)
/* 8028A2C8 00287228 98 E1 00 08 */ stb r7, 8(r1)
/* 8028A2CC 0028722C 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A2D0 00287230 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A2D4 00287234 50 05 0F 38 */ rlwimi r5, r0, 1, 0x1c, 0x1c
/* 8028A2D8 00287238 98 01 00 08 */ stb r0, 8(r1)
/* 8028A2DC 0028723C 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A2E0 00287240 50 A0 0E F6 */ rlwimi r0, r5, 1, 0x1b, 0x1b
/* 8028A2E4 00287244 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A2E8 00287248 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A2EC 0028724C 50 05 0E B4 */ rlwimi r5, r0, 1, 0x1a, 0x1a
/* 8028A2F0 00287250 98 01 00 08 */ stb r0, 8(r1)
/* 8028A2F4 00287254 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A2F8 00287258 50 A0 0E 72 */ rlwimi r0, r5, 1, 0x19, 0x19
/* 8028A2FC 0028725C 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A300 00287260 54 06 D7 FE */ rlwinm r6, r0, 0x1a, 0x1f, 0x1f
/* 8028A304 00287264 99 23 00 0C */ stb r9, 0xc(r3)
/* 8028A308 00287268 98 01 00 08 */ stb r0, 8(r1)
/* 8028A30C 0028726C 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A310 00287270 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 8028A314 00287274 99 63 00 0D */ stb r11, 0xd(r3)
/* 8028A318 00287278 99 01 00 09 */ stb r8, 9(r1)
/* 8028A31C 0028727C 98 01 00 08 */ stb r0, 8(r1)
/* 8028A320 00287280 39 40 00 00 */ li r10, 0
/* 8028A324 00287284 55 05 06 3E */ clrlwi r5, r8, 0x18
/* 8028A328 00287288 51 45 2E B4 */ rlwimi r5, r10, 5, 0x1a, 0x1a
/* 8028A32C 0028728C 98 03 00 0E */ stb r0, 0xe(r3)
/* 8028A330 00287290 54 06 06 3E */ clrlwi r6, r0, 0x18
/* 8028A334 00287294 38 E0 00 00 */ li r7, 0
/* 8028A338 00287298 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A33C 0028729C 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A340 002872A0 50 A0 0E 72 */ rlwimi r0, r5, 1, 0x19, 0x19
/* 8028A344 002872A4 38 84 00 08 */ addi r4, r4, 8
/* 8028A348 002872A8 54 09 06 3E */ clrlwi r9, r0, 0x18
/* 8028A34C 002872AC 98 01 00 09 */ stb r0, 9(r1)
/* 8028A350 002872B0 50 09 0E 30 */ rlwimi r9, r0, 1, 0x18, 0x18
/* 8028A354 002872B4 51 26 CF FE */ rlwimi r6, r9, 0x19, 0x1f, 0x1f
/* 8028A358 002872B8 99 03 00 0F */ stb r8, 0xf(r3)
/* 8028A35C 002872BC 54 CA 07 FE */ clrlwi r10, r6, 0x1f
/* 8028A360 002872C0 55 20 06 3E */ clrlwi r0, r9, 0x18
/* 8028A364 002872C4 98 C1 00 08 */ stb r6, 8(r1)
/* 8028A368 002872C8 54 C6 06 3E */ clrlwi r6, r6, 0x18
/* 8028A36C 002872CC 51 46 0F BC */ rlwimi r6, r10, 1, 0x1e, 0x1e
/* 8028A370 002872D0 50 E0 2E B4 */ rlwimi r0, r7, 5, 0x1a, 0x1a
/* 8028A374 002872D4 54 C5 06 3E */ clrlwi r5, r6, 0x18
/* 8028A378 002872D8 98 C1 00 08 */ stb r6, 8(r1)
/* 8028A37C 002872DC 50 C5 0F 7A */ rlwimi r5, r6, 1, 0x1d, 0x1d
/* 8028A380 002872E0 99 21 00 09 */ stb r9, 9(r1)
/* 8028A384 002872E4 54 AA F7 FE */ rlwinm r10, r5, 0x1e, 0x1f, 0x1f
/* 8028A388 002872E8 54 A6 06 3E */ clrlwi r6, r5, 0x18
/* 8028A38C 002872EC 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A390 002872F0 51 46 1F 38 */ rlwimi r6, r10, 3, 0x1c, 0x1c
/* 8028A394 002872F4 54 C8 06 3E */ clrlwi r8, r6, 0x18
/* 8028A398 002872F8 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A39C 002872FC 98 C1 00 08 */ stb r6, 8(r1)
/* 8028A3A0 00287300 50 C8 0E F6 */ rlwimi r8, r6, 1, 0x1b, 0x1b
/* 8028A3A4 00287304 50 05 0E 72 */ rlwimi r5, r0, 1, 0x19, 0x19
/* 8028A3A8 00287308 98 01 00 09 */ stb r0, 9(r1)
/* 8028A3AC 0028730C 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 8028A3B0 00287310 54 A6 06 3E */ clrlwi r6, r5, 0x18
/* 8028A3B4 00287314 99 01 00 08 */ stb r8, 8(r1)
/* 8028A3B8 00287318 51 00 0E B4 */ rlwimi r0, r8, 1, 0x1a, 0x1a
/* 8028A3BC 0028731C 54 08 06 3E */ clrlwi r8, r0, 0x18
/* 8028A3C0 00287320 50 A6 0E 30 */ rlwimi r6, r5, 1, 0x18, 0x18
/* 8028A3C4 00287324 98 01 00 08 */ stb r0, 8(r1)
/* 8028A3C8 00287328 50 08 0E 72 */ rlwimi r8, r0, 1, 0x19, 0x19
/* 8028A3CC 0028732C 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 8028A3D0 00287330 51 00 0E 30 */ rlwimi r0, r8, 1, 0x18, 0x18
/* 8028A3D4 00287334 99 01 00 08 */ stb r8, 8(r1)
/* 8028A3D8 00287338 54 08 06 3E */ clrlwi r8, r0, 0x18
/* 8028A3DC 0028733C 98 03 00 10 */ stb r0, 0x10(r3)
/* 8028A3E0 00287340 50 C8 CF FE */ rlwimi r8, r6, 0x19, 0x1f, 0x1f
/* 8028A3E4 00287344 98 01 00 08 */ stb r0, 8(r1)
/* 8028A3E8 00287348 55 00 06 3E */ clrlwi r0, r8, 0x18
/* 8028A3EC 0028734C 51 00 0F BC */ rlwimi r0, r8, 1, 0x1e, 0x1e
/* 8028A3F0 00287350 98 A1 00 09 */ stb r5, 9(r1)
/* 8028A3F4 00287354 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A3F8 00287358 50 05 0F 7A */ rlwimi r5, r0, 1, 0x1d, 0x1d
/* 8028A3FC 0028735C 99 01 00 08 */ stb r8, 8(r1)
/* 8028A400 00287360 98 01 00 08 */ stb r0, 8(r1)
/* 8028A404 00287364 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A408 00287368 50 A0 0F 38 */ rlwimi r0, r5, 1, 0x1c, 0x1c
/* 8028A40C 0028736C 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A410 00287370 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A414 00287374 50 05 0E F6 */ rlwimi r5, r0, 1, 0x1b, 0x1b
/* 8028A418 00287378 98 01 00 08 */ stb r0, 8(r1)
/* 8028A41C 0028737C 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A420 00287380 50 A0 0E B4 */ rlwimi r0, r5, 1, 0x1a, 0x1a
/* 8028A424 00287384 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A428 00287388 54 05 06 3E */ clrlwi r5, r0, 0x18
/* 8028A42C 0028738C 50 05 0E 72 */ rlwimi r5, r0, 1, 0x19, 0x19
/* 8028A430 00287390 98 01 00 08 */ stb r0, 8(r1)
/* 8028A434 00287394 54 A0 06 3E */ clrlwi r0, r5, 0x18
/* 8028A438 00287398 50 A0 0E 30 */ rlwimi r0, r5, 1, 0x18, 0x18
/* 8028A43C 0028739C 99 23 00 11 */ stb r9, 0x11(r3)
/* 8028A440 002873A0 98 A1 00 08 */ stb r5, 8(r1)
/* 8028A444 002873A4 98 03 00 12 */ stb r0, 0x12(r3)
/* 8028A448 002873A8 98 C3 00 13 */ stb r6, 0x13(r3)
/* 8028A44C 002873AC 38 63 00 10 */ addi r3, r3, 0x10
/* 8028A450 002873B0 98 C1 00 09 */ stb r6, 9(r1)
/* 8028A454 002873B4 98 01 00 08 */ stb r0, 8(r1)
/* 8028A458 002873B8 42 00 FB 30 */ bdnz lbl_80289F88
/* 8028A45C 002873BC 54 83 08 3C */ slwi r3, r4, 1
/* 8028A460 002873C0 20 04 00 3F */ subfic r0, r4, 0x3f
/* 8028A464 002873C4 7C BD 1A 14 */ add r5, r29, r3
/* 8028A468 002873C8 7C 09 03 A6 */ mtctr r0
/* 8028A46C 002873CC 2C 04 00 3F */ cmpwi r4, 0x3f
/* 8028A470 002873D0 40 80 04 00 */ bge lbl_8028A870
lbl_8028A474:
/* 8028A474 002873D4 88 61 00 09 */ lbz r3, 9(r1)
/* 8028A478 002873D8 38 80 00 00 */ li r4, 0
/* 8028A47C 002873DC 50 83 2E B4 */ rlwimi r3, r4, 5, 0x1a, 0x1a
/* 8028A480 002873E0 88 01 00 08 */ lbz r0, 8(r1)
/* 8028A484 002873E4 54 64 DF FE */ rlwinm r4, r3, 0x1b, 0x1f, 0x1f
/* 8028A488 002873E8 98 61 00 09 */ stb r3, 9(r1)
/* 8028A48C 002873EC 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8028A490 002873F0 50 83 36 72 */ rlwimi r3, r4, 6, 0x19, 0x19
/* 8028A494 002873F4 54 64 D7 FE */ rlwinm r4, r3, 0x1a, 0x1f, 0x1f
/* 8028A498 002873F8 98 61 00 09 */ stb r3, 9(r1)
/* 8028A49C 002873FC 54 63 06 3E */ clrlwi r3, r3, 0x18
/* 8028A4A0 00287400 50 83 3E 30 */ rlwimi r3, r4, 7, 0x18, 0x18
/* 8028A4A4 00287404 50 60 CF FE */ rlwimi r0, r3, 0x19, 0x1f, 0x1f
/* 8028A4A8 00287408 98 61 00 09 */ stb r3, 9(r1)
/* 8028A4AC 0028740C 54 04 07 FE */ clrlwi r4, r0, 0x1f
/* 8028A4B0 00287410 98 01 00 08 */ stb r0, 8(r1)
/* 8028A4B4 00287414 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A4B8 00287418 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e
/* 8028A4BC 0028741C 54 04 FF FE */ rlwinm r4, r0, 0x1f, 0x1f, 0x1f
/* 8028A4C0 00287420 98 01 00 08 */ stb r0, 8(r1)
/* 8028A4C4 00287424 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A4C8 00287428 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 8028A4CC 0028742C 54 04 F7 FE */ rlwinm r4, r0, 0x1e, 0x1f, 0x1f
/* 8028A4D0 00287430 98 01 00 08 */ stb r0, 8(r1)
/* 8028A4D4 00287434 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A4D8 00287438 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 8028A4DC 0028743C 54 04 EF FE */ rlwinm r4, r0, 0x1d, 0x1f, 0x1f
/* 8028A4E0 00287440 98 01 00 08 */ stb r0, 8(r1)
/* 8028A4E4 00287444 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A4E8 00287448 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 8028A4EC 0028744C 54 04 E7 FE */ rlwinm r4, r0, 0x1c, 0x1f, 0x1f
/* 8028A4F0 00287450 98 01 00 08 */ stb r0, 8(r1)
/* 8028A4F4 00287454 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A4F8 00287458 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 8028A4FC 0028745C 54 04 DF FE */ rlwinm r4, r0, 0x1b, 0x1f, 0x1f
/* 8028A500 00287460 98 01 00 08 */ stb r0, 8(r1)
/* 8028A504 00287464 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A508 00287468 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 8028A50C 0028746C 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 8028A510 00287470 98 01 00 08 */ stb r0, 8(r1)
/* 8028A514 00287474 54 00 06 3E */ clrlwi r0, r0, 0x18
/* 8028A518 00287478 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8028A51C 0028747C 98 05 00 04 */ stb r0, 4(r5)
/* 8028A520 00287480 98 65 00 05 */ stb r3, 5(r5)
/* 8028A524 00287484 38 A5 00 02 */ addi r5, r5, 2
/* 8028A528 00287488 98 01 00 08 */ stb r0, 8(r1)
/* 8028A52C 0028748C 42 00 FF 48 */ bdnz lbl_8028A474
/* 8028A530 00287490 48 00 03 40 */ b lbl_8028A870
lbl_8028A534:
/* 8028A534 00287494 34 1E FF F7 */ addic. r0, r30, -9
/* 8028A538 00287498 3B 80 00 00 */ li r28, 0
/* 8028A53C 0028749C 40 81 00 58 */ ble lbl_8028A594
/* 8028A540 002874A0 38 1E FF F7 */ addi r0, r30, -9
/* 8028A544 002874A4 38 80 00 00 */ li r4, 0
/* 8028A548 002874A8 54 03 08 3C */ slwi r3, r0, 1
/* 8028A54C 002874AC 38 03 00 04 */ addi r0, r3, 4
/* 8028A550 002874B0 7C 7D 00 AE */ lbzx r3, r29, r0
/* 8028A554 002874B4 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8028A558 002874B8 40 82 00 20 */ bne lbl_8028A578
/* 8028A55C 002874BC 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8028A560 002874C0 40 82 00 18 */ bne lbl_8028A578
/* 8028A564 002874C4 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8028A568 002874C8 40 82 00 10 */ bne lbl_8028A578
/* 8028A56C 002874CC 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8028A570 002874D0 40 82 00 08 */ bne lbl_8028A578
/* 8028A574 002874D4 38 80 00 01 */ li r4, 1
lbl_8028A578:
/* 8028A578 002874D8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8028A57C 002874DC 41 82 00 18 */ beq lbl_8028A594
/* 8028A580 002874E0 57 80 10 3A */ slwi r0, r28, 2
/* 8028A584 002874E4 38 61 00 10 */ addi r3, r1, 0x10
/* 8028A588 002874E8 38 80 00 00 */ li r4, 0
/* 8028A58C 002874EC 3B 80 00 01 */ li r28, 1
/* 8028A590 002874F0 7C 83 01 2E */ stwx r4, r3, r0
lbl_8028A594:
/* 8028A594 002874F4 2C 1E 00 3D */ cmpwi r30, 0x3d
/* 8028A598 002874F8 40 80 00 7C */ bge lbl_8028A614
/* 8028A59C 002874FC 3C 60 38 E4 */ lis r3, 0x38E38E39@ha
/* 8028A5A0 00287500 38 9E 00 01 */ addi r4, r30, 1
/* 8028A5A4 00287504 38 03 8E 39 */ addi r0, r3, 0x38E38E39@l
/* 8028A5A8 00287508 7C 00 20 96 */ mulhw r0, r0, r4
/* 8028A5AC 0028750C 7C 00 0E 70 */ srawi r0, r0, 1
/* 8028A5B0 00287510 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8028A5B4 00287514 7C 00 1A 14 */ add r0, r0, r3
/* 8028A5B8 00287518 1C 00 00 09 */ mulli r0, r0, 9
/* 8028A5BC 0028751C 7C 00 20 51 */ subf. r0, r0, r4
/* 8028A5C0 00287520 41 82 00 54 */ beq lbl_8028A614
/* 8028A5C4 00287524 54 83 08 3C */ slwi r3, r4, 1
/* 8028A5C8 00287528 38 80 00 00 */ li r4, 0
/* 8028A5CC 0028752C 38 03 00 04 */ addi r0, r3, 4
/* 8028A5D0 00287530 7C 7D 00 AE */ lbzx r3, r29, r0
/* 8028A5D4 00287534 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8028A5D8 00287538 40 82 00 20 */ bne lbl_8028A5F8
/* 8028A5DC 0028753C 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8028A5E0 00287540 40 82 00 18 */ bne lbl_8028A5F8
/* 8028A5E4 00287544 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8028A5E8 00287548 40 82 00 10 */ bne lbl_8028A5F8
/* 8028A5EC 0028754C 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8028A5F0 00287550 40 82 00 08 */ bne lbl_8028A5F8
/* 8028A5F4 00287554 38 80 00 01 */ li r4, 1
lbl_8028A5F8:
/* 8028A5F8 00287558 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8028A5FC 0028755C 41 82 00 18 */ beq lbl_8028A614
/* 8028A600 00287560 57 80 10 3A */ slwi r0, r28, 2
/* 8028A604 00287564 38 61 00 10 */ addi r3, r1, 0x10
/* 8028A608 00287568 38 80 00 01 */ li r4, 1
/* 8028A60C 0028756C 3B 9C 00 01 */ addi r28, r28, 1
/* 8028A610 00287570 7C 83 01 2E */ stwx r4, r3, r0
lbl_8028A614:
/* 8028A614 00287574 38 1E 00 09 */ addi r0, r30, 9
/* 8028A618 00287578 2C 00 00 3E */ cmpwi r0, 0x3e
/* 8028A61C 0028757C 41 81 00 54 */ bgt lbl_8028A670
/* 8028A620 00287580 54 03 08 3C */ slwi r3, r0, 1
/* 8028A624 00287584 38 80 00 00 */ li r4, 0
/* 8028A628 00287588 38 03 00 04 */ addi r0, r3, 4
/* 8028A62C 0028758C 7C 7D 00 AE */ lbzx r3, r29, r0
/* 8028A630 00287590 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8028A634 00287594 40 82 00 20 */ bne lbl_8028A654
/* 8028A638 00287598 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8028A63C 0028759C 40 82 00 18 */ bne lbl_8028A654
/* 8028A640 002875A0 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8028A644 002875A4 40 82 00 10 */ bne lbl_8028A654
/* 8028A648 002875A8 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8028A64C 002875AC 40 82 00 08 */ bne lbl_8028A654
/* 8028A650 002875B0 38 80 00 01 */ li r4, 1
lbl_8028A654:
/* 8028A654 002875B4 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8028A658 002875B8 41 82 00 18 */ beq lbl_8028A670
/* 8028A65C 002875BC 57 80 10 3A */ slwi r0, r28, 2
/* 8028A660 002875C0 38 61 00 10 */ addi r3, r1, 0x10
/* 8028A664 002875C4 38 80 00 02 */ li r4, 2
/* 8028A668 002875C8 3B 9C 00 01 */ addi r28, r28, 1
/* 8028A66C 002875CC 7C 83 01 2E */ stwx r4, r3, r0
lbl_8028A670:
/* 8028A670 002875D0 2C 1E 00 00 */ cmpwi r30, 0
/* 8028A674 002875D4 40 81 00 7C */ ble lbl_8028A6F0
/* 8028A678 002875D8 3C 60 38 E4 */ lis r3, 0x38E38E39@ha
/* 8028A67C 002875DC 38 03 8E 39 */ addi r0, r3, 0x38E38E39@l
/* 8028A680 002875E0 7C 00 F0 96 */ mulhw r0, r0, r30
/* 8028A684 002875E4 7C 00 0E 70 */ srawi r0, r0, 1
/* 8028A688 002875E8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 8028A68C 002875EC 7C 00 1A 14 */ add r0, r0, r3
/* 8028A690 002875F0 1C 00 00 09 */ mulli r0, r0, 9
/* 8028A694 002875F4 7C 00 F0 51 */ subf. r0, r0, r30
/* 8028A698 002875F8 41 82 00 58 */ beq lbl_8028A6F0
/* 8028A69C 002875FC 38 1E FF FF */ addi r0, r30, -1
/* 8028A6A0 00287600 38 80 00 00 */ li r4, 0
/* 8028A6A4 00287604 54 03 08 3C */ slwi r3, r0, 1
/* 8028A6A8 00287608 38 03 00 04 */ addi r0, r3, 4
/* 8028A6AC 0028760C 7C 7D 00 AE */ lbzx r3, r29, r0
/* 8028A6B0 00287610 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8028A6B4 00287614 40 82 00 20 */ bne lbl_8028A6D4
/* 8028A6B8 00287618 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8028A6BC 0028761C 40 82 00 18 */ bne lbl_8028A6D4
/* 8028A6C0 00287620 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8028A6C4 00287624 40 82 00 10 */ bne lbl_8028A6D4
/* 8028A6C8 00287628 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8028A6CC 0028762C 40 82 00 08 */ bne lbl_8028A6D4
/* 8028A6D0 00287630 38 80 00 01 */ li r4, 1
lbl_8028A6D4:
/* 8028A6D4 00287634 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8028A6D8 00287638 41 82 00 18 */ beq lbl_8028A6F0
/* 8028A6DC 0028763C 57 80 10 3A */ slwi r0, r28, 2
/* 8028A6E0 00287640 38 61 00 10 */ addi r3, r1, 0x10
/* 8028A6E4 00287644 38 80 00 03 */ li r4, 3
/* 8028A6E8 00287648 3B 9C 00 01 */ addi r28, r28, 1
/* 8028A6EC 0028764C 7C 83 01 2E */ stwx r4, r3, r0
lbl_8028A6F0:
/* 8028A6F0 00287650 2C 1C 00 00 */ cmpwi r28, 0
/* 8028A6F4 00287654 41 82 01 30 */ beq lbl_8028A824
/* 8028A6F8 00287658 7F A3 EB 78 */ mr r3, r29
/* 8028A6FC 0028765C 3B FF FF FF */ addi r31, r31, -1
/* 8028A700 00287660 48 08 7E 21 */ bl Next__9CRandom16Fv
/* 8028A704 00287664 7C 03 E3 96 */ divwu r0, r3, r28
/* 8028A708 00287668 38 81 00 10 */ addi r4, r1, 0x10
/* 8028A70C 0028766C 7C 00 E1 D6 */ mullw r0, r0, r28
/* 8028A710 00287670 7C 00 18 50 */ subf r0, r0, r3
/* 8028A714 00287674 54 00 10 3A */ slwi r0, r0, 2
/* 8028A718 00287678 7C 04 00 2E */ lwzx r0, r4, r0
/* 8028A71C 0028767C 2C 00 00 02 */ cmpwi r0, 2
/* 8028A720 00287680 41 82 00 94 */ beq lbl_8028A7B4
/* 8028A724 00287684 40 80 00 14 */ bge lbl_8028A738
/* 8028A728 00287688 2C 00 00 00 */ cmpwi r0, 0
/* 8028A72C 0028768C 41 82 00 18 */ beq lbl_8028A744
/* 8028A730 00287690 40 80 00 4C */ bge lbl_8028A77C
/* 8028A734 00287694 48 00 01 3C */ b lbl_8028A870
lbl_8028A738:
/* 8028A738 00287698 2C 00 00 04 */ cmpwi r0, 4
/* 8028A73C 0028769C 40 80 01 34 */ bge lbl_8028A870
/* 8028A740 002876A0 48 00 00 AC */ b lbl_8028A7EC
lbl_8028A744:
/* 8028A744 002876A4 57 C3 08 3C */ slwi r3, r30, 1
/* 8028A748 002876A8 38 1E FF F7 */ addi r0, r30, -9
/* 8028A74C 002876AC 38 A3 00 04 */ addi r5, r3, 4
/* 8028A750 002876B0 38 C0 00 01 */ li r6, 1
/* 8028A754 002876B4 7C 9D 28 AE */ lbzx r4, r29, r5
/* 8028A758 002876B8 50 C4 3E 30 */ rlwimi r4, r6, 7, 0x18, 0x18
/* 8028A75C 002876BC 54 03 08 3C */ slwi r3, r0, 1
/* 8028A760 002876C0 3B DE FF F7 */ addi r30, r30, -9
/* 8028A764 002876C4 7C 9D 29 AE */ stbx r4, r29, r5
/* 8028A768 002876C8 38 63 00 04 */ addi r3, r3, 4
/* 8028A76C 002876CC 7C 1D 18 AE */ lbzx r0, r29, r3
/* 8028A770 002876D0 50 C0 2E B4 */ rlwimi r0, r6, 5, 0x1a, 0x1a
/* 8028A774 002876D4 7C 1D 19 AE */ stbx r0, r29, r3
/* 8028A778 002876D8 48 00 00 F8 */ b lbl_8028A870
lbl_8028A77C:
/* 8028A77C 002876DC 57 C3 08 3C */ slwi r3, r30, 1
/* 8028A780 002876E0 38 1E 00 01 */ addi r0, r30, 1
/* 8028A784 002876E4 38 A3 00 04 */ addi r5, r3, 4
/* 8028A788 002876E8 38 C0 00 01 */ li r6, 1
/* 8028A78C 002876EC 7C 9D 28 AE */ lbzx r4, r29, r5
/* 8028A790 002876F0 50 C4 36 72 */ rlwimi r4, r6, 6, 0x19, 0x19
/* 8028A794 002876F4 54 03 08 3C */ slwi r3, r0, 1
/* 8028A798 002876F8 3B DE 00 01 */ addi r30, r30, 1
/* 8028A79C 002876FC 7C 9D 29 AE */ stbx r4, r29, r5
/* 8028A7A0 00287700 38 63 00 04 */ addi r3, r3, 4
/* 8028A7A4 00287704 7C 1D 18 AE */ lbzx r0, r29, r3
/* 8028A7A8 00287708 50 C0 26 F6 */ rlwimi r0, r6, 4, 0x1b, 0x1b
/* 8028A7AC 0028770C 7C 1D 19 AE */ stbx r0, r29, r3
/* 8028A7B0 00287710 48 00 00 C0 */ b lbl_8028A870
lbl_8028A7B4:
/* 8028A7B4 00287714 57 C3 08 3C */ slwi r3, r30, 1
/* 8028A7B8 00287718 38 1E 00 09 */ addi r0, r30, 9
/* 8028A7BC 0028771C 38 A3 00 04 */ addi r5, r3, 4
/* 8028A7C0 00287720 38 C0 00 01 */ li r6, 1
/* 8028A7C4 00287724 7C 9D 28 AE */ lbzx r4, r29, r5
/* 8028A7C8 00287728 50 C4 2E B4 */ rlwimi r4, r6, 5, 0x1a, 0x1a
/* 8028A7CC 0028772C 54 03 08 3C */ slwi r3, r0, 1
/* 8028A7D0 00287730 3B DE 00 09 */ addi r30, r30, 9
/* 8028A7D4 00287734 7C 9D 29 AE */ stbx r4, r29, r5
/* 8028A7D8 00287738 38 63 00 04 */ addi r3, r3, 4
/* 8028A7DC 0028773C 7C 1D 18 AE */ lbzx r0, r29, r3
/* 8028A7E0 00287740 50 C0 3E 30 */ rlwimi r0, r6, 7, 0x18, 0x18
/* 8028A7E4 00287744 7C 1D 19 AE */ stbx r0, r29, r3
/* 8028A7E8 00287748 48 00 00 88 */ b lbl_8028A870
lbl_8028A7EC:
/* 8028A7EC 0028774C 57 C3 08 3C */ slwi r3, r30, 1
/* 8028A7F0 00287750 38 1E FF FF */ addi r0, r30, -1
/* 8028A7F4 00287754 38 A3 00 04 */ addi r5, r3, 4
/* 8028A7F8 00287758 38 C0 00 01 */ li r6, 1
/* 8028A7FC 0028775C 7C 9D 28 AE */ lbzx r4, r29, r5
/* 8028A800 00287760 50 C4 26 F6 */ rlwimi r4, r6, 4, 0x1b, 0x1b
/* 8028A804 00287764 54 03 08 3C */ slwi r3, r0, 1
/* 8028A808 00287768 3B DE FF FF */ addi r30, r30, -1
/* 8028A80C 0028776C 7C 9D 29 AE */ stbx r4, r29, r5
/* 8028A810 00287770 38 63 00 04 */ addi r3, r3, 4
/* 8028A814 00287774 7C 1D 18 AE */ lbzx r0, r29, r3
/* 8028A818 00287778 50 C0 36 72 */ rlwimi r0, r6, 6, 0x19, 0x19
/* 8028A81C 0028777C 7C 1D 19 AE */ stbx r0, r29, r3
/* 8028A820 00287780 48 00 00 50 */ b lbl_8028A870
lbl_8028A824:
/* 8028A824 00287784 3B DE 00 01 */ addi r30, r30, 1
/* 8028A828 00287788 2C 1E 00 3E */ cmpwi r30, 0x3e
/* 8028A82C 0028778C 40 81 00 08 */ ble lbl_8028A834
/* 8028A830 00287790 3B C0 00 00 */ li r30, 0
lbl_8028A834:
/* 8028A834 00287794 57 C3 08 3C */ slwi r3, r30, 1
/* 8028A838 00287798 38 80 00 00 */ li r4, 0
/* 8028A83C 0028779C 38 03 00 04 */ addi r0, r3, 4
/* 8028A840 002877A0 7C 7D 00 AE */ lbzx r3, r29, r0
/* 8028A844 002877A4 54 60 CF FF */ rlwinm. r0, r3, 0x19, 0x1f, 0x1f
/* 8028A848 002877A8 40 82 00 20 */ bne lbl_8028A868
/* 8028A84C 002877AC 54 60 D7 FF */ rlwinm. r0, r3, 0x1a, 0x1f, 0x1f
/* 8028A850 002877B0 40 82 00 18 */ bne lbl_8028A868
/* 8028A854 002877B4 54 60 DF FF */ rlwinm. r0, r3, 0x1b, 0x1f, 0x1f
/* 8028A858 002877B8 40 82 00 10 */ bne lbl_8028A868
/* 8028A85C 002877BC 54 60 E7 FF */ rlwinm. r0, r3, 0x1c, 0x1f, 0x1f
/* 8028A860 002877C0 40 82 00 08 */ bne lbl_8028A868
/* 8028A864 002877C4 38 80 00 01 */ li r4, 1
lbl_8028A868:
/* 8028A868 002877C8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 8028A86C 002877CC 40 82 FF B8 */ bne lbl_8028A824
lbl_8028A870:
/* 8028A870 002877D0 2C 1F 00 00 */ cmpwi r31, 0
/* 8028A874 002877D4 40 82 FC C0 */ bne lbl_8028A534
/* 8028A878 002877D8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8028A87C 002877DC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8028A880 002877E0 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8028A884 002877E4 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8028A888 002877E8 83 81 00 20 */ lwz r28, 0x20(r1)
/* 8028A88C 002877EC 7C 08 03 A6 */ mtlr r0
/* 8028A890 002877F0 38 21 00 30 */ addi r1, r1, 0x30
/* 8028A894 002877F4 4E 80 00 20 */ blr
.global sub_8028a898
sub_8028a898:
/* 8028A898 002877F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8028A89C 002877FC 7C 08 02 A6 */ mflr r0
/* 8028A8A0 00287800 90 01 00 24 */ stw r0, 0x24(r1)
/* 8028A8A4 00287804 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8028A8A8 00287808 7C 9C 23 78 */ mr r28, r4
/* 8028A8AC 0028780C 7C 7B 1B 78 */ mr r27, r3
/* 8028A8B0 00287810 7C BD 2B 78 */ mr r29, r5
/* 8028A8B4 00287814 7C DE 33 78 */ mr r30, r6
/* 8028A8B8 00287818 7C FF 3B 78 */ mr r31, r7
/* 8028A8BC 0028781C 38 80 00 00 */ li r4, 0
/* 8028A8C0 00287820 48 08 7D 2D */ bl __ct__9CRandom16FUi
/* 8028A8C4 00287824 3C 80 80 29 */ lis r4, sub_8028a918@ha
/* 8028A8C8 00287828 38 7B 00 04 */ addi r3, r27, 4
/* 8028A8CC 0028782C 38 84 A9 18 */ addi r4, r4, sub_8028a918@l
/* 8028A8D0 00287830 38 A0 00 00 */ li r5, 0
/* 8028A8D4 00287834 38 C0 00 02 */ li r6, 2
/* 8028A8D8 00287838 38 E0 00 3F */ li r7, 0x3f
/* 8028A8DC 0028783C 48 0F EE 71 */ bl __construct_array
/* 8028A8E0 00287840 93 9B 00 84 */ stw r28, 0x84(r27)
/* 8028A8E4 00287844 38 80 00 00 */ li r4, 0
/* 8028A8E8 00287848 7F 63 DB 78 */ mr r3, r27
/* 8028A8EC 0028784C 93 BB 00 88 */ stw r29, 0x88(r27)
/* 8028A8F0 00287850 93 DB 00 8C */ stw r30, 0x8c(r27)
/* 8028A8F4 00287854 93 FB 00 90 */ stw r31, 0x90(r27)
/* 8028A8F8 00287858 88 1B 00 94 */ lbz r0, 0x94(r27)
/* 8028A8FC 0028785C 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8028A900 00287860 98 1B 00 94 */ stb r0, 0x94(r27)
/* 8028A904 00287864 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8028A908 00287868 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8028A90C 0028786C 7C 08 03 A6 */ mtlr r0
/* 8028A910 00287870 38 21 00 20 */ addi r1, r1, 0x20
/* 8028A914 00287874 4E 80 00 20 */ blr
.global sub_8028a918
sub_8028a918:
/* 8028A918 00287878 88 03 00 01 */ lbz r0, 1(r3)
/* 8028A91C 0028787C 38 80 00 00 */ li r4, 0
/* 8028A920 00287880 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 8028A924 00287884 98 03 00 01 */ stb r0, 1(r3)
/* 8028A928 00287888 54 04 DF FE */ rlwinm r4, r0, 0x1b, 0x1f, 0x1f
/* 8028A92C 0028788C 88 03 00 01 */ lbz r0, 1(r3)
/* 8028A930 00287890 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 8028A934 00287894 98 03 00 01 */ stb r0, 1(r3)
/* 8028A938 00287898 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 8028A93C 0028789C 88 03 00 01 */ lbz r0, 1(r3)
/* 8028A940 002878A0 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8028A944 002878A4 98 03 00 01 */ stb r0, 1(r3)
/* 8028A948 002878A8 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
/* 8028A94C 002878AC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A950 002878B0 50 80 07 FE */ rlwimi r0, r4, 0, 0x1f, 0x1f
/* 8028A954 002878B4 98 03 00 00 */ stb r0, 0(r3)
/* 8028A958 002878B8 54 04 07 FE */ clrlwi r4, r0, 0x1f
/* 8028A95C 002878BC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A960 002878C0 50 80 0F BC */ rlwimi r0, r4, 1, 0x1e, 0x1e
/* 8028A964 002878C4 98 03 00 00 */ stb r0, 0(r3)
/* 8028A968 002878C8 54 04 FF FE */ rlwinm r4, r0, 0x1f, 0x1f, 0x1f
/* 8028A96C 002878CC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A970 002878D0 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 8028A974 002878D4 98 03 00 00 */ stb r0, 0(r3)
/* 8028A978 002878D8 54 04 F7 FE */ rlwinm r4, r0, 0x1e, 0x1f, 0x1f
/* 8028A97C 002878DC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A980 002878E0 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 8028A984 002878E4 98 03 00 00 */ stb r0, 0(r3)
/* 8028A988 002878E8 54 04 EF FE */ rlwinm r4, r0, 0x1d, 0x1f, 0x1f
/* 8028A98C 002878EC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A990 002878F0 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 8028A994 002878F4 98 03 00 00 */ stb r0, 0(r3)
/* 8028A998 002878F8 54 04 E7 FE */ rlwinm r4, r0, 0x1c, 0x1f, 0x1f
/* 8028A99C 002878FC 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A9A0 00287900 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 8028A9A4 00287904 98 03 00 00 */ stb r0, 0(r3)
/* 8028A9A8 00287908 54 04 DF FE */ rlwinm r4, r0, 0x1b, 0x1f, 0x1f
/* 8028A9AC 0028790C 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A9B0 00287910 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 8028A9B4 00287914 98 03 00 00 */ stb r0, 0(r3)
/* 8028A9B8 00287918 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 8028A9BC 0028791C 88 03 00 00 */ lbz r0, 0(r3)
/* 8028A9C0 00287920 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8028A9C4 00287924 98 03 00 00 */ stb r0, 0(r3)
/* 8028A9C8 00287928 4E 80 00 20 */ blr
.section .sdata2, "a"
.global lbl_805ADB80
lbl_805ADB80:
# ROM: 0x3FA420
.4byte 0
.global lbl_805ADB84
lbl_805ADB84:
# ROM: 0x3FA424
.float 1.0