prime/asm/MetroidPrime/Weapons/GunController/CGSFreeLook.s

281 lines
14 KiB
ArmAsm
Raw Normal View History

2022-04-14 08:02:42 +00:00
.include "macros.inc"
2022-07-14 05:36:41 +00:00
.section .text, "ax"
2022-04-14 08:02:42 +00:00
.global SetAnim__11CGSFreeLookFR9CAnimDataiiiR13CStateManagerf
SetAnim__11CGSFreeLookFR9CAnimDataiiiR13CStateManagerf:
/* 801CCCA8 001C9C08 94 21 FE F0 */ stwu r1, -0x110(r1)
/* 801CCCAC 001C9C0C 7C 08 02 A6 */ mflr r0
/* 801CCCB0 001C9C10 90 01 01 14 */ stw r0, 0x114(r1)
/* 801CCCB4 001C9C14 DB E1 01 00 */ stfd f31, 0x100(r1)
/* 801CCCB8 001C9C18 F3 E1 01 08 */ psq_st f31, 264(r1), 0, qr0
/* 801CCCBC 001C9C1C BF 01 00 E0 */ stmw r24, 0xe0(r1)
/* 801CCCC0 001C9C20 88 03 00 14 */ lbz r0, 0x14(r3)
/* 801CCCC4 001C9C24 FF E0 08 90 */ fmr f31, f1
/* 801CCCC8 001C9C28 7C 7B 1B 78 */ mr r27, r3
/* 801CCCCC 001C9C2C 7C 9C 23 78 */ mr r28, r4
/* 801CCCD0 001C9C30 54 00 CF FF */ rlwinm. r0, r0, 0x19, 0x1f, 0x1f
/* 801CCCD4 001C9C34 7C BD 2B 78 */ mr r29, r5
/* 801CCCD8 001C9C38 7C D8 33 78 */ mr r24, r6
/* 801CCCDC 001C9C3C 7C FE 3B 78 */ mr r30, r7
/* 801CCCE0 001C9C40 7D 1F 43 78 */ mr r31, r8
/* 801CCCE4 001C9C44 3B 40 00 01 */ li r26, 1
/* 801CCCE8 001C9C48 40 82 00 08 */ bne lbl_801CCCF0
/* 801CCCEC 001C9C4C 7F DA F3 78 */ mr r26, r30
lbl_801CCCF0:
/* 801CCCF0 001C9C50 88 1B 00 14 */ lbz r0, 0x14(r27)
/* 801CCCF4 001C9C54 38 60 00 00 */ li r3, 0
/* 801CCCF8 001C9C58 50 60 3E 30 */ rlwimi r0, r3, 7, 0x18, 0x18
/* 801CCCFC 001C9C5C 3B 3C 00 3C */ addi r25, r28, 0x3c
/* 801CCD00 001C9C60 98 1B 00 14 */ stb r0, 0x14(r27)
/* 801CCD04 001C9C64 38 61 00 18 */ addi r3, r1, 0x18
/* 801CCD08 001C9C68 48 11 63 75 */ bl NoParameter__12CPASAnimParmFv
/* 801CCD0C 001C9C6C 38 61 00 20 */ addi r3, r1, 0x20
/* 801CCD10 001C9C70 48 11 63 6D */ bl NoParameter__12CPASAnimParmFv
/* 801CCD14 001C9C74 38 61 00 28 */ addi r3, r1, 0x28
/* 801CCD18 001C9C78 48 11 63 65 */ bl NoParameter__12CPASAnimParmFv
/* 801CCD1C 001C9C7C 38 61 00 30 */ addi r3, r1, 0x30
/* 801CCD20 001C9C80 48 11 63 5D */ bl NoParameter__12CPASAnimParmFv
/* 801CCD24 001C9C84 38 61 00 38 */ addi r3, r1, 0x38
/* 801CCD28 001C9C88 48 11 63 55 */ bl NoParameter__12CPASAnimParmFv
/* 801CCD2C 001C9C8C 7F 44 D3 78 */ mr r4, r26
/* 801CCD30 001C9C90 38 61 00 40 */ addi r3, r1, 0x40
/* 801CCD34 001C9C94 48 11 62 51 */ bl FromEnum__12CPASAnimParmFi
/* 801CCD38 001C9C98 7F 04 C3 78 */ mr r4, r24
/* 801CCD3C 001C9C9C 38 61 00 48 */ addi r3, r1, 0x48
/* 801CCD40 001C9CA0 48 11 63 0D */ bl FromInt32__12CPASAnimParmFi
/* 801CCD44 001C9CA4 7F A4 EB 78 */ mr r4, r29
/* 801CCD48 001C9CA8 38 61 00 50 */ addi r3, r1, 0x50
/* 801CCD4C 001C9CAC 48 11 63 01 */ bl FromInt32__12CPASAnimParmFi
/* 801CCD50 001C9CB0 38 61 00 20 */ addi r3, r1, 0x20
/* 801CCD54 001C9CB4 38 01 00 18 */ addi r0, r1, 0x18
/* 801CCD58 001C9CB8 90 61 00 08 */ stw r3, 8(r1)
/* 801CCD5C 001C9CBC 38 61 00 90 */ addi r3, r1, 0x90
/* 801CCD60 001C9CC0 38 A1 00 50 */ addi r5, r1, 0x50
/* 801CCD64 001C9CC4 38 C1 00 48 */ addi r6, r1, 0x48
/* 801CCD68 001C9CC8 90 01 00 0C */ stw r0, 0xc(r1)
/* 801CCD6C 001C9CCC 38 E1 00 40 */ addi r7, r1, 0x40
/* 801CCD70 001C9CD0 39 01 00 38 */ addi r8, r1, 0x38
/* 801CCD74 001C9CD4 39 21 00 30 */ addi r9, r1, 0x30
/* 801CCD78 001C9CD8 39 41 00 28 */ addi r10, r1, 0x28
/* 801CCD7C 001C9CDC 38 80 00 03 */ li r4, 3
/* 801CCD80 001C9CE0 4B EB 05 45 */ bl __ct__16CPASAnimParmDataFiRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParmRC12CPASAnimParm
/* 801CCD84 001C9CE4 80 DF 09 00 */ lwz r6, 0x900(r31)
/* 801CCD88 001C9CE8 7F 24 CB 78 */ mr r4, r25
/* 801CCD8C 001C9CEC 38 61 00 58 */ addi r3, r1, 0x58
/* 801CCD90 001C9CF0 38 A1 00 90 */ addi r5, r1, 0x90
/* 801CCD94 001C9CF4 38 E0 FF FF */ li r7, -1
/* 801CCD98 001C9CF8 48 11 82 C9 */ bl FindBestAnimation__12CPASDatabaseCFRC16CPASAnimParmDataR9CRandom16i
/* 801CCD9C 001C9CFC 34 A1 00 94 */ addic. r5, r1, 0x94
/* 801CCDA0 001C9D00 83 E1 00 5C */ lwz r31, 0x5c(r1)
/* 801CCDA4 001C9D04 41 82 00 58 */ beq lbl_801CCDFC
/* 801CCDA8 001C9D08 80 C5 00 00 */ lwz r6, 0(r5)
/* 801CCDAC 001C9D0C 38 60 00 00 */ li r3, 0
/* 801CCDB0 001C9D10 2C 06 00 00 */ cmpwi r6, 0
/* 801CCDB4 001C9D14 40 81 00 40 */ ble lbl_801CCDF4
/* 801CCDB8 001C9D18 2C 06 00 08 */ cmpwi r6, 8
/* 801CCDBC 001C9D1C 38 86 FF F8 */ addi r4, r6, -8
/* 801CCDC0 001C9D20 40 81 00 20 */ ble lbl_801CCDE0
/* 801CCDC4 001C9D24 38 04 00 07 */ addi r0, r4, 7
/* 801CCDC8 001C9D28 54 00 E8 FE */ srwi r0, r0, 3
/* 801CCDCC 001C9D2C 7C 09 03 A6 */ mtctr r0
/* 801CCDD0 001C9D30 2C 04 00 00 */ cmpwi r4, 0
/* 801CCDD4 001C9D34 40 81 00 0C */ ble lbl_801CCDE0
lbl_801CCDD8:
/* 801CCDD8 001C9D38 38 63 00 08 */ addi r3, r3, 8
/* 801CCDDC 001C9D3C 42 00 FF FC */ bdnz lbl_801CCDD8
lbl_801CCDE0:
/* 801CCDE0 001C9D40 7C 03 30 50 */ subf r0, r3, r6
/* 801CCDE4 001C9D44 7C 09 03 A6 */ mtctr r0
/* 801CCDE8 001C9D48 7C 03 30 00 */ cmpw r3, r6
/* 801CCDEC 001C9D4C 40 80 00 08 */ bge lbl_801CCDF4
lbl_801CCDF0:
/* 801CCDF0 001C9D50 42 00 00 00 */ bdnz lbl_801CCDF0
lbl_801CCDF4:
/* 801CCDF4 001C9D54 38 00 00 00 */ li r0, 0
/* 801CCDF8 001C9D58 90 05 00 00 */ stw r0, 0(r5)
lbl_801CCDFC:
/* 801CCDFC 001C9D5C 7F 23 CB 78 */ mr r3, r25
/* 801CCE00 001C9D60 38 80 00 03 */ li r4, 3
/* 801CCE04 001C9D64 48 11 80 C1 */ bl GetAnimState__12CPASDatabaseCFi
/* 801CCE08 001C9D68 7C 64 1B 78 */ mr r4, r3
/* 801CCE0C 001C9D6C 7F E5 FB 78 */ mr r5, r31
/* 801CCE10 001C9D70 38 61 00 10 */ addi r3, r1, 0x10
/* 801CCE14 001C9D74 38 C0 00 01 */ li r6, 1
/* 801CCE18 001C9D78 48 11 71 DD */ bl GetAnimParmData__13CPASAnimStateCFiUi
/* 801CCE1C 001C9D7C 80 81 00 10 */ lwz r4, 0x10(r1)
/* 801CCE20 001C9D80 38 61 00 60 */ addi r3, r1, 0x60
/* 801CCE24 001C9D84 80 01 00 14 */ lwz r0, 0x14(r1)
/* 801CCE28 001C9D88 90 81 00 60 */ stw r4, 0x60(r1)
/* 801CCE2C 001C9D8C 90 01 00 64 */ stw r0, 0x64(r1)
/* 801CCE30 001C9D90 93 BB 00 0C */ stw r29, 0xc(r27)
/* 801CCE34 001C9D94 48 11 61 49 */ bl GetInt32Value__12CPASAnimParmCFv
/* 801CCE38 001C9D98 C0 02 AB 80 */ lfs f0, lbl_805AC8A0@sda21(r2)
/* 801CCE3C 001C9D9C 90 7B 00 10 */ stw r3, 0x10(r27)
/* 801CCE40 001C9DA0 FC 00 F8 00 */ fcmpu cr0, f0, f31
/* 801CCE44 001C9DA4 93 5B 00 08 */ stw r26, 8(r27)
/* 801CCE48 001C9DA8 41 82 00 10 */ beq lbl_801CCE58
/* 801CCE4C 001C9DAC D3 FB 00 00 */ stfs f31, 0(r27)
/* 801CCE50 001C9DB0 93 FB 00 04 */ stw r31, 4(r27)
/* 801CCE54 001C9DB4 48 00 00 6C */ b lbl_801CCEC0
lbl_801CCE58:
/* 801CCE58 001C9DB8 20 7E 00 01 */ subfic r3, r30, 1
/* 801CCE5C 001C9DBC 88 1C 02 20 */ lbz r0, 0x220(r28)
/* 801CCE60 001C9DC0 7C 63 00 34 */ cntlzw r3, r3
/* 801CCE64 001C9DC4 39 00 00 01 */ li r8, 1
/* 801CCE68 001C9DC8 50 60 0E 72 */ rlwimi r0, r3, 1, 0x19, 0x19
/* 801CCE6C 001C9DCC C0 02 AB 84 */ lfs f0, lbl_805AC8A4@sda21(r2)
/* 801CCE70 001C9DD0 98 1C 02 20 */ stb r0, 0x220(r28)
/* 801CCE74 001C9DD4 38 C0 FF FF */ li r6, -1
/* 801CCE78 001C9DD8 38 00 00 00 */ li r0, 0
/* 801CCE7C 001C9DDC 7F 83 E3 78 */ mr r3, r28
/* 801CCE80 001C9DE0 88 FC 02 20 */ lbz r7, 0x220(r28)
/* 801CCE84 001C9DE4 51 07 3E 30 */ rlwimi r7, r8, 7, 0x18, 0x18
/* 801CCE88 001C9DE8 38 81 00 68 */ addi r4, r1, 0x68
/* 801CCE8C 001C9DEC 38 A0 00 00 */ li r5, 0
/* 801CCE90 001C9DF0 98 FC 02 20 */ stb r7, 0x220(r28)
/* 801CCE94 001C9DF4 93 E1 00 68 */ stw r31, 0x68(r1)
/* 801CCE98 001C9DF8 90 C1 00 6C */ stw r6, 0x6c(r1)
/* 801CCE9C 001C9DFC D0 01 00 70 */ stfs f0, 0x70(r1)
/* 801CCEA0 001C9E00 99 01 00 74 */ stb r8, 0x74(r1)
/* 801CCEA4 001C9E04 90 01 00 78 */ stw r0, 0x78(r1)
/* 801CCEA8 001C9E08 90 01 00 7C */ stw r0, 0x7c(r1)
/* 801CCEAC 001C9E0C 98 01 00 80 */ stb r0, 0x80(r1)
/* 801CCEB0 001C9E10 90 01 00 84 */ stw r0, 0x84(r1)
/* 801CCEB4 001C9E14 90 01 00 88 */ stw r0, 0x88(r1)
/* 801CCEB8 001C9E18 90 01 00 8C */ stw r0, 0x8c(r1)
/* 801CCEBC 001C9E1C 4B E5 FE C1 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
lbl_801CCEC0:
/* 801CCEC0 001C9E20 7F E3 FB 78 */ mr r3, r31
/* 801CCEC4 001C9E24 E3 E1 01 08 */ psq_l f31, 264(r1), 0, qr0
/* 801CCEC8 001C9E28 CB E1 01 00 */ lfd f31, 0x100(r1)
/* 801CCECC 001C9E2C BB 01 00 E0 */ lmw r24, 0xe0(r1)
/* 801CCED0 001C9E30 80 01 01 14 */ lwz r0, 0x114(r1)
/* 801CCED4 001C9E34 7C 08 03 A6 */ mtlr r0
/* 801CCED8 001C9E38 38 21 01 10 */ addi r1, r1, 0x110
/* 801CCEDC 001C9E3C 4E 80 00 20 */ blr
.global Update__11CGSFreeLookFR9CAnimDatafR13CStateManager
Update__11CGSFreeLookFR9CAnimDatafR13CStateManager:
/* 801CCEE0 001C9E40 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 801CCEE4 001C9E44 7C 08 02 A6 */ mflr r0
/* 801CCEE8 001C9E48 90 01 00 54 */ stw r0, 0x54(r1)
/* 801CCEEC 001C9E4C 93 E1 00 4C */ stw r31, 0x4c(r1)
/* 801CCEF0 001C9E50 7C 9F 23 78 */ mr r31, r4
/* 801CCEF4 001C9E54 93 C1 00 48 */ stw r30, 0x48(r1)
/* 801CCEF8 001C9E58 7C 7E 1B 78 */ mr r30, r3
/* 801CCEFC 001C9E5C 93 A1 00 44 */ stw r29, 0x44(r1)
/* 801CCF00 001C9E60 93 81 00 40 */ stw r28, 0x40(r1)
/* 801CCF04 001C9E64 7C BC 2B 78 */ mr r28, r5
/* 801CCF08 001C9E68 80 03 00 04 */ lwz r0, 4(r3)
/* 801CCF0C 001C9E6C 2C 00 FF FF */ cmpwi r0, -1
/* 801CCF10 001C9E70 41 82 00 AC */ beq lbl_801CCFBC
/* 801CCF14 001C9E74 C0 5E 00 00 */ lfs f2, 0(r30)
/* 801CCF18 001C9E78 C0 02 AB 80 */ lfs f0, lbl_805AC8A0@sda21(r2)
/* 801CCF1C 001C9E7C EC 22 08 28 */ fsubs f1, f2, f1
/* 801CCF20 001C9E80 D0 3E 00 00 */ stfs f1, 0(r30)
/* 801CCF24 001C9E84 C0 3E 00 00 */ lfs f1, 0(r30)
/* 801CCF28 001C9E88 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 801CCF2C 001C9E8C 4C 40 13 82 */ cror 2, 0, 2
/* 801CCF30 001C9E90 40 82 01 1C */ bne lbl_801CD04C
/* 801CCF34 001C9E94 80 1E 00 08 */ lwz r0, 8(r30)
/* 801CCF38 001C9E98 39 00 00 01 */ li r8, 1
/* 801CCF3C 001C9E9C 88 9F 02 20 */ lbz r4, 0x220(r31)
/* 801CCF40 001C9EA0 38 C0 FF FF */ li r6, -1
/* 801CCF44 001C9EA4 20 00 00 01 */ subfic r0, r0, 1
/* 801CCF48 001C9EA8 C0 02 AB 84 */ lfs f0, lbl_805AC8A4@sda21(r2)
/* 801CCF4C 001C9EAC 7C 03 00 34 */ cntlzw r3, r0
/* 801CCF50 001C9EB0 54 65 DE 3E */ rlwinm r5, r3, 0x1b, 0x18, 0x1f
/* 801CCF54 001C9EB4 38 00 00 00 */ li r0, 0
/* 801CCF58 001C9EB8 50 A4 36 72 */ rlwimi r4, r5, 6, 0x19, 0x19
/* 801CCF5C 001C9EBC 7F E3 FB 78 */ mr r3, r31
/* 801CCF60 001C9EC0 98 9F 02 20 */ stb r4, 0x220(r31)
/* 801CCF64 001C9EC4 38 81 00 18 */ addi r4, r1, 0x18
/* 801CCF68 001C9EC8 38 A0 00 00 */ li r5, 0
/* 801CCF6C 001C9ECC 88 FF 02 20 */ lbz r7, 0x220(r31)
/* 801CCF70 001C9ED0 51 07 3E 30 */ rlwimi r7, r8, 7, 0x18, 0x18
/* 801CCF74 001C9ED4 98 FF 02 20 */ stb r7, 0x220(r31)
/* 801CCF78 001C9ED8 80 FE 00 04 */ lwz r7, 4(r30)
/* 801CCF7C 001C9EDC 90 E1 00 18 */ stw r7, 0x18(r1)
/* 801CCF80 001C9EE0 90 C1 00 1C */ stw r6, 0x1c(r1)
/* 801CCF84 001C9EE4 D0 01 00 20 */ stfs f0, 0x20(r1)
/* 801CCF88 001C9EE8 99 01 00 24 */ stb r8, 0x24(r1)
/* 801CCF8C 001C9EEC 90 01 00 28 */ stw r0, 0x28(r1)
/* 801CCF90 001C9EF0 90 01 00 2C */ stw r0, 0x2c(r1)
/* 801CCF94 001C9EF4 98 01 00 30 */ stb r0, 0x30(r1)
/* 801CCF98 001C9EF8 90 01 00 34 */ stw r0, 0x34(r1)
/* 801CCF9C 001C9EFC 90 01 00 38 */ stw r0, 0x38(r1)
/* 801CCFA0 001C9F00 90 01 00 3C */ stw r0, 0x3c(r1)
/* 801CCFA4 001C9F04 4B E5 FD D9 */ bl SetAnimation__9CAnimDataFRC18CAnimPlaybackParmsb
/* 801CCFA8 001C9F08 C0 02 AB 80 */ lfs f0, lbl_805AC8A0@sda21(r2)
/* 801CCFAC 001C9F0C 38 00 FF FF */ li r0, -1
/* 801CCFB0 001C9F10 D0 1E 00 00 */ stfs f0, 0(r30)
/* 801CCFB4 001C9F14 90 1E 00 04 */ stw r0, 4(r30)
/* 801CCFB8 001C9F18 48 00 00 94 */ b lbl_801CD04C
lbl_801CCFBC:
/* 801CCFBC 001C9F1C 3C 80 80 3D */ lis r4, lbl_803D1AB8@ha
/* 801CCFC0 001C9F20 38 61 00 08 */ addi r3, r1, 8
/* 801CCFC4 001C9F24 38 84 1A B8 */ addi r4, r4, lbl_803D1AB8@l
/* 801CCFC8 001C9F28 4B E3 7C F1 */ bl string_l__4rstlFPCc
/* 801CCFCC 001C9F2C C0 22 AB 88 */ lfs f1, lbl_805AC8A8@sda21(r2)
/* 801CCFD0 001C9F30 7F E3 FB 78 */ mr r3, r31
/* 801CCFD4 001C9F34 38 81 00 08 */ addi r4, r1, 8
/* 801CCFD8 001C9F38 4B E5 F4 15 */ bl "IsAnimTimeRemaining__9CAnimDataCFfRCQ24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>"
/* 801CCFDC 001C9F3C 7C 7D 1B 78 */ mr r29, r3
/* 801CCFE0 001C9F40 38 61 00 08 */ addi r3, r1, 8
/* 801CCFE4 001C9F44 48 17 0A FD */ bl "internal_dereference__Q24rstl66basic_string<c,Q24rstl14char_traits<c>,Q24rstl17rmemory_allocator>Fv"
/* 801CCFE8 001C9F48 57 A0 06 3F */ clrlwi. r0, r29, 0x18
/* 801CCFEC 001C9F4C 40 82 00 60 */ bne lbl_801CD04C
/* 801CCFF0 001C9F50 80 1E 00 08 */ lwz r0, 8(r30)
/* 801CCFF4 001C9F54 2C 00 00 01 */ cmpwi r0, 1
/* 801CCFF8 001C9F58 41 82 00 54 */ beq lbl_801CD04C
/* 801CCFFC 001C9F5C 40 80 00 10 */ bge lbl_801CD00C
/* 801CD000 001C9F60 2C 00 00 00 */ cmpwi r0, 0
/* 801CD004 001C9F64 40 80 00 14 */ bge lbl_801CD018
/* 801CD008 001C9F68 48 00 00 44 */ b lbl_801CD04C
lbl_801CD00C:
/* 801CD00C 001C9F6C 2C 00 00 03 */ cmpwi r0, 3
/* 801CD010 001C9F70 40 80 00 3C */ bge lbl_801CD04C
/* 801CD014 001C9F74 48 00 00 28 */ b lbl_801CD03C
lbl_801CD018:
/* 801CD018 001C9F78 80 BE 00 0C */ lwz r5, 0xc(r30)
/* 801CD01C 001C9F7C 7F C3 F3 78 */ mr r3, r30
/* 801CD020 001C9F80 80 DE 00 10 */ lwz r6, 0x10(r30)
/* 801CD024 001C9F84 7F E4 FB 78 */ mr r4, r31
/* 801CD028 001C9F88 C0 22 AB 80 */ lfs f1, lbl_805AC8A0@sda21(r2)
/* 801CD02C 001C9F8C 7F 88 E3 78 */ mr r8, r28
/* 801CD030 001C9F90 38 E0 00 01 */ li r7, 1
/* 801CD034 001C9F94 4B FF FC 75 */ bl SetAnim__11CGSFreeLookFR9CAnimDataiiiR13CStateManagerf
/* 801CD038 001C9F98 48 00 00 14 */ b lbl_801CD04C
lbl_801CD03C:
/* 801CD03C 001C9F9C 38 00 FF FF */ li r0, -1
/* 801CD040 001C9FA0 38 60 00 01 */ li r3, 1
/* 801CD044 001C9FA4 90 1E 00 08 */ stw r0, 8(r30)
/* 801CD048 001C9FA8 48 00 00 08 */ b lbl_801CD050
lbl_801CD04C:
/* 801CD04C 001C9FAC 38 60 00 00 */ li r3, 0
lbl_801CD050:
/* 801CD050 001C9FB0 80 01 00 54 */ lwz r0, 0x54(r1)
/* 801CD054 001C9FB4 83 E1 00 4C */ lwz r31, 0x4c(r1)
/* 801CD058 001C9FB8 83 C1 00 48 */ lwz r30, 0x48(r1)
/* 801CD05C 001C9FBC 83 A1 00 44 */ lwz r29, 0x44(r1)
/* 801CD060 001C9FC0 83 81 00 40 */ lwz r28, 0x40(r1)
/* 801CD064 001C9FC4 7C 08 03 A6 */ mtlr r0
/* 801CD068 001C9FC8 38 21 00 50 */ addi r1, r1, 0x50
/* 801CD06C 001C9FCC 4E 80 00 20 */ blr
.global __ct__11CGSFreeLookFv
__ct__11CGSFreeLookFv:
/* 801CD070 001C9FD0 C0 02 AB 80 */ lfs f0, lbl_805AC8A0@sda21(r2)
/* 801CD074 001C9FD4 38 00 FF FF */ li r0, -1
/* 801CD078 001C9FD8 38 80 00 00 */ li r4, 0
/* 801CD07C 001C9FDC D0 03 00 00 */ stfs f0, 0(r3)
/* 801CD080 001C9FE0 90 03 00 04 */ stw r0, 4(r3)
/* 801CD084 001C9FE4 90 03 00 08 */ stw r0, 8(r3)
/* 801CD088 001C9FE8 90 83 00 0C */ stw r4, 0xc(r3)
/* 801CD08C 001C9FEC 90 03 00 10 */ stw r0, 0x10(r3)
/* 801CD090 001C9FF0 88 03 00 14 */ lbz r0, 0x14(r3)
/* 801CD094 001C9FF4 50 80 3E 30 */ rlwimi r0, r4, 7, 0x18, 0x18
/* 801CD098 001C9FF8 98 03 00 14 */ stb r0, 0x14(r3)
/* 801CD09C 001C9FFC 4E 80 00 20 */ blr