prime/asm/MetroidPrime/Enemies/CStateMachine.s

866 lines
41 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata2, "a"
.balign 8
.global lbl_805AA6A0
lbl_805AA6A0:
# ROM: 0x3F6F40
.4byte 0
.4byte 0
.section .text, "ax"
.global "GetStateIndex__13CStateMachineCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"GetStateIndex__13CStateMachineCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8007F5E4 0007C544 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007F5E8 0007C548 7C 08 02 A6 */ mflr r0
/* 8007F5EC 0007C54C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007F5F0 0007C550 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8007F5F4 0007C554 3B E0 00 00 */ li r31, 0
/* 8007F5F8 0007C558 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8007F5FC 0007C55C 3B C0 00 00 */ li r30, 0
/* 8007F600 0007C560 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8007F604 0007C564 7C 9D 23 78 */ mr r29, r4
/* 8007F608 0007C568 93 81 00 10 */ stw r28, 0x10(r1)
/* 8007F60C 0007C56C 7C 7C 1B 78 */ mr r28, r3
/* 8007F610 0007C570 48 00 00 34 */ b lbl_8007F644
lbl_8007F614:
/* 8007F614 0007C574 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 8007F618 0007C578 38 7F 00 0C */ addi r3, r31, 0xc
/* 8007F61C 0007C57C 80 9D 00 00 */ lwz r4, 0(r29)
/* 8007F620 0007C580 38 A0 00 1F */ li r5, 0x1f
/* 8007F624 0007C584 7C 60 1A 14 */ add r3, r0, r3
/* 8007F628 0007C588 48 31 09 35 */ bl strncmp
/* 8007F62C 0007C58C 2C 03 00 00 */ cmpwi r3, 0
/* 8007F630 0007C590 40 82 00 0C */ bne lbl_8007F63C
/* 8007F634 0007C594 7F C3 F3 78 */ mr r3, r30
/* 8007F638 0007C598 48 00 00 1C */ b lbl_8007F654
lbl_8007F63C:
/* 8007F63C 0007C59C 3B FF 00 34 */ addi r31, r31, 0x34
/* 8007F640 0007C5A0 3B DE 00 01 */ addi r30, r30, 1
lbl_8007F644:
/* 8007F644 0007C5A4 80 1C 00 04 */ lwz r0, 4(r28)
/* 8007F648 0007C5A8 7C 1E 00 00 */ cmpw r30, r0
/* 8007F64C 0007C5AC 41 80 FF C8 */ blt lbl_8007F614
/* 8007F650 0007C5B0 38 60 00 00 */ li r3, 0
lbl_8007F654:
/* 8007F654 0007C5B4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007F658 0007C5B8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8007F65C 0007C5BC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8007F660 0007C5C0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8007F664 0007C5C4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8007F668 0007C5C8 7C 08 03 A6 */ mtlr r0
/* 8007F66C 0007C5CC 38 21 00 20 */ addi r1, r1, 0x20
/* 8007F670 0007C5D0 4E 80 00 20 */ blr
.global __ct__13CStateMachineFR12CInputStream
__ct__13CStateMachineFR12CInputStream:
/* 8007F674 0007C5D4 94 21 FE E0 */ stwu r1, -0x120(r1)
/* 8007F678 0007C5D8 7C 08 02 A6 */ mflr r0
/* 8007F67C 0007C5DC 90 01 01 24 */ stw r0, 0x124(r1)
/* 8007F680 0007C5E0 DB E1 01 10 */ stfd f31, 0x110(r1)
/* 8007F684 0007C5E4 F3 E1 01 18 */ psq_st f31, 280(r1), 0, qr0
/* 8007F688 0007C5E8 BE 01 00 D0 */ stmw r16, 0xd0(r1)
/* 8007F68C 0007C5EC 7C 7E 1B 78 */ mr r30, r3
/* 8007F690 0007C5F0 38 00 00 00 */ li r0, 0
/* 8007F694 0007C5F4 90 03 00 04 */ stw r0, 4(r3)
/* 8007F698 0007C5F8 7C 9F 23 78 */ mr r31, r4
/* 8007F69C 0007C5FC 7F E3 FB 78 */ mr r3, r31
/* 8007F6A0 0007C600 3A C0 00 00 */ li r22, 0
/* 8007F6A4 0007C604 90 1E 00 08 */ stw r0, 8(r30)
/* 8007F6A8 0007C608 90 1E 00 0C */ stw r0, 0xc(r30)
/* 8007F6AC 0007C60C 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8007F6B0 0007C610 90 1E 00 18 */ stw r0, 0x18(r30)
/* 8007F6B4 0007C614 90 1E 00 1C */ stw r0, 0x1c(r30)
/* 8007F6B8 0007C618 48 2B F5 CD */ bl ReadLong__12CInputStreamFv
/* 8007F6BC 0007C61C 7C 7D 1B 78 */ mr r29, r3
/* 8007F6C0 0007C620 7F C3 F3 78 */ mr r3, r30
/* 8007F6C4 0007C624 7F A4 EB 78 */ mr r4, r29
/* 8007F6C8 0007C628 48 00 08 59 */ bl "reserve__Q24rstl44vector<8CAiState,Q24rstl17rmemory_allocator>Fi"
/* 8007F6CC 0007C62C 3A 41 00 9C */ addi r18, r1, 0x9c
/* 8007F6D0 0007C630 3A 21 00 70 */ addi r17, r1, 0x70
/* 8007F6D4 0007C634 3A 00 00 00 */ li r16, 0
/* 8007F6D8 0007C638 48 00 01 3C */ b lbl_8007F814
lbl_8007F6DC:
/* 8007F6DC 0007C63C 3A 80 00 00 */ li r20, 0
/* 8007F6E0 0007C640 3A 61 00 70 */ addi r19, r1, 0x70
lbl_8007F6E4:
/* 8007F6E4 0007C644 7F E3 FB 78 */ mr r3, r31
/* 8007F6E8 0007C648 48 2B F6 25 */ bl ReadChar__12CInputStreamFv
/* 8007F6EC 0007C64C 98 73 00 00 */ stb r3, 0(r19)
/* 8007F6F0 0007C650 88 13 00 00 */ lbz r0, 0(r19)
/* 8007F6F4 0007C654 7C 00 07 75 */ extsb. r0, r0
/* 8007F6F8 0007C658 41 82 00 14 */ beq lbl_8007F70C
/* 8007F6FC 0007C65C 3A 94 00 01 */ addi r20, r20, 1
/* 8007F700 0007C660 3A 73 00 01 */ addi r19, r19, 1
/* 8007F704 0007C664 2C 14 00 1F */ cmpwi r20, 0x1f
/* 8007F708 0007C668 41 80 FF DC */ blt lbl_8007F6E4
lbl_8007F70C:
/* 8007F70C 0007C66C 38 00 00 00 */ li r0, 0
/* 8007F710 0007C670 7E 24 8B 78 */ mr r4, r17
/* 8007F714 0007C674 7C 11 A1 AE */ stbx r0, r17, r20
/* 8007F718 0007C678 38 61 00 14 */ addi r3, r1, 0x14
/* 8007F71C 0007C67C 48 02 32 B5 */ bl GetStateFunc__3CAiFPCc
/* 8007F720 0007C680 81 01 00 14 */ lwz r8, 0x14(r1)
/* 8007F724 0007C684 38 00 00 00 */ li r0, 0
/* 8007F728 0007C688 80 E1 00 18 */ lwz r7, 0x18(r1)
/* 8007F72C 0007C68C 7E 43 93 78 */ mr r3, r18
/* 8007F730 0007C690 80 C1 00 1C */ lwz r6, 0x1c(r1)
/* 8007F734 0007C694 38 81 00 70 */ addi r4, r1, 0x70
/* 8007F738 0007C698 91 01 00 2C */ stw r8, 0x2c(r1)
/* 8007F73C 0007C69C 38 A0 00 1F */ li r5, 0x1f
/* 8007F740 0007C6A0 90 E1 00 30 */ stw r7, 0x30(r1)
/* 8007F744 0007C6A4 90 C1 00 34 */ stw r6, 0x34(r1)
/* 8007F748 0007C6A8 91 01 00 90 */ stw r8, 0x90(r1)
/* 8007F74C 0007C6AC 90 E1 00 94 */ stw r7, 0x94(r1)
/* 8007F750 0007C6B0 90 C1 00 98 */ stw r6, 0x98(r1)
/* 8007F754 0007C6B4 90 01 00 BC */ stw r0, 0xbc(r1)
/* 8007F758 0007C6B8 90 01 00 C0 */ stw r0, 0xc0(r1)
/* 8007F75C 0007C6BC 48 31 09 69 */ bl strncpy
/* 8007F760 0007C6C0 80 1E 00 04 */ lwz r0, 4(r30)
/* 8007F764 0007C6C4 80 BE 00 08 */ lwz r5, 8(r30)
/* 8007F768 0007C6C8 7C 00 28 00 */ cmpw r0, r5
/* 8007F76C 0007C6CC 41 80 00 1C */ blt lbl_8007F788
/* 8007F770 0007C6D0 2C 05 00 00 */ cmpwi r5, 0
/* 8007F774 0007C6D4 7F C3 F3 78 */ mr r3, r30
/* 8007F778 0007C6D8 38 80 00 04 */ li r4, 4
/* 8007F77C 0007C6DC 41 82 00 08 */ beq lbl_8007F784
/* 8007F780 0007C6E0 54 A4 08 3C */ slwi r4, r5, 1
lbl_8007F784:
/* 8007F784 0007C6E4 48 00 07 9D */ bl "reserve__Q24rstl44vector<8CAiState,Q24rstl17rmemory_allocator>Fi"
lbl_8007F788:
/* 8007F788 0007C6E8 80 1E 00 04 */ lwz r0, 4(r30)
/* 8007F78C 0007C6EC 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 8007F790 0007C6F0 1C 00 00 34 */ mulli r0, r0, 0x34
/* 8007F794 0007C6F4 7C 83 02 15 */ add. r4, r3, r0
/* 8007F798 0007C6F8 41 82 00 6C */ beq lbl_8007F804
/* 8007F79C 0007C6FC 80 61 00 90 */ lwz r3, 0x90(r1)
/* 8007F7A0 0007C700 80 01 00 94 */ lwz r0, 0x94(r1)
/* 8007F7A4 0007C704 90 64 00 00 */ stw r3, 0(r4)
/* 8007F7A8 0007C708 90 04 00 04 */ stw r0, 4(r4)
/* 8007F7AC 0007C70C 80 01 00 98 */ lwz r0, 0x98(r1)
/* 8007F7B0 0007C710 90 04 00 08 */ stw r0, 8(r4)
/* 8007F7B4 0007C714 80 61 00 9C */ lwz r3, 0x9c(r1)
/* 8007F7B8 0007C718 80 01 00 A0 */ lwz r0, 0xa0(r1)
/* 8007F7BC 0007C71C 90 64 00 0C */ stw r3, 0xc(r4)
/* 8007F7C0 0007C720 90 04 00 10 */ stw r0, 0x10(r4)
/* 8007F7C4 0007C724 80 61 00 A4 */ lwz r3, 0xa4(r1)
/* 8007F7C8 0007C728 80 01 00 A8 */ lwz r0, 0xa8(r1)
/* 8007F7CC 0007C72C 90 64 00 14 */ stw r3, 0x14(r4)
/* 8007F7D0 0007C730 90 04 00 18 */ stw r0, 0x18(r4)
/* 8007F7D4 0007C734 80 61 00 AC */ lwz r3, 0xac(r1)
/* 8007F7D8 0007C738 80 01 00 B0 */ lwz r0, 0xb0(r1)
/* 8007F7DC 0007C73C 90 64 00 1C */ stw r3, 0x1c(r4)
/* 8007F7E0 0007C740 90 04 00 20 */ stw r0, 0x20(r4)
/* 8007F7E4 0007C744 80 61 00 B4 */ lwz r3, 0xb4(r1)
/* 8007F7E8 0007C748 80 01 00 B8 */ lwz r0, 0xb8(r1)
/* 8007F7EC 0007C74C 90 64 00 24 */ stw r3, 0x24(r4)
/* 8007F7F0 0007C750 90 04 00 28 */ stw r0, 0x28(r4)
/* 8007F7F4 0007C754 80 01 00 BC */ lwz r0, 0xbc(r1)
/* 8007F7F8 0007C758 90 04 00 2C */ stw r0, 0x2c(r4)
/* 8007F7FC 0007C75C 80 01 00 C0 */ lwz r0, 0xc0(r1)
/* 8007F800 0007C760 90 04 00 30 */ stw r0, 0x30(r4)
lbl_8007F804:
/* 8007F804 0007C764 80 7E 00 04 */ lwz r3, 4(r30)
/* 8007F808 0007C768 3A 10 00 01 */ addi r16, r16, 1
/* 8007F80C 0007C76C 38 03 00 01 */ addi r0, r3, 1
/* 8007F810 0007C770 90 1E 00 04 */ stw r0, 4(r30)
lbl_8007F814:
/* 8007F814 0007C774 7C 10 E8 00 */ cmpw r16, r29
/* 8007F818 0007C778 41 80 FE C4 */ blt lbl_8007F6DC
/* 8007F81C 0007C77C 7F E3 FB 78 */ mr r3, r31
/* 8007F820 0007C780 48 2B F4 65 */ bl ReadLong__12CInputStreamFv
/* 8007F824 0007C784 7C 64 1B 78 */ mr r4, r3
/* 8007F828 0007C788 38 7E 00 10 */ addi r3, r30, 0x10
/* 8007F82C 0007C78C 48 00 08 45 */ bl "reserve__Q24rstl47vector<10CAiTrigger,Q24rstl17rmemory_allocator>Fi"
/* 8007F830 0007C790 3B 00 00 00 */ li r24, 0
/* 8007F834 0007C794 3B 21 00 71 */ addi r25, r1, 0x71
/* 8007F838 0007C798 7F 1A C3 78 */ mr r26, r24
/* 8007F83C 0007C79C 48 00 03 38 */ b lbl_8007FB74
lbl_8007F840:
/* 8007F840 0007C7A0 80 1E 00 0C */ lwz r0, 0xc(r30)
/* 8007F844 0007C7A4 7F E3 FB 78 */ mr r3, r31
/* 8007F848 0007C7A8 82 5E 00 14 */ lwz r18, 0x14(r30)
/* 8007F84C 0007C7AC 7F 80 D2 14 */ add r28, r0, r26
/* 8007F850 0007C7B0 48 2B F4 35 */ bl ReadLong__12CInputStreamFv
/* 8007F854 0007C7B4 90 7C 00 2C */ stw r3, 0x2c(r28)
/* 8007F858 0007C7B8 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 8007F85C 0007C7BC 2C 00 00 00 */ cmpwi r0, 0
/* 8007F860 0007C7C0 41 82 03 0C */ beq lbl_8007FB6C
/* 8007F864 0007C7C4 3C 60 80 3E */ lis r3, lbl_803D8598@ha
/* 8007F868 0007C7C8 C3 E2 89 80 */ lfs f31, lbl_805AA6A0@sda21(r2)
/* 8007F86C 0007C7CC 3A 23 85 98 */ addi r17, r3, lbl_803D8598@l
/* 8007F870 0007C7D0 3A 00 00 00 */ li r16, 0
/* 8007F874 0007C7D4 48 00 00 B4 */ b lbl_8007F928
lbl_8007F878:
/* 8007F878 0007C7D8 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8007F87C 0007C7DC 38 60 00 00 */ li r3, 0
/* 8007F880 0007C7E0 80 DE 00 18 */ lwz r6, 0x18(r30)
/* 8007F884 0007C7E4 80 B1 00 00 */ lwz r5, 0(r17)
/* 8007F888 0007C7E8 80 91 00 04 */ lwz r4, 4(r17)
/* 8007F88C 0007C7EC 7C 00 30 00 */ cmpw r0, r6
/* 8007F890 0007C7F0 80 11 00 08 */ lwz r0, 8(r17)
/* 8007F894 0007C7F4 90 A1 00 54 */ stw r5, 0x54(r1)
/* 8007F898 0007C7F8 90 81 00 58 */ stw r4, 0x58(r1)
/* 8007F89C 0007C7FC 90 01 00 5C */ stw r0, 0x5c(r1)
/* 8007F8A0 0007C800 D3 E1 00 60 */ stfs f31, 0x60(r1)
/* 8007F8A4 0007C804 90 61 00 64 */ stw r3, 0x64(r1)
/* 8007F8A8 0007C808 90 61 00 68 */ stw r3, 0x68(r1)
/* 8007F8AC 0007C80C 98 61 00 6C */ stb r3, 0x6c(r1)
/* 8007F8B0 0007C810 41 80 00 1C */ blt lbl_8007F8CC
/* 8007F8B4 0007C814 2C 06 00 00 */ cmpwi r6, 0
/* 8007F8B8 0007C818 38 7E 00 10 */ addi r3, r30, 0x10
/* 8007F8BC 0007C81C 38 80 00 04 */ li r4, 4
/* 8007F8C0 0007C820 41 82 00 08 */ beq lbl_8007F8C8
/* 8007F8C4 0007C824 54 C4 08 3C */ slwi r4, r6, 1
lbl_8007F8C8:
/* 8007F8C8 0007C828 48 00 07 A9 */ bl "reserve__Q24rstl47vector<10CAiTrigger,Q24rstl17rmemory_allocator>Fi"
lbl_8007F8CC:
/* 8007F8CC 0007C82C 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8007F8D0 0007C830 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8007F8D4 0007C834 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 8007F8D8 0007C838 7C 83 02 15 */ add. r4, r3, r0
/* 8007F8DC 0007C83C 41 82 00 3C */ beq lbl_8007F918
/* 8007F8E0 0007C840 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8007F8E4 0007C844 80 61 00 58 */ lwz r3, 0x58(r1)
/* 8007F8E8 0007C848 90 04 00 00 */ stw r0, 0(r4)
/* 8007F8EC 0007C84C 80 01 00 5C */ lwz r0, 0x5c(r1)
/* 8007F8F0 0007C850 90 64 00 04 */ stw r3, 4(r4)
/* 8007F8F4 0007C854 C0 01 00 60 */ lfs f0, 0x60(r1)
/* 8007F8F8 0007C858 90 04 00 08 */ stw r0, 8(r4)
/* 8007F8FC 0007C85C 80 01 00 64 */ lwz r0, 0x64(r1)
/* 8007F900 0007C860 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8007F904 0007C864 80 61 00 68 */ lwz r3, 0x68(r1)
/* 8007F908 0007C868 90 04 00 10 */ stw r0, 0x10(r4)
/* 8007F90C 0007C86C 88 01 00 6C */ lbz r0, 0x6c(r1)
/* 8007F910 0007C870 90 64 00 14 */ stw r3, 0x14(r4)
/* 8007F914 0007C874 98 04 00 18 */ stb r0, 0x18(r4)
lbl_8007F918:
/* 8007F918 0007C878 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8007F91C 0007C87C 3A 10 00 01 */ addi r16, r16, 1
/* 8007F920 0007C880 38 03 00 01 */ addi r0, r3, 1
/* 8007F924 0007C884 90 1E 00 14 */ stw r0, 0x14(r30)
lbl_8007F928:
/* 8007F928 0007C888 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 8007F92C 0007C88C 7C 10 00 00 */ cmpw r16, r0
/* 8007F930 0007C890 41 80 FF 48 */ blt lbl_8007F878
/* 8007F934 0007C894 1C 12 00 1C */ mulli r0, r18, 0x1c
/* 8007F938 0007C898 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8007F93C 0007C89C 3A E0 00 00 */ li r23, 0
/* 8007F940 0007C8A0 3A 41 00 70 */ addi r18, r1, 0x70
/* 8007F944 0007C8A4 7C 03 02 14 */ add r0, r3, r0
/* 8007F948 0007C8A8 7E FB BB 78 */ mr r27, r23
/* 8007F94C 0007C8AC 90 1C 00 30 */ stw r0, 0x30(r28)
/* 8007F950 0007C8B0 48 00 02 10 */ b lbl_8007FB60
lbl_8007F954:
/* 8007F954 0007C8B4 7F E3 FB 78 */ mr r3, r31
/* 8007F958 0007C8B8 48 2B F3 2D */ bl ReadLong__12CInputStreamFv
/* 8007F95C 0007C8BC 7C 71 1B 78 */ mr r17, r3
/* 8007F960 0007C8C0 3A A0 00 00 */ li r21, 0
/* 8007F964 0007C8C4 3A 71 FF FF */ addi r19, r17, -1
/* 8007F968 0007C8C8 48 00 01 E8 */ b lbl_8007FB50
lbl_8007F96C:
/* 8007F96C 0007C8CC 3A 00 00 00 */ li r16, 0
/* 8007F970 0007C8D0 3A 81 00 70 */ addi r20, r1, 0x70
lbl_8007F974:
/* 8007F974 0007C8D4 7F E3 FB 78 */ mr r3, r31
/* 8007F978 0007C8D8 48 2B F3 95 */ bl ReadChar__12CInputStreamFv
/* 8007F97C 0007C8DC 98 74 00 00 */ stb r3, 0(r20)
/* 8007F980 0007C8E0 88 14 00 00 */ lbz r0, 0(r20)
/* 8007F984 0007C8E4 7C 00 07 75 */ extsb. r0, r0
/* 8007F988 0007C8E8 41 82 00 14 */ beq lbl_8007F99C
/* 8007F98C 0007C8EC 3A 10 00 01 */ addi r16, r16, 1
/* 8007F990 0007C8F0 3A 94 00 01 */ addi r20, r20, 1
/* 8007F994 0007C8F4 2C 10 00 1F */ cmpwi r16, 0x1f
/* 8007F998 0007C8F8 41 80 FF DC */ blt lbl_8007F974
lbl_8007F99C:
/* 8007F99C 0007C8FC 38 00 00 00 */ li r0, 0
/* 8007F9A0 0007C900 38 61 00 08 */ addi r3, r1, 8
/* 8007F9A4 0007C904 7C 12 81 AE */ stbx r0, r18, r16
/* 8007F9A8 0007C908 88 01 00 70 */ lbz r0, 0x70(r1)
/* 8007F9AC 0007C90C 2C 00 00 21 */ cmpwi r0, 0x21
/* 8007F9B0 0007C910 40 82 00 0C */ bne lbl_8007F9BC
/* 8007F9B4 0007C914 7F 24 CB 78 */ mr r4, r25
/* 8007F9B8 0007C918 48 00 00 08 */ b lbl_8007F9C0
lbl_8007F9BC:
/* 8007F9BC 0007C91C 7E 44 93 78 */ mr r4, r18
lbl_8007F9C0:
/* 8007F9C0 0007C920 48 02 2F C1 */ bl GetTriggerFunc__3CAiFPCc
/* 8007F9C4 0007C924 80 A1 00 08 */ lwz r5, 8(r1)
/* 8007F9C8 0007C928 7F E3 FB 78 */ mr r3, r31
/* 8007F9CC 0007C92C 80 81 00 0C */ lwz r4, 0xc(r1)
/* 8007F9D0 0007C930 80 01 00 10 */ lwz r0, 0x10(r1)
/* 8007F9D4 0007C934 90 A1 00 20 */ stw r5, 0x20(r1)
/* 8007F9D8 0007C938 90 81 00 24 */ stw r4, 0x24(r1)
/* 8007F9DC 0007C93C 90 01 00 28 */ stw r0, 0x28(r1)
/* 8007F9E0 0007C940 48 2B F2 49 */ bl ReadFloat__12CInputStreamFv
/* 8007F9E4 0007C944 88 01 00 70 */ lbz r0, 0x70(r1)
/* 8007F9E8 0007C948 FF E0 08 90 */ fmr f31, f1
/* 8007F9EC 0007C94C 7C 15 98 00 */ cmpw r21, r19
/* 8007F9F0 0007C950 7C 00 07 74 */ extsb r0, r0
/* 8007F9F4 0007C954 20 00 00 21 */ subfic r0, r0, 0x21
/* 8007F9F8 0007C958 7C 00 00 34 */ cntlzw r0, r0
/* 8007F9FC 0007C95C 54 14 D9 7E */ srwi r20, r0, 5
/* 8007FA00 0007C960 40 80 00 D8 */ bge lbl_8007FAD8
/* 8007FA04 0007C964 3C 80 80 3E */ lis r4, lbl_803D8598@ha
/* 8007FA08 0007C968 38 60 00 00 */ li r3, 0
/* 8007FA0C 0007C96C 38 C4 85 98 */ addi r6, r4, lbl_803D8598@l
/* 8007FA10 0007C970 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8007FA14 0007C974 80 FE 00 18 */ lwz r7, 0x18(r30)
/* 8007FA18 0007C978 80 A6 00 00 */ lwz r5, 0(r6)
/* 8007FA1C 0007C97C 80 86 00 04 */ lwz r4, 4(r6)
/* 8007FA20 0007C980 7C 00 38 00 */ cmpw r0, r7
/* 8007FA24 0007C984 80 06 00 08 */ lwz r0, 8(r6)
/* 8007FA28 0007C988 C0 02 89 80 */ lfs f0, lbl_805AA6A0@sda21(r2)
/* 8007FA2C 0007C98C 90 A1 00 38 */ stw r5, 0x38(r1)
/* 8007FA30 0007C990 90 81 00 3C */ stw r4, 0x3c(r1)
/* 8007FA34 0007C994 90 01 00 40 */ stw r0, 0x40(r1)
/* 8007FA38 0007C998 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 8007FA3C 0007C99C 90 61 00 48 */ stw r3, 0x48(r1)
/* 8007FA40 0007C9A0 90 61 00 4C */ stw r3, 0x4c(r1)
/* 8007FA44 0007C9A4 98 61 00 50 */ stb r3, 0x50(r1)
/* 8007FA48 0007C9A8 41 80 00 1C */ blt lbl_8007FA64
/* 8007FA4C 0007C9AC 2C 07 00 00 */ cmpwi r7, 0
/* 8007FA50 0007C9B0 38 7E 00 10 */ addi r3, r30, 0x10
/* 8007FA54 0007C9B4 38 80 00 04 */ li r4, 4
/* 8007FA58 0007C9B8 41 82 00 08 */ beq lbl_8007FA60
/* 8007FA5C 0007C9BC 54 E4 08 3C */ slwi r4, r7, 1
lbl_8007FA60:
/* 8007FA60 0007C9C0 48 00 06 11 */ bl "reserve__Q24rstl47vector<10CAiTrigger,Q24rstl17rmemory_allocator>Fi"
lbl_8007FA64:
/* 8007FA64 0007C9C4 80 1E 00 14 */ lwz r0, 0x14(r30)
/* 8007FA68 0007C9C8 80 7E 00 1C */ lwz r3, 0x1c(r30)
/* 8007FA6C 0007C9CC 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 8007FA70 0007C9D0 7C 83 02 15 */ add. r4, r3, r0
/* 8007FA74 0007C9D4 41 82 00 3C */ beq lbl_8007FAB0
/* 8007FA78 0007C9D8 80 01 00 38 */ lwz r0, 0x38(r1)
/* 8007FA7C 0007C9DC 80 61 00 3C */ lwz r3, 0x3c(r1)
/* 8007FA80 0007C9E0 90 04 00 00 */ stw r0, 0(r4)
/* 8007FA84 0007C9E4 80 01 00 40 */ lwz r0, 0x40(r1)
/* 8007FA88 0007C9E8 90 64 00 04 */ stw r3, 4(r4)
/* 8007FA8C 0007C9EC C0 01 00 44 */ lfs f0, 0x44(r1)
/* 8007FA90 0007C9F0 90 04 00 08 */ stw r0, 8(r4)
/* 8007FA94 0007C9F4 80 01 00 48 */ lwz r0, 0x48(r1)
/* 8007FA98 0007C9F8 D0 04 00 0C */ stfs f0, 0xc(r4)
/* 8007FA9C 0007C9FC 80 61 00 4C */ lwz r3, 0x4c(r1)
/* 8007FAA0 0007CA00 90 04 00 10 */ stw r0, 0x10(r4)
/* 8007FAA4 0007CA04 88 01 00 50 */ lbz r0, 0x50(r1)
/* 8007FAA8 0007CA08 90 64 00 14 */ stw r3, 0x14(r4)
/* 8007FAAC 0007CA0C 98 04 00 18 */ stb r0, 0x18(r4)
lbl_8007FAB0:
/* 8007FAB0 0007CA10 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8007FAB4 0007CA14 38 03 00 01 */ addi r0, r3, 1
/* 8007FAB8 0007CA18 90 1E 00 14 */ stw r0, 0x14(r30)
/* 8007FABC 0007CA1C 80 7E 00 14 */ lwz r3, 0x14(r30)
/* 8007FAC0 0007CA20 80 9E 00 1C */ lwz r4, 0x1c(r30)
/* 8007FAC4 0007CA24 38 03 FF FF */ addi r0, r3, -1
/* 8007FAC8 0007CA28 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 8007FACC 0007CA2C 7C 04 02 14 */ add r0, r4, r0
/* 8007FAD0 0007CA30 7C 10 03 78 */ mr r16, r0
/* 8007FAD4 0007CA34 48 00 00 0C */ b lbl_8007FAE0
lbl_8007FAD8:
/* 8007FAD8 0007CA38 80 1C 00 30 */ lwz r0, 0x30(r28)
/* 8007FADC 0007CA3C 7E 00 DA 14 */ add r16, r0, r27
lbl_8007FAE0:
/* 8007FAE0 0007CA40 2C 15 00 00 */ cmpwi r21, 0
/* 8007FAE4 0007CA44 40 82 00 40 */ bne lbl_8007FB24
/* 8007FAE8 0007CA48 7F E3 FB 78 */ mr r3, r31
/* 8007FAEC 0007CA4C 48 2B F1 99 */ bl ReadLong__12CInputStreamFv
/* 8007FAF0 0007CA50 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 8007FAF4 0007CA54 1C 83 00 34 */ mulli r4, r3, 0x34
/* 8007FAF8 0007CA58 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8007FAFC 0007CA5C 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8007FB00 0007CA60 90 10 00 00 */ stw r0, 0(r16)
/* 8007FB04 0007CA64 7C 85 22 14 */ add r4, r5, r4
/* 8007FB08 0007CA68 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8007FB0C 0007CA6C 90 70 00 04 */ stw r3, 4(r16)
/* 8007FB10 0007CA70 90 10 00 08 */ stw r0, 8(r16)
/* 8007FB14 0007CA74 D3 F0 00 0C */ stfs f31, 0xc(r16)
/* 8007FB18 0007CA78 90 90 00 14 */ stw r4, 0x14(r16)
/* 8007FB1C 0007CA7C 9A 90 00 18 */ stb r20, 0x18(r16)
/* 8007FB20 0007CA80 48 00 00 28 */ b lbl_8007FB48
lbl_8007FB24:
/* 8007FB24 0007CA84 80 01 00 20 */ lwz r0, 0x20(r1)
/* 8007FB28 0007CA88 80 61 00 24 */ lwz r3, 0x24(r1)
/* 8007FB2C 0007CA8C 90 10 00 00 */ stw r0, 0(r16)
/* 8007FB30 0007CA90 80 01 00 28 */ lwz r0, 0x28(r1)
/* 8007FB34 0007CA94 90 70 00 04 */ stw r3, 4(r16)
/* 8007FB38 0007CA98 90 10 00 08 */ stw r0, 8(r16)
/* 8007FB3C 0007CA9C D3 F0 00 0C */ stfs f31, 0xc(r16)
/* 8007FB40 0007CAA0 92 D0 00 10 */ stw r22, 0x10(r16)
/* 8007FB44 0007CAA4 9A 90 00 18 */ stb r20, 0x18(r16)
lbl_8007FB48:
/* 8007FB48 0007CAA8 7E 16 83 78 */ mr r22, r16
/* 8007FB4C 0007CAAC 3A B5 00 01 */ addi r21, r21, 1
lbl_8007FB50:
/* 8007FB50 0007CAB0 7C 15 88 00 */ cmpw r21, r17
/* 8007FB54 0007CAB4 41 80 FE 18 */ blt lbl_8007F96C
/* 8007FB58 0007CAB8 3B 7B 00 1C */ addi r27, r27, 0x1c
/* 8007FB5C 0007CABC 3A F7 00 01 */ addi r23, r23, 1
lbl_8007FB60:
/* 8007FB60 0007CAC0 80 1C 00 2C */ lwz r0, 0x2c(r28)
/* 8007FB64 0007CAC4 7C 17 00 00 */ cmpw r23, r0
/* 8007FB68 0007CAC8 41 80 FD EC */ blt lbl_8007F954
lbl_8007FB6C:
/* 8007FB6C 0007CACC 3B 5A 00 34 */ addi r26, r26, 0x34
/* 8007FB70 0007CAD0 3B 18 00 01 */ addi r24, r24, 1
lbl_8007FB74:
/* 8007FB74 0007CAD4 7C 18 E8 00 */ cmpw r24, r29
/* 8007FB78 0007CAD8 41 80 FC C8 */ blt lbl_8007F840
/* 8007FB7C 0007CADC 7F C3 F3 78 */ mr r3, r30
/* 8007FB80 0007CAE0 E3 E1 01 18 */ psq_l f31, 280(r1), 0, qr0
/* 8007FB84 0007CAE4 CB E1 01 10 */ lfd f31, 0x110(r1)
/* 8007FB88 0007CAE8 BA 01 00 D0 */ lmw r16, 0xd0(r1)
/* 8007FB8C 0007CAEC 80 01 01 24 */ lwz r0, 0x124(r1)
/* 8007FB90 0007CAF0 7C 08 03 A6 */ mtlr r0
/* 8007FB94 0007CAF4 38 21 01 20 */ addi r1, r1, 0x120
/* 8007FB98 0007CAF8 4E 80 00 20 */ blr
.global GetName__18CStateMachineStateCFv
GetName__18CStateMachineStateCFv:
/* 8007FB9C 0007CAFC 80 63 00 04 */ lwz r3, 4(r3)
/* 8007FBA0 0007CB00 28 03 00 00 */ cmplwi r3, 0
/* 8007FBA4 0007CB04 41 82 00 0C */ beq lbl_8007FBB0
/* 8007FBA8 0007CB08 38 63 00 0C */ addi r3, r3, 0xc
/* 8007FBAC 0007CB0C 4E 80 00 20 */ blr
lbl_8007FBB0:
/* 8007FBB0 0007CB10 38 60 00 00 */ li r3, 0
/* 8007FBB4 0007CB14 4E 80 00 20 */ blr
.global Setup__18CStateMachineStateFPC13CStateMachine
Setup__18CStateMachineStateFPC13CStateMachine:
/* 8007FBB8 0007CB18 90 83 00 00 */ stw r4, 0(r3)
/* 8007FBBC 0007CB1C 38 00 00 00 */ li r0, 0
/* 8007FBC0 0007CB20 C0 02 89 80 */ lfs f0, lbl_805AA6A0@sda21(r2)
/* 8007FBC4 0007CB24 90 03 00 04 */ stw r0, 4(r3)
/* 8007FBC8 0007CB28 D0 03 00 08 */ stfs f0, 8(r3)
/* 8007FBCC 0007CB2C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8007FBD0 0007CB30 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8007FBD4 0007CB34 4E 80 00 20 */ blr
.global __ct__18CStateMachineStateFv
__ct__18CStateMachineStateFv:
/* 8007FBD8 0007CB38 38 80 00 00 */ li r4, 0
/* 8007FBDC 0007CB3C C0 02 89 80 */ lfs f0, lbl_805AA6A0@sda21(r2)
/* 8007FBE0 0007CB40 90 83 00 00 */ stw r4, 0(r3)
/* 8007FBE4 0007CB44 90 83 00 04 */ stw r4, 4(r3)
/* 8007FBE8 0007CB48 D0 03 00 08 */ stfs f0, 8(r3)
/* 8007FBEC 0007CB4C D0 03 00 0C */ stfs f0, 0xc(r3)
/* 8007FBF0 0007CB50 D0 03 00 10 */ stfs f0, 0x10(r3)
/* 8007FBF4 0007CB54 88 03 00 18 */ lbz r0, 0x18(r3)
/* 8007FBF8 0007CB58 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 8007FBFC 0007CB5C 98 03 00 18 */ stb r0, 0x18(r3)
/* 8007FC00 0007CB60 4E 80 00 20 */ blr
.global "SetState__18CStateMachineStateFR13CStateManagerR3CAiPC13CStateMachineRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
"SetState__18CStateMachineStateFR13CStateManagerR3CAiPC13CStateMachineRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>":
/* 8007FC04 0007CB64 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007FC08 0007CB68 7C 08 02 A6 */ mflr r0
/* 8007FC0C 0007CB6C 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007FC10 0007CB70 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8007FC14 0007CB74 7C DE 33 79 */ or. r30, r6, r6
/* 8007FC18 0007CB78 7C 7B 1B 78 */ mr r27, r3
/* 8007FC1C 0007CB7C 7C 9C 23 78 */ mr r28, r4
/* 8007FC20 0007CB80 7C BD 2B 78 */ mr r29, r5
/* 8007FC24 0007CB84 7C FF 3B 78 */ mr r31, r7
/* 8007FC28 0007CB88 41 82 00 3C */ beq lbl_8007FC64
/* 8007FC2C 0007CB8C 80 1B 00 00 */ lwz r0, 0(r27)
/* 8007FC30 0007CB90 28 00 00 00 */ cmplwi r0, 0
/* 8007FC34 0007CB94 40 82 00 0C */ bne lbl_8007FC40
/* 8007FC38 0007CB98 7F C4 F3 78 */ mr r4, r30
/* 8007FC3C 0007CB9C 4B FF FF 7D */ bl Setup__18CStateMachineStateFPC13CStateMachine
lbl_8007FC40:
/* 8007FC40 0007CBA0 7F C3 F3 78 */ mr r3, r30
/* 8007FC44 0007CBA4 7F E4 FB 78 */ mr r4, r31
/* 8007FC48 0007CBA8 4B FF F9 9D */ bl "GetStateIndex__13CStateMachineCFRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 8007FC4C 0007CBAC 7C 60 1B 78 */ mr r0, r3
/* 8007FC50 0007CBB0 7F 63 DB 78 */ mr r3, r27
/* 8007FC54 0007CBB4 7C 06 03 78 */ mr r6, r0
/* 8007FC58 0007CBB8 7F 84 E3 78 */ mr r4, r28
/* 8007FC5C 0007CBBC 7F A5 EB 78 */ mr r5, r29
/* 8007FC60 0007CBC0 48 00 00 19 */ bl SetState__18CStateMachineStateFR13CStateManagerR3CAii
lbl_8007FC64:
/* 8007FC64 0007CBC4 BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8007FC68 0007CBC8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007FC6C 0007CBCC 7C 08 03 A6 */ mtlr r0
/* 8007FC70 0007CBD0 38 21 00 20 */ addi r1, r1, 0x20
/* 8007FC74 0007CBD4 4E 80 00 20 */ blr
.global SetState__18CStateMachineStateFR13CStateManagerR3CAii
SetState__18CStateMachineStateFR13CStateManagerR3CAii:
/* 8007FC78 0007CBD8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8007FC7C 0007CBDC 7C 08 02 A6 */ mflr r0
/* 8007FC80 0007CBE0 90 01 00 24 */ stw r0, 0x24(r1)
/* 8007FC84 0007CBE4 1C 06 00 34 */ mulli r0, r6, 0x34
/* 8007FC88 0007CBE8 BF 61 00 0C */ stmw r27, 0xc(r1)
/* 8007FC8C 0007CBEC 7C 7B 1B 78 */ mr r27, r3
/* 8007FC90 0007CBF0 7C 9C 23 78 */ mr r28, r4
/* 8007FC94 0007CBF4 7C BD 2B 78 */ mr r29, r5
/* 8007FC98 0007CBF8 80 63 00 00 */ lwz r3, 0(r3)
/* 8007FC9C 0007CBFC 83 DB 00 04 */ lwz r30, 4(r27)
/* 8007FCA0 0007CC00 80 63 00 0C */ lwz r3, 0xc(r3)
/* 8007FCA4 0007CC04 7F E3 02 14 */ add r31, r3, r0
/* 8007FCA8 0007CC08 7C 1E F8 40 */ cmplw r30, r31
/* 8007FCAC 0007CC0C 41 82 00 90 */ beq lbl_8007FD3C
/* 8007FCB0 0007CC10 28 1E 00 00 */ cmplwi r30, 0
/* 8007FCB4 0007CC14 41 82 00 30 */ beq lbl_8007FCE4
/* 8007FCB8 0007CC18 7F C3 F3 78 */ mr r3, r30
/* 8007FCBC 0007CC1C 48 30 9C 41 */ bl __ptmf_test
/* 8007FCC0 0007CC20 2C 03 00 00 */ cmpwi r3, 0
/* 8007FCC4 0007CC24 41 82 00 20 */ beq lbl_8007FCE4
/* 8007FCC8 0007CC28 C0 22 89 80 */ lfs f1, lbl_805AA6A0@sda21(r2)
/* 8007FCCC 0007CC2C 7F A3 EB 78 */ mr r3, r29
/* 8007FCD0 0007CC30 7F 84 E3 78 */ mr r4, r28
/* 8007FCD4 0007CC34 7F CC F3 78 */ mr r12, r30
/* 8007FCD8 0007CC38 38 A0 00 02 */ li r5, 2
/* 8007FCDC 0007CC3C 48 30 9C 51 */ bl __ptmf_scall
/* 8007FCE0 0007CC40 60 00 00 00 */ nop
lbl_8007FCE4:
/* 8007FCE4 0007CC44 93 FB 00 04 */ stw r31, 4(r27)
/* 8007FCE8 0007CC48 C0 02 89 80 */ lfs f0, lbl_805AA6A0@sda21(r2)
/* 8007FCEC 0007CC4C D0 1B 00 08 */ stfs f0, 8(r27)
/* 8007FCF0 0007CC50 80 7C 09 00 */ lwz r3, 0x900(r28)
/* 8007FCF4 0007CC54 48 29 27 E9 */ bl Float__9CRandom16Fv
/* 8007FCF8 0007CC58 D0 3B 00 0C */ stfs f1, 0xc(r27)
/* 8007FCFC 0007CC5C 38 60 00 00 */ li r3, 0
/* 8007FD00 0007CC60 88 1B 00 18 */ lbz r0, 0x18(r27)
/* 8007FD04 0007CC64 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8007FD08 0007CC68 98 1B 00 18 */ stb r0, 0x18(r27)
/* 8007FD0C 0007CC6C 83 FB 00 04 */ lwz r31, 4(r27)
/* 8007FD10 0007CC70 7F E3 FB 78 */ mr r3, r31
/* 8007FD14 0007CC74 48 30 9B E9 */ bl __ptmf_test
/* 8007FD18 0007CC78 2C 03 00 00 */ cmpwi r3, 0
/* 8007FD1C 0007CC7C 41 82 00 20 */ beq lbl_8007FD3C
/* 8007FD20 0007CC80 C0 22 89 80 */ lfs f1, lbl_805AA6A0@sda21(r2)
/* 8007FD24 0007CC84 7F A3 EB 78 */ mr r3, r29
/* 8007FD28 0007CC88 7F 84 E3 78 */ mr r4, r28
/* 8007FD2C 0007CC8C 7F EC FB 78 */ mr r12, r31
/* 8007FD30 0007CC90 38 A0 00 00 */ li r5, 0
/* 8007FD34 0007CC94 48 30 9B F9 */ bl __ptmf_scall
/* 8007FD38 0007CC98 60 00 00 00 */ nop
lbl_8007FD3C:
/* 8007FD3C 0007CC9C BB 61 00 0C */ lmw r27, 0xc(r1)
/* 8007FD40 0007CCA0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8007FD44 0007CCA4 7C 08 03 A6 */ mtlr r0
/* 8007FD48 0007CCA8 38 21 00 20 */ addi r1, r1, 0x20
/* 8007FD4C 0007CCAC 4E 80 00 20 */ blr
.global Update__18CStateMachineStateFR13CStateManagerR3CAif
Update__18CStateMachineStateFR13CStateManagerR3CAif:
/* 8007FD50 0007CCB0 94 21 FF C0 */ stwu r1, -0x40(r1)
/* 8007FD54 0007CCB4 7C 08 02 A6 */ mflr r0
/* 8007FD58 0007CCB8 90 01 00 44 */ stw r0, 0x44(r1)
/* 8007FD5C 0007CCBC DB E1 00 30 */ stfd f31, 0x30(r1)
/* 8007FD60 0007CCC0 F3 E1 00 38 */ psq_st f31, 56(r1), 0, qr0
/* 8007FD64 0007CCC4 BE E1 00 0C */ stmw r23, 0xc(r1)
/* 8007FD68 0007CCC8 7C 7D 1B 78 */ mr r29, r3
/* 8007FD6C 0007CCCC FF E0 08 90 */ fmr f31, f1
/* 8007FD70 0007CCD0 80 03 00 04 */ lwz r0, 4(r3)
/* 8007FD74 0007CCD4 7C 9E 23 78 */ mr r30, r4
/* 8007FD78 0007CCD8 7C BF 2B 78 */ mr r31, r5
/* 8007FD7C 0007CCDC 28 00 00 00 */ cmplwi r0, 0
/* 8007FD80 0007CCE0 41 82 01 84 */ beq lbl_8007FF04
/* 8007FD84 0007CCE4 C0 1D 00 08 */ lfs f0, 8(r29)
/* 8007FD88 0007CCE8 EC 00 F8 2A */ fadds f0, f0, f31
/* 8007FD8C 0007CCEC D0 1D 00 08 */ stfs f0, 8(r29)
/* 8007FD90 0007CCF0 83 9D 00 04 */ lwz r28, 4(r29)
/* 8007FD94 0007CCF4 7F 83 E3 78 */ mr r3, r28
/* 8007FD98 0007CCF8 48 30 9B 65 */ bl __ptmf_test
/* 8007FD9C 0007CCFC 2C 03 00 00 */ cmpwi r3, 0
/* 8007FDA0 0007CD00 41 82 00 20 */ beq lbl_8007FDC0
/* 8007FDA4 0007CD04 FC 20 F8 90 */ fmr f1, f31
/* 8007FDA8 0007CD08 7F E3 FB 78 */ mr r3, r31
/* 8007FDAC 0007CD0C 7F C4 F3 78 */ mr r4, r30
/* 8007FDB0 0007CD10 7F 8C E3 78 */ mr r12, r28
/* 8007FDB4 0007CD14 38 A0 00 01 */ li r5, 1
/* 8007FDB8 0007CD18 48 30 9B 75 */ bl __ptmf_scall
/* 8007FDBC 0007CD1C 60 00 00 00 */ nop
lbl_8007FDC0:
/* 8007FDC0 0007CD20 3B 40 00 00 */ li r26, 0
/* 8007FDC4 0007CD24 3B 60 00 00 */ li r27, 0
/* 8007FDC8 0007CD28 48 00 01 2C */ b lbl_8007FEF4
lbl_8007FDCC:
/* 8007FDCC 0007CD2C 80 03 00 30 */ lwz r0, 0x30(r3)
/* 8007FDD0 0007CD30 3B 00 00 00 */ li r24, 0
/* 8007FDD4 0007CD34 3A E0 00 01 */ li r23, 1
/* 8007FDD8 0007CD38 7F 20 DA 14 */ add r25, r0, r27
/* 8007FDDC 0007CD3C 48 00 00 64 */ b lbl_8007FE40
lbl_8007FDE0:
/* 8007FDE0 0007CD40 7F 23 CB 78 */ mr r3, r25
/* 8007FDE4 0007CD44 3A E0 00 00 */ li r23, 0
/* 8007FDE8 0007CD48 3B 80 00 01 */ li r28, 1
/* 8007FDEC 0007CD4C 48 30 9B 11 */ bl __ptmf_test
/* 8007FDF0 0007CD50 2C 03 00 00 */ cmpwi r3, 0
/* 8007FDF4 0007CD54 41 82 00 38 */ beq lbl_8007FE2C
/* 8007FDF8 0007CD58 C0 39 00 0C */ lfs f1, 0xc(r25)
/* 8007FDFC 0007CD5C 7F E3 FB 78 */ mr r3, r31
/* 8007FE00 0007CD60 7F C4 F3 78 */ mr r4, r30
/* 8007FE04 0007CD64 7F 2C CB 78 */ mr r12, r25
/* 8007FE08 0007CD68 48 30 9B 25 */ bl __ptmf_scall
/* 8007FE0C 0007CD6C 60 00 00 00 */ nop
/* 8007FE10 0007CD70 88 19 00 18 */ lbz r0, 0x18(r25)
/* 8007FE14 0007CD74 7C 7C 1B 78 */ mr r28, r3
/* 8007FE18 0007CD78 28 00 00 00 */ cmplwi r0, 0
/* 8007FE1C 0007CD7C 41 82 00 10 */ beq lbl_8007FE2C
/* 8007FE20 0007CD80 57 80 06 3E */ clrlwi r0, r28, 0x18
/* 8007FE24 0007CD84 7C 00 00 34 */ cntlzw r0, r0
/* 8007FE28 0007CD88 54 1C D9 7E */ srwi r28, r0, 5
lbl_8007FE2C:
/* 8007FE2C 0007CD8C 57 80 06 3F */ clrlwi. r0, r28, 0x18
/* 8007FE30 0007CD90 41 82 00 10 */ beq lbl_8007FE40
/* 8007FE34 0007CD94 83 19 00 14 */ lwz r24, 0x14(r25)
/* 8007FE38 0007CD98 3A E0 00 01 */ li r23, 1
/* 8007FE3C 0007CD9C 83 39 00 10 */ lwz r25, 0x10(r25)
lbl_8007FE40:
/* 8007FE40 0007CDA0 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 8007FE44 0007CDA4 41 82 00 0C */ beq lbl_8007FE50
/* 8007FE48 0007CDA8 28 19 00 00 */ cmplwi r25, 0
/* 8007FE4C 0007CDAC 40 82 FF 94 */ bne lbl_8007FDE0
lbl_8007FE50:
/* 8007FE50 0007CDB0 56 E0 06 3F */ clrlwi. r0, r23, 0x18
/* 8007FE54 0007CDB4 41 82 00 98 */ beq lbl_8007FEEC
/* 8007FE58 0007CDB8 28 18 00 00 */ cmplwi r24, 0
/* 8007FE5C 0007CDBC 41 82 00 90 */ beq lbl_8007FEEC
/* 8007FE60 0007CDC0 83 9D 00 04 */ lwz r28, 4(r29)
/* 8007FE64 0007CDC4 7F 83 E3 78 */ mr r3, r28
/* 8007FE68 0007CDC8 48 30 9A 95 */ bl __ptmf_test
/* 8007FE6C 0007CDCC 2C 03 00 00 */ cmpwi r3, 0
/* 8007FE70 0007CDD0 41 82 00 20 */ beq lbl_8007FE90
/* 8007FE74 0007CDD4 C0 22 89 80 */ lfs f1, lbl_805AA6A0@sda21(r2)
/* 8007FE78 0007CDD8 7F E3 FB 78 */ mr r3, r31
/* 8007FE7C 0007CDDC 7F C4 F3 78 */ mr r4, r30
/* 8007FE80 0007CDE0 7F 8C E3 78 */ mr r12, r28
/* 8007FE84 0007CDE4 38 A0 00 02 */ li r5, 2
/* 8007FE88 0007CDE8 48 30 9A A5 */ bl __ptmf_scall
/* 8007FE8C 0007CDEC 60 00 00 00 */ nop
lbl_8007FE90:
/* 8007FE90 0007CDF0 93 1D 00 04 */ stw r24, 4(r29)
/* 8007FE94 0007CDF4 38 60 00 00 */ li r3, 0
/* 8007FE98 0007CDF8 C0 02 89 80 */ lfs f0, lbl_805AA6A0@sda21(r2)
/* 8007FE9C 0007CDFC D0 1D 00 08 */ stfs f0, 8(r29)
/* 8007FEA0 0007CE00 88 1D 00 18 */ lbz r0, 0x18(r29)
/* 8007FEA4 0007CE04 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 8007FEA8 0007CE08 98 1D 00 18 */ stb r0, 0x18(r29)
/* 8007FEAC 0007CE0C 80 7E 09 00 */ lwz r3, 0x900(r30)
/* 8007FEB0 0007CE10 48 29 26 2D */ bl Float__9CRandom16Fv
/* 8007FEB4 0007CE14 D0 3D 00 0C */ stfs f1, 0xc(r29)
/* 8007FEB8 0007CE18 83 9D 00 04 */ lwz r28, 4(r29)
/* 8007FEBC 0007CE1C 7F 83 E3 78 */ mr r3, r28
/* 8007FEC0 0007CE20 48 30 9A 3D */ bl __ptmf_test
/* 8007FEC4 0007CE24 2C 03 00 00 */ cmpwi r3, 0
/* 8007FEC8 0007CE28 41 82 00 3C */ beq lbl_8007FF04
/* 8007FECC 0007CE2C C0 22 89 80 */ lfs f1, lbl_805AA6A0@sda21(r2)
/* 8007FED0 0007CE30 7F E3 FB 78 */ mr r3, r31
/* 8007FED4 0007CE34 7F C4 F3 78 */ mr r4, r30
/* 8007FED8 0007CE38 7F 8C E3 78 */ mr r12, r28
/* 8007FEDC 0007CE3C 38 A0 00 00 */ li r5, 0
/* 8007FEE0 0007CE40 48 30 9A 4D */ bl __ptmf_scall
/* 8007FEE4 0007CE44 60 00 00 00 */ nop
/* 8007FEE8 0007CE48 48 00 00 1C */ b lbl_8007FF04
lbl_8007FEEC:
/* 8007FEEC 0007CE4C 3B 7B 00 1C */ addi r27, r27, 0x1c
/* 8007FEF0 0007CE50 3B 5A 00 01 */ addi r26, r26, 1
lbl_8007FEF4:
/* 8007FEF4 0007CE54 80 7D 00 04 */ lwz r3, 4(r29)
/* 8007FEF8 0007CE58 80 03 00 2C */ lwz r0, 0x2c(r3)
/* 8007FEFC 0007CE5C 7C 1A 00 00 */ cmpw r26, r0
/* 8007FF00 0007CE60 41 80 FE CC */ blt lbl_8007FDCC
lbl_8007FF04:
/* 8007FF04 0007CE64 E3 E1 00 38 */ psq_l f31, 56(r1), 0, qr0
/* 8007FF08 0007CE68 CB E1 00 30 */ lfd f31, 0x30(r1)
/* 8007FF0C 0007CE6C BA E1 00 0C */ lmw r23, 0xc(r1)
/* 8007FF10 0007CE70 80 01 00 44 */ lwz r0, 0x44(r1)
/* 8007FF14 0007CE74 7C 08 03 A6 */ mtlr r0
/* 8007FF18 0007CE78 38 21 00 40 */ addi r1, r1, 0x40
/* 8007FF1C 0007CE7C 4E 80 00 20 */ blr
.global "reserve__Q24rstl44vector<8CAiState,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl44vector<8CAiState,Q24rstl17rmemory_allocator>Fi":
/* 8007FF20 0007CE80 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8007FF24 0007CE84 7C 08 02 A6 */ mflr r0
/* 8007FF28 0007CE88 90 01 00 34 */ stw r0, 0x34(r1)
/* 8007FF2C 0007CE8C 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8007FF30 0007CE90 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8007FF34 0007CE94 7C 9E 23 78 */ mr r30, r4
/* 8007FF38 0007CE98 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8007FF3C 0007CE9C 7C 7D 1B 78 */ mr r29, r3
/* 8007FF40 0007CEA0 80 03 00 08 */ lwz r0, 8(r3)
/* 8007FF44 0007CEA4 7C 1E 00 00 */ cmpw r30, r0
/* 8007FF48 0007CEA8 40 81 01 0C */ ble lbl_80080054
/* 8007FF4C 0007CEAC 1C 7E 00 34 */ mulli r3, r30, 0x34
/* 8007FF50 0007CEB0 2C 03 00 00 */ cmpwi r3, 0
/* 8007FF54 0007CEB4 40 82 00 0C */ bne lbl_8007FF60
/* 8007FF58 0007CEB8 3B E0 00 00 */ li r31, 0
/* 8007FF5C 0007CEBC 48 00 00 18 */ b lbl_8007FF74
lbl_8007FF60:
/* 8007FF60 0007CEC0 3C 80 80 3D */ lis r4, lbl_803CD628@ha
/* 8007FF64 0007CEC4 38 A0 00 00 */ li r5, 0
/* 8007FF68 0007CEC8 38 84 D6 28 */ addi r4, r4, lbl_803CD628@l
/* 8007FF6C 0007CECC 48 29 58 AD */ bl __nwa__FUlPCcPCc
/* 8007FF70 0007CED0 7C 7F 1B 78 */ mr r31, r3
lbl_8007FF74:
/* 8007FF74 0007CED4 80 1D 00 04 */ lwz r0, 4(r29)
/* 8007FF78 0007CED8 7F E5 FB 78 */ mr r5, r31
/* 8007FF7C 0007CEDC 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 8007FF80 0007CEE0 1C 00 00 34 */ mulli r0, r0, 0x34
/* 8007FF84 0007CEE4 90 C1 00 10 */ stw r6, 0x10(r1)
/* 8007FF88 0007CEE8 7C 86 02 14 */ add r4, r6, r0
/* 8007FF8C 0007CEEC 90 C1 00 14 */ stw r6, 0x14(r1)
/* 8007FF90 0007CEF0 90 81 00 08 */ stw r4, 8(r1)
/* 8007FF94 0007CEF4 90 81 00 0C */ stw r4, 0xc(r1)
/* 8007FF98 0007CEF8 48 00 00 7C */ b lbl_80080014
lbl_8007FF9C:
/* 8007FF9C 0007CEFC 28 05 00 00 */ cmplwi r5, 0
/* 8007FFA0 0007CF00 41 82 00 6C */ beq lbl_8008000C
/* 8007FFA4 0007CF04 80 66 00 00 */ lwz r3, 0(r6)
/* 8007FFA8 0007CF08 80 06 00 04 */ lwz r0, 4(r6)
/* 8007FFAC 0007CF0C 90 65 00 00 */ stw r3, 0(r5)
/* 8007FFB0 0007CF10 90 05 00 04 */ stw r0, 4(r5)
/* 8007FFB4 0007CF14 80 06 00 08 */ lwz r0, 8(r6)
/* 8007FFB8 0007CF18 90 05 00 08 */ stw r0, 8(r5)
/* 8007FFBC 0007CF1C 80 66 00 0C */ lwz r3, 0xc(r6)
/* 8007FFC0 0007CF20 80 06 00 10 */ lwz r0, 0x10(r6)
/* 8007FFC4 0007CF24 90 65 00 0C */ stw r3, 0xc(r5)
/* 8007FFC8 0007CF28 90 05 00 10 */ stw r0, 0x10(r5)
/* 8007FFCC 0007CF2C 80 66 00 14 */ lwz r3, 0x14(r6)
/* 8007FFD0 0007CF30 80 06 00 18 */ lwz r0, 0x18(r6)
/* 8007FFD4 0007CF34 90 65 00 14 */ stw r3, 0x14(r5)
/* 8007FFD8 0007CF38 90 05 00 18 */ stw r0, 0x18(r5)
/* 8007FFDC 0007CF3C 80 66 00 1C */ lwz r3, 0x1c(r6)
/* 8007FFE0 0007CF40 80 06 00 20 */ lwz r0, 0x20(r6)
/* 8007FFE4 0007CF44 90 65 00 1C */ stw r3, 0x1c(r5)
/* 8007FFE8 0007CF48 90 05 00 20 */ stw r0, 0x20(r5)
/* 8007FFEC 0007CF4C 80 66 00 24 */ lwz r3, 0x24(r6)
/* 8007FFF0 0007CF50 80 06 00 28 */ lwz r0, 0x28(r6)
/* 8007FFF4 0007CF54 90 65 00 24 */ stw r3, 0x24(r5)
/* 8007FFF8 0007CF58 90 05 00 28 */ stw r0, 0x28(r5)
/* 8007FFFC 0007CF5C 80 06 00 2C */ lwz r0, 0x2c(r6)
/* 80080000 0007CF60 90 05 00 2C */ stw r0, 0x2c(r5)
/* 80080004 0007CF64 80 06 00 30 */ lwz r0, 0x30(r6)
/* 80080008 0007CF68 90 05 00 30 */ stw r0, 0x30(r5)
lbl_8008000C:
/* 8008000C 0007CF6C 38 A5 00 34 */ addi r5, r5, 0x34
/* 80080010 0007CF70 38 C6 00 34 */ addi r6, r6, 0x34
lbl_80080014:
/* 80080014 0007CF74 7C 06 20 40 */ cmplw r6, r4
/* 80080018 0007CF78 40 82 FF 84 */ bne lbl_8007FF9C
/* 8008001C 0007CF7C 80 1D 00 04 */ lwz r0, 4(r29)
/* 80080020 0007CF80 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 80080024 0007CF84 1C 00 00 34 */ mulli r0, r0, 0x34
/* 80080028 0007CF88 7C 64 1B 78 */ mr r4, r3
/* 8008002C 0007CF8C 7C 03 02 14 */ add r0, r3, r0
/* 80080030 0007CF90 48 00 00 08 */ b lbl_80080038
lbl_80080034:
/* 80080034 0007CF94 38 84 00 34 */ addi r4, r4, 0x34
lbl_80080038:
/* 80080038 0007CF98 7C 04 00 40 */ cmplw r4, r0
/* 8008003C 0007CF9C 40 82 FF F8 */ bne lbl_80080034
/* 80080040 0007CFA0 28 03 00 00 */ cmplwi r3, 0
/* 80080044 0007CFA4 41 82 00 08 */ beq lbl_8008004C
/* 80080048 0007CFA8 48 29 58 E9 */ bl Free__7CMemoryFPCv
lbl_8008004C:
/* 8008004C 0007CFAC 93 FD 00 0C */ stw r31, 0xc(r29)
/* 80080050 0007CFB0 93 DD 00 08 */ stw r30, 8(r29)
lbl_80080054:
/* 80080054 0007CFB4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80080058 0007CFB8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8008005C 0007CFBC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80080060 0007CFC0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80080064 0007CFC4 7C 08 03 A6 */ mtlr r0
/* 80080068 0007CFC8 38 21 00 30 */ addi r1, r1, 0x30
/* 8008006C 0007CFCC 4E 80 00 20 */ blr
.global "reserve__Q24rstl47vector<10CAiTrigger,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl47vector<10CAiTrigger,Q24rstl17rmemory_allocator>Fi":
/* 80080070 0007CFD0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 80080074 0007CFD4 7C 08 02 A6 */ mflr r0
/* 80080078 0007CFD8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8008007C 0007CFDC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 80080080 0007CFE0 7C 9F 23 78 */ mr r31, r4
/* 80080084 0007CFE4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 80080088 0007CFE8 7C 7E 1B 78 */ mr r30, r3
/* 8008008C 0007CFEC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 80080090 0007CFF0 80 03 00 08 */ lwz r0, 8(r3)
/* 80080094 0007CFF4 7C 1F 00 00 */ cmpw r31, r0
/* 80080098 0007CFF8 40 81 00 DC */ ble lbl_80080174
/* 8008009C 0007CFFC 1C 7F 00 1C */ mulli r3, r31, 0x1c
/* 800800A0 0007D000 2C 03 00 00 */ cmpwi r3, 0
/* 800800A4 0007D004 40 82 00 0C */ bne lbl_800800B0
/* 800800A8 0007D008 3B A0 00 00 */ li r29, 0
/* 800800AC 0007D00C 48 00 00 18 */ b lbl_800800C4
lbl_800800B0:
/* 800800B0 0007D010 3C 80 80 3D */ lis r4, lbl_803CD628@ha
/* 800800B4 0007D014 38 A0 00 00 */ li r5, 0
/* 800800B8 0007D018 38 84 D6 28 */ addi r4, r4, lbl_803CD628@l
/* 800800BC 0007D01C 48 29 57 5D */ bl __nwa__FUlPCcPCc
/* 800800C0 0007D020 7C 7D 1B 78 */ mr r29, r3
lbl_800800C4:
/* 800800C4 0007D024 80 1E 00 04 */ lwz r0, 4(r30)
/* 800800C8 0007D028 7F A5 EB 78 */ mr r5, r29
/* 800800CC 0007D02C 80 DE 00 0C */ lwz r6, 0xc(r30)
/* 800800D0 0007D030 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 800800D4 0007D034 90 C1 00 10 */ stw r6, 0x10(r1)
/* 800800D8 0007D038 7C 86 02 14 */ add r4, r6, r0
/* 800800DC 0007D03C 90 C1 00 14 */ stw r6, 0x14(r1)
/* 800800E0 0007D040 90 81 00 08 */ stw r4, 8(r1)
/* 800800E4 0007D044 90 81 00 0C */ stw r4, 0xc(r1)
/* 800800E8 0007D048 48 00 00 4C */ b lbl_80080134
lbl_800800EC:
/* 800800EC 0007D04C 28 05 00 00 */ cmplwi r5, 0
/* 800800F0 0007D050 41 82 00 3C */ beq lbl_8008012C
/* 800800F4 0007D054 80 66 00 00 */ lwz r3, 0(r6)
/* 800800F8 0007D058 80 06 00 04 */ lwz r0, 4(r6)
/* 800800FC 0007D05C 90 65 00 00 */ stw r3, 0(r5)
/* 80080100 0007D060 90 05 00 04 */ stw r0, 4(r5)
/* 80080104 0007D064 80 06 00 08 */ lwz r0, 8(r6)
/* 80080108 0007D068 90 05 00 08 */ stw r0, 8(r5)
/* 8008010C 0007D06C C0 06 00 0C */ lfs f0, 0xc(r6)
/* 80080110 0007D070 D0 05 00 0C */ stfs f0, 0xc(r5)
/* 80080114 0007D074 80 06 00 10 */ lwz r0, 0x10(r6)
/* 80080118 0007D078 90 05 00 10 */ stw r0, 0x10(r5)
/* 8008011C 0007D07C 80 06 00 14 */ lwz r0, 0x14(r6)
/* 80080120 0007D080 90 05 00 14 */ stw r0, 0x14(r5)
/* 80080124 0007D084 88 06 00 18 */ lbz r0, 0x18(r6)
/* 80080128 0007D088 98 05 00 18 */ stb r0, 0x18(r5)
lbl_8008012C:
/* 8008012C 0007D08C 38 A5 00 1C */ addi r5, r5, 0x1c
/* 80080130 0007D090 38 C6 00 1C */ addi r6, r6, 0x1c
lbl_80080134:
/* 80080134 0007D094 7C 06 20 40 */ cmplw r6, r4
/* 80080138 0007D098 40 82 FF B4 */ bne lbl_800800EC
/* 8008013C 0007D09C 80 1E 00 04 */ lwz r0, 4(r30)
/* 80080140 0007D0A0 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 80080144 0007D0A4 1C 00 00 1C */ mulli r0, r0, 0x1c
/* 80080148 0007D0A8 7C 64 1B 78 */ mr r4, r3
/* 8008014C 0007D0AC 7C 03 02 14 */ add r0, r3, r0
/* 80080150 0007D0B0 48 00 00 08 */ b lbl_80080158
lbl_80080154:
/* 80080154 0007D0B4 38 84 00 1C */ addi r4, r4, 0x1c
lbl_80080158:
/* 80080158 0007D0B8 7C 04 00 40 */ cmplw r4, r0
/* 8008015C 0007D0BC 40 82 FF F8 */ bne lbl_80080154
/* 80080160 0007D0C0 28 03 00 00 */ cmplwi r3, 0
/* 80080164 0007D0C4 41 82 00 08 */ beq lbl_8008016C
/* 80080168 0007D0C8 48 29 57 C9 */ bl Free__7CMemoryFPCv
lbl_8008016C:
/* 8008016C 0007D0CC 93 BE 00 0C */ stw r29, 0xc(r30)
/* 80080170 0007D0D0 93 FE 00 08 */ stw r31, 8(r30)
lbl_80080174:
/* 80080174 0007D0D4 80 01 00 34 */ lwz r0, 0x34(r1)
/* 80080178 0007D0D8 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8008017C 0007D0DC 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 80080180 0007D0E0 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 80080184 0007D0E4 7C 08 03 A6 */ mtlr r0
/* 80080188 0007D0E8 38 21 00 30 */ addi r1, r1, 0x30
/* 8008018C 0007D0EC 4E 80 00 20 */ blr
.section .rodata
.balign 8
.global lbl_803CD628
lbl_803CD628:
# ROM: 0x3CA628
.asciz "??(??)"
.balign 4