prime/asm/MetroidPrime/Player/CGameState.s

3366 lines
158 KiB
ArmAsm
Raw Normal View History

.include "macros.inc"
.section .sdata
.balign 8
.global lbl_805A7D58
lbl_805A7D58:
# ROM: 0x3F56F8
.byte 0x00
.global lbl_805A7D59
lbl_805A7D59:
# ROM: 0x3F56F9
.byte 0x00
.global lbl_805A7D5A
lbl_805A7D5A:
# ROM: 0x3F56FA
.byte 0x00
.global lbl_805A7D5B
lbl_805A7D5B:
# ROM: 0x3F56FB
.byte 0x00
.global lbl_805A7D5C
lbl_805A7D5C:
# ROM: 0x3F56FC
.4byte 0
.global lbl_805A7D60
lbl_805A7D60:
# ROM: 0x3F5700
.4byte 0x00000003
.global lbl_805A7D64
lbl_805A7D64:
# ROM: 0x3F5704
.4byte 0x00000003
.global lbl_805A7D68
lbl_805A7D68:
# ROM: 0x3F5708
.4byte 0x00000001
.global lbl_805A7D6C
lbl_805A7D6C:
# ROM: 0x3F570C
.byte 0x00
.global lbl_805A7D6D
lbl_805A7D6D:
# ROM: 0x3F570D
.byte 0x00
.global lbl_805A7D6E
lbl_805A7D6E:
# ROM: 0x3F570E
.2byte 0x00000000
.global lbl_805A7D70
lbl_805A7D70:
# ROM: 0x3F5710
.4byte 0
.4byte 0
.section .text, "ax"
.global SetDeferPowerupInit__10CGameStateFb
SetDeferPowerupInit__10CGameStateFb:
/* 801D389C 001D07FC 88 03 02 28 */ lbz r0, 0x228(r3)
/* 801D38A0 001D0800 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 801D38A4 001D0804 98 03 02 28 */ stb r0, 0x228(r3)
/* 801D38A8 001D0808 4E 80 00 20 */ blr
.global GetHardModeWeaponMultiplier__10CGameStateCFv
GetHardModeWeaponMultiplier__10CGameStateCFv:
/* 801D38AC 001D080C 80 6D A1 20 */ lwz r3, gpTweakGame@sda21(r13)
/* 801D38B0 001D0810 C0 23 00 64 */ lfs f1, 0x64(r3)
/* 801D38B4 001D0814 4E 80 00 20 */ blr
.global GetHardModeDamageMultiplier__10CGameStateCFv
GetHardModeDamageMultiplier__10CGameStateCFv:
/* 801D38B8 001D0818 80 6D A1 20 */ lwz r3, gpTweakGame@sda21(r13)
/* 801D38BC 001D081C C0 23 00 60 */ lfs f1, 0x60(r3)
/* 801D38C0 001D0820 4E 80 00 20 */ blr
.global SetHardMode__10CGameStateFb
SetHardMode__10CGameStateFb:
/* 801D38C4 001D0824 88 03 02 28 */ lbz r0, 0x228(r3)
/* 801D38C8 001D0828 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801D38CC 001D082C 98 03 02 28 */ stb r0, 0x228(r3)
/* 801D38D0 001D0830 4E 80 00 20 */ blr
.global SetTotalPlayTime__10CGameStateFd
SetTotalPlayTime__10CGameStateFd:
/* 801D38D4 001D0834 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D38D8 001D0838 7C 08 02 A6 */ mflr r0
/* 801D38DC 001D083C 38 A2 AC 20 */ addi r5, r2, lbl_805AC940@sda21
/* 801D38E0 001D0840 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D38E4 001D0844 38 81 00 08 */ addi r4, r1, 8
/* 801D38E8 001D0848 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D38EC 001D084C 7C 7F 1B 78 */ mr r31, r3
/* 801D38F0 001D0850 38 6D 91 B0 */ addi r3, r13, lbl_805A7D70@sda21
/* 801D38F4 001D0854 D8 21 00 08 */ stfd f1, 8(r1)
/* 801D38F8 001D0858 48 00 27 D9 */ bl "Clamp<d>__5CMathFRCdRCdRCd"
/* 801D38FC 001D085C C8 03 00 00 */ lfd f0, 0(r3)
/* 801D3900 001D0860 D8 1F 00 A0 */ stfd f0, 0xa0(r31)
/* 801D3904 001D0864 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D3908 001D0868 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D390C 001D086C 7C 08 03 A6 */ mtlr r0
/* 801D3910 001D0870 38 21 00 20 */ addi r1, r1, 0x20
/* 801D3914 001D0874 4E 80 00 20 */ blr
.global WorldTransitionManager__10CGameStateFv
WorldTransitionManager__10CGameStateFv:
/* 801D3918 001D0878 38 63 00 9C */ addi r3, r3, 0x9c
/* 801D391C 001D087C 4E 80 00 20 */ blr
.global GetPlayerState__10CGameStateCFv
GetPlayerState__10CGameStateCFv:
/* 801D3920 001D0880 80 04 00 98 */ lwz r0, 0x98(r4)
/* 801D3924 001D0884 90 03 00 00 */ stw r0, 0(r3)
/* 801D3928 001D0888 80 83 00 00 */ lwz r4, 0(r3)
/* 801D392C 001D088C 80 64 00 04 */ lwz r3, 4(r4)
/* 801D3930 001D0890 38 03 00 01 */ addi r0, r3, 1
/* 801D3934 001D0894 90 04 00 04 */ stw r0, 4(r4)
/* 801D3938 001D0898 4E 80 00 20 */ blr
.global PlayerState__10CGameStateFv
PlayerState__10CGameStateFv:
/* 801D393C 001D089C 38 63 00 98 */ addi r3, r3, 0x98
/* 801D3940 001D08A0 4E 80 00 20 */ blr
.global SetCurrentWorldId__10CGameStateFUi
SetCurrentWorldId__10CGameStateFUi:
/* 801D3944 001D08A4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D3948 001D08A8 7C 08 02 A6 */ mflr r0
/* 801D394C 001D08AC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3950 001D08B0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D3954 001D08B4 7C 9F 23 78 */ mr r31, r4
/* 801D3958 001D08B8 93 C1 00 08 */ stw r30, 8(r1)
/* 801D395C 001D08BC 7C 7E 1B 78 */ mr r30, r3
/* 801D3960 001D08C0 48 00 00 79 */ bl StateForWorld__10CGameStateFUi
/* 801D3964 001D08C4 93 FE 00 84 */ stw r31, 0x84(r30)
/* 801D3968 001D08C8 7F E3 FB 78 */ mr r3, r31
/* 801D396C 001D08CC 4B E3 0F 11 */ bl EnsureWorldPakReady__5CMainFUi
/* 801D3970 001D08D0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D3974 001D08D4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D3978 001D08D8 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D397C 001D08DC 7C 08 03 A6 */ mtlr r0
/* 801D3980 001D08E0 38 21 00 10 */ addi r1, r1, 0x10
/* 801D3984 001D08E4 4E 80 00 20 */ blr
.global GetCurrentWorldState__10CGameStateCFv
GetCurrentWorldState__10CGameStateCFv:
/* 801D3988 001D08E8 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D398C 001D08EC 7C 08 02 A6 */ mflr r0
/* 801D3990 001D08F0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3994 001D08F4 80 83 00 84 */ lwz r4, 0x84(r3)
/* 801D3998 001D08F8 48 00 00 41 */ bl StateForWorld__10CGameStateFUi
/* 801D399C 001D08FC 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D39A0 001D0900 7C 08 03 A6 */ mtlr r0
/* 801D39A4 001D0904 38 21 00 10 */ addi r1, r1, 0x10
/* 801D39A8 001D0908 4E 80 00 20 */ blr
.global CurrentWorldState__10CGameStateFv
CurrentWorldState__10CGameStateFv:
/* 801D39AC 001D090C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D39B0 001D0910 7C 08 02 A6 */ mflr r0
/* 801D39B4 001D0914 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D39B8 001D0918 80 83 00 84 */ lwz r4, 0x84(r3)
/* 801D39BC 001D091C 48 00 00 1D */ bl StateForWorld__10CGameStateFUi
/* 801D39C0 001D0920 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D39C4 001D0924 7C 08 03 A6 */ mtlr r0
/* 801D39C8 001D0928 38 21 00 10 */ addi r1, r1, 0x10
/* 801D39CC 001D092C 4E 80 00 20 */ blr
.global CurrentWorldAssetId__10CGameStateCFv
CurrentWorldAssetId__10CGameStateCFv:
/* 801D39D0 001D0930 80 63 00 84 */ lwz r3, 0x84(r3)
/* 801D39D4 001D0934 4E 80 00 20 */ blr
.global StateForWorld__10CGameStateFUi
StateForWorld__10CGameStateFUi:
/* 801D39D8 001D0938 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D39DC 001D093C 7C 08 02 A6 */ mflr r0
/* 801D39E0 001D0940 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D39E4 001D0944 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D39E8 001D0948 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D39EC 001D094C 7C 9E 23 78 */ mr r30, r4
/* 801D39F0 001D0950 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D39F4 001D0954 7C 7D 1B 78 */ mr r29, r3
/* 801D39F8 001D0958 83 E3 00 94 */ lwz r31, 0x94(r3)
/* 801D39FC 001D095C 48 00 00 18 */ b lbl_801D3A14
lbl_801D3A00:
/* 801D3A00 001D0960 7F E3 FB 78 */ mr r3, r31
/* 801D3A04 001D0964 48 00 13 8D */ bl GetWorldAssetId__11CWorldStateCFv
/* 801D3A08 001D0968 7C 1E 18 40 */ cmplw r30, r3
/* 801D3A0C 001D096C 41 82 00 20 */ beq lbl_801D3A2C
/* 801D3A10 001D0970 3B FF 00 18 */ addi r31, r31, 0x18
lbl_801D3A14:
/* 801D3A14 001D0974 80 1D 00 8C */ lwz r0, 0x8c(r29)
/* 801D3A18 001D0978 80 7D 00 94 */ lwz r3, 0x94(r29)
/* 801D3A1C 001D097C 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801D3A20 001D0980 7C 03 02 14 */ add r0, r3, r0
/* 801D3A24 001D0984 7C 1F 00 40 */ cmplw r31, r0
/* 801D3A28 001D0988 40 82 FF D8 */ bne lbl_801D3A00
lbl_801D3A2C:
/* 801D3A2C 001D098C 80 9D 00 8C */ lwz r4, 0x8c(r29)
/* 801D3A30 001D0990 80 7D 00 94 */ lwz r3, 0x94(r29)
/* 801D3A34 001D0994 1C 04 00 18 */ mulli r0, r4, 0x18
/* 801D3A38 001D0998 7C 03 02 14 */ add r0, r3, r0
/* 801D3A3C 001D099C 7C 1F 00 40 */ cmplw r31, r0
/* 801D3A40 001D09A0 41 82 00 0C */ beq lbl_801D3A4C
/* 801D3A44 001D09A4 7F E3 FB 78 */ mr r3, r31
/* 801D3A48 001D09A8 48 00 00 78 */ b lbl_801D3AC0
lbl_801D3A4C:
/* 801D3A4C 001D09AC 38 7D 00 88 */ addi r3, r29, 0x88
/* 801D3A50 001D09B0 38 84 00 01 */ addi r4, r4, 1
/* 801D3A54 001D09B4 48 00 28 95 */ bl "reserve__Q24rstl48vector<11CWorldState,Q24rstl17rmemory_allocator>Fi"
/* 801D3A58 001D09B8 7F C4 F3 78 */ mr r4, r30
/* 801D3A5C 001D09BC 38 61 00 08 */ addi r3, r1, 8
/* 801D3A60 001D09C0 48 00 16 11 */ bl __ct__11CWorldStateFUi
/* 801D3A64 001D09C4 38 7D 00 88 */ addi r3, r29, 0x88
/* 801D3A68 001D09C8 38 81 00 08 */ addi r4, r1, 8
/* 801D3A6C 001D09CC 48 00 00 71 */ bl __ct__11CWorldStateFRC11CWorldState
/* 801D3A70 001D09D0 34 61 00 1C */ addic. r3, r1, 0x1c
/* 801D3A74 001D09D4 41 82 00 10 */ beq lbl_801D3A84
/* 801D3A78 001D09D8 28 03 00 00 */ cmplwi r3, 0
/* 801D3A7C 001D09DC 41 82 00 08 */ beq lbl_801D3A84
/* 801D3A80 001D09E0 4B E3 53 4D */ bl sub_80008dcc
lbl_801D3A84:
/* 801D3A84 001D09E4 34 61 00 14 */ addic. r3, r1, 0x14
/* 801D3A88 001D09E8 41 82 00 10 */ beq lbl_801D3A98
/* 801D3A8C 001D09EC 28 03 00 00 */ cmplwi r3, 0
/* 801D3A90 001D09F0 41 82 00 08 */ beq lbl_801D3A98
/* 801D3A94 001D09F4 4B E3 51 A9 */ bl sub_80008c3c
lbl_801D3A98:
/* 801D3A98 001D09F8 34 61 00 10 */ addic. r3, r1, 0x10
/* 801D3A9C 001D09FC 41 82 00 10 */ beq lbl_801D3AAC
/* 801D3AA0 001D0A00 28 03 00 00 */ cmplwi r3, 0
/* 801D3AA4 001D0A04 41 82 00 08 */ beq lbl_801D3AAC
/* 801D3AA8 001D0A08 4B E3 4B 99 */ bl __dt__11CWorldStateFv
lbl_801D3AAC:
/* 801D3AAC 001D0A0C 80 7D 00 8C */ lwz r3, 0x8c(r29)
/* 801D3AB0 001D0A10 80 9D 00 94 */ lwz r4, 0x94(r29)
/* 801D3AB4 001D0A14 38 03 FF FF */ addi r0, r3, -1
/* 801D3AB8 001D0A18 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801D3ABC 001D0A1C 7C 64 02 14 */ add r3, r4, r0
lbl_801D3AC0:
/* 801D3AC0 001D0A20 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D3AC4 001D0A24 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D3AC8 001D0A28 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D3ACC 001D0A2C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D3AD0 001D0A30 7C 08 03 A6 */ mtlr r0
/* 801D3AD4 001D0A34 38 21 00 30 */ addi r1, r1, 0x30
/* 801D3AD8 001D0A38 4E 80 00 20 */ blr
.global __ct__11CWorldStateFRC11CWorldState
__ct__11CWorldStateFRC11CWorldState:
/* 801D3ADC 001D0A3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D3AE0 001D0A40 7C 08 02 A6 */ mflr r0
/* 801D3AE4 001D0A44 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3AE8 001D0A48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D3AEC 001D0A4C 7C 9F 23 78 */ mr r31, r4
/* 801D3AF0 001D0A50 93 C1 00 08 */ stw r30, 8(r1)
/* 801D3AF4 001D0A54 7C 7E 1B 78 */ mr r30, r3
/* 801D3AF8 001D0A58 80 03 00 04 */ lwz r0, 4(r3)
/* 801D3AFC 001D0A5C 80 A3 00 08 */ lwz r5, 8(r3)
/* 801D3B00 001D0A60 7C 00 28 00 */ cmpw r0, r5
/* 801D3B04 001D0A64 41 80 00 18 */ blt lbl_801D3B1C
/* 801D3B08 001D0A68 2C 05 00 00 */ cmpwi r5, 0
/* 801D3B0C 001D0A6C 38 80 00 04 */ li r4, 4
/* 801D3B10 001D0A70 41 82 00 08 */ beq lbl_801D3B18
/* 801D3B14 001D0A74 54 A4 08 3C */ slwi r4, r5, 1
lbl_801D3B18:
/* 801D3B18 001D0A78 48 00 27 D1 */ bl "reserve__Q24rstl48vector<11CWorldState,Q24rstl17rmemory_allocator>Fi"
lbl_801D3B1C:
/* 801D3B1C 001D0A7C 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D3B20 001D0A80 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801D3B24 001D0A84 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801D3B28 001D0A88 7C A3 02 15 */ add. r5, r3, r0
/* 801D3B2C 001D0A8C 41 82 00 64 */ beq lbl_801D3B90
/* 801D3B30 001D0A90 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D3B34 001D0A94 90 05 00 00 */ stw r0, 0(r5)
/* 801D3B38 001D0A98 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D3B3C 001D0A9C 90 05 00 04 */ stw r0, 4(r5)
/* 801D3B40 001D0AA0 80 1F 00 08 */ lwz r0, 8(r31)
/* 801D3B44 001D0AA4 90 05 00 08 */ stw r0, 8(r5)
/* 801D3B48 001D0AA8 80 85 00 08 */ lwz r4, 8(r5)
/* 801D3B4C 001D0AAC 80 64 00 04 */ lwz r3, 4(r4)
/* 801D3B50 001D0AB0 38 03 00 01 */ addi r0, r3, 1
/* 801D3B54 001D0AB4 90 04 00 04 */ stw r0, 4(r4)
/* 801D3B58 001D0AB8 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 801D3B5C 001D0ABC 90 05 00 0C */ stw r0, 0xc(r5)
/* 801D3B60 001D0AC0 80 85 00 0C */ lwz r4, 0xc(r5)
/* 801D3B64 001D0AC4 80 64 00 04 */ lwz r3, 4(r4)
/* 801D3B68 001D0AC8 38 03 00 01 */ addi r0, r3, 1
/* 801D3B6C 001D0ACC 90 04 00 04 */ stw r0, 4(r4)
/* 801D3B70 001D0AD0 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 801D3B74 001D0AD4 90 05 00 10 */ stw r0, 0x10(r5)
/* 801D3B78 001D0AD8 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 801D3B7C 001D0ADC 90 05 00 14 */ stw r0, 0x14(r5)
/* 801D3B80 001D0AE0 80 85 00 14 */ lwz r4, 0x14(r5)
/* 801D3B84 001D0AE4 80 64 00 04 */ lwz r3, 4(r4)
/* 801D3B88 001D0AE8 38 03 00 01 */ addi r0, r3, 1
/* 801D3B8C 001D0AEC 90 04 00 04 */ stw r0, 4(r4)
lbl_801D3B90:
/* 801D3B90 001D0AF0 80 7E 00 04 */ lwz r3, 4(r30)
/* 801D3B94 001D0AF4 38 03 00 01 */ addi r0, r3, 1
/* 801D3B98 001D0AF8 90 1E 00 04 */ stw r0, 4(r30)
/* 801D3B9C 001D0AFC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D3BA0 001D0B00 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D3BA4 001D0B04 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D3BA8 001D0B08 7C 08 03 A6 */ mtlr r0
/* 801D3BAC 001D0B0C 38 21 00 10 */ addi r1, r1, 0x10
/* 801D3BB0 001D0B10 4E 80 00 20 */ blr
.global WriteBackupBuf__10CGameStateFv
WriteBackupBuf__10CGameStateFv:
/* 801D3BB4 001D0B14 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801D3BB8 001D0B18 7C 08 02 A6 */ mflr r0
/* 801D3BBC 001D0B1C 38 80 03 AC */ li r4, 0x3ac
/* 801D3BC0 001D0B20 38 AD 91 AE */ addi r5, r13, lbl_805A7D6E@sda21
/* 801D3BC4 001D0B24 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801D3BC8 001D0B28 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 801D3BCC 001D0B2C 7C 7F 1B 78 */ mr r31, r3
/* 801D3BD0 001D0B30 38 7F 02 18 */ addi r3, r31, 0x218
/* 801D3BD4 001D0B34 48 00 00 49 */ bl "resize__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>FiRCUc"
/* 801D3BD8 001D0B38 80 9F 02 24 */ lwz r4, 0x224(r31)
/* 801D3BDC 001D0B3C 38 61 00 08 */ addi r3, r1, 8
/* 801D3BE0 001D0B40 38 A0 03 AC */ li r5, 0x3ac
/* 801D3BE4 001D0B44 38 C0 00 01 */ li r6, 1
/* 801D3BE8 001D0B48 38 E0 10 00 */ li r7, 0x1000
/* 801D3BEC 001D0B4C 48 16 B7 51 */ bl __ct__16CMemoryStreamOutFPvUlQ216CMemoryStreamOut10EOwnerShipi
/* 801D3BF0 001D0B50 7F E3 FB 78 */ mr r3, r31
/* 801D3BF4 001D0B54 38 81 00 08 */ addi r4, r1, 8
/* 801D3BF8 001D0B58 48 00 04 91 */ bl PutTo__10CGameStateCFR13COutputStream
/* 801D3BFC 001D0B5C 38 61 00 08 */ addi r3, r1, 8
/* 801D3C00 001D0B60 38 80 FF FF */ li r4, -1
/* 801D3C04 001D0B64 48 16 B6 BD */ bl __dt__16CMemoryStreamOutFv
/* 801D3C08 001D0B68 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801D3C0C 001D0B6C 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 801D3C10 001D0B70 7C 08 03 A6 */ mtlr r0
/* 801D3C14 001D0B74 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801D3C18 001D0B78 4E 80 00 20 */ blr
.global "resize__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>FiRCUc"
"resize__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>FiRCUc":
/* 801D3C1C 001D0B7C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D3C20 001D0B80 7C 08 02 A6 */ mflr r0
/* 801D3C24 001D0B84 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D3C28 001D0B88 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D3C2C 001D0B8C 7C BF 2B 78 */ mr r31, r5
/* 801D3C30 001D0B90 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D3C34 001D0B94 7C 9E 23 78 */ mr r30, r4
/* 801D3C38 001D0B98 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D3C3C 001D0B9C 7C 7D 1B 78 */ mr r29, r3
/* 801D3C40 001D0BA0 93 81 00 20 */ stw r28, 0x20(r1)
/* 801D3C44 001D0BA4 80 83 00 0C */ lwz r4, 0xc(r3)
/* 801D3C48 001D0BA8 80 03 00 04 */ lwz r0, 4(r3)
/* 801D3C4C 001D0BAC 90 81 00 0C */ stw r4, 0xc(r1)
/* 801D3C50 001D0BB0 7C 64 02 14 */ add r3, r4, r0
/* 801D3C54 001D0BB4 7C 04 18 50 */ subf r0, r4, r3
/* 801D3C58 001D0BB8 90 61 00 14 */ stw r3, 0x14(r1)
/* 801D3C5C 001D0BBC 90 61 00 10 */ stw r3, 0x10(r1)
/* 801D3C60 001D0BC0 90 81 00 08 */ stw r4, 8(r1)
/* 801D3C64 001D0BC4 7C 09 03 A6 */ mtctr r0
/* 801D3C68 001D0BC8 7C 04 18 40 */ cmplw r4, r3
/* 801D3C6C 001D0BCC 41 82 00 08 */ beq lbl_801D3C74
lbl_801D3C70:
/* 801D3C70 001D0BD0 42 00 00 00 */ bdnz lbl_801D3C70
lbl_801D3C74:
/* 801D3C74 001D0BD4 38 00 00 00 */ li r0, 0
/* 801D3C78 001D0BD8 7F A3 EB 78 */ mr r3, r29
/* 801D3C7C 001D0BDC 90 1D 00 04 */ stw r0, 4(r29)
/* 801D3C80 001D0BE0 7F C4 F3 78 */ mr r4, r30
/* 801D3C84 001D0BE4 48 00 25 79 */ bl "reserve__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>Fi"
/* 801D3C88 001D0BE8 3B 80 00 00 */ li r28, 0
/* 801D3C8C 001D0BEC 48 00 00 54 */ b lbl_801D3CE0
lbl_801D3C90:
/* 801D3C90 001D0BF0 80 1D 00 04 */ lwz r0, 4(r29)
/* 801D3C94 001D0BF4 80 BD 00 08 */ lwz r5, 8(r29)
/* 801D3C98 001D0BF8 7C 00 28 00 */ cmpw r0, r5
/* 801D3C9C 001D0BFC 41 80 00 1C */ blt lbl_801D3CB8
/* 801D3CA0 001D0C00 2C 05 00 00 */ cmpwi r5, 0
/* 801D3CA4 001D0C04 7F A3 EB 78 */ mr r3, r29
/* 801D3CA8 001D0C08 38 80 00 04 */ li r4, 4
/* 801D3CAC 001D0C0C 41 82 00 08 */ beq lbl_801D3CB4
/* 801D3CB0 001D0C10 54 A4 08 3C */ slwi r4, r5, 1
lbl_801D3CB4:
/* 801D3CB4 001D0C14 48 00 25 49 */ bl "reserve__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>Fi"
lbl_801D3CB8:
/* 801D3CB8 001D0C18 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801D3CBC 001D0C1C 80 1D 00 04 */ lwz r0, 4(r29)
/* 801D3CC0 001D0C20 7C 63 02 15 */ add. r3, r3, r0
/* 801D3CC4 001D0C24 41 82 00 0C */ beq lbl_801D3CD0
/* 801D3CC8 001D0C28 88 1F 00 00 */ lbz r0, 0(r31)
/* 801D3CCC 001D0C2C 98 03 00 00 */ stb r0, 0(r3)
lbl_801D3CD0:
/* 801D3CD0 001D0C30 80 7D 00 04 */ lwz r3, 4(r29)
/* 801D3CD4 001D0C34 3B 9C 00 01 */ addi r28, r28, 1
/* 801D3CD8 001D0C38 38 03 00 01 */ addi r0, r3, 1
/* 801D3CDC 001D0C3C 90 1D 00 04 */ stw r0, 4(r29)
lbl_801D3CE0:
/* 801D3CE0 001D0C40 7C 1C F0 00 */ cmpw r28, r30
/* 801D3CE4 001D0C44 41 80 FF AC */ blt lbl_801D3C90
/* 801D3CE8 001D0C48 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D3CEC 001D0C4C 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D3CF0 001D0C50 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D3CF4 001D0C54 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D3CF8 001D0C58 83 81 00 20 */ lwz r28, 0x20(r1)
/* 801D3CFC 001D0C5C 7C 08 03 A6 */ mtlr r0
/* 801D3D00 001D0C60 38 21 00 30 */ addi r1, r1, 0x30
/* 801D3D04 001D0C64 4E 80 00 20 */ blr
.global ExportPersistentOptions__10CGameStateFR14CSystemOptions
ExportPersistentOptions__10CGameStateFR14CSystemOptions:
/* 801D3D08 001D0C68 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D3D0C 001D0C6C 7C 08 02 A6 */ mflr r0
/* 801D3D10 001D0C70 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3D14 001D0C74 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D3D18 001D0C78 7C 9F 23 78 */ mr r31, r4
/* 801D3D1C 001D0C7C 93 C1 00 08 */ stw r30, 8(r1)
/* 801D3D20 001D0C80 7C 7E 1B 78 */ mr r30, r3
/* 801D3D24 001D0C84 88 03 01 78 */ lbz r0, 0x178(r3)
/* 801D3D28 001D0C88 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801D3D2C 001D0C8C 41 82 00 10 */ beq lbl_801D3D3C
/* 801D3D30 001D0C90 7F E3 FB 78 */ mr r3, r31
/* 801D3D34 001D0C94 38 80 00 01 */ li r4, 1
/* 801D3D38 001D0C98 48 00 14 D9 */ bl sub_801d5210
lbl_801D3D3C:
/* 801D3D3C 001D0C9C 88 1E 01 78 */ lbz r0, 0x178(r30)
/* 801D3D40 001D0CA0 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 801D3D44 001D0CA4 41 82 00 10 */ beq lbl_801D3D54
/* 801D3D48 001D0CA8 7F E3 FB 78 */ mr r3, r31
/* 801D3D4C 001D0CAC 38 80 00 01 */ li r4, 1
/* 801D3D50 001D0CB0 48 00 14 81 */ bl sub_801d51d0
lbl_801D3D54:
/* 801D3D54 001D0CB4 38 DE 00 A8 */ addi r6, r30, 0xa8
/* 801D3D58 001D0CB8 7C 1F 30 40 */ cmplw r31, r6
/* 801D3D5C 001D0CBC 41 82 00 A0 */ beq lbl_801D3DFC
/* 801D3D60 001D0CC0 80 BF 00 00 */ lwz r5, 0(r31)
/* 801D3D64 001D0CC4 38 60 00 00 */ li r3, 0
/* 801D3D68 001D0CC8 2C 05 00 00 */ cmpwi r5, 0
/* 801D3D6C 001D0CCC 40 81 00 40 */ ble lbl_801D3DAC
/* 801D3D70 001D0CD0 2C 05 00 08 */ cmpwi r5, 8
/* 801D3D74 001D0CD4 38 85 FF F8 */ addi r4, r5, -8
/* 801D3D78 001D0CD8 40 81 00 20 */ ble lbl_801D3D98
/* 801D3D7C 001D0CDC 38 04 00 07 */ addi r0, r4, 7
/* 801D3D80 001D0CE0 54 00 E8 FE */ srwi r0, r0, 3
/* 801D3D84 001D0CE4 7C 09 03 A6 */ mtctr r0
/* 801D3D88 001D0CE8 2C 04 00 00 */ cmpwi r4, 0
/* 801D3D8C 001D0CEC 40 81 00 0C */ ble lbl_801D3D98
lbl_801D3D90:
/* 801D3D90 001D0CF0 38 63 00 08 */ addi r3, r3, 8
/* 801D3D94 001D0CF4 42 00 FF FC */ bdnz lbl_801D3D90
lbl_801D3D98:
/* 801D3D98 001D0CF8 7C 03 28 50 */ subf r0, r3, r5
/* 801D3D9C 001D0CFC 7C 09 03 A6 */ mtctr r0
/* 801D3DA0 001D0D00 7C 03 28 00 */ cmpw r3, r5
/* 801D3DA4 001D0D04 40 80 00 08 */ bge lbl_801D3DAC
lbl_801D3DA8:
/* 801D3DA8 001D0D08 42 00 00 00 */ bdnz lbl_801D3DA8
lbl_801D3DAC:
/* 801D3DAC 001D0D0C 38 00 00 00 */ li r0, 0
/* 801D3DB0 001D0D10 38 66 00 04 */ addi r3, r6, 4
/* 801D3DB4 001D0D14 90 1F 00 00 */ stw r0, 0(r31)
/* 801D3DB8 001D0D18 38 9F 00 04 */ addi r4, r31, 4
/* 801D3DBC 001D0D1C 80 06 00 00 */ lwz r0, 0(r6)
/* 801D3DC0 001D0D20 7C A6 02 14 */ add r5, r6, r0
/* 801D3DC4 001D0D24 38 A5 00 04 */ addi r5, r5, 4
/* 801D3DC8 001D0D28 7C 03 28 50 */ subf r0, r3, r5
/* 801D3DCC 001D0D2C 7C 09 03 A6 */ mtctr r0
/* 801D3DD0 001D0D30 7C 03 28 40 */ cmplw r3, r5
/* 801D3DD4 001D0D34 41 82 00 20 */ beq lbl_801D3DF4
lbl_801D3DD8:
/* 801D3DD8 001D0D38 28 04 00 00 */ cmplwi r4, 0
/* 801D3DDC 001D0D3C 41 82 00 0C */ beq lbl_801D3DE8
/* 801D3DE0 001D0D40 88 03 00 00 */ lbz r0, 0(r3)
/* 801D3DE4 001D0D44 98 04 00 00 */ stb r0, 0(r4)
lbl_801D3DE8:
/* 801D3DE8 001D0D48 38 84 00 01 */ addi r4, r4, 1
/* 801D3DEC 001D0D4C 38 63 00 01 */ addi r3, r3, 1
/* 801D3DF0 001D0D50 42 00 FF E8 */ bdnz lbl_801D3DD8
lbl_801D3DF4:
/* 801D3DF4 001D0D54 80 06 00 00 */ lwz r0, 0(r6)
/* 801D3DF8 001D0D58 90 1F 00 00 */ stw r0, 0(r31)
lbl_801D3DFC:
/* 801D3DFC 001D0D5C 88 1E 01 78 */ lbz r0, 0x178(r30)
/* 801D3E00 001D0D60 7F E3 FB 78 */ mr r3, r31
/* 801D3E04 001D0D64 54 04 EF FE */ rlwinm r4, r0, 0x1d, 0x1f, 0x1f
/* 801D3E08 001D0D68 48 00 13 B9 */ bl SetHasFusion__14CSystemOptionsFb
/* 801D3E0C 001D0D6C 38 DE 00 A8 */ addi r6, r30, 0xa8
/* 801D3E10 001D0D70 7C 1F 30 40 */ cmplw r31, r6
/* 801D3E14 001D0D74 41 82 00 A0 */ beq lbl_801D3EB4
/* 801D3E18 001D0D78 80 BF 00 00 */ lwz r5, 0(r31)
/* 801D3E1C 001D0D7C 38 60 00 00 */ li r3, 0
/* 801D3E20 001D0D80 2C 05 00 00 */ cmpwi r5, 0
/* 801D3E24 001D0D84 40 81 00 40 */ ble lbl_801D3E64
/* 801D3E28 001D0D88 2C 05 00 08 */ cmpwi r5, 8
/* 801D3E2C 001D0D8C 38 85 FF F8 */ addi r4, r5, -8
/* 801D3E30 001D0D90 40 81 00 20 */ ble lbl_801D3E50
/* 801D3E34 001D0D94 38 04 00 07 */ addi r0, r4, 7
/* 801D3E38 001D0D98 54 00 E8 FE */ srwi r0, r0, 3
/* 801D3E3C 001D0D9C 7C 09 03 A6 */ mtctr r0
/* 801D3E40 001D0DA0 2C 04 00 00 */ cmpwi r4, 0
/* 801D3E44 001D0DA4 40 81 00 0C */ ble lbl_801D3E50
lbl_801D3E48:
/* 801D3E48 001D0DA8 38 63 00 08 */ addi r3, r3, 8
/* 801D3E4C 001D0DAC 42 00 FF FC */ bdnz lbl_801D3E48
lbl_801D3E50:
/* 801D3E50 001D0DB0 7C 03 28 50 */ subf r0, r3, r5
/* 801D3E54 001D0DB4 7C 09 03 A6 */ mtctr r0
/* 801D3E58 001D0DB8 7C 03 28 00 */ cmpw r3, r5
/* 801D3E5C 001D0DBC 40 80 00 08 */ bge lbl_801D3E64
lbl_801D3E60:
/* 801D3E60 001D0DC0 42 00 00 00 */ bdnz lbl_801D3E60
lbl_801D3E64:
/* 801D3E64 001D0DC4 38 00 00 00 */ li r0, 0
/* 801D3E68 001D0DC8 38 66 00 04 */ addi r3, r6, 4
/* 801D3E6C 001D0DCC 90 1F 00 00 */ stw r0, 0(r31)
/* 801D3E70 001D0DD0 38 9F 00 04 */ addi r4, r31, 4
/* 801D3E74 001D0DD4 80 06 00 00 */ lwz r0, 0(r6)
/* 801D3E78 001D0DD8 7C A6 02 14 */ add r5, r6, r0
/* 801D3E7C 001D0DDC 38 A5 00 04 */ addi r5, r5, 4
/* 801D3E80 001D0DE0 7C 03 28 50 */ subf r0, r3, r5
/* 801D3E84 001D0DE4 7C 09 03 A6 */ mtctr r0
/* 801D3E88 001D0DE8 7C 03 28 40 */ cmplw r3, r5
/* 801D3E8C 001D0DEC 41 82 00 20 */ beq lbl_801D3EAC
lbl_801D3E90:
/* 801D3E90 001D0DF0 28 04 00 00 */ cmplwi r4, 0
/* 801D3E94 001D0DF4 41 82 00 0C */ beq lbl_801D3EA0
/* 801D3E98 001D0DF8 88 03 00 00 */ lbz r0, 0(r3)
/* 801D3E9C 001D0DFC 98 04 00 00 */ stb r0, 0(r4)
lbl_801D3EA0:
/* 801D3EA0 001D0E00 38 84 00 01 */ addi r4, r4, 1
/* 801D3EA4 001D0E04 38 63 00 01 */ addi r3, r3, 1
/* 801D3EA8 001D0E08 42 00 FF E8 */ bdnz lbl_801D3E90
lbl_801D3EAC:
/* 801D3EAC 001D0E0C 80 06 00 00 */ lwz r0, 0(r6)
/* 801D3EB0 001D0E10 90 1F 00 00 */ stw r0, 0(r31)
lbl_801D3EB4:
/* 801D3EB4 001D0E14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D3EB8 001D0E18 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D3EBC 001D0E1C 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D3EC0 001D0E20 7C 08 03 A6 */ mtlr r0
/* 801D3EC4 001D0E24 38 21 00 10 */ addi r1, r1, 0x10
/* 801D3EC8 001D0E28 4E 80 00 20 */ blr
.global ImportPersistentOptions__10CGameStateFRC14CSystemOptions
ImportPersistentOptions__10CGameStateFRC14CSystemOptions:
/* 801D3ECC 001D0E2C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D3ED0 001D0E30 7C 08 02 A6 */ mflr r0
/* 801D3ED4 001D0E34 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D3ED8 001D0E38 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D3EDC 001D0E3C 7C 9F 23 78 */ mr r31, r4
/* 801D3EE0 001D0E40 93 C1 00 08 */ stw r30, 8(r1)
/* 801D3EE4 001D0E44 7C 7E 1B 78 */ mr r30, r3
/* 801D3EE8 001D0E48 88 04 00 D0 */ lbz r0, 0xd0(r4)
/* 801D3EEC 001D0E4C 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801D3EF0 001D0E50 41 82 00 10 */ beq lbl_801D3F00
/* 801D3EF4 001D0E54 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3EF8 001D0E58 38 80 00 01 */ li r4, 1
/* 801D3EFC 001D0E5C 48 00 13 15 */ bl sub_801d5210
lbl_801D3F00:
/* 801D3F00 001D0E60 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 801D3F04 001D0E64 54 00 E7 FF */ rlwinm. r0, r0, 0x1c, 0x1f, 0x1f
/* 801D3F08 001D0E68 41 82 00 10 */ beq lbl_801D3F18
/* 801D3F0C 001D0E6C 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3F10 001D0E70 38 80 00 01 */ li r4, 1
/* 801D3F14 001D0E74 48 00 12 BD */ bl sub_801d51d0
lbl_801D3F18:
/* 801D3F18 001D0E78 38 DE 00 A8 */ addi r6, r30, 0xa8
/* 801D3F1C 001D0E7C 7C 06 F8 40 */ cmplw r6, r31
/* 801D3F20 001D0E80 41 82 00 A0 */ beq lbl_801D3FC0
/* 801D3F24 001D0E84 80 A6 00 00 */ lwz r5, 0(r6)
/* 801D3F28 001D0E88 38 60 00 00 */ li r3, 0
/* 801D3F2C 001D0E8C 2C 05 00 00 */ cmpwi r5, 0
/* 801D3F30 001D0E90 40 81 00 40 */ ble lbl_801D3F70
/* 801D3F34 001D0E94 2C 05 00 08 */ cmpwi r5, 8
/* 801D3F38 001D0E98 38 85 FF F8 */ addi r4, r5, -8
/* 801D3F3C 001D0E9C 40 81 00 20 */ ble lbl_801D3F5C
/* 801D3F40 001D0EA0 38 04 00 07 */ addi r0, r4, 7
/* 801D3F44 001D0EA4 54 00 E8 FE */ srwi r0, r0, 3
/* 801D3F48 001D0EA8 7C 09 03 A6 */ mtctr r0
/* 801D3F4C 001D0EAC 2C 04 00 00 */ cmpwi r4, 0
/* 801D3F50 001D0EB0 40 81 00 0C */ ble lbl_801D3F5C
lbl_801D3F54:
/* 801D3F54 001D0EB4 38 63 00 08 */ addi r3, r3, 8
/* 801D3F58 001D0EB8 42 00 FF FC */ bdnz lbl_801D3F54
lbl_801D3F5C:
/* 801D3F5C 001D0EBC 7C 03 28 50 */ subf r0, r3, r5
/* 801D3F60 001D0EC0 7C 09 03 A6 */ mtctr r0
/* 801D3F64 001D0EC4 7C 03 28 00 */ cmpw r3, r5
/* 801D3F68 001D0EC8 40 80 00 08 */ bge lbl_801D3F70
lbl_801D3F6C:
/* 801D3F6C 001D0ECC 42 00 00 00 */ bdnz lbl_801D3F6C
lbl_801D3F70:
/* 801D3F70 001D0ED0 38 00 00 00 */ li r0, 0
/* 801D3F74 001D0ED4 38 7F 00 04 */ addi r3, r31, 4
/* 801D3F78 001D0ED8 90 06 00 00 */ stw r0, 0(r6)
/* 801D3F7C 001D0EDC 38 86 00 04 */ addi r4, r6, 4
/* 801D3F80 001D0EE0 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D3F84 001D0EE4 7C BF 02 14 */ add r5, r31, r0
/* 801D3F88 001D0EE8 38 A5 00 04 */ addi r5, r5, 4
/* 801D3F8C 001D0EEC 7C 03 28 50 */ subf r0, r3, r5
/* 801D3F90 001D0EF0 7C 09 03 A6 */ mtctr r0
/* 801D3F94 001D0EF4 7C 03 28 40 */ cmplw r3, r5
/* 801D3F98 001D0EF8 41 82 00 20 */ beq lbl_801D3FB8
lbl_801D3F9C:
/* 801D3F9C 001D0EFC 28 04 00 00 */ cmplwi r4, 0
/* 801D3FA0 001D0F00 41 82 00 0C */ beq lbl_801D3FAC
/* 801D3FA4 001D0F04 88 03 00 00 */ lbz r0, 0(r3)
/* 801D3FA8 001D0F08 98 04 00 00 */ stb r0, 0(r4)
lbl_801D3FAC:
/* 801D3FAC 001D0F0C 38 84 00 01 */ addi r4, r4, 1
/* 801D3FB0 001D0F10 38 63 00 01 */ addi r3, r3, 1
/* 801D3FB4 001D0F14 42 00 FF E8 */ bdnz lbl_801D3F9C
lbl_801D3FB8:
/* 801D3FB8 001D0F18 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D3FBC 001D0F1C 90 06 00 00 */ stw r0, 0(r6)
lbl_801D3FC0:
/* 801D3FC0 001D0F20 7F E3 FB 78 */ mr r3, r31
/* 801D3FC4 001D0F24 48 00 12 45 */ bl GetLogScanCount__14CSystemOptionsFv
/* 801D3FC8 001D0F28 7C 64 1B 78 */ mr r4, r3
/* 801D3FCC 001D0F2C 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3FD0 001D0F30 48 00 12 31 */ bl SetLogScanCount__14CSystemOptionsFi
/* 801D3FD4 001D0F34 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 801D3FD8 001D0F38 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3FDC 001D0F3C 54 04 F7 FE */ rlwinm r4, r0, 0x1e, 0x1f, 0x1f
/* 801D3FE0 001D0F40 48 00 11 D1 */ bl SetAllItemsCollected__14CSystemOptionsFb
/* 801D3FE4 001D0F44 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 801D3FE8 001D0F48 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3FEC 001D0F4C 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 801D3FF0 001D0F50 48 00 12 01 */ bl SetHasHardMode__14CSystemOptionsFb
/* 801D3FF4 001D0F54 88 1F 00 D0 */ lbz r0, 0xd0(r31)
/* 801D3FF8 001D0F58 38 7E 00 A8 */ addi r3, r30, 0xa8
/* 801D3FFC 001D0F5C 54 04 DF FE */ rlwinm r4, r0, 0x1b, 0x1f, 0x1f
/* 801D4000 001D0F60 48 00 11 E1 */ bl SetHardModeBeat__14CSystemOptionsFb
/* 801D4004 001D0F64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4008 001D0F68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D400C 001D0F6C 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D4010 001D0F70 7C 08 03 A6 */ mtlr r0
/* 801D4014 001D0F74 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4018 001D0F78 4E 80 00 20 */ blr
.global WriteSystemOptions__10CGameStateFR13COutputStream
WriteSystemOptions__10CGameStateFR13COutputStream:
/* 801D401C 001D0F7C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4020 001D0F80 7C 08 02 A6 */ mflr r0
/* 801D4024 001D0F84 38 63 00 A8 */ addi r3, r3, 0xa8
/* 801D4028 001D0F88 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D402C 001D0F8C 48 00 15 65 */ bl PutTo__14CSystemOptionsFR13COutputStream
/* 801D4030 001D0F90 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4034 001D0F94 7C 08 03 A6 */ mtlr r0
/* 801D4038 001D0F98 38 21 00 10 */ addi r1, r1, 0x10
/* 801D403C 001D0F9C 4E 80 00 20 */ blr
.global ReadSystemOptions__10CGameStateFR12CInputStream
ReadSystemOptions__10CGameStateFR12CInputStream:
/* 801D4040 001D0FA0 94 21 FF 10 */ stwu r1, -0xf0(r1)
/* 801D4044 001D0FA4 7C 08 02 A6 */ mflr r0
/* 801D4048 001D0FA8 90 01 00 F4 */ stw r0, 0xf4(r1)
/* 801D404C 001D0FAC 93 E1 00 EC */ stw r31, 0xec(r1)
/* 801D4050 001D0FB0 7C 7F 1B 78 */ mr r31, r3
/* 801D4054 001D0FB4 38 61 00 08 */ addi r3, r1, 8
/* 801D4058 001D0FB8 48 00 19 11 */ bl __ct__14CSystemOptionsFR12CInputStream
/* 801D405C 001D0FBC 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 801D4060 001D0FC0 38 81 00 08 */ addi r4, r1, 8
/* 801D4064 001D0FC4 4B E2 F9 69 */ bl __as__14CSystemOptionsFRC14CSystemOptions
/* 801D4068 001D0FC8 38 61 00 08 */ addi r3, r1, 8
/* 801D406C 001D0FCC 38 80 FF FF */ li r4, -1
/* 801D4070 001D0FD0 4B E3 01 69 */ bl __dt__14CSystemOptionsFv
/* 801D4074 001D0FD4 80 01 00 F4 */ lwz r0, 0xf4(r1)
/* 801D4078 001D0FD8 83 E1 00 EC */ lwz r31, 0xec(r1)
/* 801D407C 001D0FDC 7C 08 03 A6 */ mtlr r0
/* 801D4080 001D0FE0 38 21 00 F0 */ addi r1, r1, 0xf0
/* 801D4084 001D0FE4 4E 80 00 20 */ blr
.global PutTo__10CGameStateCFR13COutputStream
PutTo__10CGameStateCFR13COutputStream:
/* 801D4088 001D0FE8 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801D408C 001D0FEC 7C 08 02 A6 */ mflr r0
/* 801D4090 001D0FF0 90 01 00 54 */ stw r0, 0x54(r1)
/* 801D4094 001D0FF4 BF 01 00 30 */ stmw r24, 0x30(r1)
/* 801D4098 001D0FF8 7C 7E 1B 78 */ mr r30, r3
/* 801D409C 001D0FFC 7C 9F 23 78 */ mr r31, r4
/* 801D40A0 001D1000 3B 40 00 00 */ li r26, 0
/* 801D40A4 001D1004 48 00 00 1C */ b lbl_801D40C0
lbl_801D40A8:
/* 801D40A8 001D1008 7C 9E D2 14 */ add r4, r30, r26
/* 801D40AC 001D100C 7F E3 FB 78 */ mr r3, r31
/* 801D40B0 001D1010 88 84 00 04 */ lbz r4, 4(r4)
/* 801D40B4 001D1014 38 A0 00 08 */ li r5, 8
/* 801D40B8 001D1018 48 16 B3 05 */ bl WriteBits__13COutputStreamFUiUi
/* 801D40BC 001D101C 3B 5A 00 01 */ addi r26, r26, 1
lbl_801D40C0:
/* 801D40C0 001D1020 80 1E 00 00 */ lwz r0, 0(r30)
/* 801D40C4 001D1024 7C 1A 00 00 */ cmpw r26, r0
/* 801D40C8 001D1028 41 80 FF E0 */ blt lbl_801D40A8
/* 801D40CC 001D102C 48 1B 12 DD */ bl OSGetTime
/* 801D40D0 001D1030 3C C0 80 00 */ lis r6, 0x800000F8@ha
/* 801D40D4 001D1034 38 A0 00 00 */ li r5, 0
/* 801D40D8 001D1038 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
/* 801D40DC 001D103C 54 06 F0 BE */ srwi r6, r0, 2
/* 801D40E0 001D1040 48 1B 5A ED */ bl __div2i
/* 801D40E4 001D1044 7F E3 FB 78 */ mr r3, r31
/* 801D40E8 001D1048 38 A0 00 20 */ li r5, 0x20
/* 801D40EC 001D104C 48 16 B2 D1 */ bl WriteBits__13COutputStreamFUiUi
/* 801D40F0 001D1050 88 1E 02 28 */ lbz r0, 0x228(r30)
/* 801D40F4 001D1054 7F E3 FB 78 */ mr r3, r31
/* 801D40F8 001D1058 38 A0 00 01 */ li r5, 1
/* 801D40FC 001D105C 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
/* 801D4100 001D1060 7C 04 00 D0 */ neg r0, r4
/* 801D4104 001D1064 7C 00 23 78 */ or r0, r0, r4
/* 801D4108 001D1068 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D410C 001D106C 48 16 B2 B1 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4110 001D1070 88 1E 02 28 */ lbz r0, 0x228(r30)
/* 801D4114 001D1074 7F E3 FB 78 */ mr r3, r31
/* 801D4118 001D1078 38 A0 00 01 */ li r5, 1
/* 801D411C 001D107C 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 801D4120 001D1080 7C 04 00 D0 */ neg r0, r4
/* 801D4124 001D1084 7C 00 23 78 */ or r0, r0, r4
/* 801D4128 001D1088 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D412C 001D108C 48 16 B2 91 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4130 001D1090 80 9E 00 84 */ lwz r4, 0x84(r30)
/* 801D4134 001D1094 7F E3 FB 78 */ mr r3, r31
/* 801D4138 001D1098 38 A0 00 20 */ li r5, 0x20
/* 801D413C 001D109C 48 16 B2 81 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4140 001D10A0 80 9E 00 A0 */ lwz r4, 0xa0(r30)
/* 801D4144 001D10A4 7F E3 FB 78 */ mr r3, r31
/* 801D4148 001D10A8 83 7E 00 A4 */ lwz r27, 0xa4(r30)
/* 801D414C 001D10AC 38 A0 00 20 */ li r5, 0x20
/* 801D4150 001D10B0 48 16 B2 6D */ bl WriteBits__13COutputStreamFUiUi
/* 801D4154 001D10B4 38 00 FF FF */ li r0, -1
/* 801D4158 001D10B8 7F E3 FB 78 */ mr r3, r31
/* 801D415C 001D10BC 38 A0 00 20 */ li r5, 0x20
/* 801D4160 001D10C0 7F 64 00 38 */ and r4, r27, r0
/* 801D4164 001D10C4 48 16 B2 59 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4168 001D10C8 80 7E 00 98 */ lwz r3, 0x98(r30)
/* 801D416C 001D10CC 7F E4 FB 78 */ mr r4, r31
/* 801D4170 001D10D0 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4174 001D10D4 4B EB DD 49 */ bl PutTo__12CPlayerStateFR13COutputStream
/* 801D4178 001D10D8 7F E4 FB 78 */ mr r4, r31
/* 801D417C 001D10DC 38 7E 01 7C */ addi r3, r30, 0x17c
/* 801D4180 001D10E0 48 03 B1 15 */ bl PutTo__12CGameOptionsFR16CMemoryStreamOut
/* 801D4184 001D10E4 7F E4 FB 78 */ mr r4, r31
/* 801D4188 001D10E8 38 7E 01 F8 */ addi r3, r30, 0x1f8
/* 801D418C 001D10EC 48 09 3A 6D */ bl PutTo__16CGameHintManagerFR16CMemoryStreamOut
/* 801D4190 001D10F0 83 8D A0 84 */ lwz r28, gpMemoryCard@sda21(r13)
/* 801D4194 001D10F4 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D4198 001D10F8 3B A3 56 57 */ addi r29, r3, 0x53415657@l
/* 801D419C 001D10FC 3B 01 00 18 */ addi r24, r1, 0x18
/* 801D41A0 001D1100 83 5C 00 18 */ lwz r26, 0x18(r28)
/* 801D41A4 001D1104 48 00 00 84 */ b lbl_801D4228
lbl_801D41A8:
/* 801D41A8 001D1108 83 3A 00 00 */ lwz r25, 0(r26)
/* 801D41AC 001D110C 38 61 00 08 */ addi r3, r1, 8
/* 801D41B0 001D1110 80 1A 00 08 */ lwz r0, 8(r26)
/* 801D41B4 001D1114 38 A1 00 10 */ addi r5, r1, 0x10
/* 801D41B8 001D1118 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D41BC 001D111C 93 A1 00 10 */ stw r29, 0x10(r1)
/* 801D41C0 001D1120 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D41C4 001D1124 81 84 00 00 */ lwz r12, 0(r4)
/* 801D41C8 001D1128 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D41CC 001D112C 7D 89 03 A6 */ mtctr r12
/* 801D41D0 001D1130 4E 80 04 21 */ bctrl
/* 801D41D4 001D1134 7F 03 C3 78 */ mr r3, r24
/* 801D41D8 001D1138 38 81 00 08 */ addi r4, r1, 8
/* 801D41DC 001D113C 48 16 CC CD */ bl __ct__6CTokenFRC6CToken
/* 801D41E0 001D1140 7F 03 C3 78 */ mr r3, r24
/* 801D41E4 001D1144 48 16 CC 29 */ bl GetObj__6CTokenFv
/* 801D41E8 001D1148 80 03 00 04 */ lwz r0, 4(r3)
/* 801D41EC 001D114C 38 61 00 08 */ addi r3, r1, 8
/* 801D41F0 001D1150 38 80 FF FF */ li r4, -1
/* 801D41F4 001D1154 90 01 00 20 */ stw r0, 0x20(r1)
/* 801D41F8 001D1158 48 16 CC 49 */ bl __dt__6CTokenFv
/* 801D41FC 001D115C 83 61 00 20 */ lwz r27, 0x20(r1)
/* 801D4200 001D1160 7F C3 F3 78 */ mr r3, r30
/* 801D4204 001D1164 7F 24 CB 78 */ mr r4, r25
/* 801D4208 001D1168 4B FF F7 D1 */ bl StateForWorld__10CGameStateFUi
/* 801D420C 001D116C 7F E4 FB 78 */ mr r4, r31
/* 801D4210 001D1170 7F 65 DB 78 */ mr r5, r27
/* 801D4214 001D1174 48 00 0B 85 */ bl PutTo__11CWorldStateFR16CMemoryStreamOut
/* 801D4218 001D1178 38 61 00 18 */ addi r3, r1, 0x18
/* 801D421C 001D117C 38 80 00 00 */ li r4, 0
/* 801D4220 001D1180 48 16 CC 21 */ bl __dt__6CTokenFv
/* 801D4224 001D1184 3B 5A 00 4C */ addi r26, r26, 0x4c
lbl_801D4228:
/* 801D4228 001D1188 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 801D422C 001D118C 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 801D4230 001D1190 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D4234 001D1194 7C 03 02 14 */ add r0, r3, r0
/* 801D4238 001D1198 7C 1A 00 40 */ cmplw r26, r0
/* 801D423C 001D119C 40 82 FF 6C */ bne lbl_801D41A8
/* 801D4240 001D11A0 BB 01 00 30 */ lmw r24, 0x30(r1)
/* 801D4244 001D11A4 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801D4248 001D11A8 7C 08 03 A6 */ mtlr r0
/* 801D424C 001D11AC 38 21 00 50 */ addi r1, r1, 0x50
/* 801D4250 001D11B0 4E 80 00 20 */ blr
.global LoadGameFileState__10CGameStateFPCv
LoadGameFileState__10CGameStateFPCv:
/* 801D4254 001D11B4 94 21 FD E0 */ stwu r1, -0x220(r1)
/* 801D4258 001D11B8 7C 08 02 A6 */ mflr r0
/* 801D425C 001D11BC 38 A0 10 00 */ li r5, 0x1000
/* 801D4260 001D11C0 90 01 02 24 */ stw r0, 0x224(r1)
/* 801D4264 001D11C4 93 E1 02 1C */ stw r31, 0x21c(r1)
/* 801D4268 001D11C8 7C 7F 1B 78 */ mr r31, r3
/* 801D426C 001D11CC 38 61 00 10 */ addi r3, r1, 0x10
/* 801D4270 001D11D0 93 C1 02 18 */ stw r30, 0x218(r1)
/* 801D4274 001D11D4 93 A1 02 14 */ stw r29, 0x214(r1)
/* 801D4278 001D11D8 48 16 AF 55 */ bl __ct__15CMemoryInStreamFPCvUl
/* 801D427C 001D11DC 3B A0 00 00 */ li r29, 0
lbl_801D4280:
/* 801D4280 001D11E0 38 61 00 10 */ addi r3, r1, 0x10
/* 801D4284 001D11E4 38 80 00 08 */ li r4, 8
/* 801D4288 001D11E8 48 16 AA B1 */ bl ReadBits__12CInputStreamFUi
/* 801D428C 001D11EC 3B BD 00 01 */ addi r29, r29, 1
/* 801D4290 001D11F0 2C 1D 00 80 */ cmpwi r29, 0x80
/* 801D4294 001D11F4 41 80 FF EC */ blt lbl_801D4280
/* 801D4298 001D11F8 38 61 00 10 */ addi r3, r1, 0x10
/* 801D429C 001D11FC 38 80 00 20 */ li r4, 0x20
/* 801D42A0 001D1200 48 16 AA 99 */ bl ReadBits__12CInputStreamFUi
/* 801D42A4 001D1204 7C 7D 1B 78 */ mr r29, r3
/* 801D42A8 001D1208 38 61 00 10 */ addi r3, r1, 0x10
/* 801D42AC 001D120C 38 80 00 01 */ li r4, 1
/* 801D42B0 001D1210 48 16 AA 89 */ bl ReadBits__12CInputStreamFUi
/* 801D42B4 001D1214 7C 03 00 D0 */ neg r0, r3
/* 801D42B8 001D1218 38 80 00 01 */ li r4, 1
/* 801D42BC 001D121C 7C 00 1B 78 */ or r0, r0, r3
/* 801D42C0 001D1220 38 61 00 10 */ addi r3, r1, 0x10
/* 801D42C4 001D1224 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801D42C8 001D1228 98 01 00 58 */ stb r0, 0x58(r1)
/* 801D42CC 001D122C 48 16 AA 6D */ bl ReadBits__12CInputStreamFUi
/* 801D42D0 001D1230 38 61 00 10 */ addi r3, r1, 0x10
/* 801D42D4 001D1234 38 80 00 20 */ li r4, 0x20
/* 801D42D8 001D1238 48 16 AA 61 */ bl ReadBits__12CInputStreamFUi
/* 801D42DC 001D123C 90 61 00 40 */ stw r3, 0x40(r1)
/* 801D42E0 001D1240 38 61 00 10 */ addi r3, r1, 0x10
/* 801D42E4 001D1244 38 80 00 20 */ li r4, 0x20
/* 801D42E8 001D1248 48 16 AA 51 */ bl ReadBits__12CInputStreamFUi
/* 801D42EC 001D124C 7C 7E 1B 78 */ mr r30, r3
/* 801D42F0 001D1250 38 61 00 10 */ addi r3, r1, 0x10
/* 801D42F4 001D1254 38 80 00 20 */ li r4, 0x20
/* 801D42F8 001D1258 48 16 AA 41 */ bl ReadBits__12CInputStreamFUi
/* 801D42FC 001D125C 38 00 00 00 */ li r0, 0
/* 801D4300 001D1260 93 C1 00 0C */ stw r30, 0xc(r1)
/* 801D4304 001D1264 38 81 00 10 */ addi r4, r1, 0x10
/* 801D4308 001D1268 90 01 00 08 */ stw r0, 8(r1)
/* 801D430C 001D126C 90 01 00 0C */ stw r0, 0xc(r1)
/* 801D4310 001D1270 93 C1 00 08 */ stw r30, 8(r1)
/* 801D4314 001D1274 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D4318 001D1278 38 61 00 60 */ addi r3, r1, 0x60
/* 801D431C 001D127C 93 C1 00 08 */ stw r30, 8(r1)
/* 801D4320 001D1280 C8 01 00 08 */ lfd f0, 8(r1)
/* 801D4324 001D1284 D8 01 00 38 */ stfd f0, 0x38(r1)
/* 801D4328 001D1288 4B EB DD 01 */ bl __ct__12CPlayerStateFR12CInputStream
/* 801D432C 001D128C C0 01 00 6C */ lfs f0, 0x6c(r1)
/* 801D4330 001D1290 38 61 00 60 */ addi r3, r1, 0x60
/* 801D4334 001D1294 38 80 00 18 */ li r4, 0x18
/* 801D4338 001D1298 D0 01 00 44 */ stfs f0, 0x44(r1)
/* 801D433C 001D129C 4B EB D7 B9 */ bl GetItemCapacity__12CPlayerStateCFQ212CPlayerState9EItemType
/* 801D4340 001D12A0 80 81 00 40 */ lwz r4, 0x40(r1)
/* 801D4344 001D12A4 90 61 00 48 */ stw r3, 0x48(r1)
/* 801D4348 001D12A8 3C 04 EA 72 */ addis r0, r4, 0xea72
/* 801D434C 001D12AC 28 00 FE 17 */ cmplwi r0, 0xfe17
/* 801D4350 001D12B0 93 A1 00 4C */ stw r29, 0x4c(r1)
/* 801D4354 001D12B4 40 82 00 0C */ bne lbl_801D4360
/* 801D4358 001D12B8 38 00 00 00 */ li r0, 0
/* 801D435C 001D12BC 48 00 00 20 */ b lbl_801D437C
lbl_801D4360:
/* 801D4360 001D12C0 38 61 00 60 */ addi r3, r1, 0x60
/* 801D4364 001D12C4 4B EB D1 49 */ bl GetTotalPickupCount__12CPlayerStateCFv
/* 801D4368 001D12C8 7C 7E 1B 78 */ mr r30, r3
/* 801D436C 001D12CC 38 61 00 60 */ addi r3, r1, 0x60
/* 801D4370 001D12D0 4B EB CE C5 */ bl CalculateItemCollectionRate__12CPlayerStateCFv
/* 801D4374 001D12D4 1C 03 00 64 */ mulli r0, r3, 0x64
/* 801D4378 001D12D8 7C 00 F3 D6 */ divw r0, r0, r30
lbl_801D437C:
/* 801D437C 001D12DC 80 A1 01 E4 */ lwz r5, 0x1e4(r1)
/* 801D4380 001D12E0 90 01 00 50 */ stw r0, 0x50(r1)
/* 801D4384 001D12E4 2C 05 00 00 */ cmpwi r5, 0
/* 801D4388 001D12E8 40 82 00 0C */ bne lbl_801D4394
/* 801D438C 001D12EC C0 22 AC 28 */ lfs f1, lbl_805AC948@sda21(r2)
/* 801D4390 001D12F0 48 00 00 44 */ b lbl_801D43D4
lbl_801D4394:
/* 801D4394 001D12F4 80 81 01 E0 */ lwz r4, 0x1e0(r1)
/* 801D4398 001D12F8 3C 60 43 30 */ lis r3, 0x4330
/* 801D439C 001D12FC 6C A0 80 00 */ xoris r0, r5, 0x8000
/* 801D43A0 001D1300 90 61 01 F8 */ stw r3, 0x1f8(r1)
/* 801D43A4 001D1304 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 801D43A8 001D1308 C8 42 AC 30 */ lfd f2, lbl_805AC950@sda21(r2)
/* 801D43AC 001D130C 90 81 01 FC */ stw r4, 0x1fc(r1)
/* 801D43B0 001D1310 C0 62 AC 2C */ lfs f3, lbl_805AC94C@sda21(r2)
/* 801D43B4 001D1314 C8 01 01 F8 */ lfd f0, 0x1f8(r1)
/* 801D43B8 001D1318 90 01 02 04 */ stw r0, 0x204(r1)
/* 801D43BC 001D131C EC 20 10 28 */ fsubs f1, f0, f2
/* 801D43C0 001D1320 90 61 02 00 */ stw r3, 0x200(r1)
/* 801D43C4 001D1324 C8 01 02 00 */ lfd f0, 0x200(r1)
/* 801D43C8 001D1328 EC 00 10 28 */ fsubs f0, f0, f2
/* 801D43CC 001D132C EC 01 00 24 */ fdivs f0, f1, f0
/* 801D43D0 001D1330 EC 23 00 32 */ fmuls f1, f3, f0
lbl_801D43D4:
/* 801D43D4 001D1334 C8 01 00 38 */ lfd f0, 0x38(r1)
/* 801D43D8 001D1338 38 61 00 60 */ addi r3, r1, 0x60
/* 801D43DC 001D133C D0 21 00 54 */ stfs f1, 0x54(r1)
/* 801D43E0 001D1340 38 80 FF FF */ li r4, -1
/* 801D43E4 001D1344 C8 21 00 40 */ lfd f1, 0x40(r1)
/* 801D43E8 001D1348 D8 1F 00 00 */ stfd f0, 0(r31)
/* 801D43EC 001D134C C8 01 00 48 */ lfd f0, 0x48(r1)
/* 801D43F0 001D1350 D8 3F 00 08 */ stfd f1, 8(r31)
/* 801D43F4 001D1354 C8 21 00 50 */ lfd f1, 0x50(r1)
/* 801D43F8 001D1358 D8 1F 00 10 */ stfd f0, 0x10(r31)
/* 801D43FC 001D135C C8 01 00 58 */ lfd f0, 0x58(r1)
/* 801D4400 001D1360 D8 3F 00 18 */ stfd f1, 0x18(r31)
/* 801D4404 001D1364 D8 1F 00 20 */ stfd f0, 0x20(r31)
/* 801D4408 001D1368 4B E3 4B 61 */ bl __dt__12CPlayerStateFv
/* 801D440C 001D136C 3C 80 80 3F */ lis r4, __vt__15CMemoryInStream@ha
/* 801D4410 001D1370 38 61 00 10 */ addi r3, r1, 0x10
/* 801D4414 001D1374 38 04 E3 98 */ addi r0, r4, __vt__15CMemoryInStream@l
/* 801D4418 001D1378 38 80 00 00 */ li r4, 0
/* 801D441C 001D137C 90 01 00 10 */ stw r0, 0x10(r1)
/* 801D4420 001D1380 48 16 AC 8D */ bl __dt__12CInputStreamFv
/* 801D4424 001D1384 80 01 02 24 */ lwz r0, 0x224(r1)
/* 801D4428 001D1388 83 E1 02 1C */ lwz r31, 0x21c(r1)
/* 801D442C 001D138C 83 C1 02 18 */ lwz r30, 0x218(r1)
/* 801D4430 001D1390 83 A1 02 14 */ lwz r29, 0x214(r1)
/* 801D4434 001D1394 7C 08 03 A6 */ mtlr r0
/* 801D4438 001D1398 38 21 02 20 */ addi r1, r1, 0x220
/* 801D443C 001D139C 4E 80 00 20 */ blr
.global InitializeMemoryWorlds__10CGameStateFv
InitializeMemoryWorlds__10CGameStateFv:
/* 801D4440 001D13A0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D4444 001D13A4 7C 08 02 A6 */ mflr r0
/* 801D4448 001D13A8 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D444C 001D13AC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D4450 001D13B0 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D4454 001D13B4 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D4458 001D13B8 7C 7D 1B 78 */ mr r29, r3
/* 801D445C 001D13BC 83 ED A0 84 */ lwz r31, gpMemoryCard@sda21(r13)
/* 801D4460 001D13C0 83 DF 00 18 */ lwz r30, 0x18(r31)
/* 801D4464 001D13C4 48 00 00 80 */ b lbl_801D44E4
lbl_801D4468:
/* 801D4468 001D13C8 80 9E 00 00 */ lwz r4, 0(r30)
/* 801D446C 001D13CC 7F A3 EB 78 */ mr r3, r29
/* 801D4470 001D13D0 4B FF F5 69 */ bl StateForWorld__10CGameStateFUi
/* 801D4474 001D13D4 48 00 08 C1 */ bl GetLayerState__11CWorldStateFv
/* 801D4478 001D13D8 81 03 00 00 */ lwz r8, 0(r3)
/* 801D447C 001D13DC 38 ED A9 28 */ addi r7, r13, sNull__Q24rstl8CRefData@sda21
/* 801D4480 001D13E0 38 9E 00 20 */ addi r4, r30, 0x20
/* 801D4484 001D13E4 38 A1 00 0C */ addi r5, r1, 0xc
/* 801D4488 001D13E8 91 01 00 10 */ stw r8, 0x10(r1)
/* 801D448C 001D13EC 38 C1 00 08 */ addi r6, r1, 8
/* 801D4490 001D13F0 80 68 00 04 */ lwz r3, 4(r8)
/* 801D4494 001D13F4 38 03 00 01 */ addi r0, r3, 1
/* 801D4498 001D13F8 90 08 00 04 */ stw r0, 4(r8)
/* 801D449C 001D13FC 90 E1 00 0C */ stw r7, 0xc(r1)
/* 801D44A0 001D1400 80 67 00 04 */ lwz r3, 4(r7)
/* 801D44A4 001D1404 38 03 00 01 */ addi r0, r3, 1
/* 801D44A8 001D1408 90 07 00 04 */ stw r0, 4(r7)
/* 801D44AC 001D140C 90 E1 00 08 */ stw r7, 8(r1)
/* 801D44B0 001D1410 80 67 00 04 */ lwz r3, 4(r7)
/* 801D44B4 001D1414 38 03 00 01 */ addi r0, r3, 1
/* 801D44B8 001D1418 90 07 00 04 */ stw r0, 4(r7)
/* 801D44BC 001D141C 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D44C0 001D1420 80 63 00 00 */ lwz r3, 0(r3)
/* 801D44C4 001D1424 48 05 FB 05 */ bl "InitializeWorldLayers__16CWorldLayerStateFQ24rstl6vector<Q2CWorldLayers4Area>"
/* 801D44C8 001D1428 38 61 00 08 */ addi r3, r1, 8
/* 801D44CC 001D142C 4B E8 59 99 */ bl sub_80059e64
/* 801D44D0 001D1430 38 61 00 0C */ addi r3, r1, 0xc
/* 801D44D4 001D1434 4B E8 58 C5 */ bl sub_80059d98
/* 801D44D8 001D1438 38 61 00 10 */ addi r3, r1, 0x10
/* 801D44DC 001D143C 4B E3 48 F1 */ bl sub_80008dcc
/* 801D44E0 001D1440 3B DE 00 4C */ addi r30, r30, 0x4c
lbl_801D44E4:
/* 801D44E4 001D1444 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 801D44E8 001D1448 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801D44EC 001D144C 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D44F0 001D1450 7C 03 02 14 */ add r0, r3, r0
/* 801D44F4 001D1454 7C 1E 00 40 */ cmplw r30, r0
/* 801D44F8 001D1458 40 82 FF 70 */ bne lbl_801D4468
/* 801D44FC 001D145C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D4500 001D1460 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D4504 001D1464 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D4508 001D1468 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D450C 001D146C 7C 08 03 A6 */ mtlr r0
/* 801D4510 001D1470 38 21 00 30 */ addi r1, r1, 0x30
/* 801D4514 001D1474 4E 80 00 20 */ blr
.global InitializeMemoryStates__10CGameStateFv
InitializeMemoryStates__10CGameStateFv:
/* 801D4518 001D1478 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D451C 001D147C 7C 08 02 A6 */ mflr r0
/* 801D4520 001D1480 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4524 001D1484 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D4528 001D1488 7C 7F 1B 78 */ mr r31, r3
/* 801D452C 001D148C 80 63 00 98 */ lwz r3, 0x98(r3)
/* 801D4530 001D1490 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4534 001D1494 4B EB D2 09 */ bl InitializeScanTimes__12CPlayerStateFv
/* 801D4538 001D1498 38 7F 01 F8 */ addi r3, r31, 0x1f8
/* 801D453C 001D149C 48 09 35 69 */ bl InitializeMemoryState__12CHintOptionsFv
/* 801D4540 001D14A0 7F E3 FB 78 */ mr r3, r31
/* 801D4544 001D14A4 4B FF FE FD */ bl InitializeMemoryWorlds__10CGameStateFv
/* 801D4548 001D14A8 7F E3 FB 78 */ mr r3, r31
/* 801D454C 001D14AC 4B FF F6 69 */ bl WriteBackupBuf__10CGameStateFv
/* 801D4550 001D14B0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4554 001D14B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D4558 001D14B8 7C 08 03 A6 */ mtlr r0
/* 801D455C 001D14BC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4560 001D14C0 4E 80 00 20 */ blr
.global __ct__10CGameStateFR12CInputStreami
__ct__10CGameStateFR12CInputStreami:
/* 801D4564 001D14C4 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 801D4568 001D14C8 7C 08 02 A6 */ mflr r0
/* 801D456C 001D14CC 90 01 01 14 */ stw r0, 0x114(r1)
/* 801D4570 001D14D0 38 00 00 10 */ li r0, 0x10
/* 801D4574 001D14D4 BE C1 00 E8 */ stmw r22, 0xe8(r1)
/* 801D4578 001D14D8 7C 7D 1B 78 */ mr r29, r3
/* 801D457C 001D14DC 38 60 00 80 */ li r3, 0x80
/* 801D4580 001D14E0 7C 9E 23 78 */ mr r30, r4
/* 801D4584 001D14E4 7C BF 2B 78 */ mr r31, r5
/* 801D4588 001D14E8 38 9D 00 04 */ addi r4, r29, 4
/* 801D458C 001D14EC 90 7D 00 00 */ stw r3, 0(r29)
/* 801D4590 001D14F0 38 60 00 00 */ li r3, 0
/* 801D4594 001D14F4 7C 09 03 A6 */ mtctr r0
lbl_801D4598:
/* 801D4598 001D14F8 28 04 00 00 */ cmplwi r4, 0
/* 801D459C 001D14FC 41 82 00 0C */ beq lbl_801D45A8
/* 801D45A0 001D1500 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45A4 001D1504 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45A8:
/* 801D45A8 001D1508 34 84 00 01 */ addic. r4, r4, 1
/* 801D45AC 001D150C 41 82 00 0C */ beq lbl_801D45B8
/* 801D45B0 001D1510 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45B4 001D1514 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45B8:
/* 801D45B8 001D1518 34 84 00 01 */ addic. r4, r4, 1
/* 801D45BC 001D151C 41 82 00 0C */ beq lbl_801D45C8
/* 801D45C0 001D1520 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45C4 001D1524 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45C8:
/* 801D45C8 001D1528 34 84 00 01 */ addic. r4, r4, 1
/* 801D45CC 001D152C 41 82 00 0C */ beq lbl_801D45D8
/* 801D45D0 001D1530 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45D4 001D1534 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45D8:
/* 801D45D8 001D1538 34 84 00 01 */ addic. r4, r4, 1
/* 801D45DC 001D153C 41 82 00 0C */ beq lbl_801D45E8
/* 801D45E0 001D1540 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45E4 001D1544 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45E8:
/* 801D45E8 001D1548 34 84 00 01 */ addic. r4, r4, 1
/* 801D45EC 001D154C 41 82 00 0C */ beq lbl_801D45F8
/* 801D45F0 001D1550 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D45F4 001D1554 98 04 00 00 */ stb r0, 0(r4)
lbl_801D45F8:
/* 801D45F8 001D1558 34 84 00 01 */ addic. r4, r4, 1
/* 801D45FC 001D155C 41 82 00 0C */ beq lbl_801D4608
/* 801D4600 001D1560 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D4604 001D1564 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4608:
/* 801D4608 001D1568 34 84 00 01 */ addic. r4, r4, 1
/* 801D460C 001D156C 41 82 00 0C */ beq lbl_801D4618
/* 801D4610 001D1570 88 0D 91 AD */ lbz r0, lbl_805A7D6D@sda21(r13)
/* 801D4614 001D1574 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4618:
/* 801D4618 001D1578 38 63 00 07 */ addi r3, r3, 7
/* 801D461C 001D157C 38 84 00 01 */ addi r4, r4, 1
/* 801D4620 001D1580 42 00 FF 78 */ bdnz lbl_801D4598
/* 801D4624 001D1584 38 00 FF FF */ li r0, -1
/* 801D4628 001D1588 3C 60 80 3D */ lis r3, lbl_803D1B88@ha
/* 801D462C 001D158C 90 1D 00 84 */ stw r0, 0x84(r29)
/* 801D4630 001D1590 38 00 00 00 */ li r0, 0
/* 801D4634 001D1594 38 83 1B 88 */ addi r4, r3, lbl_803D1B88@l
/* 801D4638 001D1598 38 60 00 08 */ li r3, 8
/* 801D463C 001D159C 90 1D 00 8C */ stw r0, 0x8c(r29)
/* 801D4640 001D15A0 38 A0 00 00 */ li r5, 0
/* 801D4644 001D15A4 90 1D 00 90 */ stw r0, 0x90(r29)
/* 801D4648 001D15A8 90 1D 00 94 */ stw r0, 0x94(r29)
/* 801D464C 001D15AC 48 14 12 21 */ bl __nw__FUlPCcPCc
/* 801D4650 001D15B0 28 03 00 00 */ cmplwi r3, 0
/* 801D4654 001D15B4 41 82 00 14 */ beq lbl_801D4668
/* 801D4658 001D15B8 38 80 00 00 */ li r4, 0
/* 801D465C 001D15BC 38 00 00 01 */ li r0, 1
/* 801D4660 001D15C0 90 83 00 00 */ stw r4, 0(r3)
/* 801D4664 001D15C4 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4668:
/* 801D4668 001D15C8 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D466C 001D15CC 90 7D 00 98 */ stw r3, 0x98(r29)
/* 801D4670 001D15D0 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4674 001D15D4 38 60 00 48 */ li r3, 0x48
/* 801D4678 001D15D8 38 A0 00 00 */ li r5, 0
/* 801D467C 001D15DC 48 14 11 F1 */ bl __nw__FUlPCcPCc
/* 801D4680 001D15E0 7C 7C 1B 79 */ or. r28, r3, r3
/* 801D4684 001D15E4 41 82 00 0C */ beq lbl_801D4690
/* 801D4688 001D15E8 48 03 70 D1 */ bl __ct__18CWorldTransManagerFv
/* 801D468C 001D15EC 7C 7C 1B 78 */ mr r28, r3
lbl_801D4690:
/* 801D4690 001D15F0 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4694 001D15F4 38 60 00 08 */ li r3, 8
/* 801D4698 001D15F8 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D469C 001D15FC 38 A0 00 00 */ li r5, 0
/* 801D46A0 001D1600 48 14 11 CD */ bl __nw__FUlPCcPCc
/* 801D46A4 001D1604 28 03 00 00 */ cmplwi r3, 0
/* 801D46A8 001D1608 41 82 00 10 */ beq lbl_801D46B8
/* 801D46AC 001D160C 93 83 00 00 */ stw r28, 0(r3)
/* 801D46B0 001D1610 38 00 00 01 */ li r0, 1
/* 801D46B4 001D1614 90 03 00 04 */ stw r0, 4(r3)
lbl_801D46B8:
/* 801D46B8 001D1618 90 7D 00 9C */ stw r3, 0x9c(r29)
/* 801D46BC 001D161C 38 7D 00 A8 */ addi r3, r29, 0xa8
/* 801D46C0 001D1620 C8 02 AC 38 */ lfd f0, lbl_805AC958@sda21(r2)
/* 801D46C4 001D1624 D8 1D 00 A0 */ stfd f0, 0xa0(r29)
/* 801D46C8 001D1628 48 00 18 41 */ bl __ct__14CSystemOptionsFv
/* 801D46CC 001D162C 38 7D 01 7C */ addi r3, r29, 0x17c
/* 801D46D0 001D1630 48 03 B1 01 */ bl __ct__12CGameOptionsFv
/* 801D46D4 001D1634 38 7D 01 F8 */ addi r3, r29, 0x1f8
/* 801D46D8 001D1638 48 09 37 59 */ bl __ct__12CHintOptionsFv
/* 801D46DC 001D163C 93 FD 02 0C */ stw r31, 0x20c(r29)
/* 801D46E0 001D1640 38 60 00 00 */ li r3, 0
/* 801D46E4 001D1644 3B 00 00 00 */ li r24, 0
/* 801D46E8 001D1648 90 7D 02 14 */ stw r3, 0x214(r29)
/* 801D46EC 001D164C 90 7D 02 10 */ stw r3, 0x210(r29)
/* 801D46F0 001D1650 90 7D 02 1C */ stw r3, 0x21c(r29)
/* 801D46F4 001D1654 90 7D 02 20 */ stw r3, 0x220(r29)
/* 801D46F8 001D1658 90 7D 02 24 */ stw r3, 0x224(r29)
/* 801D46FC 001D165C 88 1D 02 28 */ lbz r0, 0x228(r29)
/* 801D4700 001D1660 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801D4704 001D1664 98 1D 02 28 */ stb r0, 0x228(r29)
/* 801D4708 001D1668 88 1D 02 28 */ lbz r0, 0x228(r29)
/* 801D470C 001D166C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801D4710 001D1670 98 1D 02 28 */ stb r0, 0x228(r29)
/* 801D4714 001D1674 48 00 00 1C */ b lbl_801D4730
lbl_801D4718:
/* 801D4718 001D1678 7F C3 F3 78 */ mr r3, r30
/* 801D471C 001D167C 38 80 00 08 */ li r4, 8
/* 801D4720 001D1680 48 16 A6 19 */ bl ReadBits__12CInputStreamFUi
/* 801D4724 001D1684 7C 9D C2 14 */ add r4, r29, r24
/* 801D4728 001D1688 3B 18 00 01 */ addi r24, r24, 1
/* 801D472C 001D168C 98 64 00 04 */ stb r3, 4(r4)
lbl_801D4730:
/* 801D4730 001D1690 80 1D 00 00 */ lwz r0, 0(r29)
/* 801D4734 001D1694 7C 18 00 00 */ cmpw r24, r0
/* 801D4738 001D1698 41 80 FF E0 */ blt lbl_801D4718
/* 801D473C 001D169C 7F C3 F3 78 */ mr r3, r30
/* 801D4740 001D16A0 38 80 00 20 */ li r4, 0x20
/* 801D4744 001D16A4 48 16 A5 F5 */ bl ReadBits__12CInputStreamFUi
/* 801D4748 001D16A8 7F C3 F3 78 */ mr r3, r30
/* 801D474C 001D16AC 38 80 00 01 */ li r4, 1
/* 801D4750 001D16B0 48 16 A5 E9 */ bl ReadBits__12CInputStreamFUi
/* 801D4754 001D16B4 7C 83 00 D0 */ neg r4, r3
/* 801D4758 001D16B8 88 1D 02 28 */ lbz r0, 0x228(r29)
/* 801D475C 001D16BC 7C 84 1B 78 */ or r4, r4, r3
/* 801D4760 001D16C0 7F C3 F3 78 */ mr r3, r30
/* 801D4764 001D16C4 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D4768 001D16C8 38 80 00 01 */ li r4, 1
/* 801D476C 001D16CC 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 801D4770 001D16D0 98 1D 02 28 */ stb r0, 0x228(r29)
/* 801D4774 001D16D4 48 16 A5 C5 */ bl ReadBits__12CInputStreamFUi
/* 801D4778 001D16D8 7C 83 00 D0 */ neg r4, r3
/* 801D477C 001D16DC 88 1D 02 28 */ lbz r0, 0x228(r29)
/* 801D4780 001D16E0 7C 84 1B 78 */ or r4, r4, r3
/* 801D4784 001D16E4 7F C3 F3 78 */ mr r3, r30
/* 801D4788 001D16E8 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D478C 001D16EC 38 80 00 20 */ li r4, 0x20
/* 801D4790 001D16F0 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 801D4794 001D16F4 98 1D 02 28 */ stb r0, 0x228(r29)
/* 801D4798 001D16F8 48 16 A5 A1 */ bl ReadBits__12CInputStreamFUi
/* 801D479C 001D16FC 90 7D 00 84 */ stw r3, 0x84(r29)
/* 801D47A0 001D1700 80 7D 00 84 */ lwz r3, 0x84(r29)
/* 801D47A4 001D1704 4B E3 00 D9 */ bl EnsureWorldPakReady__5CMainFUi
/* 801D47A8 001D1708 7F C3 F3 78 */ mr r3, r30
/* 801D47AC 001D170C 38 80 00 20 */ li r4, 0x20
/* 801D47B0 001D1710 48 16 A5 89 */ bl ReadBits__12CInputStreamFUi
/* 801D47B4 001D1714 7C 7C 1B 78 */ mr r28, r3
/* 801D47B8 001D1718 7F C3 F3 78 */ mr r3, r30
/* 801D47BC 001D171C 38 80 00 20 */ li r4, 0x20
/* 801D47C0 001D1720 48 16 A5 79 */ bl ReadBits__12CInputStreamFUi
/* 801D47C4 001D1724 38 00 00 00 */ li r0, 0
/* 801D47C8 001D1728 93 81 00 2C */ stw r28, 0x2c(r1)
/* 801D47CC 001D172C 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D47D0 001D1730 38 A0 00 00 */ li r5, 0
/* 801D47D4 001D1734 90 01 00 28 */ stw r0, 0x28(r1)
/* 801D47D8 001D1738 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D47DC 001D173C 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801D47E0 001D1740 93 81 00 28 */ stw r28, 0x28(r1)
/* 801D47E4 001D1744 90 61 00 2C */ stw r3, 0x2c(r1)
/* 801D47E8 001D1748 38 60 01 98 */ li r3, 0x198
/* 801D47EC 001D174C 93 81 00 28 */ stw r28, 0x28(r1)
/* 801D47F0 001D1750 C8 01 00 28 */ lfd f0, 0x28(r1)
/* 801D47F4 001D1754 D8 1D 00 A0 */ stfd f0, 0xa0(r29)
/* 801D47F8 001D1758 48 14 10 75 */ bl __nw__FUlPCcPCc
/* 801D47FC 001D175C 7C 7C 1B 79 */ or. r28, r3, r3
/* 801D4800 001D1760 41 82 00 10 */ beq lbl_801D4810
/* 801D4804 001D1764 7F C4 F3 78 */ mr r4, r30
/* 801D4808 001D1768 4B EB D8 21 */ bl __ct__12CPlayerStateFR12CInputStream
/* 801D480C 001D176C 7C 7C 1B 78 */ mr r28, r3
lbl_801D4810:
/* 801D4810 001D1770 38 7D 00 98 */ addi r3, r29, 0x98
/* 801D4814 001D1774 4B E3 46 F9 */ bl sub_80008f0c
/* 801D4818 001D1778 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D481C 001D177C 38 60 00 08 */ li r3, 8
/* 801D4820 001D1780 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4824 001D1784 38 A0 00 00 */ li r5, 0
/* 801D4828 001D1788 48 14 10 45 */ bl __nw__FUlPCcPCc
/* 801D482C 001D178C 28 03 00 00 */ cmplwi r3, 0
/* 801D4830 001D1790 41 82 00 10 */ beq lbl_801D4840
/* 801D4834 001D1794 93 83 00 00 */ stw r28, 0(r3)
/* 801D4838 001D1798 38 00 00 01 */ li r0, 1
/* 801D483C 001D179C 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4840:
/* 801D4840 001D17A0 90 7D 00 98 */ stw r3, 0x98(r29)
/* 801D4844 001D17A4 7F C4 F3 78 */ mr r4, r30
/* 801D4848 001D17A8 38 61 00 68 */ addi r3, r1, 0x68
/* 801D484C 001D17AC 48 03 AC 59 */ bl __ct__12CGameOptionsFR12CInputStream
/* 801D4850 001D17B0 38 7D 01 7C */ addi r3, r29, 0x17c
/* 801D4854 001D17B4 38 81 00 68 */ addi r4, r1, 0x68
/* 801D4858 001D17B8 4B E2 EF 49 */ bl __as__12CGameOptionsFRC12CGameOptions
/* 801D485C 001D17BC 38 61 00 68 */ addi r3, r1, 0x68
/* 801D4860 001D17C0 38 80 FF FF */ li r4, -1
/* 801D4864 001D17C4 4B E2 F7 21 */ bl __dt__12CGameOptionsFv
/* 801D4868 001D17C8 7F C4 F3 78 */ mr r4, r30
/* 801D486C 001D17CC 38 61 00 54 */ addi r3, r1, 0x54
/* 801D4870 001D17D0 48 09 34 51 */ bl __ct__12CHintOptionsFR12CInputStream
/* 801D4874 001D17D4 38 7D 01 F8 */ addi r3, r29, 0x1f8
/* 801D4878 001D17D8 38 81 00 54 */ addi r4, r1, 0x54
/* 801D487C 001D17DC 48 00 01 75 */ bl __ct__12CHintOptionsFR12CHintOptions
/* 801D4880 001D17E0 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801D4884 001D17E4 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801D4888 001D17E8 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D488C 001D17EC 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D4890 001D17F0 7C 64 1B 78 */ mr r4, r3
/* 801D4894 001D17F4 7C 03 02 14 */ add r0, r3, r0
/* 801D4898 001D17F8 90 61 00 08 */ stw r3, 8(r1)
/* 801D489C 001D17FC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D48A0 001D1800 90 01 00 10 */ stw r0, 0x10(r1)
/* 801D48A4 001D1804 48 00 00 08 */ b lbl_801D48AC
lbl_801D48A8:
/* 801D48A8 001D1808 38 84 00 0C */ addi r4, r4, 0xc
lbl_801D48AC:
/* 801D48AC 001D180C 7C 04 00 40 */ cmplw r4, r0
/* 801D48B0 001D1810 40 82 FF F8 */ bne lbl_801D48A8
/* 801D48B4 001D1814 28 03 00 00 */ cmplwi r3, 0
/* 801D48B8 001D1818 41 82 00 08 */ beq lbl_801D48C0
/* 801D48BC 001D181C 48 14 10 75 */ bl Free__7CMemoryFPCv
lbl_801D48C0:
/* 801D48C0 001D1820 83 8D A0 84 */ lwz r28, gpMemoryCard@sda21(r13)
/* 801D48C4 001D1824 38 7D 00 88 */ addi r3, r29, 0x88
/* 801D48C8 001D1828 80 9C 00 10 */ lwz r4, 0x10(r28)
/* 801D48CC 001D182C 48 00 1A 1D */ bl "reserve__Q24rstl48vector<11CWorldState,Q24rstl17rmemory_allocator>Fi"
/* 801D48D0 001D1830 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D48D4 001D1834 83 7C 00 18 */ lwz r27, 0x18(r28)
/* 801D48D8 001D1838 3B 41 00 50 */ addi r26, r1, 0x50
/* 801D48DC 001D183C 3B 21 00 48 */ addi r25, r1, 0x48
/* 801D48E0 001D1840 3B 01 00 44 */ addi r24, r1, 0x44
/* 801D48E4 001D1844 3B E3 56 57 */ addi r31, r3, 0x53415657@l
/* 801D48E8 001D1848 3A C1 00 30 */ addi r22, r1, 0x30
/* 801D48EC 001D184C 48 00 00 C4 */ b lbl_801D49B0
lbl_801D48F0:
/* 801D48F0 001D1850 82 FB 00 00 */ lwz r23, 0(r27)
/* 801D48F4 001D1854 38 61 00 18 */ addi r3, r1, 0x18
/* 801D48F8 001D1858 80 1B 00 08 */ lwz r0, 8(r27)
/* 801D48FC 001D185C 38 A1 00 20 */ addi r5, r1, 0x20
/* 801D4900 001D1860 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D4904 001D1864 93 E1 00 20 */ stw r31, 0x20(r1)
/* 801D4908 001D1868 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D490C 001D186C 81 84 00 00 */ lwz r12, 0(r4)
/* 801D4910 001D1870 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D4914 001D1874 7D 89 03 A6 */ mtctr r12
/* 801D4918 001D1878 4E 80 04 21 */ bctrl
/* 801D491C 001D187C 7E C3 B3 78 */ mr r3, r22
/* 801D4920 001D1880 38 81 00 18 */ addi r4, r1, 0x18
/* 801D4924 001D1884 48 16 C5 85 */ bl __ct__6CTokenFRC6CToken
/* 801D4928 001D1888 7E C3 B3 78 */ mr r3, r22
/* 801D492C 001D188C 48 16 C4 E1 */ bl GetObj__6CTokenFv
/* 801D4930 001D1890 80 03 00 04 */ lwz r0, 4(r3)
/* 801D4934 001D1894 38 61 00 18 */ addi r3, r1, 0x18
/* 801D4938 001D1898 38 80 FF FF */ li r4, -1
/* 801D493C 001D189C 90 01 00 38 */ stw r0, 0x38(r1)
/* 801D4940 001D18A0 48 16 C5 01 */ bl __dt__6CTokenFv
/* 801D4944 001D18A4 80 C1 00 38 */ lwz r6, 0x38(r1)
/* 801D4948 001D18A8 7F C4 F3 78 */ mr r4, r30
/* 801D494C 001D18AC 7E E5 BB 78 */ mr r5, r23
/* 801D4950 001D18B0 38 61 00 3C */ addi r3, r1, 0x3c
/* 801D4954 001D18B4 48 00 04 E5 */ bl __ct__11CWorldStateFR12CInputStreamPCvR18CWorldSaveGameInfo
/* 801D4958 001D18B8 38 7D 00 88 */ addi r3, r29, 0x88
/* 801D495C 001D18BC 38 81 00 3C */ addi r4, r1, 0x3c
/* 801D4960 001D18C0 4B FF F1 7D */ bl __ct__11CWorldStateFRC11CWorldState
/* 801D4964 001D18C4 28 1A 00 00 */ cmplwi r26, 0
/* 801D4968 001D18C8 41 82 00 10 */ beq lbl_801D4978
/* 801D496C 001D18CC 41 82 00 0C */ beq lbl_801D4978
/* 801D4970 001D18D0 7F 43 D3 78 */ mr r3, r26
/* 801D4974 001D18D4 4B E3 44 59 */ bl sub_80008dcc
lbl_801D4978:
/* 801D4978 001D18D8 28 19 00 00 */ cmplwi r25, 0
/* 801D497C 001D18DC 41 82 00 10 */ beq lbl_801D498C
/* 801D4980 001D18E0 41 82 00 0C */ beq lbl_801D498C
/* 801D4984 001D18E4 7F 23 CB 78 */ mr r3, r25
/* 801D4988 001D18E8 4B E3 42 B5 */ bl sub_80008c3c
lbl_801D498C:
/* 801D498C 001D18EC 28 18 00 00 */ cmplwi r24, 0
/* 801D4990 001D18F0 41 82 00 10 */ beq lbl_801D49A0
/* 801D4994 001D18F4 41 82 00 0C */ beq lbl_801D49A0
/* 801D4998 001D18F8 7F 03 C3 78 */ mr r3, r24
/* 801D499C 001D18FC 4B E3 3C A5 */ bl __dt__11CWorldStateFv
lbl_801D49A0:
/* 801D49A0 001D1900 38 61 00 30 */ addi r3, r1, 0x30
/* 801D49A4 001D1904 38 80 00 00 */ li r4, 0
/* 801D49A8 001D1908 48 16 C4 99 */ bl __dt__6CTokenFv
/* 801D49AC 001D190C 3B 7B 00 4C */ addi r27, r27, 0x4c
lbl_801D49B0:
/* 801D49B0 001D1910 80 1C 00 10 */ lwz r0, 0x10(r28)
/* 801D49B4 001D1914 80 7C 00 18 */ lwz r3, 0x18(r28)
/* 801D49B8 001D1918 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D49BC 001D191C 7C 03 02 14 */ add r0, r3, r0
/* 801D49C0 001D1920 7C 1B 00 40 */ cmplw r27, r0
/* 801D49C4 001D1924 40 82 FF 2C */ bne lbl_801D48F0
/* 801D49C8 001D1928 7F A3 EB 78 */ mr r3, r29
/* 801D49CC 001D192C 4B FF FA 75 */ bl InitializeMemoryWorlds__10CGameStateFv
/* 801D49D0 001D1930 7F A3 EB 78 */ mr r3, r29
/* 801D49D4 001D1934 4B FF F1 E1 */ bl WriteBackupBuf__10CGameStateFv
/* 801D49D8 001D1938 7F A3 EB 78 */ mr r3, r29
/* 801D49DC 001D193C BA C1 00 E8 */ lmw r22, 0xe8(r1)
/* 801D49E0 001D1940 80 01 01 14 */ lwz r0, 0x114(r1)
/* 801D49E4 001D1944 7C 08 03 A6 */ mtlr r0
/* 801D49E8 001D1948 38 21 01 10 */ addi r1, r1, 0x110
/* 801D49EC 001D194C 4E 80 00 20 */ blr
.global __ct__12CHintOptionsFR12CHintOptions
__ct__12CHintOptionsFR12CHintOptions:
/* 801D49F0 001D1950 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D49F4 001D1954 7C 08 02 A6 */ mflr r0
/* 801D49F8 001D1958 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D49FC 001D195C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D4A00 001D1960 7C 9F 23 78 */ mr r31, r4
/* 801D4A04 001D1964 93 C1 00 08 */ stw r30, 8(r1)
/* 801D4A08 001D1968 7C 7E 1B 78 */ mr r30, r3
/* 801D4A0C 001D196C 48 00 00 29 */ bl sub_801d4a34
/* 801D4A10 001D1970 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 801D4A14 001D1974 7F C3 F3 78 */ mr r3, r30
/* 801D4A18 001D1978 90 1E 00 10 */ stw r0, 0x10(r30)
/* 801D4A1C 001D197C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D4A20 001D1980 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D4A24 001D1984 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4A28 001D1988 7C 08 03 A6 */ mtlr r0
/* 801D4A2C 001D198C 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4A30 001D1990 4E 80 00 20 */ blr
.global sub_801d4a34
sub_801d4a34:
/* 801D4A34 001D1994 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4A38 001D1998 7C 08 02 A6 */ mflr r0
/* 801D4A3C 001D199C 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4A40 001D19A0 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4A44 001D19A4 7C 7F 1B 78 */ mr r31, r3
/* 801D4A48 001D19A8 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4A4C 001D19AC 7C 9E 23 78 */ mr r30, r4
/* 801D4A50 001D19B0 7C 1F F0 40 */ cmplw r31, r30
/* 801D4A54 001D19B4 40 82 00 08 */ bne lbl_801D4A5C
/* 801D4A58 001D19B8 48 00 00 C8 */ b lbl_801D4B20
lbl_801D4A5C:
/* 801D4A5C 001D19BC 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D4A60 001D19C0 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801D4A64 001D19C4 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D4A68 001D19C8 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D4A6C 001D19CC 7C 03 02 14 */ add r0, r3, r0
/* 801D4A70 001D19D0 90 61 00 08 */ stw r3, 8(r1)
/* 801D4A74 001D19D4 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4A78 001D19D8 90 01 00 10 */ stw r0, 0x10(r1)
/* 801D4A7C 001D19DC 48 00 00 08 */ b lbl_801D4A84
lbl_801D4A80:
/* 801D4A80 001D19E0 38 63 00 0C */ addi r3, r3, 0xc
lbl_801D4A84:
/* 801D4A84 001D19E4 7C 03 00 40 */ cmplw r3, r0
/* 801D4A88 001D19E8 40 82 FF F8 */ bne lbl_801D4A80
/* 801D4A8C 001D19EC 38 00 00 00 */ li r0, 0
/* 801D4A90 001D19F0 90 1F 00 04 */ stw r0, 4(r31)
/* 801D4A94 001D19F4 80 9E 00 04 */ lwz r4, 4(r30)
/* 801D4A98 001D19F8 2C 04 00 00 */ cmpwi r4, 0
/* 801D4A9C 001D19FC 40 82 00 28 */ bne lbl_801D4AC4
/* 801D4AA0 001D1A00 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801D4AA4 001D1A04 28 03 00 00 */ cmplwi r3, 0
/* 801D4AA8 001D1A08 41 82 00 08 */ beq lbl_801D4AB0
/* 801D4AAC 001D1A0C 48 14 0E 85 */ bl Free__7CMemoryFPCv
lbl_801D4AB0:
/* 801D4AB0 001D1A10 38 00 00 00 */ li r0, 0
/* 801D4AB4 001D1A14 90 1F 00 04 */ stw r0, 4(r31)
/* 801D4AB8 001D1A18 90 1F 00 08 */ stw r0, 8(r31)
/* 801D4ABC 001D1A1C 90 1F 00 0C */ stw r0, 0xc(r31)
/* 801D4AC0 001D1A20 48 00 00 5C */ b lbl_801D4B1C
lbl_801D4AC4:
/* 801D4AC4 001D1A24 7F E3 FB 78 */ mr r3, r31
/* 801D4AC8 001D1A28 48 00 16 35 */ bl sub_801d60fc
/* 801D4ACC 001D1A2C 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D4AD0 001D1A30 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 801D4AD4 001D1A34 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D4AD8 001D1A38 80 7F 00 0C */ lwz r3, 0xc(r31)
/* 801D4ADC 001D1A3C 7C 85 02 14 */ add r4, r5, r0
/* 801D4AE0 001D1A40 48 00 00 2C */ b lbl_801D4B0C
lbl_801D4AE4:
/* 801D4AE4 001D1A44 28 03 00 00 */ cmplwi r3, 0
/* 801D4AE8 001D1A48 41 82 00 1C */ beq lbl_801D4B04
/* 801D4AEC 001D1A4C 80 05 00 00 */ lwz r0, 0(r5)
/* 801D4AF0 001D1A50 90 03 00 00 */ stw r0, 0(r3)
/* 801D4AF4 001D1A54 C0 05 00 04 */ lfs f0, 4(r5)
/* 801D4AF8 001D1A58 D0 03 00 04 */ stfs f0, 4(r3)
/* 801D4AFC 001D1A5C 88 05 00 08 */ lbz r0, 8(r5)
/* 801D4B00 001D1A60 98 03 00 08 */ stb r0, 8(r3)
lbl_801D4B04:
/* 801D4B04 001D1A64 38 63 00 0C */ addi r3, r3, 0xc
/* 801D4B08 001D1A68 38 A5 00 0C */ addi r5, r5, 0xc
lbl_801D4B0C:
/* 801D4B0C 001D1A6C 7C 05 20 40 */ cmplw r5, r4
/* 801D4B10 001D1A70 40 82 FF D4 */ bne lbl_801D4AE4
/* 801D4B14 001D1A74 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D4B18 001D1A78 90 1F 00 04 */ stw r0, 4(r31)
lbl_801D4B1C:
/* 801D4B1C 001D1A7C 7F E3 FB 78 */ mr r3, r31
lbl_801D4B20:
/* 801D4B20 001D1A80 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4B24 001D1A84 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4B28 001D1A88 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4B2C 001D1A8C 7C 08 03 A6 */ mtlr r0
/* 801D4B30 001D1A90 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4B34 001D1A94 4E 80 00 20 */ blr
.global __ct__10CGameStateFv
__ct__10CGameStateFv:
/* 801D4B38 001D1A98 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D4B3C 001D1A9C 7C 08 02 A6 */ mflr r0
/* 801D4B40 001D1AA0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D4B44 001D1AA4 38 00 00 10 */ li r0, 0x10
/* 801D4B48 001D1AA8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D4B4C 001D1AAC 7C 7F 1B 78 */ mr r31, r3
/* 801D4B50 001D1AB0 38 60 00 80 */ li r3, 0x80
/* 801D4B54 001D1AB4 93 C1 00 08 */ stw r30, 8(r1)
/* 801D4B58 001D1AB8 38 9F 00 04 */ addi r4, r31, 4
/* 801D4B5C 001D1ABC 90 7F 00 00 */ stw r3, 0(r31)
/* 801D4B60 001D1AC0 38 60 00 00 */ li r3, 0
/* 801D4B64 001D1AC4 7C 09 03 A6 */ mtctr r0
lbl_801D4B68:
/* 801D4B68 001D1AC8 28 04 00 00 */ cmplwi r4, 0
/* 801D4B6C 001D1ACC 41 82 00 0C */ beq lbl_801D4B78
/* 801D4B70 001D1AD0 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4B74 001D1AD4 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4B78:
/* 801D4B78 001D1AD8 34 84 00 01 */ addic. r4, r4, 1
/* 801D4B7C 001D1ADC 41 82 00 0C */ beq lbl_801D4B88
/* 801D4B80 001D1AE0 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4B84 001D1AE4 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4B88:
/* 801D4B88 001D1AE8 34 84 00 01 */ addic. r4, r4, 1
/* 801D4B8C 001D1AEC 41 82 00 0C */ beq lbl_801D4B98
/* 801D4B90 001D1AF0 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4B94 001D1AF4 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4B98:
/* 801D4B98 001D1AF8 34 84 00 01 */ addic. r4, r4, 1
/* 801D4B9C 001D1AFC 41 82 00 0C */ beq lbl_801D4BA8
/* 801D4BA0 001D1B00 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4BA4 001D1B04 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4BA8:
/* 801D4BA8 001D1B08 34 84 00 01 */ addic. r4, r4, 1
/* 801D4BAC 001D1B0C 41 82 00 0C */ beq lbl_801D4BB8
/* 801D4BB0 001D1B10 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4BB4 001D1B14 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4BB8:
/* 801D4BB8 001D1B18 34 84 00 01 */ addic. r4, r4, 1
/* 801D4BBC 001D1B1C 41 82 00 0C */ beq lbl_801D4BC8
/* 801D4BC0 001D1B20 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4BC4 001D1B24 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4BC8:
/* 801D4BC8 001D1B28 34 84 00 01 */ addic. r4, r4, 1
/* 801D4BCC 001D1B2C 41 82 00 0C */ beq lbl_801D4BD8
/* 801D4BD0 001D1B30 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4BD4 001D1B34 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4BD8:
/* 801D4BD8 001D1B38 34 84 00 01 */ addic. r4, r4, 1
/* 801D4BDC 001D1B3C 41 82 00 0C */ beq lbl_801D4BE8
/* 801D4BE0 001D1B40 88 0D 91 AC */ lbz r0, lbl_805A7D6C@sda21(r13)
/* 801D4BE4 001D1B44 98 04 00 00 */ stb r0, 0(r4)
lbl_801D4BE8:
/* 801D4BE8 001D1B48 38 63 00 07 */ addi r3, r3, 7
/* 801D4BEC 001D1B4C 38 84 00 01 */ addi r4, r4, 1
/* 801D4BF0 001D1B50 42 00 FF 78 */ bdnz lbl_801D4B68
/* 801D4BF4 001D1B54 38 00 FF FF */ li r0, -1
/* 801D4BF8 001D1B58 3C 60 80 3D */ lis r3, lbl_803D1B88@ha
/* 801D4BFC 001D1B5C 90 1F 00 84 */ stw r0, 0x84(r31)
/* 801D4C00 001D1B60 38 00 00 00 */ li r0, 0
/* 801D4C04 001D1B64 38 83 1B 88 */ addi r4, r3, lbl_803D1B88@l
/* 801D4C08 001D1B68 38 60 01 98 */ li r3, 0x198
/* 801D4C0C 001D1B6C 90 1F 00 8C */ stw r0, 0x8c(r31)
/* 801D4C10 001D1B70 38 A0 00 00 */ li r5, 0
/* 801D4C14 001D1B74 90 1F 00 90 */ stw r0, 0x90(r31)
/* 801D4C18 001D1B78 90 1F 00 94 */ stw r0, 0x94(r31)
/* 801D4C1C 001D1B7C 48 14 0C 51 */ bl __nw__FUlPCcPCc
/* 801D4C20 001D1B80 7C 7E 1B 79 */ or. r30, r3, r3
/* 801D4C24 001D1B84 41 82 00 0C */ beq lbl_801D4C30
/* 801D4C28 001D1B88 4B EB D6 A1 */ bl __ct__12CPlayerStateFv
/* 801D4C2C 001D1B8C 7C 7E 1B 78 */ mr r30, r3
lbl_801D4C30:
/* 801D4C30 001D1B90 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4C34 001D1B94 38 60 00 08 */ li r3, 8
/* 801D4C38 001D1B98 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4C3C 001D1B9C 38 A0 00 00 */ li r5, 0
/* 801D4C40 001D1BA0 48 14 0C 2D */ bl __nw__FUlPCcPCc
/* 801D4C44 001D1BA4 28 03 00 00 */ cmplwi r3, 0
/* 801D4C48 001D1BA8 41 82 00 10 */ beq lbl_801D4C58
/* 801D4C4C 001D1BAC 93 C3 00 00 */ stw r30, 0(r3)
/* 801D4C50 001D1BB0 38 00 00 01 */ li r0, 1
/* 801D4C54 001D1BB4 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4C58:
/* 801D4C58 001D1BB8 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4C5C 001D1BBC 90 7F 00 98 */ stw r3, 0x98(r31)
/* 801D4C60 001D1BC0 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4C64 001D1BC4 38 60 00 48 */ li r3, 0x48
/* 801D4C68 001D1BC8 38 A0 00 00 */ li r5, 0
/* 801D4C6C 001D1BCC 48 14 0C 01 */ bl __nw__FUlPCcPCc
/* 801D4C70 001D1BD0 7C 7E 1B 79 */ or. r30, r3, r3
/* 801D4C74 001D1BD4 41 82 00 0C */ beq lbl_801D4C80
/* 801D4C78 001D1BD8 48 03 6A E1 */ bl __ct__18CWorldTransManagerFv
/* 801D4C7C 001D1BDC 7C 7E 1B 78 */ mr r30, r3
lbl_801D4C80:
/* 801D4C80 001D1BE0 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4C84 001D1BE4 38 60 00 08 */ li r3, 8
/* 801D4C88 001D1BE8 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4C8C 001D1BEC 38 A0 00 00 */ li r5, 0
/* 801D4C90 001D1BF0 48 14 0B DD */ bl __nw__FUlPCcPCc
/* 801D4C94 001D1BF4 28 03 00 00 */ cmplwi r3, 0
/* 801D4C98 001D1BF8 41 82 00 10 */ beq lbl_801D4CA8
/* 801D4C9C 001D1BFC 93 C3 00 00 */ stw r30, 0(r3)
/* 801D4CA0 001D1C00 38 00 00 01 */ li r0, 1
/* 801D4CA4 001D1C04 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4CA8:
/* 801D4CA8 001D1C08 90 7F 00 9C */ stw r3, 0x9c(r31)
/* 801D4CAC 001D1C0C 38 7F 00 A8 */ addi r3, r31, 0xa8
/* 801D4CB0 001D1C10 C8 02 AC 38 */ lfd f0, lbl_805AC958@sda21(r2)
/* 801D4CB4 001D1C14 D8 1F 00 A0 */ stfd f0, 0xa0(r31)
/* 801D4CB8 001D1C18 48 00 12 51 */ bl __ct__14CSystemOptionsFv
/* 801D4CBC 001D1C1C 38 7F 01 7C */ addi r3, r31, 0x17c
/* 801D4CC0 001D1C20 48 03 AB 11 */ bl __ct__12CGameOptionsFv
/* 801D4CC4 001D1C24 38 7F 01 F8 */ addi r3, r31, 0x1f8
/* 801D4CC8 001D1C28 48 09 31 69 */ bl __ct__12CHintOptionsFv
/* 801D4CCC 001D1C2C 38 80 00 00 */ li r4, 0
/* 801D4CD0 001D1C30 38 60 00 01 */ li r3, 1
/* 801D4CD4 001D1C34 90 9F 02 0C */ stw r4, 0x20c(r31)
/* 801D4CD8 001D1C38 90 9F 02 14 */ stw r4, 0x214(r31)
/* 801D4CDC 001D1C3C 90 9F 02 10 */ stw r4, 0x210(r31)
/* 801D4CE0 001D1C40 90 9F 02 1C */ stw r4, 0x21c(r31)
/* 801D4CE4 001D1C44 90 9F 02 20 */ stw r4, 0x220(r31)
/* 801D4CE8 001D1C48 90 9F 02 24 */ stw r4, 0x224(r31)
/* 801D4CEC 001D1C4C 88 1F 02 28 */ lbz r0, 0x228(r31)
/* 801D4CF0 001D1C50 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801D4CF4 001D1C54 98 1F 02 28 */ stb r0, 0x228(r31)
/* 801D4CF8 001D1C58 88 1F 02 28 */ lbz r0, 0x228(r31)
/* 801D4CFC 001D1C5C 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801D4D00 001D1C60 98 1F 02 28 */ stb r0, 0x228(r31)
/* 801D4D04 001D1C64 80 0D A0 84 */ lwz r0, gpMemoryCard@sda21(r13)
/* 801D4D08 001D1C68 28 00 00 00 */ cmplwi r0, 0
/* 801D4D0C 001D1C6C 41 82 00 0C */ beq lbl_801D4D18
/* 801D4D10 001D1C70 7F E3 FB 78 */ mr r3, r31
/* 801D4D14 001D1C74 4B FF F8 05 */ bl InitializeMemoryStates__10CGameStateFv
lbl_801D4D18:
/* 801D4D18 001D1C78 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D4D1C 001D1C7C 7F E3 FB 78 */ mr r3, r31
/* 801D4D20 001D1C80 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D4D24 001D1C84 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D4D28 001D1C88 7C 08 03 A6 */ mtlr r0
/* 801D4D2C 001D1C8C 38 21 00 10 */ addi r1, r1, 0x10
/* 801D4D30 001D1C90 4E 80 00 20 */ blr
.global GetLayerState__11CWorldStateFv
GetLayerState__11CWorldStateFv:
/* 801D4D34 001D1C94 38 63 00 14 */ addi r3, r3, 0x14
/* 801D4D38 001D1C98 4E 80 00 20 */ blr
.global SetDesiredAreaAssetId__11CWorldStateFUi
SetDesiredAreaAssetId__11CWorldStateFUi:
/* 801D4D3C 001D1C9C 90 83 00 10 */ stw r4, 0x10(r3)
/* 801D4D40 001D1CA0 4E 80 00 20 */ blr
.global GetDesiredAreaAssetId__11CWorldStateCFv
GetDesiredAreaAssetId__11CWorldStateCFv:
/* 801D4D44 001D1CA4 80 63 00 10 */ lwz r3, 0x10(r3)
/* 801D4D48 001D1CA8 4E 80 00 20 */ blr
.global SetAreaId__11CWorldStateF7TAreaId
SetAreaId__11CWorldStateF7TAreaId:
/* 801D4D4C 001D1CAC 80 04 00 00 */ lwz r0, 0(r4)
/* 801D4D50 001D1CB0 90 03 00 04 */ stw r0, 4(r3)
/* 801D4D54 001D1CB4 4E 80 00 20 */ blr
.global GetCurrentArea__11CWorldStateCFv
GetCurrentArea__11CWorldStateCFv:
/* 801D4D58 001D1CB8 80 04 00 04 */ lwz r0, 4(r4)
/* 801D4D5C 001D1CBC 90 03 00 00 */ stw r0, 0(r3)
/* 801D4D60 001D1CC0 4E 80 00 20 */ blr
.global GetMapWorldInfo__11CWorldStateCFv
GetMapWorldInfo__11CWorldStateCFv:
/* 801D4D64 001D1CC4 80 04 00 0C */ lwz r0, 0xc(r4)
/* 801D4D68 001D1CC8 90 03 00 00 */ stw r0, 0(r3)
/* 801D4D6C 001D1CCC 80 83 00 00 */ lwz r4, 0(r3)
/* 801D4D70 001D1CD0 80 64 00 04 */ lwz r3, 4(r4)
/* 801D4D74 001D1CD4 38 03 00 01 */ addi r0, r3, 1
/* 801D4D78 001D1CD8 90 04 00 04 */ stw r0, 4(r4)
/* 801D4D7C 001D1CDC 4E 80 00 20 */ blr
.global MapWorldInfo__11CWorldStateFv
MapWorldInfo__11CWorldStateFv:
/* 801D4D80 001D1CE0 38 63 00 0C */ addi r3, r3, 0xc
/* 801D4D84 001D1CE4 4E 80 00 20 */ blr
.global Mailbox__11CWorldStateFv
Mailbox__11CWorldStateFv:
/* 801D4D88 001D1CE8 38 63 00 08 */ addi r3, r3, 8
/* 801D4D8C 001D1CEC 4E 80 00 20 */ blr
.global GetWorldAssetId__11CWorldStateCFv
GetWorldAssetId__11CWorldStateCFv:
/* 801D4D90 001D1CF0 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4D94 001D1CF4 4E 80 00 20 */ blr
.global PutTo__11CWorldStateFR16CMemoryStreamOut
PutTo__11CWorldStateFR16CMemoryStreamOut:
/* 801D4D98 001D1CF8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4D9C 001D1CFC 7C 08 02 A6 */ mflr r0
/* 801D4DA0 001D1D00 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4DA4 001D1D04 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4DA8 001D1D08 7C BF 2B 78 */ mr r31, r5
/* 801D4DAC 001D1D0C 38 A0 00 20 */ li r5, 0x20
/* 801D4DB0 001D1D10 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4DB4 001D1D14 7C 9E 23 78 */ mr r30, r4
/* 801D4DB8 001D1D18 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D4DBC 001D1D1C 7C 7D 1B 78 */ mr r29, r3
/* 801D4DC0 001D1D20 80 83 00 04 */ lwz r4, 4(r3)
/* 801D4DC4 001D1D24 7F C3 F3 78 */ mr r3, r30
/* 801D4DC8 001D1D28 48 16 A5 F5 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4DCC 001D1D2C 80 9D 00 10 */ lwz r4, 0x10(r29)
/* 801D4DD0 001D1D30 7F C3 F3 78 */ mr r3, r30
/* 801D4DD4 001D1D34 38 A0 00 20 */ li r5, 0x20
/* 801D4DD8 001D1D38 48 16 A5 E5 */ bl WriteBits__13COutputStreamFUiUi
/* 801D4DDC 001D1D3C 80 7D 00 08 */ lwz r3, 8(r29)
/* 801D4DE0 001D1D40 7F C4 F3 78 */ mr r4, r30
/* 801D4DE4 001D1D44 7F E5 FB 78 */ mr r5, r31
/* 801D4DE8 001D1D48 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4DEC 001D1D4C 4B F0 CE D1 */ bl PutTo__14CScriptMailboxCFR13COutputStreamR18CWorldSaveGameInfo
/* 801D4DF0 001D1D50 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801D4DF4 001D1D54 7F C4 F3 78 */ mr r4, r30
/* 801D4DF8 001D1D58 80 DD 00 00 */ lwz r6, 0(r29)
/* 801D4DFC 001D1D5C 7F E5 FB 78 */ mr r5, r31
/* 801D4E00 001D1D60 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4E04 001D1D64 4B F9 3D 99 */ bl PutTo__13CMapWorldInfoCFR13COutputStreamRC18CWorldSaveGameInfoi
/* 801D4E08 001D1D68 80 7D 00 14 */ lwz r3, 0x14(r29)
/* 801D4E0C 001D1D6C 7F C4 F3 78 */ mr r4, r30
/* 801D4E10 001D1D70 7F E5 FB 78 */ mr r5, r31
/* 801D4E14 001D1D74 80 63 00 00 */ lwz r3, 0(r3)
/* 801D4E18 001D1D78 48 05 F5 19 */ bl PutTo__16CWorldLayerStateFR16CMemoryStreamOut
/* 801D4E1C 001D1D7C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D4E20 001D1D80 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D4E24 001D1D84 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D4E28 001D1D88 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D4E2C 001D1D8C 7C 08 03 A6 */ mtlr r0
/* 801D4E30 001D1D90 38 21 00 20 */ addi r1, r1, 0x20
/* 801D4E34 001D1D94 4E 80 00 20 */ blr
.global __ct__11CWorldStateFR12CInputStreamPCvR18CWorldSaveGameInfo
__ct__11CWorldStateFR12CInputStreamPCvR18CWorldSaveGameInfo:
/* 801D4E38 001D1D98 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D4E3C 001D1D9C 7C 08 02 A6 */ mflr r0
/* 801D4E40 001D1DA0 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D4E44 001D1DA4 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D4E48 001D1DA8 7C DF 33 78 */ mr r31, r6
/* 801D4E4C 001D1DAC 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D4E50 001D1DB0 7C 9E 23 78 */ mr r30, r4
/* 801D4E54 001D1DB4 93 A1 00 14 */ stw r29, 0x14(r1)
/* 801D4E58 001D1DB8 7C 7D 1B 78 */ mr r29, r3
/* 801D4E5C 001D1DBC 3C 60 80 3D */ lis r3, lbl_803D1B88@ha
/* 801D4E60 001D1DC0 93 81 00 10 */ stw r28, 0x10(r1)
/* 801D4E64 001D1DC4 38 03 1B 88 */ addi r0, r3, lbl_803D1B88@l
/* 801D4E68 001D1DC8 7C 04 03 78 */ mr r4, r0
/* 801D4E6C 001D1DCC 38 60 00 08 */ li r3, 8
/* 801D4E70 001D1DD0 90 BD 00 00 */ stw r5, 0(r29)
/* 801D4E74 001D1DD4 38 A0 FF FF */ li r5, -1
/* 801D4E78 001D1DD8 90 BD 00 04 */ stw r5, 4(r29)
/* 801D4E7C 001D1DDC 38 A0 00 00 */ li r5, 0
/* 801D4E80 001D1DE0 48 14 09 ED */ bl __nw__FUlPCcPCc
/* 801D4E84 001D1DE4 28 03 00 00 */ cmplwi r3, 0
/* 801D4E88 001D1DE8 41 82 00 14 */ beq lbl_801D4E9C
/* 801D4E8C 001D1DEC 38 80 00 00 */ li r4, 0
/* 801D4E90 001D1DF0 38 00 00 01 */ li r0, 1
/* 801D4E94 001D1DF4 90 83 00 00 */ stw r4, 0(r3)
/* 801D4E98 001D1DF8 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4E9C:
/* 801D4E9C 001D1DFC 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4EA0 001D1E00 90 7D 00 08 */ stw r3, 8(r29)
/* 801D4EA4 001D1E04 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4EA8 001D1E08 38 60 00 08 */ li r3, 8
/* 801D4EAC 001D1E0C 38 A0 00 00 */ li r5, 0
/* 801D4EB0 001D1E10 48 14 09 BD */ bl __nw__FUlPCcPCc
/* 801D4EB4 001D1E14 28 03 00 00 */ cmplwi r3, 0
/* 801D4EB8 001D1E18 41 82 00 14 */ beq lbl_801D4ECC
/* 801D4EBC 001D1E1C 38 80 00 00 */ li r4, 0
/* 801D4EC0 001D1E20 38 00 00 01 */ li r0, 1
/* 801D4EC4 001D1E24 90 83 00 00 */ stw r4, 0(r3)
/* 801D4EC8 001D1E28 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4ECC:
/* 801D4ECC 001D1E2C 90 7D 00 0C */ stw r3, 0xc(r29)
/* 801D4ED0 001D1E30 38 00 FF FF */ li r0, -1
/* 801D4ED4 001D1E34 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4ED8 001D1E38 38 60 00 08 */ li r3, 8
/* 801D4EDC 001D1E3C 90 1D 00 10 */ stw r0, 0x10(r29)
/* 801D4EE0 001D1E40 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4EE4 001D1E44 38 A0 00 00 */ li r5, 0
/* 801D4EE8 001D1E48 48 14 09 85 */ bl __nw__FUlPCcPCc
/* 801D4EEC 001D1E4C 28 03 00 00 */ cmplwi r3, 0
/* 801D4EF0 001D1E50 41 82 00 14 */ beq lbl_801D4F04
/* 801D4EF4 001D1E54 38 80 00 00 */ li r4, 0
/* 801D4EF8 001D1E58 38 00 00 01 */ li r0, 1
/* 801D4EFC 001D1E5C 90 83 00 00 */ stw r4, 0(r3)
/* 801D4F00 001D1E60 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4F04:
/* 801D4F04 001D1E64 90 7D 00 14 */ stw r3, 0x14(r29)
/* 801D4F08 001D1E68 7F C3 F3 78 */ mr r3, r30
/* 801D4F0C 001D1E6C 38 80 00 20 */ li r4, 0x20
/* 801D4F10 001D1E70 48 16 9E 29 */ bl ReadBits__12CInputStreamFUi
/* 801D4F14 001D1E74 90 7D 00 04 */ stw r3, 4(r29)
/* 801D4F18 001D1E78 7F C3 F3 78 */ mr r3, r30
/* 801D4F1C 001D1E7C 38 80 00 20 */ li r4, 0x20
/* 801D4F20 001D1E80 48 16 9E 19 */ bl ReadBits__12CInputStreamFUi
/* 801D4F24 001D1E84 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4F28 001D1E88 90 7D 00 10 */ stw r3, 0x10(r29)
/* 801D4F2C 001D1E8C 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4F30 001D1E90 38 60 08 04 */ li r3, 0x804
/* 801D4F34 001D1E94 38 A0 00 00 */ li r5, 0
/* 801D4F38 001D1E98 48 14 09 35 */ bl __nw__FUlPCcPCc
/* 801D4F3C 001D1E9C 7C 7C 1B 79 */ or. r28, r3, r3
/* 801D4F40 001D1EA0 41 82 00 14 */ beq lbl_801D4F54
/* 801D4F44 001D1EA4 7F C4 F3 78 */ mr r4, r30
/* 801D4F48 001D1EA8 7F E5 FB 78 */ mr r5, r31
/* 801D4F4C 001D1EAC 4B F0 CF 6D */ bl __ct__14CScriptMailboxFR12CInputStreamRC18CWorldSaveGameInfo
/* 801D4F50 001D1EB0 7C 7C 1B 78 */ mr r28, r3
lbl_801D4F54:
/* 801D4F54 001D1EB4 38 7D 00 08 */ addi r3, r29, 8
/* 801D4F58 001D1EB8 4B E3 36 E9 */ bl __dt__11CWorldStateFv
/* 801D4F5C 001D1EBC 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4F60 001D1EC0 38 60 00 08 */ li r3, 8
/* 801D4F64 001D1EC4 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4F68 001D1EC8 38 A0 00 00 */ li r5, 0
/* 801D4F6C 001D1ECC 48 14 09 01 */ bl __nw__FUlPCcPCc
/* 801D4F70 001D1ED0 28 03 00 00 */ cmplwi r3, 0
/* 801D4F74 001D1ED4 41 82 00 10 */ beq lbl_801D4F84
/* 801D4F78 001D1ED8 93 83 00 00 */ stw r28, 0(r3)
/* 801D4F7C 001D1EDC 38 00 00 01 */ li r0, 1
/* 801D4F80 001D1EE0 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4F84:
/* 801D4F84 001D1EE4 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4F88 001D1EE8 90 7D 00 08 */ stw r3, 8(r29)
/* 801D4F8C 001D1EEC 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4F90 001D1EF0 38 60 00 3C */ li r3, 0x3c
/* 801D4F94 001D1EF4 38 A0 00 00 */ li r5, 0
/* 801D4F98 001D1EF8 48 14 08 D5 */ bl __nw__FUlPCcPCc
/* 801D4F9C 001D1EFC 7C 7C 1B 79 */ or. r28, r3, r3
/* 801D4FA0 001D1F00 41 82 00 18 */ beq lbl_801D4FB8
/* 801D4FA4 001D1F04 80 DD 00 00 */ lwz r6, 0(r29)
/* 801D4FA8 001D1F08 7F C4 F3 78 */ mr r4, r30
/* 801D4FAC 001D1F0C 7F E5 FB 78 */ mr r5, r31
/* 801D4FB0 001D1F10 4B F9 3F 95 */ bl __ct__13CMapWorldInfoFR16CBitStreamReaderRC18CWorldSaveGameInfoUi
/* 801D4FB4 001D1F14 7C 7C 1B 78 */ mr r28, r3
lbl_801D4FB8:
/* 801D4FB8 001D1F18 38 7D 00 0C */ addi r3, r29, 0xc
/* 801D4FBC 001D1F1C 4B E3 3C 81 */ bl sub_80008c3c
/* 801D4FC0 001D1F20 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4FC4 001D1F24 38 60 00 08 */ li r3, 8
/* 801D4FC8 001D1F28 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4FCC 001D1F2C 38 A0 00 00 */ li r5, 0
/* 801D4FD0 001D1F30 48 14 08 9D */ bl __nw__FUlPCcPCc
/* 801D4FD4 001D1F34 28 03 00 00 */ cmplwi r3, 0
/* 801D4FD8 001D1F38 41 82 00 10 */ beq lbl_801D4FE8
/* 801D4FDC 001D1F3C 93 83 00 00 */ stw r28, 0(r3)
/* 801D4FE0 001D1F40 38 00 00 01 */ li r0, 1
/* 801D4FE4 001D1F44 90 03 00 04 */ stw r0, 4(r3)
lbl_801D4FE8:
/* 801D4FE8 001D1F48 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D4FEC 001D1F4C 90 7D 00 0C */ stw r3, 0xc(r29)
/* 801D4FF0 001D1F50 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D4FF4 001D1F54 38 60 00 24 */ li r3, 0x24
/* 801D4FF8 001D1F58 38 A0 00 00 */ li r5, 0
/* 801D4FFC 001D1F5C 48 14 08 71 */ bl __nw__FUlPCcPCc
/* 801D5000 001D1F60 7C 7C 1B 79 */ or. r28, r3, r3
/* 801D5004 001D1F64 41 82 00 14 */ beq lbl_801D5018
/* 801D5008 001D1F68 7F C4 F3 78 */ mr r4, r30
/* 801D500C 001D1F6C 7F E5 FB 78 */ mr r5, r31
/* 801D5010 001D1F70 48 05 F4 11 */ bl __ct__16CWorldLayerStateFR16CBitStreamReaderRC18CWorldSaveGameInfo
/* 801D5014 001D1F74 7C 7C 1B 78 */ mr r28, r3
lbl_801D5018:
/* 801D5018 001D1F78 38 7D 00 14 */ addi r3, r29, 0x14
/* 801D501C 001D1F7C 4B E3 3D B1 */ bl sub_80008dcc
/* 801D5020 001D1F80 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D5024 001D1F84 38 60 00 08 */ li r3, 8
/* 801D5028 001D1F88 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D502C 001D1F8C 38 A0 00 00 */ li r5, 0
/* 801D5030 001D1F90 48 14 08 3D */ bl __nw__FUlPCcPCc
/* 801D5034 001D1F94 28 03 00 00 */ cmplwi r3, 0
/* 801D5038 001D1F98 41 82 00 10 */ beq lbl_801D5048
/* 801D503C 001D1F9C 93 83 00 00 */ stw r28, 0(r3)
/* 801D5040 001D1FA0 38 00 00 01 */ li r0, 1
/* 801D5044 001D1FA4 90 03 00 04 */ stw r0, 4(r3)
lbl_801D5048:
/* 801D5048 001D1FA8 90 7D 00 14 */ stw r3, 0x14(r29)
/* 801D504C 001D1FAC 7F A3 EB 78 */ mr r3, r29
/* 801D5050 001D1FB0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D5054 001D1FB4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5058 001D1FB8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D505C 001D1FBC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 801D5060 001D1FC0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 801D5064 001D1FC4 7C 08 03 A6 */ mtlr r0
/* 801D5068 001D1FC8 38 21 00 20 */ addi r1, r1, 0x20
/* 801D506C 001D1FCC 4E 80 00 20 */ blr
.global __ct__11CWorldStateFUi
__ct__11CWorldStateFUi:
/* 801D5070 001D1FD0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D5074 001D1FD4 7C 08 02 A6 */ mflr r0
/* 801D5078 001D1FD8 38 A0 00 00 */ li r5, 0
/* 801D507C 001D1FDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D5080 001D1FE0 38 00 00 00 */ li r0, 0
/* 801D5084 001D1FE4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 801D5088 001D1FE8 7C 7F 1B 78 */ mr r31, r3
/* 801D508C 001D1FEC 3C 60 80 3D */ lis r3, lbl_803D1B88@ha
/* 801D5090 001D1FF0 93 C1 00 08 */ stw r30, 8(r1)
/* 801D5094 001D1FF4 90 9F 00 00 */ stw r4, 0(r31)
/* 801D5098 001D1FF8 38 83 1B 88 */ addi r4, r3, lbl_803D1B88@l
/* 801D509C 001D1FFC 38 60 08 04 */ li r3, 0x804
/* 801D50A0 001D2000 90 1F 00 04 */ stw r0, 4(r31)
/* 801D50A4 001D2004 48 14 07 C9 */ bl __nw__FUlPCcPCc
/* 801D50A8 001D2008 7C 7E 1B 79 */ or. r30, r3, r3
/* 801D50AC 001D200C 41 82 00 0C */ beq lbl_801D50B8
/* 801D50B0 001D2010 4B F0 CF 7D */ bl __ct__14CScriptMailboxFv
/* 801D50B4 001D2014 7C 7E 1B 78 */ mr r30, r3
lbl_801D50B8:
/* 801D50B8 001D2018 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D50BC 001D201C 38 60 00 08 */ li r3, 8
/* 801D50C0 001D2020 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D50C4 001D2024 38 A0 00 00 */ li r5, 0
/* 801D50C8 001D2028 48 14 07 A5 */ bl __nw__FUlPCcPCc
/* 801D50CC 001D202C 28 03 00 00 */ cmplwi r3, 0
/* 801D50D0 001D2030 41 82 00 10 */ beq lbl_801D50E0
/* 801D50D4 001D2034 93 C3 00 00 */ stw r30, 0(r3)
/* 801D50D8 001D2038 38 00 00 01 */ li r0, 1
/* 801D50DC 001D203C 90 03 00 04 */ stw r0, 4(r3)
lbl_801D50E0:
/* 801D50E0 001D2040 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D50E4 001D2044 90 7F 00 08 */ stw r3, 8(r31)
/* 801D50E8 001D2048 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D50EC 001D204C 38 60 00 3C */ li r3, 0x3c
/* 801D50F0 001D2050 38 A0 00 00 */ li r5, 0
/* 801D50F4 001D2054 48 14 07 79 */ bl __nw__FUlPCcPCc
/* 801D50F8 001D2058 7C 7E 1B 79 */ or. r30, r3, r3
/* 801D50FC 001D205C 41 82 00 0C */ beq lbl_801D5108
/* 801D5100 001D2060 4B F9 42 85 */ bl __ct__13CMapWorldInfoFv
/* 801D5104 001D2064 7C 7E 1B 78 */ mr r30, r3
lbl_801D5108:
/* 801D5108 001D2068 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D510C 001D206C 38 60 00 08 */ li r3, 8
/* 801D5110 001D2070 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D5114 001D2074 38 A0 00 00 */ li r5, 0
/* 801D5118 001D2078 48 14 07 55 */ bl __nw__FUlPCcPCc
/* 801D511C 001D207C 28 03 00 00 */ cmplwi r3, 0
/* 801D5120 001D2080 41 82 00 10 */ beq lbl_801D5130
/* 801D5124 001D2084 93 C3 00 00 */ stw r30, 0(r3)
/* 801D5128 001D2088 38 00 00 01 */ li r0, 1
/* 801D512C 001D208C 90 03 00 04 */ stw r0, 4(r3)
lbl_801D5130:
/* 801D5130 001D2090 90 7F 00 0C */ stw r3, 0xc(r31)
/* 801D5134 001D2094 38 00 FF FF */ li r0, -1
/* 801D5138 001D2098 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D513C 001D209C 38 60 00 24 */ li r3, 0x24
/* 801D5140 001D20A0 90 1F 00 10 */ stw r0, 0x10(r31)
/* 801D5144 001D20A4 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D5148 001D20A8 38 A0 00 00 */ li r5, 0
/* 801D514C 001D20AC 48 14 07 21 */ bl __nw__FUlPCcPCc
/* 801D5150 001D20B0 7C 7E 1B 79 */ or. r30, r3, r3
/* 801D5154 001D20B4 41 82 00 0C */ beq lbl_801D5160
/* 801D5158 001D20B8 48 05 F4 7D */ bl __ct__13CGLXMemoryInfoFi
/* 801D515C 001D20BC 7C 7E 1B 78 */ mr r30, r3
lbl_801D5160:
/* 801D5160 001D20C0 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D5164 001D20C4 38 60 00 08 */ li r3, 8
/* 801D5168 001D20C8 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D516C 001D20CC 38 A0 00 00 */ li r5, 0
/* 801D5170 001D20D0 48 14 06 FD */ bl __nw__FUlPCcPCc
/* 801D5174 001D20D4 28 03 00 00 */ cmplwi r3, 0
/* 801D5178 001D20D8 41 82 00 10 */ beq lbl_801D5188
/* 801D517C 001D20DC 93 C3 00 00 */ stw r30, 0(r3)
/* 801D5180 001D20E0 38 00 00 01 */ li r0, 1
/* 801D5184 001D20E4 90 03 00 04 */ stw r0, 4(r3)
lbl_801D5188:
/* 801D5188 001D20E8 90 7F 00 14 */ stw r3, 0x14(r31)
/* 801D518C 001D20EC 7F E3 FB 78 */ mr r3, r31
/* 801D5190 001D20F0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801D5194 001D20F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 801D5198 001D20F8 83 C1 00 08 */ lwz r30, 8(r1)
/* 801D519C 001D20FC 7C 08 03 A6 */ mtlr r0
/* 801D51A0 001D2100 38 21 00 10 */ addi r1, r1, 0x10
/* 801D51A4 001D2104 4E 80 00 20 */ blr
.global SetAutoMapperKeyState__14CSystemOptionsFi
SetAutoMapperKeyState__14CSystemOptionsFi:
/* 801D51A8 001D2108 90 83 00 BC */ stw r4, 0xbc(r3)
/* 801D51AC 001D210C 4E 80 00 20 */ blr
.global SetAllItemsCollected__14CSystemOptionsFb
SetAllItemsCollected__14CSystemOptionsFb:
/* 801D51B0 001D2110 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D51B4 001D2114 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 801D51B8 001D2118 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D51BC 001D211C 4E 80 00 20 */ blr
.global SetHasFusion__14CSystemOptionsFb
SetHasFusion__14CSystemOptionsFb:
/* 801D51C0 001D2120 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D51C4 001D2124 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 801D51C8 001D2128 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D51CC 001D212C 4E 80 00 20 */ blr
.global sub_801d51d0
sub_801d51d0:
/* 801D51D0 001D2130 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D51D4 001D2134 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 801D51D8 001D2138 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D51DC 001D213C 4E 80 00 20 */ blr
.global SetHardModeBeat__14CSystemOptionsFb
SetHardModeBeat__14CSystemOptionsFb:
/* 801D51E0 001D2140 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D51E4 001D2144 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 801D51E8 001D2148 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D51EC 001D214C 4E 80 00 20 */ blr
.global SetHasHardMode__14CSystemOptionsFb
SetHasHardMode__14CSystemOptionsFb:
/* 801D51F0 001D2150 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D51F4 001D2154 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 801D51F8 001D2158 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D51FC 001D215C 4E 80 00 20 */ blr
.global SetLogScanCount__14CSystemOptionsFi
SetLogScanCount__14CSystemOptionsFi:
/* 801D5200 001D2160 90 83 00 CC */ stw r4, 0xcc(r3)
/* 801D5204 001D2164 4E 80 00 20 */ blr
.global GetLogScanCount__14CSystemOptionsFv
GetLogScanCount__14CSystemOptionsFv:
/* 801D5208 001D2168 80 63 00 CC */ lwz r3, 0xcc(r3)
/* 801D520C 001D216C 4E 80 00 20 */ blr
.global sub_801d5210
sub_801d5210:
/* 801D5210 001D2170 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D5214 001D2174 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801D5218 001D2178 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D521C 001D217C 4E 80 00 20 */ blr
.global IncrementPowerBombAmmoCount__14CSystemOptionsFv
IncrementPowerBombAmmoCount__14CSystemOptionsFv:
/* 801D5220 001D2180 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D5224 001D2184 80 A3 00 C8 */ lwz r5, 0xc8(r3)
/* 801D5228 001D2188 38 81 00 08 */ addi r4, r1, 8
/* 801D522C 001D218C 80 0D 91 A8 */ lwz r0, lbl_805A7D68@sda21(r13)
/* 801D5230 001D2190 38 A5 00 01 */ addi r5, r5, 1
/* 801D5234 001D2194 7C 00 28 00 */ cmpw r0, r5
/* 801D5238 001D2198 90 A1 00 08 */ stw r5, 8(r1)
/* 801D523C 001D219C 40 80 00 08 */ bge lbl_801D5244
/* 801D5240 001D21A0 38 8D 91 A8 */ addi r4, r13, lbl_805A7D68@sda21
lbl_801D5244:
/* 801D5244 001D21A4 80 04 00 00 */ lwz r0, 0(r4)
/* 801D5248 001D21A8 90 03 00 C8 */ stw r0, 0xc8(r3)
/* 801D524C 001D21AC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D5250 001D21B0 4E 80 00 20 */ blr
.global GetShowPowerBombAmmoMessage__14CSystemOptionsCFv
GetShowPowerBombAmmoMessage__14CSystemOptionsCFv:
/* 801D5254 001D21B4 80 03 00 C8 */ lwz r0, 0xc8(r3)
/* 801D5258 001D21B8 38 60 00 01 */ li r3, 1
/* 801D525C 001D21BC 7C 60 02 78 */ xor r0, r3, r0
/* 801D5260 001D21C0 7C 00 00 34 */ cntlzw r0, r0
/* 801D5264 001D21C4 7C 60 00 30 */ slw r0, r3, r0
/* 801D5268 001D21C8 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801D526C 001D21CC 4E 80 00 20 */ blr
.global IncrementFrozenBallCount__14CSystemOptionsFv
IncrementFrozenBallCount__14CSystemOptionsFv:
/* 801D5270 001D21D0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D5274 001D21D4 80 A3 00 C4 */ lwz r5, 0xc4(r3)
/* 801D5278 001D21D8 38 81 00 08 */ addi r4, r1, 8
/* 801D527C 001D21DC 80 0D 91 A4 */ lwz r0, lbl_805A7D64@sda21(r13)
/* 801D5280 001D21E0 38 A5 00 01 */ addi r5, r5, 1
/* 801D5284 001D21E4 7C 00 28 00 */ cmpw r0, r5
/* 801D5288 001D21E8 90 A1 00 08 */ stw r5, 8(r1)
/* 801D528C 001D21EC 40 80 00 08 */ bge lbl_801D5294
/* 801D5290 001D21F0 38 8D 91 A4 */ addi r4, r13, lbl_805A7D64@sda21
lbl_801D5294:
/* 801D5294 001D21F4 80 04 00 00 */ lwz r0, 0(r4)
/* 801D5298 001D21F8 90 03 00 C4 */ stw r0, 0xc4(r3)
/* 801D529C 001D21FC 38 21 00 10 */ addi r1, r1, 0x10
/* 801D52A0 001D2200 4E 80 00 20 */ blr
.global GetShowFrozenBallMessage__14CSystemOptionsCFv
GetShowFrozenBallMessage__14CSystemOptionsCFv:
/* 801D52A4 001D2204 80 03 00 C4 */ lwz r0, 0xc4(r3)
/* 801D52A8 001D2208 38 60 00 03 */ li r3, 3
/* 801D52AC 001D220C 7C 60 02 78 */ xor r0, r3, r0
/* 801D52B0 001D2210 7C 00 00 34 */ cntlzw r0, r0
/* 801D52B4 001D2214 7C 60 00 30 */ slw r0, r3, r0
/* 801D52B8 001D2218 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801D52BC 001D221C 4E 80 00 20 */ blr
.global IncrementFrozenFpsCount__14CSystemOptionsFv
IncrementFrozenFpsCount__14CSystemOptionsFv:
/* 801D52C0 001D2220 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D52C4 001D2224 80 A3 00 C0 */ lwz r5, 0xc0(r3)
/* 801D52C8 001D2228 38 81 00 08 */ addi r4, r1, 8
/* 801D52CC 001D222C 80 0D 91 A0 */ lwz r0, lbl_805A7D60@sda21(r13)
/* 801D52D0 001D2230 38 A5 00 01 */ addi r5, r5, 1
/* 801D52D4 001D2234 7C 00 28 00 */ cmpw r0, r5
/* 801D52D8 001D2238 90 A1 00 08 */ stw r5, 8(r1)
/* 801D52DC 001D223C 40 80 00 08 */ bge lbl_801D52E4
/* 801D52E0 001D2240 38 8D 91 A0 */ addi r4, r13, lbl_805A7D60@sda21
lbl_801D52E4:
/* 801D52E4 001D2244 80 04 00 00 */ lwz r0, 0(r4)
/* 801D52E8 001D2248 90 03 00 C0 */ stw r0, 0xc0(r3)
/* 801D52EC 001D224C 38 21 00 10 */ addi r1, r1, 0x10
/* 801D52F0 001D2250 4E 80 00 20 */ blr
.global GetShowFrozenFpsMessage__14CSystemOptionsCFv
GetShowFrozenFpsMessage__14CSystemOptionsCFv:
/* 801D52F4 001D2254 80 03 00 C0 */ lwz r0, 0xc0(r3)
/* 801D52F8 001D2258 38 60 00 03 */ li r3, 3
/* 801D52FC 001D225C 7C 60 02 78 */ xor r0, r3, r0
/* 801D5300 001D2260 7C 00 00 34 */ cntlzw r0, r0
/* 801D5304 001D2264 7C 60 00 30 */ slw r0, r3, r0
/* 801D5308 001D2268 54 03 0F FE */ srwi r3, r0, 0x1f
/* 801D530C 001D226C 4E 80 00 20 */ blr
.global SetCinematicState__14CSystemOptionsFUi9TEditorIdb
SetCinematicState__14CSystemOptionsFUi9TEditorIdb:
/* 801D5310 001D2270 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D5314 001D2274 7C 08 02 A6 */ mflr r0
/* 801D5318 001D2278 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D531C 001D227C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D5320 001D2280 7C 9F 23 78 */ mr r31, r4
/* 801D5324 001D2284 93 C1 00 18 */ stw r30, 0x18(r1)
/* 801D5328 001D2288 7C 7E 1B 78 */ mr r30, r3
/* 801D532C 001D228C 80 63 00 B8 */ lwz r3, 0xb8(r3)
/* 801D5330 001D2290 81 1E 00 B0 */ lwz r8, 0xb0(r30)
/* 801D5334 001D2294 90 61 00 10 */ stw r3, 0x10(r1)
/* 801D5338 001D2298 55 00 18 38 */ slwi r0, r8, 3
/* 801D533C 001D229C 7C E3 02 14 */ add r7, r3, r0
/* 801D5340 001D22A0 48 00 00 70 */ b lbl_801D53B0
lbl_801D5344:
/* 801D5344 001D22A4 80 C1 00 10 */ lwz r6, 0x10(r1)
/* 801D5348 001D22A8 38 80 00 00 */ li r4, 0
/* 801D534C 001D22AC 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D5350 001D22B0 80 66 00 00 */ lwz r3, 0(r6)
/* 801D5354 001D22B4 7C 03 00 40 */ cmplw r3, r0
/* 801D5358 001D22B8 40 82 00 20 */ bne lbl_801D5378
/* 801D535C 001D22BC 80 66 00 04 */ lwz r3, 4(r6)
/* 801D5360 001D22C0 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D5364 001D22C4 54 63 01 BE */ clrlwi r3, r3, 6
/* 801D5368 001D22C8 54 00 01 BE */ clrlwi r0, r0, 6
/* 801D536C 001D22CC 7C 03 00 40 */ cmplw r3, r0
/* 801D5370 001D22D0 40 82 00 08 */ bne lbl_801D5378
/* 801D5374 001D22D4 38 80 00 01 */ li r4, 1
lbl_801D5378:
/* 801D5378 001D22D8 54 80 06 3F */ clrlwi. r0, r4, 0x18
/* 801D537C 001D22DC 41 82 00 28 */ beq lbl_801D53A4
/* 801D5380 001D22E0 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 801D5384 001D22E4 40 82 00 A4 */ bne lbl_801D5428
/* 801D5388 001D22E8 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D538C 001D22EC 38 61 00 0C */ addi r3, r1, 0xc
/* 801D5390 001D22F0 38 9E 00 AC */ addi r4, r30, 0xac
/* 801D5394 001D22F4 38 A1 00 08 */ addi r5, r1, 8
/* 801D5398 001D22F8 90 01 00 08 */ stw r0, 8(r1)
/* 801D539C 001D22FC 48 00 00 A5 */ bl sub_801d5440
/* 801D53A0 001D2300 48 00 00 88 */ b lbl_801D5428
lbl_801D53A4:
/* 801D53A4 001D2304 80 61 00 10 */ lwz r3, 0x10(r1)
/* 801D53A8 001D2308 38 03 00 08 */ addi r0, r3, 8
/* 801D53AC 001D230C 90 01 00 10 */ stw r0, 0x10(r1)
lbl_801D53B0:
/* 801D53B0 001D2310 80 01 00 10 */ lwz r0, 0x10(r1)
/* 801D53B4 001D2314 7C 00 38 40 */ cmplw r0, r7
/* 801D53B8 001D2318 40 82 FF 8C */ bne lbl_801D5344
/* 801D53BC 001D231C 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 801D53C0 001D2320 41 82 00 68 */ beq lbl_801D5428
/* 801D53C4 001D2324 38 7E 00 AC */ addi r3, r30, 0xac
/* 801D53C8 001D2328 38 88 00 01 */ addi r4, r8, 1
/* 801D53CC 001D232C 4B E3 37 79 */ bl sub_80008b44
/* 801D53D0 001D2330 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 801D53D4 001D2334 80 BE 00 B4 */ lwz r5, 0xb4(r30)
/* 801D53D8 001D2338 7C 00 28 00 */ cmpw r0, r5
/* 801D53DC 001D233C 41 80 00 1C */ blt lbl_801D53F8
/* 801D53E0 001D2340 2C 05 00 00 */ cmpwi r5, 0
/* 801D53E4 001D2344 38 7E 00 AC */ addi r3, r30, 0xac
/* 801D53E8 001D2348 38 80 00 04 */ li r4, 4
/* 801D53EC 001D234C 41 82 00 08 */ beq lbl_801D53F4
/* 801D53F0 001D2350 54 A4 08 3C */ slwi r4, r5, 1
lbl_801D53F4:
/* 801D53F4 001D2354 4B E3 37 51 */ bl sub_80008b44
lbl_801D53F8:
/* 801D53F8 001D2358 80 1E 00 B0 */ lwz r0, 0xb0(r30)
/* 801D53FC 001D235C 80 7E 00 B8 */ lwz r3, 0xb8(r30)
/* 801D5400 001D2360 54 00 18 38 */ slwi r0, r0, 3
/* 801D5404 001D2364 7C 63 02 15 */ add. r3, r3, r0
/* 801D5408 001D2368 41 82 00 14 */ beq lbl_801D541C
/* 801D540C 001D236C 80 1F 00 00 */ lwz r0, 0(r31)
/* 801D5410 001D2370 90 03 00 00 */ stw r0, 0(r3)
/* 801D5414 001D2374 80 1F 00 04 */ lwz r0, 4(r31)
/* 801D5418 001D2378 90 03 00 04 */ stw r0, 4(r3)
lbl_801D541C:
/* 801D541C 001D237C 80 7E 00 B0 */ lwz r3, 0xb0(r30)
/* 801D5420 001D2380 38 03 00 01 */ addi r0, r3, 1
/* 801D5424 001D2384 90 1E 00 B0 */ stw r0, 0xb0(r30)
lbl_801D5428:
/* 801D5428 001D2388 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D542C 001D238C 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5430 001D2390 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 801D5434 001D2394 7C 08 03 A6 */ mtlr r0
/* 801D5438 001D2398 38 21 00 20 */ addi r1, r1, 0x20
/* 801D543C 001D239C 4E 80 00 20 */ blr
.global sub_801d5440
sub_801d5440:
/* 801D5440 001D23A0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 801D5444 001D23A4 7C 08 02 A6 */ mflr r0
/* 801D5448 001D23A8 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D544C 001D23AC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 801D5450 001D23B0 7C 7F 1B 78 */ mr r31, r3
/* 801D5454 001D23B4 80 C5 00 00 */ lwz r6, 0(r5)
/* 801D5458 001D23B8 80 05 00 00 */ lwz r0, 0(r5)
/* 801D545C 001D23BC 38 A1 00 10 */ addi r5, r1, 0x10
/* 801D5460 001D23C0 38 E6 00 08 */ addi r7, r6, 8
/* 801D5464 001D23C4 38 C1 00 0C */ addi r6, r1, 0xc
/* 801D5468 001D23C8 90 E1 00 08 */ stw r7, 8(r1)
/* 801D546C 001D23CC 90 E1 00 0C */ stw r7, 0xc(r1)
/* 801D5470 001D23D0 90 01 00 10 */ stw r0, 0x10(r1)
/* 801D5474 001D23D4 48 00 00 19 */ bl sub_801d548c
/* 801D5478 001D23D8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 801D547C 001D23DC 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 801D5480 001D23E0 7C 08 03 A6 */ mtlr r0
/* 801D5484 001D23E4 38 21 00 20 */ addi r1, r1, 0x20
/* 801D5488 001D23E8 4E 80 00 20 */ blr
.global sub_801d548c
sub_801d548c:
/* 801D548C 001D23EC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 801D5490 001D23F0 80 E5 00 00 */ lwz r7, 0(r5)
/* 801D5494 001D23F4 80 06 00 00 */ lwz r0, 0(r6)
/* 801D5498 001D23F8 90 E1 00 0C */ stw r7, 0xc(r1)
/* 801D549C 001D23FC 90 01 00 08 */ stw r0, 8(r1)
/* 801D54A0 001D2400 48 00 00 08 */ b lbl_801D54A8
lbl_801D54A4:
/* 801D54A4 001D2404 38 E7 00 08 */ addi r7, r7, 8
lbl_801D54A8:
/* 801D54A8 001D2408 7C 07 00 40 */ cmplw r7, r0
/* 801D54AC 001D240C 40 82 FF F8 */ bne lbl_801D54A4
/* 801D54B0 001D2410 81 04 00 0C */ lwz r8, 0xc(r4)
/* 801D54B4 001D2414 80 05 00 00 */ lwz r0, 0(r5)
/* 801D54B8 001D2418 80 E6 00 00 */ lwz r7, 0(r6)
/* 801D54BC 001D241C 7C 08 00 50 */ subf r0, r8, r0
/* 801D54C0 001D2420 7C 00 1E 70 */ srawi r0, r0, 3
/* 801D54C4 001D2424 7C C0 01 94 */ addze r6, r0
/* 801D54C8 001D2428 54 C0 18 38 */ slwi r0, r6, 3
/* 801D54CC 001D242C 7C C9 33 78 */ mr r9, r6
/* 801D54D0 001D2430 7D 08 02 14 */ add r8, r8, r0
/* 801D54D4 001D2434 48 00 00 28 */ b lbl_801D54FC
lbl_801D54D8:
/* 801D54D8 001D2438 28 08 00 00 */ cmplwi r8, 0
/* 801D54DC 001D243C 41 82 00 14 */ beq lbl_801D54F0
/* 801D54E0 001D2440 80 07 00 00 */ lwz r0, 0(r7)
/* 801D54E4 001D2444 90 08 00 00 */ stw r0, 0(r8)
/* 801D54E8 001D2448 80 07 00 04 */ lwz r0, 4(r7)
/* 801D54EC 001D244C 90 08 00 04 */ stw r0, 4(r8)
lbl_801D54F0:
/* 801D54F0 001D2450 39 08 00 08 */ addi r8, r8, 8
/* 801D54F4 001D2454 39 29 00 01 */ addi r9, r9, 1
/* 801D54F8 001D2458 38 E7 00 08 */ addi r7, r7, 8
lbl_801D54FC:
/* 801D54FC 001D245C 80 04 00 04 */ lwz r0, 4(r4)
/* 801D5500 001D2460 80 C4 00 0C */ lwz r6, 0xc(r4)
/* 801D5504 001D2464 54 00 18 38 */ slwi r0, r0, 3
/* 801D5508 001D2468 7C 06 02 14 */ add r0, r6, r0
/* 801D550C 001D246C 7C 07 00 40 */ cmplw r7, r0
/* 801D5510 001D2470 40 82 FF C8 */ bne lbl_801D54D8
/* 801D5514 001D2474 91 24 00 04 */ stw r9, 4(r4)
/* 801D5518 001D2478 80 05 00 00 */ lwz r0, 0(r5)
/* 801D551C 001D247C 90 03 00 00 */ stw r0, 0(r3)
/* 801D5520 001D2480 38 21 00 10 */ addi r1, r1, 0x10
/* 801D5524 001D2484 4E 80 00 20 */ blr
.global "GetCinematicState__14CSystemOptionsCFQ24rstl19pair<Ui,9TEditorId>"
"GetCinematicState__14CSystemOptionsCFQ24rstl19pair<Ui,9TEditorId>":
/* 801D5528 001D2488 80 03 00 B0 */ lwz r0, 0xb0(r3)
/* 801D552C 001D248C 80 E3 00 B8 */ lwz r7, 0xb8(r3)
/* 801D5530 001D2490 54 00 18 38 */ slwi r0, r0, 3
/* 801D5534 001D2494 7C C7 02 14 */ add r6, r7, r0
/* 801D5538 001D2498 48 00 00 48 */ b lbl_801D5580
lbl_801D553C:
/* 801D553C 001D249C 80 67 00 00 */ lwz r3, 0(r7)
/* 801D5540 001D24A0 38 A0 00 00 */ li r5, 0
/* 801D5544 001D24A4 80 04 00 00 */ lwz r0, 0(r4)
/* 801D5548 001D24A8 7C 03 00 40 */ cmplw r3, r0
/* 801D554C 001D24AC 40 82 00 20 */ bne lbl_801D556C
/* 801D5550 001D24B0 80 67 00 04 */ lwz r3, 4(r7)
/* 801D5554 001D24B4 80 04 00 04 */ lwz r0, 4(r4)
/* 801D5558 001D24B8 54 63 01 BE */ clrlwi r3, r3, 6
/* 801D555C 001D24BC 54 00 01 BE */ clrlwi r0, r0, 6
/* 801D5560 001D24C0 7C 03 00 40 */ cmplw r3, r0
/* 801D5564 001D24C4 40 82 00 08 */ bne lbl_801D556C
/* 801D5568 001D24C8 38 A0 00 01 */ li r5, 1
lbl_801D556C:
/* 801D556C 001D24CC 54 A0 06 3F */ clrlwi. r0, r5, 0x18
/* 801D5570 001D24D0 41 82 00 0C */ beq lbl_801D557C
/* 801D5574 001D24D4 38 60 00 01 */ li r3, 1
/* 801D5578 001D24D8 4E 80 00 20 */ blr
lbl_801D557C:
/* 801D557C 001D24DC 38 E7 00 08 */ addi r7, r7, 8
lbl_801D5580:
/* 801D5580 001D24E0 7C 07 30 40 */ cmplw r7, r6
/* 801D5584 001D24E4 40 82 FF B8 */ bne lbl_801D553C
/* 801D5588 001D24E8 38 60 00 00 */ li r3, 0
/* 801D558C 001D24EC 4E 80 00 20 */ blr
.global PutTo__14CSystemOptionsFR13COutputStream
PutTo__14CSystemOptionsFR13COutputStream:
/* 801D5590 001D24F0 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801D5594 001D24F4 7C 08 02 A6 */ mflr r0
/* 801D5598 001D24F8 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801D559C 001D24FC BE 81 00 70 */ stmw r20, 0x70(r1)
/* 801D55A0 001D2500 7C 76 1B 78 */ mr r22, r3
/* 801D55A4 001D2504 7C 97 23 78 */ mr r23, r4
/* 801D55A8 001D2508 3A 80 00 00 */ li r20, 0
lbl_801D55AC:
/* 801D55AC 001D250C 7C 96 A2 14 */ add r4, r22, r20
/* 801D55B0 001D2510 7E E3 BB 78 */ mr r3, r23
/* 801D55B4 001D2514 88 84 00 04 */ lbz r4, 4(r4)
/* 801D55B8 001D2518 38 A0 00 08 */ li r5, 8
/* 801D55BC 001D251C 48 16 9E 01 */ bl WriteBits__13COutputStreamFUiUi
/* 801D55C0 001D2520 3A 94 00 01 */ addi r20, r20, 1
/* 801D55C4 001D2524 2C 14 00 62 */ cmpwi r20, 0x62
/* 801D55C8 001D2528 41 80 FF E4 */ blt lbl_801D55AC
/* 801D55CC 001D252C 3A A0 00 00 */ li r21, 0
/* 801D55D0 001D2530 3A 96 00 6C */ addi r20, r22, 0x6c
lbl_801D55D4:
/* 801D55D4 001D2534 88 94 00 00 */ lbz r4, 0(r20)
/* 801D55D8 001D2538 7E E3 BB 78 */ mr r3, r23
/* 801D55DC 001D253C 38 A0 00 08 */ li r5, 8
/* 801D55E0 001D2540 48 16 9D DD */ bl WriteBits__13COutputStreamFUiUi
/* 801D55E4 001D2544 3A B5 00 01 */ addi r21, r21, 1
/* 801D55E8 001D2548 3A 94 00 01 */ addi r20, r20, 1
/* 801D55EC 001D254C 2C 15 00 40 */ cmpwi r21, 0x40
/* 801D55F0 001D2550 41 80 FF E4 */ blt lbl_801D55D4
/* 801D55F4 001D2554 38 60 00 03 */ li r3, 3
/* 801D55F8 001D2558 48 00 0A B9 */ bl sub_801d60b0
/* 801D55FC 001D255C 80 96 00 C0 */ lwz r4, 0xc0(r22)
/* 801D5600 001D2560 7C 65 1B 78 */ mr r5, r3
/* 801D5604 001D2564 7E E3 BB 78 */ mr r3, r23
/* 801D5608 001D2568 48 16 9D B5 */ bl WriteBits__13COutputStreamFUiUi
/* 801D560C 001D256C 38 60 00 03 */ li r3, 3
/* 801D5610 001D2570 48 00 0A A1 */ bl sub_801d60b0
/* 801D5614 001D2574 80 96 00 C4 */ lwz r4, 0xc4(r22)
/* 801D5618 001D2578 7C 65 1B 78 */ mr r5, r3
/* 801D561C 001D257C 7E E3 BB 78 */ mr r3, r23
/* 801D5620 001D2580 48 16 9D 9D */ bl WriteBits__13COutputStreamFUiUi
/* 801D5624 001D2584 38 60 00 01 */ li r3, 1
/* 801D5628 001D2588 48 00 0A 89 */ bl sub_801d60b0
/* 801D562C 001D258C 80 96 00 C8 */ lwz r4, 0xc8(r22)
/* 801D5630 001D2590 7C 65 1B 78 */ mr r5, r3
/* 801D5634 001D2594 7E E3 BB 78 */ mr r3, r23
/* 801D5638 001D2598 48 16 9D 85 */ bl WriteBits__13COutputStreamFUiUi
/* 801D563C 001D259C 38 60 00 64 */ li r3, 0x64
/* 801D5640 001D25A0 48 00 0A 71 */ bl sub_801d60b0
/* 801D5644 001D25A4 80 96 00 CC */ lwz r4, 0xcc(r22)
/* 801D5648 001D25A8 7C 65 1B 78 */ mr r5, r3
/* 801D564C 001D25AC 7E E3 BB 78 */ mr r3, r23
/* 801D5650 001D25B0 48 16 9D 6D */ bl WriteBits__13COutputStreamFUiUi
/* 801D5654 001D25B4 88 16 00 D0 */ lbz r0, 0xd0(r22)
/* 801D5658 001D25B8 7E E3 BB 78 */ mr r3, r23
/* 801D565C 001D25BC 38 A0 00 01 */ li r5, 1
/* 801D5660 001D25C0 54 04 CF FE */ rlwinm r4, r0, 0x19, 0x1f, 0x1f
/* 801D5664 001D25C4 7C 04 00 D0 */ neg r0, r4
/* 801D5668 001D25C8 7C 00 23 78 */ or r0, r0, r4
/* 801D566C 001D25CC 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D5670 001D25D0 48 16 9D 4D */ bl WriteBits__13COutputStreamFUiUi
/* 801D5674 001D25D4 88 16 00 D0 */ lbz r0, 0xd0(r22)
/* 801D5678 001D25D8 7E E3 BB 78 */ mr r3, r23
/* 801D567C 001D25DC 38 A0 00 01 */ li r5, 1
/* 801D5680 001D25E0 54 04 D7 FE */ rlwinm r4, r0, 0x1a, 0x1f, 0x1f
/* 801D5684 001D25E4 7C 04 00 D0 */ neg r0, r4
/* 801D5688 001D25E8 7C 00 23 78 */ or r0, r0, r4
/* 801D568C 001D25EC 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D5690 001D25F0 48 16 9D 2D */ bl WriteBits__13COutputStreamFUiUi
/* 801D5694 001D25F4 88 16 00 D0 */ lbz r0, 0xd0(r22)
/* 801D5698 001D25F8 7E E3 BB 78 */ mr r3, r23
/* 801D569C 001D25FC 38 A0 00 01 */ li r5, 1
/* 801D56A0 001D2600 54 04 DF FE */ rlwinm r4, r0, 0x1b, 0x1f, 0x1f
/* 801D56A4 001D2604 7C 04 00 D0 */ neg r0, r4
/* 801D56A8 001D2608 7C 00 23 78 */ or r0, r0, r4
/* 801D56AC 001D260C 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D56B0 001D2610 48 16 9D 0D */ bl WriteBits__13COutputStreamFUiUi
/* 801D56B4 001D2614 88 16 00 D0 */ lbz r0, 0xd0(r22)
/* 801D56B8 001D2618 7E E3 BB 78 */ mr r3, r23
/* 801D56BC 001D261C 38 A0 00 01 */ li r5, 1
/* 801D56C0 001D2620 54 04 E7 FE */ rlwinm r4, r0, 0x1c, 0x1f, 0x1f
/* 801D56C4 001D2624 7C 04 00 D0 */ neg r0, r4
/* 801D56C8 001D2628 7C 00 23 78 */ or r0, r0, r4
/* 801D56CC 001D262C 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D56D0 001D2630 48 16 9C ED */ bl WriteBits__13COutputStreamFUiUi
/* 801D56D4 001D2634 88 16 00 D0 */ lbz r0, 0xd0(r22)
/* 801D56D8 001D2638 7E E3 BB 78 */ mr r3, r23
/* 801D56DC 001D263C 38 A0 00 01 */ li r5, 1
/* 801D56E0 001D2640 54 04 F7 FE */ rlwinm r4, r0, 0x1e, 0x1f, 0x1f
/* 801D56E4 001D2644 7C 04 00 D0 */ neg r0, r4
/* 801D56E8 001D2648 7C 00 23 78 */ or r0, r0, r4
/* 801D56EC 001D264C 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D56F0 001D2650 48 16 9C CD */ bl WriteBits__13COutputStreamFUiUi
/* 801D56F4 001D2654 80 96 00 BC */ lwz r4, 0xbc(r22)
/* 801D56F8 001D2658 7E E3 BB 78 */ mr r3, r23
/* 801D56FC 001D265C 38 A0 00 02 */ li r5, 2
/* 801D5700 001D2660 48 16 9C BD */ bl WriteBits__13COutputStreamFUiUi
/* 801D5704 001D2664 83 CD A0 84 */ lwz r30, gpMemoryCard@sda21(r13)
/* 801D5708 001D2668 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D570C 001D266C 3A 83 56 57 */ addi r20, r3, 0x53415657@l
/* 801D5710 001D2670 3B 01 00 64 */ addi r24, r1, 0x64
/* 801D5714 001D2674 82 BE 00 18 */ lwz r21, 0x18(r30)
/* 801D5718 001D2678 3B 40 00 00 */ li r26, 0
/* 801D571C 001D267C 48 00 00 70 */ b lbl_801D578C
lbl_801D5720:
/* 801D5720 001D2680 80 15 00 08 */ lwz r0, 8(r21)
/* 801D5724 001D2684 38 61 00 38 */ addi r3, r1, 0x38
/* 801D5728 001D2688 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D572C 001D268C 38 A1 00 40 */ addi r5, r1, 0x40
/* 801D5730 001D2690 92 81 00 40 */ stw r20, 0x40(r1)
/* 801D5734 001D2694 90 01 00 44 */ stw r0, 0x44(r1)
/* 801D5738 001D2698 81 84 00 00 */ lwz r12, 0(r4)
/* 801D573C 001D269C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D5740 001D26A0 7D 89 03 A6 */ mtctr r12
/* 801D5744 001D26A4 4E 80 04 21 */ bctrl
/* 801D5748 001D26A8 7F 03 C3 78 */ mr r3, r24
/* 801D574C 001D26AC 38 81 00 38 */ addi r4, r1, 0x38
/* 801D5750 001D26B0 48 16 B7 59 */ bl __ct__6CTokenFRC6CToken
/* 801D5754 001D26B4 7F 03 C3 78 */ mr r3, r24
/* 801D5758 001D26B8 48 16 B6 B5 */ bl GetObj__6CTokenFv
/* 801D575C 001D26BC 80 03 00 04 */ lwz r0, 4(r3)
/* 801D5760 001D26C0 38 61 00 38 */ addi r3, r1, 0x38
/* 801D5764 001D26C4 38 80 FF FF */ li r4, -1
/* 801D5768 001D26C8 90 01 00 6C */ stw r0, 0x6c(r1)
/* 801D576C 001D26CC 48 16 B6 D5 */ bl __dt__6CTokenFv
/* 801D5770 001D26D0 80 A1 00 6C */ lwz r5, 0x6c(r1)
/* 801D5774 001D26D4 38 61 00 64 */ addi r3, r1, 0x64
/* 801D5778 001D26D8 38 80 00 00 */ li r4, 0
/* 801D577C 001D26DC 80 05 00 08 */ lwz r0, 8(r5)
/* 801D5780 001D26E0 7F 5A 02 14 */ add r26, r26, r0
/* 801D5784 001D26E4 48 16 B6 BD */ bl __dt__6CTokenFv
/* 801D5788 001D26E8 3A B5 00 4C */ addi r21, r21, 0x4c
lbl_801D578C:
/* 801D578C 001D26EC 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 801D5790 001D26F0 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 801D5794 001D26F4 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D5798 001D26F8 7C 03 02 14 */ add r0, r3, r0
/* 801D579C 001D26FC 7C 15 00 40 */ cmplw r21, r0
/* 801D57A0 001D2700 40 82 FF 80 */ bne lbl_801D5720
/* 801D57A4 001D2704 38 00 00 00 */ li r0, 0
/* 801D57A8 001D2708 7F 44 D3 78 */ mr r4, r26
/* 801D57AC 001D270C 90 01 00 58 */ stw r0, 0x58(r1)
/* 801D57B0 001D2710 38 61 00 54 */ addi r3, r1, 0x54
/* 801D57B4 001D2714 90 01 00 5C */ stw r0, 0x5c(r1)
/* 801D57B8 001D2718 90 01 00 60 */ stw r0, 0x60(r1)
/* 801D57BC 001D271C 4B EC C8 AD */ bl sub_800a2068
/* 801D57C0 001D2720 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D57C4 001D2724 83 9E 00 18 */ lwz r28, 0x18(r30)
/* 801D57C8 001D2728 3B E3 56 57 */ addi r31, r3, 0x53415657@l
/* 801D57CC 001D272C 3A A1 00 48 */ addi r21, r1, 0x48
/* 801D57D0 001D2730 48 00 00 FC */ b lbl_801D58CC
lbl_801D57D4:
/* 801D57D4 001D2734 83 3C 00 00 */ lwz r25, 0(r28)
/* 801D57D8 001D2738 38 61 00 28 */ addi r3, r1, 0x28
/* 801D57DC 001D273C 80 1C 00 08 */ lwz r0, 8(r28)
/* 801D57E0 001D2740 38 A1 00 30 */ addi r5, r1, 0x30
/* 801D57E4 001D2744 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D57E8 001D2748 93 E1 00 30 */ stw r31, 0x30(r1)
/* 801D57EC 001D274C 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D57F0 001D2750 81 84 00 00 */ lwz r12, 0(r4)
/* 801D57F4 001D2754 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D57F8 001D2758 7D 89 03 A6 */ mtctr r12
/* 801D57FC 001D275C 4E 80 04 21 */ bctrl
/* 801D5800 001D2760 7E A3 AB 78 */ mr r3, r21
/* 801D5804 001D2764 38 81 00 28 */ addi r4, r1, 0x28
/* 801D5808 001D2768 48 16 B6 A1 */ bl __ct__6CTokenFRC6CToken
/* 801D580C 001D276C 7E A3 AB 78 */ mr r3, r21
/* 801D5810 001D2770 48 16 B5 FD */ bl GetObj__6CTokenFv
/* 801D5814 001D2774 80 03 00 04 */ lwz r0, 4(r3)
/* 801D5818 001D2778 38 61 00 28 */ addi r3, r1, 0x28
/* 801D581C 001D277C 38 80 FF FF */ li r4, -1
/* 801D5820 001D2780 90 01 00 50 */ stw r0, 0x50(r1)
/* 801D5824 001D2784 48 16 B6 1D */ bl __dt__6CTokenFv
/* 801D5828 001D2788 93 21 00 18 */ stw r25, 0x18(r1)
/* 801D582C 001D278C 3B 00 00 00 */ li r24, 0
/* 801D5830 001D2790 83 A1 00 50 */ lwz r29, 0x50(r1)
/* 801D5834 001D2794 3B 60 00 00 */ li r27, 0
/* 801D5838 001D2798 48 00 00 78 */ b lbl_801D58B0
lbl_801D583C:
/* 801D583C 001D279C 80 BD 00 10 */ lwz r5, 0x10(r29)
/* 801D5840 001D27A0 7E C3 B3 78 */ mr r3, r22
/* 801D5844 001D27A4 38 81 00 20 */ addi r4, r1, 0x20
/* 801D5848 001D27A8 7C 05 D8 2E */ lwzx r0, r5, r27
/* 801D584C 001D27AC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D5850 001D27B0 93 21 00 20 */ stw r25, 0x20(r1)
/* 801D5854 001D27B4 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5858 001D27B8 4B FF FC D1 */ bl "GetCinematicState__14CSystemOptionsCFQ24rstl19pair<Ui,9TEditorId>"
/* 801D585C 001D27BC 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801D5860 001D27C0 7C 74 1B 78 */ mr r20, r3
/* 801D5864 001D27C4 80 A1 00 5C */ lwz r5, 0x5c(r1)
/* 801D5868 001D27C8 7C 00 28 00 */ cmpw r0, r5
/* 801D586C 001D27CC 41 80 00 1C */ blt lbl_801D5888
/* 801D5870 001D27D0 2C 05 00 00 */ cmpwi r5, 0
/* 801D5874 001D27D4 38 61 00 54 */ addi r3, r1, 0x54
/* 801D5878 001D27D8 38 80 00 04 */ li r4, 4
/* 801D587C 001D27DC 41 82 00 08 */ beq lbl_801D5884
/* 801D5880 001D27E0 54 A4 08 3C */ slwi r4, r5, 1
lbl_801D5884:
/* 801D5884 001D27E4 4B EC C7 E5 */ bl sub_800a2068
lbl_801D5888:
/* 801D5888 001D27E8 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801D588C 001D27EC 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801D5890 001D27F0 7C 63 02 15 */ add. r3, r3, r0
/* 801D5894 001D27F4 41 82 00 08 */ beq lbl_801D589C
/* 801D5898 001D27F8 9A 83 00 00 */ stb r20, 0(r3)
lbl_801D589C:
/* 801D589C 001D27FC 80 61 00 58 */ lwz r3, 0x58(r1)
/* 801D58A0 001D2800 3B 7B 00 04 */ addi r27, r27, 4
/* 801D58A4 001D2804 3B 18 00 01 */ addi r24, r24, 1
/* 801D58A8 001D2808 38 03 00 01 */ addi r0, r3, 1
/* 801D58AC 001D280C 90 01 00 58 */ stw r0, 0x58(r1)
lbl_801D58B0:
/* 801D58B0 001D2810 80 1D 00 08 */ lwz r0, 8(r29)
/* 801D58B4 001D2814 7C 18 00 00 */ cmpw r24, r0
/* 801D58B8 001D2818 41 80 FF 84 */ blt lbl_801D583C
/* 801D58BC 001D281C 38 61 00 48 */ addi r3, r1, 0x48
/* 801D58C0 001D2820 38 80 00 00 */ li r4, 0
/* 801D58C4 001D2824 48 16 B5 7D */ bl __dt__6CTokenFv
/* 801D58C8 001D2828 3B 9C 00 4C */ addi r28, r28, 0x4c
lbl_801D58CC:
/* 801D58CC 001D282C 80 1E 00 10 */ lwz r0, 0x10(r30)
/* 801D58D0 001D2830 80 7E 00 18 */ lwz r3, 0x18(r30)
/* 801D58D4 001D2834 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D58D8 001D2838 7C 03 02 14 */ add r0, r3, r0
/* 801D58DC 001D283C 7C 1C 00 40 */ cmplw r28, r0
/* 801D58E0 001D2840 40 82 FE F4 */ bne lbl_801D57D4
/* 801D58E4 001D2844 3A 80 00 00 */ li r20, 0
/* 801D58E8 001D2848 48 00 00 28 */ b lbl_801D5910
lbl_801D58EC:
/* 801D58EC 001D284C 80 81 00 60 */ lwz r4, 0x60(r1)
/* 801D58F0 001D2850 7E E3 BB 78 */ mr r3, r23
/* 801D58F4 001D2854 38 A0 00 01 */ li r5, 1
/* 801D58F8 001D2858 7C 84 A0 AE */ lbzx r4, r4, r20
/* 801D58FC 001D285C 7C 04 00 D0 */ neg r0, r4
/* 801D5900 001D2860 7C 00 23 78 */ or r0, r0, r4
/* 801D5904 001D2864 54 04 0F FE */ srwi r4, r0, 0x1f
/* 801D5908 001D2868 48 16 9A B5 */ bl WriteBits__13COutputStreamFUiUi
/* 801D590C 001D286C 3A 94 00 01 */ addi r20, r20, 1
lbl_801D5910:
/* 801D5910 001D2870 7C 14 D0 00 */ cmpw r20, r26
/* 801D5914 001D2874 41 80 FF D8 */ blt lbl_801D58EC
/* 801D5918 001D2878 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801D591C 001D287C 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801D5920 001D2880 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D5924 001D2884 7C 83 02 14 */ add r4, r3, r0
/* 801D5928 001D2888 7C 03 20 50 */ subf r0, r3, r4
/* 801D592C 001D288C 90 81 00 14 */ stw r4, 0x14(r1)
/* 801D5930 001D2890 90 81 00 10 */ stw r4, 0x10(r1)
/* 801D5934 001D2894 90 61 00 08 */ stw r3, 8(r1)
/* 801D5938 001D2898 7C 09 03 A6 */ mtctr r0
/* 801D593C 001D289C 7C 03 20 40 */ cmplw r3, r4
/* 801D5940 001D28A0 41 82 00 08 */ beq lbl_801D5948
lbl_801D5944:
/* 801D5944 001D28A4 42 00 00 00 */ bdnz lbl_801D5944
lbl_801D5948:
/* 801D5948 001D28A8 28 03 00 00 */ cmplwi r3, 0
/* 801D594C 001D28AC 41 82 00 08 */ beq lbl_801D5954
/* 801D5950 001D28B0 48 13 FF E1 */ bl Free__7CMemoryFPCv
lbl_801D5954:
/* 801D5954 001D28B4 BA 81 00 70 */ lmw r20, 0x70(r1)
/* 801D5958 001D28B8 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801D595C 001D28BC 7C 08 03 A6 */ mtlr r0
/* 801D5960 001D28C0 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801D5964 001D28C4 4E 80 00 20 */ blr
.global __ct__14CSystemOptionsFR12CInputStream
__ct__14CSystemOptionsFR12CInputStream:
/* 801D5968 001D28C8 94 21 FF 60 */ stwu r1, -0xa0(r1)
/* 801D596C 001D28CC 7C 08 02 A6 */ mflr r0
/* 801D5970 001D28D0 90 01 00 A4 */ stw r0, 0xa4(r1)
/* 801D5974 001D28D4 38 00 00 0E */ li r0, 0xe
/* 801D5978 001D28D8 BE C1 00 78 */ stmw r22, 0x78(r1)
/* 801D597C 001D28DC 7C 7C 1B 78 */ mr r28, r3
/* 801D5980 001D28E0 38 60 00 62 */ li r3, 0x62
/* 801D5984 001D28E4 7C 9D 23 78 */ mr r29, r4
/* 801D5988 001D28E8 38 9C 00 04 */ addi r4, r28, 4
/* 801D598C 001D28EC 90 7C 00 00 */ stw r3, 0(r28)
/* 801D5990 001D28F0 38 60 00 00 */ li r3, 0
/* 801D5994 001D28F4 7C 09 03 A6 */ mtctr r0
lbl_801D5998:
/* 801D5998 001D28F8 28 04 00 00 */ cmplwi r4, 0
/* 801D599C 001D28FC 41 82 00 0C */ beq lbl_801D59A8
/* 801D59A0 001D2900 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59A4 001D2904 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59A8:
/* 801D59A8 001D2908 34 84 00 01 */ addic. r4, r4, 1
/* 801D59AC 001D290C 41 82 00 0C */ beq lbl_801D59B8
/* 801D59B0 001D2910 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59B4 001D2914 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59B8:
/* 801D59B8 001D2918 34 84 00 01 */ addic. r4, r4, 1
/* 801D59BC 001D291C 41 82 00 0C */ beq lbl_801D59C8
/* 801D59C0 001D2920 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59C4 001D2924 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59C8:
/* 801D59C8 001D2928 34 84 00 01 */ addic. r4, r4, 1
/* 801D59CC 001D292C 41 82 00 0C */ beq lbl_801D59D8
/* 801D59D0 001D2930 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59D4 001D2934 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59D8:
/* 801D59D8 001D2938 34 84 00 01 */ addic. r4, r4, 1
/* 801D59DC 001D293C 41 82 00 0C */ beq lbl_801D59E8
/* 801D59E0 001D2940 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59E4 001D2944 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59E8:
/* 801D59E8 001D2948 34 84 00 01 */ addic. r4, r4, 1
/* 801D59EC 001D294C 41 82 00 0C */ beq lbl_801D59F8
/* 801D59F0 001D2950 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D59F4 001D2954 98 04 00 00 */ stb r0, 0(r4)
lbl_801D59F8:
/* 801D59F8 001D2958 34 84 00 01 */ addic. r4, r4, 1
/* 801D59FC 001D295C 41 82 00 0C */ beq lbl_801D5A08
/* 801D5A00 001D2960 88 0D 91 9A */ lbz r0, lbl_805A7D5A@sda21(r13)
/* 801D5A04 001D2964 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A08:
/* 801D5A08 001D2968 38 63 00 06 */ addi r3, r3, 6
/* 801D5A0C 001D296C 38 84 00 01 */ addi r4, r4, 1
/* 801D5A10 001D2970 42 00 FF 88 */ bdnz lbl_801D5998
/* 801D5A14 001D2974 38 60 00 40 */ li r3, 0x40
/* 801D5A18 001D2978 38 00 00 08 */ li r0, 8
/* 801D5A1C 001D297C 90 7C 00 68 */ stw r3, 0x68(r28)
/* 801D5A20 001D2980 38 9C 00 6C */ addi r4, r28, 0x6c
/* 801D5A24 001D2984 38 60 00 00 */ li r3, 0
/* 801D5A28 001D2988 7C 09 03 A6 */ mtctr r0
lbl_801D5A2C:
/* 801D5A2C 001D298C 28 04 00 00 */ cmplwi r4, 0
/* 801D5A30 001D2990 41 82 00 0C */ beq lbl_801D5A3C
/* 801D5A34 001D2994 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A38 001D2998 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A3C:
/* 801D5A3C 001D299C 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A40 001D29A0 41 82 00 0C */ beq lbl_801D5A4C
/* 801D5A44 001D29A4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A48 001D29A8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A4C:
/* 801D5A4C 001D29AC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A50 001D29B0 41 82 00 0C */ beq lbl_801D5A5C
/* 801D5A54 001D29B4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A58 001D29B8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A5C:
/* 801D5A5C 001D29BC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A60 001D29C0 41 82 00 0C */ beq lbl_801D5A6C
/* 801D5A64 001D29C4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A68 001D29C8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A6C:
/* 801D5A6C 001D29CC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A70 001D29D0 41 82 00 0C */ beq lbl_801D5A7C
/* 801D5A74 001D29D4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A78 001D29D8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A7C:
/* 801D5A7C 001D29DC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A80 001D29E0 41 82 00 0C */ beq lbl_801D5A8C
/* 801D5A84 001D29E4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A88 001D29E8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A8C:
/* 801D5A8C 001D29EC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5A90 001D29F0 41 82 00 0C */ beq lbl_801D5A9C
/* 801D5A94 001D29F4 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5A98 001D29F8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5A9C:
/* 801D5A9C 001D29FC 34 84 00 01 */ addic. r4, r4, 1
/* 801D5AA0 001D2A00 41 82 00 0C */ beq lbl_801D5AAC
/* 801D5AA4 001D2A04 88 0D 91 9B */ lbz r0, lbl_805A7D5B@sda21(r13)
/* 801D5AA8 001D2A08 98 04 00 00 */ stb r0, 0(r4)
lbl_801D5AAC:
/* 801D5AAC 001D2A0C 38 63 00 07 */ addi r3, r3, 7
/* 801D5AB0 001D2A10 38 84 00 01 */ addi r4, r4, 1
/* 801D5AB4 001D2A14 42 00 FF 78 */ bdnz lbl_801D5A2C
/* 801D5AB8 001D2A18 38 60 00 00 */ li r3, 0
/* 801D5ABC 001D2A1C 3B 00 00 00 */ li r24, 0
/* 801D5AC0 001D2A20 90 7C 00 B0 */ stw r3, 0xb0(r28)
/* 801D5AC4 001D2A24 90 7C 00 B4 */ stw r3, 0xb4(r28)
/* 801D5AC8 001D2A28 90 7C 00 B8 */ stw r3, 0xb8(r28)
/* 801D5ACC 001D2A2C 90 7C 00 BC */ stw r3, 0xbc(r28)
/* 801D5AD0 001D2A30 90 7C 00 C0 */ stw r3, 0xc0(r28)
/* 801D5AD4 001D2A34 90 7C 00 C4 */ stw r3, 0xc4(r28)
/* 801D5AD8 001D2A38 90 7C 00 C8 */ stw r3, 0xc8(r28)
/* 801D5ADC 001D2A3C 90 7C 00 CC */ stw r3, 0xcc(r28)
/* 801D5AE0 001D2A40 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5AE4 001D2A44 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801D5AE8 001D2A48 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5AEC 001D2A4C 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5AF0 001D2A50 50 60 36 72 */ rlwimi r0, r3, 6, 0x19, 0x19
/* 801D5AF4 001D2A54 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5AF8 001D2A58 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5AFC 001D2A5C 50 60 2E B4 */ rlwimi r0, r3, 5, 0x1a, 0x1a
/* 801D5B00 001D2A60 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5B04 001D2A64 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5B08 001D2A68 50 60 26 F6 */ rlwimi r0, r3, 4, 0x1b, 0x1b
/* 801D5B0C 001D2A6C 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5B10 001D2A70 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5B14 001D2A74 50 60 1F 38 */ rlwimi r0, r3, 3, 0x1c, 0x1c
/* 801D5B18 001D2A78 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5B1C 001D2A7C 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5B20 001D2A80 50 60 17 7A */ rlwimi r0, r3, 2, 0x1d, 0x1d
/* 801D5B24 001D2A84 98 1C 00 D0 */ stb r0, 0xd0(r28)
lbl_801D5B28:
/* 801D5B28 001D2A88 7F A3 EB 78 */ mr r3, r29
/* 801D5B2C 001D2A8C 7F 7C C2 14 */ add r27, r28, r24
/* 801D5B30 001D2A90 38 80 00 08 */ li r4, 8
/* 801D5B34 001D2A94 48 16 92 05 */ bl ReadBits__12CInputStreamFUi
/* 801D5B38 001D2A98 3B 18 00 01 */ addi r24, r24, 1
/* 801D5B3C 001D2A9C 98 7B 00 04 */ stb r3, 4(r27)
/* 801D5B40 001D2AA0 2C 18 00 62 */ cmpwi r24, 0x62
/* 801D5B44 001D2AA4 41 80 FF E4 */ blt lbl_801D5B28
/* 801D5B48 001D2AA8 3B 00 00 00 */ li r24, 0
lbl_801D5B4C:
/* 801D5B4C 001D2AAC 7F A3 EB 78 */ mr r3, r29
/* 801D5B50 001D2AB0 7F 7C C2 14 */ add r27, r28, r24
/* 801D5B54 001D2AB4 38 80 00 08 */ li r4, 8
/* 801D5B58 001D2AB8 48 16 91 E1 */ bl ReadBits__12CInputStreamFUi
/* 801D5B5C 001D2ABC 3B 18 00 01 */ addi r24, r24, 1
/* 801D5B60 001D2AC0 98 7B 00 6C */ stb r3, 0x6c(r27)
/* 801D5B64 001D2AC4 2C 18 00 40 */ cmpwi r24, 0x40
/* 801D5B68 001D2AC8 41 80 FF E4 */ blt lbl_801D5B4C
/* 801D5B6C 001D2ACC 38 60 00 03 */ li r3, 3
/* 801D5B70 001D2AD0 48 00 05 41 */ bl sub_801d60b0
/* 801D5B74 001D2AD4 7C 64 1B 78 */ mr r4, r3
/* 801D5B78 001D2AD8 7F A3 EB 78 */ mr r3, r29
/* 801D5B7C 001D2ADC 48 16 91 BD */ bl ReadBits__12CInputStreamFUi
/* 801D5B80 001D2AE0 90 7C 00 C0 */ stw r3, 0xc0(r28)
/* 801D5B84 001D2AE4 38 60 00 03 */ li r3, 3
/* 801D5B88 001D2AE8 48 00 05 29 */ bl sub_801d60b0
/* 801D5B8C 001D2AEC 7C 64 1B 78 */ mr r4, r3
/* 801D5B90 001D2AF0 7F A3 EB 78 */ mr r3, r29
/* 801D5B94 001D2AF4 48 16 91 A5 */ bl ReadBits__12CInputStreamFUi
/* 801D5B98 001D2AF8 90 7C 00 C4 */ stw r3, 0xc4(r28)
/* 801D5B9C 001D2AFC 38 60 00 01 */ li r3, 1
/* 801D5BA0 001D2B00 48 00 05 11 */ bl sub_801d60b0
/* 801D5BA4 001D2B04 7C 64 1B 78 */ mr r4, r3
/* 801D5BA8 001D2B08 7F A3 EB 78 */ mr r3, r29
/* 801D5BAC 001D2B0C 48 16 91 8D */ bl ReadBits__12CInputStreamFUi
/* 801D5BB0 001D2B10 90 7C 00 C8 */ stw r3, 0xc8(r28)
/* 801D5BB4 001D2B14 38 60 00 64 */ li r3, 0x64
/* 801D5BB8 001D2B18 48 00 04 F9 */ bl sub_801d60b0
/* 801D5BBC 001D2B1C 7C 64 1B 78 */ mr r4, r3
/* 801D5BC0 001D2B20 7F A3 EB 78 */ mr r3, r29
/* 801D5BC4 001D2B24 48 16 91 75 */ bl ReadBits__12CInputStreamFUi
/* 801D5BC8 001D2B28 90 7C 00 CC */ stw r3, 0xcc(r28)
/* 801D5BCC 001D2B2C 7F A3 EB 78 */ mr r3, r29
/* 801D5BD0 001D2B30 38 80 00 01 */ li r4, 1
/* 801D5BD4 001D2B34 48 16 91 65 */ bl ReadBits__12CInputStreamFUi
/* 801D5BD8 001D2B38 7C 83 00 D0 */ neg r4, r3
/* 801D5BDC 001D2B3C 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5BE0 001D2B40 7C 84 1B 78 */ or r4, r4, r3
/* 801D5BE4 001D2B44 7F A3 EB 78 */ mr r3, r29
/* 801D5BE8 001D2B48 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D5BEC 001D2B4C 38 80 00 01 */ li r4, 1
/* 801D5BF0 001D2B50 50 A0 3E 30 */ rlwimi r0, r5, 7, 0x18, 0x18
/* 801D5BF4 001D2B54 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5BF8 001D2B58 48 16 91 41 */ bl ReadBits__12CInputStreamFUi
/* 801D5BFC 001D2B5C 7C 83 00 D0 */ neg r4, r3
/* 801D5C00 001D2B60 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5C04 001D2B64 7C 84 1B 78 */ or r4, r4, r3
/* 801D5C08 001D2B68 7F A3 EB 78 */ mr r3, r29
/* 801D5C0C 001D2B6C 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D5C10 001D2B70 38 80 00 01 */ li r4, 1
/* 801D5C14 001D2B74 50 A0 36 72 */ rlwimi r0, r5, 6, 0x19, 0x19
/* 801D5C18 001D2B78 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5C1C 001D2B7C 48 16 91 1D */ bl ReadBits__12CInputStreamFUi
/* 801D5C20 001D2B80 7C 83 00 D0 */ neg r4, r3
/* 801D5C24 001D2B84 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5C28 001D2B88 7C 84 1B 78 */ or r4, r4, r3
/* 801D5C2C 001D2B8C 7F A3 EB 78 */ mr r3, r29
/* 801D5C30 001D2B90 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D5C34 001D2B94 38 80 00 01 */ li r4, 1
/* 801D5C38 001D2B98 50 A0 2E B4 */ rlwimi r0, r5, 5, 0x1a, 0x1a
/* 801D5C3C 001D2B9C 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5C40 001D2BA0 48 16 90 F9 */ bl ReadBits__12CInputStreamFUi
/* 801D5C44 001D2BA4 7C 83 00 D0 */ neg r4, r3
/* 801D5C48 001D2BA8 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5C4C 001D2BAC 7C 84 1B 78 */ or r4, r4, r3
/* 801D5C50 001D2BB0 7F A3 EB 78 */ mr r3, r29
/* 801D5C54 001D2BB4 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D5C58 001D2BB8 38 80 00 01 */ li r4, 1
/* 801D5C5C 001D2BBC 50 A0 26 F6 */ rlwimi r0, r5, 4, 0x1b, 0x1b
/* 801D5C60 001D2BC0 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5C64 001D2BC4 48 16 90 D5 */ bl ReadBits__12CInputStreamFUi
/* 801D5C68 001D2BC8 7C 83 00 D0 */ neg r4, r3
/* 801D5C6C 001D2BCC 88 1C 00 D0 */ lbz r0, 0xd0(r28)
/* 801D5C70 001D2BD0 7C 84 1B 78 */ or r4, r4, r3
/* 801D5C74 001D2BD4 7F A3 EB 78 */ mr r3, r29
/* 801D5C78 001D2BD8 54 85 0F FE */ srwi r5, r4, 0x1f
/* 801D5C7C 001D2BDC 38 80 00 02 */ li r4, 2
/* 801D5C80 001D2BE0 50 A0 17 7A */ rlwimi r0, r5, 2, 0x1d, 0x1d
/* 801D5C84 001D2BE4 98 1C 00 D0 */ stb r0, 0xd0(r28)
/* 801D5C88 001D2BE8 48 16 90 B1 */ bl ReadBits__12CInputStreamFUi
/* 801D5C8C 001D2BEC 90 7C 00 BC */ stw r3, 0xbc(r28)
/* 801D5C90 001D2BF0 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D5C94 001D2BF4 3B 63 56 57 */ addi r27, r3, 0x53415657@l
/* 801D5C98 001D2BF8 3A C1 00 64 */ addi r22, r1, 0x64
/* 801D5C9C 001D2BFC 83 ED A0 84 */ lwz r31, gpMemoryCard@sda21(r13)
/* 801D5CA0 001D2C00 3B C0 00 00 */ li r30, 0
/* 801D5CA4 001D2C04 83 5F 00 18 */ lwz r26, 0x18(r31)
/* 801D5CA8 001D2C08 48 00 00 70 */ b lbl_801D5D18
lbl_801D5CAC:
/* 801D5CAC 001D2C0C 80 1A 00 08 */ lwz r0, 8(r26)
/* 801D5CB0 001D2C10 38 61 00 38 */ addi r3, r1, 0x38
/* 801D5CB4 001D2C14 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D5CB8 001D2C18 38 A1 00 40 */ addi r5, r1, 0x40
/* 801D5CBC 001D2C1C 93 61 00 40 */ stw r27, 0x40(r1)
/* 801D5CC0 001D2C20 90 01 00 44 */ stw r0, 0x44(r1)
/* 801D5CC4 001D2C24 81 84 00 00 */ lwz r12, 0(r4)
/* 801D5CC8 001D2C28 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D5CCC 001D2C2C 7D 89 03 A6 */ mtctr r12
/* 801D5CD0 001D2C30 4E 80 04 21 */ bctrl
/* 801D5CD4 001D2C34 7E C3 B3 78 */ mr r3, r22
/* 801D5CD8 001D2C38 38 81 00 38 */ addi r4, r1, 0x38
/* 801D5CDC 001D2C3C 48 16 B1 CD */ bl __ct__6CTokenFRC6CToken
/* 801D5CE0 001D2C40 7E C3 B3 78 */ mr r3, r22
/* 801D5CE4 001D2C44 48 16 B1 29 */ bl GetObj__6CTokenFv
/* 801D5CE8 001D2C48 80 03 00 04 */ lwz r0, 4(r3)
/* 801D5CEC 001D2C4C 38 61 00 38 */ addi r3, r1, 0x38
/* 801D5CF0 001D2C50 38 80 FF FF */ li r4, -1
/* 801D5CF4 001D2C54 90 01 00 6C */ stw r0, 0x6c(r1)
/* 801D5CF8 001D2C58 48 16 B1 49 */ bl __dt__6CTokenFv
/* 801D5CFC 001D2C5C 80 A1 00 6C */ lwz r5, 0x6c(r1)
/* 801D5D00 001D2C60 38 61 00 64 */ addi r3, r1, 0x64
/* 801D5D04 001D2C64 38 80 00 00 */ li r4, 0
/* 801D5D08 001D2C68 80 05 00 08 */ lwz r0, 8(r5)
/* 801D5D0C 001D2C6C 7F DE 02 14 */ add r30, r30, r0
/* 801D5D10 001D2C70 48 16 B1 31 */ bl __dt__6CTokenFv
/* 801D5D14 001D2C74 3B 5A 00 4C */ addi r26, r26, 0x4c
lbl_801D5D18:
/* 801D5D18 001D2C78 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 801D5D1C 001D2C7C 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801D5D20 001D2C80 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D5D24 001D2C84 7C 03 02 14 */ add r0, r3, r0
/* 801D5D28 001D2C88 7C 1A 00 40 */ cmplw r26, r0
/* 801D5D2C 001D2C8C 40 82 FF 80 */ bne lbl_801D5CAC
/* 801D5D30 001D2C90 2C 1E 00 00 */ cmpwi r30, 0
/* 801D5D34 001D2C94 93 C1 00 58 */ stw r30, 0x58(r1)
/* 801D5D38 001D2C98 93 C1 00 5C */ stw r30, 0x5c(r1)
/* 801D5D3C 001D2C9C 40 82 00 10 */ bne lbl_801D5D4C
/* 801D5D40 001D2CA0 38 00 00 00 */ li r0, 0
/* 801D5D44 001D2CA4 90 01 00 60 */ stw r0, 0x60(r1)
/* 801D5D48 001D2CA8 48 00 00 1C */ b lbl_801D5D64
lbl_801D5D4C:
/* 801D5D4C 001D2CAC 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D5D50 001D2CB0 7F C3 F3 78 */ mr r3, r30
/* 801D5D54 001D2CB4 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D5D58 001D2CB8 38 A0 00 00 */ li r5, 0
/* 801D5D5C 001D2CBC 48 13 FA BD */ bl __nwa__FUlPCcPCc
/* 801D5D60 001D2CC0 90 61 00 60 */ stw r3, 0x60(r1)
lbl_801D5D64:
/* 801D5D64 001D2CC4 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801D5D68 001D2CC8 7F C9 03 A6 */ mtctr r30
/* 801D5D6C 001D2CCC 2C 1E 00 00 */ cmpwi r30, 0
/* 801D5D70 001D2CD0 40 81 00 1C */ ble lbl_801D5D8C
lbl_801D5D74:
/* 801D5D74 001D2CD4 28 03 00 00 */ cmplwi r3, 0
/* 801D5D78 001D2CD8 41 82 00 0C */ beq lbl_801D5D84
/* 801D5D7C 001D2CDC 88 0D 91 9C */ lbz r0, lbl_805A7D5C@sda21(r13)
/* 801D5D80 001D2CE0 98 03 00 00 */ stb r0, 0(r3)
lbl_801D5D84:
/* 801D5D84 001D2CE4 38 63 00 01 */ addi r3, r3, 1
/* 801D5D88 001D2CE8 42 00 FF EC */ bdnz lbl_801D5D74
lbl_801D5D8C:
/* 801D5D8C 001D2CEC 83 61 00 60 */ lwz r27, 0x60(r1)
/* 801D5D90 001D2CF0 3B 00 00 00 */ li r24, 0
/* 801D5D94 001D2CF4 48 00 00 28 */ b lbl_801D5DBC
lbl_801D5D98:
/* 801D5D98 001D2CF8 7F A3 EB 78 */ mr r3, r29
/* 801D5D9C 001D2CFC 38 80 00 01 */ li r4, 1
/* 801D5DA0 001D2D00 48 16 8F 99 */ bl ReadBits__12CInputStreamFUi
/* 801D5DA4 001D2D04 7C 03 00 D0 */ neg r0, r3
/* 801D5DA8 001D2D08 3B 18 00 01 */ addi r24, r24, 1
/* 801D5DAC 001D2D0C 7C 00 1B 78 */ or r0, r0, r3
/* 801D5DB0 001D2D10 54 00 0F FE */ srwi r0, r0, 0x1f
/* 801D5DB4 001D2D14 98 1B 00 00 */ stb r0, 0(r27)
/* 801D5DB8 001D2D18 3B 7B 00 01 */ addi r27, r27, 1
lbl_801D5DBC:
/* 801D5DBC 001D2D1C 7C 18 F0 00 */ cmpw r24, r30
/* 801D5DC0 001D2D20 41 80 FF D8 */ blt lbl_801D5D98
/* 801D5DC4 001D2D24 3C 60 53 41 */ lis r3, 0x53415657@ha
/* 801D5DC8 001D2D28 83 C1 00 60 */ lwz r30, 0x60(r1)
/* 801D5DCC 001D2D2C 83 3F 00 18 */ lwz r25, 0x18(r31)
/* 801D5DD0 001D2D30 3B 63 56 57 */ addi r27, r3, 0x53415657@l
/* 801D5DD4 001D2D34 3B A1 00 48 */ addi r29, r1, 0x48
/* 801D5DD8 001D2D38 48 00 00 C4 */ b lbl_801D5E9C
lbl_801D5DDC:
/* 801D5DDC 001D2D3C 82 F9 00 00 */ lwz r23, 0(r25)
/* 801D5DE0 001D2D40 38 61 00 28 */ addi r3, r1, 0x28
/* 801D5DE4 001D2D44 80 19 00 08 */ lwz r0, 8(r25)
/* 801D5DE8 001D2D48 38 A1 00 30 */ addi r5, r1, 0x30
/* 801D5DEC 001D2D4C 80 8D A0 64 */ lwz r4, gpSimplePool@sda21(r13)
/* 801D5DF0 001D2D50 93 61 00 30 */ stw r27, 0x30(r1)
/* 801D5DF4 001D2D54 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D5DF8 001D2D58 81 84 00 00 */ lwz r12, 0(r4)
/* 801D5DFC 001D2D5C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 801D5E00 001D2D60 7D 89 03 A6 */ mtctr r12
/* 801D5E04 001D2D64 4E 80 04 21 */ bctrl
/* 801D5E08 001D2D68 7F A3 EB 78 */ mr r3, r29
/* 801D5E0C 001D2D6C 38 81 00 28 */ addi r4, r1, 0x28
/* 801D5E10 001D2D70 48 16 B0 99 */ bl __ct__6CTokenFRC6CToken
/* 801D5E14 001D2D74 7F A3 EB 78 */ mr r3, r29
/* 801D5E18 001D2D78 48 16 AF F5 */ bl GetObj__6CTokenFv
/* 801D5E1C 001D2D7C 80 03 00 04 */ lwz r0, 4(r3)
/* 801D5E20 001D2D80 38 61 00 28 */ addi r3, r1, 0x28
/* 801D5E24 001D2D84 38 80 FF FF */ li r4, -1
/* 801D5E28 001D2D88 90 01 00 50 */ stw r0, 0x50(r1)
/* 801D5E2C 001D2D8C 48 16 B0 15 */ bl __dt__6CTokenFv
/* 801D5E30 001D2D90 83 41 00 50 */ lwz r26, 0x50(r1)
/* 801D5E34 001D2D94 3A C0 00 00 */ li r22, 0
/* 801D5E38 001D2D98 3B 00 00 00 */ li r24, 0
/* 801D5E3C 001D2D9C 48 00 00 44 */ b lbl_801D5E80
lbl_801D5E40:
/* 801D5E40 001D2DA0 88 1E 00 00 */ lbz r0, 0(r30)
/* 801D5E44 001D2DA4 28 00 00 00 */ cmplwi r0, 0
/* 801D5E48 001D2DA8 41 82 00 2C */ beq lbl_801D5E74
/* 801D5E4C 001D2DAC 80 BA 00 10 */ lwz r5, 0x10(r26)
/* 801D5E50 001D2DB0 7F 83 E3 78 */ mr r3, r28
/* 801D5E54 001D2DB4 92 E1 00 18 */ stw r23, 0x18(r1)
/* 801D5E58 001D2DB8 38 81 00 20 */ addi r4, r1, 0x20
/* 801D5E5C 001D2DBC 7C 05 C0 2E */ lwzx r0, r5, r24
/* 801D5E60 001D2DC0 38 A0 00 01 */ li r5, 1
/* 801D5E64 001D2DC4 90 01 00 1C */ stw r0, 0x1c(r1)
/* 801D5E68 001D2DC8 92 E1 00 20 */ stw r23, 0x20(r1)
/* 801D5E6C 001D2DCC 90 01 00 24 */ stw r0, 0x24(r1)
/* 801D5E70 001D2DD0 4B FF F4 A1 */ bl SetCinematicState__14CSystemOptionsFUi9TEditorIdb
lbl_801D5E74:
/* 801D5E74 001D2DD4 3B DE 00 01 */ addi r30, r30, 1
/* 801D5E78 001D2DD8 3B 18 00 04 */ addi r24, r24, 4
/* 801D5E7C 001D2DDC 3A D6 00 01 */ addi r22, r22, 1
lbl_801D5E80:
/* 801D5E80 001D2DE0 80 1A 00 08 */ lwz r0, 8(r26)
/* 801D5E84 001D2DE4 7C 16 00 00 */ cmpw r22, r0
/* 801D5E88 001D2DE8 41 80 FF B8 */ blt lbl_801D5E40
/* 801D5E8C 001D2DEC 38 61 00 48 */ addi r3, r1, 0x48
/* 801D5E90 001D2DF0 38 80 00 00 */ li r4, 0
/* 801D5E94 001D2DF4 48 16 AF AD */ bl __dt__6CTokenFv
/* 801D5E98 001D2DF8 3B 39 00 4C */ addi r25, r25, 0x4c
lbl_801D5E9C:
/* 801D5E9C 001D2DFC 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 801D5EA0 001D2E00 80 7F 00 18 */ lwz r3, 0x18(r31)
/* 801D5EA4 001D2E04 1C 00 00 4C */ mulli r0, r0, 0x4c
/* 801D5EA8 001D2E08 7C 03 02 14 */ add r0, r3, r0
/* 801D5EAC 001D2E0C 7C 19 00 40 */ cmplw r25, r0
/* 801D5EB0 001D2E10 40 82 FF 2C */ bne lbl_801D5DDC
/* 801D5EB4 001D2E14 80 61 00 60 */ lwz r3, 0x60(r1)
/* 801D5EB8 001D2E18 80 01 00 58 */ lwz r0, 0x58(r1)
/* 801D5EBC 001D2E1C 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D5EC0 001D2E20 7C 83 02 14 */ add r4, r3, r0
/* 801D5EC4 001D2E24 7C 03 20 50 */ subf r0, r3, r4
/* 801D5EC8 001D2E28 90 81 00 14 */ stw r4, 0x14(r1)
/* 801D5ECC 001D2E2C 90 81 00 10 */ stw r4, 0x10(r1)
/* 801D5ED0 001D2E30 90 61 00 08 */ stw r3, 8(r1)
/* 801D5ED4 001D2E34 7C 09 03 A6 */ mtctr r0
/* 801D5ED8 001D2E38 7C 03 20 40 */ cmplw r3, r4
/* 801D5EDC 001D2E3C 41 82 00 08 */ beq lbl_801D5EE4
lbl_801D5EE0:
/* 801D5EE0 001D2E40 42 00 00 00 */ bdnz lbl_801D5EE0
lbl_801D5EE4:
/* 801D5EE4 001D2E44 28 03 00 00 */ cmplwi r3, 0
/* 801D5EE8 001D2E48 41 82 00 08 */ beq lbl_801D5EF0
/* 801D5EEC 001D2E4C 48 13 FA 45 */ bl Free__7CMemoryFPCv
lbl_801D5EF0:
/* 801D5EF0 001D2E50 7F 83 E3 78 */ mr r3, r28
/* 801D5EF4 001D2E54 BA C1 00 78 */ lmw r22, 0x78(r1)
/* 801D5EF8 001D2E58 80 01 00 A4 */ lwz r0, 0xa4(r1)
/* 801D5EFC 001D2E5C 7C 08 03 A6 */ mtlr r0
/* 801D5F00 001D2E60 38 21 00 A0 */ addi r1, r1, 0xa0
/* 801D5F04 001D2E64 4E 80 00 20 */ blr
.global __ct__14CSystemOptionsFv
__ct__14CSystemOptionsFv:
/* 801D5F08 001D2E68 38 80 00 62 */ li r4, 0x62
/* 801D5F0C 001D2E6C 38 00 00 0E */ li r0, 0xe
/* 801D5F10 001D2E70 90 83 00 00 */ stw r4, 0(r3)
/* 801D5F14 001D2E74 38 A3 00 04 */ addi r5, r3, 4
/* 801D5F18 001D2E78 38 80 00 00 */ li r4, 0
/* 801D5F1C 001D2E7C 7C 09 03 A6 */ mtctr r0
lbl_801D5F20:
/* 801D5F20 001D2E80 28 05 00 00 */ cmplwi r5, 0
/* 801D5F24 001D2E84 41 82 00 0C */ beq lbl_801D5F30
/* 801D5F28 001D2E88 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F2C 001D2E8C 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F30:
/* 801D5F30 001D2E90 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F34 001D2E94 41 82 00 0C */ beq lbl_801D5F40
/* 801D5F38 001D2E98 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F3C 001D2E9C 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F40:
/* 801D5F40 001D2EA0 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F44 001D2EA4 41 82 00 0C */ beq lbl_801D5F50
/* 801D5F48 001D2EA8 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F4C 001D2EAC 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F50:
/* 801D5F50 001D2EB0 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F54 001D2EB4 41 82 00 0C */ beq lbl_801D5F60
/* 801D5F58 001D2EB8 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F5C 001D2EBC 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F60:
/* 801D5F60 001D2EC0 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F64 001D2EC4 41 82 00 0C */ beq lbl_801D5F70
/* 801D5F68 001D2EC8 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F6C 001D2ECC 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F70:
/* 801D5F70 001D2ED0 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F74 001D2ED4 41 82 00 0C */ beq lbl_801D5F80
/* 801D5F78 001D2ED8 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F7C 001D2EDC 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F80:
/* 801D5F80 001D2EE0 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5F84 001D2EE4 41 82 00 0C */ beq lbl_801D5F90
/* 801D5F88 001D2EE8 88 0D 91 98 */ lbz r0, lbl_805A7D58@sda21(r13)
/* 801D5F8C 001D2EEC 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5F90:
/* 801D5F90 001D2EF0 38 84 00 06 */ addi r4, r4, 6
/* 801D5F94 001D2EF4 38 A5 00 01 */ addi r5, r5, 1
/* 801D5F98 001D2EF8 42 00 FF 88 */ bdnz lbl_801D5F20
/* 801D5F9C 001D2EFC 38 80 00 40 */ li r4, 0x40
/* 801D5FA0 001D2F00 38 00 00 08 */ li r0, 8
/* 801D5FA4 001D2F04 90 83 00 68 */ stw r4, 0x68(r3)
/* 801D5FA8 001D2F08 38 A3 00 6C */ addi r5, r3, 0x6c
/* 801D5FAC 001D2F0C 38 80 00 00 */ li r4, 0
/* 801D5FB0 001D2F10 7C 09 03 A6 */ mtctr r0
lbl_801D5FB4:
/* 801D5FB4 001D2F14 28 05 00 00 */ cmplwi r5, 0
/* 801D5FB8 001D2F18 41 82 00 0C */ beq lbl_801D5FC4
/* 801D5FBC 001D2F1C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D5FC0 001D2F20 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5FC4:
/* 801D5FC4 001D2F24 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5FC8 001D2F28 41 82 00 0C */ beq lbl_801D5FD4
/* 801D5FCC 001D2F2C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D5FD0 001D2F30 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5FD4:
/* 801D5FD4 001D2F34 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5FD8 001D2F38 41 82 00 0C */ beq lbl_801D5FE4
/* 801D5FDC 001D2F3C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D5FE0 001D2F40 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5FE4:
/* 801D5FE4 001D2F44 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5FE8 001D2F48 41 82 00 0C */ beq lbl_801D5FF4
/* 801D5FEC 001D2F4C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D5FF0 001D2F50 98 05 00 00 */ stb r0, 0(r5)
lbl_801D5FF4:
/* 801D5FF4 001D2F54 34 A5 00 01 */ addic. r5, r5, 1
/* 801D5FF8 001D2F58 41 82 00 0C */ beq lbl_801D6004
/* 801D5FFC 001D2F5C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D6000 001D2F60 98 05 00 00 */ stb r0, 0(r5)
lbl_801D6004:
/* 801D6004 001D2F64 34 A5 00 01 */ addic. r5, r5, 1
/* 801D6008 001D2F68 41 82 00 0C */ beq lbl_801D6014
/* 801D600C 001D2F6C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D6010 001D2F70 98 05 00 00 */ stb r0, 0(r5)
lbl_801D6014:
/* 801D6014 001D2F74 34 A5 00 01 */ addic. r5, r5, 1
/* 801D6018 001D2F78 41 82 00 0C */ beq lbl_801D6024
/* 801D601C 001D2F7C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D6020 001D2F80 98 05 00 00 */ stb r0, 0(r5)
lbl_801D6024:
/* 801D6024 001D2F84 34 A5 00 01 */ addic. r5, r5, 1
/* 801D6028 001D2F88 41 82 00 0C */ beq lbl_801D6034
/* 801D602C 001D2F8C 88 0D 91 99 */ lbz r0, lbl_805A7D59@sda21(r13)
/* 801D6030 001D2F90 98 05 00 00 */ stb r0, 0(r5)
lbl_801D6034:
/* 801D6034 001D2F94 38 84 00 07 */ addi r4, r4, 7
/* 801D6038 001D2F98 38 A5 00 01 */ addi r5, r5, 1
/* 801D603C 001D2F9C 42 00 FF 78 */ bdnz lbl_801D5FB4
/* 801D6040 001D2FA0 38 80 00 00 */ li r4, 0
/* 801D6044 001D2FA4 90 83 00 B0 */ stw r4, 0xb0(r3)
/* 801D6048 001D2FA8 90 83 00 B4 */ stw r4, 0xb4(r3)
/* 801D604C 001D2FAC 90 83 00 B8 */ stw r4, 0xb8(r3)
/* 801D6050 001D2FB0 90 83 00 BC */ stw r4, 0xbc(r3)
/* 801D6054 001D2FB4 90 83 00 C0 */ stw r4, 0xc0(r3)
/* 801D6058 001D2FB8 90 83 00 C4 */ stw r4, 0xc4(r3)
/* 801D605C 001D2FBC 90 83 00 C8 */ stw r4, 0xc8(r3)
/* 801D6060 001D2FC0 90 83 00 CC */ stw r4, 0xcc(r3)
/* 801D6064 001D2FC4 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D6068 001D2FC8 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801D606C 001D2FCC 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D6070 001D2FD0 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D6074 001D2FD4 50 80 36 72 */ rlwimi r0, r4, 6, 0x19, 0x19
/* 801D6078 001D2FD8 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D607C 001D2FDC 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D6080 001D2FE0 50 80 2E B4 */ rlwimi r0, r4, 5, 0x1a, 0x1a
/* 801D6084 001D2FE4 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D6088 001D2FE8 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D608C 001D2FEC 50 80 26 F6 */ rlwimi r0, r4, 4, 0x1b, 0x1b
/* 801D6090 001D2FF0 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D6094 001D2FF4 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D6098 001D2FF8 50 80 1F 38 */ rlwimi r0, r4, 3, 0x1c, 0x1c
/* 801D609C 001D2FFC 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D60A0 001D3000 88 03 00 D0 */ lbz r0, 0xd0(r3)
/* 801D60A4 001D3004 50 80 17 7A */ rlwimi r0, r4, 2, 0x1d, 0x1d
/* 801D60A8 001D3008 98 03 00 D0 */ stb r0, 0xd0(r3)
/* 801D60AC 001D300C 4E 80 00 20 */ blr
.global sub_801d60b0
sub_801d60b0:
/* 801D60B0 001D3010 38 80 00 00 */ li r4, 0
/* 801D60B4 001D3014 48 00 00 0C */ b lbl_801D60C0
lbl_801D60B8:
/* 801D60B8 001D3018 54 63 F8 7E */ srwi r3, r3, 1
/* 801D60BC 001D301C 38 84 00 01 */ addi r4, r4, 1
lbl_801D60C0:
/* 801D60C0 001D3020 28 03 00 00 */ cmplwi r3, 0
/* 801D60C4 001D3024 40 82 FF F4 */ bne lbl_801D60B8
/* 801D60C8 001D3028 7C 83 23 78 */ mr r3, r4
/* 801D60CC 001D302C 4E 80 00 20 */ blr
.global "Clamp<d>__5CMathFRCdRCdRCd"
"Clamp<d>__5CMathFRCdRCdRCd":
/* 801D60D0 001D3030 C8 03 00 00 */ lfd f0, 0(r3)
/* 801D60D4 001D3034 C8 24 00 00 */ lfd f1, 0(r4)
/* 801D60D8 001D3038 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801D60DC 001D303C 4D 81 00 20 */ bgtlr
/* 801D60E0 001D3040 C8 05 00 00 */ lfd f0, 0(r5)
/* 801D60E4 001D3044 FC 00 08 40 */ fcmpo cr0, f0, f1
/* 801D60E8 001D3048 40 80 00 0C */ bge lbl_801D60F4
/* 801D60EC 001D304C 7C A3 2B 78 */ mr r3, r5
/* 801D60F0 001D3050 4E 80 00 20 */ blr
lbl_801D60F4:
/* 801D60F4 001D3054 7C 83 23 78 */ mr r3, r4
/* 801D60F8 001D3058 4E 80 00 20 */ blr
.global sub_801d60fc
sub_801d60fc:
/* 801D60FC 001D305C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D6100 001D3060 7C 08 02 A6 */ mflr r0
/* 801D6104 001D3064 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D6108 001D3068 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D610C 001D306C 7C 9F 23 78 */ mr r31, r4
/* 801D6110 001D3070 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D6114 001D3074 7C 7E 1B 78 */ mr r30, r3
/* 801D6118 001D3078 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D611C 001D307C 80 03 00 08 */ lwz r0, 8(r3)
/* 801D6120 001D3080 7C 1F 00 00 */ cmpw r31, r0
/* 801D6124 001D3084 40 81 00 BC */ ble lbl_801D61E0
/* 801D6128 001D3088 1C 7F 00 0C */ mulli r3, r31, 0xc
/* 801D612C 001D308C 2C 03 00 00 */ cmpwi r3, 0
/* 801D6130 001D3090 40 82 00 0C */ bne lbl_801D613C
/* 801D6134 001D3094 3B A0 00 00 */ li r29, 0
/* 801D6138 001D3098 48 00 00 18 */ b lbl_801D6150
lbl_801D613C:
/* 801D613C 001D309C 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D6140 001D30A0 38 A0 00 00 */ li r5, 0
/* 801D6144 001D30A4 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D6148 001D30A8 48 13 F6 D1 */ bl __nwa__FUlPCcPCc
/* 801D614C 001D30AC 7C 7D 1B 78 */ mr r29, r3
lbl_801D6150:
/* 801D6150 001D30B0 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D6154 001D30B4 7F A4 EB 78 */ mr r4, r29
/* 801D6158 001D30B8 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 801D615C 001D30BC 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D6160 001D30C0 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801D6164 001D30C4 7C 65 02 14 */ add r3, r5, r0
/* 801D6168 001D30C8 90 A1 00 14 */ stw r5, 0x14(r1)
/* 801D616C 001D30CC 90 61 00 08 */ stw r3, 8(r1)
/* 801D6170 001D30D0 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D6174 001D30D4 48 00 00 2C */ b lbl_801D61A0
lbl_801D6178:
/* 801D6178 001D30D8 28 04 00 00 */ cmplwi r4, 0
/* 801D617C 001D30DC 41 82 00 1C */ beq lbl_801D6198
/* 801D6180 001D30E0 80 05 00 00 */ lwz r0, 0(r5)
/* 801D6184 001D30E4 90 04 00 00 */ stw r0, 0(r4)
/* 801D6188 001D30E8 C0 05 00 04 */ lfs f0, 4(r5)
/* 801D618C 001D30EC D0 04 00 04 */ stfs f0, 4(r4)
/* 801D6190 001D30F0 88 05 00 08 */ lbz r0, 8(r5)
/* 801D6194 001D30F4 98 04 00 08 */ stb r0, 8(r4)
lbl_801D6198:
/* 801D6198 001D30F8 38 84 00 0C */ addi r4, r4, 0xc
/* 801D619C 001D30FC 38 A5 00 0C */ addi r5, r5, 0xc
lbl_801D61A0:
/* 801D61A0 001D3100 7C 05 18 40 */ cmplw r5, r3
/* 801D61A4 001D3104 40 82 FF D4 */ bne lbl_801D6178
/* 801D61A8 001D3108 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D61AC 001D310C 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801D61B0 001D3110 1C 00 00 0C */ mulli r0, r0, 0xc
/* 801D61B4 001D3114 7C 64 1B 78 */ mr r4, r3
/* 801D61B8 001D3118 7C 03 02 14 */ add r0, r3, r0
/* 801D61BC 001D311C 48 00 00 08 */ b lbl_801D61C4
lbl_801D61C0:
/* 801D61C0 001D3120 38 84 00 0C */ addi r4, r4, 0xc
lbl_801D61C4:
/* 801D61C4 001D3124 7C 04 00 40 */ cmplw r4, r0
/* 801D61C8 001D3128 40 82 FF F8 */ bne lbl_801D61C0
/* 801D61CC 001D312C 28 03 00 00 */ cmplwi r3, 0
/* 801D61D0 001D3130 41 82 00 08 */ beq lbl_801D61D8
/* 801D61D4 001D3134 48 13 F7 5D */ bl Free__7CMemoryFPCv
lbl_801D61D8:
/* 801D61D8 001D3138 93 BE 00 0C */ stw r29, 0xc(r30)
/* 801D61DC 001D313C 93 FE 00 08 */ stw r31, 8(r30)
lbl_801D61E0:
/* 801D61E0 001D3140 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D61E4 001D3144 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D61E8 001D3148 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D61EC 001D314C 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D61F0 001D3150 7C 08 03 A6 */ mtlr r0
/* 801D61F4 001D3154 38 21 00 30 */ addi r1, r1, 0x30
/* 801D61F8 001D3158 4E 80 00 20 */ blr
.global "reserve__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl37vector<Uc,Q24rstl17rmemory_allocator>Fi":
/* 801D61FC 001D315C 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D6200 001D3160 7C 08 02 A6 */ mflr r0
/* 801D6204 001D3164 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D6208 001D3168 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 801D620C 001D316C 7C 9F 23 78 */ mr r31, r4
/* 801D6210 001D3170 93 C1 00 28 */ stw r30, 0x28(r1)
/* 801D6214 001D3174 7C 7E 1B 78 */ mr r30, r3
/* 801D6218 001D3178 93 A1 00 24 */ stw r29, 0x24(r1)
/* 801D621C 001D317C 80 03 00 08 */ lwz r0, 8(r3)
/* 801D6220 001D3180 7C 1F 00 00 */ cmpw r31, r0
/* 801D6224 001D3184 40 81 00 A8 */ ble lbl_801D62CC
/* 801D6228 001D3188 7F E3 FB 79 */ or. r3, r31, r31
/* 801D622C 001D318C 40 82 00 0C */ bne lbl_801D6238
/* 801D6230 001D3190 3B A0 00 00 */ li r29, 0
/* 801D6234 001D3194 48 00 00 18 */ b lbl_801D624C
lbl_801D6238:
/* 801D6238 001D3198 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D623C 001D319C 38 A0 00 00 */ li r5, 0
/* 801D6240 001D31A0 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D6244 001D31A4 48 13 F5 D5 */ bl __nwa__FUlPCcPCc
/* 801D6248 001D31A8 7C 7D 1B 78 */ mr r29, r3
lbl_801D624C:
/* 801D624C 001D31AC 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 801D6250 001D31B0 7F A4 EB 78 */ mr r4, r29
/* 801D6254 001D31B4 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D6258 001D31B8 90 A1 00 10 */ stw r5, 0x10(r1)
/* 801D625C 001D31BC 7C 65 02 14 */ add r3, r5, r0
/* 801D6260 001D31C0 7C 05 18 50 */ subf r0, r5, r3
/* 801D6264 001D31C4 90 61 00 08 */ stw r3, 8(r1)
/* 801D6268 001D31C8 90 61 00 0C */ stw r3, 0xc(r1)
/* 801D626C 001D31CC 90 A1 00 14 */ stw r5, 0x14(r1)
/* 801D6270 001D31D0 7C 09 03 A6 */ mtctr r0
/* 801D6274 001D31D4 7C 05 18 40 */ cmplw r5, r3
/* 801D6278 001D31D8 41 82 00 20 */ beq lbl_801D6298
lbl_801D627C:
/* 801D627C 001D31DC 28 04 00 00 */ cmplwi r4, 0
/* 801D6280 001D31E0 41 82 00 0C */ beq lbl_801D628C
/* 801D6284 001D31E4 88 05 00 00 */ lbz r0, 0(r5)
/* 801D6288 001D31E8 98 04 00 00 */ stb r0, 0(r4)
lbl_801D628C:
/* 801D628C 001D31EC 38 84 00 01 */ addi r4, r4, 1
/* 801D6290 001D31F0 38 A5 00 01 */ addi r5, r5, 1
/* 801D6294 001D31F4 42 00 FF E8 */ bdnz lbl_801D627C
lbl_801D6298:
/* 801D6298 001D31F8 80 7E 00 0C */ lwz r3, 0xc(r30)
/* 801D629C 001D31FC 80 1E 00 04 */ lwz r0, 4(r30)
/* 801D62A0 001D3200 7C 83 02 14 */ add r4, r3, r0
/* 801D62A4 001D3204 7C 03 20 50 */ subf r0, r3, r4
/* 801D62A8 001D3208 7C 09 03 A6 */ mtctr r0
/* 801D62AC 001D320C 7C 03 20 40 */ cmplw r3, r4
/* 801D62B0 001D3210 41 82 00 08 */ beq lbl_801D62B8
lbl_801D62B4:
/* 801D62B4 001D3214 42 00 00 00 */ bdnz lbl_801D62B4
lbl_801D62B8:
/* 801D62B8 001D3218 28 03 00 00 */ cmplwi r3, 0
/* 801D62BC 001D321C 41 82 00 08 */ beq lbl_801D62C4
/* 801D62C0 001D3220 48 13 F6 71 */ bl Free__7CMemoryFPCv
lbl_801D62C4:
/* 801D62C4 001D3224 93 BE 00 0C */ stw r29, 0xc(r30)
/* 801D62C8 001D3228 93 FE 00 08 */ stw r31, 8(r30)
lbl_801D62CC:
/* 801D62CC 001D322C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D62D0 001D3230 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 801D62D4 001D3234 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 801D62D8 001D3238 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 801D62DC 001D323C 7C 08 03 A6 */ mtlr r0
/* 801D62E0 001D3240 38 21 00 30 */ addi r1, r1, 0x30
/* 801D62E4 001D3244 4E 80 00 20 */ blr
.global "reserve__Q24rstl48vector<11CWorldState,Q24rstl17rmemory_allocator>Fi"
"reserve__Q24rstl48vector<11CWorldState,Q24rstl17rmemory_allocator>Fi":
/* 801D62E8 001D3248 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 801D62EC 001D324C 7C 08 02 A6 */ mflr r0
/* 801D62F0 001D3250 90 01 00 34 */ stw r0, 0x34(r1)
/* 801D62F4 001D3254 BF 61 00 1C */ stmw r27, 0x1c(r1)
/* 801D62F8 001D3258 7C 9E 23 78 */ mr r30, r4
/* 801D62FC 001D325C 7C 7D 1B 78 */ mr r29, r3
/* 801D6300 001D3260 80 03 00 08 */ lwz r0, 8(r3)
/* 801D6304 001D3264 7C 1E 00 00 */ cmpw r30, r0
/* 801D6308 001D3268 40 81 00 E8 */ ble lbl_801D63F0
/* 801D630C 001D326C 1C 7E 00 18 */ mulli r3, r30, 0x18
/* 801D6310 001D3270 2C 03 00 00 */ cmpwi r3, 0
/* 801D6314 001D3274 40 82 00 0C */ bne lbl_801D6320
/* 801D6318 001D3278 3B E0 00 00 */ li r31, 0
/* 801D631C 001D327C 48 00 00 18 */ b lbl_801D6334
lbl_801D6320:
/* 801D6320 001D3280 3C 80 80 3D */ lis r4, lbl_803D1B88@ha
/* 801D6324 001D3284 38 A0 00 00 */ li r5, 0
/* 801D6328 001D3288 38 84 1B 88 */ addi r4, r4, lbl_803D1B88@l
/* 801D632C 001D328C 48 13 F4 ED */ bl __nwa__FUlPCcPCc
/* 801D6330 001D3290 7C 7F 1B 78 */ mr r31, r3
lbl_801D6334:
/* 801D6334 001D3294 80 1D 00 04 */ lwz r0, 4(r29)
/* 801D6338 001D3298 7F E5 FB 78 */ mr r5, r31
/* 801D633C 001D329C 80 DD 00 0C */ lwz r6, 0xc(r29)
/* 801D6340 001D32A0 38 61 00 14 */ addi r3, r1, 0x14
/* 801D6344 001D32A4 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801D6348 001D32A8 38 81 00 0C */ addi r4, r1, 0xc
/* 801D634C 001D32AC 7C C6 02 14 */ add r6, r6, r0
/* 801D6350 001D32B0 90 C1 00 0C */ stw r6, 0xc(r1)
/* 801D6354 001D32B4 80 1D 00 0C */ lwz r0, 0xc(r29)
/* 801D6358 001D32B8 90 C1 00 08 */ stw r6, 8(r1)
/* 801D635C 001D32BC 90 01 00 10 */ stw r0, 0x10(r1)
/* 801D6360 001D32C0 90 01 00 14 */ stw r0, 0x14(r1)
/* 801D6364 001D32C4 48 00 00 A1 */ bl sub_801d6404
/* 801D6368 001D32C8 80 1D 00 04 */ lwz r0, 4(r29)
/* 801D636C 001D32CC 83 7D 00 0C */ lwz r27, 0xc(r29)
/* 801D6370 001D32D0 1C 00 00 18 */ mulli r0, r0, 0x18
/* 801D6374 001D32D4 7F 9B 02 14 */ add r28, r27, r0
/* 801D6378 001D32D8 48 00 00 58 */ b lbl_801D63D0
lbl_801D637C:
/* 801D637C 001D32DC 28 1B 00 00 */ cmplwi r27, 0
/* 801D6380 001D32E0 41 82 00 4C */ beq lbl_801D63CC
/* 801D6384 001D32E4 34 1B 00 14 */ addic. r0, r27, 0x14
/* 801D6388 001D32E8 41 82 00 14 */ beq lbl_801D639C
/* 801D638C 001D32EC 34 1B 00 14 */ addic. r0, r27, 0x14
/* 801D6390 001D32F0 41 82 00 0C */ beq lbl_801D639C
/* 801D6394 001D32F4 38 7B 00 14 */ addi r3, r27, 0x14
/* 801D6398 001D32F8 4B E3 2A 35 */ bl sub_80008dcc
lbl_801D639C:
/* 801D639C 001D32FC 34 1B 00 0C */ addic. r0, r27, 0xc
/* 801D63A0 001D3300 41 82 00 14 */ beq lbl_801D63B4
/* 801D63A4 001D3304 34 1B 00 0C */ addic. r0, r27, 0xc
/* 801D63A8 001D3308 41 82 00 0C */ beq lbl_801D63B4
/* 801D63AC 001D330C 38 7B 00 0C */ addi r3, r27, 0xc
/* 801D63B0 001D3310 4B E3 28 8D */ bl sub_80008c3c
lbl_801D63B4:
/* 801D63B4 001D3314 34 1B 00 08 */ addic. r0, r27, 8
/* 801D63B8 001D3318 41 82 00 14 */ beq lbl_801D63CC
/* 801D63BC 001D331C 34 1B 00 08 */ addic. r0, r27, 8
/* 801D63C0 001D3320 41 82 00 0C */ beq lbl_801D63CC
/* 801D63C4 001D3324 38 7B 00 08 */ addi r3, r27, 8
/* 801D63C8 001D3328 4B E3 22 79 */ bl __dt__11CWorldStateFv
lbl_801D63CC:
/* 801D63CC 001D332C 3B 7B 00 18 */ addi r27, r27, 0x18
lbl_801D63D0:
/* 801D63D0 001D3330 7C 1B E0 40 */ cmplw r27, r28
/* 801D63D4 001D3334 40 82 FF A8 */ bne lbl_801D637C
/* 801D63D8 001D3338 80 7D 00 0C */ lwz r3, 0xc(r29)
/* 801D63DC 001D333C 28 03 00 00 */ cmplwi r3, 0
/* 801D63E0 001D3340 41 82 00 08 */ beq lbl_801D63E8
/* 801D63E4 001D3344 48 13 F5 4D */ bl Free__7CMemoryFPCv
lbl_801D63E8:
/* 801D63E8 001D3348 93 FD 00 0C */ stw r31, 0xc(r29)
/* 801D63EC 001D334C 93 DD 00 08 */ stw r30, 8(r29)
lbl_801D63F0:
/* 801D63F0 001D3350 BB 61 00 1C */ lmw r27, 0x1c(r1)
/* 801D63F4 001D3354 80 01 00 34 */ lwz r0, 0x34(r1)
/* 801D63F8 001D3358 7C 08 03 A6 */ mtlr r0
/* 801D63FC 001D335C 38 21 00 30 */ addi r1, r1, 0x30
/* 801D6400 001D3360 4E 80 00 20 */ blr
.global sub_801d6404
sub_801d6404:
/* 801D6404 001D3364 80 E3 00 00 */ lwz r7, 0(r3)
/* 801D6408 001D3368 48 00 00 74 */ b lbl_801D647C
lbl_801D640C:
/* 801D640C 001D336C 28 05 00 00 */ cmplwi r5, 0
/* 801D6410 001D3370 41 82 00 64 */ beq lbl_801D6474
/* 801D6414 001D3374 80 07 00 00 */ lwz r0, 0(r7)
/* 801D6418 001D3378 90 05 00 00 */ stw r0, 0(r5)
/* 801D641C 001D337C 80 07 00 04 */ lwz r0, 4(r7)
/* 801D6420 001D3380 90 05 00 04 */ stw r0, 4(r5)
/* 801D6424 001D3384 80 07 00 08 */ lwz r0, 8(r7)
/* 801D6428 001D3388 90 05 00 08 */ stw r0, 8(r5)
/* 801D642C 001D338C 80 C5 00 08 */ lwz r6, 8(r5)
/* 801D6430 001D3390 80 66 00 04 */ lwz r3, 4(r6)
/* 801D6434 001D3394 38 03 00 01 */ addi r0, r3, 1
/* 801D6438 001D3398 90 06 00 04 */ stw r0, 4(r6)
/* 801D643C 001D339C 80 07 00 0C */ lwz r0, 0xc(r7)
/* 801D6440 001D33A0 90 05 00 0C */ stw r0, 0xc(r5)
/* 801D6444 001D33A4 80 C5 00 0C */ lwz r6, 0xc(r5)
/* 801D6448 001D33A8 80 66 00 04 */ lwz r3, 4(r6)
/* 801D644C 001D33AC 38 03 00 01 */ addi r0, r3, 1
/* 801D6450 001D33B0 90 06 00 04 */ stw r0, 4(r6)
/* 801D6454 001D33B4 80 07 00 10 */ lwz r0, 0x10(r7)
/* 801D6458 001D33B8 90 05 00 10 */ stw r0, 0x10(r5)
/* 801D645C 001D33BC 80 07 00 14 */ lwz r0, 0x14(r7)
/* 801D6460 001D33C0 90 05 00 14 */ stw r0, 0x14(r5)
/* 801D6464 001D33C4 80 C5 00 14 */ lwz r6, 0x14(r5)
/* 801D6468 001D33C8 80 66 00 04 */ lwz r3, 4(r6)
/* 801D646C 001D33CC 38 03 00 01 */ addi r0, r3, 1
/* 801D6470 001D33D0 90 06 00 04 */ stw r0, 4(r6)
lbl_801D6474:
/* 801D6474 001D33D4 38 A5 00 18 */ addi r5, r5, 0x18
/* 801D6478 001D33D8 38 E7 00 18 */ addi r7, r7, 0x18
lbl_801D647C:
/* 801D647C 001D33DC 80 04 00 00 */ lwz r0, 0(r4)
/* 801D6480 001D33E0 7C 07 00 40 */ cmplw r7, r0
/* 801D6484 001D33E4 40 82 FF 88 */ bne lbl_801D640C
/* 801D6488 001D33E8 7C A3 2B 78 */ mr r3, r5
/* 801D648C 001D33EC 4E 80 00 20 */ blr
.section .sdata2, "a"
.balign 8
.global lbl_805AC940
lbl_805AC940:
# ROM: 0x3F91E0
.4byte 0x4115F8FC
.4byte 0
.global lbl_805AC948
lbl_805AC948:
# ROM: 0x3F91E8
.4byte 0
.global lbl_805AC94C
lbl_805AC94C:
# ROM: 0x3F91EC
.4byte 0x42C80000
.global lbl_805AC950
lbl_805AC950:
# ROM: 0x3F91F0
.double 4.503601774854144E15
.global lbl_805AC958
lbl_805AC958:
# ROM: 0x3F91F8
.4byte 0
.4byte 0
.section .rodata
.balign 8
.global lbl_803D1B88
lbl_803D1B88:
# ROM: 0x3CEB88
.asciz "??(??)"
.balign 4