donut-decomp/asm/libnw4r_ef/ef_emitter.s

2545 lines
125 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global __ct__Q34nw4r2ef7EmitterFv
__ct__Q34nw4r2ef7EmitterFv:
/* 800A4D50 000A0B90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4D54 000A0B94 7C 08 02 A6 */ mflr r0
/* 800A4D58 000A0B98 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef7Emitter@ha
/* 800A4D5C 000A0B9C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4D60 000A0BA0 38 84 00 E0 */ addi r4, r4, __vt__Q34nw4r2ef7Emitter@l
/* 800A4D64 000A0BA4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A4D68 000A0BA8 7C 7F 1B 78 */ mr r31, r3
/* 800A4D6C 000A0BAC 90 83 00 1C */ stw r4, 0x1c(r3)
/* 800A4D70 000A0BB0 38 80 00 14 */ li r4, 0x14
/* 800A4D74 000A0BB4 38 63 00 C0 */ addi r3, r3, 0xc0
/* 800A4D78 000A0BB8 4B FF EA B9 */ bl MEMInitList
/* 800A4D7C 000A0BBC 38 7F 00 CC */ addi r3, r31, 0xcc
/* 800A4D80 000A0BC0 38 80 00 14 */ li r4, 0x14
/* 800A4D84 000A0BC4 4B FF EA AD */ bl MEMInitList
/* 800A4D88 000A0BC8 38 00 00 00 */ li r0, 0x0
/* 800A4D8C 000A0BCC B0 1F 00 D8 */ sth r0, 0xd8(r31)
/* 800A4D90 000A0BD0 7F E3 FB 78 */ mr r3, r31
/* 800A4D94 000A0BD4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A4D98 000A0BD8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4D9C 000A0BDC 7C 08 03 A6 */ mtlr r0
/* 800A4DA0 000A0BE0 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4DA4 000A0BE4 4E 80 00 20 */ blr
/* 800A4DA8 000A0BE8 00 00 00 00 */ .4byte 0x00000000
/* 800A4DAC 000A0BEC 00 00 00 00 */ .4byte 0x00000000
.global __dt__Q34nw4r2ef7EmitterFv
__dt__Q34nw4r2ef7EmitterFv:
/* 800A4DB0 000A0BF0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4DB4 000A0BF4 7C 08 02 A6 */ mflr r0
/* 800A4DB8 000A0BF8 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4DBC 000A0BFC 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4DC0 000A0C00 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A4DC4 000A0C04 7C 7F 1B 78 */ mr r31, r3
/* 800A4DC8 000A0C08 41 82 00 10 */ beq lbl_800A4DD8
/* 800A4DCC 000A0C0C 2C 04 00 00 */ cmpwi r4, 0x0
/* 800A4DD0 000A0C10 40 81 00 08 */ ble lbl_800A4DD8
/* 800A4DD4 000A0C14 48 11 A9 41 */ bl __dl__FPv
.global lbl_800A4DD8
lbl_800A4DD8:
/* 800A4DD8 000A0C18 7F E3 FB 78 */ mr r3, r31
/* 800A4DDC 000A0C1C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A4DE0 000A0C20 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A4DE4 000A0C24 7C 08 03 A6 */ mtlr r0
/* 800A4DE8 000A0C28 38 21 00 10 */ addi r1, r1, 0x10
/* 800A4DEC 000A0C2C 4E 80 00 20 */ blr
.global RetireParticleAll__Q34nw4r2ef7EmitterFv
RetireParticleAll__Q34nw4r2ef7EmitterFv:
/* 800A4DF0 000A0C30 94 21 EF E0 */ stwu r1, -0x1020(r1)
/* 800A4DF4 000A0C34 7C 08 02 A6 */ mflr r0
/* 800A4DF8 000A0C38 90 01 10 24 */ stw r0, 0x1024(r1)
/* 800A4DFC 000A0C3C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A4E00 000A0C40 93 E1 10 1C */ stw r31, 0x101c(r1)
/* 800A4E04 000A0C44 93 C1 10 18 */ stw r30, 0x1018(r1)
/* 800A4E08 000A0C48 93 A1 10 14 */ stw r29, 0x1014(r1)
/* 800A4E0C 000A0C4C 3B A0 00 00 */ li r29, 0x0
/* 800A4E10 000A0C50 93 81 10 10 */ stw r28, 0x1010(r1)
/* 800A4E14 000A0C54 A0 A3 00 C8 */ lhz r5, 0xc8(r3)
/* 800A4E18 000A0C58 38 63 00 C0 */ addi r3, r3, 0xc0
/* 800A4E1C 000A0C5C 48 00 E2 95 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A4E20 000A0C60 3B C1 00 08 */ addi r30, r1, 0x8
/* 800A4E24 000A0C64 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A4E28 000A0C68 3B 80 00 00 */ li r28, 0x0
/* 800A4E2C 000A0C6C 48 00 00 18 */ b lbl_800A4E44
.global lbl_800A4E30
lbl_800A4E30:
/* 800A4E30 000A0C70 57 80 13 BA */ rlwinm r0, r28, 2, 14, 29
/* 800A4E34 000A0C74 7C 7E 00 2E */ lwzx r3, r30, r0
/* 800A4E38 000A0C78 48 00 B5 59 */ bl RetireParticleAll__Q34nw4r2ef15ParticleManagerFv
/* 800A4E3C 000A0C7C 7F BD 1A 14 */ add r29, r29, r3
/* 800A4E40 000A0C80 3B 9C 00 01 */ addi r28, r28, 0x1
.global lbl_800A4E44
lbl_800A4E44:
/* 800A4E44 000A0C84 57 80 04 3E */ clrlwi r0, r28, 16
/* 800A4E48 000A0C88 7C 00 F8 40 */ cmplw r0, r31
/* 800A4E4C 000A0C8C 41 80 FF E4 */ blt lbl_800A4E30
/* 800A4E50 000A0C90 83 E1 10 1C */ lwz r31, 0x101c(r1)
/* 800A4E54 000A0C94 7F A3 EB 78 */ mr r3, r29
/* 800A4E58 000A0C98 83 C1 10 18 */ lwz r30, 0x1018(r1)
/* 800A4E5C 000A0C9C 83 A1 10 14 */ lwz r29, 0x1014(r1)
/* 800A4E60 000A0CA0 83 81 10 10 */ lwz r28, 0x1010(r1)
/* 800A4E64 000A0CA4 80 01 10 24 */ lwz r0, 0x1024(r1)
/* 800A4E68 000A0CA8 7C 08 03 A6 */ mtlr r0
/* 800A4E6C 000A0CAC 38 21 10 20 */ addi r1, r1, 0x1020
/* 800A4E70 000A0CB0 4E 80 00 20 */ blr
/* 800A4E74 000A0CB4 00 00 00 00 */ .4byte 0x00000000
/* 800A4E78 000A0CB8 00 00 00 00 */ .4byte 0x00000000
/* 800A4E7C 000A0CBC 00 00 00 00 */ .4byte 0x00000000
.global SendClosing__Q34nw4r2ef7EmitterFv
SendClosing__Q34nw4r2ef7EmitterFv:
/* 800A4E80 000A0CC0 7C 64 1B 78 */ mr r4, r3
/* 800A4E84 000A0CC4 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 800A4E88 000A0CC8 4B FF EE 18 */ b Closing__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
/* 800A4E8C 000A0CCC 00 00 00 00 */ .4byte 0x00000000
.global DestroyFunc__Q34nw4r2ef7EmitterFv
DestroyFunc__Q34nw4r2ef7EmitterFv:
/* 800A4E90 000A0CD0 94 21 EF E0 */ stwu r1, -0x1020(r1)
/* 800A4E94 000A0CD4 7C 08 02 A6 */ mflr r0
/* 800A4E98 000A0CD8 90 01 10 24 */ stw r0, 0x1024(r1)
/* 800A4E9C 000A0CDC 39 61 10 20 */ addi r11, r1, 0x1020
/* 800A4EA0 000A0CE0 4B F6 24 9D */ bl lbl_8000733C
/* 800A4EA4 000A0CE4 80 03 00 F0 */ lwz r0, 0xf0(r3)
/* 800A4EA8 000A0CE8 7C 7B 1B 78 */ mr r27, r3
/* 800A4EAC 000A0CEC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A4EB0 000A0CF0 41 82 00 0C */ beq lbl_800A4EBC
/* 800A4EB4 000A0CF4 38 00 00 00 */ li r0, 0x0
/* 800A4EB8 000A0CF8 90 03 00 F0 */ stw r0, 0xf0(r3)
.global lbl_800A4EBC
lbl_800A4EBC:
/* 800A4EBC 000A0CFC 80 03 00 20 */ lwz r0, 0x20(r3)
/* 800A4EC0 000A0D00 54 00 07 FF */ clrlwi. r0, r0, 31
/* 800A4EC4 000A0D04 41 82 00 0C */ beq lbl_800A4ED0
/* 800A4EC8 000A0D08 7F 63 DB 78 */ mr r3, r27
/* 800A4ECC 000A0D0C 4B FF FF 25 */ bl RetireParticleAll__Q34nw4r2ef7EmitterFv
.global lbl_800A4ED0
lbl_800A4ED0:
/* 800A4ED0 000A0D10 7F 63 DB 78 */ mr r3, r27
/* 800A4ED4 000A0D14 48 00 01 5D */ bl RetireParticleManagerAll__Q34nw4r2ef7EmitterFv
/* 800A4ED8 000A0D18 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 800A4EDC 000A0D1C 54 00 07 FF */ clrlwi. r0, r0, 31
/* 800A4EE0 000A0D20 41 82 00 80 */ beq lbl_800A4F60
/* 800A4EE4 000A0D24 80 7B 00 BC */ lwz r3, 0xbc(r27)
/* 800A4EE8 000A0D28 38 81 00 08 */ addi r4, r1, 0x8
/* 800A4EEC 000A0D2C 38 63 00 24 */ addi r3, r3, 0x24
/* 800A4EF0 000A0D30 A0 A3 00 08 */ lhz r5, 0x8(r3)
/* 800A4EF4 000A0D34 48 00 E1 BD */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A4EF8 000A0D38 3B C1 00 08 */ addi r30, r1, 0x8
/* 800A4EFC 000A0D3C 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A4F00 000A0D40 3B A0 00 00 */ li r29, 0x0
/* 800A4F04 000A0D44 48 00 00 50 */ b lbl_800A4F54
.global lbl_800A4F08
lbl_800A4F08:
/* 800A4F08 000A0D48 57 A0 13 BA */ rlwinm r0, r29, 2, 14, 29
/* 800A4F0C 000A0D4C 7F 9E 00 2E */ lwzx r28, r30, r0
/* 800A4F10 000A0D50 80 7C 00 F4 */ lwz r3, 0xf4(r28)
/* 800A4F14 000A0D54 48 00 00 34 */ b lbl_800A4F48
.global lbl_800A4F18
lbl_800A4F18:
/* 800A4F18 000A0D58 7C 03 D8 40 */ cmplw r3, r27
/* 800A4F1C 000A0D5C 40 82 00 28 */ bne lbl_800A4F44
/* 800A4F20 000A0D60 7F 83 E3 78 */ mr r3, r28
/* 800A4F24 000A0D64 4B FF FE CD */ bl RetireParticleAll__Q34nw4r2ef7EmitterFv
/* 800A4F28 000A0D68 80 1C 00 0C */ lwz r0, 0xc(r28)
/* 800A4F2C 000A0D6C 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A4F30 000A0D70 40 82 00 20 */ bne lbl_800A4F50
/* 800A4F34 000A0D74 80 7B 00 BC */ lwz r3, 0xbc(r27)
/* 800A4F38 000A0D78 7F 84 E3 78 */ mr r4, r28
/* 800A4F3C 000A0D7C 4B FF EF 75 */ bl RetireEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
/* 800A4F40 000A0D80 48 00 00 10 */ b lbl_800A4F50
.global lbl_800A4F44
lbl_800A4F44:
/* 800A4F44 000A0D84 80 63 00 F4 */ lwz r3, 0xf4(r3)
.global lbl_800A4F48
lbl_800A4F48:
/* 800A4F48 000A0D88 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A4F4C 000A0D8C 40 82 FF CC */ bne lbl_800A4F18
.global lbl_800A4F50
lbl_800A4F50:
/* 800A4F50 000A0D90 3B BD 00 01 */ addi r29, r29, 0x1
.global lbl_800A4F54
lbl_800A4F54:
/* 800A4F54 000A0D94 57 A0 04 3E */ clrlwi r0, r29, 16
/* 800A4F58 000A0D98 7C 00 F8 40 */ cmplw r0, r31
/* 800A4F5C 000A0D9C 41 80 FF AC */ blt lbl_800A4F08
.global lbl_800A4F60
lbl_800A4F60:
/* 800A4F60 000A0DA0 39 61 10 20 */ addi r11, r1, 0x1020
/* 800A4F64 000A0DA4 4B F6 24 25 */ bl lbl_80007388
/* 800A4F68 000A0DA8 80 01 10 24 */ lwz r0, 0x1024(r1)
/* 800A4F6C 000A0DAC 7C 08 03 A6 */ mtlr r0
/* 800A4F70 000A0DB0 38 21 10 20 */ addi r1, r1, 0x1020
/* 800A4F74 000A0DB4 4E 80 00 20 */ blr
/* 800A4F78 000A0DB8 00 00 00 00 */ .4byte 0x00000000
/* 800A4F7C 000A0DBC 00 00 00 00 */ .4byte 0x00000000
.global Closing__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManager
Closing__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManager:
/* 800A4F80 000A0DC0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 800A4F84 000A0DC4 7C 08 02 A6 */ mflr r0
/* 800A4F88 000A0DC8 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A4F8C 000A0DCC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 800A4F90 000A0DD0 7C 9F 23 78 */ mr r31, r4
/* 800A4F94 000A0DD4 93 C1 00 08 */ stw r30, 0x8(r1)
/* 800A4F98 000A0DD8 7C 7E 1B 78 */ mr r30, r3
/* 800A4F9C 000A0DDC 80 A3 00 BC */ lwz r5, 0xbc(r3)
/* 800A4FA0 000A0DE0 80 65 00 9C */ lwz r3, 0x9c(r5)
/* 800A4FA4 000A0DE4 7C A4 2B 78 */ mr r4, r5
/* 800A4FA8 000A0DE8 7F E5 FB 78 */ mr r5, r31
/* 800A4FAC 000A0DEC 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A4FB0 000A0DF0 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800A4FB4 000A0DF4 7D 89 03 A6 */ mtctr r12
/* 800A4FB8 000A0DF8 4E 80 04 21 */ bctrl
/* 800A4FBC 000A0DFC 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 800A4FC0 000A0E00 80 03 00 10 */ lwz r0, 0x10(r3)
/* 800A4FC4 000A0E04 34 00 FF FF */ addic. r0, r0, -0x1
/* 800A4FC8 000A0E08 90 03 00 10 */ stw r0, 0x10(r3)
/* 800A4FCC 000A0E0C 40 82 00 20 */ bne lbl_800A4FEC
/* 800A4FD0 000A0E10 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A4FD4 000A0E14 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A4FD8 000A0E18 40 82 00 14 */ bne lbl_800A4FEC
/* 800A4FDC 000A0E1C 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A4FE0 000A0E20 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A4FE4 000A0E24 7D 89 03 A6 */ mtctr r12
/* 800A4FE8 000A0E28 4E 80 04 21 */ bctrl
.global lbl_800A4FEC
lbl_800A4FEC:
/* 800A4FEC 000A0E2C 7F E4 FB 78 */ mr r4, r31
/* 800A4FF0 000A0E30 38 7E 00 C0 */ addi r3, r30, 0xc0
/* 800A4FF4 000A0E34 4B FF E8 CD */ bl MEMRemoveListObject
/* 800A4FF8 000A0E38 7F E4 FB 78 */ mr r4, r31
/* 800A4FFC 000A0E3C 38 7E 00 CC */ addi r3, r30, 0xcc
/* 800A5000 000A0E40 4B FF E8 51 */ bl MEMAppendListObject
/* 800A5004 000A0E44 38 00 00 03 */ li r0, 0x3
/* 800A5008 000A0E48 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A500C 000A0E4C 38 60 00 01 */ li r3, 0x1
/* 800A5010 000A0E50 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 800A5014 000A0E54 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 800A5018 000A0E58 80 01 00 14 */ lwz r0, 0x14(r1)
/* 800A501C 000A0E5C 7C 08 03 A6 */ mtlr r0
/* 800A5020 000A0E60 38 21 00 10 */ addi r1, r1, 0x10
/* 800A5024 000A0E64 4E 80 00 20 */ blr
/* 800A5028 000A0E68 00 00 00 00 */ .4byte 0x00000000
/* 800A502C 000A0E6C 00 00 00 00 */ .4byte 0x00000000
.global RetireParticleManagerAll__Q34nw4r2ef7EmitterFv
RetireParticleManagerAll__Q34nw4r2ef7EmitterFv:
/* 800A5030 000A0E70 94 21 EF D0 */ stwu r1, -0x1030(r1)
/* 800A5034 000A0E74 7C 08 02 A6 */ mflr r0
/* 800A5038 000A0E78 90 01 10 34 */ stw r0, 0x1034(r1)
/* 800A503C 000A0E7C 39 61 10 30 */ addi r11, r1, 0x1030
/* 800A5040 000A0E80 4B F6 22 F5 */ bl lbl_80007334
/* 800A5044 000A0E84 A0 A3 00 C8 */ lhz r5, 0xc8(r3)
/* 800A5048 000A0E88 7C 79 1B 78 */ mr r25, r3
/* 800A504C 000A0E8C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A5050 000A0E90 3B 80 00 00 */ li r28, 0x0
/* 800A5054 000A0E94 38 63 00 C0 */ addi r3, r3, 0xc0
/* 800A5058 000A0E98 48 00 E0 59 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A505C 000A0E9C 3B A1 00 08 */ addi r29, r1, 0x8
/* 800A5060 000A0EA0 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A5064 000A0EA4 3B 60 00 00 */ li r27, 0x0
/* 800A5068 000A0EA8 3B C0 00 02 */ li r30, 0x2
/* 800A506C 000A0EAC 48 00 00 64 */ b lbl_800A50D0
.global lbl_800A5070
lbl_800A5070:
/* 800A5070 000A0EB0 57 60 13 BA */ rlwinm r0, r27, 2, 14, 29
/* 800A5074 000A0EB4 7F 5D 00 2E */ lwzx r26, r29, r0
/* 800A5078 000A0EB8 80 1A 00 0C */ lwz r0, 0xc(r26)
/* 800A507C 000A0EBC 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A5080 000A0EC0 40 82 00 4C */ bne lbl_800A50CC
/* 800A5084 000A0EC4 A0 99 00 D8 */ lhz r4, 0xd8(r25)
/* 800A5088 000A0EC8 7F 43 D3 78 */ mr r3, r26
/* 800A508C 000A0ECC 38 04 FF FF */ addi r0, r4, -0x1
/* 800A5090 000A0ED0 B0 19 00 D8 */ sth r0, 0xd8(r25)
/* 800A5094 000A0ED4 81 9A 00 1C */ lwz r12, 0x1c(r26)
/* 800A5098 000A0ED8 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800A509C 000A0EDC 7D 89 03 A6 */ mtctr r12
/* 800A50A0 000A0EE0 4E 80 04 21 */ bctrl
/* 800A50A4 000A0EE4 93 DA 00 0C */ stw r30, 0xc(r26)
/* 800A50A8 000A0EE8 80 1A 00 10 */ lwz r0, 0x10(r26)
/* 800A50AC 000A0EEC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A50B0 000A0EF0 40 82 00 18 */ bne lbl_800A50C8
/* 800A50B4 000A0EF4 81 9A 00 1C */ lwz r12, 0x1c(r26)
/* 800A50B8 000A0EF8 7F 43 D3 78 */ mr r3, r26
/* 800A50BC 000A0EFC 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A50C0 000A0F00 7D 89 03 A6 */ mtctr r12
/* 800A50C4 000A0F04 4E 80 04 21 */ bctrl
.global lbl_800A50C8
lbl_800A50C8:
/* 800A50C8 000A0F08 3B 9C 00 01 */ addi r28, r28, 0x1
.global lbl_800A50CC
lbl_800A50CC:
/* 800A50CC 000A0F0C 3B 7B 00 01 */ addi r27, r27, 0x1
.global lbl_800A50D0
lbl_800A50D0:
/* 800A50D0 000A0F10 57 60 04 3E */ clrlwi r0, r27, 16
/* 800A50D4 000A0F14 7C 00 F8 40 */ cmplw r0, r31
/* 800A50D8 000A0F18 41 80 FF 98 */ blt lbl_800A5070
/* 800A50DC 000A0F1C 39 61 10 30 */ addi r11, r1, 0x1030
/* 800A50E0 000A0F20 7F 83 E3 78 */ mr r3, r28
/* 800A50E4 000A0F24 4B F6 22 9D */ bl lbl_80007380
/* 800A50E8 000A0F28 80 01 10 34 */ lwz r0, 0x1034(r1)
/* 800A50EC 000A0F2C 7C 08 03 A6 */ mtlr r0
/* 800A50F0 000A0F30 38 21 10 30 */ addi r1, r1, 0x1030
/* 800A50F4 000A0F34 4E 80 00 20 */ blr
/* 800A50F8 000A0F38 00 00 00 00 */ .4byte 0x00000000
/* 800A50FC 000A0F3C 00 00 00 00 */ .4byte 0x00000000
.global InitializeDatas__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef6Effect
InitializeDatas__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef6Effect:
/* 800A5100 000A0F40 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 800A5104 000A0F44 7C 08 02 A6 */ mflr r0
/* 800A5108 000A0F48 3D 00 43 30 */ lis r8, 0x4330
/* 800A510C 000A0F4C 38 E0 00 00 */ li r7, 0x0
/* 800A5110 000A0F50 90 01 00 34 */ stw r0, 0x34(r1)
/* 800A5114 000A0F54 38 C0 00 01 */ li r6, 0x1
/* 800A5118 000A0F58 C8 82 8A 10 */ lfd f4, "@9116"@sda21(r2)
/* 800A511C 000A0F5C 38 00 00 03 */ li r0, 0x3
/* 800A5120 000A0F60 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 800A5124 000A0F64 3B E4 00 08 */ addi r31, r4, 0x8
/* 800A5128 000A0F68 C0 62 8A 00 */ lfs f3, "@9108"@sda21(r2)
/* 800A512C 000A0F6C 93 C1 00 28 */ stw r30, 0x28(r1)
/* 800A5130 000A0F70 7C BE 2B 78 */ mr r30, r5
/* 800A5134 000A0F74 C8 42 8A 18 */ lfd f2, "@9117"@sda21(r2)
/* 800A5138 000A0F78 93 A1 00 24 */ stw r29, 0x24(r1)
/* 800A513C 000A0F7C 7C 7D 1B 78 */ mr r29, r3
/* 800A5140 000A0F80 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A5144 000A0F84 93 81 00 20 */ stw r28, 0x20(r1)
/* 800A5148 000A0F88 90 E3 00 E4 */ stw r7, 0xe4(r3)
/* 800A514C 000A0F8C 90 C3 00 0C */ stw r6, 0xc(r3)
/* 800A5150 000A0F90 90 83 00 B8 */ stw r4, 0xb8(r3)
/* 800A5154 000A0F94 90 E3 00 B4 */ stw r7, 0xb4(r3)
/* 800A5158 000A0F98 A0 84 00 1E */ lhz r4, 0x1e(r4)
/* 800A515C 000A0F9C B0 83 00 E8 */ sth r4, 0xe8(r3)
/* 800A5160 000A0FA0 80 9F 00 00 */ lwz r4, 0x0(r31)
/* 800A5164 000A0FA4 90 83 00 20 */ stw r4, 0x20(r3)
/* 800A5168 000A0FA8 80 9F 00 04 */ lwz r4, 0x4(r31)
/* 800A516C 000A0FAC 90 83 00 24 */ stw r4, 0x24(r3)
/* 800A5170 000A0FB0 A0 9F 00 08 */ lhz r4, 0x8(r31)
/* 800A5174 000A0FB4 B0 83 00 3C */ sth r4, 0x3c(r3)
/* 800A5178 000A0FB8 A0 9F 00 14 */ lhz r4, 0x14(r31)
/* 800A517C 000A0FBC B0 83 00 DE */ sth r4, 0xde(r3)
/* 800A5180 000A0FC0 B0 E3 00 E0 */ sth r7, 0xe0(r3)
/* 800A5184 000A0FC4 88 9F 00 85 */ lbz r4, 0x85(r31)
/* 800A5188 000A0FC8 91 01 00 08 */ stw r8, 0x8(r1)
/* 800A518C 000A0FCC 90 81 00 0C */ stw r4, 0xc(r1)
/* 800A5190 000A0FD0 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800A5194 000A0FD4 91 01 00 10 */ stw r8, 0x10(r1)
/* 800A5198 000A0FD8 EC 21 20 28 */ fsubs f1, f1, f4
/* 800A519C 000A0FDC EC 21 18 24 */ fdivs f1, f1, f3
/* 800A51A0 000A0FE0 D0 23 00 44 */ stfs f1, 0x44(r3)
/* 800A51A4 000A0FE4 88 9F 00 84 */ lbz r4, 0x84(r31)
/* 800A51A8 000A0FE8 90 81 00 14 */ stw r4, 0x14(r1)
/* 800A51AC 000A0FEC C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800A51B0 000A0FF0 EC 21 20 28 */ fsubs f1, f1, f4
/* 800A51B4 000A0FF4 EC 21 18 24 */ fdivs f1, f1, f3
/* 800A51B8 000A0FF8 D0 23 00 40 */ stfs f1, 0x40(r3)
/* 800A51BC 000A0FFC 88 9F 00 86 */ lbz r4, 0x86(r31)
/* 800A51C0 000A1000 90 81 00 0C */ stw r4, 0xc(r1)
/* 800A51C4 000A1004 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 800A51C8 000A1008 EC 21 20 28 */ fsubs f1, f1, f4
/* 800A51CC 000A100C EC 21 18 24 */ fdivs f1, f1, f3
/* 800A51D0 000A1010 D0 23 00 48 */ stfs f1, 0x48(r3)
/* 800A51D4 000A1014 C0 3F 00 10 */ lfs f1, 0x10(r31)
/* 800A51D8 000A1018 D0 23 00 28 */ stfs f1, 0x28(r3)
/* 800A51DC 000A101C 88 9F 00 0F */ lbz r4, 0xf(r31)
/* 800A51E0 000A1020 7C 84 07 74 */ extsb r4, r4
/* 800A51E4 000A1024 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 800A51E8 000A1028 90 81 00 14 */ stw r4, 0x14(r1)
/* 800A51EC 000A102C C8 21 00 10 */ lfd f1, 0x10(r1)
/* 800A51F0 000A1030 EC 21 10 28 */ fsubs f1, f1, f2
/* 800A51F4 000A1034 EC 21 18 24 */ fdivs f1, f1, f3
/* 800A51F8 000A1038 D0 23 00 2C */ stfs f1, 0x2c(r3)
/* 800A51FC 000A103C A0 9F 00 18 */ lhz r4, 0x18(r31)
/* 800A5200 000A1040 B0 83 00 30 */ sth r4, 0x30(r3)
/* 800A5204 000A1044 A0 9F 00 34 */ lhz r4, 0x34(r31)
/* 800A5208 000A1048 B0 83 00 32 */ sth r4, 0x32(r3)
/* 800A520C 000A104C 88 9F 00 0E */ lbz r4, 0xe(r31)
/* 800A5210 000A1050 7C 84 07 74 */ extsb r4, r4
/* 800A5214 000A1054 D0 03 00 38 */ stfs f0, 0x38(r3)
/* 800A5218 000A1058 6C 84 80 00 */ xoris r4, r4, 0x8000
/* 800A521C 000A105C 90 81 00 0C */ stw r4, 0xc(r1)
/* 800A5220 000A1060 C8 01 00 08 */ lfd f0, 0x8(r1)
/* 800A5224 000A1064 98 C3 00 DC */ stb r6, 0xdc(r3)
/* 800A5228 000A1068 EC 00 10 28 */ fsubs f0, f0, f2
/* 800A522C 000A106C EC 00 18 24 */ fdivs f0, f0, f3
/* 800A5230 000A1070 D0 03 00 34 */ stfs f0, 0x34(r3)
/* 800A5234 000A1074 C0 1F 00 78 */ lfs f0, 0x78(r31)
/* 800A5238 000A1078 D0 03 00 90 */ stfs f0, 0x90(r3)
/* 800A523C 000A107C C0 1F 00 7C */ lfs f0, 0x7c(r31)
/* 800A5240 000A1080 D0 03 00 94 */ stfs f0, 0x94(r3)
/* 800A5244 000A1084 C0 1F 00 80 */ lfs f0, 0x80(r31)
/* 800A5248 000A1088 D0 03 00 98 */ stfs f0, 0x98(r3)
/* 800A524C 000A108C C0 1F 00 60 */ lfs f0, 0x60(r31)
/* 800A5250 000A1090 D0 03 00 9C */ stfs f0, 0x9c(r3)
/* 800A5254 000A1094 C0 1F 00 64 */ lfs f0, 0x64(r31)
/* 800A5258 000A1098 D0 03 00 A0 */ stfs f0, 0xa0(r3)
/* 800A525C 000A109C C0 1F 00 68 */ lfs f0, 0x68(r31)
/* 800A5260 000A10A0 D0 03 00 A4 */ stfs f0, 0xa4(r3)
/* 800A5264 000A10A4 C0 1F 00 6C */ lfs f0, 0x6c(r31)
/* 800A5268 000A10A8 D0 03 00 A8 */ stfs f0, 0xa8(r3)
/* 800A526C 000A10AC C0 1F 00 70 */ lfs f0, 0x70(r31)
/* 800A5270 000A10B0 D0 03 00 AC */ stfs f0, 0xac(r3)
/* 800A5274 000A10B4 C0 1F 00 74 */ lfs f0, 0x74(r31)
/* 800A5278 000A10B8 D0 03 00 B0 */ stfs f0, 0xb0(r3)
/* 800A527C 000A10BC 98 03 00 64 */ stb r0, 0x64(r3)
/* 800A5280 000A10C0 38 00 00 64 */ li r0, 0x64
/* 800A5284 000A10C4 98 03 00 65 */ stb r0, 0x65(r3)
/* 800A5288 000A10C8 88 1F 00 36 */ lbz r0, 0x36(r31)
/* 800A528C 000A10CC 98 03 00 66 */ stb r0, 0x66(r3)
/* 800A5290 000A10D0 88 1F 00 37 */ lbz r0, 0x37(r31)
/* 800A5294 000A10D4 98 03 00 67 */ stb r0, 0x67(r3)
/* 800A5298 000A10D8 C0 1F 00 38 */ lfs f0, 0x38(r31)
/* 800A529C 000A10DC D0 03 00 68 */ stfs f0, 0x68(r3)
/* 800A52A0 000A10E0 C0 1F 00 3C */ lfs f0, 0x3c(r31)
/* 800A52A4 000A10E4 D0 03 00 6C */ stfs f0, 0x6c(r3)
/* 800A52A8 000A10E8 C0 1F 00 40 */ lfs f0, 0x40(r31)
/* 800A52AC 000A10EC D0 03 00 70 */ stfs f0, 0x70(r3)
/* 800A52B0 000A10F0 C0 1F 00 44 */ lfs f0, 0x44(r31)
/* 800A52B4 000A10F4 D0 03 00 74 */ stfs f0, 0x74(r3)
/* 800A52B8 000A10F8 C0 1F 00 48 */ lfs f0, 0x48(r31)
/* 800A52BC 000A10FC D0 03 00 78 */ stfs f0, 0x78(r3)
/* 800A52C0 000A1100 C0 1F 00 4C */ lfs f0, 0x4c(r31)
/* 800A52C4 000A1104 D0 03 00 7C */ stfs f0, 0x7c(r3)
/* 800A52C8 000A1108 C0 1F 00 50 */ lfs f0, 0x50(r31)
/* 800A52CC 000A110C D0 03 00 80 */ stfs f0, 0x80(r3)
/* 800A52D0 000A1110 C0 1F 00 54 */ lfs f0, 0x54(r31)
/* 800A52D4 000A1114 D0 03 00 84 */ stfs f0, 0x84(r3)
/* 800A52D8 000A1118 C0 1F 00 58 */ lfs f0, 0x58(r31)
/* 800A52DC 000A111C D0 03 00 88 */ stfs f0, 0x88(r3)
/* 800A52E0 000A1120 C0 1F 00 5C */ lfs f0, 0x5c(r31)
/* 800A52E4 000A1124 D0 03 00 8C */ stfs f0, 0x8c(r3)
/* 800A52E8 000A1128 48 00 D2 59 */ bl GetInstance__Q34nw4r2ef8ResourceFv
/* 800A52EC 000A112C 80 1F 00 88 */ lwz r0, 0x88(r31)
/* 800A52F0 000A1130 B0 1D 00 EA */ sth r0, 0xea(r29)
/* 800A52F4 000A1134 54 00 04 3F */ clrlwi. r0, r0, 16
/* 800A52F8 000A1138 40 82 00 30 */ bne lbl_800A5328
/* 800A52FC 000A113C 80 9E 00 20 */ lwz r4, 0x20(r30)
/* 800A5300 000A1140 3C 60 00 03 */ lis r3, 0x3
/* 800A5304 000A1144 38 03 43 FD */ addi r0, r3, 0x43fd
/* 800A5308 000A1148 3C 84 00 01 */ addis r4, r4, 0x1
/* 800A530C 000A114C 80 64 C0 1C */ lwz r3, -0x3fe4(r4)
/* 800A5310 000A1150 7C 63 01 D6 */ mullw r3, r3, r0
/* 800A5314 000A1154 3C 63 00 27 */ addis r3, r3, 0x27
/* 800A5318 000A1158 38 03 9E C3 */ addi r0, r3, -0x613d
/* 800A531C 000A115C 90 04 C0 1C */ stw r0, -0x3fe4(r4)
/* 800A5320 000A1160 54 00 84 3E */ srwi r0, r0, 16
/* 800A5324 000A1164 B0 1D 00 EA */ sth r0, 0xea(r29)
.global lbl_800A5328
lbl_800A5328:
/* 800A5328 000A1168 A0 1D 00 EA */ lhz r0, 0xea(r29)
/* 800A532C 000A116C 38 60 00 00 */ li r3, 0x0
/* 800A5330 000A1170 90 1D 00 EC */ stw r0, 0xec(r29)
/* 800A5334 000A1174 38 00 00 01 */ li r0, 0x1
/* 800A5338 000A1178 3B 80 00 00 */ li r28, 0x0
/* 800A533C 000A117C C0 1F 00 1C */ lfs f0, 0x1c(r31)
/* 800A5340 000A1180 D0 1D 00 4C */ stfs f0, 0x4c(r29)
/* 800A5344 000A1184 C0 1F 00 20 */ lfs f0, 0x20(r31)
/* 800A5348 000A1188 D0 1D 00 50 */ stfs f0, 0x50(r29)
/* 800A534C 000A118C C0 1F 00 24 */ lfs f0, 0x24(r31)
/* 800A5350 000A1190 D0 1D 00 54 */ stfs f0, 0x54(r29)
/* 800A5354 000A1194 C0 1F 00 28 */ lfs f0, 0x28(r31)
/* 800A5358 000A1198 D0 1D 00 58 */ stfs f0, 0x58(r29)
/* 800A535C 000A119C C0 1F 00 2C */ lfs f0, 0x2c(r31)
/* 800A5360 000A11A0 D0 1D 00 5C */ stfs f0, 0x5c(r29)
/* 800A5364 000A11A4 C0 1F 00 30 */ lfs f0, 0x30(r31)
/* 800A5368 000A11A8 D0 1D 00 60 */ stfs f0, 0x60(r29)
/* 800A536C 000A11AC 98 1D 01 20 */ stb r0, 0x120(r29)
/* 800A5370 000A11B0 90 7D 00 F8 */ stw r3, 0xf8(r29)
/* 800A5374 000A11B4 80 7E 00 20 */ lwz r3, 0x20(r30)
/* 800A5378 000A11B8 80 1F 00 04 */ lwz r0, 0x4(r31)
/* 800A537C 000A11BC 80 63 00 0C */ lwz r3, 0xc(r3)
/* 800A5380 000A11C0 54 04 06 3E */ clrlwi r4, r0, 24
/* 800A5384 000A11C4 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A5388 000A11C8 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A538C 000A11CC 7D 89 03 A6 */ mtctr r12
/* 800A5390 000A11D0 4E 80 04 21 */ bctrl
/* 800A5394 000A11D4 C0 02 8A 08 */ lfs f0, "@9110"@sda21(r2)
/* 800A5398 000A11D8 90 7D 00 F0 */ stw r3, 0xf0(r29)
/* 800A539C 000A11DC 38 60 00 01 */ li r3, 0x1
/* 800A53A0 000A11E0 93 9D 00 F4 */ stw r28, 0xf4(r29)
/* 800A53A4 000A11E4 93 9D 00 BC */ stw r28, 0xbc(r29)
/* 800A53A8 000A11E8 D0 1D 01 1C */ stfs f0, 0x11c(r29)
/* 800A53AC 000A11EC D0 1D 01 18 */ stfs f0, 0x118(r29)
/* 800A53B0 000A11F0 D0 1D 01 14 */ stfs f0, 0x114(r29)
/* 800A53B4 000A11F4 D0 1D 01 10 */ stfs f0, 0x110(r29)
/* 800A53B8 000A11F8 D0 1D 01 0C */ stfs f0, 0x10c(r29)
/* 800A53BC 000A11FC D0 1D 01 08 */ stfs f0, 0x108(r29)
/* 800A53C0 000A1200 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 800A53C4 000A1204 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 800A53C8 000A1208 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 800A53CC 000A120C 83 81 00 20 */ lwz r28, 0x20(r1)
/* 800A53D0 000A1210 80 01 00 34 */ lwz r0, 0x34(r1)
/* 800A53D4 000A1214 7C 08 03 A6 */ mtlr r0
/* 800A53D8 000A1218 38 21 00 30 */ addi r1, r1, 0x30
/* 800A53DC 000A121C 4E 80 00 20 */ blr
.global Initialize__Q34nw4r2ef7EmitterFPQ34nw4r2ef6EffectPQ34nw4r2ef15EmitterResourceUc
Initialize__Q34nw4r2ef7EmitterFPQ34nw4r2ef6EffectPQ34nw4r2ef15EmitterResourceUc:
/* 800A53E0 000A1220 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A53E4 000A1224 7C 08 02 A6 */ mflr r0
/* 800A53E8 000A1228 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A53EC 000A122C 39 61 00 20 */ addi r11, r1, 0x20
/* 800A53F0 000A1230 4B F6 1F 49 */ bl lbl_80007338
/* 800A53F4 000A1234 3B 40 00 00 */ li r26, 0x0
/* 800A53F8 000A1238 3B 60 00 01 */ li r27, 0x1
/* 800A53FC 000A123C 7C 9F 23 78 */ mr r31, r4
/* 800A5400 000A1240 7C BD 2B 78 */ mr r29, r5
/* 800A5404 000A1244 93 43 00 10 */ stw r26, 0x10(r3)
/* 800A5408 000A1248 7C 7C 1B 78 */ mr r28, r3
/* 800A540C 000A124C 7C DE 33 78 */ mr r30, r6
/* 800A5410 000A1250 7F A4 EB 78 */ mr r4, r29
/* 800A5414 000A1254 93 63 00 0C */ stw r27, 0xc(r3)
/* 800A5418 000A1258 7F E5 FB 78 */ mr r5, r31
/* 800A541C 000A125C 93 43 00 C0 */ stw r26, 0xc0(r3)
/* 800A5420 000A1260 B3 43 00 C8 */ sth r26, 0xc8(r3)
/* 800A5424 000A1264 93 43 00 C4 */ stw r26, 0xc4(r3)
/* 800A5428 000A1268 93 43 00 CC */ stw r26, 0xcc(r3)
/* 800A542C 000A126C B3 43 00 D4 */ sth r26, 0xd4(r3)
/* 800A5430 000A1270 93 43 00 D0 */ stw r26, 0xd0(r3)
/* 800A5434 000A1274 B3 43 00 D8 */ sth r26, 0xd8(r3)
/* 800A5438 000A1278 4B FF FC C9 */ bl InitializeDatas__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef6Effect
/* 800A543C 000A127C 93 FC 00 BC */ stw r31, 0xbc(r28)
/* 800A5440 000A1280 80 7F 00 20 */ lwz r3, 0x20(r31)
/* 800A5444 000A1284 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A5448 000A1288 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A544C 000A128C 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 800A5450 000A1290 7D 89 03 A6 */ mtctr r12
/* 800A5454 000A1294 4E 80 04 21 */ bctrl
/* 800A5458 000A1298 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A545C 000A129C 7C 7F 1B 78 */ mr r31, r3
/* 800A5460 000A12A0 40 82 00 0C */ bne lbl_800A546C
/* 800A5464 000A12A4 38 60 00 00 */ li r3, 0x0
/* 800A5468 000A12A8 48 00 00 D0 */ b lbl_800A5538
.global lbl_800A546C
lbl_800A546C:
/* 800A546C 000A12AC 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A5470 000A12B0 7F 84 E3 78 */ mr r4, r28
/* 800A5474 000A12B4 7F A5 EB 78 */ mr r5, r29
/* 800A5478 000A12B8 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A547C 000A12BC 7D 89 03 A6 */ mtctr r12
/* 800A5480 000A12C0 4E 80 04 21 */ bctrl
/* 800A5484 000A12C4 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A5488 000A12C8 40 82 00 0C */ bne lbl_800A5494
/* 800A548C 000A12CC 38 60 00 00 */ li r3, 0x0
/* 800A5490 000A12D0 48 00 00 A8 */ b lbl_800A5538
.global lbl_800A5494
lbl_800A5494:
/* 800A5494 000A12D4 80 DC 00 BC */ lwz r6, 0xbc(r28)
/* 800A5498 000A12D8 7F E4 FB 78 */ mr r4, r31
/* 800A549C 000A12DC 38 7C 00 C0 */ addi r3, r28, 0xc0
/* 800A54A0 000A12E0 80 A6 00 10 */ lwz r5, 0x10(r6)
/* 800A54A4 000A12E4 38 05 00 01 */ addi r0, r5, 0x1
/* 800A54A8 000A12E8 90 06 00 10 */ stw r0, 0x10(r6)
/* 800A54AC 000A12EC 4B FF E3 A5 */ bl MEMAppendListObject
/* 800A54B0 000A12F0 A0 7C 00 D8 */ lhz r3, 0xd8(r28)
/* 800A54B4 000A12F4 38 03 00 01 */ addi r0, r3, 0x1
/* 800A54B8 000A12F8 B0 1C 00 D8 */ sth r0, 0xd8(r28)
/* 800A54BC 000A12FC 93 7F 00 0C */ stw r27, 0xc(r31)
/* 800A54C0 000A1300 93 5F 00 28 */ stw r26, 0x28(r31)
/* 800A54C4 000A1304 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 800A54C8 000A1308 54 00 06 B5 */ rlwinm. r0, r0, 0, 26, 26
/* 800A54CC 000A130C 41 82 00 10 */ beq lbl_800A54DC
/* 800A54D0 000A1310 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A54D4 000A1314 60 00 00 01 */ ori r0, r0, 0x1
/* 800A54D8 000A1318 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A54DC
lbl_800A54DC:
/* 800A54DC 000A131C 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 800A54E0 000A1320 54 00 06 73 */ rlwinm. r0, r0, 0, 25, 25
/* 800A54E4 000A1324 41 82 00 10 */ beq lbl_800A54F4
/* 800A54E8 000A1328 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A54EC 000A132C 60 00 00 02 */ ori r0, r0, 0x2
/* 800A54F0 000A1330 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A54F4
lbl_800A54F4:
/* 800A54F4 000A1334 88 1D 00 22 */ lbz r0, 0x22(r29)
/* 800A54F8 000A1338 98 1F 00 88 */ stb r0, 0x88(r31)
/* 800A54FC 000A133C 80 1D 00 08 */ lwz r0, 0x8(r29)
/* 800A5500 000A1340 54 00 05 6B */ rlwinm. r0, r0, 0, 21, 21
/* 800A5504 000A1344 41 82 00 10 */ beq lbl_800A5514
/* 800A5508 000A1348 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A550C 000A134C 60 00 00 04 */ ori r0, r0, 0x4
/* 800A5510 000A1350 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A5514
lbl_800A5514:
/* 800A5514 000A1354 9B DF 00 89 */ stb r30, 0x89(r31)
/* 800A5518 000A1358 7F E5 FB 78 */ mr r5, r31
/* 800A551C 000A135C 80 9C 00 BC */ lwz r4, 0xbc(r28)
/* 800A5520 000A1360 80 64 00 9C */ lwz r3, 0x9c(r4)
/* 800A5524 000A1364 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A5528 000A1368 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A552C 000A136C 7D 89 03 A6 */ mtctr r12
/* 800A5530 000A1370 4E 80 04 21 */ bctrl
/* 800A5534 000A1374 38 60 00 01 */ li r3, 0x1
.global lbl_800A5538
lbl_800A5538:
/* 800A5538 000A1378 39 61 00 20 */ addi r11, r1, 0x20
/* 800A553C 000A137C 4B F6 1E 49 */ bl lbl_80007384
/* 800A5540 000A1380 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A5544 000A1384 7C 08 03 A6 */ mtlr r0
/* 800A5548 000A1388 38 21 00 20 */ addi r1, r1, 0x20
/* 800A554C 000A138C 4E 80 00 20 */ blr
.global CreateEmitter__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8ParticleUsPQ34nw4r4math4VEC3
CreateEmitter__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8ParticleUsPQ34nw4r4math4VEC3:
/* 800A5550 000A1390 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 800A5554 000A1394 7C 08 02 A6 */ mflr r0
/* 800A5558 000A1398 90 01 00 94 */ stw r0, 0x94(r1)
/* 800A555C 000A139C 39 61 00 90 */ addi r11, r1, 0x90
/* 800A5560 000A13A0 4B F6 1D D9 */ bl lbl_80007338
/* 800A5564 000A13A4 80 04 00 08 */ lwz r0, 0x8(r4)
/* 800A5568 000A13A8 7C 7B 1B 78 */ mr r27, r3
/* 800A556C 000A13AC 7C BC 2B 78 */ mr r28, r5
/* 800A5570 000A13B0 7C DD 33 78 */ mr r29, r6
/* 800A5574 000A13B4 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
/* 800A5578 000A13B8 7C FA 3B 78 */ mr r26, r7
/* 800A557C 000A13BC 7D 1E 43 78 */ mr r30, r8
/* 800A5580 000A13C0 40 82 00 0C */ bne lbl_800A558C
/* 800A5584 000A13C4 38 60 00 00 */ li r3, 0x0
/* 800A5588 000A13C8 48 00 02 8C */ b lbl_800A5814
.global lbl_800A558C
lbl_800A558C:
/* 800A558C 000A13CC 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 800A5590 000A13D0 38 C0 00 00 */ li r6, 0x0
/* 800A5594 000A13D4 88 A5 00 05 */ lbz r5, 0x5(r5)
/* 800A5598 000A13D8 4B FF E8 19 */ bl CreateEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef15EmitterResourceUcUs
/* 800A559C 000A13DC 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A55A0 000A13E0 7C 7F 1B 78 */ mr r31, r3
/* 800A55A4 000A13E4 40 82 00 0C */ bne lbl_800A55B0
/* 800A55A8 000A13E8 38 60 00 00 */ li r3, 0x0
/* 800A55AC 000A13EC 48 00 02 68 */ b lbl_800A5814
.global lbl_800A55B0
lbl_800A55B0:
/* 800A55B0 000A13F0 A0 83 00 E8 */ lhz r4, 0xe8(r3)
/* 800A55B4 000A13F4 38 00 00 00 */ li r0, 0x0
/* 800A55B8 000A13F8 7C 84 D2 14 */ add r4, r4, r26
/* 800A55BC 000A13FC B0 83 00 E8 */ sth r4, 0xe8(r3)
/* 800A55C0 000A1400 93 63 00 F4 */ stw r27, 0xf4(r3)
/* 800A55C4 000A1404 80 9B 00 10 */ lwz r4, 0x10(r27)
/* 800A55C8 000A1408 38 84 00 01 */ addi r4, r4, 0x1
/* 800A55CC 000A140C 90 9B 00 10 */ stw r4, 0x10(r27)
/* 800A55D0 000A1410 98 03 00 64 */ stb r0, 0x64(r3)
/* 800A55D4 000A1414 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 800A55D8 000A1418 54 00 06 31 */ rlwinm. r0, r0, 0, 24, 24
/* 800A55DC 000A141C 41 82 00 10 */ beq lbl_800A55EC
/* 800A55E0 000A1420 88 03 00 64 */ lbz r0, 0x64(r3)
/* 800A55E4 000A1424 60 00 00 01 */ ori r0, r0, 0x1
/* 800A55E8 000A1428 98 03 00 64 */ stb r0, 0x64(r3)
.global lbl_800A55EC
lbl_800A55EC:
/* 800A55EC 000A142C 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 800A55F0 000A1430 54 00 05 EF */ rlwinm. r0, r0, 0, 23, 23
/* 800A55F4 000A1434 41 82 00 10 */ beq lbl_800A5604
/* 800A55F8 000A1438 88 03 00 64 */ lbz r0, 0x64(r3)
/* 800A55FC 000A143C 60 00 00 02 */ ori r0, r0, 0x2
/* 800A5600 000A1440 98 03 00 64 */ stb r0, 0x64(r3)
.global lbl_800A5604
lbl_800A5604:
/* 800A5604 000A1444 80 9B 00 B8 */ lwz r4, 0xb8(r27)
/* 800A5608 000A1448 88 04 00 23 */ lbz r0, 0x23(r4)
/* 800A560C 000A144C 98 03 00 65 */ stb r0, 0x65(r3)
/* 800A5610 000A1450 80 1B 00 20 */ lwz r0, 0x20(r27)
/* 800A5614 000A1454 54 00 05 29 */ rlwinm. r0, r0, 0, 20, 20
/* 800A5618 000A1458 41 82 00 10 */ beq lbl_800A5628
/* 800A561C 000A145C 88 03 00 64 */ lbz r0, 0x64(r3)
/* 800A5620 000A1460 60 00 00 04 */ ori r0, r0, 0x4
/* 800A5624 000A1464 98 03 00 64 */ stb r0, 0x64(r3)
.global lbl_800A5628
lbl_800A5628:
/* 800A5628 000A1468 80 A3 00 90 */ lwz r5, 0x90(r3)
/* 800A562C 000A146C 80 83 00 94 */ lwz r4, 0x94(r3)
/* 800A5630 000A1470 80 03 00 98 */ lwz r0, 0x98(r3)
/* 800A5634 000A1474 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A5638 000A1478 D0 03 00 90 */ stfs f0, 0x90(r3)
/* 800A563C 000A147C D0 03 00 94 */ stfs f0, 0x94(r3)
/* 800A5640 000A1480 D0 03 00 98 */ stfs f0, 0x98(r3)
/* 800A5644 000A1484 7F E3 FB 78 */ mr r3, r31
/* 800A5648 000A1488 90 A1 00 08 */ stw r5, 0x8(r1)
/* 800A564C 000A148C 90 81 00 0C */ stw r4, 0xc(r1)
/* 800A5650 000A1490 90 01 00 10 */ stw r0, 0x10(r1)
/* 800A5654 000A1494 48 00 17 8D */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
/* 800A5658 000A1498 38 61 00 48 */ addi r3, r1, 0x48
/* 800A565C 000A149C 4B F8 AE 85 */ bl PSMTXIdentity
/* 800A5660 000A14A0 C0 3F 00 A8 */ lfs f1, 0xa8(r31)
/* 800A5664 000A14A4 38 61 00 48 */ addi r3, r1, 0x48
/* 800A5668 000A14A8 C0 5F 00 AC */ lfs f2, 0xac(r31)
/* 800A566C 000A14AC C0 7F 00 B0 */ lfs f3, 0xb0(r31)
/* 800A5670 000A14B0 48 00 E6 21 */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A5674 000A14B4 38 61 00 48 */ addi r3, r1, 0x48
/* 800A5678 000A14B8 38 BF 00 9C */ addi r5, r31, 0x9c
/* 800A567C 000A14BC 7C 64 1B 78 */ mr r4, r3
/* 800A5680 000A14C0 48 00 E7 91 */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A5684 000A14C4 7F E3 FB 78 */ mr r3, r31
/* 800A5688 000A14C8 38 81 00 18 */ addi r4, r1, 0x18
/* 800A568C 000A14CC 48 00 16 05 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A5690 000A14D0 38 61 00 18 */ addi r3, r1, 0x18
/* 800A5694 000A14D4 7C 64 1B 78 */ mr r4, r3
/* 800A5698 000A14D8 4B F8 B1 69 */ bl PSMTXInverse
/* 800A569C 000A14DC 38 61 00 48 */ addi r3, r1, 0x48
/* 800A56A0 000A14E0 38 81 00 18 */ addi r4, r1, 0x18
/* 800A56A4 000A14E4 7C 65 1B 78 */ mr r5, r3
/* 800A56A8 000A14E8 4B F8 AE A9 */ bl PSMTXConcat
/* 800A56AC 000A14EC 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A56B0 000A14F0 41 82 00 20 */ beq lbl_800A56D0
/* 800A56B4 000A14F4 80 7D 00 C8 */ lwz r3, 0xc8(r29)
/* 800A56B8 000A14F8 38 81 00 18 */ addi r4, r1, 0x18
/* 800A56BC 000A14FC 48 00 C7 B5 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800A56C0 000A1500 38 61 00 48 */ addi r3, r1, 0x48
/* 800A56C4 000A1504 38 81 00 18 */ addi r4, r1, 0x18
/* 800A56C8 000A1508 7C 65 1B 78 */ mr r5, r3
/* 800A56CC 000A150C 4B F8 AE 85 */ bl PSMTXConcat
.global lbl_800A56D0
lbl_800A56D0:
/* 800A56D0 000A1510 2C 1E 00 00 */ cmpwi r30, 0x0
/* 800A56D4 000A1514 40 82 00 20 */ bne lbl_800A56F4
/* 800A56D8 000A1518 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A56DC 000A151C 41 82 00 28 */ beq lbl_800A5704
/* 800A56E0 000A1520 38 61 00 48 */ addi r3, r1, 0x48
/* 800A56E4 000A1524 38 BD 00 AC */ addi r5, r29, 0xac
/* 800A56E8 000A1528 7C 64 1B 78 */ mr r4, r3
/* 800A56EC 000A152C 48 05 97 C5 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A56F0 000A1530 48 00 00 14 */ b lbl_800A5704
.global lbl_800A56F4
lbl_800A56F4:
/* 800A56F4 000A1534 38 61 00 48 */ addi r3, r1, 0x48
/* 800A56F8 000A1538 7F C5 F3 78 */ mr r5, r30
/* 800A56FC 000A153C 7C 64 1B 78 */ mr r4, r3
/* 800A5700 000A1540 48 05 97 B1 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A5704
lbl_800A5704:
/* 800A5704 000A1544 C0 3F 00 A8 */ lfs f1, 0xa8(r31)
/* 800A5708 000A1548 38 61 00 18 */ addi r3, r1, 0x18
/* 800A570C 000A154C C0 5F 00 AC */ lfs f2, 0xac(r31)
/* 800A5710 000A1550 C0 7F 00 B0 */ lfs f3, 0xb0(r31)
/* 800A5714 000A1554 48 00 E5 7D */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A5718 000A1558 38 61 00 18 */ addi r3, r1, 0x18
/* 800A571C 000A155C 38 BF 00 9C */ addi r5, r31, 0x9c
/* 800A5720 000A1560 7C 64 1B 78 */ mr r4, r3
/* 800A5724 000A1564 48 00 E6 ED */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A5728 000A1568 38 61 00 18 */ addi r3, r1, 0x18
/* 800A572C 000A156C 7C 64 1B 78 */ mr r4, r3
/* 800A5730 000A1570 4B F8 B0 D1 */ bl PSMTXInverse
/* 800A5734 000A1574 38 61 00 48 */ addi r3, r1, 0x48
/* 800A5738 000A1578 38 81 00 18 */ addi r4, r1, 0x18
/* 800A573C 000A157C 7C 65 1B 78 */ mr r5, r3
/* 800A5740 000A1580 4B F8 AE 11 */ bl PSMTXConcat
/* 800A5744 000A1584 C0 21 00 08 */ lfs f1, 0x8(r1)
/* 800A5748 000A1588 7F E3 FB 78 */ mr r3, r31
/* 800A574C 000A158C C0 01 00 54 */ lfs f0, 0x54(r1)
/* 800A5750 000A1590 C0 41 00 0C */ lfs f2, 0xc(r1)
/* 800A5754 000A1594 EC 01 00 2A */ fadds f0, f1, f0
/* 800A5758 000A1598 C0 21 00 10 */ lfs f1, 0x10(r1)
/* 800A575C 000A159C D0 1F 00 90 */ stfs f0, 0x90(r31)
/* 800A5760 000A15A0 C0 01 00 64 */ lfs f0, 0x64(r1)
/* 800A5764 000A15A4 EC 02 00 2A */ fadds f0, f2, f0
/* 800A5768 000A15A8 D0 1F 00 94 */ stfs f0, 0x94(r31)
/* 800A576C 000A15AC C0 01 00 74 */ lfs f0, 0x74(r1)
/* 800A5770 000A15B0 EC 01 00 2A */ fadds f0, f1, f0
/* 800A5774 000A15B4 D0 1F 00 98 */ stfs f0, 0x98(r31)
/* 800A5778 000A15B8 48 00 16 69 */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
/* 800A577C 000A15BC A8 1C 00 00 */ lha r0, 0x0(r28)
/* 800A5780 000A15C0 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5784 000A15C4 40 82 00 34 */ bne lbl_800A57B8
/* 800A5788 000A15C8 88 1C 00 02 */ lbz r0, 0x2(r28)
/* 800A578C 000A15CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5790 000A15D0 40 82 00 28 */ bne lbl_800A57B8
/* 800A5794 000A15D4 88 1C 00 03 */ lbz r0, 0x3(r28)
/* 800A5798 000A15D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A579C 000A15DC 40 82 00 1C */ bne lbl_800A57B8
/* 800A57A0 000A15E0 88 1C 00 04 */ lbz r0, 0x4(r28)
/* 800A57A4 000A15E4 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A57A8 000A15E8 40 82 00 10 */ bne lbl_800A57B8
/* 800A57AC 000A15EC 88 1C 00 07 */ lbz r0, 0x7(r28)
/* 800A57B0 000A15F0 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800A57B4 000A15F4 41 82 00 5C */ beq lbl_800A5810
.global lbl_800A57B8
lbl_800A57B8:
/* 800A57B8 000A15F8 93 BF 00 F8 */ stw r29, 0xf8(r31)
/* 800A57BC 000A15FC 80 7D 00 10 */ lwz r3, 0x10(r29)
/* 800A57C0 000A1600 38 03 00 01 */ addi r0, r3, 0x1
/* 800A57C4 000A1604 90 1D 00 10 */ stw r0, 0x10(r29)
/* 800A57C8 000A1608 A8 1C 00 00 */ lha r0, 0x0(r28)
/* 800A57CC 000A160C B0 1F 00 FC */ sth r0, 0xfc(r31)
/* 800A57D0 000A1610 88 1C 00 02 */ lbz r0, 0x2(r28)
/* 800A57D4 000A1614 98 1F 00 FE */ stb r0, 0xfe(r31)
/* 800A57D8 000A1618 88 1C 00 03 */ lbz r0, 0x3(r28)
/* 800A57DC 000A161C 98 1F 00 FF */ stb r0, 0xff(r31)
/* 800A57E0 000A1620 88 1C 00 04 */ lbz r0, 0x4(r28)
/* 800A57E4 000A1624 98 1F 01 00 */ stb r0, 0x100(r31)
/* 800A57E8 000A1628 88 1C 00 05 */ lbz r0, 0x5(r28)
/* 800A57EC 000A162C 98 1F 01 01 */ stb r0, 0x101(r31)
/* 800A57F0 000A1630 88 1C 00 06 */ lbz r0, 0x6(r28)
/* 800A57F4 000A1634 98 1F 01 02 */ stb r0, 0x102(r31)
/* 800A57F8 000A1638 88 1C 00 07 */ lbz r0, 0x7(r28)
/* 800A57FC 000A163C 98 1F 01 03 */ stb r0, 0x103(r31)
/* 800A5800 000A1640 88 1C 00 08 */ lbz r0, 0x8(r28)
/* 800A5804 000A1644 98 1F 01 04 */ stb r0, 0x104(r31)
/* 800A5808 000A1648 88 1C 00 09 */ lbz r0, 0x9(r28)
/* 800A580C 000A164C 98 1F 01 05 */ stb r0, 0x105(r31)
.global lbl_800A5810
lbl_800A5810:
/* 800A5810 000A1650 7F E3 FB 78 */ mr r3, r31
.global lbl_800A5814
lbl_800A5814:
/* 800A5814 000A1654 39 61 00 90 */ addi r11, r1, 0x90
/* 800A5818 000A1658 4B F6 1B 6D */ bl lbl_80007384
/* 800A581C 000A165C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 800A5820 000A1660 7C 08 03 A6 */ mtlr r0
/* 800A5824 000A1664 38 21 00 90 */ addi r1, r1, 0x90
/* 800A5828 000A1668 4E 80 00 20 */ blr
/* 800A582C 000A166C 00 00 00 00 */ .4byte 0x00000000
.global CreateEmitterTmp__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8ParticleUsPQ34nw4r4math4VEC3
CreateEmitterTmp__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8ParticleUsPQ34nw4r4math4VEC3:
/* 800A5830 000A1670 94 21 FD 30 */ stwu r1, -0x2d0(r1)
/* 800A5834 000A1674 7C 08 02 A6 */ mflr r0
/* 800A5838 000A1678 90 01 02 D4 */ stw r0, 0x2d4(r1)
/* 800A583C 000A167C 39 61 02 D0 */ addi r11, r1, 0x2d0
/* 800A5840 000A1680 4B F6 1A E9 */ bl lbl_80007328
/* 800A5844 000A1684 80 04 00 08 */ lwz r0, 0x8(r4)
/* 800A5848 000A1688 7C 76 1B 78 */ mr r22, r3
/* 800A584C 000A168C 7C 97 23 78 */ mr r23, r4
/* 800A5850 000A1690 7C B8 2B 78 */ mr r24, r5
/* 800A5854 000A1694 54 00 00 43 */ rlwinm. r0, r0, 0, 1, 1
/* 800A5858 000A1698 7C D9 33 78 */ mr r25, r6
/* 800A585C 000A169C 7C FC 3B 78 */ mr r28, r7
/* 800A5860 000A16A0 7D 1A 43 78 */ mr r26, r8
/* 800A5864 000A16A4 40 82 00 0C */ bne lbl_800A5870
/* 800A5868 000A16A8 38 60 00 00 */ li r3, 0x0
/* 800A586C 000A16AC 48 00 07 20 */ b lbl_800A5F8C
.global lbl_800A5870
lbl_800A5870:
/* 800A5870 000A16B0 3C 80 80 44 */ lis r4, __vt__Q34nw4r2ef7Emitter@ha
/* 800A5874 000A16B4 38 61 02 10 */ addi r3, r1, 0x210
/* 800A5878 000A16B8 38 84 00 E0 */ addi r4, r4, __vt__Q34nw4r2ef7Emitter@l
/* 800A587C 000A16BC 90 81 01 6C */ stw r4, 0x16c(r1)
/* 800A5880 000A16C0 38 80 00 14 */ li r4, 0x14
/* 800A5884 000A16C4 4B FF DF AD */ bl MEMInitList
/* 800A5888 000A16C8 38 61 02 1C */ addi r3, r1, 0x21c
/* 800A588C 000A16CC 38 80 00 14 */ li r4, 0x14
/* 800A5890 000A16D0 4B FF DF A1 */ bl MEMInitList
/* 800A5894 000A16D4 38 00 00 00 */ li r0, 0x0
/* 800A5898 000A16D8 B0 01 02 28 */ sth r0, 0x228(r1)
/* 800A589C 000A16DC 80 B6 00 BC */ lwz r5, 0xbc(r22)
/* 800A58A0 000A16E0 80 65 00 20 */ lwz r3, 0x20(r5)
/* 800A58A4 000A16E4 3C 63 00 01 */ addis r3, r3, 0x1
/* 800A58A8 000A16E8 83 63 C0 68 */ lwz r27, -0x3f98(r3)
/* 800A58AC 000A16EC 2C 1B 00 00 */ cmpwi r27, 0x0
/* 800A58B0 000A16F0 41 82 00 08 */ beq lbl_800A58B8
/* 800A58B4 000A16F4 48 00 00 08 */ b lbl_800A58BC
.global lbl_800A58B8
lbl_800A58B8:
/* 800A58B8 000A16F8 3B 61 01 50 */ addi r27, r1, 0x150
.global lbl_800A58BC
lbl_800A58BC:
/* 800A58BC 000A16FC 7F 63 DB 78 */ mr r3, r27
/* 800A58C0 000A1700 7E E4 BB 78 */ mr r4, r23
/* 800A58C4 000A1704 4B FF F8 3D */ bl InitializeDatas__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef6Effect
/* 800A58C8 000A1708 A0 7B 00 E8 */ lhz r3, 0xe8(r27)
/* 800A58CC 000A170C 38 00 00 00 */ li r0, 0x0
/* 800A58D0 000A1710 7C 63 E2 14 */ add r3, r3, r28
/* 800A58D4 000A1714 B0 7B 00 E8 */ sth r3, 0xe8(r27)
/* 800A58D8 000A1718 80 76 00 BC */ lwz r3, 0xbc(r22)
/* 800A58DC 000A171C 90 7B 00 BC */ stw r3, 0xbc(r27)
/* 800A58E0 000A1720 92 DB 00 F4 */ stw r22, 0xf4(r27)
/* 800A58E4 000A1724 98 1B 00 64 */ stb r0, 0x64(r27)
/* 800A58E8 000A1728 80 16 00 20 */ lwz r0, 0x20(r22)
/* 800A58EC 000A172C 54 00 04 E7 */ rlwinm. r0, r0, 0, 19, 19
/* 800A58F0 000A1730 41 82 00 10 */ beq lbl_800A5900
/* 800A58F4 000A1734 88 1B 00 64 */ lbz r0, 0x64(r27)
/* 800A58F8 000A1738 60 00 00 01 */ ori r0, r0, 0x1
/* 800A58FC 000A173C 98 1B 00 64 */ stb r0, 0x64(r27)
.global lbl_800A5900
lbl_800A5900:
/* 800A5900 000A1740 80 16 00 20 */ lwz r0, 0x20(r22)
/* 800A5904 000A1744 54 00 04 A5 */ rlwinm. r0, r0, 0, 18, 18
/* 800A5908 000A1748 41 82 00 10 */ beq lbl_800A5918
/* 800A590C 000A174C 88 1B 00 64 */ lbz r0, 0x64(r27)
/* 800A5910 000A1750 60 00 00 02 */ ori r0, r0, 0x2
/* 800A5914 000A1754 98 1B 00 64 */ stb r0, 0x64(r27)
.global lbl_800A5918
lbl_800A5918:
/* 800A5918 000A1758 80 76 00 B8 */ lwz r3, 0xb8(r22)
/* 800A591C 000A175C 88 03 00 15 */ lbz r0, 0x15(r3)
/* 800A5920 000A1760 98 1B 00 65 */ stb r0, 0x65(r27)
/* 800A5924 000A1764 7C 00 07 75 */ extsb. r0, r0
/* 800A5928 000A1768 41 82 00 0C */ beq lbl_800A5934
/* 800A592C 000A176C 38 00 00 64 */ li r0, 0x64
/* 800A5930 000A1770 98 1B 00 65 */ stb r0, 0x65(r27)
.global lbl_800A5934
lbl_800A5934:
/* 800A5934 000A1774 80 16 00 20 */ lwz r0, 0x20(r22)
/* 800A5938 000A1778 54 00 05 29 */ rlwinm. r0, r0, 0, 20, 20
/* 800A593C 000A177C 41 82 00 10 */ beq lbl_800A594C
/* 800A5940 000A1780 88 1B 00 64 */ lbz r0, 0x64(r27)
/* 800A5944 000A1784 60 00 00 04 */ ori r0, r0, 0x4
/* 800A5948 000A1788 98 1B 00 64 */ stb r0, 0x64(r27)
.global lbl_800A594C
lbl_800A594C:
/* 800A594C 000A178C 88 18 00 07 */ lbz r0, 0x7(r24)
/* 800A5950 000A1790 54 00 07 FF */ clrlwi. r0, r0, 31
/* 800A5954 000A1794 41 82 00 F4 */ beq lbl_800A5A48
/* 800A5958 000A1798 A8 18 00 00 */ lha r0, 0x0(r24)
/* 800A595C 000A179C 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5960 000A17A0 41 82 00 E8 */ beq lbl_800A5A48
/* 800A5964 000A17A4 80 79 00 C8 */ lwz r3, 0xc8(r25)
/* 800A5968 000A17A8 38 81 00 F0 */ addi r4, r1, 0xf0
/* 800A596C 000A17AC 48 00 C5 05 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800A5970 000A17B0 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A5974 000A17B4 3B 81 00 20 */ addi r28, r1, 0x20
/* 800A5978 000A17B8 D0 01 01 1C */ stfs f0, 0x11c(r1)
/* 800A597C 000A17BC 38 C1 00 08 */ addi r6, r1, 0x8
/* 800A5980 000A17C0 7F 84 E3 78 */ mr r4, r28
/* 800A5984 000A17C4 7F 85 E3 78 */ mr r5, r28
/* 800A5988 000A17C8 D0 01 01 0C */ stfs f0, 0x10c(r1)
/* 800A598C 000A17CC 38 61 00 F0 */ addi r3, r1, 0xf0
/* 800A5990 000A17D0 D0 01 00 FC */ stfs f0, 0xfc(r1)
/* 800A5994 000A17D4 E0 59 00 AC */ psq_l f2, 0xac(r25), 0, qr0
/* 800A5998 000A17D8 E0 39 00 B8 */ psq_l f1, 0xb8(r25), 0, qr0
/* 800A599C 000A17DC 10 02 08 28 */ ps_sub f0, f2, f1
/* 800A59A0 000A17E0 E0 59 80 B4 */ psq_l f2, 0xb4(r25), 1, qr0
/* 800A59A4 000A17E4 E0 39 80 C0 */ psq_l f1, 0xc0(r25), 1, qr0
/* 800A59A8 000A17E8 F0 06 00 00 */ psq_st f0, 0x0(r6), 0, qr0
/* 800A59AC 000A17EC 10 02 08 28 */ ps_sub f0, f2, f1
/* 800A59B0 000A17F0 C0 41 00 08 */ lfs f2, 0x8(r1)
/* 800A59B4 000A17F4 F0 06 80 08 */ psq_st f0, 0x8(r6), 1, qr0
/* 800A59B8 000A17F8 C0 21 00 0C */ lfs f1, 0xc(r1)
/* 800A59BC 000A17FC C0 01 00 10 */ lfs f0, 0x10(r1)
/* 800A59C0 000A1800 D0 41 00 20 */ stfs f2, 0x20(r1)
/* 800A59C4 000A1804 D0 21 00 24 */ stfs f1, 0x24(r1)
/* 800A59C8 000A1808 D0 01 00 28 */ stfs f0, 0x28(r1)
/* 800A59CC 000A180C 4B F8 B7 25 */ bl PSMTXMultVec
/* 800A59D0 000A1810 7F 83 E3 78 */ mr r3, r28
/* 800A59D4 000A1814 7F 84 E3 78 */ mr r4, r28
/* 800A59D8 000A1818 48 00 DF F9 */ bl Normalize__Q24nw4r2efFPQ34nw4r4math4VEC3PCQ34nw4r4math4VEC3
/* 800A59DC 000A181C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A59E0 000A1820 41 82 00 68 */ beq lbl_800A5A48
/* 800A59E4 000A1824 A8 18 00 00 */ lha r0, 0x0(r24)
/* 800A59E8 000A1828 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A59EC 000A182C 40 80 00 20 */ bge lbl_800A5A0C
/* 800A59F0 000A1830 C0 02 8A 20 */ lfs f0, "@9451"@sda21(r2)
/* 800A59F4 000A1834 E0 5C 00 00 */ psq_l f2, 0x0(r28), 0, qr0
/* 800A59F8 000A1838 10 22 00 18 */ ps_muls0 f1, f2, f0
/* 800A59FC 000A183C E0 5C 80 08 */ psq_l f2, 0x8(r28), 1, qr0
/* 800A5A00 000A1840 F0 3C 00 00 */ psq_st f1, 0x0(r28), 0, qr0
/* 800A5A04 000A1844 10 22 00 18 */ ps_muls0 f1, f2, f0
/* 800A5A08 000A1848 F0 3C 80 08 */ psq_st f1, 0x8(r28), 1, qr0
.global lbl_800A5A0C
lbl_800A5A0C:
/* 800A5A0C 000A184C 38 61 01 20 */ addi r3, r1, 0x120
/* 800A5A10 000A1850 38 81 00 20 */ addi r4, r1, 0x20
/* 800A5A14 000A1854 48 00 D7 2D */ bl GetDirMtxY__Q24nw4r2efFPQ34nw4r4math5MTX34RCQ34nw4r4math4VEC3
/* 800A5A18 000A1858 C0 3B 00 A8 */ lfs f1, 0xa8(r27)
/* 800A5A1C 000A185C 38 61 00 F0 */ addi r3, r1, 0xf0
/* 800A5A20 000A1860 C0 5B 00 AC */ lfs f2, 0xac(r27)
/* 800A5A24 000A1864 C0 7B 00 B0 */ lfs f3, 0xb0(r27)
/* 800A5A28 000A1868 48 00 E2 69 */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A5A2C 000A186C 38 61 01 20 */ addi r3, r1, 0x120
/* 800A5A30 000A1870 38 81 00 F0 */ addi r4, r1, 0xf0
/* 800A5A34 000A1874 7C 65 1B 78 */ mr r5, r3
/* 800A5A38 000A1878 4B F8 AB 19 */ bl PSMTXConcat
/* 800A5A3C 000A187C 38 61 01 20 */ addi r3, r1, 0x120
/* 800A5A40 000A1880 38 9B 00 A8 */ addi r4, r27, 0xa8
/* 800A5A44 000A1884 48 00 D9 2D */ bl MtxGetRotation__Q24nw4r2efFRCQ34nw4r4math5MTX34PQ34nw4r4math4VEC3
.global lbl_800A5A48
lbl_800A5A48:
/* 800A5A48 000A1888 80 BB 00 90 */ lwz r5, 0x90(r27)
/* 800A5A4C 000A188C 7F 63 DB 78 */ mr r3, r27
/* 800A5A50 000A1890 80 9B 00 94 */ lwz r4, 0x94(r27)
/* 800A5A54 000A1894 80 1B 00 98 */ lwz r0, 0x98(r27)
/* 800A5A58 000A1898 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A5A5C 000A189C D0 1B 00 90 */ stfs f0, 0x90(r27)
/* 800A5A60 000A18A0 D0 1B 00 94 */ stfs f0, 0x94(r27)
/* 800A5A64 000A18A4 90 A1 00 14 */ stw r5, 0x14(r1)
/* 800A5A68 000A18A8 90 81 00 18 */ stw r4, 0x18(r1)
/* 800A5A6C 000A18AC 90 01 00 1C */ stw r0, 0x1c(r1)
/* 800A5A70 000A18B0 D0 1B 00 98 */ stfs f0, 0x98(r27)
/* 800A5A74 000A18B4 48 00 13 6D */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
/* 800A5A78 000A18B8 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5A7C 000A18BC 4B F8 AA 65 */ bl PSMTXIdentity
/* 800A5A80 000A18C0 C0 3B 00 A8 */ lfs f1, 0xa8(r27)
/* 800A5A84 000A18C4 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5A88 000A18C8 C0 5B 00 AC */ lfs f2, 0xac(r27)
/* 800A5A8C 000A18CC C0 7B 00 B0 */ lfs f3, 0xb0(r27)
/* 800A5A90 000A18D0 48 00 E2 01 */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A5A94 000A18D4 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5A98 000A18D8 38 BB 00 9C */ addi r5, r27, 0x9c
/* 800A5A9C 000A18DC 7C 64 1B 78 */ mr r4, r3
/* 800A5AA0 000A18E0 48 00 E3 71 */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A5AA4 000A18E4 7F 63 DB 78 */ mr r3, r27
/* 800A5AA8 000A18E8 38 81 00 90 */ addi r4, r1, 0x90
/* 800A5AAC 000A18EC 48 00 11 E5 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A5AB0 000A18F0 38 61 00 90 */ addi r3, r1, 0x90
/* 800A5AB4 000A18F4 7C 64 1B 78 */ mr r4, r3
/* 800A5AB8 000A18F8 4B F8 AD 49 */ bl PSMTXInverse
/* 800A5ABC 000A18FC 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5AC0 000A1900 38 81 00 90 */ addi r4, r1, 0x90
/* 800A5AC4 000A1904 7C 65 1B 78 */ mr r5, r3
/* 800A5AC8 000A1908 4B F8 AA 89 */ bl PSMTXConcat
/* 800A5ACC 000A190C 2C 19 00 00 */ cmpwi r25, 0x0
/* 800A5AD0 000A1910 41 82 00 20 */ beq lbl_800A5AF0
/* 800A5AD4 000A1914 80 79 00 C8 */ lwz r3, 0xc8(r25)
/* 800A5AD8 000A1918 38 81 00 90 */ addi r4, r1, 0x90
/* 800A5ADC 000A191C 48 00 C3 95 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800A5AE0 000A1920 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5AE4 000A1924 38 81 00 90 */ addi r4, r1, 0x90
/* 800A5AE8 000A1928 7C 65 1B 78 */ mr r5, r3
/* 800A5AEC 000A192C 4B F8 AA 65 */ bl PSMTXConcat
.global lbl_800A5AF0
lbl_800A5AF0:
/* 800A5AF0 000A1930 2C 1A 00 00 */ cmpwi r26, 0x0
/* 800A5AF4 000A1934 40 82 00 20 */ bne lbl_800A5B14
/* 800A5AF8 000A1938 2C 19 00 00 */ cmpwi r25, 0x0
/* 800A5AFC 000A193C 41 82 00 28 */ beq lbl_800A5B24
/* 800A5B00 000A1940 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5B04 000A1944 38 B9 00 AC */ addi r5, r25, 0xac
/* 800A5B08 000A1948 7C 64 1B 78 */ mr r4, r3
/* 800A5B0C 000A194C 48 05 93 A5 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A5B10 000A1950 48 00 00 14 */ b lbl_800A5B24
.global lbl_800A5B14
lbl_800A5B14:
/* 800A5B14 000A1954 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5B18 000A1958 7F 45 D3 78 */ mr r5, r26
/* 800A5B1C 000A195C 7C 64 1B 78 */ mr r4, r3
/* 800A5B20 000A1960 48 05 93 91 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A5B24
lbl_800A5B24:
/* 800A5B24 000A1964 C0 3B 00 A8 */ lfs f1, 0xa8(r27)
/* 800A5B28 000A1968 38 61 00 90 */ addi r3, r1, 0x90
/* 800A5B2C 000A196C C0 5B 00 AC */ lfs f2, 0xac(r27)
/* 800A5B30 000A1970 C0 7B 00 B0 */ lfs f3, 0xb0(r27)
/* 800A5B34 000A1974 48 00 E1 5D */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A5B38 000A1978 38 61 00 90 */ addi r3, r1, 0x90
/* 800A5B3C 000A197C 38 BB 00 9C */ addi r5, r27, 0x9c
/* 800A5B40 000A1980 7C 64 1B 78 */ mr r4, r3
/* 800A5B44 000A1984 48 00 E2 CD */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A5B48 000A1988 38 61 00 90 */ addi r3, r1, 0x90
/* 800A5B4C 000A198C 7C 64 1B 78 */ mr r4, r3
/* 800A5B50 000A1990 4B F8 AC B1 */ bl PSMTXInverse
/* 800A5B54 000A1994 38 61 00 C0 */ addi r3, r1, 0xc0
/* 800A5B58 000A1998 38 81 00 90 */ addi r4, r1, 0x90
/* 800A5B5C 000A199C 7C 65 1B 78 */ mr r5, r3
/* 800A5B60 000A19A0 4B F8 A9 F1 */ bl PSMTXConcat
/* 800A5B64 000A19A4 C0 21 00 14 */ lfs f1, 0x14(r1)
/* 800A5B68 000A19A8 7F 63 DB 78 */ mr r3, r27
/* 800A5B6C 000A19AC C0 01 00 CC */ lfs f0, 0xcc(r1)
/* 800A5B70 000A19B0 C0 41 00 18 */ lfs f2, 0x18(r1)
/* 800A5B74 000A19B4 EC 01 00 2A */ fadds f0, f1, f0
/* 800A5B78 000A19B8 C0 21 00 1C */ lfs f1, 0x1c(r1)
/* 800A5B7C 000A19BC D0 1B 00 90 */ stfs f0, 0x90(r27)
/* 800A5B80 000A19C0 C0 01 00 DC */ lfs f0, 0xdc(r1)
/* 800A5B84 000A19C4 EC 02 00 2A */ fadds f0, f2, f0
/* 800A5B88 000A19C8 D0 1B 00 94 */ stfs f0, 0x94(r27)
/* 800A5B8C 000A19CC C0 01 00 EC */ lfs f0, 0xec(r1)
/* 800A5B90 000A19D0 EC 01 00 2A */ fadds f0, f1, f0
/* 800A5B94 000A19D4 D0 1B 00 98 */ stfs f0, 0x98(r27)
/* 800A5B98 000A19D8 48 00 12 49 */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
/* 800A5B9C 000A19DC 81 9B 00 1C */ lwz r12, 0x1c(r27)
/* 800A5BA0 000A19E0 7F 63 DB 78 */ mr r3, r27
/* 800A5BA4 000A19E4 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800A5BA8 000A19E8 7D 89 03 A6 */ mtctr r12
/* 800A5BAC 000A19EC 4E 80 04 21 */ bctrl
/* 800A5BB0 000A19F0 81 9B 00 1C */ lwz r12, 0x1c(r27)
/* 800A5BB4 000A19F4 7F 63 DB 78 */ mr r3, r27
/* 800A5BB8 000A19F8 81 8C 00 24 */ lwz r12, 0x24(r12)
/* 800A5BBC 000A19FC 7D 89 03 A6 */ mtctr r12
/* 800A5BC0 000A1A00 4E 80 04 21 */ bctrl
/* 800A5BC4 000A1A04 80 76 00 20 */ lwz r3, 0x20(r22)
/* 800A5BC8 000A1A08 3B C0 00 00 */ li r30, 0x0
/* 800A5BCC 000A1A0C 54 60 04 E7 */ rlwinm. r0, r3, 0, 19, 19
/* 800A5BD0 000A1A10 41 82 00 14 */ beq lbl_800A5BE4
/* 800A5BD4 000A1A14 80 17 00 08 */ lwz r0, 0x8(r23)
/* 800A5BD8 000A1A18 54 00 06 B5 */ rlwinm. r0, r0, 0, 26, 26
/* 800A5BDC 000A1A1C 41 82 00 08 */ beq lbl_800A5BE4
/* 800A5BE0 000A1A20 3B C0 00 01 */ li r30, 0x1
.global lbl_800A5BE4
lbl_800A5BE4:
/* 800A5BE4 000A1A24 54 60 04 A5 */ rlwinm. r0, r3, 0, 18, 18
/* 800A5BE8 000A1A28 3B A0 00 00 */ li r29, 0x0
/* 800A5BEC 000A1A2C 41 82 00 14 */ beq lbl_800A5C00
/* 800A5BF0 000A1A30 80 17 00 08 */ lwz r0, 0x8(r23)
/* 800A5BF4 000A1A34 54 00 06 73 */ rlwinm. r0, r0, 0, 25, 25
/* 800A5BF8 000A1A38 41 82 00 08 */ beq lbl_800A5C00
/* 800A5BFC 000A1A3C 3B A0 00 01 */ li r29, 0x1
.global lbl_800A5C00
lbl_800A5C00:
/* 800A5C00 000A1A40 54 60 05 29 */ rlwinm. r0, r3, 0, 20, 20
/* 800A5C04 000A1A44 3B 80 00 01 */ li r28, 0x1
/* 800A5C08 000A1A48 40 82 00 14 */ bne lbl_800A5C1C
/* 800A5C0C 000A1A4C 80 17 00 08 */ lwz r0, 0x8(r23)
/* 800A5C10 000A1A50 54 00 05 6B */ rlwinm. r0, r0, 0, 21, 21
/* 800A5C14 000A1A54 40 82 00 08 */ bne lbl_800A5C1C
/* 800A5C18 000A1A58 3B 80 00 00 */ li r28, 0x0
.global lbl_800A5C1C
lbl_800A5C1C:
/* 800A5C1C 000A1A5C 80 76 00 B8 */ lwz r3, 0xb8(r22)
/* 800A5C20 000A1A60 88 17 00 22 */ lbz r0, 0x22(r23)
/* 800A5C24 000A1A64 88 63 00 15 */ lbz r3, 0x15(r3)
/* 800A5C28 000A1A68 7C 1A 07 74 */ extsb r26, r0
/* 800A5C2C 000A1A6C 7C 60 07 75 */ extsb. r0, r3
/* 800A5C30 000A1A70 41 82 00 0C */ beq lbl_800A5C3C
/* 800A5C34 000A1A74 2C 1A 00 00 */ cmpwi r26, 0x0
/* 800A5C38 000A1A78 40 82 00 0C */ bne lbl_800A5C44
.global lbl_800A5C3C
lbl_800A5C3C:
/* 800A5C3C 000A1A7C 3B 40 00 00 */ li r26, 0x0
/* 800A5C40 000A1A80 48 00 00 40 */ b lbl_800A5C80
.global lbl_800A5C44
lbl_800A5C44:
/* 800A5C44 000A1A84 2C 00 00 64 */ cmpwi r0, 0x64
/* 800A5C48 000A1A88 40 82 00 08 */ bne lbl_800A5C50
/* 800A5C4C 000A1A8C 48 00 00 34 */ b lbl_800A5C80
.global lbl_800A5C50
lbl_800A5C50:
/* 800A5C50 000A1A90 2C 1A 00 64 */ cmpwi r26, 0x64
/* 800A5C54 000A1A94 40 82 00 0C */ bne lbl_800A5C60
/* 800A5C58 000A1A98 7C 1A 03 78 */ mr r26, r0
/* 800A5C5C 000A1A9C 48 00 00 24 */ b lbl_800A5C80
.global lbl_800A5C60
lbl_800A5C60:
/* 800A5C60 000A1AA0 7C 00 D1 D6 */ mullw r0, r0, r26
/* 800A5C64 000A1AA4 3C 60 51 EC */ lis r3, 0x51ec
/* 800A5C68 000A1AA8 38 63 85 1F */ addi r3, r3, -0x7ae1
/* 800A5C6C 000A1AAC 7C 03 00 96 */ mulhw r0, r3, r0
/* 800A5C70 000A1AB0 7C 00 2E 70 */ srawi r0, r0, 5
/* 800A5C74 000A1AB4 54 03 0F FE */ srwi r3, r0, 31
/* 800A5C78 000A1AB8 7C 00 1A 14 */ add r0, r0, r3
/* 800A5C7C 000A1ABC 7C 1A 07 74 */ extsb r26, r0
.global lbl_800A5C80
lbl_800A5C80:
/* 800A5C80 000A1AC0 8B F8 00 05 */ lbz r31, 0x5(r24)
/* 800A5C84 000A1AC4 38 76 00 C0 */ addi r3, r22, 0xc0
/* 800A5C88 000A1AC8 38 80 00 00 */ li r4, 0x0
/* 800A5C8C 000A1ACC 4B FF DC A5 */ bl MEMGetNextListObject
/* 800A5C90 000A1AD0 48 00 00 68 */ b lbl_800A5CF8
.global lbl_800A5C94
lbl_800A5C94:
/* 800A5C94 000A1AD4 80 03 00 24 */ lwz r0, 0x24(r3)
/* 800A5C98 000A1AD8 7C 00 B8 40 */ cmplw r0, r23
/* 800A5C9C 000A1ADC 40 82 00 50 */ bne lbl_800A5CEC
/* 800A5CA0 000A1AE0 80 A3 00 28 */ lwz r5, 0x28(r3)
/* 800A5CA4 000A1AE4 54 A0 07 FE */ clrlwi r0, r5, 31
/* 800A5CA8 000A1AE8 7C 00 F0 40 */ cmplw r0, r30
/* 800A5CAC 000A1AEC 40 82 00 40 */ bne lbl_800A5CEC
/* 800A5CB0 000A1AF0 54 A0 FF FE */ extrwi r0, r5, 1, 30
/* 800A5CB4 000A1AF4 7C 00 E8 40 */ cmplw r0, r29
/* 800A5CB8 000A1AF8 40 82 00 34 */ bne lbl_800A5CEC
/* 800A5CBC 000A1AFC 88 83 00 88 */ lbz r4, 0x88(r3)
/* 800A5CC0 000A1B00 7F 40 07 74 */ extsb r0, r26
/* 800A5CC4 000A1B04 7C 84 07 74 */ extsb r4, r4
/* 800A5CC8 000A1B08 7C 04 00 00 */ cmpw r4, r0
/* 800A5CCC 000A1B0C 40 82 00 20 */ bne lbl_800A5CEC
/* 800A5CD0 000A1B10 54 A0 F7 FE */ extrwi r0, r5, 1, 29
/* 800A5CD4 000A1B14 7C 00 E0 40 */ cmplw r0, r28
/* 800A5CD8 000A1B18 40 82 00 14 */ bne lbl_800A5CEC
/* 800A5CDC 000A1B1C 88 03 00 89 */ lbz r0, 0x89(r3)
/* 800A5CE0 000A1B20 7C 00 F8 40 */ cmplw r0, r31
/* 800A5CE4 000A1B24 40 82 00 08 */ bne lbl_800A5CEC
/* 800A5CE8 000A1B28 48 00 00 1C */ b lbl_800A5D04
.global lbl_800A5CEC
lbl_800A5CEC:
/* 800A5CEC 000A1B2C 7C 64 1B 78 */ mr r4, r3
/* 800A5CF0 000A1B30 38 76 00 C0 */ addi r3, r22, 0xc0
/* 800A5CF4 000A1B34 4B FF DC 3D */ bl MEMGetNextListObject
.global lbl_800A5CF8
lbl_800A5CF8:
/* 800A5CF8 000A1B38 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A5CFC 000A1B3C 40 82 FF 98 */ bne lbl_800A5C94
/* 800A5D00 000A1B40 38 60 00 00 */ li r3, 0x0
.global lbl_800A5D04
lbl_800A5D04:
/* 800A5D04 000A1B44 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A5D08 000A1B48 7C 7F 1B 78 */ mr r31, r3
/* 800A5D0C 000A1B4C 40 82 00 E8 */ bne lbl_800A5DF4
/* 800A5D10 000A1B50 80 76 00 BC */ lwz r3, 0xbc(r22)
/* 800A5D14 000A1B54 80 63 00 20 */ lwz r3, 0x20(r3)
/* 800A5D18 000A1B58 80 63 00 00 */ lwz r3, 0x0(r3)
/* 800A5D1C 000A1B5C 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A5D20 000A1B60 81 8C 00 38 */ lwz r12, 0x38(r12)
/* 800A5D24 000A1B64 7D 89 03 A6 */ mtctr r12
/* 800A5D28 000A1B68 4E 80 04 21 */ bctrl
/* 800A5D2C 000A1B6C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A5D30 000A1B70 7C 7F 1B 78 */ mr r31, r3
/* 800A5D34 000A1B74 40 82 00 0C */ bne lbl_800A5D40
/* 800A5D38 000A1B78 38 60 00 00 */ li r3, 0x0
/* 800A5D3C 000A1B7C 48 00 02 50 */ b lbl_800A5F8C
.global lbl_800A5D40
lbl_800A5D40:
/* 800A5D40 000A1B80 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A5D44 000A1B84 7E C4 B3 78 */ mr r4, r22
/* 800A5D48 000A1B88 7E E5 BB 78 */ mr r5, r23
/* 800A5D4C 000A1B8C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 800A5D50 000A1B90 7D 89 03 A6 */ mtctr r12
/* 800A5D54 000A1B94 4E 80 04 21 */ bctrl
/* 800A5D58 000A1B98 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A5D5C 000A1B9C 40 82 00 0C */ bne lbl_800A5D68
/* 800A5D60 000A1BA0 38 60 00 00 */ li r3, 0x0
/* 800A5D64 000A1BA4 48 00 02 28 */ b lbl_800A5F8C
.global lbl_800A5D68
lbl_800A5D68:
/* 800A5D68 000A1BA8 7F E4 FB 78 */ mr r4, r31
/* 800A5D6C 000A1BAC 38 76 00 C0 */ addi r3, r22, 0xc0
/* 800A5D70 000A1BB0 4B FF DA E1 */ bl MEMAppendListObject
/* 800A5D74 000A1BB4 A0 96 00 D8 */ lhz r4, 0xd8(r22)
/* 800A5D78 000A1BB8 38 60 00 01 */ li r3, 0x1
/* 800A5D7C 000A1BBC 2C 1E 00 00 */ cmpwi r30, 0x0
/* 800A5D80 000A1BC0 38 00 00 00 */ li r0, 0x0
/* 800A5D84 000A1BC4 38 84 00 01 */ addi r4, r4, 0x1
/* 800A5D88 000A1BC8 B0 96 00 D8 */ sth r4, 0xd8(r22)
/* 800A5D8C 000A1BCC 90 7F 00 0C */ stw r3, 0xc(r31)
/* 800A5D90 000A1BD0 90 1F 00 28 */ stw r0, 0x28(r31)
/* 800A5D94 000A1BD4 41 82 00 10 */ beq lbl_800A5DA4
/* 800A5D98 000A1BD8 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A5D9C 000A1BDC 60 00 00 01 */ ori r0, r0, 0x1
/* 800A5DA0 000A1BE0 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A5DA4
lbl_800A5DA4:
/* 800A5DA4 000A1BE4 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A5DA8 000A1BE8 41 82 00 10 */ beq lbl_800A5DB8
/* 800A5DAC 000A1BEC 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A5DB0 000A1BF0 60 00 00 02 */ ori r0, r0, 0x2
/* 800A5DB4 000A1BF4 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A5DB8
lbl_800A5DB8:
/* 800A5DB8 000A1BF8 2C 1C 00 00 */ cmpwi r28, 0x0
/* 800A5DBC 000A1BFC 9B 5F 00 88 */ stb r26, 0x88(r31)
/* 800A5DC0 000A1C00 41 82 00 10 */ beq lbl_800A5DD0
/* 800A5DC4 000A1C04 80 1F 00 28 */ lwz r0, 0x28(r31)
/* 800A5DC8 000A1C08 60 00 00 04 */ ori r0, r0, 0x4
/* 800A5DCC 000A1C0C 90 1F 00 28 */ stw r0, 0x28(r31)
.global lbl_800A5DD0
lbl_800A5DD0:
/* 800A5DD0 000A1C10 88 18 00 05 */ lbz r0, 0x5(r24)
/* 800A5DD4 000A1C14 7F E5 FB 78 */ mr r5, r31
/* 800A5DD8 000A1C18 98 1F 00 89 */ stb r0, 0x89(r31)
/* 800A5DDC 000A1C1C 80 96 00 BC */ lwz r4, 0xbc(r22)
/* 800A5DE0 000A1C20 80 64 00 9C */ lwz r3, 0x9c(r4)
/* 800A5DE4 000A1C24 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A5DE8 000A1C28 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A5DEC 000A1C2C 7D 89 03 A6 */ mtctr r12
/* 800A5DF0 000A1C30 4E 80 04 21 */ bctrl
.global lbl_800A5DF4
lbl_800A5DF4:
/* 800A5DF4 000A1C34 A8 18 00 00 */ lha r0, 0x0(r24)
/* 800A5DF8 000A1C38 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5DFC 000A1C3C 40 82 00 34 */ bne lbl_800A5E30
/* 800A5E00 000A1C40 88 18 00 02 */ lbz r0, 0x2(r24)
/* 800A5E04 000A1C44 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5E08 000A1C48 40 82 00 28 */ bne lbl_800A5E30
/* 800A5E0C 000A1C4C 88 18 00 03 */ lbz r0, 0x3(r24)
/* 800A5E10 000A1C50 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5E14 000A1C54 40 82 00 1C */ bne lbl_800A5E30
/* 800A5E18 000A1C58 88 18 00 04 */ lbz r0, 0x4(r24)
/* 800A5E1C 000A1C5C 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5E20 000A1C60 40 82 00 10 */ bne lbl_800A5E30
/* 800A5E24 000A1C64 88 18 00 07 */ lbz r0, 0x7(r24)
/* 800A5E28 000A1C68 54 00 07 BD */ rlwinm. r0, r0, 0, 30, 30
/* 800A5E2C 000A1C6C 41 82 00 60 */ beq lbl_800A5E8C
.global lbl_800A5E30
lbl_800A5E30:
/* 800A5E30 000A1C70 93 3B 00 F8 */ stw r25, 0xf8(r27)
/* 800A5E34 000A1C74 80 79 00 10 */ lwz r3, 0x10(r25)
/* 800A5E38 000A1C78 38 03 00 01 */ addi r0, r3, 0x1
/* 800A5E3C 000A1C7C 90 19 00 10 */ stw r0, 0x10(r25)
/* 800A5E40 000A1C80 A8 18 00 00 */ lha r0, 0x0(r24)
/* 800A5E44 000A1C84 B0 1B 00 FC */ sth r0, 0xfc(r27)
/* 800A5E48 000A1C88 88 18 00 02 */ lbz r0, 0x2(r24)
/* 800A5E4C 000A1C8C 98 1B 00 FE */ stb r0, 0xfe(r27)
/* 800A5E50 000A1C90 88 18 00 03 */ lbz r0, 0x3(r24)
/* 800A5E54 000A1C94 98 1B 00 FF */ stb r0, 0xff(r27)
/* 800A5E58 000A1C98 88 18 00 04 */ lbz r0, 0x4(r24)
/* 800A5E5C 000A1C9C 98 1B 01 00 */ stb r0, 0x100(r27)
/* 800A5E60 000A1CA0 88 18 00 05 */ lbz r0, 0x5(r24)
/* 800A5E64 000A1CA4 98 1B 01 01 */ stb r0, 0x101(r27)
/* 800A5E68 000A1CA8 88 18 00 06 */ lbz r0, 0x6(r24)
/* 800A5E6C 000A1CAC 98 1B 01 02 */ stb r0, 0x102(r27)
/* 800A5E70 000A1CB0 88 18 00 07 */ lbz r0, 0x7(r24)
/* 800A5E74 000A1CB4 98 1B 01 03 */ stb r0, 0x103(r27)
/* 800A5E78 000A1CB8 88 18 00 08 */ lbz r0, 0x8(r24)
/* 800A5E7C 000A1CBC 98 1B 01 04 */ stb r0, 0x104(r27)
/* 800A5E80 000A1CC0 88 18 00 09 */ lbz r0, 0x9(r24)
/* 800A5E84 000A1CC4 98 1B 01 05 */ stb r0, 0x105(r27)
/* 800A5E88 000A1CC8 48 00 00 0C */ b lbl_800A5E94
.global lbl_800A5E8C
lbl_800A5E8C:
/* 800A5E8C 000A1CCC 38 00 00 00 */ li r0, 0x0
/* 800A5E90 000A1CD0 90 1B 00 F8 */ stw r0, 0xf8(r27)
.global lbl_800A5E94
lbl_800A5E94:
/* 800A5E94 000A1CD4 7F E3 FB 78 */ mr r3, r31
/* 800A5E98 000A1CD8 38 81 00 30 */ addi r4, r1, 0x30
/* 800A5E9C 000A1CDC 48 00 BF D5 */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800A5EA0 000A1CE0 38 61 00 30 */ addi r3, r1, 0x30
/* 800A5EA4 000A1CE4 7C 64 1B 78 */ mr r4, r3
/* 800A5EA8 000A1CE8 4B F8 A9 59 */ bl PSMTXInverse
/* 800A5EAC 000A1CEC 7F 63 DB 78 */ mr r3, r27
/* 800A5EB0 000A1CF0 38 81 00 60 */ addi r4, r1, 0x60
/* 800A5EB4 000A1CF4 48 00 0D DD */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A5EB8 000A1CF8 38 81 00 60 */ addi r4, r1, 0x60
/* 800A5EBC 000A1CFC 38 61 00 30 */ addi r3, r1, 0x30
/* 800A5EC0 000A1D00 7C 85 23 78 */ mr r5, r4
/* 800A5EC4 000A1D04 4B F8 A6 8D */ bl PSMTXConcat
/* 800A5EC8 000A1D08 7F 63 DB 78 */ mr r3, r27
/* 800A5ECC 000A1D0C 7F E4 FB 78 */ mr r4, r31
/* 800A5ED0 000A1D10 38 A1 00 60 */ addi r5, r1, 0x60
/* 800A5ED4 000A1D14 48 00 01 DD */ bl Emission__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34
/* 800A5ED8 000A1D18 38 00 00 00 */ li r0, 0x0
/* 800A5EDC 000A1D1C 90 1B 00 F4 */ stw r0, 0xf4(r27)
/* 800A5EE0 000A1D20 90 1B 00 BC */ stw r0, 0xbc(r27)
/* 800A5EE4 000A1D24 80 1B 00 F8 */ lwz r0, 0xf8(r27)
/* 800A5EE8 000A1D28 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5EEC 000A1D2C 41 82 00 3C */ beq lbl_800A5F28
/* 800A5EF0 000A1D30 80 19 00 10 */ lwz r0, 0x10(r25)
/* 800A5EF4 000A1D34 34 00 FF FF */ addic. r0, r0, -0x1
/* 800A5EF8 000A1D38 90 19 00 10 */ stw r0, 0x10(r25)
/* 800A5EFC 000A1D3C 40 82 00 24 */ bne lbl_800A5F20
/* 800A5F00 000A1D40 80 19 00 0C */ lwz r0, 0xc(r25)
/* 800A5F04 000A1D44 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A5F08 000A1D48 40 82 00 18 */ bne lbl_800A5F20
/* 800A5F0C 000A1D4C 81 99 00 1C */ lwz r12, 0x1c(r25)
/* 800A5F10 000A1D50 7F 23 CB 78 */ mr r3, r25
/* 800A5F14 000A1D54 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A5F18 000A1D58 7D 89 03 A6 */ mtctr r12
/* 800A5F1C 000A1D5C 4E 80 04 21 */ bctrl
.global lbl_800A5F20
lbl_800A5F20:
/* 800A5F20 000A1D60 38 00 00 00 */ li r0, 0x0
/* 800A5F24 000A1D64 90 1B 00 F8 */ stw r0, 0xf8(r27)
.global lbl_800A5F28
lbl_800A5F28:
/* 800A5F28 000A1D68 80 16 00 0C */ lwz r0, 0xc(r22)
/* 800A5F2C 000A1D6C 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A5F30 000A1D70 41 82 00 58 */ beq lbl_800A5F88
/* 800A5F34 000A1D74 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 800A5F38 000A1D78 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A5F3C 000A1D7C 40 82 00 4C */ bne lbl_800A5F88
/* 800A5F40 000A1D80 A0 96 00 D8 */ lhz r4, 0xd8(r22)
/* 800A5F44 000A1D84 7F E3 FB 78 */ mr r3, r31
/* 800A5F48 000A1D88 38 04 FF FF */ addi r0, r4, -0x1
/* 800A5F4C 000A1D8C B0 16 00 D8 */ sth r0, 0xd8(r22)
/* 800A5F50 000A1D90 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 800A5F54 000A1D94 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 800A5F58 000A1D98 7D 89 03 A6 */ mtctr r12
/* 800A5F5C 000A1D9C 4E 80 04 21 */ bctrl
/* 800A5F60 000A1DA0 38 00 00 02 */ li r0, 0x2
/* 800A5F64 000A1DA4 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A5F68 000A1DA8 80 1F 00 10 */ lwz r0, 0x10(r31)
/* 800A5F6C 000A1DAC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A5F70 000A1DB0 40 82 00 18 */ bne lbl_800A5F88
/* 800A5F74 000A1DB4 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 800A5F78 000A1DB8 7F E3 FB 78 */ mr r3, r31
/* 800A5F7C 000A1DBC 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A5F80 000A1DC0 7D 89 03 A6 */ mtctr r12
/* 800A5F84 000A1DC4 4E 80 04 21 */ bctrl
.global lbl_800A5F88
lbl_800A5F88:
/* 800A5F88 000A1DC8 38 60 00 01 */ li r3, 0x1
.global lbl_800A5F8C
lbl_800A5F8C:
/* 800A5F8C 000A1DCC 39 61 02 D0 */ addi r11, r1, 0x2d0
/* 800A5F90 000A1DD0 4B F6 13 E5 */ bl lbl_80007374
/* 800A5F94 000A1DD4 80 01 02 D4 */ lwz r0, 0x2d4(r1)
/* 800A5F98 000A1DD8 7C 08 03 A6 */ mtlr r0
/* 800A5F9C 000A1DDC 38 21 02 D0 */ addi r1, r1, 0x2d0
/* 800A5FA0 000A1DE0 4E 80 00 20 */ blr
/* 800A5FA4 000A1DE4 00 00 00 00 */ .4byte 0x00000000
/* 800A5FA8 000A1DE8 00 00 00 00 */ .4byte 0x00000000
/* 800A5FAC 000A1DEC 00 00 00 00 */ .4byte 0x00000000
.global GetLODratio__Q24nw4r2efFRQ34nw4r4math4VEC3RQ34nw4r4math4VEC3ffff
GetLODratio__Q24nw4r2efFRQ34nw4r4math4VEC3RQ34nw4r4math4VEC3ffff:
/* 800A5FB0 000A1DF0 94 21 FF A0 */ stwu r1, -0x60(r1)
/* 800A5FB4 000A1DF4 7C 08 02 A6 */ mflr r0
/* 800A5FB8 000A1DF8 90 01 00 64 */ stw r0, 0x64(r1)
/* 800A5FBC 000A1DFC DB E1 00 50 */ stfd f31, 0x50(r1)
/* 800A5FC0 000A1E00 F3 E1 00 58 */ psq_st f31, 0x58(r1), 0, qr0
/* 800A5FC4 000A1E04 DB C1 00 40 */ stfd f30, 0x40(r1)
/* 800A5FC8 000A1E08 F3 C1 00 48 */ psq_st f30, 0x48(r1), 0, qr0
/* 800A5FCC 000A1E0C DB A1 00 30 */ stfd f29, 0x30(r1)
/* 800A5FD0 000A1E10 F3 A1 00 38 */ psq_st f29, 0x38(r1), 0, qr0
/* 800A5FD4 000A1E14 DB 81 00 20 */ stfd f28, 0x20(r1)
/* 800A5FD8 000A1E18 F3 81 00 28 */ psq_st f28, 0x28(r1), 0, qr0
/* 800A5FDC 000A1E1C DB 61 00 10 */ stfd f27, 0x10(r1)
/* 800A5FE0 000A1E20 F3 61 00 18 */ psq_st f27, 0x18(r1), 0, qr0
/* 800A5FE4 000A1E24 FF 60 10 90 */ fmr f27, f2
/* 800A5FE8 000A1E28 7C 60 1B 78 */ mr r0, r3
/* 800A5FEC 000A1E2C FF 80 18 90 */ fmr f28, f3
/* 800A5FF0 000A1E30 7C 83 23 78 */ mr r3, r4
/* 800A5FF4 000A1E34 FF A0 20 90 */ fmr f29, f4
/* 800A5FF8 000A1E38 7C 04 03 78 */ mr r4, r0
/* 800A5FFC 000A1E3C EF C1 10 28 */ fsubs f30, f1, f2
/* 800A6000 000A1E40 4B F8 B7 81 */ bl PSVECSquareDistance
/* 800A6004 000A1E44 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A6008 000A1E48 FF E0 08 90 */ fmr f31, f1
/* 800A600C 000A1E4C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800A6010 000A1E50 4C 40 13 82 */ cror eq, lt, eq
/* 800A6014 000A1E54 40 82 00 08 */ bne lbl_800A601C
/* 800A6018 000A1E58 48 00 00 0C */ b lbl_800A6024
.global lbl_800A601C
lbl_800A601C:
/* 800A601C 000A1E5C 48 05 8A 55 */ bl FrSqrt__Q24nw4r4mathFf
/* 800A6020 000A1E60 EC 1F 00 72 */ fmuls f0, f31, f1
.global lbl_800A6024
lbl_800A6024:
/* 800A6024 000A1E64 EC 00 D8 28 */ fsubs f0, f0, f27
/* 800A6028 000A1E68 EC 5E 07 72 */ fmuls f2, f30, f29
/* 800A602C 000A1E6C EC 3E 07 32 */ fmuls f1, f30, f28
/* 800A6030 000A1E70 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 800A6034 000A1E74 40 81 00 0C */ ble lbl_800A6040
/* 800A6038 000A1E78 C0 22 8A 24 */ lfs f1, "@9488"@sda21(r2)
/* 800A603C 000A1E7C 48 00 00 38 */ b lbl_800A6074
.global lbl_800A6040
lbl_800A6040:
/* 800A6040 000A1E80 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800A6044 000A1E84 40 80 00 0C */ bge lbl_800A6050
/* 800A6048 000A1E88 C0 22 8A 04 */ lfs f1, "@9109"@sda21(r2)
/* 800A604C 000A1E8C 48 00 00 28 */ b lbl_800A6074
.global lbl_800A6050
lbl_800A6050:
/* 800A6050 000A1E90 EC 61 10 28 */ fsubs f3, f1, f2
/* 800A6054 000A1E94 C0 22 8A 04 */ lfs f1, "@9109"@sda21(r2)
/* 800A6058 000A1E98 FC 01 18 00 */ fcmpu cr0, f1, f3
/* 800A605C 000A1E9C 40 82 00 08 */ bne lbl_800A6064
/* 800A6060 000A1EA0 48 00 00 14 */ b lbl_800A6074
.global lbl_800A6064
lbl_800A6064:
/* 800A6064 000A1EA4 EC 20 10 28 */ fsubs f1, f0, f2
/* 800A6068 000A1EA8 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A606C 000A1EAC EC 21 18 24 */ fdivs f1, f1, f3
/* 800A6070 000A1EB0 EC 20 08 28 */ fsubs f1, f0, f1
.global lbl_800A6074
lbl_800A6074:
/* 800A6074 000A1EB4 80 01 00 64 */ lwz r0, 0x64(r1)
/* 800A6078 000A1EB8 E3 E1 00 58 */ psq_l f31, 0x58(r1), 0, qr0
/* 800A607C 000A1EBC CB E1 00 50 */ lfd f31, 0x50(r1)
/* 800A6080 000A1EC0 E3 C1 00 48 */ psq_l f30, 0x48(r1), 0, qr0
/* 800A6084 000A1EC4 CB C1 00 40 */ lfd f30, 0x40(r1)
/* 800A6088 000A1EC8 E3 A1 00 38 */ psq_l f29, 0x38(r1), 0, qr0
/* 800A608C 000A1ECC CB A1 00 30 */ lfd f29, 0x30(r1)
/* 800A6090 000A1ED0 E3 81 00 28 */ psq_l f28, 0x28(r1), 0, qr0
/* 800A6094 000A1ED4 CB 81 00 20 */ lfd f28, 0x20(r1)
/* 800A6098 000A1ED8 E3 61 00 18 */ psq_l f27, 0x18(r1), 0, qr0
/* 800A609C 000A1EDC CB 61 00 10 */ lfd f27, 0x10(r1)
/* 800A60A0 000A1EE0 7C 08 03 A6 */ mtlr r0
/* 800A60A4 000A1EE4 38 21 00 60 */ addi r1, r1, 0x60
/* 800A60A8 000A1EE8 4E 80 00 20 */ blr
/* 800A60AC 000A1EEC 00 00 00 00 */ .4byte 0x00000000
.global Emission__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34
Emission__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34:
/* 800A60B0 000A1EF0 94 21 FF 50 */ stwu r1, -0xb0(r1)
/* 800A60B4 000A1EF4 7C 08 02 A6 */ mflr r0
/* 800A60B8 000A1EF8 90 01 00 B4 */ stw r0, 0xb4(r1)
/* 800A60BC 000A1EFC 3C 00 43 30 */ lis r0, 0x4330
/* 800A60C0 000A1F00 DB E1 00 A0 */ stfd f31, 0xa0(r1)
/* 800A60C4 000A1F04 F3 E1 00 A8 */ psq_st f31, 0xa8(r1), 0, qr0
/* 800A60C8 000A1F08 93 E1 00 9C */ stw r31, 0x9c(r1)
/* 800A60CC 000A1F0C 7C BF 2B 78 */ mr r31, r5
/* 800A60D0 000A1F10 93 C1 00 98 */ stw r30, 0x98(r1)
/* 800A60D4 000A1F14 7C 9E 23 78 */ mr r30, r4
/* 800A60D8 000A1F18 93 A1 00 94 */ stw r29, 0x94(r1)
/* 800A60DC 000A1F1C 7C 7D 1B 78 */ mr r29, r3
/* 800A60E0 000A1F20 93 81 00 90 */ stw r28, 0x90(r1)
/* 800A60E4 000A1F24 A0 C3 00 E0 */ lhz r6, 0xe0(r3)
/* 800A60E8 000A1F28 90 01 00 70 */ stw r0, 0x70(r1)
/* 800A60EC 000A1F2C 2C 06 00 00 */ cmpwi r6, 0x0
/* 800A60F0 000A1F30 90 01 00 78 */ stw r0, 0x78(r1)
/* 800A60F4 000A1F34 41 82 00 10 */ beq lbl_800A6104
/* 800A60F8 000A1F38 38 06 FF FF */ addi r0, r6, -0x1
/* 800A60FC 000A1F3C B0 03 00 E0 */ sth r0, 0xe0(r3)
/* 800A6100 000A1F40 48 00 03 D8 */ b lbl_800A64D8
.global lbl_800A6104
lbl_800A6104:
/* 800A6104 000A1F44 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A6108 000A1F48 C0 83 00 34 */ lfs f4, 0x34(r3)
/* 800A610C 000A1F4C A0 C3 00 30 */ lhz r6, 0x30(r3)
/* 800A6110 000A1F50 FC 00 20 00 */ fcmpu cr0, f0, f4
/* 800A6114 000A1F54 B0 C3 00 E0 */ sth r6, 0xe0(r3)
/* 800A6118 000A1F58 41 82 00 78 */ beq lbl_800A6190
/* 800A611C 000A1F5C 3C 80 00 03 */ lis r4, 0x3
/* 800A6120 000A1F60 80 A3 00 EC */ lwz r5, 0xec(r3)
/* 800A6124 000A1F64 38 04 43 FD */ addi r0, r4, 0x43fd
/* 800A6128 000A1F68 90 C1 00 7C */ stw r6, 0x7c(r1)
/* 800A612C 000A1F6C 7C 85 01 D6 */ mullw r4, r5, r0
/* 800A6130 000A1F70 C8 62 8A 10 */ lfd f3, "@9116"@sda21(r2)
/* 800A6134 000A1F74 C8 01 00 78 */ lfd f0, 0x78(r1)
/* 800A6138 000A1F78 C0 42 8A 28 */ lfs f2, "@9546_8055E9A8"@sda21(r2)
/* 800A613C 000A1F7C EC 20 18 28 */ fsubs f1, f0, f3
/* 800A6140 000A1F80 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A6144 000A1F84 3C 84 00 27 */ addis r4, r4, 0x27
/* 800A6148 000A1F88 EC 21 01 32 */ fmuls f1, f1, f4
/* 800A614C 000A1F8C 38 04 9E C3 */ addi r0, r4, -0x613d
/* 800A6150 000A1F90 90 03 00 EC */ stw r0, 0xec(r3)
/* 800A6154 000A1F94 54 00 84 3E */ srwi r0, r0, 16
/* 800A6158 000A1F98 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A615C 000A1F9C EC 01 00 28 */ fsubs f0, f1, f0
/* 800A6160 000A1FA0 C8 21 00 70 */ lfd f1, 0x70(r1)
/* 800A6164 000A1FA4 EC 21 18 28 */ fsubs f1, f1, f3
/* 800A6168 000A1FA8 EC 21 10 24 */ fdivs f1, f1, f2
/* 800A616C 000A1FAC EC 20 00 72 */ fmuls f1, f0, f1
/* 800A6170 000A1FB0 4B F6 DC 55 */ bl ceil
/* 800A6174 000A1FB4 FC 00 08 18 */ frsp f0, f1
/* 800A6178 000A1FB8 A0 7D 00 E0 */ lhz r3, 0xe0(r29)
/* 800A617C 000A1FBC FC 00 00 1E */ fctiwz f0, f0
/* 800A6180 000A1FC0 D8 01 00 80 */ stfd f0, 0x80(r1)
/* 800A6184 000A1FC4 80 01 00 84 */ lwz r0, 0x84(r1)
/* 800A6188 000A1FC8 7C 03 02 14 */ add r0, r3, r0
/* 800A618C 000A1FCC B0 1D 00 E0 */ sth r0, 0xe0(r29)
.global lbl_800A6190
lbl_800A6190:
/* 800A6190 000A1FD0 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 800A6194 000A1FD4 54 00 03 9D */ rlwinm. r0, r0, 0, 14, 14
/* 800A6198 000A1FD8 41 82 00 20 */ beq lbl_800A61B8
/* 800A619C 000A1FDC A0 1D 00 32 */ lhz r0, 0x32(r29)
/* 800A61A0 000A1FE0 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A61A4 000A1FE4 C8 22 8A 10 */ lfd f1, "@9116"@sda21(r2)
/* 800A61A8 000A1FE8 C8 01 00 70 */ lfd f0, 0x70(r1)
/* 800A61AC 000A1FEC EC 00 08 28 */ fsubs f0, f0, f1
/* 800A61B0 000A1FF0 D0 1D 00 38 */ stfs f0, 0x38(r29)
/* 800A61B4 000A1FF4 48 00 01 10 */ b lbl_800A62C4
.global lbl_800A61B8
lbl_800A61B8:
/* 800A61B8 000A1FF8 C0 22 8A 04 */ lfs f1, "@9109"@sda21(r2)
/* 800A61BC 000A1FFC C0 1D 00 2C */ lfs f0, 0x2c(r29)
/* 800A61C0 000A2000 FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800A61C4 000A2004 40 82 00 0C */ bne lbl_800A61D0
/* 800A61C8 000A2008 C3 FD 00 28 */ lfs f31, 0x28(r29)
/* 800A61CC 000A200C 48 00 00 5C */ b lbl_800A6228
.global lbl_800A61D0
lbl_800A61D0:
/* 800A61D0 000A2010 3C 60 00 03 */ lis r3, 0x3
/* 800A61D4 000A2014 80 9D 00 EC */ lwz r4, 0xec(r29)
/* 800A61D8 000A2018 38 03 43 FD */ addi r0, r3, 0x43fd
/* 800A61DC 000A201C C0 7D 00 28 */ lfs f3, 0x28(r29)
/* 800A61E0 000A2020 7C 64 01 D6 */ mullw r3, r4, r0
/* 800A61E4 000A2024 C8 C2 8A 10 */ lfd f6, "@9116"@sda21(r2)
/* 800A61E8 000A2028 EC 43 00 32 */ fmuls f2, f3, f0
/* 800A61EC 000A202C C0 82 8A 28 */ lfs f4, "@9546_8055E9A8"@sda21(r2)
/* 800A61F0 000A2030 C0 22 8A 2C */ lfs f1, "@9547_8055E9AC"@sda21(r2)
/* 800A61F4 000A2034 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A61F8 000A2038 3C 63 00 27 */ addis r3, r3, 0x27
/* 800A61FC 000A203C 38 03 9E C3 */ addi r0, r3, -0x613d
/* 800A6200 000A2040 90 1D 00 EC */ stw r0, 0xec(r29)
/* 800A6204 000A2044 54 00 84 3E */ srwi r0, r0, 16
/* 800A6208 000A2048 90 01 00 7C */ stw r0, 0x7c(r1)
/* 800A620C 000A204C C8 A1 00 78 */ lfd f5, 0x78(r1)
/* 800A6210 000A2050 EC A5 30 28 */ fsubs f5, f5, f6
/* 800A6214 000A2054 EC 85 20 24 */ fdivs f4, f5, f4
/* 800A6218 000A2058 EC 21 01 32 */ fmuls f1, f1, f4
/* 800A621C 000A205C EC 01 00 28 */ fsubs f0, f1, f0
/* 800A6220 000A2060 EC 02 00 32 */ fmuls f0, f2, f0
/* 800A6224 000A2064 EF E3 00 2A */ fadds f31, f3, f0
.global lbl_800A6228
lbl_800A6228:
/* 800A6228 000A2068 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 800A622C 000A206C 54 00 05 EF */ rlwinm. r0, r0, 0, 23, 23
/* 800A6230 000A2070 41 82 00 5C */ beq lbl_800A628C
/* 800A6234 000A2074 80 BD 00 BC */ lwz r5, 0xbc(r29)
/* 800A6238 000A2078 7F A3 EB 78 */ mr r3, r29
/* 800A623C 000A207C 38 80 00 00 */ li r4, 0x0
/* 800A6240 000A2080 83 85 00 20 */ lwz r28, 0x20(r5)
/* 800A6244 000A2084 48 00 0A 4D */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A6248 000A2088 38 9D 00 90 */ addi r4, r29, 0x90
/* 800A624C 000A208C 38 A1 00 18 */ addi r5, r1, 0x18
/* 800A6250 000A2090 4B F8 AE A1 */ bl PSMTXMultVec
/* 800A6254 000A2094 3C 9C 00 01 */ addis r4, r28, 0x1
/* 800A6258 000A2098 C0 7D 00 44 */ lfs f3, 0x44(r29)
/* 800A625C 000A209C C0 24 C0 5C */ lfs f1, -0x3fa4(r4)
/* 800A6260 000A20A0 38 61 00 18 */ addi r3, r1, 0x18
/* 800A6264 000A20A4 C0 44 C0 60 */ lfs f2, -0x3fa0(r4)
/* 800A6268 000A20A8 38 84 C0 20 */ addi r4, r4, -0x3fe0
/* 800A626C 000A20AC C0 9D 00 40 */ lfs f4, 0x40(r29)
/* 800A6270 000A20B0 4B FF FD 41 */ bl GetLODratio__Q24nw4r2efFRQ34nw4r4math4VEC3RQ34nw4r4math4VEC3ffff
/* 800A6274 000A20B4 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A6278 000A20B8 C0 5D 00 48 */ lfs f2, 0x48(r29)
/* 800A627C 000A20BC EC 00 10 28 */ fsubs f0, f0, f2
/* 800A6280 000A20C0 EC 00 00 72 */ fmuls f0, f0, f1
/* 800A6284 000A20C4 EC 02 00 2A */ fadds f0, f2, f0
/* 800A6288 000A20C8 EF FF 00 32 */ fmuls f31, f31, f0
.global lbl_800A628C
lbl_800A628C:
/* 800A628C 000A20CC C0 1D 00 38 */ lfs f0, 0x38(r29)
/* 800A6290 000A20D0 88 1D 00 DC */ lbz r0, 0xdc(r29)
/* 800A6294 000A20D4 EC 40 F8 2A */ fadds f2, f0, f31
/* 800A6298 000A20D8 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A629C 000A20DC D0 5D 00 38 */ stfs f2, 0x38(r29)
/* 800A62A0 000A20E0 41 82 00 24 */ beq lbl_800A62C4
/* 800A62A4 000A20E4 C0 22 8A 04 */ lfs f1, "@9109"@sda21(r2)
/* 800A62A8 000A20E8 C0 1D 00 28 */ lfs f0, 0x28(r29)
/* 800A62AC 000A20EC FC 01 00 00 */ fcmpu cr0, f1, f0
/* 800A62B0 000A20F0 41 82 00 14 */ beq lbl_800A62C4
/* 800A62B4 000A20F4 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A62B8 000A20F8 FC 02 00 40 */ fcmpo cr0, f2, f0
/* 800A62BC 000A20FC 40 80 00 08 */ bge lbl_800A62C4
/* 800A62C0 000A2100 D0 1D 00 38 */ stfs f0, 0x38(r29)
.global lbl_800A62C4
lbl_800A62C4:
/* 800A62C4 000A2104 C0 3D 00 38 */ lfs f1, 0x38(r29)
/* 800A62C8 000A2108 C0 02 8A 24 */ lfs f0, "@9488"@sda21(r2)
/* 800A62CC 000A210C FC 01 00 40 */ fcmpo cr0, f1, f0
/* 800A62D0 000A2110 4C 41 13 82 */ cror eq, gt, eq
/* 800A62D4 000A2114 40 82 01 F0 */ bne lbl_800A64C4
/* 800A62D8 000A2118 48 00 C2 69 */ bl GetInstance__Q34nw4r2ef8ResourceFv
/* 800A62DC 000A211C 80 7D 00 F0 */ lwz r3, 0xf0(r29)
/* 800A62E0 000A2120 83 9D 00 B8 */ lwz r28, 0xb8(r29)
/* 800A62E4 000A2124 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A62E8 000A2128 41 82 01 B0 */ beq lbl_800A6498
/* 800A62EC 000A212C 81 7D 00 BC */ lwz r11, 0xbc(r29)
/* 800A62F0 000A2130 80 0B 00 44 */ lwz r0, 0x44(r11)
/* 800A62F4 000A2134 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A62F8 000A2138 41 82 01 44 */ beq lbl_800A643C
/* 800A62FC 000A213C C0 1D 00 38 */ lfs f0, 0x38(r29)
/* 800A6300 000A2140 7F A3 EB 78 */ mr r3, r29
/* 800A6304 000A2144 C8 42 8A 18 */ lfd f2, "@9117"@sda21(r2)
/* 800A6308 000A2148 7F C4 F3 78 */ mr r4, r30
/* 800A630C 000A214C FC 20 00 1E */ fctiwz f1, f0
/* 800A6310 000A2150 C0 02 8A 00 */ lfs f0, "@9108"@sda21(r2)
/* 800A6314 000A2154 38 A1 00 14 */ addi r5, r1, 0x14
/* 800A6318 000A2158 38 C1 00 10 */ addi r6, r1, 0x10
/* 800A631C 000A215C D8 21 00 80 */ stfd f1, 0x80(r1)
/* 800A6320 000A2160 38 E1 00 28 */ addi r7, r1, 0x28
/* 800A6324 000A2164 80 01 00 84 */ lwz r0, 0x84(r1)
/* 800A6328 000A2168 39 01 00 08 */ addi r8, r1, 0x8
/* 800A632C 000A216C 90 01 00 14 */ stw r0, 0x14(r1)
/* 800A6330 000A2170 39 21 00 0C */ addi r9, r1, 0xc
/* 800A6334 000A2174 39 41 00 40 */ addi r10, r1, 0x40
/* 800A6338 000A2178 80 1D 00 24 */ lwz r0, 0x24(r29)
/* 800A633C 000A217C 90 01 00 10 */ stw r0, 0x10(r1)
/* 800A6340 000A2180 C0 3D 00 4C */ lfs f1, 0x4c(r29)
/* 800A6344 000A2184 D0 21 00 28 */ stfs f1, 0x28(r1)
/* 800A6348 000A2188 C0 3D 00 50 */ lfs f1, 0x50(r29)
/* 800A634C 000A218C D0 21 00 2C */ stfs f1, 0x2c(r1)
/* 800A6350 000A2190 C0 3D 00 54 */ lfs f1, 0x54(r29)
/* 800A6354 000A2194 D0 21 00 30 */ stfs f1, 0x30(r1)
/* 800A6358 000A2198 C0 3D 00 58 */ lfs f1, 0x58(r29)
/* 800A635C 000A219C D0 21 00 34 */ stfs f1, 0x34(r1)
/* 800A6360 000A21A0 C0 3D 00 5C */ lfs f1, 0x5c(r29)
/* 800A6364 000A21A4 D0 21 00 38 */ stfs f1, 0x38(r1)
/* 800A6368 000A21A8 C0 3D 00 60 */ lfs f1, 0x60(r29)
/* 800A636C 000A21AC D0 21 00 3C */ stfs f1, 0x3c(r1)
/* 800A6370 000A21B0 A0 1C 00 12 */ lhz r0, 0x12(r28)
/* 800A6374 000A21B4 B0 01 00 08 */ sth r0, 0x8(r1)
/* 800A6378 000A21B8 88 1C 00 14 */ lbz r0, 0x14(r28)
/* 800A637C 000A21BC 7C 00 07 74 */ extsb r0, r0
/* 800A6380 000A21C0 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800A6384 000A21C4 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A6388 000A21C8 C8 21 00 70 */ lfd f1, 0x70(r1)
/* 800A638C 000A21CC EC 21 10 28 */ fsubs f1, f1, f2
/* 800A6390 000A21D0 EC 01 00 24 */ fdivs f0, f1, f0
/* 800A6394 000A21D4 D0 01 00 0C */ stfs f0, 0xc(r1)
/* 800A6398 000A21D8 81 9F 00 00 */ lwz r12, 0x0(r31)
/* 800A639C 000A21DC 80 1F 00 04 */ lwz r0, 0x4(r31)
/* 800A63A0 000A21E0 90 01 00 44 */ stw r0, 0x44(r1)
/* 800A63A4 000A21E4 91 81 00 40 */ stw r12, 0x40(r1)
/* 800A63A8 000A21E8 81 9F 00 08 */ lwz r12, 0x8(r31)
/* 800A63AC 000A21EC 80 1F 00 0C */ lwz r0, 0xc(r31)
/* 800A63B0 000A21F0 90 01 00 4C */ stw r0, 0x4c(r1)
/* 800A63B4 000A21F4 91 81 00 48 */ stw r12, 0x48(r1)
/* 800A63B8 000A21F8 81 9F 00 10 */ lwz r12, 0x10(r31)
/* 800A63BC 000A21FC 80 1F 00 14 */ lwz r0, 0x14(r31)
/* 800A63C0 000A2200 90 01 00 54 */ stw r0, 0x54(r1)
/* 800A63C4 000A2204 91 81 00 50 */ stw r12, 0x50(r1)
/* 800A63C8 000A2208 81 9F 00 18 */ lwz r12, 0x18(r31)
/* 800A63CC 000A220C 80 1F 00 1C */ lwz r0, 0x1c(r31)
/* 800A63D0 000A2210 90 01 00 5C */ stw r0, 0x5c(r1)
/* 800A63D4 000A2214 91 81 00 58 */ stw r12, 0x58(r1)
/* 800A63D8 000A2218 81 9F 00 20 */ lwz r12, 0x20(r31)
/* 800A63DC 000A221C 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 800A63E0 000A2220 90 01 00 64 */ stw r0, 0x64(r1)
/* 800A63E4 000A2224 91 81 00 60 */ stw r12, 0x60(r1)
/* 800A63E8 000A2228 81 9F 00 28 */ lwz r12, 0x28(r31)
/* 800A63EC 000A222C 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 800A63F0 000A2230 90 01 00 6C */ stw r0, 0x6c(r1)
/* 800A63F4 000A2234 91 81 00 68 */ stw r12, 0x68(r1)
/* 800A63F8 000A2238 81 8B 00 44 */ lwz r12, 0x44(r11)
/* 800A63FC 000A223C 7D 89 03 A6 */ mtctr r12
/* 800A6400 000A2240 4E 80 04 21 */ bctrl
/* 800A6404 000A2244 80 7D 00 F0 */ lwz r3, 0xf0(r29)
/* 800A6408 000A2248 7F A4 EB 78 */ mr r4, r29
/* 800A640C 000A224C 7F C5 F3 78 */ mr r5, r30
/* 800A6410 000A2250 39 01 00 28 */ addi r8, r1, 0x28
/* 800A6414 000A2254 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A6418 000A2258 39 41 00 40 */ addi r10, r1, 0x40
/* 800A641C 000A225C 80 C1 00 14 */ lwz r6, 0x14(r1)
/* 800A6420 000A2260 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A6424 000A2264 80 E1 00 10 */ lwz r7, 0x10(r1)
/* 800A6428 000A2268 A1 21 00 08 */ lhz r9, 0x8(r1)
/* 800A642C 000A226C C0 21 00 0C */ lfs f1, 0xc(r1)
/* 800A6430 000A2270 7D 89 03 A6 */ mtctr r12
/* 800A6434 000A2274 4E 80 04 21 */ bctrl
/* 800A6438 000A2278 48 00 00 60 */ b lbl_800A6498
.global lbl_800A643C
lbl_800A643C:
/* 800A643C 000A227C 88 1C 00 14 */ lbz r0, 0x14(r28)
/* 800A6440 000A2280 7F A4 EB 78 */ mr r4, r29
/* 800A6444 000A2284 C0 1D 00 38 */ lfs f0, 0x38(r29)
/* 800A6448 000A2288 7F C5 F3 78 */ mr r5, r30
/* 800A644C 000A228C 7C 00 07 74 */ extsb r0, r0
/* 800A6450 000A2290 81 83 00 00 */ lwz r12, 0x0(r3)
/* 800A6454 000A2294 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800A6458 000A2298 90 01 00 7C */ stw r0, 0x7c(r1)
/* 800A645C 000A229C FC 40 00 1E */ fctiwz f2, f0
/* 800A6460 000A22A0 C8 22 8A 18 */ lfd f1, "@9117"@sda21(r2)
/* 800A6464 000A22A4 C8 01 00 78 */ lfd f0, 0x78(r1)
/* 800A6468 000A22A8 7F EA FB 78 */ mr r10, r31
/* 800A646C 000A22AC D8 41 00 80 */ stfd f2, 0x80(r1)
/* 800A6470 000A22B0 39 1D 00 4C */ addi r8, r29, 0x4c
/* 800A6474 000A22B4 EC 20 08 28 */ fsubs f1, f0, f1
/* 800A6478 000A22B8 C0 02 8A 00 */ lfs f0, "@9108"@sda21(r2)
/* 800A647C 000A22BC 81 8C 00 08 */ lwz r12, 0x8(r12)
/* 800A6480 000A22C0 80 C1 00 84 */ lwz r6, 0x84(r1)
/* 800A6484 000A22C4 EC 21 00 24 */ fdivs f1, f1, f0
/* 800A6488 000A22C8 80 FD 00 24 */ lwz r7, 0x24(r29)
/* 800A648C 000A22CC A1 3C 00 12 */ lhz r9, 0x12(r28)
/* 800A6490 000A22D0 7D 89 03 A6 */ mtctr r12
/* 800A6494 000A22D4 4E 80 04 21 */ bctrl
.global lbl_800A6498
lbl_800A6498:
/* 800A6498 000A22D8 C0 5D 00 38 */ lfs f2, 0x38(r29)
/* 800A649C 000A22DC C8 22 8A 18 */ lfd f1, "@9117"@sda21(r2)
/* 800A64A0 000A22E0 FC 00 10 1E */ fctiwz f0, f2
/* 800A64A4 000A22E4 D8 01 00 80 */ stfd f0, 0x80(r1)
/* 800A64A8 000A22E8 80 01 00 84 */ lwz r0, 0x84(r1)
/* 800A64AC 000A22EC 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 800A64B0 000A22F0 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A64B4 000A22F4 C8 01 00 70 */ lfd f0, 0x70(r1)
/* 800A64B8 000A22F8 EC 00 08 28 */ fsubs f0, f0, f1
/* 800A64BC 000A22FC EC 02 00 28 */ fsubs f0, f2, f0
/* 800A64C0 000A2300 D0 1D 00 38 */ stfs f0, 0x38(r29)
.global lbl_800A64C4
lbl_800A64C4:
/* 800A64C4 000A2304 88 1D 00 DC */ lbz r0, 0xdc(r29)
/* 800A64C8 000A2308 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A64CC 000A230C 41 82 00 0C */ beq lbl_800A64D8
/* 800A64D0 000A2310 38 00 00 00 */ li r0, 0x0
/* 800A64D4 000A2314 98 1D 00 DC */ stb r0, 0xdc(r29)
.global lbl_800A64D8
lbl_800A64D8:
/* 800A64D8 000A2318 80 01 00 B4 */ lwz r0, 0xb4(r1)
/* 800A64DC 000A231C E3 E1 00 A8 */ psq_l f31, 0xa8(r1), 0, qr0
/* 800A64E0 000A2320 CB E1 00 A0 */ lfd f31, 0xa0(r1)
/* 800A64E4 000A2324 83 E1 00 9C */ lwz r31, 0x9c(r1)
/* 800A64E8 000A2328 83 C1 00 98 */ lwz r30, 0x98(r1)
/* 800A64EC 000A232C 83 A1 00 94 */ lwz r29, 0x94(r1)
/* 800A64F0 000A2330 83 81 00 90 */ lwz r28, 0x90(r1)
/* 800A64F4 000A2334 7C 08 03 A6 */ mtlr r0
/* 800A64F8 000A2338 38 21 00 B0 */ addi r1, r1, 0xb0
/* 800A64FC 000A233C 4E 80 00 20 */ blr
.global CalcEmitter__Q34nw4r2ef7EmitterFv
CalcEmitter__Q34nw4r2ef7EmitterFv:
/* 800A6500 000A2340 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A6504 000A2344 7C 08 02 A6 */ mflr r0
/* 800A6508 000A2348 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A650C 000A234C 39 61 00 20 */ addi r11, r1, 0x20
/* 800A6510 000A2350 4B F6 0E 29 */ bl lbl_80007338
/* 800A6514 000A2354 80 03 00 20 */ lwz r0, 0x20(r3)
/* 800A6518 000A2358 7C 7B 1B 78 */ mr r27, r3
/* 800A651C 000A235C 54 00 05 AD */ rlwinm. r0, r0, 0, 22, 22
/* 800A6520 000A2360 40 82 01 7C */ bne lbl_800A669C
/* 800A6524 000A2364 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A6528 000A2368 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A652C 000A236C 40 82 01 70 */ bne lbl_800A669C
/* 800A6530 000A2370 80 03 00 B4 */ lwz r0, 0xb4(r3)
/* 800A6534 000A2374 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6538 000A2378 40 82 01 64 */ bne lbl_800A669C
/* 800A653C 000A237C A0 03 00 DE */ lhz r0, 0xde(r3)
/* 800A6540 000A2380 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6544 000A2384 40 82 01 58 */ bne lbl_800A669C
/* 800A6548 000A2388 80 03 00 20 */ lwz r0, 0x20(r3)
/* 800A654C 000A238C 54 04 07 7B */ rlwinm. r4, r0, 0, 29, 29
/* 800A6550 000A2390 40 82 00 24 */ bne lbl_800A6574
/* 800A6554 000A2394 83 E3 00 E4 */ lwz r31, 0xe4(r3)
/* 800A6558 000A2398 A0 03 00 3C */ lhz r0, 0x3c(r3)
/* 800A655C 000A239C 7C 1F 00 40 */ cmplw r31, r0
/* 800A6560 000A23A0 41 80 00 34 */ blt lbl_800A6594
/* 800A6564 000A23A4 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 800A6568 000A23A8 7F 64 DB 78 */ mr r4, r27
/* 800A656C 000A23AC 4B FF D9 45 */ bl RetireEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
/* 800A6570 000A23B0 48 00 01 2C */ b lbl_800A669C
.global lbl_800A6574
lbl_800A6574:
/* 800A6574 000A23B4 83 E3 00 E4 */ lwz r31, 0xe4(r3)
/* 800A6578 000A23B8 3C 1F 00 01 */ addis r0, r31, 0x1
/* 800A657C 000A23BC 28 00 FF FF */ cmplwi r0, 0xffff
/* 800A6580 000A23C0 40 82 00 14 */ bne lbl_800A6594
/* 800A6584 000A23C4 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 800A6588 000A23C8 7F 64 DB 78 */ mr r4, r27
/* 800A658C 000A23CC 4B FF D9 25 */ bl RetireEmitter__Q34nw4r2ef6EffectFPQ34nw4r2ef7Emitter
/* 800A6590 000A23D0 48 00 01 0C */ b lbl_800A669C
.global lbl_800A6594
lbl_800A6594:
/* 800A6594 000A23D4 2C 04 00 00 */ cmpwi r4, 0x0
/* 800A6598 000A23D8 41 82 00 0C */ beq lbl_800A65A4
/* 800A659C 000A23DC 3B C0 FF FF */ li r30, -0x1
/* 800A65A0 000A23E0 48 00 00 08 */ b lbl_800A65A8
.global lbl_800A65A4
lbl_800A65A4:
/* 800A65A4 000A23E4 A3 C3 00 3C */ lhz r30, 0x3c(r3)
.global lbl_800A65A8
lbl_800A65A8:
/* 800A65A8 000A23E8 2C 1F 00 00 */ cmpwi r31, 0x0
/* 800A65AC 000A23EC 3B A0 00 00 */ li r29, 0x0
/* 800A65B0 000A23F0 40 82 00 0C */ bne lbl_800A65BC
/* 800A65B4 000A23F4 3B 80 00 00 */ li r28, 0x0
/* 800A65B8 000A23F8 48 00 00 A0 */ b lbl_800A6658
.global lbl_800A65BC
lbl_800A65BC:
/* 800A65BC 000A23FC 80 63 00 B8 */ lwz r3, 0xb8(r3)
/* 800A65C0 000A2400 80 03 00 04 */ lwz r0, 0x4(r3)
/* 800A65C4 000A2404 7C 60 1A 14 */ add r3, r0, r3
/* 800A65C8 000A2408 84 03 00 08 */ lwzu r0, 0x8(r3)
/* 800A65CC 000A240C 7C 60 1A 14 */ add r3, r0, r3
/* 800A65D0 000A2410 A4 03 00 04 */ lhzu r0, 0x4(r3)
/* 800A65D4 000A2414 54 00 18 38 */ slwi r0, r0, 3
/* 800A65D8 000A2418 7C 60 1A 14 */ add r3, r0, r3
/* 800A65DC 000A241C A3 83 00 06 */ lhz r28, 0x6(r3)
/* 800A65E0 000A2420 48 00 00 78 */ b lbl_800A6658
.global lbl_800A65E4
lbl_800A65E4:
/* 800A65E4 000A2424 7C 05 30 2E */ lwzx r0, r5, r6
/* 800A65E8 000A2428 7C 65 32 14 */ add r3, r5, r6
/* 800A65EC 000A242C 57 84 13 BA */ rlwinm r4, r28, 2, 14, 29
/* 800A65F0 000A2430 7C 60 1A 14 */ add r3, r0, r3
/* 800A65F4 000A2434 A4 03 00 04 */ lhzu r0, 0x4(r3)
/* 800A65F8 000A2438 54 00 18 38 */ slwi r0, r0, 3
/* 800A65FC 000A243C 7C 60 1A 14 */ add r3, r0, r3
/* 800A6600 000A2440 38 03 00 04 */ addi r0, r3, 0x4
/* 800A6604 000A2444 7C 60 22 14 */ add r3, r0, r4
/* 800A6608 000A2448 80 63 00 04 */ lwz r3, 0x4(r3)
/* 800A660C 000A244C 88 03 00 04 */ lbz r0, 0x4(r3)
/* 800A6610 000A2450 54 00 07 39 */ rlwinm. r0, r0, 0, 28, 28
/* 800A6614 000A2454 40 82 00 40 */ bne lbl_800A6654
/* 800A6618 000A2458 88 83 00 00 */ lbz r4, 0x0(r3)
/* 800A661C 000A245C 38 04 00 55 */ addi r0, r4, 0x55
/* 800A6620 000A2460 54 00 06 3E */ clrlwi r0, r0, 24
/* 800A6624 000A2464 28 00 00 01 */ cmplwi r0, 0x1
/* 800A6628 000A2468 41 81 00 2C */ bgt lbl_800A6654
/* 800A662C 000A246C 8B 43 00 01 */ lbz r26, 0x1(r3)
/* 800A6630 000A2470 7F E5 FB 78 */ mr r5, r31
/* 800A6634 000A2474 A0 DB 00 EA */ lhz r6, 0xea(r27)
/* 800A6638 000A2478 7F C7 F3 78 */ mr r7, r30
/* 800A663C 000A247C 7C 9B D2 14 */ add r4, r27, r26
/* 800A6640 000A2480 38 84 00 20 */ addi r4, r4, 0x20
/* 800A6644 000A2484 48 00 1B 8D */ bl AnimCurveExecuteF32__Q24nw4r2efFPUcPfUlUsUl
/* 800A6648 000A2488 28 1A 00 70 */ cmplwi r26, 0x70
/* 800A664C 000A248C 41 80 00 08 */ blt lbl_800A6654
/* 800A6650 000A2490 3B A0 00 01 */ li r29, 0x1
.global lbl_800A6654
lbl_800A6654:
/* 800A6654 000A2494 3B 9C 00 01 */ addi r28, r28, 0x1
.global lbl_800A6658
lbl_800A6658:
/* 800A6658 000A2498 80 BB 00 B8 */ lwz r5, 0xb8(r27)
/* 800A665C 000A249C 57 83 04 3E */ clrlwi r3, r28, 16
/* 800A6660 000A24A0 80 85 00 04 */ lwz r4, 0x4(r5)
/* 800A6664 000A24A4 38 C4 00 08 */ addi r6, r4, 0x8
/* 800A6668 000A24A8 7C 05 30 2E */ lwzx r0, r5, r6
/* 800A666C 000A24AC 7C 85 32 14 */ add r4, r5, r6
/* 800A6670 000A24B0 7C 80 22 14 */ add r4, r0, r4
/* 800A6674 000A24B4 A4 04 00 04 */ lhzu r0, 0x4(r4)
/* 800A6678 000A24B8 54 00 18 38 */ slwi r0, r0, 3
/* 800A667C 000A24BC 7C 80 22 14 */ add r4, r0, r4
/* 800A6680 000A24C0 A0 04 00 04 */ lhz r0, 0x4(r4)
/* 800A6684 000A24C4 7C 03 00 40 */ cmplw r3, r0
/* 800A6688 000A24C8 41 80 FF 5C */ blt lbl_800A65E4
/* 800A668C 000A24CC 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A6690 000A24D0 41 82 00 0C */ beq lbl_800A669C
/* 800A6694 000A24D4 7F 63 DB 78 */ mr r3, r27
/* 800A6698 000A24D8 48 00 07 49 */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
.global lbl_800A669C
lbl_800A669C:
/* 800A669C 000A24DC 39 61 00 20 */ addi r11, r1, 0x20
/* 800A66A0 000A24E0 4B F6 0C E5 */ bl lbl_80007384
/* 800A66A4 000A24E4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A66A8 000A24E8 7C 08 03 A6 */ mtlr r0
/* 800A66AC 000A24EC 38 21 00 20 */ addi r1, r1, 0x20
/* 800A66B0 000A24F0 4E 80 00 20 */ blr
/* 800A66B4 000A24F4 00 00 00 00 */ .4byte 0x00000000
/* 800A66B8 000A24F8 00 00 00 00 */ .4byte 0x00000000
/* 800A66BC 000A24FC 00 00 00 00 */ .4byte 0x00000000
.global CalcParticle__Q34nw4r2ef7EmitterFv
CalcParticle__Q34nw4r2ef7EmitterFv:
/* 800A66C0 000A2500 94 21 EF E0 */ stwu r1, -0x1020(r1)
/* 800A66C4 000A2504 7C 08 02 A6 */ mflr r0
/* 800A66C8 000A2508 90 01 10 24 */ stw r0, 0x1024(r1)
/* 800A66CC 000A250C 93 E1 10 1C */ stw r31, 0x101c(r1)
/* 800A66D0 000A2510 93 C1 10 18 */ stw r30, 0x1018(r1)
/* 800A66D4 000A2514 93 A1 10 14 */ stw r29, 0x1014(r1)
/* 800A66D8 000A2518 80 03 00 20 */ lwz r0, 0x20(r3)
/* 800A66DC 000A251C 54 00 05 AD */ rlwinm. r0, r0, 0, 22, 22
/* 800A66E0 000A2520 40 82 00 4C */ bne lbl_800A672C
/* 800A66E4 000A2524 A0 A3 00 C8 */ lhz r5, 0xc8(r3)
/* 800A66E8 000A2528 38 81 00 08 */ addi r4, r1, 0x8
/* 800A66EC 000A252C 38 63 00 C0 */ addi r3, r3, 0xc0
/* 800A66F0 000A2530 48 00 C9 C1 */ bl UtlistToArray__Q24nw4r2efFPCQ34nw4r2ut4ListPPvi
/* 800A66F4 000A2534 3B C1 00 08 */ addi r30, r1, 0x8
/* 800A66F8 000A2538 54 7F 04 3E */ clrlwi r31, r3, 16
/* 800A66FC 000A253C 3B A0 00 00 */ li r29, 0x0
/* 800A6700 000A2540 48 00 00 20 */ b lbl_800A6720
.global lbl_800A6704
lbl_800A6704:
/* 800A6704 000A2544 57 A0 13 BA */ rlwinm r0, r29, 2, 14, 29
/* 800A6708 000A2548 7C 7E 00 2E */ lwzx r3, r30, r0
/* 800A670C 000A254C 81 83 00 1C */ lwz r12, 0x1c(r3)
/* 800A6710 000A2550 81 8C 00 18 */ lwz r12, 0x18(r12)
/* 800A6714 000A2554 7D 89 03 A6 */ mtctr r12
/* 800A6718 000A2558 4E 80 04 21 */ bctrl
/* 800A671C 000A255C 3B BD 00 01 */ addi r29, r29, 0x1
.global lbl_800A6720
lbl_800A6720:
/* 800A6720 000A2560 57 A0 04 3E */ clrlwi r0, r29, 16
/* 800A6724 000A2564 7C 00 F8 40 */ cmplw r0, r31
/* 800A6728 000A2568 41 80 FF DC */ blt lbl_800A6704
.global lbl_800A672C
lbl_800A672C:
/* 800A672C 000A256C 80 01 10 24 */ lwz r0, 0x1024(r1)
/* 800A6730 000A2570 83 E1 10 1C */ lwz r31, 0x101c(r1)
/* 800A6734 000A2574 83 C1 10 18 */ lwz r30, 0x1018(r1)
/* 800A6738 000A2578 83 A1 10 14 */ lwz r29, 0x1014(r1)
/* 800A673C 000A257C 7C 08 03 A6 */ mtlr r0
/* 800A6740 000A2580 38 21 10 20 */ addi r1, r1, 0x1020
/* 800A6744 000A2584 4E 80 00 20 */ blr
/* 800A6748 000A2588 00 00 00 00 */ .4byte 0x00000000
/* 800A674C 000A258C 00 00 00 00 */ .4byte 0x00000000
.global CalcEmission__Q34nw4r2ef7EmitterFv
CalcEmission__Q34nw4r2ef7EmitterFv:
/* 800A6750 000A2590 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800A6754 000A2594 7C 08 02 A6 */ mflr r0
/* 800A6758 000A2598 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A675C 000A259C 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 800A6760 000A25A0 93 C1 00 68 */ stw r30, 0x68(r1)
/* 800A6764 000A25A4 7C 7E 1B 78 */ mr r30, r3
/* 800A6768 000A25A8 80 03 00 20 */ lwz r0, 0x20(r3)
/* 800A676C 000A25AC 54 00 05 AD */ rlwinm. r0, r0, 0, 22, 22
/* 800A6770 000A25B0 40 82 00 DC */ bne lbl_800A684C
/* 800A6774 000A25B4 80 03 00 B4 */ lwz r0, 0xb4(r3)
/* 800A6778 000A25B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A677C 000A25BC 40 82 00 D0 */ bne lbl_800A684C
/* 800A6780 000A25C0 A0 03 00 E8 */ lhz r0, 0xe8(r3)
/* 800A6784 000A25C4 38 80 00 01 */ li r4, 0x1
/* 800A6788 000A25C8 90 83 00 B4 */ stw r4, 0xb4(r3)
/* 800A678C 000A25CC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6790 000A25D0 41 82 00 14 */ beq lbl_800A67A4
/* 800A6794 000A25D4 80 83 00 BC */ lwz r4, 0xbc(r3)
/* 800A6798 000A25D8 80 04 00 50 */ lwz r0, 0x50(r4)
/* 800A679C 000A25DC 64 00 00 01 */ oris r0, r0, 0x1
/* 800A67A0 000A25E0 90 04 00 50 */ stw r0, 0x50(r4)
.global lbl_800A67A4
lbl_800A67A4:
/* 800A67A4 000A25E4 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A67A8 000A25E8 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A67AC 000A25EC 40 82 00 7C */ bne lbl_800A6828
/* 800A67B0 000A25F0 38 80 00 00 */ li r4, 0x0
/* 800A67B4 000A25F4 38 63 00 C0 */ addi r3, r3, 0xc0
/* 800A67B8 000A25F8 4B FF D1 79 */ bl MEMGetNextListObject
/* 800A67BC 000A25FC 7C 7F 1B 78 */ mr r31, r3
/* 800A67C0 000A2600 38 81 00 08 */ addi r4, r1, 0x8
/* 800A67C4 000A2604 48 00 B6 AD */ bl CalcGlobalMtx__Q34nw4r2ef15ParticleManagerFPQ34nw4r4math5MTX34
/* 800A67C8 000A2608 38 61 00 08 */ addi r3, r1, 0x8
/* 800A67CC 000A260C 7C 64 1B 78 */ mr r4, r3
/* 800A67D0 000A2610 4B F8 A0 31 */ bl PSMTXInverse
/* 800A67D4 000A2614 7F C3 F3 78 */ mr r3, r30
/* 800A67D8 000A2618 38 81 00 38 */ addi r4, r1, 0x38
/* 800A67DC 000A261C 48 00 04 B5 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A67E0 000A2620 38 81 00 38 */ addi r4, r1, 0x38
/* 800A67E4 000A2624 38 61 00 08 */ addi r3, r1, 0x8
/* 800A67E8 000A2628 7C 85 23 78 */ mr r5, r4
/* 800A67EC 000A262C 4B F8 9D 65 */ bl PSMTXConcat
/* 800A67F0 000A2630 A0 7E 00 DE */ lhz r3, 0xde(r30)
/* 800A67F4 000A2634 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A67F8 000A2638 41 82 00 10 */ beq lbl_800A6808
/* 800A67FC 000A263C 38 03 FF FF */ addi r0, r3, -0x1
/* 800A6800 000A2640 B0 1E 00 DE */ sth r0, 0xde(r30)
/* 800A6804 000A2644 48 00 00 48 */ b lbl_800A684C
.global lbl_800A6808
lbl_800A6808:
/* 800A6808 000A2648 7F C3 F3 78 */ mr r3, r30
/* 800A680C 000A264C 7F E4 FB 78 */ mr r4, r31
/* 800A6810 000A2650 38 A1 00 38 */ addi r5, r1, 0x38
/* 800A6814 000A2654 4B FF F8 9D */ bl Emission__Q34nw4r2ef7EmitterFPQ34nw4r2ef15ParticleManagerPCQ34nw4r4math5MTX34
/* 800A6818 000A2658 80 7E 00 E4 */ lwz r3, 0xe4(r30)
/* 800A681C 000A265C 38 03 00 01 */ addi r0, r3, 0x1
/* 800A6820 000A2660 90 1E 00 E4 */ stw r0, 0xe4(r30)
/* 800A6824 000A2664 48 00 00 28 */ b lbl_800A684C
.global lbl_800A6828
lbl_800A6828:
/* 800A6828 000A2668 A0 83 00 DE */ lhz r4, 0xde(r3)
/* 800A682C 000A266C 2C 04 00 00 */ cmpwi r4, 0x0
/* 800A6830 000A2670 41 82 00 10 */ beq lbl_800A6840
/* 800A6834 000A2674 38 04 FF FF */ addi r0, r4, -0x1
/* 800A6838 000A2678 B0 03 00 DE */ sth r0, 0xde(r3)
/* 800A683C 000A267C 48 00 00 10 */ b lbl_800A684C
.global lbl_800A6840
lbl_800A6840:
/* 800A6840 000A2680 80 83 00 E4 */ lwz r4, 0xe4(r3)
/* 800A6844 000A2684 38 04 00 01 */ addi r0, r4, 0x1
/* 800A6848 000A2688 90 03 00 E4 */ stw r0, 0xe4(r3)
.global lbl_800A684C
lbl_800A684C:
/* 800A684C 000A268C 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800A6850 000A2690 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 800A6854 000A2694 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 800A6858 000A2698 7C 08 03 A6 */ mtlr r0
/* 800A685C 000A269C 38 21 00 70 */ addi r1, r1, 0x70
/* 800A6860 000A26A0 4E 80 00 20 */ blr
/* 800A6864 000A26A4 00 00 00 00 */ .4byte 0x00000000
/* 800A6868 000A26A8 00 00 00 00 */ .4byte 0x00000000
/* 800A686C 000A26AC 00 00 00 00 */ .4byte 0x00000000
.global CalcBillboard__Q34nw4r2ef7EmitterFv
CalcBillboard__Q34nw4r2ef7EmitterFv:
/* 800A6870 000A26B0 94 21 FF 20 */ stwu r1, -0xe0(r1)
/* 800A6874 000A26B4 7C 08 02 A6 */ mflr r0
/* 800A6878 000A26B8 90 01 00 E4 */ stw r0, 0xe4(r1)
/* 800A687C 000A26BC 93 E1 00 DC */ stw r31, 0xdc(r1)
/* 800A6880 000A26C0 7C 7F 1B 78 */ mr r31, r3
/* 800A6884 000A26C4 93 C1 00 D8 */ stw r30, 0xd8(r1)
/* 800A6888 000A26C8 93 A1 00 D4 */ stw r29, 0xd4(r1)
/* 800A688C 000A26CC 93 81 00 D0 */ stw r28, 0xd0(r1)
/* 800A6890 000A26D0 80 03 00 0C */ lwz r0, 0xc(r3)
/* 800A6894 000A26D4 2C 00 00 01 */ cmpwi r0, 0x1
/* 800A6898 000A26D8 41 82 00 0C */ beq lbl_800A68A4
/* 800A689C 000A26DC 2C 00 00 02 */ cmpwi r0, 0x2
/* 800A68A0 000A26E0 40 82 01 88 */ bne lbl_800A6A28
.global lbl_800A68A4
lbl_800A68A4:
/* 800A68A4 000A26E4 80 83 00 24 */ lwz r4, 0x24(r3)
/* 800A68A8 000A26E8 54 80 03 DF */ rlwinm. r0, r4, 0, 15, 15
/* 800A68AC 000A26EC 40 82 00 0C */ bne lbl_800A68B8
/* 800A68B0 000A26F0 54 80 04 21 */ rlwinm. r0, r4, 0, 16, 16
/* 800A68B4 000A26F4 41 82 01 74 */ beq lbl_800A6A28
.global lbl_800A68B8
lbl_800A68B8:
/* 800A68B8 000A26F8 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A68BC 000A26FC 38 00 00 01 */ li r0, 0x1
/* 800A68C0 000A2700 D0 03 00 B0 */ stfs f0, 0xb0(r3)
/* 800A68C4 000A2704 38 81 00 98 */ addi r4, r1, 0x98
/* 800A68C8 000A2708 D0 03 00 AC */ stfs f0, 0xac(r3)
/* 800A68CC 000A270C D0 03 00 A8 */ stfs f0, 0xa8(r3)
/* 800A68D0 000A2710 98 03 01 20 */ stb r0, 0x120(r3)
/* 800A68D4 000A2714 7F E3 FB 78 */ mr r3, r31
/* 800A68D8 000A2718 48 00 03 B9 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A68DC 000A271C 80 7F 00 BC */ lwz r3, 0xbc(r31)
/* 800A68E0 000A2720 38 81 00 98 */ addi r4, r1, 0x98
/* 800A68E4 000A2724 38 A1 00 68 */ addi r5, r1, 0x68
/* 800A68E8 000A2728 80 63 00 20 */ lwz r3, 0x20(r3)
/* 800A68EC 000A272C 3C 63 00 01 */ addis r3, r3, 0x1
/* 800A68F0 000A2730 38 63 C0 2C */ addi r3, r3, -0x3fd4
/* 800A68F4 000A2734 4B F8 9C 5D */ bl PSMTXConcat
/* 800A68F8 000A2738 83 81 00 68 */ lwz r28, 0x68(r1)
/* 800A68FC 000A273C 38 61 00 38 */ addi r3, r1, 0x38
/* 800A6900 000A2740 83 A1 00 6C */ lwz r29, 0x6c(r1)
/* 800A6904 000A2744 38 80 00 00 */ li r4, 0x0
/* 800A6908 000A2748 83 C1 00 70 */ lwz r30, 0x70(r1)
/* 800A690C 000A274C 81 81 00 74 */ lwz r12, 0x74(r1)
/* 800A6910 000A2750 81 61 00 78 */ lwz r11, 0x78(r1)
/* 800A6914 000A2754 81 41 00 7C */ lwz r10, 0x7c(r1)
/* 800A6918 000A2758 81 21 00 80 */ lwz r9, 0x80(r1)
/* 800A691C 000A275C 81 01 00 84 */ lwz r8, 0x84(r1)
/* 800A6920 000A2760 80 E1 00 88 */ lwz r7, 0x88(r1)
/* 800A6924 000A2764 80 C1 00 8C */ lwz r6, 0x8c(r1)
/* 800A6928 000A2768 80 A1 00 90 */ lwz r5, 0x90(r1)
/* 800A692C 000A276C 80 01 00 94 */ lwz r0, 0x94(r1)
/* 800A6930 000A2770 93 81 00 38 */ stw r28, 0x38(r1)
/* 800A6934 000A2774 93 A1 00 3C */ stw r29, 0x3c(r1)
/* 800A6938 000A2778 93 C1 00 40 */ stw r30, 0x40(r1)
/* 800A693C 000A277C 91 81 00 44 */ stw r12, 0x44(r1)
/* 800A6940 000A2780 91 61 00 48 */ stw r11, 0x48(r1)
/* 800A6944 000A2784 91 41 00 4C */ stw r10, 0x4c(r1)
/* 800A6948 000A2788 91 21 00 50 */ stw r9, 0x50(r1)
/* 800A694C 000A278C 91 01 00 54 */ stw r8, 0x54(r1)
/* 800A6950 000A2790 90 E1 00 58 */ stw r7, 0x58(r1)
/* 800A6954 000A2794 90 C1 00 5C */ stw r6, 0x5c(r1)
/* 800A6958 000A2798 90 A1 00 60 */ stw r5, 0x60(r1)
/* 800A695C 000A279C 90 01 00 64 */ stw r0, 0x64(r1)
/* 800A6960 000A27A0 48 00 D6 71 */ bl MTXColLen__Q24nw4r2efFPCQ34nw4r4math5MTX34i
/* 800A6964 000A27A4 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A6968 000A27A8 38 61 00 38 */ addi r3, r1, 0x38
/* 800A696C 000A27AC D0 21 00 38 */ stfs f1, 0x38(r1)
/* 800A6970 000A27B0 38 80 00 01 */ li r4, 0x1
/* 800A6974 000A27B4 D0 01 00 58 */ stfs f0, 0x58(r1)
/* 800A6978 000A27B8 D0 01 00 48 */ stfs f0, 0x48(r1)
/* 800A697C 000A27BC 48 00 D6 55 */ bl MTXColLen__Q24nw4r2efFPCQ34nw4r4math5MTX34i
/* 800A6980 000A27C0 C0 02 8A 04 */ lfs f0, "@9109"@sda21(r2)
/* 800A6984 000A27C4 38 61 00 38 */ addi r3, r1, 0x38
/* 800A6988 000A27C8 D0 21 00 4C */ stfs f1, 0x4c(r1)
/* 800A698C 000A27CC 38 80 00 02 */ li r4, 0x2
/* 800A6990 000A27D0 D0 01 00 5C */ stfs f0, 0x5c(r1)
/* 800A6994 000A27D4 D0 01 00 3C */ stfs f0, 0x3c(r1)
/* 800A6998 000A27D8 48 00 D6 39 */ bl MTXColLen__Q24nw4r2efFPCQ34nw4r4math5MTX34i
/* 800A699C 000A27DC C0 42 8A 04 */ lfs f2, "@9109"@sda21(r2)
/* 800A69A0 000A27E0 D0 21 00 60 */ stfs f1, 0x60(r1)
/* 800A69A4 000A27E4 D0 41 00 50 */ stfs f2, 0x50(r1)
/* 800A69A8 000A27E8 D0 41 00 40 */ stfs f2, 0x40(r1)
/* 800A69AC 000A27EC 80 1F 00 24 */ lwz r0, 0x24(r31)
/* 800A69B0 000A27F0 54 00 04 21 */ rlwinm. r0, r0, 0, 16, 16
/* 800A69B4 000A27F4 41 82 00 24 */ beq lbl_800A69D8
/* 800A69B8 000A27F8 FC 60 10 90 */ fmr f3, f2
/* 800A69BC 000A27FC C0 22 8A 30 */ lfs f1, "@9717"@sda21(r2)
/* 800A69C0 000A2800 38 61 00 08 */ addi r3, r1, 0x8
/* 800A69C4 000A2804 48 00 D2 CD */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A69C8 000A2808 38 61 00 38 */ addi r3, r1, 0x38
/* 800A69CC 000A280C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A69D0 000A2810 7C 65 1B 78 */ mr r5, r3
/* 800A69D4 000A2814 4B F8 9B 7D */ bl PSMTXConcat
.global lbl_800A69D8
lbl_800A69D8:
/* 800A69D8 000A2818 38 61 00 68 */ addi r3, r1, 0x68
/* 800A69DC 000A281C 7C 64 1B 78 */ mr r4, r3
/* 800A69E0 000A2820 4B F8 9E 21 */ bl PSMTXInverse
/* 800A69E4 000A2824 38 61 00 68 */ addi r3, r1, 0x68
/* 800A69E8 000A2828 38 81 00 38 */ addi r4, r1, 0x38
/* 800A69EC 000A282C 7C 65 1B 78 */ mr r5, r3
/* 800A69F0 000A2830 4B F8 9B 61 */ bl PSMTXConcat
/* 800A69F4 000A2834 38 61 00 68 */ addi r3, r1, 0x68
/* 800A69F8 000A2838 38 BF 00 A8 */ addi r5, r31, 0xa8
/* 800A69FC 000A283C 7C 64 1B 78 */ mr r4, r3
/* 800A6A00 000A2840 48 00 D5 21 */ bl MTX34ScaleInv__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A6A04 000A2844 38 61 00 68 */ addi r3, r1, 0x68
/* 800A6A08 000A2848 38 9F 00 9C */ addi r4, r31, 0x9c
/* 800A6A0C 000A284C 7C 65 1B 78 */ mr r5, r3
/* 800A6A10 000A2850 48 00 D4 81 */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3PCQ34nw4r4math5MTX34
/* 800A6A14 000A2854 38 61 00 68 */ addi r3, r1, 0x68
/* 800A6A18 000A2858 38 9F 00 A8 */ addi r4, r31, 0xa8
/* 800A6A1C 000A285C 48 00 C9 55 */ bl MtxGetRotation__Q24nw4r2efFRCQ34nw4r4math5MTX34PQ34nw4r4math4VEC3
/* 800A6A20 000A2860 7F E3 FB 78 */ mr r3, r31
/* 800A6A24 000A2864 48 00 03 BD */ bl SetMtxDirty__Q34nw4r2ef7EmitterFv
.global lbl_800A6A28
lbl_800A6A28:
/* 800A6A28 000A2868 80 01 00 E4 */ lwz r0, 0xe4(r1)
/* 800A6A2C 000A286C 83 E1 00 DC */ lwz r31, 0xdc(r1)
/* 800A6A30 000A2870 83 C1 00 D8 */ lwz r30, 0xd8(r1)
/* 800A6A34 000A2874 83 A1 00 D4 */ lwz r29, 0xd4(r1)
/* 800A6A38 000A2878 83 81 00 D0 */ lwz r28, 0xd0(r1)
/* 800A6A3C 000A287C 7C 08 03 A6 */ mtlr r0
/* 800A6A40 000A2880 38 21 00 E0 */ addi r1, r1, 0xe0
/* 800A6A44 000A2884 4E 80 00 20 */ blr
/* 800A6A48 000A2888 00 00 00 00 */ .4byte 0x00000000
/* 800A6A4C 000A288C 00 00 00 00 */ .4byte 0x00000000
.global RestructMatrix__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34PQ34nw4r4math5MTX34bbScb
RestructMatrix__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34PQ34nw4r4math5MTX34bbScb:
/* 800A6A50 000A2890 94 21 FF 70 */ stwu r1, -0x90(r1)
/* 800A6A54 000A2894 7C 08 02 A6 */ mflr r0
/* 800A6A58 000A2898 90 01 00 94 */ stw r0, 0x94(r1)
/* 800A6A5C 000A289C 39 61 00 90 */ addi r11, r1, 0x90
/* 800A6A60 000A28A0 4B F6 08 D9 */ bl lbl_80007338
/* 800A6A64 000A28A4 2C 05 00 00 */ cmpwi r5, 0x0
/* 800A6A68 000A28A8 7C 7A 1B 78 */ mr r26, r3
/* 800A6A6C 000A28AC 7C 9B 23 78 */ mr r27, r4
/* 800A6A70 000A28B0 7C BC 2B 78 */ mr r28, r5
/* 800A6A74 000A28B4 7C DD 33 78 */ mr r29, r6
/* 800A6A78 000A28B8 7C FE 3B 78 */ mr r30, r7
/* 800A6A7C 000A28BC 7D 1F 43 78 */ mr r31, r8
/* 800A6A80 000A28C0 41 82 00 7C */ beq lbl_800A6AFC
/* 800A6A84 000A28C4 2C 06 00 00 */ cmpwi r6, 0x0
/* 800A6A88 000A28C8 41 82 00 74 */ beq lbl_800A6AFC
/* 800A6A8C 000A28CC 7C E0 07 74 */ extsb r0, r7
/* 800A6A90 000A28D0 2C 00 00 64 */ cmpwi r0, 0x64
/* 800A6A94 000A28D4 40 82 00 68 */ bne lbl_800A6AFC
/* 800A6A98 000A28D8 80 A4 00 00 */ lwz r5, 0x0(r4)
/* 800A6A9C 000A28DC 80 04 00 04 */ lwz r0, 0x4(r4)
/* 800A6AA0 000A28E0 90 03 00 04 */ stw r0, 0x4(r3)
/* 800A6AA4 000A28E4 90 A3 00 00 */ stw r5, 0x0(r3)
/* 800A6AA8 000A28E8 80 A4 00 08 */ lwz r5, 0x8(r4)
/* 800A6AAC 000A28EC 80 04 00 0C */ lwz r0, 0xc(r4)
/* 800A6AB0 000A28F0 90 03 00 0C */ stw r0, 0xc(r3)
/* 800A6AB4 000A28F4 90 A3 00 08 */ stw r5, 0x8(r3)
/* 800A6AB8 000A28F8 80 A4 00 10 */ lwz r5, 0x10(r4)
/* 800A6ABC 000A28FC 80 04 00 14 */ lwz r0, 0x14(r4)
/* 800A6AC0 000A2900 90 03 00 14 */ stw r0, 0x14(r3)
/* 800A6AC4 000A2904 90 A3 00 10 */ stw r5, 0x10(r3)
/* 800A6AC8 000A2908 80 A4 00 18 */ lwz r5, 0x18(r4)
/* 800A6ACC 000A290C 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 800A6AD0 000A2910 90 03 00 1C */ stw r0, 0x1c(r3)
/* 800A6AD4 000A2914 90 A3 00 18 */ stw r5, 0x18(r3)
/* 800A6AD8 000A2918 80 A4 00 20 */ lwz r5, 0x20(r4)
/* 800A6ADC 000A291C 80 04 00 24 */ lwz r0, 0x24(r4)
/* 800A6AE0 000A2920 90 03 00 24 */ stw r0, 0x24(r3)
/* 800A6AE4 000A2924 90 A3 00 20 */ stw r5, 0x20(r3)
/* 800A6AE8 000A2928 80 A4 00 28 */ lwz r5, 0x28(r4)
/* 800A6AEC 000A292C 80 04 00 2C */ lwz r0, 0x2c(r4)
/* 800A6AF0 000A2930 90 03 00 2C */ stw r0, 0x2c(r3)
/* 800A6AF4 000A2934 90 A3 00 28 */ stw r5, 0x28(r3)
/* 800A6AF8 000A2938 48 00 01 7C */ b lbl_800A6C74
.global lbl_800A6AFC
lbl_800A6AFC:
/* 800A6AFC 000A293C 2C 05 00 00 */ cmpwi r5, 0x0
/* 800A6B00 000A2940 40 82 00 24 */ bne lbl_800A6B24
/* 800A6B04 000A2944 2C 06 00 00 */ cmpwi r6, 0x0
/* 800A6B08 000A2948 40 82 00 1C */ bne lbl_800A6B24
/* 800A6B0C 000A294C 7C E0 07 75 */ extsb. r0, r7
/* 800A6B10 000A2950 40 82 00 14 */ bne lbl_800A6B24
/* 800A6B14 000A2954 7F 43 D3 78 */ mr r3, r26
/* 800A6B18 000A2958 4B F8 99 C9 */ bl PSMTXIdentity
/* 800A6B1C 000A295C 7F 43 D3 78 */ mr r3, r26
/* 800A6B20 000A2960 48 00 01 54 */ b lbl_800A6C74
.global lbl_800A6B24
lbl_800A6B24:
/* 800A6B24 000A2964 7F 43 D3 78 */ mr r3, r26
/* 800A6B28 000A2968 4B F8 99 B9 */ bl PSMTXIdentity
/* 800A6B2C 000A296C 7F 63 DB 78 */ mr r3, r27
/* 800A6B30 000A2970 38 81 00 2C */ addi r4, r1, 0x2c
/* 800A6B34 000A2974 48 00 C9 AD */ bl MtxGetTranslate__Q24nw4r2efFRCQ34nw4r4math5MTX34PQ34nw4r4math4VEC3
/* 800A6B38 000A2978 7F C0 07 74 */ extsb r0, r30
/* 800A6B3C 000A297C 2C 00 00 64 */ cmpwi r0, 0x64
/* 800A6B40 000A2980 40 82 00 18 */ bne lbl_800A6B58
/* 800A6B44 000A2984 7F 43 D3 78 */ mr r3, r26
/* 800A6B48 000A2988 7F 44 D3 78 */ mr r4, r26
/* 800A6B4C 000A298C 38 A1 00 2C */ addi r5, r1, 0x2c
/* 800A6B50 000A2990 48 05 83 61 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A6B54 000A2994 48 00 00 5C */ b lbl_800A6BB0
.global lbl_800A6B58
lbl_800A6B58:
/* 800A6B58 000A2998 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6B5C 000A299C 41 82 00 54 */ beq lbl_800A6BB0
/* 800A6B60 000A29A0 6C 03 80 00 */ xoris r3, r0, 0x8000
/* 800A6B64 000A29A4 3C 00 43 30 */ lis r0, 0x4330
/* 800A6B68 000A29A8 90 61 00 6C */ stw r3, 0x6c(r1)
/* 800A6B6C 000A29AC 38 C1 00 2C */ addi r6, r1, 0x2c
/* 800A6B70 000A29B0 C8 42 8A 18 */ lfd f2, "@9117"@sda21(r2)
/* 800A6B74 000A29B4 38 A1 00 20 */ addi r5, r1, 0x20
/* 800A6B78 000A29B8 90 01 00 68 */ stw r0, 0x68(r1)
/* 800A6B7C 000A29BC 7F 43 D3 78 */ mr r3, r26
/* 800A6B80 000A29C0 C0 02 8A 00 */ lfs f0, "@9108"@sda21(r2)
/* 800A6B84 000A29C4 7F 44 D3 78 */ mr r4, r26
/* 800A6B88 000A29C8 C8 21 00 68 */ lfd f1, 0x68(r1)
/* 800A6B8C 000A29CC E0 66 00 00 */ psq_l f3, 0x0(r6), 0, qr0
/* 800A6B90 000A29D0 EC 21 10 28 */ fsubs f1, f1, f2
/* 800A6B94 000A29D4 EC 01 00 24 */ fdivs f0, f1, f0
/* 800A6B98 000A29D8 10 23 00 18 */ ps_muls0 f1, f3, f0
/* 800A6B9C 000A29DC E0 66 80 08 */ psq_l f3, 0x8(r6), 1, qr0
/* 800A6BA0 000A29E0 F0 25 00 00 */ psq_st f1, 0x0(r5), 0, qr0
/* 800A6BA4 000A29E4 10 23 00 18 */ ps_muls0 f1, f3, f0
/* 800A6BA8 000A29E8 F0 25 80 08 */ psq_st f1, 0x8(r5), 1, qr0
/* 800A6BAC 000A29EC 48 05 83 05 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A6BB0
lbl_800A6BB0:
/* 800A6BB0 000A29F0 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A6BB4 000A29F4 40 82 00 0C */ bne lbl_800A6BC0
/* 800A6BB8 000A29F8 2C 1C 00 00 */ cmpwi r28, 0x0
/* 800A6BBC 000A29FC 41 82 00 B4 */ beq lbl_800A6C70
.global lbl_800A6BC0
lbl_800A6BC0:
/* 800A6BC0 000A2A00 2C 1F 00 00 */ cmpwi r31, 0x0
/* 800A6BC4 000A2A04 41 82 00 20 */ beq lbl_800A6BE4
/* 800A6BC8 000A2A08 7F C0 07 74 */ extsb r0, r30
/* 800A6BCC 000A2A0C 2C 00 00 64 */ cmpwi r0, 0x64
/* 800A6BD0 000A2A10 41 82 00 14 */ beq lbl_800A6BE4
/* 800A6BD4 000A2A14 7F 43 D3 78 */ mr r3, r26
/* 800A6BD8 000A2A18 7F 44 D3 78 */ mr r4, r26
/* 800A6BDC 000A2A1C 38 A1 00 2C */ addi r5, r1, 0x2c
/* 800A6BE0 000A2A20 48 05 82 D1 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A6BE4
lbl_800A6BE4:
/* 800A6BE4 000A2A24 2C 1D 00 00 */ cmpwi r29, 0x0
/* 800A6BE8 000A2A28 41 82 00 20 */ beq lbl_800A6C08
/* 800A6BEC 000A2A2C 7F 63 DB 78 */ mr r3, r27
/* 800A6BF0 000A2A30 38 81 00 38 */ addi r4, r1, 0x38
/* 800A6BF4 000A2A34 48 00 C6 5D */ bl MtxGetRotationMtx__Q24nw4r2efFRCQ34nw4r4math5MTX34PQ34nw4r4math5MTX34
/* 800A6BF8 000A2A38 7F 43 D3 78 */ mr r3, r26
/* 800A6BFC 000A2A3C 7F 45 D3 78 */ mr r5, r26
/* 800A6C00 000A2A40 38 81 00 38 */ addi r4, r1, 0x38
/* 800A6C04 000A2A44 4B F8 99 4D */ bl PSMTXConcat
.global lbl_800A6C08
lbl_800A6C08:
/* 800A6C08 000A2A48 2C 1C 00 00 */ cmpwi r28, 0x0
/* 800A6C0C 000A2A4C 41 82 00 20 */ beq lbl_800A6C2C
/* 800A6C10 000A2A50 7F 63 DB 78 */ mr r3, r27
/* 800A6C14 000A2A54 38 81 00 14 */ addi r4, r1, 0x14
/* 800A6C18 000A2A58 48 00 C8 E9 */ bl MtxGetScale__Q24nw4r2efFRCQ34nw4r4math5MTX34PQ34nw4r4math4VEC3
/* 800A6C1C 000A2A5C 7F 43 D3 78 */ mr r3, r26
/* 800A6C20 000A2A60 7F 44 D3 78 */ mr r4, r26
/* 800A6C24 000A2A64 38 A1 00 14 */ addi r5, r1, 0x14
/* 800A6C28 000A2A68 48 00 D1 E9 */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A6C2C
lbl_800A6C2C:
/* 800A6C2C 000A2A6C 2C 1F 00 00 */ cmpwi r31, 0x0
/* 800A6C30 000A2A70 41 82 00 40 */ beq lbl_800A6C70
/* 800A6C34 000A2A74 7F C0 07 74 */ extsb r0, r30
/* 800A6C38 000A2A78 2C 00 00 64 */ cmpwi r0, 0x64
/* 800A6C3C 000A2A7C 41 82 00 34 */ beq lbl_800A6C70
/* 800A6C40 000A2A80 38 C1 00 2C */ addi r6, r1, 0x2c
/* 800A6C44 000A2A84 C0 02 8A 20 */ lfs f0, "@9451"@sda21(r2)
/* 800A6C48 000A2A88 E0 46 00 00 */ psq_l f2, 0x0(r6), 0, qr0
/* 800A6C4C 000A2A8C 38 A1 00 08 */ addi r5, r1, 0x8
/* 800A6C50 000A2A90 7F 43 D3 78 */ mr r3, r26
/* 800A6C54 000A2A94 7F 44 D3 78 */ mr r4, r26
/* 800A6C58 000A2A98 10 22 00 18 */ ps_muls0 f1, f2, f0
/* 800A6C5C 000A2A9C E0 46 80 08 */ psq_l f2, 0x8(r6), 1, qr0
/* 800A6C60 000A2AA0 F0 25 00 00 */ psq_st f1, 0x0(r5), 0, qr0
/* 800A6C64 000A2AA4 10 22 00 18 */ ps_muls0 f1, f2, f0
/* 800A6C68 000A2AA8 F0 25 80 08 */ psq_st f1, 0x8(r5), 1, qr0
/* 800A6C6C 000A2AAC 48 05 82 45 */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
.global lbl_800A6C70
lbl_800A6C70:
/* 800A6C70 000A2AB0 7F 43 D3 78 */ mr r3, r26
.global lbl_800A6C74
lbl_800A6C74:
/* 800A6C74 000A2AB4 39 61 00 90 */ addi r11, r1, 0x90
/* 800A6C78 000A2AB8 4B F6 07 0D */ bl lbl_80007384
/* 800A6C7C 000A2ABC 80 01 00 94 */ lwz r0, 0x94(r1)
/* 800A6C80 000A2AC0 7C 08 03 A6 */ mtlr r0
/* 800A6C84 000A2AC4 38 21 00 90 */ addi r1, r1, 0x90
/* 800A6C88 000A2AC8 4E 80 00 20 */ blr
/* 800A6C8C 000A2ACC 00 00 00 00 */ .4byte 0x00000000
.global CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34:
/* 800A6C90 000A2AD0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 800A6C94 000A2AD4 7C 08 02 A6 */ mflr r0
/* 800A6C98 000A2AD8 90 01 00 74 */ stw r0, 0x74(r1)
/* 800A6C9C 000A2ADC 93 E1 00 6C */ stw r31, 0x6c(r1)
/* 800A6CA0 000A2AE0 7C 9F 23 78 */ mr r31, r4
/* 800A6CA4 000A2AE4 93 C1 00 68 */ stw r30, 0x68(r1)
/* 800A6CA8 000A2AE8 7C 7E 1B 78 */ mr r30, r3
/* 800A6CAC 000A2AEC 88 03 01 20 */ lbz r0, 0x120(r3)
/* 800A6CB0 000A2AF0 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6CB4 000A2AF4 41 82 00 A0 */ beq lbl_800A6D54
/* 800A6CB8 000A2AF8 80 03 00 F4 */ lwz r0, 0xf4(r3)
/* 800A6CBC 000A2AFC 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6CC0 000A2B00 40 82 00 18 */ bne lbl_800A6CD8
/* 800A6CC4 000A2B04 80 63 00 BC */ lwz r3, 0xbc(r3)
/* 800A6CC8 000A2B08 38 9E 01 24 */ addi r4, r30, 0x124
/* 800A6CCC 000A2B0C 38 63 00 54 */ addi r3, r3, 0x54
/* 800A6CD0 000A2B10 4B F8 98 41 */ bl PSMTXCopy
/* 800A6CD4 000A2B14 48 00 00 34 */ b lbl_800A6D08
.global lbl_800A6CD8
lbl_800A6CD8:
/* 800A6CD8 000A2B18 7C 03 03 78 */ mr r3, r0
/* 800A6CDC 000A2B1C 38 81 00 08 */ addi r4, r1, 0x8
/* 800A6CE0 000A2B20 4B FF FF B1 */ bl CalcGlobalMtx__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34
/* 800A6CE4 000A2B24 89 1E 00 64 */ lbz r8, 0x64(r30)
/* 800A6CE8 000A2B28 38 7E 01 24 */ addi r3, r30, 0x124
/* 800A6CEC 000A2B2C 88 1E 00 65 */ lbz r0, 0x65(r30)
/* 800A6CF0 000A2B30 38 81 00 08 */ addi r4, r1, 0x8
/* 800A6CF4 000A2B34 55 05 07 FE */ clrlwi r5, r8, 31
/* 800A6CF8 000A2B38 55 06 FF FE */ extrwi r6, r8, 1, 30
/* 800A6CFC 000A2B3C 7C 07 07 74 */ extsb r7, r0
/* 800A6D00 000A2B40 55 08 F7 FE */ extrwi r8, r8, 1, 29
/* 800A6D04 000A2B44 4B FF FD 4D */ bl RestructMatrix__Q34nw4r2ef7EmitterFPQ34nw4r4math5MTX34PQ34nw4r4math5MTX34bbScb
.global lbl_800A6D08
lbl_800A6D08:
/* 800A6D08 000A2B48 38 7E 01 24 */ addi r3, r30, 0x124
/* 800A6D0C 000A2B4C 38 BE 00 90 */ addi r5, r30, 0x90
/* 800A6D10 000A2B50 7C 64 1B 78 */ mr r4, r3
/* 800A6D14 000A2B54 48 05 81 9D */ bl MTX34Trans__Q24nw4r4mathFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A6D18 000A2B58 C0 3E 00 A8 */ lfs f1, 0xa8(r30)
/* 800A6D1C 000A2B5C 38 61 00 38 */ addi r3, r1, 0x38
/* 800A6D20 000A2B60 C0 5E 00 AC */ lfs f2, 0xac(r30)
/* 800A6D24 000A2B64 C0 7E 00 B0 */ lfs f3, 0xb0(r30)
/* 800A6D28 000A2B68 48 00 CF 69 */ bl PSMTX34RotXYZRad__Q24nw4r2efFPQ34nw4r4math5MTX34fff
/* 800A6D2C 000A2B6C 38 7E 01 24 */ addi r3, r30, 0x124
/* 800A6D30 000A2B70 38 81 00 38 */ addi r4, r1, 0x38
/* 800A6D34 000A2B74 7C 65 1B 78 */ mr r5, r3
/* 800A6D38 000A2B78 4B F8 98 19 */ bl PSMTXConcat
/* 800A6D3C 000A2B7C 38 7E 01 24 */ addi r3, r30, 0x124
/* 800A6D40 000A2B80 38 BE 00 9C */ addi r5, r30, 0x9c
/* 800A6D44 000A2B84 7C 64 1B 78 */ mr r4, r3
/* 800A6D48 000A2B88 48 00 D0 C9 */ bl MTX34ScaleNonZero__Q24nw4r2efFPQ34nw4r4math5MTX34PCQ34nw4r4math5MTX34PCQ34nw4r4math4VEC3
/* 800A6D4C 000A2B8C 38 00 00 00 */ li r0, 0x0
/* 800A6D50 000A2B90 98 1E 01 20 */ stb r0, 0x120(r30)
.global lbl_800A6D54
lbl_800A6D54:
/* 800A6D54 000A2B94 2C 1F 00 00 */ cmpwi r31, 0x0
/* 800A6D58 000A2B98 41 82 00 6C */ beq lbl_800A6DC4
/* 800A6D5C 000A2B9C 80 9E 01 24 */ lwz r4, 0x124(r30)
/* 800A6D60 000A2BA0 7F E3 FB 78 */ mr r3, r31
/* 800A6D64 000A2BA4 80 1E 01 28 */ lwz r0, 0x128(r30)
/* 800A6D68 000A2BA8 90 1F 00 04 */ stw r0, 0x4(r31)
/* 800A6D6C 000A2BAC 90 9F 00 00 */ stw r4, 0x0(r31)
/* 800A6D70 000A2BB0 80 9E 01 2C */ lwz r4, 0x12c(r30)
/* 800A6D74 000A2BB4 80 1E 01 30 */ lwz r0, 0x130(r30)
/* 800A6D78 000A2BB8 90 1F 00 0C */ stw r0, 0xc(r31)
/* 800A6D7C 000A2BBC 90 9F 00 08 */ stw r4, 0x8(r31)
/* 800A6D80 000A2BC0 80 9E 01 34 */ lwz r4, 0x134(r30)
/* 800A6D84 000A2BC4 80 1E 01 38 */ lwz r0, 0x138(r30)
/* 800A6D88 000A2BC8 90 1F 00 14 */ stw r0, 0x14(r31)
/* 800A6D8C 000A2BCC 90 9F 00 10 */ stw r4, 0x10(r31)
/* 800A6D90 000A2BD0 80 9E 01 3C */ lwz r4, 0x13c(r30)
/* 800A6D94 000A2BD4 80 1E 01 40 */ lwz r0, 0x140(r30)
/* 800A6D98 000A2BD8 90 1F 00 1C */ stw r0, 0x1c(r31)
/* 800A6D9C 000A2BDC 90 9F 00 18 */ stw r4, 0x18(r31)
/* 800A6DA0 000A2BE0 80 9E 01 44 */ lwz r4, 0x144(r30)
/* 800A6DA4 000A2BE4 80 1E 01 48 */ lwz r0, 0x148(r30)
/* 800A6DA8 000A2BE8 90 1F 00 24 */ stw r0, 0x24(r31)
/* 800A6DAC 000A2BEC 90 9F 00 20 */ stw r4, 0x20(r31)
/* 800A6DB0 000A2BF0 80 9E 01 4C */ lwz r4, 0x14c(r30)
/* 800A6DB4 000A2BF4 80 1E 01 50 */ lwz r0, 0x150(r30)
/* 800A6DB8 000A2BF8 90 1F 00 2C */ stw r0, 0x2c(r31)
/* 800A6DBC 000A2BFC 90 9F 00 28 */ stw r4, 0x28(r31)
/* 800A6DC0 000A2C00 48 00 00 08 */ b lbl_800A6DC8
.global lbl_800A6DC4
lbl_800A6DC4:
/* 800A6DC4 000A2C04 38 7E 01 24 */ addi r3, r30, 0x124
.global lbl_800A6DC8
lbl_800A6DC8:
/* 800A6DC8 000A2C08 80 01 00 74 */ lwz r0, 0x74(r1)
/* 800A6DCC 000A2C0C 83 E1 00 6C */ lwz r31, 0x6c(r1)
/* 800A6DD0 000A2C10 83 C1 00 68 */ lwz r30, 0x68(r1)
/* 800A6DD4 000A2C14 7C 08 03 A6 */ mtlr r0
/* 800A6DD8 000A2C18 38 21 00 70 */ addi r1, r1, 0x70
/* 800A6DDC 000A2C1C 4E 80 00 20 */ blr
.global SetMtxDirty__Q34nw4r2ef7EmitterFv
SetMtxDirty__Q34nw4r2ef7EmitterFv:
/* 800A6DE0 000A2C20 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 800A6DE4 000A2C24 7C 08 02 A6 */ mflr r0
/* 800A6DE8 000A2C28 90 01 00 24 */ stw r0, 0x24(r1)
/* 800A6DEC 000A2C2C 39 61 00 20 */ addi r11, r1, 0x20
/* 800A6DF0 000A2C30 4B F6 05 4D */ bl lbl_8000733C
/* 800A6DF4 000A2C34 3B E0 00 01 */ li r31, 0x1
/* 800A6DF8 000A2C38 9B E3 01 20 */ stb r31, 0x120(r3)
/* 800A6DFC 000A2C3C 7C 7B 1B 78 */ mr r27, r3
/* 800A6E00 000A2C40 38 80 00 00 */ li r4, 0x0
/* 800A6E04 000A2C44 3B C0 FF FF */ li r30, -0x1
/* 800A6E08 000A2C48 48 00 00 20 */ b lbl_800A6E28
.global lbl_800A6E0C
lbl_800A6E0C:
/* 800A6E0C 000A2C4C 9B E3 00 8A */ stb r31, 0x8a(r3)
/* 800A6E10 000A2C50 80 03 00 08 */ lwz r0, 0x8(r3)
/* 800A6E14 000A2C54 80 6D EB 10 */ lwz r3, smMtxInvId__Q34nw4r2ef15ParticleManager@sda21(r13)
/* 800A6E18 000A2C58 54 00 04 3E */ clrlwi r0, r0, 16
/* 800A6E1C 000A2C5C 7C 03 00 00 */ cmpw r3, r0
/* 800A6E20 000A2C60 40 82 00 08 */ bne lbl_800A6E28
/* 800A6E24 000A2C64 93 CD EB 10 */ stw r30, smMtxInvId__Q34nw4r2ef15ParticleManager@sda21(r13)
.global lbl_800A6E28
lbl_800A6E28:
/* 800A6E28 000A2C68 38 7B 00 C0 */ addi r3, r27, 0xc0
/* 800A6E2C 000A2C6C 4B FF CB 05 */ bl MEMGetNextListObject
/* 800A6E30 000A2C70 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A6E34 000A2C74 7C 64 1B 78 */ mr r4, r3
/* 800A6E38 000A2C78 40 82 FF D4 */ bne lbl_800A6E0C
/* 800A6E3C 000A2C7C 80 1B 00 BC */ lwz r0, 0xbc(r27)
/* 800A6E40 000A2C80 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6E44 000A2C84 41 82 00 94 */ beq lbl_800A6ED8
/* 800A6E48 000A2C88 3B A0 00 00 */ li r29, 0x0
/* 800A6E4C 000A2C8C 3B E0 FF FF */ li r31, -0x1
/* 800A6E50 000A2C90 3B C0 00 01 */ li r30, 0x1
/* 800A6E54 000A2C94 48 00 00 68 */ b lbl_800A6EBC
.global lbl_800A6E58
lbl_800A6E58:
/* 800A6E58 000A2C98 88 03 01 20 */ lbz r0, 0x120(r3)
/* 800A6E5C 000A2C9C 2C 00 00 00 */ cmpwi r0, 0x0
/* 800A6E60 000A2CA0 40 82 00 5C */ bne lbl_800A6EBC
/* 800A6E64 000A2CA4 83 83 00 F4 */ lwz r28, 0xf4(r3)
/* 800A6E68 000A2CA8 48 00 00 4C */ b lbl_800A6EB4
.global lbl_800A6E6C
lbl_800A6E6C:
/* 800A6E6C 000A2CAC 7C 1C D8 40 */ cmplw r28, r27
/* 800A6E70 000A2CB0 40 82 00 40 */ bne lbl_800A6EB0
/* 800A6E74 000A2CB4 9B DD 01 20 */ stb r30, 0x120(r29)
/* 800A6E78 000A2CB8 38 80 00 00 */ li r4, 0x0
/* 800A6E7C 000A2CBC 48 00 00 20 */ b lbl_800A6E9C
.global lbl_800A6E80
lbl_800A6E80:
/* 800A6E80 000A2CC0 9B C3 00 8A */ stb r30, 0x8a(r3)
/* 800A6E84 000A2CC4 80 03 00 08 */ lwz r0, 0x8(r3)
/* 800A6E88 000A2CC8 80 6D EB 10 */ lwz r3, smMtxInvId__Q34nw4r2ef15ParticleManager@sda21(r13)
/* 800A6E8C 000A2CCC 54 00 04 3E */ clrlwi r0, r0, 16
/* 800A6E90 000A2CD0 7C 03 00 00 */ cmpw r3, r0
/* 800A6E94 000A2CD4 40 82 00 08 */ bne lbl_800A6E9C
/* 800A6E98 000A2CD8 93 ED EB 10 */ stw r31, smMtxInvId__Q34nw4r2ef15ParticleManager@sda21(r13)
.global lbl_800A6E9C
lbl_800A6E9C:
/* 800A6E9C 000A2CDC 38 7D 00 C0 */ addi r3, r29, 0xc0
/* 800A6EA0 000A2CE0 4B FF CA 91 */ bl MEMGetNextListObject
/* 800A6EA4 000A2CE4 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A6EA8 000A2CE8 7C 64 1B 78 */ mr r4, r3
/* 800A6EAC 000A2CEC 40 82 FF D4 */ bne lbl_800A6E80
.global lbl_800A6EB0
lbl_800A6EB0:
/* 800A6EB0 000A2CF0 83 9C 00 F4 */ lwz r28, 0xf4(r28)
.global lbl_800A6EB4
lbl_800A6EB4:
/* 800A6EB4 000A2CF4 2C 1C 00 00 */ cmpwi r28, 0x0
/* 800A6EB8 000A2CF8 40 82 FF B4 */ bne lbl_800A6E6C
.global lbl_800A6EBC
lbl_800A6EBC:
/* 800A6EBC 000A2CFC 80 7B 00 BC */ lwz r3, 0xbc(r27)
/* 800A6EC0 000A2D00 7F A4 EB 78 */ mr r4, r29
/* 800A6EC4 000A2D04 38 63 00 24 */ addi r3, r3, 0x24
/* 800A6EC8 000A2D08 4B FF CA 69 */ bl MEMGetNextListObject
/* 800A6ECC 000A2D0C 2C 03 00 00 */ cmpwi r3, 0x0
/* 800A6ED0 000A2D10 7C 7D 1B 78 */ mr r29, r3
/* 800A6ED4 000A2D14 40 82 FF 84 */ bne lbl_800A6E58
.global lbl_800A6ED8
lbl_800A6ED8:
/* 800A6ED8 000A2D18 39 61 00 20 */ addi r11, r1, 0x20
/* 800A6EDC 000A2D1C 4B F6 04 AD */ bl lbl_80007388
/* 800A6EE0 000A2D20 80 01 00 24 */ lwz r0, 0x24(r1)
/* 800A6EE4 000A2D24 7C 08 03 A6 */ mtlr r0
/* 800A6EE8 000A2D28 38 21 00 20 */ addi r1, r1, 0x20
/* 800A6EEC 000A2D2C 4E 80 00 20 */ blr
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __vt__Q34nw4r2ef7Emitter
__vt__Q34nw4r2ef7Emitter:
.4byte 0
.4byte 0
.4byte SendClosing__Q34nw4r2ef7EmitterFv
.4byte DestroyFunc__Q34nw4r2ef7EmitterFv
.4byte Initialize__Q34nw4r2ef7EmitterFPQ34nw4r2ef6EffectPQ34nw4r2ef15EmitterResourceUc
.4byte CreateEmitter__Q34nw4r2ef7EmitterFPQ34nw4r2ef15EmitterResourcePQ34nw4r2ef21EmitterInheritSettingPQ34nw4r2ef8ParticleUsPQ34nw4r4math4VEC3
.4byte CalcEmitter__Q34nw4r2ef7EmitterFv
.4byte CalcParticle__Q34nw4r2ef7EmitterFv
.4byte CalcEmission__Q34nw4r2ef7EmitterFv
.4byte CalcBillboard__Q34nw4r2ef7EmitterFv
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@9108"
"@9108":
.4byte 0x42C80000
.global "@9109"
"@9109":
.4byte 0
.global "@9110"
"@9110":
.4byte 0x7FC00000
.4byte 0
.global "@9116"
"@9116":
.4byte 0x43300000
.4byte 0
.global "@9117"
"@9117":
.4byte 0x43300000
.4byte 0x80000000
.global "@9451"
"@9451":
.4byte 0xBF800000
.global "@9488"
"@9488":
.4byte 0x3F800000
.global "@9546_8055E9A8"
"@9546_8055E9A8":
.4byte 0x47800000
.global "@9547_8055E9AC"
"@9547_8055E9AC":
.4byte 0x40000000
.global "@9717"
"@9717":
.4byte 0x3FC90FDB
.4byte 0