prime/asm/Kyoto_CWD/CScriptDock.s

1095 lines
56 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80003640 - 0x803CB1C0
.global GetCurrentConnectedAreaId__11CScriptDockCFRC13CStateManager
GetCurrentConnectedAreaId__11CScriptDockCFRC13CStateManager:
/* 800C3700 000C0660 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C3704 000C0664 7C 08 02 A6 */ mflr r0
/* 800C3708 000C0668 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C370C 000C066C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C3710 000C0670 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800C3714 000C0674 7C 7E 1B 78 */ mr r30, r3
/* 800C3718 000C0678 80 A5 08 50 */ lwz r5, 0x850(r5)
/* 800C371C 000C067C 80 C4 02 60 */ lwz r6, 0x260(r4)
/* 800C3720 000C0680 80 05 00 18 */ lwz r0, 0x18(r5)
/* 800C3724 000C0684 7C 00 30 00 */ cmpw r0, r6
/* 800C3728 000C0688 40 81 00 54 */ ble lbl_800C377C
/* 800C372C 000C068C 54 C3 18 38 */ slwi r3, r6, 3
/* 800C3730 000C0690 80 A5 00 20 */ lwz r5, 0x20(r5)
/* 800C3734 000C0694 38 03 00 04 */ addi r0, r3, 4
/* 800C3738 000C0698 80 84 02 5C */ lwz r4, 0x25c(r4)
/* 800C373C 000C069C 7C 65 00 2E */ lwzx r3, r5, r0
/* 800C3740 000C06A0 90 C1 00 08 */ stw r6, 8(r1)
/* 800C3744 000C06A4 80 03 00 D0 */ lwz r0, 0xd0(r3)
/* 800C3748 000C06A8 90 C1 00 0C */ stw r6, 0xc(r1)
/* 800C374C 000C06AC 7C 00 20 00 */ cmpw r0, r4
/* 800C3750 000C06B0 40 81 00 2C */ ble lbl_800C377C
/* 800C3754 000C06B4 1C 04 00 4C */ mulli r0, r4, 0x4c
/* 800C3758 000C06B8 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C375C 000C06BC 7F E3 02 14 */ add r31, r3, r0
/* 800C3760 000C06C0 7F E3 FB 78 */ mr r3, r31
/* 800C3764 000C06C4 4B F9 BC 0D */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3768 000C06C8 7C 65 1B 78 */ mr r5, r3
/* 800C376C 000C06CC 7F C3 F3 78 */ mr r3, r30
/* 800C3770 000C06D0 7F E4 FB 78 */ mr r4, r31
/* 800C3774 000C06D4 4B F9 BB B1 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C3778 000C06D8 48 00 00 0C */ b lbl_800C3784
lbl_800C377C:
/* 800C377C 000C06DC 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800C3780 000C06E0 90 1E 00 00 */ stw r0, 0(r30)
lbl_800C3784:
/* 800C3784 000C06E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C3788 000C06E8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C378C 000C06EC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800C3790 000C06F0 7C 08 03 A6 */ mtlr r0
/* 800C3794 000C06F4 38 21 00 20 */ addi r1, r1, 0x20
/* 800C3798 000C06F8 4E 80 00 20 */ blr
.global UpdateAreaActivateFlags__11CScriptDockFR13CStateManager
UpdateAreaActivateFlags__11CScriptDockFR13CStateManager:
/* 800C379C 000C06FC 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 800C37A0 000C0700 7C 08 02 A6 */ mflr r0
/* 800C37A4 000C0704 90 01 00 44 */ stw r0, 0x44(r1)
/* 800C37A8 000C0708 BF 61 00 2C */ stmw r27, 0x2c(r1)
/* 800C37AC 000C070C 7C 9E 23 78 */ mr r30, r4
/* 800C37B0 000C0710 80 BE 08 50 */ lwz r5, 0x850(r30)
/* 800C37B4 000C0714 80 83 02 60 */ lwz r4, 0x260(r3)
/* 800C37B8 000C0718 80 05 00 18 */ lwz r0, 0x18(r5)
/* 800C37BC 000C071C 7C 04 00 00 */ cmpw r4, r0
/* 800C37C0 000C0720 40 80 00 C4 */ bge lbl_800C3884
/* 800C37C4 000C0724 80 C3 02 60 */ lwz r6, 0x260(r3)
/* 800C37C8 000C0728 80 A5 00 20 */ lwz r5, 0x20(r5)
/* 800C37CC 000C072C 54 C4 18 38 */ slwi r4, r6, 3
/* 800C37D0 000C0730 80 E3 02 5C */ lwz r7, 0x25c(r3)
/* 800C37D4 000C0734 38 04 00 04 */ addi r0, r4, 4
/* 800C37D8 000C0738 90 C1 00 18 */ stw r6, 0x18(r1)
/* 800C37DC 000C073C 7C 65 00 2E */ lwzx r3, r5, r0
/* 800C37E0 000C0740 80 03 00 D0 */ lwz r0, 0xd0(r3)
/* 800C37E4 000C0744 7C 07 00 00 */ cmpw r7, r0
/* 800C37E8 000C0748 40 80 00 9C */ bge lbl_800C3884
/* 800C37EC 000C074C 1C 07 00 4C */ mulli r0, r7, 0x4c
/* 800C37F0 000C0750 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C37F4 000C0754 3B E0 00 00 */ li r31, 0
/* 800C37F8 000C0758 7F A3 02 14 */ add r29, r3, r0
/* 800C37FC 000C075C 83 9D 00 08 */ lwz r28, 8(r29)
/* 800C3800 000C0760 48 00 00 64 */ b lbl_800C3864
lbl_800C3804:
/* 800C3804 000C0764 7F A3 EB 78 */ mr r3, r29
/* 800C3808 000C0768 4B F9 BB 69 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C380C 000C076C 7C 1F 18 50 */ subf r0, r31, r3
/* 800C3810 000C0770 7F A4 EB 78 */ mr r4, r29
/* 800C3814 000C0774 7C 00 00 34 */ cntlzw r0, r0
/* 800C3818 000C0778 7F E5 FB 78 */ mr r5, r31
/* 800C381C 000C077C 54 1B D9 7E */ srwi r27, r0, 5
/* 800C3820 000C0780 38 61 00 14 */ addi r3, r1, 0x14
/* 800C3824 000C0784 4B F9 BB 01 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C3828 000C0788 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 800C382C 000C078C 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800C3830 000C0790 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 800C3834 000C0794 7C 06 00 00 */ cmpw r6, r0
/* 800C3838 000C0798 41 82 00 28 */ beq lbl_800C3860
/* 800C383C 000C079C 80 9E 08 50 */ lwz r4, 0x850(r30)
/* 800C3840 000C07A0 54 C3 18 38 */ slwi r3, r6, 3
/* 800C3844 000C07A4 38 03 00 04 */ addi r0, r3, 4
/* 800C3848 000C07A8 90 C1 00 10 */ stw r6, 0x10(r1)
/* 800C384C 000C07AC 80 64 00 20 */ lwz r3, 0x20(r4)
/* 800C3850 000C07B0 7C 63 00 2E */ lwzx r3, r3, r0
/* 800C3854 000C07B4 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800C3858 000C07B8 53 60 36 72 */ rlwimi r0, r27, 6, 0x19, 0x19
/* 800C385C 000C07BC 98 03 00 F0 */ stb r0, 0xf0(r3)
lbl_800C3860:
/* 800C3860 000C07C0 3B FF 00 01 */ addi r31, r31, 1
lbl_800C3864:
/* 800C3864 000C07C4 7C 1F E0 00 */ cmpw r31, r28
/* 800C3868 000C07C8 41 80 FF 9C */ blt lbl_800C3804
/* 800C386C 000C07CC 80 1E 08 CC */ lwz r0, 0x8cc(r30)
/* 800C3870 000C07D0 7F C3 F3 78 */ mr r3, r30
/* 800C3874 000C07D4 38 81 00 0C */ addi r4, r1, 0xc
/* 800C3878 000C07D8 90 01 00 08 */ stw r0, 8(r1)
/* 800C387C 000C07DC 90 01 00 0C */ stw r0, 0xc(r1)
/* 800C3880 000C07E0 4B F8 88 4D */ bl SetCurrentAreaId__13CStateManagerF7TAreaId
lbl_800C3884:
/* 800C3884 000C07E4 BB 61 00 2C */ lmw r27, 0x2c(r1)
/* 800C3888 000C07E8 80 01 00 44 */ lwz r0, 0x44(r1)
/* 800C388C 000C07EC 7C 08 03 A6 */ mtlr r0
/* 800C3890 000C07F0 38 21 00 40 */ addi r1, r1, 0x40
/* 800C3894 000C07F4 4E 80 00 20 */ blr
.global SetDockReference__11CScriptDockFi
SetDockReference__11CScriptDockFi:
/* 800C3898 000C07F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C389C 000C07FC 7C 08 02 A6 */ mflr r0
/* 800C38A0 000C0800 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C38A4 000C0804 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C38A8 000C0808 7C 7F 1B 78 */ mr r31, r3
/* 800C38AC 000C080C 80 C4 08 50 */ lwz r6, 0x850(r4)
/* 800C38B0 000C0810 7C A4 2B 78 */ mr r4, r5
/* 800C38B4 000C0814 80 E3 02 60 */ lwz r7, 0x260(r3)
/* 800C38B8 000C0818 80 03 02 5C */ lwz r0, 0x25c(r3)
/* 800C38BC 000C081C 54 E3 18 38 */ slwi r3, r7, 3
/* 800C38C0 000C0820 80 A6 00 20 */ lwz r5, 0x20(r6)
/* 800C38C4 000C0824 38 63 00 04 */ addi r3, r3, 4
/* 800C38C8 000C0828 90 E1 00 08 */ stw r7, 8(r1)
/* 800C38CC 000C082C 7C 65 18 2E */ lwzx r3, r5, r3
/* 800C38D0 000C0830 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C38D4 000C0834 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C38D8 000C0838 7C 63 02 14 */ add r3, r3, r0
/* 800C38DC 000C083C 4B F9 BA 85 */ bl SetReferenceCount__Q29IGameArea4DockFi
/* 800C38E0 000C0840 88 1F 02 68 */ lbz r0, 0x268(r31)
/* 800C38E4 000C0844 38 60 00 01 */ li r3, 1
/* 800C38E8 000C0848 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800C38EC 000C084C 98 1F 02 68 */ stb r0, 0x268(r31)
/* 800C38F0 000C0850 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C38F4 000C0854 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C38F8 000C0858 7C 08 03 A6 */ mtlr r0
/* 800C38FC 000C085C 38 21 00 20 */ addi r1, r1, 0x20
/* 800C3900 000C0860 4E 80 00 20 */ blr
.global GetDockReference__11CScriptDockCFv
GetDockReference__11CScriptDockCFv:
/* 800C3904 000C0864 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C3908 000C0868 7C 08 02 A6 */ mflr r0
/* 800C390C 000C086C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C3910 000C0870 80 C3 02 60 */ lwz r6, 0x260(r3)
/* 800C3914 000C0874 80 A4 08 50 */ lwz r5, 0x850(r4)
/* 800C3918 000C0878 54 C4 18 38 */ slwi r4, r6, 3
/* 800C391C 000C087C 80 03 02 5C */ lwz r0, 0x25c(r3)
/* 800C3920 000C0880 80 A5 00 20 */ lwz r5, 0x20(r5)
/* 800C3924 000C0884 38 64 00 04 */ addi r3, r4, 4
/* 800C3928 000C0888 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C392C 000C088C 90 C1 00 08 */ stw r6, 8(r1)
/* 800C3930 000C0890 7C 65 18 2E */ lwzx r3, r5, r3
/* 800C3934 000C0894 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C3938 000C0898 7C 63 02 14 */ add r3, r3, r0
/* 800C393C 000C089C 4B F9 BA 35 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3940 000C08A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C3944 000C08A4 7C 08 03 A6 */ mtlr r0
/* 800C3948 000C08A8 38 21 00 10 */ addi r1, r1, 0x10
/* 800C394C 000C08AC 4E 80 00 20 */ blr
.global Accept__11CScriptDockFR8IVisitor
Accept__11CScriptDockFR8IVisitor:
/* 800C3950 000C08B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C3954 000C08B4 7C 08 02 A6 */ mflr r0
/* 800C3958 000C08B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C395C 000C08BC 7C 60 1B 78 */ mr r0, r3
/* 800C3960 000C08C0 7C 83 23 78 */ mr r3, r4
/* 800C3964 000C08C4 81 84 00 00 */ lwz r12, 0(r4)
/* 800C3968 000C08C8 7C 04 03 78 */ mr r4, r0
/* 800C396C 000C08CC 81 8C 00 80 */ lwz r12, 0x80(r12)
/* 800C3970 000C08D0 7D 89 03 A6 */ mtctr r12
/* 800C3974 000C08D4 4E 80 04 21 */ bctrl
/* 800C3978 000C08D8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C397C 000C08DC 7C 08 03 A6 */ mtlr r0
/* 800C3980 000C08E0 38 21 00 10 */ addi r1, r1, 0x10
/* 800C3984 000C08E4 4E 80 00 20 */ blr
.global GetPlane__11CScriptDockCFRC13CStateManager
GetPlane__11CScriptDockCFRC13CStateManager:
/* 800C3988 000C08E8 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800C398C 000C08EC 7C 08 02 A6 */ mflr r0
/* 800C3990 000C08F0 90 01 00 34 */ stw r0, 0x34(r1)
/* 800C3994 000C08F4 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800C3998 000C08F8 7C 7F 1B 78 */ mr r31, r3
/* 800C399C 000C08FC 38 61 00 10 */ addi r3, r1, 0x10
/* 800C39A0 000C0900 80 E4 00 04 */ lwz r7, 4(r4)
/* 800C39A4 000C0904 80 C5 08 50 */ lwz r6, 0x850(r5)
/* 800C39A8 000C0908 54 E5 18 38 */ slwi r5, r7, 3
/* 800C39AC 000C090C 80 04 02 5C */ lwz r0, 0x25c(r4)
/* 800C39B0 000C0910 80 C6 00 20 */ lwz r6, 0x20(r6)
/* 800C39B4 000C0914 38 A5 00 04 */ addi r5, r5, 4
/* 800C39B8 000C0918 1C 80 00 4C */ mulli r4, r0, 0x4c
/* 800C39BC 000C091C 90 E1 00 08 */ stw r7, 8(r1)
/* 800C39C0 000C0920 7C A6 28 2E */ lwzx r5, r6, r5
/* 800C39C4 000C0924 90 E1 00 0C */ stw r7, 0xc(r1)
/* 800C39C8 000C0928 80 05 00 D8 */ lwz r0, 0xd8(r5)
/* 800C39CC 000C092C 38 84 00 18 */ addi r4, r4, 0x18
/* 800C39D0 000C0930 7C 80 22 14 */ add r4, r0, r4
/* 800C39D4 000C0934 38 C4 00 18 */ addi r6, r4, 0x18
/* 800C39D8 000C0938 38 A4 00 0C */ addi r5, r4, 0xc
/* 800C39DC 000C093C 48 27 36 CD */ bl __ct__6CPlaneFRC9CVector3fRC9CVector3fRC9CVector3f
/* 800C39E0 000C0940 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 800C39E4 000C0944 D0 1F 00 00 */ stfs f0, 0(r31)
/* 800C39E8 000C0948 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 800C39EC 000C094C D0 1F 00 04 */ stfs f0, 4(r31)
/* 800C39F0 000C0950 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 800C39F4 000C0954 D0 1F 00 08 */ stfs f0, 8(r31)
/* 800C39F8 000C0958 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 800C39FC 000C095C D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 800C3A00 000C0960 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800C3A04 000C0964 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800C3A08 000C0968 7C 08 03 A6 */ mtlr r0
/* 800C3A0C 000C096C 38 21 00 30 */ addi r1, r1, 0x30
/* 800C3A10 000C0970 4E 80 00 20 */ blr
.global HasPointCrossedDock__11CScriptDockCFRC13CStateManagerRC9CVector3f
HasPointCrossedDock__11CScriptDockCFRC13CStateManagerRC9CVector3f:
/* 800C3A14 000C0974 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800C3A18 000C0978 7C 08 02 A6 */ mflr r0
/* 800C3A1C 000C097C 90 01 00 34 */ stw r0, 0x34(r1)
/* 800C3A20 000C0980 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800C3A24 000C0984 7C BF 2B 78 */ mr r31, r5
/* 800C3A28 000C0988 80 C4 08 CC */ lwz r6, 0x8cc(r4)
/* 800C3A2C 000C098C 80 84 08 50 */ lwz r4, 0x850(r4)
/* 800C3A30 000C0990 80 03 02 5C */ lwz r0, 0x25c(r3)
/* 800C3A34 000C0994 54 C3 18 38 */ slwi r3, r6, 3
/* 800C3A38 000C0998 80 A4 00 20 */ lwz r5, 0x20(r4)
/* 800C3A3C 000C099C 38 63 00 04 */ addi r3, r3, 4
/* 800C3A40 000C09A0 1C 80 00 4C */ mulli r4, r0, 0x4c
/* 800C3A44 000C09A4 90 C1 00 08 */ stw r6, 8(r1)
/* 800C3A48 000C09A8 7C A5 18 2E */ lwzx r5, r5, r3
/* 800C3A4C 000C09AC 38 61 00 10 */ addi r3, r1, 0x10
/* 800C3A50 000C09B0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 800C3A54 000C09B4 80 05 00 D8 */ lwz r0, 0xd8(r5)
/* 800C3A58 000C09B8 38 84 00 18 */ addi r4, r4, 0x18
/* 800C3A5C 000C09BC 7C 80 22 14 */ add r4, r0, r4
/* 800C3A60 000C09C0 38 C4 00 18 */ addi r6, r4, 0x18
/* 800C3A64 000C09C4 38 A4 00 0C */ addi r5, r4, 0xc
/* 800C3A68 000C09C8 48 27 36 41 */ bl __ct__6CPlaneFRC9CVector3fRC9CVector3fRC9CVector3f
/* 800C3A6C 000C09CC C0 21 00 14 */ lfs f1, 0x14(r1)
/* 800C3A70 000C09D0 C0 1F 00 04 */ lfs f0, 4(r31)
/* 800C3A74 000C09D4 C0 41 00 10 */ lfs f2, 0x10(r1)
/* 800C3A78 000C09D8 EC 01 00 32 */ fmuls f0, f1, f0
/* 800C3A7C 000C09DC C0 3F 00 00 */ lfs f1, 0(r31)
/* 800C3A80 000C09E0 C0 81 00 18 */ lfs f4, 0x18(r1)
/* 800C3A84 000C09E4 C0 7F 00 08 */ lfs f3, 8(r31)
/* 800C3A88 000C09E8 EC 22 00 7A */ fmadds f1, f2, f1, f0
/* 800C3A8C 000C09EC C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 800C3A90 000C09F0 EC 24 08 FA */ fmadds f1, f4, f3, f1
/* 800C3A94 000C09F4 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800C3A98 000C09F8 4C 41 13 82 */ cror 2, 1, 2
/* 800C3A9C 000C09FC 7C 00 00 26 */ mfcr r0
/* 800C3AA0 000C0A00 54 03 1F FE */ rlwinm r3, r0, 3, 0x1f, 0x1f
/* 800C3AA4 000C0A04 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800C3AA8 000C0A08 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800C3AAC 000C0A0C 7C 08 03 A6 */ mtlr r0
/* 800C3AB0 000C0A10 38 21 00 30 */ addi r1, r1, 0x30
/* 800C3AB4 000C0A14 4E 80 00 20 */ blr
.global Think__11CScriptDockFfR13CStateManager
Think__11CScriptDockFfR13CStateManager:
/* 800C3AB8 000C0A18 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 800C3ABC 000C0A1C 7C 08 02 A6 */ mflr r0
/* 800C3AC0 000C0A20 90 01 00 64 */ stw r0, 0x64(r1)
/* 800C3AC4 000C0A24 BF 61 00 4C */ stmw r27, 0x4c(r1)
/* 800C3AC8 000C0A28 7C 7E 1B 78 */ mr r30, r3
/* 800C3ACC 000C0A2C 7C 9F 23 78 */ mr r31, r4
/* 800C3AD0 000C0A30 88 03 02 68 */ lbz r0, 0x268(r3)
/* 800C3AD4 000C0A34 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C3AD8 000C0A38 41 82 00 18 */ beq lbl_800C3AF0
/* 800C3ADC 000C0A3C 4B FF FC C1 */ bl UpdateAreaActivateFlags__11CScriptDockFR13CStateManager
/* 800C3AE0 000C0A40 88 1E 02 68 */ lbz r0, 0x268(r30)
/* 800C3AE4 000C0A44 38 60 00 00 */ li r3, 0
/* 800C3AE8 000C0A48 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 800C3AEC 000C0A4C 98 1E 02 68 */ stb r0, 0x268(r30)
lbl_800C3AF0:
/* 800C3AF0 000C0A50 80 BE 02 60 */ lwz r5, 0x260(r30)
/* 800C3AF4 000C0A54 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3AF8 000C0A58 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3AFC 000C0A5C 80 1E 02 5C */ lwz r0, 0x25c(r30)
/* 800C3B00 000C0A60 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C3B04 000C0A64 38 63 00 04 */ addi r3, r3, 4
/* 800C3B08 000C0A68 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C3B0C 000C0A6C 90 A1 00 28 */ stw r5, 0x28(r1)
/* 800C3B10 000C0A70 7C 64 18 2E */ lwzx r3, r4, r3
/* 800C3B14 000C0A74 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C3B18 000C0A78 7F A3 02 14 */ add r29, r3, r0
/* 800C3B1C 000C0A7C 7F A3 EB 78 */ mr r3, r29
/* 800C3B20 000C0A80 4B F9 B8 51 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3B24 000C0A84 7C 65 1B 78 */ mr r5, r3
/* 800C3B28 000C0A88 7F A4 EB 78 */ mr r4, r29
/* 800C3B2C 000C0A8C 38 61 00 24 */ addi r3, r1, 0x24
/* 800C3B30 000C0A90 4B F9 B7 F5 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C3B34 000C0A94 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 800C3B38 000C0A98 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800C3B3C 000C0A9C 90 C1 00 30 */ stw r6, 0x30(r1)
/* 800C3B40 000C0AA0 7C 06 00 00 */ cmpw r6, r0
/* 800C3B44 000C0AA4 41 82 00 74 */ beq lbl_800C3BB8
/* 800C3B48 000C0AA8 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3B4C 000C0AAC 54 C3 18 38 */ slwi r3, r6, 3
/* 800C3B50 000C0AB0 88 BE 02 68 */ lbz r5, 0x268(r30)
/* 800C3B54 000C0AB4 38 03 00 04 */ addi r0, r3, 4
/* 800C3B58 000C0AB8 80 64 00 20 */ lwz r3, 0x20(r4)
/* 800C3B5C 000C0ABC 54 A4 DF FE */ rlwinm r4, r5, 0x1b, 0x1f, 0x1f
/* 800C3B60 000C0AC0 90 C1 00 20 */ stw r6, 0x20(r1)
/* 800C3B64 000C0AC4 7C 63 00 2E */ lwzx r3, r3, r0
/* 800C3B68 000C0AC8 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800C3B6C 000C0ACC 54 00 CF FE */ rlwinm r0, r0, 0x19, 0x1f, 0x1f
/* 800C3B70 000C0AD0 7C 04 00 40 */ cmplw r4, r0
/* 800C3B74 000C0AD4 41 82 00 44 */ beq lbl_800C3BB8
/* 800C3B78 000C0AD8 50 05 2E B4 */ rlwimi r5, r0, 5, 0x1a, 0x1a
/* 800C3B7C 000C0ADC 98 BE 02 68 */ stb r5, 0x268(r30)
/* 800C3B80 000C0AE0 88 1E 02 68 */ lbz r0, 0x268(r30)
/* 800C3B84 000C0AE4 54 00 DF FF */ rlwinm. r0, r0, 0x1b, 0x1f, 0x1f
/* 800C3B88 000C0AE8 41 82 00 1C */ beq lbl_800C3BA4
/* 800C3B8C 000C0AEC 7F C3 F3 78 */ mr r3, r30
/* 800C3B90 000C0AF0 7F E5 FB 78 */ mr r5, r31
/* 800C3B94 000C0AF4 38 80 00 07 */ li r4, 7
/* 800C3B98 000C0AF8 38 C0 FF FF */ li r6, -1
/* 800C3B9C 000C0AFC 4B F8 D5 25 */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
/* 800C3BA0 000C0B00 48 00 00 18 */ b lbl_800C3BB8
lbl_800C3BA4:
/* 800C3BA4 000C0B04 7F C3 F3 78 */ mr r3, r30
/* 800C3BA8 000C0B08 7F E5 FB 78 */ mr r5, r31
/* 800C3BAC 000C0B0C 38 80 00 09 */ li r4, 9
/* 800C3BB0 000C0B10 38 C0 FF FF */ li r6, -1
/* 800C3BB4 000C0B14 4B F8 D5 0D */ bl SendScriptMsgs__7CEntityF18EScriptObjectStateR13CStateManager20EScriptObjectMessage
lbl_800C3BB8:
/* 800C3BB8 000C0B18 80 7F 08 CC */ lwz r3, 0x8cc(r31)
/* 800C3BBC 000C0B1C 80 1E 02 60 */ lwz r0, 0x260(r30)
/* 800C3BC0 000C0B20 7C 03 00 00 */ cmpw r3, r0
/* 800C3BC4 000C0B24 41 82 00 10 */ beq lbl_800C3BD4
/* 800C3BC8 000C0B28 38 00 00 03 */ li r0, 3
/* 800C3BCC 000C0B2C 90 1E 02 64 */ stw r0, 0x264(r30)
/* 800C3BD0 000C0B30 48 00 01 B0 */ b lbl_800C3D80
lbl_800C3BD4:
/* 800C3BD4 000C0B34 80 1E 02 64 */ lwz r0, 0x264(r30)
/* 800C3BD8 000C0B38 2C 00 00 03 */ cmpwi r0, 3
/* 800C3BDC 000C0B3C 40 82 00 10 */ bne lbl_800C3BEC
/* 800C3BE0 000C0B40 38 00 00 00 */ li r0, 0
/* 800C3BE4 000C0B44 90 1E 02 64 */ stw r0, 0x264(r30)
/* 800C3BE8 000C0B48 48 00 01 98 */ b lbl_800C3D80
lbl_800C3BEC:
/* 800C3BEC 000C0B4C 2C 00 00 01 */ cmpwi r0, 1
/* 800C3BF0 000C0B50 40 82 00 10 */ bne lbl_800C3C00
/* 800C3BF4 000C0B54 38 00 00 02 */ li r0, 2
/* 800C3BF8 000C0B58 90 1E 02 64 */ stw r0, 0x264(r30)
/* 800C3BFC 000C0B5C 48 00 01 84 */ b lbl_800C3D80
lbl_800C3C00:
/* 800C3C00 000C0B60 2C 00 00 02 */ cmpwi r0, 2
/* 800C3C04 000C0B64 40 82 01 7C */ bne lbl_800C3D80
/* 800C3C08 000C0B68 80 DF 08 4C */ lwz r6, 0x84c(r31)
/* 800C3C0C 000C0B6C 7F C3 F3 78 */ mr r3, r30
/* 800C3C10 000C0B70 7F E4 FB 78 */ mr r4, r31
/* 800C3C14 000C0B74 38 A1 00 3C */ addi r5, r1, 0x3c
/* 800C3C18 000C0B78 C0 46 00 60 */ lfs f2, 0x60(r6)
/* 800C3C1C 000C0B7C C0 26 00 50 */ lfs f1, 0x50(r6)
/* 800C3C20 000C0B80 C0 06 00 40 */ lfs f0, 0x40(r6)
/* 800C3C24 000C0B84 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 800C3C28 000C0B88 D0 21 00 40 */ stfs f1, 0x40(r1)
/* 800C3C2C 000C0B8C D0 41 00 44 */ stfs f2, 0x44(r1)
/* 800C3C30 000C0B90 4B FF FD E5 */ bl HasPointCrossedDock__11CScriptDockCFRC13CStateManagerRC9CVector3f
/* 800C3C34 000C0B94 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800C3C38 000C0B98 41 82 01 40 */ beq lbl_800C3D78
/* 800C3C3C 000C0B9C 80 BF 08 CC */ lwz r5, 0x8cc(r31)
/* 800C3C40 000C0BA0 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3C44 000C0BA4 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3C48 000C0BA8 80 1E 02 5C */ lwz r0, 0x25c(r30)
/* 800C3C4C 000C0BAC 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C3C50 000C0BB0 38 63 00 04 */ addi r3, r3, 4
/* 800C3C54 000C0BB4 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C3C58 000C0BB8 90 A1 00 18 */ stw r5, 0x18(r1)
/* 800C3C5C 000C0BBC 7C 64 18 2E */ lwzx r3, r4, r3
/* 800C3C60 000C0BC0 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 800C3C64 000C0BC4 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C3C68 000C0BC8 7F A3 02 14 */ add r29, r3, r0
/* 800C3C6C 000C0BCC 7F A3 EB 78 */ mr r3, r29
/* 800C3C70 000C0BD0 4B F9 B7 01 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3C74 000C0BD4 7C 65 1B 78 */ mr r5, r3
/* 800C3C78 000C0BD8 7F A4 EB 78 */ mr r4, r29
/* 800C3C7C 000C0BDC 38 61 00 14 */ addi r3, r1, 0x14
/* 800C3C80 000C0BE0 4B F9 B6 A5 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C3C84 000C0BE4 80 A1 00 14 */ lwz r5, 0x14(r1)
/* 800C3C88 000C0BE8 80 0D A3 90 */ lwz r0, lbl_805A8F50@sda21(r13)
/* 800C3C8C 000C0BEC 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 800C3C90 000C0BF0 7C 05 00 00 */ cmpw r5, r0
/* 800C3C94 000C0BF4 41 82 00 E4 */ beq lbl_800C3D78
/* 800C3C98 000C0BF8 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3C9C 000C0BFC 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3CA0 000C0C00 38 03 00 04 */ addi r0, r3, 4
/* 800C3CA4 000C0C04 90 A1 00 10 */ stw r5, 0x10(r1)
/* 800C3CA8 000C0C08 80 64 00 20 */ lwz r3, 0x20(r4)
/* 800C3CAC 000C0C0C 7C 63 00 2E */ lwzx r3, r3, r0
/* 800C3CB0 000C0C10 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800C3CB4 000C0C14 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C3CB8 000C0C18 41 82 00 C0 */ beq lbl_800C3D78
/* 800C3CBC 000C0C1C 90 A1 00 0C */ stw r5, 0xc(r1)
/* 800C3CC0 000C0C20 7F E3 FB 78 */ mr r3, r31
/* 800C3CC4 000C0C24 38 81 00 0C */ addi r4, r1, 0xc
/* 800C3CC8 000C0C28 4B F8 84 05 */ bl SetCurrentAreaId__13CStateManagerF7TAreaId
/* 800C3CCC 000C0C2C 7F A3 EB 78 */ mr r3, r29
/* 800C3CD0 000C0C30 4B F9 B6 A1 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3CD4 000C0C34 7C 64 1B 78 */ mr r4, r3
/* 800C3CD8 000C0C38 7F A3 EB 78 */ mr r3, r29
/* 800C3CDC 000C0C3C 4B F9 B6 21 */ bl GetOtherDockNumber__Q29IGameArea4DockCFi
/* 800C3CE0 000C0C40 80 01 00 2C */ lwz r0, 0x2c(r1)
/* 800C3CE4 000C0C44 7C 7D 1B 78 */ mr r29, r3
/* 800C3CE8 000C0C48 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3CEC 000C0C4C 54 03 18 38 */ slwi r3, r0, 3
/* 800C3CF0 000C0C50 90 01 00 08 */ stw r0, 8(r1)
/* 800C3CF4 000C0C54 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C3CF8 000C0C58 38 03 00 04 */ addi r0, r3, 4
/* 800C3CFC 000C0C5C 7C 64 00 2E */ lwzx r3, r4, r0
/* 800C3D00 000C0C60 80 63 01 2C */ lwz r3, 0x12c(r3)
/* 800C3D04 000C0C64 83 83 10 C0 */ lwz r28, 0x10c0(r3)
/* 800C3D08 000C0C68 AB 7C 20 08 */ lha r27, 0x2008(r28)
/* 800C3D0C 000C0C6C 48 00 00 64 */ b lbl_800C3D70
lbl_800C3D10:
/* 800C3D10 000C0C70 7F 83 E3 78 */ mr r3, r28
/* 800C3D14 000C0C74 7F 64 DB 78 */ mr r4, r27
/* 800C3D18 000C0C78 4B F4 BF FD */ bl __vc__11CObjectListFi
/* 800C3D1C 000C0C7C 7C 60 1B 78 */ mr r0, r3
/* 800C3D20 000C0C80 38 61 00 34 */ addi r3, r1, 0x34
/* 800C3D24 000C0C84 7C 04 03 78 */ mr r4, r0
/* 800C3D28 000C0C88 4B FE 66 DD */ bl "__ct__25TCastToPtr<11CScriptDock>FP7CEntity"
/* 800C3D2C 000C0C8C 80 63 00 04 */ lwz r3, 4(r3)
/* 800C3D30 000C0C90 28 03 00 00 */ cmplwi r3, 0
/* 800C3D34 000C0C94 41 82 00 20 */ beq lbl_800C3D54
/* 800C3D38 000C0C98 80 03 02 5C */ lwz r0, 0x25c(r3)
/* 800C3D3C 000C0C9C 7C 1D 00 00 */ cmpw r29, r0
/* 800C3D40 000C0CA0 40 82 00 14 */ bne lbl_800C3D54
/* 800C3D44 000C0CA4 7F E4 FB 78 */ mr r4, r31
/* 800C3D48 000C0CA8 38 A0 00 01 */ li r5, 1
/* 800C3D4C 000C0CAC 48 00 04 ED */ bl SetLoadConnected__11CScriptDockFR13CStateManagerb
/* 800C3D50 000C0CB0 48 00 00 28 */ b lbl_800C3D78
lbl_800C3D54:
/* 800C3D54 000C0CB4 2C 1B FF FF */ cmpwi r27, -1
/* 800C3D58 000C0CB8 41 82 00 14 */ beq lbl_800C3D6C
/* 800C3D5C 000C0CBC 57 63 18 38 */ slwi r3, r27, 3
/* 800C3D60 000C0CC0 38 03 00 08 */ addi r0, r3, 8
/* 800C3D64 000C0CC4 7F 7C 02 AE */ lhax r27, r28, r0
/* 800C3D68 000C0CC8 48 00 00 08 */ b lbl_800C3D70
lbl_800C3D6C:
/* 800C3D6C 000C0CCC 3B 60 FF FF */ li r27, -1
lbl_800C3D70:
/* 800C3D70 000C0CD0 2C 1B FF FF */ cmpwi r27, -1
/* 800C3D74 000C0CD4 40 82 FF 9C */ bne lbl_800C3D10
lbl_800C3D78:
/* 800C3D78 000C0CD8 38 00 00 00 */ li r0, 0
/* 800C3D7C 000C0CDC 90 1E 02 64 */ stw r0, 0x264(r30)
lbl_800C3D80:
/* 800C3D80 000C0CE0 BB 61 00 4C */ lmw r27, 0x4c(r1)
/* 800C3D84 000C0CE4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 800C3D88 000C0CE8 7C 08 03 A6 */ mtlr r0
/* 800C3D8C 000C0CEC 38 21 00 60 */ addi r1, r1, 0x60
/* 800C3D90 000C0CF0 4E 80 00 20 */ blr
.global AcceptScriptMsg__11CScriptDockF20EScriptObjectMessage9TUniqueIdR13CStateManager
AcceptScriptMsg__11CScriptDockF20EScriptObjectMessage9TUniqueIdR13CStateManager:
/* 800C3D94 000C0CF4 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800C3D98 000C0CF8 7C 08 02 A6 */ mflr r0
/* 800C3D9C 000C0CFC 90 01 00 74 */ stw r0, 0x74(r1)
/* 800C3DA0 000C0D00 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 800C3DA4 000C0D04 7C DF 33 78 */ mr r31, r6
/* 800C3DA8 000C0D08 93 C1 00 68 */ stw r30, 0x68(r1)
/* 800C3DAC 000C0D0C 7C 9E 23 78 */ mr r30, r4
/* 800C3DB0 000C0D10 38 1E FF FB */ addi r0, r30, -5
/* 800C3DB4 000C0D14 93 A1 00 64 */ stw r29, 0x64(r1)
/* 800C3DB8 000C0D18 28 00 00 1F */ cmplwi r0, 0x1f
/* 800C3DBC 000C0D1C 7C 7D 1B 78 */ mr r29, r3
/* 800C3DC0 000C0D20 93 81 00 60 */ stw r28, 0x60(r1)
/* 800C3DC4 000C0D24 41 81 02 DC */ bgt lbl_800C40A0
/* 800C3DC8 000C0D28 3C 80 80 3E */ lis r4, lbl_803DF604@ha
/* 800C3DCC 000C0D2C 54 00 10 3A */ slwi r0, r0, 2
/* 800C3DD0 000C0D30 38 84 F6 04 */ addi r4, r4, lbl_803DF604@l
/* 800C3DD4 000C0D34 7C 04 00 2E */ lwzx r0, r4, r0
/* 800C3DD8 000C0D38 7C 09 03 A6 */ mtctr r0
/* 800C3DDC 000C0D3C 4E 80 04 20 */ bctr
/* 800C3DE0 000C0D40 80 BD 02 60 */ lwz r5, 0x260(r29)
/* 800C3DE4 000C0D44 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3DE8 000C0D48 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3DEC 000C0D4C 80 DD 02 5C */ lwz r6, 0x25c(r29)
/* 800C3DF0 000C0D50 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C3DF4 000C0D54 38 03 00 04 */ addi r0, r3, 4
/* 800C3DF8 000C0D58 90 A1 00 2C */ stw r5, 0x2c(r1)
/* 800C3DFC 000C0D5C 7C 64 00 2E */ lwzx r3, r4, r0
/* 800C3E00 000C0D60 90 A1 00 30 */ stw r5, 0x30(r1)
/* 800C3E04 000C0D64 80 03 00 D0 */ lwz r0, 0xd0(r3)
/* 800C3E08 000C0D68 7C 00 30 00 */ cmpw r0, r6
/* 800C3E0C 000C0D6C 40 81 02 B0 */ ble lbl_800C40BC
/* 800C3E10 000C0D70 1C 06 00 4C */ mulli r0, r6, 0x4c
/* 800C3E14 000C0D74 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C3E18 000C0D78 7F C3 02 14 */ add r30, r3, r0
/* 800C3E1C 000C0D7C 7F C3 F3 78 */ mr r3, r30
/* 800C3E20 000C0D80 4B F9 B5 59 */ bl IsReferenced__Q29IGameArea4DockCFv
/* 800C3E24 000C0D84 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800C3E28 000C0D88 40 82 02 94 */ bne lbl_800C40BC
/* 800C3E2C 000C0D8C 80 9D 02 58 */ lwz r4, 0x258(r29)
/* 800C3E30 000C0D90 7F C3 F3 78 */ mr r3, r30
/* 800C3E34 000C0D94 4B F9 B5 2D */ bl SetReferenceCount__Q29IGameArea4DockFi
/* 800C3E38 000C0D98 48 00 02 84 */ b lbl_800C40BC
/* 800C3E3C 000C0D9C 7F E4 FB 78 */ mr r4, r31
/* 800C3E40 000C0DA0 48 00 03 CD */ bl nullsub_41
/* 800C3E44 000C0DA4 48 00 02 78 */ b lbl_800C40BC
/* 800C3E48 000C0DA8 7F E4 FB 78 */ mr r4, r31
/* 800C3E4C 000C0DAC 48 00 03 C5 */ bl AreaLoaded__11CScriptDockFR13CStateManager
/* 800C3E50 000C0DB0 48 00 02 6C */ b lbl_800C40BC
/* 800C3E54 000C0DB4 7F E4 FB 78 */ mr r4, r31
/* 800C3E58 000C0DB8 4B FF F9 45 */ bl UpdateAreaActivateFlags__11CScriptDockFR13CStateManager
/* 800C3E5C 000C0DBC 7F A3 EB 78 */ mr r3, r29
/* 800C3E60 000C0DC0 4B F8 FA 5D */ bl GetMaterialFilter__6CActorCFv
/* 800C3E64 000C0DC4 80 AD 86 D4 */ lwz r5, lbl_805A7294@sda21(r13)
/* 800C3E68 000C0DC8 7C 7E 1B 78 */ mr r30, r3
/* 800C3E6C 000C0DCC 38 60 00 00 */ li r3, 0
/* 800C3E70 000C0DD0 38 80 00 01 */ li r4, 1
/* 800C3E74 000C0DD4 48 2C 60 81 */ bl __shl2i
/* 800C3E78 000C0DD8 7C 7F 1B 78 */ mr r31, r3
/* 800C3E7C 000C0DDC 7C 9C 23 78 */ mr r28, r4
/* 800C3E80 000C0DE0 7F A3 EB 78 */ mr r3, r29
/* 800C3E84 000C0DE4 4B F8 FA 39 */ bl GetMaterialFilter__6CActorCFv
/* 800C3E88 000C0DE8 80 83 00 00 */ lwz r4, 0(r3)
/* 800C3E8C 000C0DEC 38 00 00 03 */ li r0, 3
/* 800C3E90 000C0DF0 80 C3 00 04 */ lwz r6, 4(r3)
/* 800C3E94 000C0DF4 7F A3 EB 78 */ mr r3, r29
/* 800C3E98 000C0DF8 7C 85 FB 78 */ or r5, r4, r31
/* 800C3E9C 000C0DFC 38 81 00 48 */ addi r4, r1, 0x48
/* 800C3EA0 000C0E00 7C C6 E3 78 */ or r6, r6, r28
/* 800C3EA4 000C0E04 90 A1 00 48 */ stw r5, 0x48(r1)
/* 800C3EA8 000C0E08 90 C1 00 4C */ stw r6, 0x4c(r1)
/* 800C3EAC 000C0E0C 80 BE 00 08 */ lwz r5, 8(r30)
/* 800C3EB0 000C0E10 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 800C3EB4 000C0E14 90 C1 00 54 */ stw r6, 0x54(r1)
/* 800C3EB8 000C0E18 90 A1 00 50 */ stw r5, 0x50(r1)
/* 800C3EBC 000C0E1C 90 01 00 58 */ stw r0, 0x58(r1)
/* 800C3EC0 000C0E20 4B F8 F9 E1 */ bl SetMaterialFilter__6CActorFRC15CMaterialFilter
/* 800C3EC4 000C0E24 48 00 01 F8 */ b lbl_800C40BC
/* 800C3EC8 000C0E28 80 9F 08 CC */ lwz r4, 0x8cc(r31)
/* 800C3ECC 000C0E2C 80 1D 02 60 */ lwz r0, 0x260(r29)
/* 800C3ED0 000C0E30 7C 04 00 00 */ cmpw r4, r0
/* 800C3ED4 000C0E34 40 82 01 E8 */ bne lbl_800C40BC
/* 800C3ED8 000C0E38 7F E4 FB 78 */ mr r4, r31
/* 800C3EDC 000C0E3C 38 A0 00 00 */ li r5, 0
/* 800C3EE0 000C0E40 48 00 03 59 */ bl SetLoadConnected__11CScriptDockFR13CStateManagerb
/* 800C3EE4 000C0E44 80 BD 02 60 */ lwz r5, 0x260(r29)
/* 800C3EE8 000C0E48 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3EEC 000C0E4C 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3EF0 000C0E50 80 1D 02 5C */ lwz r0, 0x25c(r29)
/* 800C3EF4 000C0E54 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C3EF8 000C0E58 38 63 00 04 */ addi r3, r3, 4
/* 800C3EFC 000C0E5C 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C3F00 000C0E60 90 A1 00 28 */ stw r5, 0x28(r1)
/* 800C3F04 000C0E64 7C 64 18 2E */ lwzx r3, r4, r3
/* 800C3F08 000C0E68 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C3F0C 000C0E6C 7F A3 02 14 */ add r29, r3, r0
/* 800C3F10 000C0E70 7F A3 EB 78 */ mr r3, r29
/* 800C3F14 000C0E74 4B F9 B4 5D */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C3F18 000C0E78 7C 65 1B 78 */ mr r5, r3
/* 800C3F1C 000C0E7C 7F A4 EB 78 */ mr r4, r29
/* 800C3F20 000C0E80 38 61 00 24 */ addi r3, r1, 0x24
/* 800C3F24 000C0E84 4B F9 B4 01 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C3F28 000C0E88 83 BF 08 48 */ lwz r29, 0x848(r31)
/* 800C3F2C 000C0E8C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C3F30 000C0E90 AB 9D 20 08 */ lha r28, 0x2008(r29)
/* 800C3F34 000C0E94 90 01 00 38 */ stw r0, 0x38(r1)
/* 800C3F38 000C0E98 48 00 00 70 */ b lbl_800C3FA8
lbl_800C3F3C:
/* 800C3F3C 000C0E9C 7F A3 EB 78 */ mr r3, r29
/* 800C3F40 000C0EA0 7F 84 E3 78 */ mr r4, r28
/* 800C3F44 000C0EA4 4B F4 BD D1 */ bl __vc__11CObjectListFi
/* 800C3F48 000C0EA8 7C 64 1B 78 */ mr r4, r3
/* 800C3F4C 000C0EAC 38 61 00 3C */ addi r3, r1, 0x3c
/* 800C3F50 000C0EB0 4B FE 61 A1 */ bl "__ct__25TCastToPtr<11CScriptDoor>FP7CEntity"
/* 800C3F54 000C0EB4 83 C3 00 04 */ lwz r30, 4(r3)
/* 800C3F58 000C0EB8 28 1E 00 00 */ cmplwi r30, 0
/* 800C3F5C 000C0EBC 41 82 00 30 */ beq lbl_800C3F8C
/* 800C3F60 000C0EC0 80 01 00 38 */ lwz r0, 0x38(r1)
/* 800C3F64 000C0EC4 7F C3 F3 78 */ mr r3, r30
/* 800C3F68 000C0EC8 7F E4 FB 78 */ mr r4, r31
/* 800C3F6C 000C0ECC 38 A1 00 20 */ addi r5, r1, 0x20
/* 800C3F70 000C0ED0 90 01 00 20 */ stw r0, 0x20(r1)
/* 800C3F74 000C0ED4 4B FB A2 51 */ bl IsConnectedToArea__11CScriptDoorCFRC13CStateManager7TAreaId
/* 800C3F78 000C0ED8 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 800C3F7C 000C0EDC 41 82 00 10 */ beq lbl_800C3F8C
/* 800C3F80 000C0EE0 7F C3 F3 78 */ mr r3, r30
/* 800C3F84 000C0EE4 7F E4 FB 78 */ mr r4, r31
/* 800C3F88 000C0EE8 4B FB A1 35 */ bl ForceClosed__11CScriptDoorFR13CStateManager
lbl_800C3F8C:
/* 800C3F8C 000C0EEC 2C 1C FF FF */ cmpwi r28, -1
/* 800C3F90 000C0EF0 41 82 00 14 */ beq lbl_800C3FA4
/* 800C3F94 000C0EF4 57 83 18 38 */ slwi r3, r28, 3
/* 800C3F98 000C0EF8 38 03 00 08 */ addi r0, r3, 8
/* 800C3F9C 000C0EFC 7F 9D 02 AE */ lhax r28, r29, r0
/* 800C3FA0 000C0F00 48 00 00 08 */ b lbl_800C3FA8
lbl_800C3FA4:
/* 800C3FA4 000C0F04 3B 80 FF FF */ li r28, -1
lbl_800C3FA8:
/* 800C3FA8 000C0F08 2C 1C FF FF */ cmpwi r28, -1
/* 800C3FAC 000C0F0C 40 82 FF 90 */ bne lbl_800C3F3C
/* 800C3FB0 000C0F10 48 00 01 0C */ b lbl_800C40BC
/* 800C3FB4 000C0F14 80 9F 08 CC */ lwz r4, 0x8cc(r31)
/* 800C3FB8 000C0F18 80 1D 02 60 */ lwz r0, 0x260(r29)
/* 800C3FBC 000C0F1C 7C 04 00 00 */ cmpw r4, r0
/* 800C3FC0 000C0F20 40 82 00 FC */ bne lbl_800C40BC
/* 800C3FC4 000C0F24 7F E4 FB 78 */ mr r4, r31
/* 800C3FC8 000C0F28 38 A0 00 01 */ li r5, 1
/* 800C3FCC 000C0F2C 48 00 02 6D */ bl SetLoadConnected__11CScriptDockFR13CStateManagerb
/* 800C3FD0 000C0F30 48 00 00 EC */ b lbl_800C40BC
/* 800C3FD4 000C0F34 7F E4 FB 78 */ mr r4, r31
/* 800C3FD8 000C0F38 38 A0 00 01 */ li r5, 1
/* 800C3FDC 000C0F3C 48 00 02 5D */ bl SetLoadConnected__11CScriptDockFR13CStateManagerb
/* 800C3FE0 000C0F40 80 1D 02 60 */ lwz r0, 0x260(r29)
/* 800C3FE4 000C0F44 80 BF 08 CC */ lwz r5, 0x8cc(r31)
/* 800C3FE8 000C0F48 90 01 00 34 */ stw r0, 0x34(r1)
/* 800C3FEC 000C0F4C 7C 05 00 00 */ cmpw r5, r0
/* 800C3FF0 000C0F50 40 82 00 50 */ bne lbl_800C4040
/* 800C3FF4 000C0F54 80 9F 08 50 */ lwz r4, 0x850(r31)
/* 800C3FF8 000C0F58 54 A3 18 38 */ slwi r3, r5, 3
/* 800C3FFC 000C0F5C 80 1D 02 5C */ lwz r0, 0x25c(r29)
/* 800C4000 000C0F60 38 63 00 04 */ addi r3, r3, 4
/* 800C4004 000C0F64 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C4008 000C0F68 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C400C 000C0F6C 90 A1 00 18 */ stw r5, 0x18(r1)
/* 800C4010 000C0F70 7C 64 18 2E */ lwzx r3, r4, r3
/* 800C4014 000C0F74 90 A1 00 1C */ stw r5, 0x1c(r1)
/* 800C4018 000C0F78 80 63 00 D8 */ lwz r3, 0xd8(r3)
/* 800C401C 000C0F7C 7F A3 02 14 */ add r29, r3, r0
/* 800C4020 000C0F80 7F A3 EB 78 */ mr r3, r29
/* 800C4024 000C0F84 4B F9 B3 4D */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C4028 000C0F88 7C 65 1B 78 */ mr r5, r3
/* 800C402C 000C0F8C 7F A4 EB 78 */ mr r4, r29
/* 800C4030 000C0F90 38 61 00 14 */ addi r3, r1, 0x14
/* 800C4034 000C0F94 4B F9 B2 F1 */ bl GetConnectedAreaId__Q29IGameArea4DockCFi
/* 800C4038 000C0F98 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C403C 000C0F9C 90 01 00 34 */ stw r0, 0x34(r1)
lbl_800C4040:
/* 800C4040 000C0FA0 80 61 00 34 */ lwz r3, 0x34(r1)
/* 800C4044 000C0FA4 2C 03 00 00 */ cmpwi r3, 0
/* 800C4048 000C0FA8 41 80 00 74 */ blt lbl_800C40BC
/* 800C404C 000C0FAC 80 BF 08 50 */ lwz r5, 0x850(r31)
/* 800C4050 000C0FB0 80 05 00 18 */ lwz r0, 0x18(r5)
/* 800C4054 000C0FB4 7C 00 18 00 */ cmpw r0, r3
/* 800C4058 000C0FB8 40 81 00 64 */ ble lbl_800C40BC
/* 800C405C 000C0FBC 80 C1 00 34 */ lwz r6, 0x34(r1)
/* 800C4060 000C0FC0 80 E5 00 20 */ lwz r7, 0x20(r5)
/* 800C4064 000C0FC4 54 C3 18 38 */ slwi r3, r6, 3
/* 800C4068 000C0FC8 90 C1 00 10 */ stw r6, 0x10(r1)
/* 800C406C 000C0FCC 38 83 00 04 */ addi r4, r3, 4
/* 800C4070 000C0FD0 7C 67 20 2E */ lwzx r3, r7, r4
/* 800C4074 000C0FD4 88 03 00 F0 */ lbz r0, 0xf0(r3)
/* 800C4078 000C0FD8 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C407C 000C0FDC 40 82 00 08 */ bne lbl_800C4084
/* 800C4080 000C0FE0 48 00 00 3C */ b lbl_800C40BC
lbl_800C4084:
/* 800C4084 000C0FE4 20 1E 00 07 */ subfic r0, r30, 7
/* 800C4088 000C0FE8 7C 87 20 2E */ lwzx r4, r7, r4
/* 800C408C 000C0FEC 7C 00 00 34 */ cntlzw r0, r0
/* 800C4090 000C0FF0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 800C4094 000C0FF4 54 03 D9 7E */ srwi r3, r0, 5
/* 800C4098 000C0FF8 48 00 00 45 */ bl PropogateAreaChain__6CWorldFQ29CGameArea15EOcclusionStateP9CGameAreaP6CWorld
/* 800C409C 000C0FFC 48 00 00 20 */ b lbl_800C40BC
lbl_800C40A0:
/* 800C40A0 000C1000 A0 05 00 00 */ lhz r0, 0(r5)
/* 800C40A4 000C1004 7F A3 EB 78 */ mr r3, r29
/* 800C40A8 000C1008 7F C4 F3 78 */ mr r4, r30
/* 800C40AC 000C100C 7F E6 FB 78 */ mr r6, r31
/* 800C40B0 000C1010 B0 01 00 08 */ sth r0, 8(r1)
/* 800C40B4 000C1014 38 A1 00 08 */ addi r5, r1, 8
/* 800C40B8 000C1018 4B F8 F5 5D */ bl AcceptScriptMsg__6CActorF20EScriptObjectMessage9TUniqueIdR13CStateManager
lbl_800C40BC:
/* 800C40BC 000C101C 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800C40C0 000C1020 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 800C40C4 000C1024 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 800C40C8 000C1028 83 A1 00 64 */ lwz r29, 0x64(r1)
/* 800C40CC 000C102C 83 81 00 60 */ lwz r28, 0x60(r1)
/* 800C40D0 000C1030 7C 08 03 A6 */ mtlr r0
/* 800C40D4 000C1034 38 21 00 70 */ addi r1, r1, 0x70
/* 800C40D8 000C1038 4E 80 00 20 */ blr
.global PropogateAreaChain__6CWorldFQ29CGameArea15EOcclusionStateP9CGameAreaP6CWorld
PropogateAreaChain__6CWorldFQ29CGameArea15EOcclusionStateP9CGameAreaP6CWorld:
/* 800C40DC 000C103C 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C40E0 000C1040 7C 08 02 A6 */ mflr r0
/* 800C40E4 000C1044 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C40E8 000C1048 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C40EC 000C104C 7C 9F 23 78 */ mr r31, r4
/* 800C40F0 000C1050 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800C40F4 000C1054 7C 7E 1B 78 */ mr r30, r3
/* 800C40F8 000C1058 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800C40FC 000C105C 93 81 00 10 */ stw r28, 0x10(r1)
/* 800C4100 000C1060 7C BC 2B 78 */ mr r28, r5
/* 800C4104 000C1064 88 04 00 F0 */ lbz r0, 0xf0(r4)
/* 800C4108 000C1068 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C410C 000C106C 41 82 00 E0 */ beq lbl_800C41EC
/* 800C4110 000C1070 41 82 00 10 */ beq lbl_800C4120
/* 800C4114 000C1074 80 7F 01 2C */ lwz r3, 0x12c(r31)
/* 800C4118 000C1078 80 03 10 DC */ lwz r0, 0x10dc(r3)
/* 800C411C 000C107C 48 00 00 08 */ b lbl_800C4124
lbl_800C4120:
/* 800C4120 000C1080 38 00 00 00 */ li r0, 0
lbl_800C4124:
/* 800C4124 000C1084 7C 1E 00 00 */ cmpw r30, r0
/* 800C4128 000C1088 41 82 00 C4 */ beq lbl_800C41EC
/* 800C412C 000C108C 2C 1E 00 01 */ cmpwi r30, 1
/* 800C4130 000C1090 40 82 00 10 */ bne lbl_800C4140
/* 800C4134 000C1094 7F E3 FB 78 */ mr r3, r31
/* 800C4138 000C1098 38 80 00 01 */ li r4, 1
/* 800C413C 000C109C 4B F9 B5 ED */ bl SetOcclusionState__9CGameAreaFQ29CGameArea15EOcclusionState
lbl_800C4140:
/* 800C4140 000C10A0 83 BC 00 58 */ lwz r29, 0x58(r28)
/* 800C4144 000C10A4 48 00 00 3C */ b lbl_800C4180
lbl_800C4148:
/* 800C4148 000C10A8 7C 1D F8 40 */ cmplw r29, r31
/* 800C414C 000C10AC 41 82 00 30 */ beq lbl_800C417C
/* 800C4150 000C10B0 88 1D 00 F0 */ lbz r0, 0xf0(r29)
/* 800C4154 000C10B4 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C4158 000C10B8 41 82 00 10 */ beq lbl_800C4168
/* 800C415C 000C10BC 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 800C4160 000C10C0 80 03 10 DC */ lwz r0, 0x10dc(r3)
/* 800C4164 000C10C4 48 00 00 08 */ b lbl_800C416C
lbl_800C4168:
/* 800C4168 000C10C8 38 00 00 00 */ li r0, 0
lbl_800C416C:
/* 800C416C 000C10CC 2C 00 00 01 */ cmpwi r0, 1
/* 800C4170 000C10D0 40 82 00 0C */ bne lbl_800C417C
/* 800C4174 000C10D4 7F A3 EB 78 */ mr r3, r29
/* 800C4178 000C10D8 4B F9 B3 89 */ bl OtherAreaOcclusionChanged__9CGameAreaFv
lbl_800C417C:
/* 800C417C 000C10DC 83 BD 01 30 */ lwz r29, 0x130(r29)
lbl_800C4180:
/* 800C4180 000C10E0 80 0D A2 1C */ lwz r0, lbl_805A8DDC@sda21(r13)
/* 800C4184 000C10E4 7C 00 E8 40 */ cmplw r0, r29
/* 800C4188 000C10E8 40 82 FF C0 */ bne lbl_800C4148
/* 800C418C 000C10EC 83 BC 00 58 */ lwz r29, 0x58(r28)
/* 800C4190 000C10F0 48 00 00 3C */ b lbl_800C41CC
lbl_800C4194:
/* 800C4194 000C10F4 7C 1D F8 40 */ cmplw r29, r31
/* 800C4198 000C10F8 41 82 00 30 */ beq lbl_800C41C8
/* 800C419C 000C10FC 88 1D 00 F0 */ lbz r0, 0xf0(r29)
/* 800C41A0 000C1100 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 800C41A4 000C1104 41 82 00 10 */ beq lbl_800C41B4
/* 800C41A8 000C1108 80 7D 01 2C */ lwz r3, 0x12c(r29)
/* 800C41AC 000C110C 80 03 10 DC */ lwz r0, 0x10dc(r3)
/* 800C41B0 000C1110 48 00 00 08 */ b lbl_800C41B8
lbl_800C41B4:
/* 800C41B4 000C1114 38 00 00 00 */ li r0, 0
lbl_800C41B8:
/* 800C41B8 000C1118 2C 00 00 00 */ cmpwi r0, 0
/* 800C41BC 000C111C 40 82 00 0C */ bne lbl_800C41C8
/* 800C41C0 000C1120 7F A3 EB 78 */ mr r3, r29
/* 800C41C4 000C1124 4B F9 B3 3D */ bl OtherAreaOcclusionChanged__9CGameAreaFv
lbl_800C41C8:
/* 800C41C8 000C1128 83 BD 01 30 */ lwz r29, 0x130(r29)
lbl_800C41CC:
/* 800C41CC 000C112C 80 0D A2 1C */ lwz r0, lbl_805A8DDC@sda21(r13)
/* 800C41D0 000C1130 7C 00 E8 40 */ cmplw r0, r29
/* 800C41D4 000C1134 40 82 FF C0 */ bne lbl_800C4194
/* 800C41D8 000C1138 2C 1E 00 00 */ cmpwi r30, 0
/* 800C41DC 000C113C 40 82 00 10 */ bne lbl_800C41EC
/* 800C41E0 000C1140 7F E3 FB 78 */ mr r3, r31
/* 800C41E4 000C1144 38 80 00 00 */ li r4, 0
/* 800C41E8 000C1148 4B F9 B5 41 */ bl SetOcclusionState__9CGameAreaFQ29CGameArea15EOcclusionState
lbl_800C41EC:
/* 800C41EC 000C114C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C41F0 000C1150 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C41F4 000C1154 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800C41F8 000C1158 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800C41FC 000C115C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800C4200 000C1160 7C 08 03 A6 */ mtlr r0
/* 800C4204 000C1164 38 21 00 20 */ addi r1, r1, 0x20
/* 800C4208 000C1168 4E 80 00 20 */ blr
.global nullsub_41
nullsub_41:
/* 800C420C 000C116C 4E 80 00 20 */ blr
.global AreaLoaded__11CScriptDockFR13CStateManager
AreaLoaded__11CScriptDockFR13CStateManager:
/* 800C4210 000C1170 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C4214 000C1174 7C 08 02 A6 */ mflr r0
/* 800C4218 000C1178 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C421C 000C117C 88 03 02 68 */ lbz r0, 0x268(r3)
/* 800C4220 000C1180 54 05 D7 FE */ rlwinm r5, r0, 0x1a, 0x1f, 0x1f
/* 800C4224 000C1184 48 00 00 15 */ bl SetLoadConnected__11CScriptDockFR13CStateManagerb
/* 800C4228 000C1188 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C422C 000C118C 7C 08 03 A6 */ mtlr r0
/* 800C4230 000C1190 38 21 00 10 */ addi r1, r1, 0x10
/* 800C4234 000C1194 4E 80 00 20 */ blr
.global SetLoadConnected__11CScriptDockFR13CStateManagerb
SetLoadConnected__11CScriptDockFR13CStateManagerb:
/* 800C4238 000C1198 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C423C 000C119C 7C 08 02 A6 */ mflr r0
/* 800C4240 000C11A0 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C4244 000C11A4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C4248 000C11A8 7C BF 2B 78 */ mr r31, r5
/* 800C424C 000C11AC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 800C4250 000C11B0 93 A1 00 14 */ stw r29, 0x14(r1)
/* 800C4254 000C11B4 93 81 00 10 */ stw r28, 0x10(r1)
/* 800C4258 000C11B8 7C 7C 1B 78 */ mr r28, r3
/* 800C425C 000C11BC 80 84 08 50 */ lwz r4, 0x850(r4)
/* 800C4260 000C11C0 80 C3 02 60 */ lwz r6, 0x260(r3)
/* 800C4264 000C11C4 80 03 02 5C */ lwz r0, 0x25c(r3)
/* 800C4268 000C11C8 54 C3 18 38 */ slwi r3, r6, 3
/* 800C426C 000C11CC 80 84 00 20 */ lwz r4, 0x20(r4)
/* 800C4270 000C11D0 38 63 00 04 */ addi r3, r3, 4
/* 800C4274 000C11D4 90 C1 00 08 */ stw r6, 8(r1)
/* 800C4278 000C11D8 7F C4 18 2E */ lwzx r30, r4, r3
/* 800C427C 000C11DC 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C4280 000C11E0 80 7E 00 D8 */ lwz r3, 0xd8(r30)
/* 800C4284 000C11E4 7F A3 02 14 */ add r29, r3, r0
/* 800C4288 000C11E8 7F A3 EB 78 */ mr r3, r29
/* 800C428C 000C11EC 4B F9 B0 E5 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C4290 000C11F0 7C 64 1B 78 */ mr r4, r3
/* 800C4294 000C11F4 7F A3 EB 78 */ mr r3, r29
/* 800C4298 000C11F8 4B F9 AF B9 */ bl GetShouldLoadOther__Q29IGameArea4DockCFi
/* 800C429C 000C11FC 57 E4 06 3E */ clrlwi r4, r31, 0x18
/* 800C42A0 000C1200 54 60 06 3E */ clrlwi r0, r3, 0x18
/* 800C42A4 000C1204 7C 04 00 40 */ cmplw r4, r0
/* 800C42A8 000C1208 41 82 00 2C */ beq lbl_800C42D4
/* 800C42AC 000C120C 80 1C 02 5C */ lwz r0, 0x25c(r28)
/* 800C42B0 000C1210 7F A3 EB 78 */ mr r3, r29
/* 800C42B4 000C1214 80 9E 00 D8 */ lwz r4, 0xd8(r30)
/* 800C42B8 000C1218 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 800C42BC 000C121C 7F A4 02 14 */ add r29, r4, r0
/* 800C42C0 000C1220 4B F9 B0 B1 */ bl GetReferenceCount__Q29IGameArea4DockCFv
/* 800C42C4 000C1224 7C 64 1B 78 */ mr r4, r3
/* 800C42C8 000C1228 7F A3 EB 78 */ mr r3, r29
/* 800C42CC 000C122C 7F E5 FB 78 */ mr r5, r31
/* 800C42D0 000C1230 4B F9 AF C1 */ bl SetShouldLoadOther__Q29IGameArea4DockFib
lbl_800C42D4:
/* 800C42D4 000C1234 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C42D8 000C1238 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C42DC 000C123C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 800C42E0 000C1240 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 800C42E4 000C1244 83 81 00 10 */ lwz r28, 0x10(r1)
/* 800C42E8 000C1248 7C 08 03 A6 */ mtlr r0
/* 800C42EC 000C124C 38 21 00 20 */ addi r1, r1, 0x20
/* 800C42F0 000C1250 4E 80 00 20 */ blr
.global GetTouchBounds__11CScriptDockCFv
GetTouchBounds__11CScriptDockCFv:
/* 800C42F4 000C1254 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800C42F8 000C1258 7C 08 02 A6 */ mflr r0
/* 800C42FC 000C125C 90 01 00 34 */ stw r0, 0x34(r1)
/* 800C4300 000C1260 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800C4304 000C1264 7C 7F 1B 78 */ mr r31, r3
/* 800C4308 000C1268 80 04 02 64 */ lwz r0, 0x264(r4)
/* 800C430C 000C126C 2C 00 00 03 */ cmpwi r0, 3
/* 800C4310 000C1270 40 82 00 10 */ bne lbl_800C4320
/* 800C4314 000C1274 38 00 00 00 */ li r0, 0
/* 800C4318 000C1278 98 1F 00 18 */ stb r0, 0x18(r31)
/* 800C431C 000C127C 48 00 00 4C */ b lbl_800C4368
lbl_800C4320:
/* 800C4320 000C1280 38 61 00 08 */ addi r3, r1, 8
/* 800C4324 000C1284 48 05 66 09 */ bl GetBoundingBox__13CPhysicsActorCFv
/* 800C4328 000C1288 38 00 00 01 */ li r0, 1
/* 800C432C 000C128C 28 1F 00 00 */ cmplwi r31, 0
/* 800C4330 000C1290 98 1F 00 18 */ stb r0, 0x18(r31)
/* 800C4334 000C1294 41 82 00 34 */ beq lbl_800C4368
/* 800C4338 000C1298 C0 01 00 08 */ lfs f0, 8(r1)
/* 800C433C 000C129C D0 1F 00 00 */ stfs f0, 0(r31)
/* 800C4340 000C12A0 C0 01 00 0C */ lfs f0, 0xc(r1)
/* 800C4344 000C12A4 D0 1F 00 04 */ stfs f0, 4(r31)
/* 800C4348 000C12A8 C0 01 00 10 */ lfs f0, 0x10(r1)
/* 800C434C 000C12AC D0 1F 00 08 */ stfs f0, 8(r31)
/* 800C4350 000C12B0 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 800C4354 000C12B4 D0 1F 00 0C */ stfs f0, 0xc(r31)
/* 800C4358 000C12B8 C0 01 00 18 */ lfs f0, 0x18(r1)
/* 800C435C 000C12BC D0 1F 00 10 */ stfs f0, 0x10(r31)
/* 800C4360 000C12C0 C0 01 00 1C */ lfs f0, 0x1c(r1)
/* 800C4364 000C12C4 D0 1F 00 14 */ stfs f0, 0x14(r31)
lbl_800C4368:
/* 800C4368 000C12C8 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800C436C 000C12CC 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800C4370 000C12D0 7C 08 03 A6 */ mtlr r0
/* 800C4374 000C12D4 38 21 00 30 */ addi r1, r1, 0x30
/* 800C4378 000C12D8 4E 80 00 20 */ blr
.global Touch__11CScriptDockFR6CActorR13CStateManager
Touch__11CScriptDockFR6CActorR13CStateManager:
/* 800C437C 000C12DC 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800C4380 000C12E0 7C 08 02 A6 */ mflr r0
/* 800C4384 000C12E4 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C4388 000C12E8 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 800C438C 000C12EC 7C 7F 1B 78 */ mr r31, r3
/* 800C4390 000C12F0 80 03 02 64 */ lwz r0, 0x264(r3)
/* 800C4394 000C12F4 2C 00 00 03 */ cmpwi r0, 3
/* 800C4398 000C12F8 41 82 00 20 */ beq lbl_800C43B8
/* 800C439C 000C12FC 38 61 00 08 */ addi r3, r1, 8
/* 800C43A0 000C1300 4B FE 80 61 */ bl "__ct__20TCastToPtr<7CPlayer>FR7CEntity"
/* 800C43A4 000C1304 80 03 00 04 */ lwz r0, 4(r3)
/* 800C43A8 000C1308 28 00 00 00 */ cmplwi r0, 0
/* 800C43AC 000C130C 41 82 00 0C */ beq lbl_800C43B8
/* 800C43B0 000C1310 38 00 00 01 */ li r0, 1
/* 800C43B4 000C1314 90 1F 02 64 */ stw r0, 0x264(r31)
lbl_800C43B8:
/* 800C43B8 000C1318 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800C43BC 000C131C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 800C43C0 000C1320 7C 08 03 A6 */ mtlr r0
/* 800C43C4 000C1324 38 21 00 20 */ addi r1, r1, 0x20
/* 800C43C8 000C1328 4E 80 00 20 */ blr
.global __dt__11CScriptDockFv
__dt__11CScriptDockFv:
/* 800C43CC 000C132C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800C43D0 000C1330 7C 08 02 A6 */ mflr r0
/* 800C43D4 000C1334 90 01 00 14 */ stw r0, 0x14(r1)
/* 800C43D8 000C1338 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800C43DC 000C133C 7C 9F 23 78 */ mr r31, r4
/* 800C43E0 000C1340 93 C1 00 08 */ stw r30, 8(r1)
/* 800C43E4 000C1344 7C 7E 1B 79 */ or. r30, r3, r3
/* 800C43E8 000C1348 41 82 00 28 */ beq lbl_800C4410
/* 800C43EC 000C134C 3C A0 80 3E */ lis r5, lbl_803DF580@ha
/* 800C43F0 000C1350 38 80 00 00 */ li r4, 0
/* 800C43F4 000C1354 38 05 F5 80 */ addi r0, r5, lbl_803DF580@l
/* 800C43F8 000C1358 90 1E 00 00 */ stw r0, 0(r30)
/* 800C43FC 000C135C 48 05 80 19 */ bl __dt__13CPhysicsActorFv
/* 800C4400 000C1360 7F E0 07 35 */ extsh. r0, r31
/* 800C4404 000C1364 40 81 00 0C */ ble lbl_800C4410
/* 800C4408 000C1368 7F C3 F3 78 */ mr r3, r30
/* 800C440C 000C136C 48 25 15 25 */ bl Free__7CMemoryFPCv
lbl_800C4410:
/* 800C4410 000C1370 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800C4414 000C1374 7F C3 F3 78 */ mr r3, r30
/* 800C4418 000C1378 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800C441C 000C137C 83 C1 00 08 */ lwz r30, 8(r1)
/* 800C4420 000C1380 7C 08 03 A6 */ mtlr r0
/* 800C4424 000C1384 38 21 00 10 */ addi r1, r1, 0x10
/* 800C4428 000C1388 4E 80 00 20 */ blr
.global "__ct__11CScriptDockF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC9CVector3fRC9CVector3fi7TAreaIdbib"
"__ct__11CScriptDockF9TUniqueIdRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC9CVector3fRC9CVector3fi7TAreaIdbib":
/* 800C442C 000C138C 94 21 FE 60 */ stwu r1, -0x1a0(r1)
/* 800C4430 000C1390 7C 08 02 A6 */ mflr r0
/* 800C4434 000C1394 90 01 01 A4 */ stw r0, 0x1a4(r1)
/* 800C4438 000C1398 BE 81 01 70 */ stmw r20, 0x170(r1)
/* 800C443C 000C139C 7C 76 1B 78 */ mr r22, r3
/* 800C4440 000C13A0 8B A1 01 AB */ lbz r29, 0x1ab(r1)
/* 800C4444 000C13A4 7C 97 23 78 */ mr r23, r4
/* 800C4448 000C13A8 83 C1 01 AC */ lwz r30, 0x1ac(r1)
/* 800C444C 000C13AC 7C B8 2B 78 */ mr r24, r5
/* 800C4450 000C13B0 8B E1 01 B3 */ lbz r31, 0x1b3(r1)
/* 800C4454 000C13B4 7C D9 33 78 */ mr r25, r6
/* 800C4458 000C13B8 7C FA 3B 78 */ mr r26, r7
/* 800C445C 000C13BC 7D 14 43 78 */ mr r20, r8
/* 800C4460 000C13C0 7D 3B 4B 78 */ mr r27, r9
/* 800C4464 000C13C4 7D 5C 53 78 */ mr r28, r10
/* 800C4468 000C13C8 38 61 01 24 */ addi r3, r1, 0x124
/* 800C446C 000C13CC 4B F7 63 39 */ bl CModelDataNull__10CModelDataFv
/* 800C4470 000C13D0 38 61 00 BC */ addi r3, r1, 0xbc
/* 800C4474 000C13D4 4B F5 69 C5 */ bl None__16CActorParametersFv
/* 800C4478 000C13D8 4B F5 70 BD */ bl Identity__10CAxisAngleFv
/* 800C447C 000C13DC 7C 75 1B 78 */ mr r21, r3
/* 800C4480 000C13E0 4B F5 70 B5 */ bl Identity__10CAxisAngleFv
/* 800C4484 000C13E4 3C 80 80 5A */ lis r4, skZero3f@ha
/* 800C4488 000C13E8 C5 04 66 A0 */ lfsu f8, skZero3f@l(r4)
/* 800C448C 000C13EC C0 42 8E 14 */ lfs f2, lbl_805AAB34@sda21(r2)
/* 800C4490 000C13F0 38 00 00 00 */ li r0, 0
/* 800C4494 000C13F4 C1 24 00 04 */ lfs f9, 4(r4)
/* 800C4498 000C13F8 C1 44 00 08 */ lfs f10, 8(r4)
/* 800C449C 000C13FC 38 80 00 01 */ li r4, 1
/* 800C44A0 000C1400 D1 01 00 58 */ stfs f8, 0x58(r1)
/* 800C44A4 000C1404 C0 14 00 08 */ lfs f0, 8(r20)
/* 800C44A8 000C1408 D1 21 00 5C */ stfs f9, 0x5c(r1)
/* 800C44AC 000C140C EC E2 00 32 */ fmuls f7, f2, f0
/* 800C44B0 000C1410 C0 34 00 04 */ lfs f1, 4(r20)
/* 800C44B4 000C1414 D1 41 00 60 */ stfs f10, 0x60(r1)
/* 800C44B8 000C1418 EC C2 00 72 */ fmuls f6, f2, f1
/* 800C44BC 000C141C C0 14 00 00 */ lfs f0, 0(r20)
/* 800C44C0 000C1420 C0 63 00 00 */ lfs f3, 0(r3)
/* 800C44C4 000C1424 EC 22 00 32 */ fmuls f1, f2, f0
/* 800C44C8 000C1428 C0 42 8E 10 */ lfs f2, lbl_805AAB30@sda21(r2)
/* 800C44CC 000C142C D0 61 00 64 */ stfs f3, 0x64(r1)
/* 800C44D0 000C1430 FC A0 38 50 */ fneg f5, f7
/* 800C44D4 000C1434 80 AD 86 C8 */ lwz r5, lbl_805A7288@sda21(r13)
/* 800C44D8 000C1438 C0 63 00 04 */ lfs f3, 4(r3)
/* 800C44DC 000C143C FC 80 30 50 */ fneg f4, f6
/* 800C44E0 000C1440 D0 61 00 68 */ stfs f3, 0x68(r1)
/* 800C44E4 000C1444 FC 00 08 50 */ fneg f0, f1
/* 800C44E8 000C1448 C0 63 00 08 */ lfs f3, 8(r3)
/* 800C44EC 000C144C 38 60 00 00 */ li r3, 0
/* 800C44F0 000C1450 D0 61 00 6C */ stfs f3, 0x6c(r1)
/* 800C44F4 000C1454 D1 01 00 70 */ stfs f8, 0x70(r1)
/* 800C44F8 000C1458 D1 21 00 74 */ stfs f9, 0x74(r1)
/* 800C44FC 000C145C D1 41 00 78 */ stfs f10, 0x78(r1)
/* 800C4500 000C1460 C0 75 00 00 */ lfs f3, 0(r21)
/* 800C4504 000C1464 D0 61 00 7C */ stfs f3, 0x7c(r1)
/* 800C4508 000C1468 C0 75 00 04 */ lfs f3, 4(r21)
/* 800C450C 000C146C D0 61 00 80 */ stfs f3, 0x80(r1)
/* 800C4510 000C1470 C0 75 00 08 */ lfs f3, 8(r21)
/* 800C4514 000C1474 D0 61 00 84 */ stfs f3, 0x84(r1)
/* 800C4518 000C1478 D0 41 00 88 */ stfs f2, 0x88(r1)
/* 800C451C 000C147C D0 21 00 28 */ stfs f1, 0x28(r1)
/* 800C4520 000C1480 D0 C1 00 2C */ stfs f6, 0x2c(r1)
/* 800C4524 000C1484 D0 E1 00 30 */ stfs f7, 0x30(r1)
/* 800C4528 000C1488 D0 01 00 34 */ stfs f0, 0x34(r1)
/* 800C452C 000C148C D0 81 00 38 */ stfs f4, 0x38(r1)
/* 800C4530 000C1490 D0 A1 00 3C */ stfs f5, 0x3c(r1)
/* 800C4534 000C1494 90 01 00 24 */ stw r0, 0x24(r1)
/* 800C4538 000C1498 90 01 00 20 */ stw r0, 0x20(r1)
/* 800C453C 000C149C 48 2C 59 B9 */ bl __shl2i
/* 800C4540 000C14A0 80 01 00 20 */ lwz r0, 0x20(r1)
/* 800C4544 000C14A4 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 800C4548 000C14A8 7C 00 1B 78 */ or r0, r0, r3
/* 800C454C 000C14AC 80 AD 86 CC */ lwz r5, lbl_805A728C@sda21(r13)
/* 800C4550 000C14B0 7C C4 23 78 */ or r4, r6, r4
/* 800C4554 000C14B4 90 01 00 20 */ stw r0, 0x20(r1)
/* 800C4558 000C14B8 38 60 00 00 */ li r3, 0
/* 800C455C 000C14BC 90 81 00 24 */ stw r4, 0x24(r1)
/* 800C4560 000C14C0 38 80 00 01 */ li r4, 1
/* 800C4564 000C14C4 48 2C 59 91 */ bl __shl2i
/* 800C4568 000C14C8 80 01 00 20 */ lwz r0, 0x20(r1)
/* 800C456C 000C14CC 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 800C4570 000C14D0 7C 00 1B 78 */ or r0, r0, r3
/* 800C4574 000C14D4 80 AD 86 D0 */ lwz r5, lbl_805A7290@sda21(r13)
/* 800C4578 000C14D8 7C C4 23 78 */ or r4, r6, r4
/* 800C457C 000C14DC 90 01 00 20 */ stw r0, 0x20(r1)
/* 800C4580 000C14E0 38 60 00 00 */ li r3, 0
/* 800C4584 000C14E4 90 81 00 24 */ stw r4, 0x24(r1)
/* 800C4588 000C14E8 38 80 00 01 */ li r4, 1
/* 800C458C 000C14EC 48 2C 59 69 */ bl __shl2i
/* 800C4590 000C14F0 80 01 00 20 */ lwz r0, 0x20(r1)
/* 800C4594 000C14F4 38 A1 00 28 */ addi r5, r1, 0x28
/* 800C4598 000C14F8 80 C1 00 24 */ lwz r6, 0x24(r1)
/* 800C459C 000C14FC 7C 03 1B 78 */ or r3, r0, r3
/* 800C45A0 000C1500 A0 17 00 00 */ lhz r0, 0(r23)
/* 800C45A4 000C1504 7C C6 23 78 */ or r6, r6, r4
/* 800C45A8 000C1508 90 61 00 20 */ stw r3, 0x20(r1)
/* 800C45AC 000C150C 38 61 00 40 */ addi r3, r1, 0x40
/* 800C45B0 000C1510 38 81 00 34 */ addi r4, r1, 0x34
/* 800C45B4 000C1514 90 C1 00 24 */ stw r6, 0x24(r1)
/* 800C45B8 000C1518 B0 01 00 18 */ sth r0, 0x18(r1)
/* 800C45BC 000C151C 48 27 3F 4D */ bl __ct__6CAABoxFRC9CVector3fRC9CVector3f
/* 800C45C0 000C1520 7C 77 1B 78 */ mr r23, r3
/* 800C45C4 000C1524 7F 44 D3 78 */ mr r4, r26
/* 800C45C8 000C1528 38 61 00 8C */ addi r3, r1, 0x8c
/* 800C45CC 000C152C 48 24 EB 75 */ bl Translate__12CTransform4fFRC9CVector3f
/* 800C45D0 000C1530 92 E1 00 08 */ stw r23, 8(r1)
/* 800C45D4 000C1534 38 61 00 58 */ addi r3, r1, 0x58
/* 800C45D8 000C1538 38 01 00 BC */ addi r0, r1, 0xbc
/* 800C45DC 000C153C C0 22 8E 18 */ lfs f1, lbl_805AAB38@sda21(r2)
/* 800C45E0 000C1540 90 61 00 0C */ stw r3, 0xc(r1)
/* 800C45E4 000C1544 7E C3 B3 78 */ mr r3, r22
/* 800C45E8 000C1548 C0 42 8E 1C */ lfs f2, lbl_805AAB3C@sda21(r2)
/* 800C45EC 000C154C 7F A5 EB 78 */ mr r5, r29
/* 800C45F0 000C1550 90 01 00 10 */ stw r0, 0x10(r1)
/* 800C45F4 000C1554 7F 06 C3 78 */ mr r6, r24
/* 800C45F8 000C1558 7F 27 CB 78 */ mr r7, r25
/* 800C45FC 000C155C 38 81 00 18 */ addi r4, r1, 0x18
/* 800C4600 000C1560 39 01 00 8C */ addi r8, r1, 0x8c
/* 800C4604 000C1564 39 21 01 24 */ addi r9, r1, 0x124
/* 800C4608 000C1568 39 41 00 20 */ addi r10, r1, 0x20
/* 800C460C 000C156C 48 05 7E A5 */ bl "__ct__13CPhysicsActorF9TUniqueIdbRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>RC11CEntityInfoRC12CTransform4fRC10CModelDataRC13CMaterialListRC6CAABoxRC10SMoverDataRC16CActorParametersff"
/* 800C4610 000C1570 38 61 00 BC */ addi r3, r1, 0xbc
/* 800C4614 000C1574 38 80 FF FF */ li r4, -1
/* 800C4618 000C1578 48 04 1F F1 */ bl __dt__16CActorParametersFv
/* 800C461C 000C157C 38 61 01 24 */ addi r3, r1, 0x124
/* 800C4620 000C1580 38 80 FF FF */ li r4, -1
/* 800C4624 000C1584 48 05 24 29 */ bl __dt__10CModelDataFv
/* 800C4628 000C1588 3C 60 80 3E */ lis r3, lbl_803DF580@ha
/* 800C462C 000C158C 38 00 00 03 */ li r0, 3
/* 800C4630 000C1590 38 63 F5 80 */ addi r3, r3, lbl_803DF580@l
/* 800C4634 000C1594 38 80 00 00 */ li r4, 0
/* 800C4638 000C1598 90 76 00 00 */ stw r3, 0(r22)
/* 800C463C 000C159C 7E C3 B3 78 */ mr r3, r22
/* 800C4640 000C15A0 93 D6 02 58 */ stw r30, 0x258(r22)
/* 800C4644 000C15A4 93 76 02 5C */ stw r27, 0x25c(r22)
/* 800C4648 000C15A8 80 BC 00 00 */ lwz r5, 0(r28)
/* 800C464C 000C15AC 90 B6 02 60 */ stw r5, 0x260(r22)
/* 800C4650 000C15B0 90 16 02 64 */ stw r0, 0x264(r22)
/* 800C4654 000C15B4 88 16 02 68 */ lbz r0, 0x268(r22)
/* 800C4658 000C15B8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 800C465C 000C15BC 98 16 02 68 */ stb r0, 0x268(r22)
/* 800C4660 000C15C0 88 16 02 68 */ lbz r0, 0x268(r22)
/* 800C4664 000C15C4 53 E0 36 72 */ rlwimi r0, r31, 6, 0x19, 0x19
/* 800C4668 000C15C8 98 16 02 68 */ stb r0, 0x268(r22)
/* 800C466C 000C15CC 88 16 02 68 */ lbz r0, 0x268(r22)
/* 800C4670 000C15D0 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 800C4674 000C15D4 98 16 02 68 */ stb r0, 0x268(r22)
/* 800C4678 000C15D8 BA 81 01 70 */ lmw r20, 0x170(r1)
/* 800C467C 000C15DC 80 01 01 A4 */ lwz r0, 0x1a4(r1)
/* 800C4680 000C15E0 7C 08 03 A6 */ mtlr r0
/* 800C4684 000C15E4 38 21 01 A0 */ addi r1, r1, 0x1a0
/* 800C4688 000C15E8 4E 80 00 20 */ blr