donut-decomp/asm/libnw4r_ef/ef_effect.s

957 lines
44 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __ct__Q34nw4r2ef6EffectFv
__ct__Q34nw4r2ef6EffectFv:
/* 800A3A70 0009F8B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A3A74 0009F8B4 7C 08 02 A6 */ mflr r0
/* 800A3A78 0009F8B8 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef6Effect@ha
/* 800A3A7C 0009F8BC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A3A80 0009F8C0 38 84 00 78 */ addi r4, r4, __vt__Q34nw4r2ef6Effect@l
/* 800A3A84 0009F8C4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A3A88 0009F8C8 7C 7F 1B 78 */ mr r31, r3
/* 800A3A8C 0009F8CC 90 83 00 1C */ stw r4, 0x1c(r3)
/* 800A3A90 0009F8D0 38 80 00 14 */ li r4, 0x14
/* 800A3A94 0009F8D4 38 63 00 24 */ addi r3, r3, 0x24
/* 800A3A98 0009F8D8 4B FF FD 99 */ bl MEMInitList
/* 800A3A9C 0009F8DC 38 7F 00 30 */ addi r3, r31, 0x30
/* 800A3AA0 0009F8E0 38 80 00 14 */ li r4, 0x14
/* 800A3AA4 0009F8E4 4B FF FD 8D */ bl MEMInitList
/* 800A3AA8 0009F8E8 38 00 00 00 */ li r0, 0x0
/* 800A3AAC 0009F8EC B0 1F 00 3C */ sth r0, 0x3c(r31)
/* 800A3AB0 0009F8F0 38 7F 00 90 */ addi r3, r31, 0x90
/* 800A3AB4 0009F8F4 38 80 00 30 */ li r4, 0x30
/* 800A3AB8 0009F8F8 4B FF FD 79 */ bl MEMInitList
/* 800A3ABC 0009F8FC 7F E3 FB 78 */ mr r3, r31
/* 800A3AC0 0009F900 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A3AC4 0009F904 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A3AC8 0009F908 7C 08 03 A6 */ mtlr r0
/* 800A3ACC 0009F90C 38 21 00 10 */ addi r1, r1, 0x10
/* 800A3AD0 0009F910 4E 80 00 20 */ blr
/* 800A3AD4 0009F914 00 00 00 00 */ .4byte 0x00000000
/* 800A3AD8 0009F918 00 00 00 00 */ .4byte 0x00000000
/* 800A3ADC 0009F91C 00 00 00 00 */ .4byte 0x00000000
.global __dt__Q34nw4r2ef6EffectFv
__dt__Q34nw4r2ef6EffectFv:
/* 800A3AE0 0009F920 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A3AE4 0009F924 7C 08 02 A6 */ mflr r0
/* 800A3AE8 0009F928 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3AEC 0009F92C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A3AF0 0009F930 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A3AF4 0009F934 7C 9F 23 78 */ mr r31, r4
/* 800A3AF8 0009F938 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800A3AFC 0009F93C 7C 7E 1B 78 */ mr r30, r3
/* 800A3B00 0009F940 41 82 00 24 */ beq lbl_800A3B24
/* 800A3B04 0009F944 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef6Effect@ha
/* 800A3B08 0009F948 38 84 00 78 */ addi r4, r4, __vt__Q34nw4r2ef6Effect@l
/* 800A3B0C 0009F94C 90 83 00 1C */ stw r4, 0x1c(r3)
/* 800A3B10 0009F950 48 00 04 31 */ bl RetireEmitterAll__Q34nw4r2ef6EffectFv
/* 800A3B14 0009F954 2C 1F 00 00 */ cmpwi r31, 0x0
/* 800A3B18 0009F958 40 81 00 0C */ ble lbl_800A3B24
/* 800A3B1C 0009F95C 7F C3 F3 78 */ mr r3, r30
/* 800A3B20 0009F960 48 11 BB F5 */ bl __dl__FPv
.global lbl_800A3B24
lbl_800A3B24:
/* 800A3B24 0009F964 7F C3 F3 78 */ mr r3, r30
/* 800A3B28 0009F968 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A3B2C 0009F96C 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800A3B30 0009F970 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A3B34 0009F974 7C 08 03 A6 */ mtlr r0
/* 800A3B38 0009F978 38 21 00 10 */ addi r1, r1, 0x10
/* 800A3B3C 0009F97C 4E 80 00 20 */ blr
.global Initialize__Q34nw4r2ef6EffectFPQ34nw4r2ef12EffectSystemPQ34nw4r2ef15EmitterResourceUs
Initialize__Q34nw4r2ef6EffectFPQ34nw4r2ef12EffectSystemPQ34nw4r2ef15EmitterResourceUs:
/* 800A3B40 0009F980 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A3B44 0009F984 7C 08 02 A6 */ mflr r0
/* 800A3B48 0009F988 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A3B4C 0009F98C 39 61 00 20 */ addi r11, r1, 0x20
/* 800A3B50 0009F990 4B F6 37 E9 */ bl lbl_80007338
/* 800A3B54 0009F994 3B C0 00 00 */ li r30, 0x0
/* 800A3B58 0009F998 3B E0 00 01 */ li r31, 0x1
/* 800A3B5C 0009F99C 93 C3 00 10 */ stw r30, 0x10(r3)
/* 800A3B60 0009F9A0 7C 7A 1B 78 */ mr r26, r3
/* 800A3B64 0009F9A4 7C 9B 23 78 */ mr r27, r4
/* 800A3B68 0009F9A8 7C BC 2B 78 */ mr r28, r5
/* 800A3B6C 0009F9AC 93 E3 00 0C */ stw r31, 0xc(r3)
/* 800A3B70 0009F9B0 7C DD 33 78 */ mr r29, r6
/* 800A3B74 0009F9B4 93 C3 00 24 */ stw r30, 0x24(r3)
/* 800A3B78 0009F9B8 B3 C3 00 2C */ sth r30, 0x2c(r3)
/* 800A3B7C 0009F9BC 93 C3 00 28 */ stw r30, 0x28(r3)
/* 800A3B80 0009F9C0 93 C3 00 30 */ stw r30, 0x30(r3)
/* 800A3B84 0009F9C4 B3 C3 00 38 */ sth r30, 0x38(r3)
/* 800A3B88 0009F9C8 93 C3 00 34 */ stw r30, 0x34(r3)
/* 800A3B8C 0009F9CC B3 C3 00 3C */ sth r30, 0x3c(r3)
/* 800A3B90 0009F9D0 80 04 00 04 */ lwz r0, 0x4(r4)
/* 800A3B94 0009F9D4 90 03 00 9C */ stw r0, 0x9c(r3)
/* 800A3B98 0009F9D8 38 63 00 54 */ addi r3, r3, 0x54
/* 800A3B9C 0009F9DC 4B F8 C9 45 */ bl PSMTXIdentity
/* 800A3BA0 0009F9E0 C0 02 89 F0 */ lfs f0, "@8467"@sda21(r2)
/* 800A3BA4 0009F9E4 93 7A 00 20 */ stw r27, 0x20(r26)
/* 800A3BA8 0009F9E8 93 DA 00 44 */ stw r30, 0x44(r26)
/* 800A3BAC 0009F9EC 93 DA 00 48 */ stw r30, 0x48(r26)
/* 800A3BB0 0009F9F0 93 DA 00 4C */ stw r30, 0x4c(r26)
/* 800A3BB4 0009F9F4 93 DA 00 50 */ stw r30, 0x50(r26)
/* 800A3BB8 0009F9F8 D0 1A 00 84 */ stfs f0, 0x84(r26)
/* 800A3BBC 0009F9FC D0 1A 00 88 */ stfs f0, 0x88(r26)
/* 800A3BC0 0009FA00 D0 1A 00 8C */ stfs f0, 0x8c(r26)
/* 800A3BC4 0009FA04 80 7B 00 00 */ lwz r3, 0x0(r27)
/* 800A3BC8 0009FA08 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A3BCC 0009FA0C 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A3BD0 0009FA10 7D 89 03 A6 */ mtctr r12
/* 800A3BD4 0009FA14 4E 80 04 21 */ bctrl
/* 800A3BD8 0009FA18 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3BDC 0009FA1C 7C 7E 1B 78 */ mr r30, r3
/* 800A3BE0 0009FA20 40 82 00 0C */ bne lbl_800A3BEC
/* 800A3BE4 0009FA24 38 60 00 00 */ li r3, 0x0
/* 800A3BE8 0009FA28 48 00 00 74 */ b lbl_800A3C5C
.global lbl_800A3BEC
lbl_800A3BEC:
/* 800A3BEC 0009FA2C 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A3BF0 0009FA30 7F 44 D3 78 */ mr r4, r26
/* 800A3BF4 0009FA34 7F 85 E3 78 */ mr r5, r28
/* 800A3BF8 0009FA38 38 C0 00 80 */ li r6, 0x80
/* 800A3BFC 0009FA3C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A3C00 0009FA40 7D 89 03 A6 */ mtctr r12
/* 800A3C04 0009FA44 4E 80 04 21 */ bctrl
/* 800A3C08 0009FA48 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3C0C 0009FA4C 40 82 00 24 */ bne lbl_800A3C30
/* 800A3C10 0009FA50 80 7B 00 00 */ lwz r3, 0x0(r27)
/* 800A3C14 0009FA54 7F C4 F3 78 */ mr r4, r30
/* 800A3C18 0009FA58 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A3C1C 0009FA5C 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 800A3C20 0009FA60 7D 89 03 A6 */ mtctr r12
/* 800A3C24 0009FA64 4E 80 04 21 */ bctrl
/* 800A3C28 0009FA68 38 60 00 00 */ li r3, 0x0
/* 800A3C2C 0009FA6C 48 00 00 30 */ b lbl_800A3C5C
.global lbl_800A3C30
lbl_800A3C30:
/* 800A3C30 0009FA70 7F C4 F3 78 */ mr r4, r30
/* 800A3C34 0009FA74 38 7A 00 24 */ addi r3, r26, 0x24
/* 800A3C38 0009FA78 4B FF FC 19 */ bl MEMAppendListObject
/* 800A3C3C 0009FA7C A0 9A 00 3C */ lhz r4, 0x3c(r26)
/* 800A3C40 0009FA80 38 60 00 01 */ li r3, 0x1
/* 800A3C44 0009FA84 38 04 00 01 */ addi r0, r4, 0x1
/* 800A3C48 0009FA88 B0 1A 00 3C */ sth r0, 0x3c(r26)
/* 800A3C4C 0009FA8C 93 FE 00 0C */ stw r31, 0xc(r30)
/* 800A3C50 0009FA90 A0 1E 00 E8 */ lhz r0, 0xe8(r30)
/* 800A3C54 0009FA94 7C 00 EA 14 */ add r0, r0, r29
/* 800A3C58 0009FA98 B0 1E 00 E8 */ sth r0, 0xe8(r30)
.global lbl_800A3C5C
lbl_800A3C5C:
/* 800A3C5C 0009FA9C 39 61 00 20 */ addi r11, r1, 0x20
/* 800A3C60 0009FAA0 4B F6 37 25 */ bl lbl_80007384
/* 800A3C64 0009FAA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A3C68 0009FAA8 7C 08 03 A6 */ mtlr r0
/* 800A3C6C 0009FAAC 38 21 00 20 */ addi r1, r1, 0x20
/* 800A3C70 0009FAB0 4E 80 00 20 */ blr
/* 800A3C74 0009FAB4 00 00 00 00 */ .4byte 0x00000000
/* 800A3C78 0009FAB8 00 00 00 00 */ .4byte 0x00000000
/* 800A3C7C 0009FABC 00 00 00 00 */ .4byte 0x00000000
.global SendClosing__Q34nw4r2ef6EffectFv
SendClosing__Q34nw4r2ef6EffectFv:
/* 800A3C80 0009FAC0 7C 64 1B 78 */ mr r4, r3
/* 800A3C84 0009FAC4 80 63 00 20 */ lwz r3, 0x20(r3)
/* 800A3C88 0009FAC8 48 00 0B E8 */ b Closing__Q34nw4r2ef12EffectSystemFPQ34nw4r2ef6Effect
/* 800A3C8C 0009FACC 00 00 00 00 */ .4byte 0x00000000
.global DestroyFunc__Q34nw4r2ef6EffectFv
DestroyFunc__Q34nw4r2ef6EffectFv:
/* 800A3C90 0009FAD0 48 00 02 B0 */ b RetireEmitterAll__Q34nw4r2ef6EffectFv
/* 800A3C94 0009FAD4 00 00 00 00 */ .4byte 0x00000000
/* 800A3C98 0009FAD8 00 00 00 00 */ .4byte 0x00000000
/* 800A3C9C 0009FADC 00 00 00 00 */ .4byte 0x00000000
.global Closing__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
Closing__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter:
/* 800A3CA0 0009FAE0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A3CA4 0009FAE4 7C 08 02 A6 */ mflr r0
/* 800A3CA8 0009FAE8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A3CAC 0009FAEC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A3CB0 0009FAF0 7C 9F 23 78 */ mr r31, r4
/* 800A3CB4 0009FAF4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800A3CB8 0009FAF8 7C 7E 1B 78 */ mr r30, r3
/* 800A3CBC 0009FAFC 80 A4 00 F4 */ lwz r5, 0xf4(r4)
/* 800A3CC0 0009FB00 2C 05 00 00 */ cmpwi r5, 0x0
/* 800A3CC4 0009FB04 41 82 00 34 */ beq lbl_800A3CF8
/* 800A3CC8 0009FB08 80 05 00 10 */ lwz r0, 0x10(r5)
/* 800A3CCC 0009FB0C 34 00 FF FF */ addic. r0, r0, -0x1
/* 800A3CD0 0009FB10 90 05 00 10 */ stw r0, 0x10(r5)
/* 800A3CD4 0009FB14 40 82 00 24 */ bne lbl_800A3CF8
/* 800A3CD8 0009FB18 80 05 00 0C */ lwz r0, 0xc(r5)
/* 800A3CDC 0009FB1C 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A3CE0 0009FB20 40 82 00 18 */ bne lbl_800A3CF8
/* 800A3CE4 0009FB24 81 85 00 1C */ lwz r12, 0x1c(r5)
/* 800A3CE8 0009FB28 7C A3 2B 78 */ mr r3, r5
/* 800A3CEC 0009FB2C 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A3CF0 0009FB30 7D 89 03 A6 */ mtctr r12
/* 800A3CF4 0009FB34 4E 80 04 21 */ bctrl
.global lbl_800A3CF8
lbl_800A3CF8:
/* 800A3CF8 0009FB38 80 7F 00 F8 */ lwz r3, 0xf8(r31)
/* 800A3CFC 0009FB3C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3D00 0009FB40 41 82 00 38 */ beq lbl_800A3D38
/* 800A3D04 0009FB44 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800A3D08 0009FB48 34 00 FF FF */ addic. r0, r0, -0x1
/* 800A3D0C 0009FB4C 90 03 00 10 */ stw r0, 0x10(r3)
/* 800A3D10 0009FB50 40 82 00 20 */ bne lbl_800A3D30
/* 800A3D14 0009FB54 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A3D18 0009FB58 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A3D1C 0009FB5C 40 82 00 14 */ bne lbl_800A3D30
/* 800A3D20 0009FB60 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A3D24 0009FB64 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A3D28 0009FB68 7D 89 03 A6 */ mtctr r12
/* 800A3D2C 0009FB6C 4E 80 04 21 */ bctrl
.global lbl_800A3D30
lbl_800A3D30:
/* 800A3D30 0009FB70 38 00 00 00 */ li r0, 0x0
/* 800A3D34 0009FB74 90 1F 00 F8 */ stw r0, 0xf8(r31)
.global lbl_800A3D38
lbl_800A3D38:
/* 800A3D38 0009FB78 80 7F 00 BC */ lwz r3, 0xbc(r31)
/* 800A3D3C 0009FB7C 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800A3D40 0009FB80 34 00 FF FF */ addic. r0, r0, -0x1
/* 800A3D44 0009FB84 90 03 00 10 */ stw r0, 0x10(r3)
/* 800A3D48 0009FB88 40 82 00 20 */ bne lbl_800A3D68
/* 800A3D4C 0009FB8C 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A3D50 0009FB90 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A3D54 0009FB94 40 82 00 14 */ bne lbl_800A3D68
/* 800A3D58 0009FB98 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A3D5C 0009FB9C 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A3D60 0009FBA0 7D 89 03 A6 */ mtctr r12
/* 800A3D64 0009FBA4 4E 80 04 21 */ bctrl
.global lbl_800A3D68
lbl_800A3D68:
/* 800A3D68 0009FBA8 7F E4 FB 78 */ mr r4, r31
/* 800A3D6C 0009FBAC 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A3D70 0009FBB0 4B FF FB 51 */ bl MEMRemoveListObject
/* 800A3D74 0009FBB4 7F E4 FB 78 */ mr r4, r31
/* 800A3D78 0009FBB8 38 7E 00 30 */ addi r3, r30, 0x30
/* 800A3D7C 0009FBBC 4B FF FA D5 */ bl MEMAppendListObject
/* 800A3D80 0009FBC0 38 00 00 03 */ li r0, 0x3
/* 800A3D84 0009FBC4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A3D88 0009FBC8 38 60 00 01 */ li r3, 0x1
/* 800A3D8C 0009FBCC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A3D90 0009FBD0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800A3D94 0009FBD4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A3D98 0009FBD8 7C 08 03 A6 */ mtlr r0
/* 800A3D9C 0009FBDC 38 21 00 10 */ addi r1, r1, 0x10
/* 800A3DA0 0009FBE0 4E 80 00 20 */ blr
/* 800A3DA4 0009FBE4 00 00 00 00 */ .4byte 0x00000000
/* 800A3DA8 0009FBE8 00 00 00 00 */ .4byte 0x00000000
/* 800A3DAC 0009FBEC 00 00 00 00 */ .4byte 0x00000000
.global CreateEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef15EmitterResourceUcUs
CreateEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef15EmitterResourceUcUs:
/* 800A3DB0 0009FBF0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A3DB4 0009FBF4 7C 08 02 A6 */ mflr r0
/* 800A3DB8 0009FBF8 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A3DBC 0009FBFC 39 61 00 20 */ addi r11, r1, 0x20
/* 800A3DC0 0009FC00 4B F6 35 7D */ bl lbl_8000733C
/* 800A3DC4 0009FC04 80 04 00 08 */ lwz r0, 0x8(r4)
/* 800A3DC8 0009FC08 7C 7B 1B 78 */ mr r27, r3
/* 800A3DCC 0009FC0C 7C 9C 23 78 */ mr r28, r4
/* 800A3DD0 0009FC10 7C BD 2B 78 */ mr r29, r5
/* 800A3DD4 0009FC14 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
/* 800A3DD8 0009FC18 7C DE 33 78 */ mr r30, r6
/* 800A3DDC 0009FC1C 40 82 00 0C */ bne lbl_800A3DE8
/* 800A3DE0 0009FC20 38 60 00 00 */ li r3, 0x0
/* 800A3DE4 0009FC24 48 00 00 A8 */ b lbl_800A3E8C
.global lbl_800A3DE8
lbl_800A3DE8:
/* 800A3DE8 0009FC28 80 63 00 20 */ lwz r3, 0x20(r3)
/* 800A3DEC 0009FC2C 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A3DF0 0009FC30 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A3DF4 0009FC34 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A3DF8 0009FC38 7D 89 03 A6 */ mtctr r12
/* 800A3DFC 0009FC3C 4E 80 04 21 */ bctrl
/* 800A3E00 0009FC40 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3E04 0009FC44 7C 7F 1B 78 */ mr r31, r3
/* 800A3E08 0009FC48 40 82 00 0C */ bne lbl_800A3E14
/* 800A3E0C 0009FC4C 38 60 00 00 */ li r3, 0x0
/* 800A3E10 0009FC50 48 00 00 7C */ b lbl_800A3E8C
.global lbl_800A3E14
lbl_800A3E14:
/* 800A3E14 0009FC54 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A3E18 0009FC58 7F 64 DB 78 */ mr r4, r27
/* 800A3E1C 0009FC5C 7F 85 E3 78 */ mr r5, r28
/* 800A3E20 0009FC60 7F A6 EB 78 */ mr r6, r29
/* 800A3E24 0009FC64 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A3E28 0009FC68 7D 89 03 A6 */ mtctr r12
/* 800A3E2C 0009FC6C 4E 80 04 21 */ bctrl
/* 800A3E30 0009FC70 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A3E34 0009FC74 40 82 00 28 */ bne lbl_800A3E5C
/* 800A3E38 0009FC78 80 7B 00 20 */ lwz r3, 0x20(r27)
/* 800A3E3C 0009FC7C 7F E4 FB 78 */ mr r4, r31
/* 800A3E40 0009FC80 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A3E44 0009FC84 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A3E48 0009FC88 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 800A3E4C 0009FC8C 7D 89 03 A6 */ mtctr r12
/* 800A3E50 0009FC90 4E 80 04 21 */ bctrl
/* 800A3E54 0009FC94 38 60 00 00 */ li r3, 0x0
/* 800A3E58 0009FC98 48 00 00 34 */ b lbl_800A3E8C
.global lbl_800A3E5C
lbl_800A3E5C:
/* 800A3E5C 0009FC9C 7F E4 FB 78 */ mr r4, r31
/* 800A3E60 0009FCA0 38 7B 00 24 */ addi r3, r27, 0x24
/* 800A3E64 0009FCA4 4B FF F9 ED */ bl MEMAppendListObject
/* 800A3E68 0009FCA8 A0 9B 00 3C */ lhz r4, 0x3c(r27)
/* 800A3E6C 0009FCAC 38 00 00 01 */ li r0, 0x1
/* 800A3E70 0009FCB0 7F E3 FB 78 */ mr r3, r31
/* 800A3E74 0009FCB4 38 84 00 01 */ addi r4, r4, 0x1
/* 800A3E78 0009FCB8 B0 9B 00 3C */ sth r4, 0x3c(r27)
/* 800A3E7C 0009FCBC 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A3E80 0009FCC0 A0 1F 00 E8 */ lhz r0, 0xe8(r31)
/* 800A3E84 0009FCC4 7C 00 F2 14 */ add r0, r0, r30
/* 800A3E88 0009FCC8 B0 1F 00 E8 */ sth r0, 0xe8(r31)
.global lbl_800A3E8C
lbl_800A3E8C:
/* 800A3E8C 0009FCCC 39 61 00 20 */ addi r11, r1, 0x20
/* 800A3E90 0009FCD0 4B F6 34 F9 */ bl lbl_80007388
/* 800A3E94 0009FCD4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A3E98 0009FCD8 7C 08 03 A6 */ mtlr r0
/* 800A3E9C 0009FCDC 38 21 00 20 */ addi r1, r1, 0x20
/* 800A3EA0 0009FCE0 4E 80 00 20 */ blr
/* 800A3EA4 0009FCE4 00 00 00 00 */ .4byte 0x00000000
/* 800A3EA8 0009FCE8 00 00 00 00 */ .4byte 0x00000000
/* 800A3EAC 0009FCEC 00 00 00 00 */ .4byte 0x00000000
.global RetireEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
RetireEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter:
/* 800A3EB0 0009FCF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A3EB4 0009FCF4 7C 08 02 A6 */ mflr r0
/* 800A3EB8 0009FCF8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A3EBC 0009FCFC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A3EC0 0009FD00 7C 9F 23 78 */ mr r31, r4
/* 800A3EC4 0009FD04 80 04 00 0C */ lwz r0, 0xc(r4)
/* 800A3EC8 0009FD08 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A3ECC 0009FD0C 41 82 00 0C */ beq lbl_800A3ED8
/* 800A3ED0 0009FD10 38 60 00 00 */ li r3, 0x0
/* 800A3ED4 0009FD14 48 00 00 50 */ b lbl_800A3F24
.global lbl_800A3ED8
lbl_800A3ED8:
/* 800A3ED8 0009FD18 A0 83 00 3C */ lhz r4, 0x3c(r3)
/* 800A3EDC 0009FD1C 38 04 FF FF */ addi r0, r4, -0x1
/* 800A3EE0 0009FD20 B0 03 00 3C */ sth r0, 0x3c(r3)
/* 800A3EE4 0009FD24 7F E3 FB 78 */ mr r3, r31
/* 800A3EE8 0009FD28 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 800A3EEC 0009FD2C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800A3EF0 0009FD30 7D 89 03 A6 */ mtctr r12
/* 800A3EF4 0009FD34 4E 80 04 21 */ bctrl
/* 800A3EF8 0009FD38 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 800A3EFC 0009FD3C 38 60 00 02 */ li r3, 0x2
/* 800A3F00 0009FD40 90 7F 00 0C */ stw r3, 0xc(r31)
/* 800A3F04 0009FD44 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A3F08 0009FD48 40 82 00 18 */ bne lbl_800A3F20
/* 800A3F0C 0009FD4C 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 800A3F10 0009FD50 7F E3 FB 78 */ mr r3, r31
/* 800A3F14 0009FD54 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A3F18 0009FD58 7D 89 03 A6 */ mtctr r12
/* 800A3F1C 0009FD5C 4E 80 04 21 */ bctrl
.global lbl_800A3F20
lbl_800A3F20:
/* 800A3F20 0009FD60 38 60 00 01 */ li r3, 0x1
.global lbl_800A3F24
lbl_800A3F24:
/* 800A3F24 0009FD64 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A3F28 0009FD68 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A3F2C 0009FD6C 7C 08 03 A6 */ mtlr r0
/* 800A3F30 0009FD70 38 21 00 10 */ addi r1, r1, 0x10
/* 800A3F34 0009FD74 4E 80 00 20 */ blr
/* 800A3F38 0009FD78 00 00 00 00 */ .4byte 0x00000000
/* 800A3F3C 0009FD7C 00 00 00 00 */ .4byte 0x00000000
.global RetireEmitterAll__Q34nw4r2ef6EffectFv
RetireEmitterAll__Q34nw4r2ef6EffectFv:
/* 800A3F40 0009FD80 94 21 EF D0 */ stwu r1, -0x1030(r1)
/* 800A3F44 0009FD84 7C 08 02 A6 */ mflr r0
/* 800A3F48 0009FD88 90 01 10 34 */ stw r0, 0x1034(r1)
/* 800A3F4C 0009FD8C 39 61 10 30 */ addi r11, r1, 0x1030
/* 800A3F50 0009FD90 4B F6 33 E5 */ bl lbl_80007334
/* 800A3F54 0009FD94 A0 A3 00 2C */ lhz r5, 0x2c(r3)
/* 800A3F58 0009FD98 7C 79 1B 78 */ mr r25, r3
/* 800A3F5C 0009FD9C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A3F60 0009FDA0 3B 80 00 00 */ li r28, 0x0
/* 800A3F64 0009FDA4 38 63 00 24 */ addi r3, r3, 0x24
/* 800A3F68 0009FDA8 48 00 F1 49 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A3F6C 0009FDAC 3B A1 00 08 */ addi r29, r1, 0x8
/* 800A3F70 0009FDB0 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A3F74 0009FDB4 3B 60 00 00 */ li r27, 0x0
/* 800A3F78 0009FDB8 3B C0 00 02 */ li r30, 0x2
/* 800A3F7C 0009FDBC 48 00 00 64 */ b lbl_800A3FE0
.global lbl_800A3F80
lbl_800A3F80:
/* 800A3F80 0009FDC0 57 60 13 BA */ rlwinm r0, r27, 2, 14, 29
/* 800A3F84 0009FDC4 7F 5D 00 2E */ lwzx r26, r29, r0
/* 800A3F88 0009FDC8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 800A3F8C 0009FDCC 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A3F90 0009FDD0 40 82 00 4C */ bne lbl_800A3FDC
/* 800A3F94 0009FDD4 A0 99 00 3C */ lhz r4, 0x3c(r25)
/* 800A3F98 0009FDD8 7F 43 D3 78 */ mr r3, r26
/* 800A3F9C 0009FDDC 38 04 FF FF */ addi r0, r4, -0x1
/* 800A3FA0 0009FDE0 B0 19 00 3C */ sth r0, 0x3c(r25)
/* 800A3FA4 0009FDE4 81 9A 00 1C */ lwz r12, 0x1c(r26)
/* 800A3FA8 0009FDE8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800A3FAC 0009FDEC 7D 89 03 A6 */ mtctr r12
/* 800A3FB0 0009FDF0 4E 80 04 21 */ bctrl
/* 800A3FB4 0009FDF4 93 DA 00 0C */ stw r30, 0xc(r26)
/* 800A3FB8 0009FDF8 80 1A 00 10 */ lwz r0, 0x10(r26)
/* 800A3FBC 0009FDFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A3FC0 0009FE00 40 82 00 18 */ bne lbl_800A3FD8
/* 800A3FC4 0009FE04 81 9A 00 1C */ lwz r12, 0x1c(r26)
/* 800A3FC8 0009FE08 7F 43 D3 78 */ mr r3, r26
/* 800A3FCC 0009FE0C 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A3FD0 0009FE10 7D 89 03 A6 */ mtctr r12
/* 800A3FD4 0009FE14 4E 80 04 21 */ bctrl
.global lbl_800A3FD8
lbl_800A3FD8:
/* 800A3FD8 0009FE18 3B 9C 00 01 */ addi r28, r28, 0x1
.global lbl_800A3FDC
lbl_800A3FDC:
/* 800A3FDC 0009FE1C 3B 7B 00 01 */ addi r27, r27, 0x1
.global lbl_800A3FE0
lbl_800A3FE0:
/* 800A3FE0 0009FE20 57 60 04 3E */ clrlwi r0, r27, 16
/* 800A3FE4 0009FE24 7C 00 F8 40 */ cmplw r0, r31
/* 800A3FE8 0009FE28 41 80 FF 98 */ blt lbl_800A3F80
/* 800A3FEC 0009FE2C 39 61 10 30 */ addi r11, r1, 0x1030
/* 800A3FF0 0009FE30 7F 83 E3 78 */ mr r3, r28
/* 800A3FF4 0009FE34 4B F6 33 8D */ bl lbl_80007380
/* 800A3FF8 0009FE38 80 01 10 34 */ lwz r0, 0x1034(r1)
/* 800A3FFC 0009FE3C 7C 08 03 A6 */ mtlr r0
/* 800A4000 0009FE40 38 21 10 30 */ addi r1, r1, 0x1030
/* 800A4004 0009FE44 4E 80 00 20 */ blr
/* 800A4008 0009FE48 00 00 00 00 */ .4byte 0x00000000
/* 800A400C 0009FE4C 00 00 00 00 */ .4byte 0x00000000
.global RetireParticleAll__Q34nw4r2ef6EffectFv
RetireParticleAll__Q34nw4r2ef6EffectFv:
/* 800A4010 0009FE50 94 21 EF E0 */ stwu r1, -0x1020(r1)
/* 800A4014 0009FE54 7C 08 02 A6 */ mflr r0
/* 800A4018 0009FE58 90 01 10 24 */ stw r0, 0x1024(r1)
/* 800A401C 0009FE5C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A4020 0009FE60 93 E1 10 1C */ stw r31, 0x101c(r1)
/* 800A4024 0009FE64 93 C1 10 18 */ stw r30, 0x1018(r1)
/* 800A4028 0009FE68 93 A1 10 14 */ stw r29, 0x1014(r1)
/* 800A402C 0009FE6C 3B A0 00 00 */ li r29, 0x0
/* 800A4030 0009FE70 93 81 10 10 */ stw r28, 0x1010(r1)
/* 800A4034 0009FE74 A0 A3 00 2C */ lhz r5, 0x2c(r3)
/* 800A4038 0009FE78 38 63 00 24 */ addi r3, r3, 0x24
/* 800A403C 0009FE7C 48 00 F0 75 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A4040 0009FE80 3B C1 00 08 */ addi r30, r1, 0x8
/* 800A4044 0009FE84 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A4048 0009FE88 3B 80 00 00 */ li r28, 0x0
/* 800A404C 0009FE8C 48 00 00 18 */ b lbl_800A4064
.global lbl_800A4050
lbl_800A4050:
/* 800A4050 0009FE90 57 80 13 BA */ rlwinm r0, r28, 2, 14, 29
/* 800A4054 0009FE94 7C 7E 00 2E */ lwzx r3, r30, r0
/* 800A4058 0009FE98 48 00 0D 99 */ bl RetireParticleAll__Q34nw4r2ef7EmitterFv
/* 800A405C 0009FE9C 7F BD 1A 14 */ add r29, r29, r3
/* 800A4060 0009FEA0 3B 9C 00 01 */ addi r28, r28, 0x1
.global lbl_800A4064
lbl_800A4064:
/* 800A4064 0009FEA4 57 80 04 3E */ clrlwi r0, r28, 16
/* 800A4068 0009FEA8 7C 00 F8 40 */ cmplw r0, r31
/* 800A406C 0009FEAC 41 80 FF E4 */ blt lbl_800A4050
/* 800A4070 0009FEB0 83 E1 10 1C */ lwz r31, 0x101c(r1)
/* 800A4074 0009FEB4 7F A3 EB 78 */ mr r3, r29
/* 800A4078 0009FEB8 83 C1 10 18 */ lwz r30, 0x1018(r1)
/* 800A407C 0009FEBC 83 A1 10 14 */ lwz r29, 0x1014(r1)
/* 800A4080 0009FEC0 83 81 10 10 */ lwz r28, 0x1010(r1)
/* 800A4084 0009FEC4 80 01 10 24 */ lwz r0, 0x1024(r1)
/* 800A4088 0009FEC8 7C 08 03 A6 */ mtlr r0
/* 800A408C 0009FECC 38 21 10 20 */ addi r1, r1, 0x1020
/* 800A4090 0009FED0 4E 80 00 20 */ blr
/* 800A4094 0009FED4 00 00 00 00 */ .4byte 0x00000000
/* 800A4098 0009FED8 00 00 00 00 */ .4byte 0x00000000
/* 800A409C 0009FEDC 00 00 00 00 */ .4byte 0x00000000
.global Calc__Q34nw4r2ef6EffectFQ34nw4r2ef10CalcOption
Calc__Q34nw4r2ef6EffectFQ34nw4r2ef10CalcOption:
/* 800A40A0 0009FEE0 94 21 EF B0 */ stwu r1, -0x1050(r1)
/* 800A40A4 0009FEE4 7C 08 02 A6 */ mflr r0
/* 800A40A8 0009FEE8 90 01 10 54 */ stw r0, 0x1054(r1)
/* 800A40AC 0009FEEC 39 61 10 50 */ addi r11, r1, 0x1050
/* 800A40B0 0009FEF0 4B F6 32 89 */ bl lbl_80007338
/* 800A40B4 0009FEF4 54 80 07 FF */ clrlwi. r0, r4, 31
/* 800A40B8 0009FEF8 7C 7E 1B 78 */ mr r30, r3
/* 800A40BC 0009FEFC 41 82 00 60 */ beq lbl_800A411C
/* 800A40C0 0009FF00 3B 80 00 00 */ li r28, 0x0
/* 800A40C4 0009FF04 48 00 00 3C */ b lbl_800A4100
.global lbl_800A40C8
lbl_800A40C8:
/* 800A40C8 0009FF08 80 83 00 0C */ lwz r4, 0xc(r3)
/* 800A40CC 0009FF0C 38 04 FF FF */ addi r0, r4, -0x1
/* 800A40D0 0009FF10 28 00 00 01 */ cmplwi r0, 0x1
/* 800A40D4 0009FF14 41 81 00 2C */ bgt lbl_800A4100
/* 800A40D8 0009FF18 80 63 00 24 */ lwz r3, 0x24(r3)
/* 800A40DC 0009FF1C 54 60 03 DF */ rlwinm. r0, r3, 0, 15, 15
/* 800A40E0 0009FF20 40 82 00 0C */ bne lbl_800A40EC
/* 800A40E4 0009FF24 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 800A40E8 0009FF28 41 82 00 18 */ beq lbl_800A4100
.global lbl_800A40EC
lbl_800A40EC:
/* 800A40EC 0009FF2C 81 9C 00 1C */ lwz r12, 0x1c(r28)
/* 800A40F0 0009FF30 7F 83 E3 78 */ mr r3, r28
/* 800A40F4 0009FF34 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A40F8 0009FF38 7D 89 03 A6 */ mtctr r12
/* 800A40FC 0009FF3C 4E 80 04 21 */ bctrl
.global lbl_800A4100
lbl_800A4100:
/* 800A4100 0009FF40 7F 84 E3 78 */ mr r4, r28
/* 800A4104 0009FF44 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A4108 0009FF48 4B FF F8 29 */ bl MEMGetNextListObject
/* 800A410C 0009FF4C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4110 0009FF50 7C 7C 1B 78 */ mr r28, r3
/* 800A4114 0009FF54 40 82 FF B4 */ bne lbl_800A40C8
/* 800A4118 0009FF58 48 00 03 A0 */ b lbl_800A44B8
.global lbl_800A411C
lbl_800A411C:
/* 800A411C 0009FF5C 80 03 00 50 */ lwz r0, 0x50(r3)
/* 800A4120 0009FF60 54 00 07 FF */ clrlwi. r0, r0, 31
/* 800A4124 0009FF64 40 82 03 94 */ bne lbl_800A44B8
/* 800A4128 0009FF68 54 80 07 BD */ rlwinm. r0, r4, 0, 30, 30
/* 800A412C 0009FF6C 40 82 00 8C */ bne lbl_800A41B8
/* 800A4130 0009FF70 3B A0 00 00 */ li r29, 0x0
/* 800A4134 0009FF74 3B 80 00 00 */ li r28, 0x0
/* 800A4138 0009FF78 48 00 00 68 */ b lbl_800A41A0
.global lbl_800A413C
lbl_800A413C:
/* 800A413C 0009FF7C 80 83 00 0C */ lwz r4, 0xc(r3)
/* 800A4140 0009FF80 38 04 FF FF */ addi r0, r4, -0x1
/* 800A4144 0009FF84 28 00 00 01 */ cmplwi r0, 0x1
/* 800A4148 0009FF88 41 81 00 14 */ bgt lbl_800A415C
/* 800A414C 0009FF8C 80 03 00 B4 */ lwz r0, 0xb4(r3)
/* 800A4150 0009FF90 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A4154 0009FF94 40 82 00 08 */ bne lbl_800A415C
/* 800A4158 0009FF98 93 83 00 B4 */ stw r28, 0xb4(r3)
.global lbl_800A415C
lbl_800A415C:
/* 800A415C 0009FF9C C0 03 01 08 */ lfs f0, 0x108(r3)
/* 800A4160 0009FFA0 3B E0 00 00 */ li r31, 0x0
/* 800A4164 0009FFA4 D0 03 01 14 */ stfs f0, 0x114(r3)
/* 800A4168 0009FFA8 C0 03 01 0C */ lfs f0, 0x10c(r3)
/* 800A416C 0009FFAC D0 03 01 18 */ stfs f0, 0x118(r3)
/* 800A4170 0009FFB0 C0 03 01 10 */ lfs f0, 0x110(r3)
/* 800A4174 0009FFB4 D0 03 01 1C */ stfs f0, 0x11c(r3)
/* 800A4178 0009FFB8 48 00 00 10 */ b lbl_800A4188
.global lbl_800A417C
lbl_800A417C:
/* 800A417C 0009FFBC 7F E3 FB 78 */ mr r3, r31
/* 800A4180 0009FFC0 38 80 00 00 */ li r4, 0x0
/* 800A4184 0009FFC4 48 00 DD CD */ bl BeginCalc__Q34nw4r2ef15ParticleManagerFb
.global lbl_800A4188
lbl_800A4188:
/* 800A4188 0009FFC8 7F E4 FB 78 */ mr r4, r31
/* 800A418C 0009FFCC 38 7D 00 C0 */ addi r3, r29, 0xc0
/* 800A4190 0009FFD0 4B FF F7 A1 */ bl MEMGetNextListObject
/* 800A4194 0009FFD4 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4198 0009FFD8 7C 7F 1B 78 */ mr r31, r3
/* 800A419C 0009FFDC 40 82 FF E0 */ bne lbl_800A417C
.global lbl_800A41A0
lbl_800A41A0:
/* 800A41A0 0009FFE0 7F A4 EB 78 */ mr r4, r29
/* 800A41A4 0009FFE4 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A41A8 0009FFE8 4B FF F7 89 */ bl MEMGetNextListObject
/* 800A41AC 0009FFEC 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A41B0 0009FFF0 7C 7D 1B 78 */ mr r29, r3
/* 800A41B4 0009FFF4 40 82 FF 88 */ bne lbl_800A413C
.global lbl_800A41B8
lbl_800A41B8:
/* 800A41B8 0009FFF8 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 800A41BC 0009FFFC 3B E1 00 38 */ addi r31, r1, 0x38
/* 800A41C0 000A0000 3B A0 00 00 */ li r29, 0x0
/* 800A41C4 000A0004 64 00 00 01 */ oris r0, r0, 0x1
/* 800A41C8 000A0008 90 1E 00 50 */ stw r0, 0x50(r30)
/* 800A41CC 000A000C 48 00 02 50 */ b lbl_800A441C
/* 800A41D0 000A0010 48 00 02 4C */ b lbl_800A441C
.global lbl_800A41D4
lbl_800A41D4:
/* 800A41D4 000A0014 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 800A41D8 000A0018 54 00 04 1C */ rlwinm r0, r0, 0, 16, 14
/* 800A41DC 000A001C 90 1E 00 50 */ stw r0, 0x50(r30)
.global lbl_800A41E0
lbl_800A41E0:
/* 800A41E0 000A0020 A0 BE 00 2C */ lhz r5, 0x2c(r30)
/* 800A41E4 000A0024 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A41E8 000A0028 38 81 00 38 */ addi r4, r1, 0x38
/* 800A41EC 000A002C 48 00 EE C5 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A41F0 000A0030 54 7C 04 3E */ clrlwi r28, r3, 16
/* 800A41F4 000A0034 3B 60 00 00 */ li r27, 0x0
/* 800A41F8 000A0038 48 00 00 20 */ b lbl_800A4218
.global lbl_800A41FC
lbl_800A41FC:
/* 800A41FC 000A003C 57 60 13 BA */ rlwinm r0, r27, 2, 14, 29
/* 800A4200 000A0040 7C 7F 00 2E */ lwzx r3, r31, r0
/* 800A4204 000A0044 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A4208 000A0048 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800A420C 000A004C 7D 89 03 A6 */ mtctr r12
/* 800A4210 000A0050 4E 80 04 21 */ bctrl
/* 800A4214 000A0054 3B 7B 00 01 */ addi r27, r27, 0x1
.global lbl_800A4218
lbl_800A4218:
/* 800A4218 000A0058 57 60 04 3E */ clrlwi r0, r27, 16
/* 800A421C 000A005C 7C 00 E0 40 */ cmplw r0, r28
/* 800A4220 000A0060 41 80 FF DC */ blt lbl_800A41FC
/* 800A4224 000A0064 3B 60 00 00 */ li r27, 0x0
/* 800A4228 000A0068 48 00 00 3C */ b lbl_800A4264
.global lbl_800A422C
lbl_800A422C:
/* 800A422C 000A006C 80 83 00 0C */ lwz r4, 0xc(r3)
/* 800A4230 000A0070 38 04 FF FF */ addi r0, r4, -0x1
/* 800A4234 000A0074 28 00 00 01 */ cmplwi r0, 0x1
/* 800A4238 000A0078 41 81 00 2C */ bgt lbl_800A4264
/* 800A423C 000A007C 80 63 00 24 */ lwz r3, 0x24(r3)
/* 800A4240 000A0080 54 60 03 DF */ rlwinm. r0, r3, 0, 15, 15
/* 800A4244 000A0084 40 82 00 0C */ bne lbl_800A4250
/* 800A4248 000A0088 54 60 04 21 */ rlwinm. r0, r3, 0, 16, 16
/* 800A424C 000A008C 41 82 00 18 */ beq lbl_800A4264
.global lbl_800A4250
lbl_800A4250:
/* 800A4250 000A0090 81 9B 00 1C */ lwz r12, 0x1c(r27)
/* 800A4254 000A0094 7F 63 DB 78 */ mr r3, r27
/* 800A4258 000A0098 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A425C 000A009C 7D 89 03 A6 */ mtctr r12
/* 800A4260 000A00A0 4E 80 04 21 */ bctrl
.global lbl_800A4264
lbl_800A4264:
/* 800A4264 000A00A4 7F 64 DB 78 */ mr r4, r27
/* 800A4268 000A00A8 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A426C 000A00AC 4B FF F6 C5 */ bl MEMGetNextListObject
/* 800A4270 000A00B0 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4274 000A00B4 7C 7B 1B 78 */ mr r27, r3
/* 800A4278 000A00B8 40 82 FF B4 */ bne lbl_800A422C
/* 800A427C 000A00BC A0 BE 00 2C */ lhz r5, 0x2c(r30)
/* 800A4280 000A00C0 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A4284 000A00C4 38 81 00 38 */ addi r4, r1, 0x38
/* 800A4288 000A00C8 48 00 EE 29 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A428C 000A00CC 54 7C 04 3E */ clrlwi r28, r3, 16
/* 800A4290 000A00D0 3B 60 00 00 */ li r27, 0x0
/* 800A4294 000A00D4 48 00 00 54 */ b lbl_800A42E8
.global lbl_800A4298
lbl_800A4298:
/* 800A4298 000A00D8 57 60 13 BA */ rlwinm r0, r27, 2, 14, 29
/* 800A429C 000A00DC 7F 5F 00 2E */ lwzx r26, r31, r0
/* 800A42A0 000A00E0 80 1A 00 B4 */ lwz r0, 0xb4(r26)
/* 800A42A4 000A00E4 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A42A8 000A00E8 40 82 00 10 */ bne lbl_800A42B8
/* 800A42AC 000A00EC 80 7A 00 E4 */ lwz r3, 0xe4(r26)
/* 800A42B0 000A00F0 38 03 00 01 */ addi r0, r3, 0x1
/* 800A42B4 000A00F4 90 1A 00 E4 */ stw r0, 0xe4(r26)
.global lbl_800A42B8
lbl_800A42B8:
/* 800A42B8 000A00F8 81 9A 00 1C */ lwz r12, 0x1c(r26)
/* 800A42BC 000A00FC 7F 43 D3 78 */ mr r3, r26
/* 800A42C0 000A0100 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800A42C4 000A0104 7D 89 03 A6 */ mtctr r12
/* 800A42C8 000A0108 4E 80 04 21 */ bctrl
/* 800A42CC 000A010C 80 1A 00 B4 */ lwz r0, 0xb4(r26)
/* 800A42D0 000A0110 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A42D4 000A0114 40 82 00 10 */ bne lbl_800A42E4
/* 800A42D8 000A0118 80 7A 00 E4 */ lwz r3, 0xe4(r26)
/* 800A42DC 000A011C 38 03 FF FF */ addi r0, r3, -0x1
/* 800A42E0 000A0120 90 1A 00 E4 */ stw r0, 0xe4(r26)
.global lbl_800A42E4
lbl_800A42E4:
/* 800A42E4 000A0124 3B 7B 00 01 */ addi r27, r27, 0x1
.global lbl_800A42E8
lbl_800A42E8:
/* 800A42E8 000A0128 57 60 04 3E */ clrlwi r0, r27, 16
/* 800A42EC 000A012C 7C 00 E0 40 */ cmplw r0, r28
/* 800A42F0 000A0130 41 80 FF A8 */ blt lbl_800A4298
/* 800A42F4 000A0134 A0 BE 00 2C */ lhz r5, 0x2c(r30)
/* 800A42F8 000A0138 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A42FC 000A013C 38 81 00 38 */ addi r4, r1, 0x38
/* 800A4300 000A0140 48 00 ED B1 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A4304 000A0144 54 7C 04 3E */ clrlwi r28, r3, 16
/* 800A4308 000A0148 3B 40 00 00 */ li r26, 0x0
/* 800A430C 000A014C 48 00 00 20 */ b lbl_800A432C
.global lbl_800A4310
lbl_800A4310:
/* 800A4310 000A0150 57 40 13 BA */ rlwinm r0, r26, 2, 14, 29
/* 800A4314 000A0154 7C 7F 00 2E */ lwzx r3, r31, r0
/* 800A4318 000A0158 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A431C 000A015C 81 8C 00 20 */ lwz r12, 0x20(r12)
/* 800A4320 000A0160 7D 89 03 A6 */ mtctr r12
/* 800A4324 000A0164 4E 80 04 21 */ bctrl
/* 800A4328 000A0168 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_800A432C
lbl_800A432C:
/* 800A432C 000A016C 57 40 04 3E */ clrlwi r0, r26, 16
/* 800A4330 000A0170 7C 00 E0 40 */ cmplw r0, r28
/* 800A4334 000A0174 41 80 FF DC */ blt lbl_800A4310
/* 800A4338 000A0178 A0 BE 00 2C */ lhz r5, 0x2c(r30)
/* 800A433C 000A017C 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A4340 000A0180 38 81 00 38 */ addi r4, r1, 0x38
/* 800A4344 000A0184 48 00 ED 6D */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A4348 000A0188 54 7C 04 3E */ clrlwi r28, r3, 16
/* 800A434C 000A018C 3B 40 00 00 */ li r26, 0x0
/* 800A4350 000A0190 48 00 00 20 */ b lbl_800A4370
.global lbl_800A4354
lbl_800A4354:
/* 800A4354 000A0194 57 40 13 BA */ rlwinm r0, r26, 2, 14, 29
/* 800A4358 000A0198 7C 7F 00 2E */ lwzx r3, r31, r0
/* 800A435C 000A019C 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A4360 000A01A0 81 8C 00 1C */ lwz r12, 0x1c(r12)
/* 800A4364 000A01A4 7D 89 03 A6 */ mtctr r12
/* 800A4368 000A01A8 4E 80 04 21 */ bctrl
/* 800A436C 000A01AC 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_800A4370
lbl_800A4370:
/* 800A4370 000A01B0 57 40 04 3E */ clrlwi r0, r26, 16
/* 800A4374 000A01B4 7C 00 E0 40 */ cmplw r0, r28
/* 800A4378 000A01B8 41 80 FF DC */ blt lbl_800A4354
/* 800A437C 000A01BC 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 800A4380 000A01C0 84 03 00 10 */ lwzu r0, 0x10(r3)
/* 800A4384 000A01C4 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A4388 000A01C8 41 82 00 0C */ beq lbl_800A4394
/* 800A438C 000A01CC 48 01 06 05 */ bl Execute__Q34nw4r2ef13CreationQueueFv
/* 800A4390 000A01D0 4B FF FE 50 */ b lbl_800A41E0
.global lbl_800A4394
lbl_800A4394:
/* 800A4394 000A01D4 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 800A4398 000A01D8 54 00 03 DF */ rlwinm. r0, r0, 0, 15, 15
/* 800A439C 000A01DC 41 82 00 80 */ beq lbl_800A441C
/* 800A43A0 000A01E0 3B 40 00 00 */ li r26, 0x0
/* 800A43A4 000A01E4 48 00 00 60 */ b lbl_800A4404
.global lbl_800A43A8
lbl_800A43A8:
/* 800A43A8 000A01E8 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A43AC 000A01EC 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A43B0 000A01F0 40 82 00 28 */ bne lbl_800A43D8
/* 800A43B4 000A01F4 A0 83 00 E8 */ lhz r4, 0xe8(r3)
/* 800A43B8 000A01F8 2C 04 00 00 */ cmpwi r4, 0x0
/* 800A43BC 000A01FC 41 82 00 1C */ beq lbl_800A43D8
/* 800A43C0 000A0200 38 04 FF FF */ addi r0, r4, -0x1
/* 800A43C4 000A0204 B0 03 00 E8 */ sth r0, 0xe8(r3)
/* 800A43C8 000A0208 80 03 00 B4 */ lwz r0, 0xb4(r3)
/* 800A43CC 000A020C 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A43D0 000A0210 40 82 00 08 */ bne lbl_800A43D8
/* 800A43D4 000A0214 93 A3 00 B4 */ stw r29, 0xb4(r3)
.global lbl_800A43D8
lbl_800A43D8:
/* 800A43D8 000A0218 3B 60 00 00 */ li r27, 0x0
/* 800A43DC 000A021C 48 00 00 10 */ b lbl_800A43EC
.global lbl_800A43E0
lbl_800A43E0:
/* 800A43E0 000A0220 7F 63 DB 78 */ mr r3, r27
/* 800A43E4 000A0224 38 80 00 01 */ li r4, 0x1
/* 800A43E8 000A0228 48 00 DB 69 */ bl BeginCalc__Q34nw4r2ef15ParticleManagerFb
.global lbl_800A43EC
lbl_800A43EC:
/* 800A43EC 000A022C 7F 64 DB 78 */ mr r4, r27
/* 800A43F0 000A0230 38 7A 00 C0 */ addi r3, r26, 0xc0
/* 800A43F4 000A0234 4B FF F5 3D */ bl MEMGetNextListObject
/* 800A43F8 000A0238 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A43FC 000A023C 7C 7B 1B 78 */ mr r27, r3
/* 800A4400 000A0240 40 82 FF E0 */ bne lbl_800A43E0
.global lbl_800A4404
lbl_800A4404:
/* 800A4404 000A0244 7F 44 D3 78 */ mr r4, r26
/* 800A4408 000A0248 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A440C 000A024C 4B FF F5 25 */ bl MEMGetNextListObject
/* 800A4410 000A0250 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4414 000A0254 7C 7A 1B 78 */ mr r26, r3
/* 800A4418 000A0258 40 82 FF 90 */ bne lbl_800A43A8
.global lbl_800A441C
lbl_800A441C:
/* 800A441C 000A025C 80 1E 00 50 */ lwz r0, 0x50(r30)
/* 800A4420 000A0260 54 00 03 DF */ rlwinm. r0, r0, 0, 15, 15
/* 800A4424 000A0264 40 82 FD B0 */ bne lbl_800A41D4
/* 800A4428 000A0268 3B 40 00 00 */ li r26, 0x0
/* 800A442C 000A026C 3B E0 00 01 */ li r31, 0x1
/* 800A4430 000A0270 48 00 00 70 */ b lbl_800A44A0
.global lbl_800A4434
lbl_800A4434:
/* 800A4434 000A0274 80 83 00 0C */ lwz r4, 0xc(r3)
/* 800A4438 000A0278 38 04 FF FF */ addi r0, r4, -0x1
/* 800A443C 000A027C 28 00 00 01 */ cmplwi r0, 0x1
/* 800A4440 000A0280 41 81 00 14 */ bgt lbl_800A4454
/* 800A4444 000A0284 80 03 00 B4 */ lwz r0, 0xb4(r3)
/* 800A4448 000A0288 2C 00 00 03 */ cmpwi r0, 0x3
/* 800A444C 000A028C 40 82 00 08 */ bne lbl_800A4454
/* 800A4450 000A0290 93 E3 00 B4 */ stw r31, 0xb4(r3)
.global lbl_800A4454
lbl_800A4454:
/* 800A4454 000A0294 3B 60 00 00 */ li r27, 0x0
/* 800A4458 000A0298 48 00 00 0C */ b lbl_800A4464
.global lbl_800A445C
lbl_800A445C:
/* 800A445C 000A029C 7F 63 DB 78 */ mr r3, r27
/* 800A4460 000A02A0 48 00 DB 61 */ bl EndCalc__Q34nw4r2ef15ParticleManagerFv
.global lbl_800A4464
lbl_800A4464:
/* 800A4464 000A02A4 7F 64 DB 78 */ mr r4, r27
/* 800A4468 000A02A8 38 7A 00 C0 */ addi r3, r26, 0xc0
/* 800A446C 000A02AC 4B FF F4 C5 */ bl MEMGetNextListObject
/* 800A4470 000A02B0 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4474 000A02B4 7C 7B 1B 78 */ mr r27, r3
/* 800A4478 000A02B8 40 82 FF E4 */ bne lbl_800A445C
/* 800A447C 000A02BC 7F 43 D3 78 */ mr r3, r26
/* 800A4480 000A02C0 38 81 00 08 */ addi r4, r1, 0x8
/* 800A4484 000A02C4 48 00 28 0D */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A4488 000A02C8 C0 01 00 14 */ lfs f0, 0x14(r1)
/* 800A448C 000A02CC D0 1A 01 08 */ stfs f0, 0x108(r26)
/* 800A4490 000A02D0 C0 01 00 24 */ lfs f0, 0x24(r1)
/* 800A4494 000A02D4 D0 1A 01 0C */ stfs f0, 0x10c(r26)
/* 800A4498 000A02D8 C0 01 00 34 */ lfs f0, 0x34(r1)
/* 800A449C 000A02DC D0 1A 01 10 */ stfs f0, 0x110(r26)
.global lbl_800A44A0
lbl_800A44A0:
/* 800A44A0 000A02E0 7F 44 D3 78 */ mr r4, r26
/* 800A44A4 000A02E4 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A44A8 000A02E8 4B FF F4 89 */ bl MEMGetNextListObject
/* 800A44AC 000A02EC 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A44B0 000A02F0 7C 7A 1B 78 */ mr r26, r3
/* 800A44B4 000A02F4 40 82 FF 80 */ bne lbl_800A4434
.global lbl_800A44B8
lbl_800A44B8:
/* 800A44B8 000A02F8 39 61 10 50 */ addi r11, r1, 0x1050
/* 800A44BC 000A02FC 4B F6 2E C9 */ bl lbl_80007384
/* 800A44C0 000A0300 80 01 10 54 */ lwz r0, 0x1054(r1)
/* 800A44C4 000A0304 7C 08 03 A6 */ mtlr r0
/* 800A44C8 000A0308 38 21 10 50 */ addi r1, r1, 0x1050
/* 800A44CC 000A030C 4E 80 00 20 */ blr
.global Draw__Q34nw4r2ef6EffectFRCQ34nw4r2ef8DrawInfo
Draw__Q34nw4r2ef6EffectFRCQ34nw4r2ef8DrawInfo:
/* 800A44D0 000A0310 80 03 00 50 */ lwz r0, 0x50(r3)
/* 800A44D4 000A0314 7C 66 1B 78 */ mr r6, r3
/* 800A44D8 000A0318 7C 85 23 78 */ mr r5, r4
/* 800A44DC 000A031C 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800A44E0 000A0320 4C 82 00 20 */ bnelr
/* 800A44E4 000A0324 80 63 00 9C */ lwz r3, 0x9c(r3)
/* 800A44E8 000A0328 7C C4 33 78 */ mr r4, r6
/* 800A44EC 000A032C 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A44F0 000A0330 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A44F4 000A0334 7D 89 03 A6 */ mtctr r12
/* 800A44F8 000A0338 4E 80 04 20 */ bctr
/* 800A44FC 000A033C 4E 80 00 20 */ blr
.global SetRootMtx__Q34nw4r2ef6EffectFRCQ34nw4r4math5MTX34
SetRootMtx__Q34nw4r2ef6EffectFRCQ34nw4r4math5MTX34:
/* 800A4500 000A0340 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4504 000A0344 7C 08 02 A6 */ mflr r0
/* 800A4508 000A0348 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A450C 000A034C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A4510 000A0350 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800A4514 000A0354 7C 7E 1B 78 */ mr r30, r3
/* 800A4518 000A0358 7C 83 23 78 */ mr r3, r4
/* 800A451C 000A035C 38 9E 00 54 */ addi r4, r30, 0x54
/* 800A4520 000A0360 4B F8 BF F1 */ bl PSMTXCopy
/* 800A4524 000A0364 3B E0 00 00 */ li r31, 0x0
/* 800A4528 000A0368 48 00 00 18 */ b lbl_800A4540
.global lbl_800A452C
lbl_800A452C:
/* 800A452C 000A036C 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 800A4530 000A0370 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A4534 000A0374 40 82 00 0C */ bne lbl_800A4540
/* 800A4538 000A0378 7F E3 FB 78 */ mr r3, r31
/* 800A453C 000A037C 48 00 28 A5 */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
.global lbl_800A4540
lbl_800A4540:
/* 800A4540 000A0380 7F E4 FB 78 */ mr r4, r31
/* 800A4544 000A0384 38 7E 00 24 */ addi r3, r30, 0x24
/* 800A4548 000A0388 4B FF F3 E9 */ bl MEMGetNextListObject
/* 800A454C 000A038C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4550 000A0390 7C 7F 1B 78 */ mr r31, r3
/* 800A4554 000A0394 40 82 FF D8 */ bne lbl_800A452C
/* 800A4558 000A0398 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A455C 000A039C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A4560 000A03A0 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800A4564 000A03A4 7C 08 03 A6 */ mtlr r0
/* 800A4568 000A03A8 38 21 00 10 */ addi r1, r1, 0x10
/* 800A456C 000A03AC 4E 80 00 20 */ blr
.global CreateEmitter__Q34nw4r2ef6EffectFQ34nw4r2ef10ResEmitterUcUs
CreateEmitter__Q34nw4r2ef6EffectFQ34nw4r2ef10ResEmitterUcUs:
/* 800A4570 000A03B0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A4574 000A03B4 7C 08 02 A6 */ mflr r0
/* 800A4578 000A03B8 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A457C 000A03BC 39 61 00 20 */ addi r11, r1, 0x20
/* 800A4580 000A03C0 4B F6 2D BD */ bl lbl_8000733C
/* 800A4584 000A03C4 83 C4 00 00 */ lwz r30, 0x0(r4)
/* 800A4588 000A03C8 7C 7B 1B 78 */ mr r27, r3
/* 800A458C 000A03CC 7C BC 2B 78 */ mr r28, r5
/* 800A4590 000A03D0 7C DD 33 78 */ mr r29, r6
/* 800A4594 000A03D4 80 1E 00 08 */ lwz r0, 0x8(r30)
/* 800A4598 000A03D8 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
/* 800A459C 000A03DC 40 82 00 0C */ bne lbl_800A45A8
/* 800A45A0 000A03E0 3B E0 00 00 */ li r31, 0x0
/* 800A45A4 000A03E4 48 00 00 A4 */ b lbl_800A4648
.global lbl_800A45A8
lbl_800A45A8:
/* 800A45A8 000A03E8 80 63 00 20 */ lwz r3, 0x20(r3)
/* 800A45AC 000A03EC 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A45B0 000A03F0 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A45B4 000A03F4 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A45B8 000A03F8 7D 89 03 A6 */ mtctr r12
/* 800A45BC 000A03FC 4E 80 04 21 */ bctrl
/* 800A45C0 000A0400 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A45C4 000A0404 7C 7F 1B 78 */ mr r31, r3
/* 800A45C8 000A0408 40 82 00 0C */ bne lbl_800A45D4
/* 800A45CC 000A040C 3B E0 00 00 */ li r31, 0x0
/* 800A45D0 000A0410 48 00 00 78 */ b lbl_800A4648
.global lbl_800A45D4
lbl_800A45D4:
/* 800A45D4 000A0414 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A45D8 000A0418 7F 64 DB 78 */ mr r4, r27
/* 800A45DC 000A041C 7F C5 F3 78 */ mr r5, r30
/* 800A45E0 000A0420 7F 86 E3 78 */ mr r6, r28
/* 800A45E4 000A0424 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A45E8 000A0428 7D 89 03 A6 */ mtctr r12
/* 800A45EC 000A042C 4E 80 04 21 */ bctrl
/* 800A45F0 000A0430 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A45F4 000A0434 40 82 00 28 */ bne lbl_800A461C
/* 800A45F8 000A0438 80 7B 00 20 */ lwz r3, 0x20(r27)
/* 800A45FC 000A043C 7F E4 FB 78 */ mr r4, r31
/* 800A4600 000A0440 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A4604 000A0444 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A4608 000A0448 81 8C 00 28 */ lwz r12, 0x28(r12)
/* 800A460C 000A044C 7D 89 03 A6 */ mtctr r12
/* 800A4610 000A0450 4E 80 04 21 */ bctrl
/* 800A4614 000A0454 3B E0 00 00 */ li r31, 0x0
/* 800A4618 000A0458 48 00 00 30 */ b lbl_800A4648
.global lbl_800A461C
lbl_800A461C:
/* 800A461C 000A045C 7F E4 FB 78 */ mr r4, r31
/* 800A4620 000A0460 38 7B 00 24 */ addi r3, r27, 0x24
/* 800A4624 000A0464 4B FF F2 2D */ bl MEMAppendListObject
/* 800A4628 000A0468 A0 7B 00 3C */ lhz r3, 0x3c(r27)
/* 800A462C 000A046C 38 00 00 01 */ li r0, 0x1
/* 800A4630 000A0470 38 63 00 01 */ addi r3, r3, 0x1
/* 800A4634 000A0474 B0 7B 00 3C */ sth r3, 0x3c(r27)
/* 800A4638 000A0478 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A463C 000A047C A0 1F 00 E8 */ lhz r0, 0xe8(r31)
/* 800A4640 000A0480 7C 00 EA 14 */ add r0, r0, r29
/* 800A4644 000A0484 B0 1F 00 E8 */ sth r0, 0xe8(r31)
.global lbl_800A4648
lbl_800A4648:
/* 800A4648 000A0488 39 61 00 20 */ addi r11, r1, 0x20
/* 800A464C 000A048C 7F E3 FB 78 */ mr r3, r31
/* 800A4650 000A0490 4B F6 2D 39 */ bl lbl_80007388
/* 800A4654 000A0494 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A4658 000A0498 7C 08 03 A6 */ mtlr r0
/* 800A465C 000A049C 38 21 00 20 */ addi r1, r1, 0x20
/* 800A4660 000A04A0 4E 80 00 20 */ blr
/* 800A4664 000A04A4 00 00 00 00 */ .4byte 0x00000000
/* 800A4668 000A04A8 00 00 00 00 */ .4byte 0x00000000
/* 800A466C 000A04AC 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __vt__Q34nw4r2ef6Effect
__vt__Q34nw4r2ef6Effect:
.4byte 0
.4byte 0
.4byte SendClosing__Q34nw4r2ef6EffectFv
.4byte DestroyFunc__Q34nw4r2ef6EffectFv
.4byte Initialize__Q34nw4r2ef6EffectFPQ34nw4r2ef12EffectSystemPQ34nw4r2ef15EmitterResourceUs
.4byte CreateEmitter__Q34nw4r2ef6EffectFQ34nw4r2ef10ResEmitterUcUs
.4byte Calc__Q34nw4r2ef6EffectFQ34nw4r2ef10CalcOption
.4byte Draw__Q34nw4r2ef6EffectFRCQ34nw4r2ef8DrawInfo
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@8467"
"@8467":
.4byte 0
.4byte 0