diff options
-rw-r--r-- | asm/nw4r/snd/detail/snd_WaveSound.s | 8 | ||||
-rw-r--r-- | asm/nw4r/snd/detail/snd_WsdPlayer.s | 1090 | ||||
-rw-r--r-- | asm/text_11.s | 1058 | ||||
-rw-r--r-- | obj_files.mk | 1 |
4 files changed, 1095 insertions, 1062 deletions
diff --git a/asm/nw4r/snd/detail/snd_WaveSound.s b/asm/nw4r/snd/detail/snd_WaveSound.s index 7e94ec3..475f97d 100644 --- a/asm/nw4r/snd/detail/snd_WaveSound.s +++ b/asm/nw4r/snd/detail/snd_WaveSound.s @@ -16,7 +16,7 @@ __ct__Q44nw4r3snd6detail9WaveSoundFPQ44nw4r3snd6detail50SoundInstanceManager$0Q4 /* 80383670 0037F2D0 38 7E 00 D8 */ addi r3, r30, 0xd8
/* 80383674 0037F2D4 38 84 D0 50 */ addi r4, r4, lbl_8044D050@l
/* 80383678 0037F2D8 90 9E 00 00 */ stw r4, 0(r30)
-/* 8038367C 0037F2DC 48 00 06 A9 */ bl func_80383D24
+/* 8038367C 0037F2DC 48 00 06 A9 */ bl __ct__Q44nw4r3snd6detail9WsdPlayerFv
/* 80383680 0037F2E0 38 00 00 00 */ li r0, 0
/* 80383684 0037F2E4 93 FE 01 CC */ stw r31, 0x1cc(r30)
/* 80383688 0037F2E8 7F C3 F3 78 */ mr r3, r30
@@ -76,7 +76,7 @@ Prepare__Q44nw4r3snd6detail9WaveSoundFPCvlQ54nw4r3snd6detail9WsdPlayer15StartOff /* 80383744 0037F3A4 7F C9 F3 78 */ mr r9, r30
/* 80383748 0037F3A8 7F EA FB 78 */ mr r10, r31
/* 8038374C 0037F3AC 38 78 00 D8 */ addi r3, r24, 0xd8
-/* 80383750 0037F3B0 48 00 06 F1 */ bl func_80383E40
+/* 80383750 0037F3B0 48 00 06 F1 */ bl Prepare__Q44nw4r3snd6detail9WsdPlayerFPCviQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeiiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
/* 80383754 0037F3B4 2C 03 00 00 */ cmpwi r3, 0
/* 80383758 0037F3B8 40 82 00 0C */ bne lbl_80383764
/* 8038375C 0037F3BC 38 60 00 00 */ li r3, 0
@@ -160,12 +160,12 @@ lbl_8038384C: .global SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi
SetChannelPriority__Q44nw4r3snd6detail9WaveSoundFi:
/* 80383864 0037F4C4 38 63 00 D8 */ addi r3, r3, 0xd8
-/* 80383868 0037F4C8 48 00 09 7C */ b lbl_803841E4
+/* 80383868 0037F4C8 48 00 09 7C */ b SetChannelPriority__Q44nw4r3snd6detail9WsdPlayerFi
.global SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb
SetReleasePriorityFix__Q44nw4r3snd6detail9WaveSoundFb:
/* 8038386C 0037F4CC 38 63 00 D8 */ addi r3, r3, 0xd8
-/* 80383870 0037F4D0 48 00 09 C8 */ b lbl_80384238
+/* 80383870 0037F4D0 48 00 09 C8 */ b SetReleasePriorityFix__Q44nw4r3snd6detail9WsdPlayerFb
.global SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi
SetPlayerPriority__Q44nw4r3snd6detail9WaveSoundFi:
diff --git a/asm/nw4r/snd/detail/snd_WsdPlayer.s b/asm/nw4r/snd/detail/snd_WsdPlayer.s new file mode 100644 index 0000000..a70aa8f --- /dev/null +++ b/asm/nw4r/snd/detail/snd_WsdPlayer.s @@ -0,0 +1,1090 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail9WsdPlayerFv
+__ct__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80383D24 0037F984 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80383D28 0037F988 7C 08 02 A6 */ mflr r0
+/* 80383D2C 0037F98C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80383D30 0037F990 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80383D34 0037F994 7C 7F 1B 78 */ mr r31, r3
+/* 80383D38 0037F998 4B FE 91 4D */ bl __ct__Q44nw4r3snd6detail11BasicPlayerFv
+/* 80383D3C 0037F99C 3C A0 80 45 */ lis r5, lbl_8044D0C0@ha
+/* 80383D40 0037F9A0 38 C0 00 00 */ li r6, 0
+/* 80383D44 0037F9A4 38 A5 D0 C0 */ addi r5, r5, lbl_8044D0C0@l
+/* 80383D48 0037F9A8 90 DF 00 74 */ stw r6, 0x74(r31)
+/* 80383D4C 0037F9AC 38 85 00 24 */ addi r4, r5, 0x24
+/* 80383D50 0037F9B0 38 7F 00 D0 */ addi r3, r31, 0xd0
+/* 80383D54 0037F9B4 38 05 00 38 */ addi r0, r5, 0x38
+/* 80383D58 0037F9B8 90 DF 00 78 */ stw r6, 0x78(r31)
+/* 80383D5C 0037F9BC 90 DF 00 80 */ stw r6, 0x80(r31)
+/* 80383D60 0037F9C0 90 DF 00 84 */ stw r6, 0x84(r31)
+/* 80383D64 0037F9C4 90 BF 00 00 */ stw r5, 0(r31)
+/* 80383D68 0037F9C8 90 9F 00 7C */ stw r4, 0x7c(r31)
+/* 80383D6C 0037F9CC 90 1F 00 88 */ stw r0, 0x88(r31)
+/* 80383D70 0037F9D0 98 DF 00 8C */ stb r6, 0x8c(r31)
+/* 80383D74 0037F9D4 4B FE DE 89 */ bl Init__Q44nw4r3snd6detail8LfoParamFv
+/* 80383D78 0037F9D8 38 7F 00 A8 */ addi r3, r31, 0xa8
+/* 80383D7C 0037F9DC 4B EE BB 95 */ bl func_8026F910
+/* 80383D80 0037F9E0 7F E3 FB 78 */ mr r3, r31
+/* 80383D84 0037F9E4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80383D88 0037F9E8 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80383D8C 0037F9EC 7C 08 03 A6 */ mtlr r0
+/* 80383D90 0037F9F0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80383D94 0037F9F4 4E 80 00 20 */ blr
+
+.global InitParam__Q44nw4r3snd6detail9WsdPlayerFiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+InitParam__Q44nw4r3snd6detail9WsdPlayerFiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl:
+/* 80383D98 0037F9F8 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383D9C 0037F9FC 7C 08 02 A6 */ mflr r0
+/* 80383DA0 0037FA00 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383DA4 0037FA04 39 61 00 20 */ addi r11, r1, 0x20
+/* 80383DA8 0037FA08 4B E4 33 81 */ bl _savegpr_27
+/* 80383DAC 0037FA0C 7C 7B 1B 78 */ mr r27, r3
+/* 80383DB0 0037FA10 7C 9C 23 78 */ mr r28, r4
+/* 80383DB4 0037FA14 7C BD 2B 78 */ mr r29, r5
+/* 80383DB8 0037FA18 7C DE 33 78 */ mr r30, r6
+/* 80383DBC 0037FA1C 4B FE 91 0D */ bl InitParam__Q44nw4r3snd6detail11BasicPlayerFv
+/* 80383DC0 0037FA20 C0 02 A7 F8 */ lfs f0, lbl_80642DF8-_SDA2_BASE_(r2)
+/* 80383DC4 0037FA24 3B E0 00 00 */ li r31, 0
+/* 80383DC8 0037FA28 38 A0 00 40 */ li r5, 0x40
+/* 80383DCC 0037FA2C 38 80 FF FF */ li r4, -1
+/* 80383DD0 0037FA30 38 00 00 7F */ li r0, 0x7f
+/* 80383DD4 0037FA34 9B FB 00 8D */ stb r31, 0x8d(r27)
+/* 80383DD8 0037FA38 38 7B 00 D0 */ addi r3, r27, 0xd0
+/* 80383DDC 0037FA3C 9B FB 00 8E */ stb r31, 0x8e(r27)
+/* 80383DE0 0037FA40 9B FB 00 90 */ stb r31, 0x90(r27)
+/* 80383DE4 0037FA44 D0 1B 00 94 */ stfs f0, 0x94(r27)
+/* 80383DE8 0037FA48 93 9B 00 98 */ stw r28, 0x98(r27)
+/* 80383DEC 0037FA4C 98 BB 00 9C */ stb r5, 0x9c(r27)
+/* 80383DF0 0037FA50 93 BB 00 A0 */ stw r29, 0xa0(r27)
+/* 80383DF4 0037FA54 93 DB 00 A4 */ stw r30, 0xa4(r27)
+/* 80383DF8 0037FA58 93 FB 00 C0 */ stw r31, 0xc0(r27)
+/* 80383DFC 0037FA5C 90 9B 00 C4 */ stw r4, 0xc4(r27)
+/* 80383E00 0037FA60 D0 1B 00 E0 */ stfs f0, 0xe0(r27)
+/* 80383E04 0037FA64 98 BB 00 E4 */ stb r5, 0xe4(r27)
+/* 80383E08 0037FA68 9B FB 00 E5 */ stb r31, 0xe5(r27)
+/* 80383E0C 0037FA6C 9B FB 00 E6 */ stb r31, 0xe6(r27)
+/* 80383E10 0037FA70 9B FB 00 E7 */ stb r31, 0xe7(r27)
+/* 80383E14 0037FA74 9B FB 00 E8 */ stb r31, 0xe8(r27)
+/* 80383E18 0037FA78 98 1B 00 E9 */ stb r0, 0xe9(r27)
+/* 80383E1C 0037FA7C 4B FE DD E1 */ bl Init__Q44nw4r3snd6detail8LfoParamFv
+/* 80383E20 0037FA80 9B FB 00 8F */ stb r31, 0x8f(r27)
+/* 80383E24 0037FA84 39 61 00 20 */ addi r11, r1, 0x20
+/* 80383E28 0037FA88 93 FB 00 EC */ stw r31, 0xec(r27)
+/* 80383E2C 0037FA8C 4B E4 33 49 */ bl _restgpr_27
+/* 80383E30 0037FA90 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80383E34 0037FA94 7C 08 03 A6 */ mtlr r0
+/* 80383E38 0037FA98 38 21 00 20 */ addi r1, r1, 0x20
+/* 80383E3C 0037FA9C 4E 80 00 20 */ blr
+
+.global Prepare__Q44nw4r3snd6detail9WsdPlayerFPCviQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeiiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+Prepare__Q44nw4r3snd6detail9WsdPlayerFPCviQ54nw4r3snd6detail9WsdPlayer15StartOffsetTypeiiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl:
+/* 80383E40 0037FAA0 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 80383E44 0037FAA4 7C 08 02 A6 */ mflr r0
+/* 80383E48 0037FAA8 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80383E4C 0037FAAC 39 61 00 40 */ addi r11, r1, 0x40
+/* 80383E50 0037FAB0 4B E4 32 C1 */ bl _savegpr_21
+/* 80383E54 0037FAB4 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 80383E58 0037FAB8 7C 77 1B 78 */ mr r23, r3
+/* 80383E5C 0037FABC 7C 98 23 78 */ mr r24, r4
+/* 80383E60 0037FAC0 7C B9 2B 78 */ mr r25, r5
+/* 80383E64 0037FAC4 7C DA 33 78 */ mr r26, r6
+/* 80383E68 0037FAC8 7C FB 3B 78 */ mr r27, r7
+/* 80383E6C 0037FACC 7D 1C 43 78 */ mr r28, r8
+/* 80383E70 0037FAD0 7D 3D 4B 78 */ mr r29, r9
+/* 80383E74 0037FAD4 7D 5E 53 78 */ mr r30, r10
+/* 80383E78 0037FAD8 7F E3 FB 78 */ mr r3, r31
+/* 80383E7C 0037FADC 4B EE BA CD */ bl func_8026F948
+/* 80383E80 0037FAE0 88 17 00 8C */ lbz r0, 0x8c(r23)
+/* 80383E84 0037FAE4 2C 00 00 00 */ cmpwi r0, 0
+/* 80383E88 0037FAE8 41 82 00 C8 */ beq lbl_80383F50
+/* 80383E8C 0037FAEC 7F F6 FB 78 */ mr r22, r31
+/* 80383E90 0037FAF0 7E C3 B3 78 */ mr r3, r22
+/* 80383E94 0037FAF4 4B EE BA B5 */ bl func_8026F948
+/* 80383E98 0037FAF8 88 17 00 8D */ lbz r0, 0x8d(r23)
+/* 80383E9C 0037FAFC 2C 00 00 00 */ cmpwi r0, 0
+/* 80383EA0 0037FB00 41 82 00 28 */ beq lbl_80383EC8
+/* 80383EA4 0037FB04 2C 17 00 00 */ cmpwi r23, 0
+/* 80383EA8 0037FB08 7E F5 BB 78 */ mr r21, r23
+/* 80383EAC 0037FB0C 41 82 00 08 */ beq lbl_80383EB4
+/* 80383EB0 0037FB10 3A B7 00 80 */ addi r21, r23, 0x80
+lbl_80383EB4:
+/* 80383EB4 0037FB14 4B FF 85 9D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 80383EB8 0037FB18 7E A4 AB 78 */ mr r4, r21
+/* 80383EBC 0037FB1C 4B FF 89 C5 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80383EC0 0037FB20 38 00 00 00 */ li r0, 0
+/* 80383EC4 0037FB24 98 17 00 8D */ stb r0, 0x8d(r23)
+lbl_80383EC8:
+/* 80383EC8 0037FB28 88 17 00 8C */ lbz r0, 0x8c(r23)
+/* 80383ECC 0037FB2C 2C 00 00 00 */ cmpwi r0, 0
+/* 80383ED0 0037FB30 41 82 00 28 */ beq lbl_80383EF8
+/* 80383ED4 0037FB34 2C 17 00 00 */ cmpwi r23, 0
+/* 80383ED8 0037FB38 7E F5 BB 78 */ mr r21, r23
+/* 80383EDC 0037FB3C 41 82 00 08 */ beq lbl_80383EE4
+/* 80383EE0 0037FB40 3A B7 00 74 */ addi r21, r23, 0x74
+lbl_80383EE4:
+/* 80383EE4 0037FB44 4B FE B3 75 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80383EE8 0037FB48 7E A4 AB 78 */ mr r4, r21
+/* 80383EEC 0037FB4C 4B FE B4 C1 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80383EF0 0037FB50 38 00 00 00 */ li r0, 0
+/* 80383EF4 0037FB54 98 17 00 8C */ stb r0, 0x8c(r23)
+lbl_80383EF8:
+/* 80383EF8 0037FB58 80 97 00 EC */ lwz r4, 0xec(r23)
+/* 80383EFC 0037FB5C 38 60 00 00 */ li r3, 0
+/* 80383F00 0037FB60 2C 04 00 00 */ cmpwi r4, 0
+/* 80383F04 0037FB64 41 82 00 14 */ beq lbl_80383F18
+/* 80383F08 0037FB68 88 04 00 32 */ lbz r0, 0x32(r4)
+/* 80383F0C 0037FB6C 2C 00 00 00 */ cmpwi r0, 0
+/* 80383F10 0037FB70 41 82 00 08 */ beq lbl_80383F18
+/* 80383F14 0037FB74 38 60 00 01 */ li r3, 1
+lbl_80383F18:
+/* 80383F18 0037FB78 2C 03 00 00 */ cmpwi r3, 0
+/* 80383F1C 0037FB7C 41 82 00 14 */ beq lbl_80383F30
+/* 80383F20 0037FB80 7E E3 BB 78 */ mr r3, r23
+/* 80383F24 0037FB84 48 00 08 55 */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+/* 80383F28 0037FB88 80 77 00 EC */ lwz r3, 0xec(r23)
+/* 80383F2C 0037FB8C 4B FE AD B5 */ bl Release__Q44nw4r3snd6detail7ChannelFv
+lbl_80383F30:
+/* 80383F30 0037FB90 80 77 00 EC */ lwz r3, 0xec(r23)
+/* 80383F34 0037FB94 2C 03 00 00 */ cmpwi r3, 0
+/* 80383F38 0037FB98 41 82 00 08 */ beq lbl_80383F40
+/* 80383F3C 0037FB9C 4B FE B3 05 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_80383F40:
+/* 80383F40 0037FBA0 38 00 00 00 */ li r0, 0
+/* 80383F44 0037FBA4 7E C3 B3 78 */ mr r3, r22
+/* 80383F48 0037FBA8 90 17 00 EC */ stw r0, 0xec(r23)
+/* 80383F4C 0037FBAC 4B EE BA D9 */ bl func_8026FA24
+lbl_80383F50:
+/* 80383F50 0037FBB0 7E E3 BB 78 */ mr r3, r23
+/* 80383F54 0037FBB4 7F 84 E3 78 */ mr r4, r28
+/* 80383F58 0037FBB8 7F A5 EB 78 */ mr r5, r29
+/* 80383F5C 0037FBBC 7F C6 F3 78 */ mr r6, r30
+/* 80383F60 0037FBC0 4B FF FE 39 */ bl InitParam__Q44nw4r3snd6detail9WsdPlayerFiPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+/* 80383F64 0037FBC4 2C 17 00 00 */ cmpwi r23, 0
+/* 80383F68 0037FBC8 93 17 00 C0 */ stw r24, 0xc0(r23)
+/* 80383F6C 0037FBCC 7E F5 BB 78 */ mr r21, r23
+/* 80383F70 0037FBD0 93 37 00 C4 */ stw r25, 0xc4(r23)
+/* 80383F74 0037FBD4 93 57 00 C8 */ stw r26, 0xc8(r23)
+/* 80383F78 0037FBD8 93 77 00 CC */ stw r27, 0xcc(r23)
+/* 80383F7C 0037FBDC 41 82 00 08 */ beq lbl_80383F84
+/* 80383F80 0037FBE0 3A B7 00 74 */ addi r21, r23, 0x74
+lbl_80383F84:
+/* 80383F84 0037FBE4 4B FE B2 D5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80383F88 0037FBE8 7E A4 AB 78 */ mr r4, r21
+/* 80383F8C 0037FBEC 4B FE B3 C9 */ bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv
+/* 80383F90 0037FBF0 38 00 00 01 */ li r0, 1
+/* 80383F94 0037FBF4 7F E3 FB 78 */ mr r3, r31
+/* 80383F98 0037FBF8 98 17 00 8C */ stb r0, 0x8c(r23)
+/* 80383F9C 0037FBFC 4B EE BA 89 */ bl func_8026FA24
+/* 80383FA0 0037FC00 39 61 00 40 */ addi r11, r1, 0x40
+/* 80383FA4 0037FC04 38 60 00 01 */ li r3, 1
+/* 80383FA8 0037FC08 4B E4 31 B5 */ bl _restgpr_21
+/* 80383FAC 0037FC0C 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 80383FB0 0037FC10 7C 08 03 A6 */ mtlr r0
+/* 80383FB4 0037FC14 38 21 00 40 */ addi r1, r1, 0x40
+/* 80383FB8 0037FC18 4E 80 00 20 */ blr
+
+.global Start__Q44nw4r3snd6detail9WsdPlayerFv
+Start__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80383FBC 0037FC1C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80383FC0 0037FC20 7C 08 02 A6 */ mflr r0
+/* 80383FC4 0037FC24 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80383FC8 0037FC28 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80383FCC 0037FC2C 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 80383FD0 0037FC30 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80383FD4 0037FC34 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80383FD8 0037FC38 7C 7D 1B 78 */ mr r29, r3
+/* 80383FDC 0037FC3C 7F E3 FB 78 */ mr r3, r31
+/* 80383FE0 0037FC40 4B EE B9 69 */ bl func_8026F948
+/* 80383FE4 0037FC44 2C 1D 00 00 */ cmpwi r29, 0
+/* 80383FE8 0037FC48 7F BE EB 78 */ mr r30, r29
+/* 80383FEC 0037FC4C 41 82 00 08 */ beq lbl_80383FF4
+/* 80383FF0 0037FC50 3B DD 00 80 */ addi r30, r29, 0x80
+lbl_80383FF4:
+/* 80383FF4 0037FC54 4B FF 84 5D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 80383FF8 0037FC58 7F C4 F3 78 */ mr r4, r30
+/* 80383FFC 0037FC5C 4B FF 88 21 */ bl RegisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80384000 0037FC60 38 00 00 01 */ li r0, 1
+/* 80384004 0037FC64 7F E3 FB 78 */ mr r3, r31
+/* 80384008 0037FC68 98 1D 00 8D */ stb r0, 0x8d(r29)
+/* 8038400C 0037FC6C 4B EE BA 19 */ bl func_8026FA24
+/* 80384010 0037FC70 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80384014 0037FC74 38 60 00 01 */ li r3, 1
+/* 80384018 0037FC78 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8038401C 0037FC7C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80384020 0037FC80 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80384024 0037FC84 7C 08 03 A6 */ mtlr r0
+/* 80384028 0037FC88 38 21 00 20 */ addi r1, r1, 0x20
+/* 8038402C 0037FC8C 4E 80 00 20 */ blr
+
+.global Stop__Q44nw4r3snd6detail9WsdPlayerFv
+Stop__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80384030 0037FC90 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80384034 0037FC94 7C 08 02 A6 */ mflr r0
+/* 80384038 0037FC98 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8038403C 0037FC9C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80384040 0037FCA0 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 80384044 0037FCA4 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80384048 0037FCA8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8038404C 0037FCAC 7C 7D 1B 78 */ mr r29, r3
+/* 80384050 0037FCB0 7F E3 FB 78 */ mr r3, r31
+/* 80384054 0037FCB4 4B EE B8 F5 */ bl func_8026F948
+/* 80384058 0037FCB8 88 1D 00 8D */ lbz r0, 0x8d(r29)
+/* 8038405C 0037FCBC 2C 00 00 00 */ cmpwi r0, 0
+/* 80384060 0037FCC0 41 82 00 28 */ beq lbl_80384088
+/* 80384064 0037FCC4 2C 1D 00 00 */ cmpwi r29, 0
+/* 80384068 0037FCC8 7F BE EB 78 */ mr r30, r29
+/* 8038406C 0037FCCC 41 82 00 08 */ beq lbl_80384074
+/* 80384070 0037FCD0 3B DD 00 80 */ addi r30, r29, 0x80
+lbl_80384074:
+/* 80384074 0037FCD4 4B FF 83 DD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 80384078 0037FCD8 7F C4 F3 78 */ mr r4, r30
+/* 8038407C 0037FCDC 4B FF 88 05 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80384080 0037FCE0 38 00 00 00 */ li r0, 0
+/* 80384084 0037FCE4 98 1D 00 8D */ stb r0, 0x8d(r29)
+lbl_80384088:
+/* 80384088 0037FCE8 88 1D 00 8C */ lbz r0, 0x8c(r29)
+/* 8038408C 0037FCEC 2C 00 00 00 */ cmpwi r0, 0
+/* 80384090 0037FCF0 41 82 00 28 */ beq lbl_803840B8
+/* 80384094 0037FCF4 2C 1D 00 00 */ cmpwi r29, 0
+/* 80384098 0037FCF8 7F BE EB 78 */ mr r30, r29
+/* 8038409C 0037FCFC 41 82 00 08 */ beq lbl_803840A4
+/* 803840A0 0037FD00 3B DD 00 74 */ addi r30, r29, 0x74
+lbl_803840A4:
+/* 803840A4 0037FD04 4B FE B1 B5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 803840A8 0037FD08 7F C4 F3 78 */ mr r4, r30
+/* 803840AC 0037FD0C 4B FE B3 01 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 803840B0 0037FD10 38 00 00 00 */ li r0, 0
+/* 803840B4 0037FD14 98 1D 00 8C */ stb r0, 0x8c(r29)
+lbl_803840B8:
+/* 803840B8 0037FD18 80 9D 00 EC */ lwz r4, 0xec(r29)
+/* 803840BC 0037FD1C 38 60 00 00 */ li r3, 0
+/* 803840C0 0037FD20 2C 04 00 00 */ cmpwi r4, 0
+/* 803840C4 0037FD24 41 82 00 14 */ beq lbl_803840D8
+/* 803840C8 0037FD28 88 04 00 32 */ lbz r0, 0x32(r4)
+/* 803840CC 0037FD2C 2C 00 00 00 */ cmpwi r0, 0
+/* 803840D0 0037FD30 41 82 00 08 */ beq lbl_803840D8
+/* 803840D4 0037FD34 38 60 00 01 */ li r3, 1
+lbl_803840D8:
+/* 803840D8 0037FD38 2C 03 00 00 */ cmpwi r3, 0
+/* 803840DC 0037FD3C 41 82 00 14 */ beq lbl_803840F0
+/* 803840E0 0037FD40 7F A3 EB 78 */ mr r3, r29
+/* 803840E4 0037FD44 48 00 06 95 */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+/* 803840E8 0037FD48 80 7D 00 EC */ lwz r3, 0xec(r29)
+/* 803840EC 0037FD4C 4B FE AB F5 */ bl Release__Q44nw4r3snd6detail7ChannelFv
+lbl_803840F0:
+/* 803840F0 0037FD50 80 7D 00 EC */ lwz r3, 0xec(r29)
+/* 803840F4 0037FD54 2C 03 00 00 */ cmpwi r3, 0
+/* 803840F8 0037FD58 41 82 00 08 */ beq lbl_80384100
+/* 803840FC 0037FD5C 4B FE B1 45 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_80384100:
+/* 80384100 0037FD60 38 00 00 00 */ li r0, 0
+/* 80384104 0037FD64 7F E3 FB 78 */ mr r3, r31
+/* 80384108 0037FD68 90 1D 00 EC */ stw r0, 0xec(r29)
+/* 8038410C 0037FD6C 4B EE B9 19 */ bl func_8026FA24
+/* 80384110 0037FD70 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80384114 0037FD74 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80384118 0037FD78 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8038411C 0037FD7C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80384120 0037FD80 7C 08 03 A6 */ mtlr r0
+/* 80384124 0037FD84 38 21 00 20 */ addi r1, r1, 0x20
+/* 80384128 0037FD88 4E 80 00 20 */ blr
+/* 8038412C 0037FD8C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80384130 0037FD90 7C 08 02 A6 */ mflr r0
+/* 80384134 0037FD94 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80384138 0037FD98 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8038413C 0037FD9C 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 80384140 0037FDA0 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80384144 0037FDA4 7C 9E 23 78 */ mr r30, r4
+/* 80384148 0037FDA8 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8038414C 0037FDAC 7C 7D 1B 78 */ mr r29, r3
+/* 80384150 0037FDB0 7F E3 FB 78 */ mr r3, r31
+/* 80384154 0037FDB4 4B EE B7 F5 */ bl func_8026F948
+/* 80384158 0037FDB8 57 C3 06 3E */ clrlwi r3, r30, 0x18
+/* 8038415C 0037FDBC 80 BD 00 EC */ lwz r5, 0xec(r29)
+/* 80384160 0037FDC0 7C 03 00 D0 */ neg r0, r3
+/* 80384164 0037FDC4 38 80 00 00 */ li r4, 0
+/* 80384168 0037FDC8 7C 00 1B 78 */ or r0, r0, r3
+/* 8038416C 0037FDCC 2C 05 00 00 */ cmpwi r5, 0
+/* 80384170 0037FDD0 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 80384174 0037FDD4 98 1D 00 8E */ stb r0, 0x8e(r29)
+/* 80384178 0037FDD8 41 82 00 14 */ beq lbl_8038418C
+/* 8038417C 0037FDDC 88 05 00 32 */ lbz r0, 0x32(r5)
+/* 80384180 0037FDE0 2C 00 00 00 */ cmpwi r0, 0
+/* 80384184 0037FDE4 41 82 00 08 */ beq lbl_8038418C
+/* 80384188 0037FDE8 38 80 00 01 */ li r4, 1
+lbl_8038418C:
+/* 8038418C 0037FDEC 2C 04 00 00 */ cmpwi r4, 0
+/* 80384190 0037FDF0 41 82 00 30 */ beq lbl_803841C0
+/* 80384194 0037FDF4 80 BD 00 EC */ lwz r5, 0xec(r29)
+/* 80384198 0037FDF8 88 65 00 31 */ lbz r3, 0x31(r5)
+/* 8038419C 0037FDFC 7C 03 00 D0 */ neg r0, r3
+/* 803841A0 0037FE00 7C 00 1B 78 */ or r0, r0, r3
+/* 803841A4 0037FE04 54 00 0F FE */ srwi r0, r0, 0x1f
+/* 803841A8 0037FE08 7C 1E 00 40 */ cmplw r30, r0
+/* 803841AC 0037FE0C 41 82 00 14 */ beq lbl_803841C0
+/* 803841B0 0037FE10 9B C5 00 31 */ stb r30, 0x31(r5)
+/* 803841B4 0037FE14 7F C4 F3 78 */ mr r4, r30
+/* 803841B8 0037FE18 80 65 00 DC */ lwz r3, 0xdc(r5)
+/* 803841BC 0037FE1C 4B FF CE 85 */ bl Pause__Q44nw4r3snd6detail5VoiceFb
+lbl_803841C0:
+/* 803841C0 0037FE20 7F E3 FB 78 */ mr r3, r31
+/* 803841C4 0037FE24 4B EE B8 61 */ bl func_8026FA24
+/* 803841C8 0037FE28 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803841CC 0037FE2C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803841D0 0037FE30 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803841D4 0037FE34 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803841D8 0037FE38 7C 08 03 A6 */ mtlr r0
+/* 803841DC 0037FE3C 38 21 00 20 */ addi r1, r1, 0x20
+/* 803841E0 0037FE40 4E 80 00 20 */ blr
+
+.global SetChannelPriority__Q44nw4r3snd6detail9WsdPlayerFi
+SetChannelPriority__Q44nw4r3snd6detail9WsdPlayerFi:
+/* 803841E4 0037FE44 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803841E8 0037FE48 7C 08 02 A6 */ mflr r0
+/* 803841EC 0037FE4C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803841F0 0037FE50 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803841F4 0037FE54 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 803841F8 0037FE58 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803841FC 0037FE5C 7C 9E 23 78 */ mr r30, r4
+/* 80384200 0037FE60 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80384204 0037FE64 7C 7D 1B 78 */ mr r29, r3
+/* 80384208 0037FE68 7F E3 FB 78 */ mr r3, r31
+/* 8038420C 0037FE6C 4B EE B7 3D */ bl func_8026F948
+/* 80384210 0037FE70 9B DD 00 9C */ stb r30, 0x9c(r29)
+/* 80384214 0037FE74 7F E3 FB 78 */ mr r3, r31
+/* 80384218 0037FE78 4B EE B8 0D */ bl func_8026FA24
+/* 8038421C 0037FE7C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80384220 0037FE80 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80384224 0037FE84 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80384228 0037FE88 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8038422C 0037FE8C 7C 08 03 A6 */ mtlr r0
+/* 80384230 0037FE90 38 21 00 20 */ addi r1, r1, 0x20
+/* 80384234 0037FE94 4E 80 00 20 */ blr
+
+.global SetReleasePriorityFix__Q44nw4r3snd6detail9WsdPlayerFb
+SetReleasePriorityFix__Q44nw4r3snd6detail9WsdPlayerFb:
+/* 80384238 0037FE98 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8038423C 0037FE9C 7C 08 02 A6 */ mflr r0
+/* 80384240 0037FEA0 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80384244 0037FEA4 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80384248 0037FEA8 3B E3 00 A8 */ addi r31, r3, 0xa8
+/* 8038424C 0037FEAC 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80384250 0037FEB0 7C 9E 23 78 */ mr r30, r4
+/* 80384254 0037FEB4 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80384258 0037FEB8 7C 7D 1B 78 */ mr r29, r3
+/* 8038425C 0037FEBC 7F E3 FB 78 */ mr r3, r31
+/* 80384260 0037FEC0 4B EE B6 E9 */ bl func_8026F948
+/* 80384264 0037FEC4 9B DD 00 90 */ stb r30, 0x90(r29)
+/* 80384268 0037FEC8 7F E3 FB 78 */ mr r3, r31
+/* 8038426C 0037FECC 4B EE B7 B9 */ bl func_8026FA24
+/* 80384270 0037FED0 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80384274 0037FED4 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80384278 0037FED8 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8038427C 0037FEDC 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80384280 0037FEE0 7C 08 03 A6 */ mtlr r0
+/* 80384284 0037FEE4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80384288 0037FEE8 4E 80 00 20 */ blr
+
+.global InvalidateData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv
+InvalidateData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv:
+/* 8038428C 0037FEEC 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80384290 0037FEF0 7C 08 02 A6 */ mflr r0
+/* 80384294 0037FEF4 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80384298 0037FEF8 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8038429C 0037FEFC 7C 9F 23 78 */ mr r31, r4
+/* 803842A0 0037FF00 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803842A4 0037FF04 3B C3 00 A8 */ addi r30, r3, 0xa8
+/* 803842A8 0037FF08 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803842AC 0037FF0C 7C BD 2B 78 */ mr r29, r5
+/* 803842B0 0037FF10 93 81 00 10 */ stw r28, 0x10(r1)
+/* 803842B4 0037FF14 7C 7C 1B 78 */ mr r28, r3
+/* 803842B8 0037FF18 7F C3 F3 78 */ mr r3, r30
+/* 803842BC 0037FF1C 4B EE B6 8D */ bl func_8026F948
+/* 803842C0 0037FF20 88 1C 00 8C */ lbz r0, 0x8c(r28)
+/* 803842C4 0037FF24 2C 00 00 00 */ cmpwi r0, 0
+/* 803842C8 0037FF28 41 82 00 DC */ beq lbl_803843A4
+/* 803842CC 0037FF2C 80 1C 00 C0 */ lwz r0, 0xc0(r28)
+/* 803842D0 0037FF30 7C 1F 00 40 */ cmplw r31, r0
+/* 803842D4 0037FF34 41 81 00 D0 */ bgt lbl_803843A4
+/* 803842D8 0037FF38 7C 00 E8 40 */ cmplw r0, r29
+/* 803842DC 0037FF3C 41 81 00 C8 */ bgt lbl_803843A4
+/* 803842E0 0037FF40 7F DF F3 78 */ mr r31, r30
+/* 803842E4 0037FF44 7F E3 FB 78 */ mr r3, r31
+/* 803842E8 0037FF48 4B EE B6 61 */ bl func_8026F948
+/* 803842EC 0037FF4C 88 1C 00 8D */ lbz r0, 0x8d(r28)
+/* 803842F0 0037FF50 2C 00 00 00 */ cmpwi r0, 0
+/* 803842F4 0037FF54 41 82 00 28 */ beq lbl_8038431C
+/* 803842F8 0037FF58 2C 1C 00 00 */ cmpwi r28, 0
+/* 803842FC 0037FF5C 7F 9D E3 78 */ mr r29, r28
+/* 80384300 0037FF60 41 82 00 08 */ beq lbl_80384308
+/* 80384304 0037FF64 3B BC 00 80 */ addi r29, r28, 0x80
+lbl_80384308:
+/* 80384308 0037FF68 4B FF 81 49 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 8038430C 0037FF6C 7F A4 EB 78 */ mr r4, r29
+/* 80384310 0037FF70 4B FF 85 71 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80384314 0037FF74 38 00 00 00 */ li r0, 0
+/* 80384318 0037FF78 98 1C 00 8D */ stb r0, 0x8d(r28)
+lbl_8038431C:
+/* 8038431C 0037FF7C 88 1C 00 8C */ lbz r0, 0x8c(r28)
+/* 80384320 0037FF80 2C 00 00 00 */ cmpwi r0, 0
+/* 80384324 0037FF84 41 82 00 28 */ beq lbl_8038434C
+/* 80384328 0037FF88 2C 1C 00 00 */ cmpwi r28, 0
+/* 8038432C 0037FF8C 7F 9D E3 78 */ mr r29, r28
+/* 80384330 0037FF90 41 82 00 08 */ beq lbl_80384338
+/* 80384334 0037FF94 3B BC 00 74 */ addi r29, r28, 0x74
+lbl_80384338:
+/* 80384338 0037FF98 4B FE AF 21 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 8038433C 0037FF9C 7F A4 EB 78 */ mr r4, r29
+/* 80384340 0037FFA0 4B FE B0 6D */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80384344 0037FFA4 38 00 00 00 */ li r0, 0
+/* 80384348 0037FFA8 98 1C 00 8C */ stb r0, 0x8c(r28)
+lbl_8038434C:
+/* 8038434C 0037FFAC 80 9C 00 EC */ lwz r4, 0xec(r28)
+/* 80384350 0037FFB0 38 60 00 00 */ li r3, 0
+/* 80384354 0037FFB4 2C 04 00 00 */ cmpwi r4, 0
+/* 80384358 0037FFB8 41 82 00 14 */ beq lbl_8038436C
+/* 8038435C 0037FFBC 88 04 00 32 */ lbz r0, 0x32(r4)
+/* 80384360 0037FFC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80384364 0037FFC4 41 82 00 08 */ beq lbl_8038436C
+/* 80384368 0037FFC8 38 60 00 01 */ li r3, 1
+lbl_8038436C:
+/* 8038436C 0037FFCC 2C 03 00 00 */ cmpwi r3, 0
+/* 80384370 0037FFD0 41 82 00 14 */ beq lbl_80384384
+/* 80384374 0037FFD4 7F 83 E3 78 */ mr r3, r28
+/* 80384378 0037FFD8 48 00 04 01 */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+/* 8038437C 0037FFDC 80 7C 00 EC */ lwz r3, 0xec(r28)
+/* 80384380 0037FFE0 4B FE A9 61 */ bl Release__Q44nw4r3snd6detail7ChannelFv
+lbl_80384384:
+/* 80384384 0037FFE4 80 7C 00 EC */ lwz r3, 0xec(r28)
+/* 80384388 0037FFE8 2C 03 00 00 */ cmpwi r3, 0
+/* 8038438C 0037FFEC 41 82 00 08 */ beq lbl_80384394
+/* 80384390 0037FFF0 4B FE AE B1 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_80384394:
+/* 80384394 0037FFF4 38 00 00 00 */ li r0, 0
+/* 80384398 0037FFF8 7F E3 FB 78 */ mr r3, r31
+/* 8038439C 0037FFFC 90 1C 00 EC */ stw r0, 0xec(r28)
+/* 803843A0 00380000 4B EE B6 85 */ bl func_8026FA24
+lbl_803843A4:
+/* 803843A4 00380004 7F C3 F3 78 */ mr r3, r30
+/* 803843A8 00380008 4B EE B6 7D */ bl func_8026FA24
+/* 803843AC 0038000C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803843B0 00380010 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803843B4 00380014 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803843B8 00380018 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803843BC 0038001C 83 81 00 10 */ lwz r28, 0x10(r1)
+/* 803843C0 00380020 7C 08 03 A6 */ mtlr r0
+/* 803843C4 00380024 38 21 00 20 */ addi r1, r1, 0x20
+/* 803843C8 00380028 4E 80 00 20 */ blr
+
+.global Update__Q44nw4r3snd6detail9WsdPlayerFv
+Update__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 803843CC 0038002C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803843D0 00380030 7C 08 02 A6 */ mflr r0
+/* 803843D4 00380034 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803843D8 00380038 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803843DC 0038003C 7C 7F 1B 78 */ mr r31, r3
+/* 803843E0 00380040 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803843E4 00380044 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803843E8 00380048 88 03 00 8C */ lbz r0, 0x8c(r3)
+/* 803843EC 0038004C 2C 00 00 00 */ cmpwi r0, 0
+/* 803843F0 00380050 41 82 01 EC */ beq lbl_803845DC
+/* 803843F4 00380054 88 03 00 8D */ lbz r0, 0x8d(r3)
+/* 803843F8 00380058 2C 00 00 00 */ cmpwi r0, 0
+/* 803843FC 0038005C 41 82 01 E0 */ beq lbl_803845DC
+/* 80384400 00380060 88 03 00 8E */ lbz r0, 0x8e(r3)
+/* 80384404 00380064 2C 00 00 00 */ cmpwi r0, 0
+/* 80384408 00380068 40 82 01 CC */ bne lbl_803845D4
+/* 8038440C 0038006C 88 83 00 8F */ lbz r4, 0x8f(r3)
+/* 80384410 00380070 2C 04 00 00 */ cmpwi r4, 0
+/* 80384414 00380074 41 82 00 D8 */ beq lbl_803844EC
+/* 80384418 00380078 80 03 00 EC */ lwz r0, 0xec(r3)
+/* 8038441C 0038007C 2C 00 00 00 */ cmpwi r0, 0
+/* 80384420 00380080 40 82 00 CC */ bne lbl_803844EC
+/* 80384424 00380084 3B C3 00 A8 */ addi r30, r3, 0xa8
+/* 80384428 00380088 7F C3 F3 78 */ mr r3, r30
+/* 8038442C 0038008C 4B EE B5 1D */ bl func_8026F948
+/* 80384430 00380090 88 1F 00 8D */ lbz r0, 0x8d(r31)
+/* 80384434 00380094 2C 00 00 00 */ cmpwi r0, 0
+/* 80384438 00380098 41 82 00 28 */ beq lbl_80384460
+/* 8038443C 0038009C 2C 1F 00 00 */ cmpwi r31, 0
+/* 80384440 003800A0 7F FD FB 78 */ mr r29, r31
+/* 80384444 003800A4 41 82 00 08 */ beq lbl_8038444C
+/* 80384448 003800A8 3B BF 00 80 */ addi r29, r31, 0x80
+lbl_8038444C:
+/* 8038444C 003800AC 4B FF 80 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 80384450 003800B0 7F A4 EB 78 */ mr r4, r29
+/* 80384454 003800B4 4B FF 84 2D */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80384458 003800B8 38 00 00 00 */ li r0, 0
+/* 8038445C 003800BC 98 1F 00 8D */ stb r0, 0x8d(r31)
+lbl_80384460:
+/* 80384460 003800C0 88 1F 00 8C */ lbz r0, 0x8c(r31)
+/* 80384464 003800C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80384468 003800C8 41 82 00 28 */ beq lbl_80384490
+/* 8038446C 003800CC 2C 1F 00 00 */ cmpwi r31, 0
+/* 80384470 003800D0 7F FD FB 78 */ mr r29, r31
+/* 80384474 003800D4 41 82 00 08 */ beq lbl_8038447C
+/* 80384478 003800D8 3B BF 00 74 */ addi r29, r31, 0x74
+lbl_8038447C:
+/* 8038447C 003800DC 4B FE AD DD */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80384480 003800E0 7F A4 EB 78 */ mr r4, r29
+/* 80384484 003800E4 4B FE AF 29 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80384488 003800E8 38 00 00 00 */ li r0, 0
+/* 8038448C 003800EC 98 1F 00 8C */ stb r0, 0x8c(r31)
+lbl_80384490:
+/* 80384490 003800F0 80 9F 00 EC */ lwz r4, 0xec(r31)
+/* 80384494 003800F4 38 60 00 00 */ li r3, 0
+/* 80384498 003800F8 2C 04 00 00 */ cmpwi r4, 0
+/* 8038449C 003800FC 41 82 00 14 */ beq lbl_803844B0
+/* 803844A0 00380100 88 04 00 32 */ lbz r0, 0x32(r4)
+/* 803844A4 00380104 2C 00 00 00 */ cmpwi r0, 0
+/* 803844A8 00380108 41 82 00 08 */ beq lbl_803844B0
+/* 803844AC 0038010C 38 60 00 01 */ li r3, 1
+lbl_803844B0:
+/* 803844B0 00380110 2C 03 00 00 */ cmpwi r3, 0
+/* 803844B4 00380114 41 82 00 14 */ beq lbl_803844C8
+/* 803844B8 00380118 7F E3 FB 78 */ mr r3, r31
+/* 803844BC 0038011C 48 00 02 BD */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+/* 803844C0 00380120 80 7F 00 EC */ lwz r3, 0xec(r31)
+/* 803844C4 00380124 4B FE A8 1D */ bl Release__Q44nw4r3snd6detail7ChannelFv
+lbl_803844C8:
+/* 803844C8 00380128 80 7F 00 EC */ lwz r3, 0xec(r31)
+/* 803844CC 0038012C 2C 03 00 00 */ cmpwi r3, 0
+/* 803844D0 00380130 41 82 00 08 */ beq lbl_803844D8
+/* 803844D4 00380134 4B FE AD 6D */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_803844D8:
+/* 803844D8 00380138 38 00 00 00 */ li r0, 0
+/* 803844DC 0038013C 7F C3 F3 78 */ mr r3, r30
+/* 803844E0 00380140 90 1F 00 EC */ stw r0, 0xec(r31)
+/* 803844E4 00380144 4B EE B5 41 */ bl func_8026FA24
+/* 803844E8 00380148 48 00 00 F4 */ b lbl_803845DC
+lbl_803844EC:
+/* 803844EC 0038014C 2C 04 00 00 */ cmpwi r4, 0
+/* 803844F0 00380150 40 82 00 E4 */ bne lbl_803845D4
+/* 803844F4 00380154 80 9F 00 A0 */ lwz r4, 0xa0(r31)
+/* 803844F8 00380158 7F E3 FB 78 */ mr r3, r31
+/* 803844FC 0038015C 80 BF 00 A4 */ lwz r5, 0xa4(r31)
+/* 80384500 00380160 48 00 00 F9 */ bl StartChannel__Q44nw4r3snd6detail9WsdPlayerFPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+/* 80384504 00380164 2C 03 00 00 */ cmpwi r3, 0
+/* 80384508 00380168 40 82 00 CC */ bne lbl_803845D4
+/* 8038450C 0038016C 3B DF 00 A8 */ addi r30, r31, 0xa8
+/* 80384510 00380170 7F C3 F3 78 */ mr r3, r30
+/* 80384514 00380174 4B EE B4 35 */ bl func_8026F948
+/* 80384518 00380178 88 1F 00 8D */ lbz r0, 0x8d(r31)
+/* 8038451C 0038017C 2C 00 00 00 */ cmpwi r0, 0
+/* 80384520 00380180 41 82 00 28 */ beq lbl_80384548
+/* 80384524 00380184 2C 1F 00 00 */ cmpwi r31, 0
+/* 80384528 00380188 7F FD FB 78 */ mr r29, r31
+/* 8038452C 0038018C 41 82 00 08 */ beq lbl_80384534
+/* 80384530 00380190 3B BF 00 80 */ addi r29, r31, 0x80
+lbl_80384534:
+/* 80384534 00380194 4B FF 7F 1D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
+/* 80384538 00380198 7F A4 EB 78 */ mr r4, r29
+/* 8038453C 0038019C 4B FF 83 45 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
+/* 80384540 003801A0 38 00 00 00 */ li r0, 0
+/* 80384544 003801A4 98 1F 00 8D */ stb r0, 0x8d(r31)
+lbl_80384548:
+/* 80384548 003801A8 88 1F 00 8C */ lbz r0, 0x8c(r31)
+/* 8038454C 003801AC 2C 00 00 00 */ cmpwi r0, 0
+/* 80384550 003801B0 41 82 00 28 */ beq lbl_80384578
+/* 80384554 003801B4 2C 1F 00 00 */ cmpwi r31, 0
+/* 80384558 003801B8 7F FD FB 78 */ mr r29, r31
+/* 8038455C 003801BC 41 82 00 08 */ beq lbl_80384564
+/* 80384560 003801C0 3B BF 00 74 */ addi r29, r31, 0x74
+lbl_80384564:
+/* 80384564 003801C4 4B FE AC F5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80384568 003801C8 7F A4 EB 78 */ mr r4, r29
+/* 8038456C 003801CC 4B FE AE 41 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv
+/* 80384570 003801D0 38 00 00 00 */ li r0, 0
+/* 80384574 003801D4 98 1F 00 8C */ stb r0, 0x8c(r31)
+lbl_80384578:
+/* 80384578 003801D8 80 9F 00 EC */ lwz r4, 0xec(r31)
+/* 8038457C 003801DC 38 60 00 00 */ li r3, 0
+/* 80384580 003801E0 2C 04 00 00 */ cmpwi r4, 0
+/* 80384584 003801E4 41 82 00 14 */ beq lbl_80384598
+/* 80384588 003801E8 88 04 00 32 */ lbz r0, 0x32(r4)
+/* 8038458C 003801EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80384590 003801F0 41 82 00 08 */ beq lbl_80384598
+/* 80384594 003801F4 38 60 00 01 */ li r3, 1
+lbl_80384598:
+/* 80384598 003801F8 2C 03 00 00 */ cmpwi r3, 0
+/* 8038459C 003801FC 41 82 00 14 */ beq lbl_803845B0
+/* 803845A0 00380200 7F E3 FB 78 */ mr r3, r31
+/* 803845A4 00380204 48 00 01 D5 */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+/* 803845A8 00380208 80 7F 00 EC */ lwz r3, 0xec(r31)
+/* 803845AC 0038020C 4B FE A7 35 */ bl Release__Q44nw4r3snd6detail7ChannelFv
+lbl_803845B0:
+/* 803845B0 00380210 80 7F 00 EC */ lwz r3, 0xec(r31)
+/* 803845B4 00380214 2C 03 00 00 */ cmpwi r3, 0
+/* 803845B8 00380218 41 82 00 08 */ beq lbl_803845C0
+/* 803845BC 0038021C 4B FE AC 85 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_803845C0:
+/* 803845C0 00380220 38 00 00 00 */ li r0, 0
+/* 803845C4 00380224 7F C3 F3 78 */ mr r3, r30
+/* 803845C8 00380228 90 1F 00 EC */ stw r0, 0xec(r31)
+/* 803845CC 0038022C 4B EE B4 59 */ bl func_8026FA24
+/* 803845D0 00380230 48 00 00 0C */ b lbl_803845DC
+lbl_803845D4:
+/* 803845D4 00380234 7F E3 FB 78 */ mr r3, r31
+/* 803845D8 00380238 48 00 01 A1 */ bl UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+lbl_803845DC:
+/* 803845DC 0038023C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803845E0 00380240 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803845E4 00380244 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803845E8 00380248 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803845EC 0038024C 7C 08 03 A6 */ mtlr r0
+/* 803845F0 00380250 38 21 00 20 */ addi r1, r1, 0x20
+/* 803845F4 00380254 4E 80 00 20 */ blr
+
+.global StartChannel__Q44nw4r3snd6detail9WsdPlayerFPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl
+StartChannel__Q44nw4r3snd6detail9WsdPlayerFPCQ54nw4r3snd6detail9WsdPlayer11WsdCallbackUl:
+/* 803845F8 00380258 94 21 FF 40 */ stwu r1, -0xc0(r1)
+/* 803845FC 0038025C 7C 08 02 A6 */ mflr r0
+/* 80384600 00380260 7C AA 2B 78 */ mr r10, r5
+/* 80384604 00380264 39 20 00 00 */ li r9, 0
+/* 80384608 00380268 90 01 00 C4 */ stw r0, 0xc4(r1)
+/* 8038460C 0038026C 38 A1 00 08 */ addi r5, r1, 8
+/* 80384610 00380270 93 E1 00 BC */ stw r31, 0xbc(r1)
+/* 80384614 00380274 7C 7F 1B 78 */ mr r31, r3
+/* 80384618 00380278 7C 83 23 78 */ mr r3, r4
+/* 8038461C 0038027C 93 C1 00 B8 */ stw r30, 0xb8(r1)
+/* 80384620 00380280 93 A1 00 B4 */ stw r29, 0xb4(r1)
+/* 80384624 00380284 81 84 00 00 */ lwz r12, 0(r4)
+/* 80384628 00380288 38 9F 00 E0 */ addi r4, r31, 0xe0
+/* 8038462C 0038028C 88 DF 00 9C */ lbz r6, 0x9c(r31)
+/* 80384630 00380290 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 80384634 00380294 3B C6 00 40 */ addi r30, r6, 0x40
+/* 80384638 00380298 38 C1 00 18 */ addi r6, r1, 0x18
+/* 8038463C 0038029C 80 FF 00 C0 */ lwz r7, 0xc0(r31)
+/* 80384640 003802A0 81 1F 00 C4 */ lwz r8, 0xc4(r31)
+/* 80384644 003802A4 7D 89 03 A6 */ mtctr r12
+/* 80384648 003802A8 4E 80 04 21 */ bctrl
+/* 8038464C 003802AC 2C 03 00 00 */ cmpwi r3, 0
+/* 80384650 003802B0 40 82 00 0C */ bne lbl_8038465C
+/* 80384654 003802B4 38 60 00 00 */ li r3, 0
+/* 80384658 003802B8 48 00 01 04 */ b lbl_8038475C
+lbl_8038465C:
+/* 8038465C 003802BC 80 1F 00 C8 */ lwz r0, 0xc8(r31)
+/* 80384660 003802C0 2C 00 00 00 */ cmpwi r0, 0
+/* 80384664 003802C4 40 82 00 0C */ bne lbl_80384670
+/* 80384668 003802C8 83 BF 00 CC */ lwz r29, 0xcc(r31)
+/* 8038466C 003802CC 48 00 00 44 */ b lbl_803846B0
+lbl_80384670:
+/* 80384670 003802D0 2C 00 00 01 */ cmpwi r0, 1
+/* 80384674 003802D4 40 82 00 3C */ bne lbl_803846B0
+/* 80384678 003802D8 81 1F 00 CC */ lwz r8, 0xcc(r31)
+/* 8038467C 003802DC 38 80 00 00 */ li r4, 0
+/* 80384680 003802E0 80 E1 00 1C */ lwz r7, 0x1c(r1)
+/* 80384684 003802E4 38 C0 03 E8 */ li r6, 0x3e8
+/* 80384688 003802E8 7D 00 FE 70 */ srawi r0, r8, 0x1f
+/* 8038468C 003802EC 38 A0 00 00 */ li r5, 0
+/* 80384690 003802F0 7C 67 40 16 */ mulhwu r3, r7, r8
+/* 80384694 003802F4 7C 84 41 D6 */ mullw r4, r4, r8
+/* 80384698 003802F8 7C 63 22 14 */ add r3, r3, r4
+/* 8038469C 003802FC 7C 07 01 D6 */ mullw r0, r7, r0
+/* 803846A0 00380300 7C 87 41 D6 */ mullw r4, r7, r8
+/* 803846A4 00380304 7C 63 02 14 */ add r3, r3, r0
+/* 803846A8 00380308 4B E4 2B D1 */ bl __div2i
+/* 803846AC 0038030C 7C 9D 23 78 */ mr r29, r4
+lbl_803846B0:
+/* 803846B0 00380310 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803846B4 00380314 7C 1D 00 40 */ cmplw r29, r0
+/* 803846B8 00380318 40 81 00 0C */ ble lbl_803846C4
+/* 803846BC 0038031C 38 60 00 00 */ li r3, 0
+/* 803846C0 00380320 48 00 00 9C */ b lbl_8038475C
+lbl_803846C4:
+/* 803846C4 00380324 88 01 00 1A */ lbz r0, 0x1a(r1)
+/* 803846C8 00380328 38 60 00 02 */ li r3, 2
+/* 803846CC 0038032C 80 9F 00 98 */ lwz r4, 0x98(r31)
+/* 803846D0 00380330 2C 00 00 02 */ cmpwi r0, 2
+/* 803846D4 00380334 41 81 00 08 */ bgt lbl_803846DC
+/* 803846D8 00380338 7C 03 03 78 */ mr r3, r0
+lbl_803846DC:
+/* 803846DC 0038033C 3C C0 80 38 */ lis r6, ChannelCallbackFunc__Q44nw4r3snd6detail9WsdPlayerFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl@ha
+/* 803846E0 00380340 7F C5 F3 78 */ mr r5, r30
+/* 803846E4 00380344 7F E7 FB 78 */ mr r7, r31
+/* 803846E8 00380348 38 C6 4B 90 */ addi r6, r6, ChannelCallbackFunc__Q44nw4r3snd6detail9WsdPlayerFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl@l
+/* 803846EC 0038034C 4B FE A9 19 */ bl AllocChannel__Q44nw4r3snd6detail7ChannelFiiiPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl
+/* 803846F0 00380350 2C 03 00 00 */ cmpwi r3, 0
+/* 803846F4 00380354 7C 7E 1B 78 */ mr r30, r3
+/* 803846F8 00380358 40 82 00 0C */ bne lbl_80384704
+/* 803846FC 0038035C 38 60 00 00 */ li r3, 0
+/* 80384700 00380360 48 00 00 5C */ b lbl_8038475C
+lbl_80384704:
+/* 80384704 00380364 88 81 00 0C */ lbz r4, 0xc(r1)
+/* 80384708 00380368 4B FE B7 15 */ bl SetAttack__Q44nw4r3snd6detail12EnvGeneratorFi
+/* 8038470C 0038036C 88 81 00 0D */ lbz r4, 0xd(r1)
+/* 80384710 00380370 7F C3 F3 78 */ mr r3, r30
+/* 80384714 00380374 4B FE B7 21 */ bl SetDecay__Q44nw4r3snd6detail12EnvGeneratorFi
+/* 80384718 00380378 88 81 00 0E */ lbz r4, 0xe(r1)
+/* 8038471C 0038037C 7F C3 F3 78 */ mr r3, r30
+/* 80384720 00380380 4B FE B7 B5 */ bl SetSustain__Q44nw4r3snd6detail12EnvGeneratorFi
+/* 80384724 00380384 88 81 00 0F */ lbz r4, 0xf(r1)
+/* 80384728 00380388 7F C3 F3 78 */ mr r3, r30
+/* 8038472C 0038038C 4B FE B7 B1 */ bl SetRelease__Q44nw4r3snd6detail12EnvGeneratorFi
+/* 80384730 00380390 88 1F 00 90 */ lbz r0, 0x90(r31)
+/* 80384734 00380394 7F C3 F3 78 */ mr r3, r30
+/* 80384738 00380398 7F A6 EB 78 */ mr r6, r29
+/* 8038473C 0038039C 38 81 00 18 */ addi r4, r1, 0x18
+/* 80384740 003803A0 98 1E 00 35 */ stb r0, 0x35(r30)
+/* 80384744 003803A4 38 A0 FF FF */ li r5, -1
+/* 80384748 003803A8 4B FE A5 19 */ bl Start__Q44nw4r3snd6detail7ChannelFRCQ44nw4r3snd6detail8WaveDataiUl
+/* 8038474C 003803AC 38 00 00 01 */ li r0, 1
+/* 80384750 003803B0 93 DF 00 EC */ stw r30, 0xec(r31)
+/* 80384754 003803B4 38 60 00 01 */ li r3, 1
+/* 80384758 003803B8 98 1F 00 8F */ stb r0, 0x8f(r31)
+lbl_8038475C:
+/* 8038475C 003803BC 80 01 00 C4 */ lwz r0, 0xc4(r1)
+/* 80384760 003803C0 83 E1 00 BC */ lwz r31, 0xbc(r1)
+/* 80384764 003803C4 83 C1 00 B8 */ lwz r30, 0xb8(r1)
+/* 80384768 003803C8 83 A1 00 B4 */ lwz r29, 0xb4(r1)
+/* 8038476C 003803CC 7C 08 03 A6 */ mtlr r0
+/* 80384770 003803D0 38 21 00 C0 */ addi r1, r1, 0xc0
+/* 80384774 003803D4 4E 80 00 20 */ blr
+
+.global UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv
+UpdateChannel__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80384778 003803D8 94 21 FF 00 */ stwu r1, -0x100(r1)
+/* 8038477C 003803DC 7C 08 02 A6 */ mflr r0
+/* 80384780 003803E0 90 01 01 04 */ stw r0, 0x104(r1)
+/* 80384784 003803E4 DB E1 00 F0 */ stfd f31, 0xf0(r1)
+/* 80384788 003803E8 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0
+/* 8038478C 003803EC DB C1 00 E0 */ stfd f30, 0xe0(r1)
+/* 80384790 003803F0 F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0
+/* 80384794 003803F4 DB A1 00 D0 */ stfd f29, 0xd0(r1)
+/* 80384798 003803F8 F3 A1 00 D8 */ psq_st f29, 216(r1), 0, qr0
+/* 8038479C 003803FC DB 81 00 C0 */ stfd f28, 0xc0(r1)
+/* 803847A0 00380400 F3 81 00 C8 */ psq_st f28, 200(r1), 0, qr0
+/* 803847A4 00380404 DB 61 00 B0 */ stfd f27, 0xb0(r1)
+/* 803847A8 00380408 F3 61 00 B8 */ psq_st f27, 184(r1), 0, qr0
+/* 803847AC 0038040C DB 41 00 A0 */ stfd f26, 0xa0(r1)
+/* 803847B0 00380410 F3 41 00 A8 */ psq_st f26, 168(r1), 0, qr0
+/* 803847B4 00380414 DB 21 00 90 */ stfd f25, 0x90(r1)
+/* 803847B8 00380418 F3 21 00 98 */ psq_st f25, 152(r1), 0, qr0
+/* 803847BC 0038041C DB 01 00 80 */ stfd f24, 0x80(r1)
+/* 803847C0 00380420 F3 01 00 88 */ psq_st f24, 136(r1), 0, qr0
+/* 803847C4 00380424 DA E1 00 70 */ stfd f23, 0x70(r1)
+/* 803847C8 00380428 F2 E1 00 78 */ psq_st f23, 120(r1), 0, qr0
+/* 803847CC 0038042C 39 61 00 70 */ addi r11, r1, 0x70
+/* 803847D0 00380430 4B E4 29 55 */ bl _savegpr_26
+/* 803847D4 00380434 80 03 00 EC */ lwz r0, 0xec(r3)
+/* 803847D8 00380438 3C 80 43 30 */ lis r4, 0x4330
+/* 803847DC 0038043C 90 81 00 40 */ stw r4, 0x40(r1)
+/* 803847E0 00380440 7C 7A 1B 78 */ mr r26, r3
+/* 803847E4 00380444 2C 00 00 00 */ cmpwi r0, 0
+/* 803847E8 00380448 90 81 00 48 */ stw r4, 0x48(r1)
+/* 803847EC 0038044C 41 82 03 44 */ beq lbl_80384B30
+/* 803847F0 00380450 C3 82 A7 F8 */ lfs f28, lbl_80642DF8-_SDA2_BASE_(r2)
+/* 803847F4 00380454 C0 03 00 0C */ lfs f0, 0xc(r3)
+/* 803847F8 00380458 88 83 00 E4 */ lbz r4, 0xe4(r3)
+/* 803847FC 0038045C EF 9C 00 32 */ fmuls f28, f28, f0
+/* 80384800 00380460 C0 03 00 E0 */ lfs f0, 0xe0(r3)
+/* 80384804 00380464 C3 A2 A7 F8 */ lfs f29, lbl_80642DF8-_SDA2_BASE_(r2)
+/* 80384808 00380468 28 04 00 01 */ cmplwi r4, 1
+/* 8038480C 0038046C C0 23 00 08 */ lfs f1, 8(r3)
+/* 80384810 00380470 EF 9C 00 32 */ fmuls f28, f28, f0
+/* 80384814 00380474 EF BD 00 72 */ fmuls f29, f29, f1
+/* 80384818 00380478 C3 62 A7 FC */ lfs f27, lbl_80642DFC-_SDA2_BASE_(r2)
+/* 8038481C 0038047C 41 81 00 2C */ bgt lbl_80384848
+/* 80384820 00380480 38 04 FF C1 */ addi r0, r4, -63
+/* 80384824 00380484 C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2)
+/* 80384828 00380488 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 8038482C 0038048C C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2)
+/* 80384830 00380490 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80384834 00380494 C8 21 00 40 */ lfd f1, 0x40(r1)
+/* 80384838 00380498 EC 21 10 28 */ fsubs f1, f1, f2
+/* 8038483C 0038049C EC 01 00 24 */ fdivs f0, f1, f0
+/* 80384840 003804A0 EF 7B 00 2A */ fadds f27, f27, f0
+/* 80384844 003804A4 48 00 00 28 */ b lbl_8038486C
+lbl_80384848:
+/* 80384848 003804A8 38 04 FF C0 */ addi r0, r4, -64
+/* 8038484C 003804AC C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2)
+/* 80384850 003804B0 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80384854 003804B4 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2)
+/* 80384858 003804B8 90 01 00 4C */ stw r0, 0x4c(r1)
+/* 8038485C 003804BC C8 21 00 48 */ lfd f1, 0x48(r1)
+/* 80384860 003804C0 EC 21 10 28 */ fsubs f1, f1, f2
+/* 80384864 003804C4 EC 01 00 24 */ fdivs f0, f1, f0
+/* 80384868 003804C8 EF 7B 00 2A */ fadds f27, f27, f0
+lbl_8038486C:
+/* 8038486C 003804CC C0 03 00 94 */ lfs f0, 0x94(r3)
+/* 80384870 003804D0 88 83 00 E5 */ lbz r4, 0xe5(r3)
+/* 80384874 003804D4 EF 7B 00 32 */ fmuls f27, f27, f0
+/* 80384878 003804D8 C0 03 00 10 */ lfs f0, 0x10(r3)
+/* 8038487C 003804DC 28 04 00 01 */ cmplwi r4, 1
+/* 80384880 003804E0 C3 42 A7 FC */ lfs f26, lbl_80642DFC-_SDA2_BASE_(r2)
+/* 80384884 003804E4 EF 7B 00 2A */ fadds f27, f27, f0
+/* 80384888 003804E8 41 81 00 2C */ bgt lbl_803848B4
+/* 8038488C 003804EC 38 04 00 01 */ addi r0, r4, 1
+/* 80384890 003804F0 C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2)
+/* 80384894 003804F4 6C 00 80 00 */ xoris r0, r0, 0x8000
+/* 80384898 003804F8 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2)
+/* 8038489C 003804FC 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803848A0 00380500 C8 21 00 40 */ lfd f1, 0x40(r1)
+/* 803848A4 00380504 EC 21 10 28 */ fsubs f1, f1, f2
+/* 803848A8 00380508 EC 01 00 24 */ fdivs f0, f1, f0
+/* 803848AC 0038050C EF 5A 00 2A */ fadds f26, f26, f0
+/* 803848B0 00380510 48 00 00 20 */ b lbl_803848D0
+lbl_803848B4:
+/* 803848B4 00380514 90 81 00 4C */ stw r4, 0x4c(r1)
+/* 803848B8 00380518 C8 42 A8 18 */ lfd f2, lbl_80642E18-_SDA2_BASE_(r2)
+/* 803848BC 0038051C C8 21 00 48 */ lfd f1, 0x48(r1)
+/* 803848C0 00380520 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2)
+/* 803848C4 00380524 EC 21 10 28 */ fsubs f1, f1, f2
+/* 803848C8 00380528 EC 01 00 24 */ fdivs f0, f1, f0
+/* 803848CC 0038052C EF 5A 00 2A */ fadds f26, f26, f0
+lbl_803848D0:
+/* 803848D0 00380530 88 03 00 E9 */ lbz r0, 0xe9(r3)
+/* 803848D4 00380534 3B 61 00 30 */ addi r27, r1, 0x30
+/* 803848D8 00380538 90 81 00 44 */ stw r4, 0x44(r1)
+/* 803848DC 0038053C 3B 81 00 08 */ addi r28, r1, 8
+/* 803848E0 00380540 C3 02 A7 FC */ lfs f24, lbl_80642DFC-_SDA2_BASE_(r2)
+/* 803848E4 00380544 3B A0 00 00 */ li r29, 0
+/* 803848E8 00380548 90 01 00 4C */ stw r0, 0x4c(r1)
+/* 803848EC 0038054C CB C2 A8 18 */ lfd f30, lbl_80642E18-_SDA2_BASE_(r2)
+/* 803848F0 00380550 FF 20 C0 90 */ fmr f25, f24
+/* 803848F4 00380554 C8 01 00 48 */ lfd f0, 0x48(r1)
+/* 803848F8 00380558 C8 21 00 40 */ lfd f1, 0x40(r1)
+/* 803848FC 0038055C EC 00 F0 28 */ fsubs f0, f0, f30
+/* 80384900 00380560 C3 E2 A8 08 */ lfs f31, lbl_80642E08-_SDA2_BASE_(r2)
+/* 80384904 00380564 EC 61 F0 28 */ fsubs f3, f1, f30
+/* 80384908 00380568 C0 42 A8 04 */ lfs f2, lbl_80642E04-_SDA2_BASE_(r2)
+/* 8038490C 0038056C 88 A3 00 E6 */ lbz r5, 0xe6(r3)
+/* 80384910 00380570 EC 20 F8 24 */ fdivs f1, f0, f31
+/* 80384914 00380574 C0 02 A7 F8 */ lfs f0, lbl_80642DF8-_SDA2_BASE_(r2)
+/* 80384918 00380578 88 83 00 E7 */ lbz r4, 0xe7(r3)
+/* 8038491C 0038057C 88 03 00 E8 */ lbz r0, 0xe8(r3)
+/* 80384920 00380580 C0 83 00 14 */ lfs f4, 0x14(r3)
+/* 80384924 00380584 98 A1 00 08 */ stb r5, 8(r1)
+/* 80384928 00380588 EC 43 00 B2 */ fmuls f2, f3, f2
+/* 8038492C 0038058C C0 63 00 18 */ lfs f3, 0x18(r3)
+/* 80384930 00380590 EC 01 00 28 */ fsubs f0, f1, f0
+/* 80384934 00380594 C0 23 00 28 */ lfs f1, 0x28(r3)
+/* 80384938 00380598 EF 39 18 2A */ fadds f25, f25, f3
+/* 8038493C 0038059C 98 81 00 09 */ stb r4, 9(r1)
+/* 80384940 003805A0 EF 5A 10 2A */ fadds f26, f26, f2
+/* 80384944 003805A4 8B E3 00 68 */ lbz r31, 0x68(r3)
+/* 80384948 003805A8 EF 18 00 2A */ fadds f24, f24, f0
+/* 8038494C 003805AC 98 01 00 0A */ stb r0, 0xa(r1)
+/* 80384950 003805B0 C2 E2 A7 FC */ lfs f23, lbl_80642DFC-_SDA2_BASE_(r2)
+/* 80384954 003805B4 EF 5A 20 2A */ fadds f26, f26, f4
+/* 80384958 003805B8 EF 18 08 2A */ fadds f24, f24, f1
+lbl_8038495C:
+/* 8038495C 003805BC 88 1C 00 00 */ lbz r0, 0(r28)
+/* 80384960 003805C0 7F 43 D3 78 */ mr r3, r26
+/* 80384964 003805C4 D2 FB 00 00 */ stfs f23, 0(r27)
+/* 80384968 003805C8 7F A4 EB 78 */ mr r4, r29
+/* 8038496C 003805CC 90 01 00 44 */ stw r0, 0x44(r1)
+/* 80384970 003805D0 C0 1B 00 00 */ lfs f0, 0(r27)
+/* 80384974 003805D4 C8 21 00 40 */ lfd f1, 0x40(r1)
+/* 80384978 003805D8 EC 21 F0 28 */ fsubs f1, f1, f30
+/* 8038497C 003805DC EC 21 F8 24 */ fdivs f1, f1, f31
+/* 80384980 003805E0 EC 00 08 2A */ fadds f0, f0, f1
+/* 80384984 003805E4 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 80384988 003805E8 4B FE 85 CD */ bl GetFxSend__Q44nw4r3snd6detail11BasicPlayerCFQ34nw4r3snd6AuxBus
+/* 8038498C 003805EC C0 1B 00 00 */ lfs f0, 0(r27)
+/* 80384990 003805F0 3B BD 00 01 */ addi r29, r29, 1
+/* 80384994 003805F4 2C 1D 00 03 */ cmpwi r29, 3
+/* 80384998 003805F8 3B 9C 00 01 */ addi r28, r28, 1
+/* 8038499C 003805FC EC 00 08 2A */ fadds f0, f0, f1
+/* 803849A0 00380600 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 803849A4 00380604 3B 7B 00 04 */ addi r27, r27, 4
+/* 803849A8 00380608 41 80 FF B4 */ blt lbl_8038495C
+/* 803849AC 0038060C C3 C2 A7 FC */ lfs f30, lbl_80642DFC-_SDA2_BASE_(r2)
+/* 803849B0 00380610 3B 61 00 20 */ addi r27, r1, 0x20
+/* 803849B4 00380614 3B 81 00 10 */ addi r28, r1, 0x10
+/* 803849B8 00380618 3B A0 00 00 */ li r29, 0
+lbl_803849BC:
+/* 803849BC 0038061C D3 DB 00 00 */ stfs f30, 0(r27)
+/* 803849C0 00380620 7F 43 D3 78 */ mr r3, r26
+/* 803849C4 00380624 7F A4 EB 78 */ mr r4, r29
+/* 803849C8 00380628 4B FE 85 BD */ bl GetRemoteSend__Q44nw4r3snd6detail11BasicPlayerCFi
+/* 803849CC 0038062C C0 1B 00 00 */ lfs f0, 0(r27)
+/* 803849D0 00380630 7F 43 D3 78 */ mr r3, r26
+/* 803849D4 00380634 D3 DC 00 00 */ stfs f30, 0(r28)
+/* 803849D8 00380638 7F A4 EB 78 */ mr r4, r29
+/* 803849DC 0038063C EC 00 08 2A */ fadds f0, f0, f1
+/* 803849E0 00380640 D0 1B 00 00 */ stfs f0, 0(r27)
+/* 803849E4 00380644 4B FE 85 B1 */ bl GetRemoteFxSend__Q44nw4r3snd6detail11BasicPlayerCFi
+/* 803849E8 00380648 C0 1C 00 00 */ lfs f0, 0(r28)
+/* 803849EC 0038064C 3B BD 00 01 */ addi r29, r29, 1
+/* 803849F0 00380650 2C 1D 00 04 */ cmpwi r29, 4
+/* 803849F4 00380654 3B 7B 00 04 */ addi r27, r27, 4
+/* 803849F8 00380658 EC 00 08 2A */ fadds f0, f0, f1
+/* 803849FC 0038065C D0 1C 00 00 */ stfs f0, 0(r28)
+/* 80384A00 00380660 3B 9C 00 04 */ addi r28, r28, 4
+/* 80384A04 00380664 41 80 FF B8 */ blt lbl_803849BC
+/* 80384A08 00380668 80 1A 00 6C */ lwz r0, 0x6c(r26)
+/* 80384A0C 0038066C 3B A1 00 20 */ addi r29, r1, 0x20
+/* 80384A10 00380670 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A14 00380674 3B 81 00 10 */ addi r28, r1, 0x10
+/* 80384A18 00380678 C0 01 00 30 */ lfs f0, 0x30(r1)
+/* 80384A1C 0038067C 3B 60 00 00 */ li r27, 0
+/* 80384A20 00380680 90 03 00 CC */ stw r0, 0xcc(r3)
+/* 80384A24 00380684 3B C0 00 00 */ li r30, 0
+/* 80384A28 00380688 C0 61 00 34 */ lfs f3, 0x34(r1)
+/* 80384A2C 0038068C 80 1A 00 70 */ lwz r0, 0x70(r26)
+/* 80384A30 00380690 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A34 00380694 C0 41 00 38 */ lfs f2, 0x38(r1)
+/* 80384A38 00380698 90 03 00 D0 */ stw r0, 0xd0(r3)
+/* 80384A3C 0038069C 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A40 003806A0 D3 A3 00 38 */ stfs f29, 0x38(r3)
+/* 80384A44 003806A4 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A48 003806A8 D3 83 00 3C */ stfs f28, 0x3c(r3)
+/* 80384A4C 003806AC 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A50 003806B0 D3 63 00 40 */ stfs f27, 0x40(r3)
+/* 80384A54 003806B4 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A58 003806B8 D3 43 00 44 */ stfs f26, 0x44(r3)
+/* 80384A5C 003806BC 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A60 003806C0 D3 23 00 48 */ stfs f25, 0x48(r3)
+/* 80384A64 003806C4 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A68 003806C8 93 E3 00 4C */ stw r31, 0x4c(r3)
+/* 80384A6C 003806CC 80 1A 00 20 */ lwz r0, 0x20(r26)
+/* 80384A70 003806D0 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A74 003806D4 90 03 00 50 */ stw r0, 0x50(r3)
+/* 80384A78 003806D8 C0 3A 00 24 */ lfs f1, 0x24(r26)
+/* 80384A7C 003806DC 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A80 003806E0 D0 23 00 54 */ stfs f1, 0x54(r3)
+/* 80384A84 003806E4 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A88 003806E8 D3 03 00 58 */ stfs f24, 0x58(r3)
+/* 80384A8C 003806EC 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A90 003806F0 D0 03 00 5C */ stfs f0, 0x5c(r3)
+/* 80384A94 003806F4 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384A98 003806F8 D0 63 00 60 */ stfs f3, 0x60(r3)
+/* 80384A9C 003806FC 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384AA0 00380700 D0 43 00 64 */ stfs f2, 0x64(r3)
+lbl_80384AA4:
+/* 80384AA4 00380704 7F 43 D3 78 */ mr r3, r26
+/* 80384AA8 00380708 7F 64 DB 78 */ mr r4, r27
+/* 80384AAC 0038070C 4B FE 84 C9 */ bl GetRemoteOutVolume__Q44nw4r3snd6detail11BasicPlayerCFi
+/* 80384AB0 00380710 80 1A 00 EC */ lwz r0, 0xec(r26)
+/* 80384AB4 00380714 3B 7B 00 01 */ addi r27, r27, 1
+/* 80384AB8 00380718 C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80384ABC 0038071C 2C 1B 00 04 */ cmpwi r27, 4
+/* 80384AC0 00380720 7C 60 F2 14 */ add r3, r0, r30
+/* 80384AC4 00380724 C0 5C 00 00 */ lfs f2, 0(r28)
+/* 80384AC8 00380728 D0 23 00 68 */ stfs f1, 0x68(r3)
+/* 80384ACC 0038072C 3B BD 00 04 */ addi r29, r29, 4
+/* 80384AD0 00380730 3B 9C 00 04 */ addi r28, r28, 4
+/* 80384AD4 00380734 80 1A 00 EC */ lwz r0, 0xec(r26)
+/* 80384AD8 00380738 7C 60 F2 14 */ add r3, r0, r30
+/* 80384ADC 0038073C D0 03 00 78 */ stfs f0, 0x78(r3)
+/* 80384AE0 00380740 80 1A 00 EC */ lwz r0, 0xec(r26)
+/* 80384AE4 00380744 7C 60 F2 14 */ add r3, r0, r30
+/* 80384AE8 00380748 3B DE 00 04 */ addi r30, r30, 4
+/* 80384AEC 0038074C D0 43 00 88 */ stfs f2, 0x88(r3)
+/* 80384AF0 00380750 41 80 FF B4 */ blt lbl_80384AA4
+/* 80384AF4 00380754 80 7A 00 EC */ lwz r3, 0xec(r26)
+/* 80384AF8 00380758 C0 1A 00 D0 */ lfs f0, 0xd0(r26)
+/* 80384AFC 0038075C D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 80384B00 00380760 C0 1A 00 D4 */ lfs f0, 0xd4(r26)
+/* 80384B04 00380764 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 80384B08 00380768 80 1A 00 D8 */ lwz r0, 0xd8(r26)
+/* 80384B0C 0038076C 90 03 00 20 */ stw r0, 0x20(r3)
+/* 80384B10 00380770 88 1A 00 DC */ lbz r0, 0xdc(r26)
+/* 80384B14 00380774 98 03 00 24 */ stb r0, 0x24(r3)
+/* 80384B18 00380778 88 1A 00 DD */ lbz r0, 0xdd(r26)
+/* 80384B1C 0038077C 98 03 00 25 */ stb r0, 0x25(r3)
+/* 80384B20 00380780 88 1A 00 DE */ lbz r0, 0xde(r26)
+/* 80384B24 00380784 98 03 00 26 */ stb r0, 0x26(r3)
+/* 80384B28 00380788 88 1A 00 DF */ lbz r0, 0xdf(r26)
+/* 80384B2C 0038078C 98 03 00 27 */ stb r0, 0x27(r3)
+lbl_80384B30:
+/* 80384B30 00380790 E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0
+/* 80384B34 00380794 CB E1 00 F0 */ lfd f31, 0xf0(r1)
+/* 80384B38 00380798 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0
+/* 80384B3C 0038079C CB C1 00 E0 */ lfd f30, 0xe0(r1)
+/* 80384B40 003807A0 E3 A1 00 D8 */ psq_l f29, 216(r1), 0, qr0
+/* 80384B44 003807A4 CB A1 00 D0 */ lfd f29, 0xd0(r1)
+/* 80384B48 003807A8 E3 81 00 C8 */ psq_l f28, 200(r1), 0, qr0
+/* 80384B4C 003807AC CB 81 00 C0 */ lfd f28, 0xc0(r1)
+/* 80384B50 003807B0 E3 61 00 B8 */ psq_l f27, 184(r1), 0, qr0
+/* 80384B54 003807B4 CB 61 00 B0 */ lfd f27, 0xb0(r1)
+/* 80384B58 003807B8 E3 41 00 A8 */ psq_l f26, 168(r1), 0, qr0
+/* 80384B5C 003807BC CB 41 00 A0 */ lfd f26, 0xa0(r1)
+/* 80384B60 003807C0 E3 21 00 98 */ psq_l f25, 152(r1), 0, qr0
+/* 80384B64 003807C4 CB 21 00 90 */ lfd f25, 0x90(r1)
+/* 80384B68 003807C8 E3 01 00 88 */ psq_l f24, 136(r1), 0, qr0
+/* 80384B6C 003807CC CB 01 00 80 */ lfd f24, 0x80(r1)
+/* 80384B70 003807D0 E2 E1 00 78 */ psq_l f23, 120(r1), 0, qr0
+/* 80384B74 003807D4 39 61 00 70 */ addi r11, r1, 0x70
+/* 80384B78 003807D8 CA E1 00 70 */ lfd f23, 0x70(r1)
+/* 80384B7C 003807DC 4B E4 25 F5 */ bl _restgpr_26
+/* 80384B80 003807E0 80 01 01 04 */ lwz r0, 0x104(r1)
+/* 80384B84 003807E4 7C 08 03 A6 */ mtlr r0
+/* 80384B88 003807E8 38 21 01 00 */ addi r1, r1, 0x100
+/* 80384B8C 003807EC 4E 80 00 20 */ blr
+
+.global ChannelCallbackFunc__Q44nw4r3snd6detail9WsdPlayerFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl
+ChannelCallbackFunc__Q44nw4r3snd6detail9WsdPlayerFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl:
+/* 80384B90 003807F0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80384B94 003807F4 7C 08 02 A6 */ mflr r0
+/* 80384B98 003807F8 2C 04 00 02 */ cmpwi r4, 2
+/* 80384B9C 003807FC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80384BA0 00380800 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80384BA4 00380804 7C BF 2B 78 */ mr r31, r5
+/* 80384BA8 00380808 40 82 00 08 */ bne lbl_80384BB0
+/* 80384BAC 0038080C 4B FE A6 95 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel
+lbl_80384BB0:
+/* 80384BB0 00380810 38 00 00 00 */ li r0, 0
+/* 80384BB4 00380814 90 1F 00 EC */ stw r0, 0xec(r31)
+/* 80384BB8 00380818 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80384BBC 0038081C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80384BC0 00380820 7C 08 03 A6 */ mtlr r0
+/* 80384BC4 00380824 38 21 00 10 */ addi r1, r1, 0x10
+/* 80384BC8 00380828 4E 80 00 20 */ blr
+
+.global OnUpdateFrameSoundThread__Q44nw4r3snd6detail9WsdPlayerFv
+OnUpdateFrameSoundThread__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80384BCC 0038082C 4B FF F8 00 */ b Update__Q44nw4r3snd6detail9WsdPlayerFv
+
+.global OnShutdownSoundThread__Q44nw4r3snd6detail9WsdPlayerFv
+OnShutdownSoundThread__Q44nw4r3snd6detail9WsdPlayerFv:
+/* 80384BD0 00380830 81 83 00 00 */ lwz r12, 0(r3)
+/* 80384BD4 00380834 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 80384BD8 00380838 7D 89 03 A6 */ mtctr r12
+/* 80384BDC 0038083C 4E 80 04 20 */ bctr
+
+.global InvalidateWaveData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv
+InvalidateWaveData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv:
+/* 80384BE0 00380840 4E 80 00 20 */ blr
+
+.global IsPause__Q44nw4r3snd6detail9WsdPlayerCFv
+IsPause__Q44nw4r3snd6detail9WsdPlayerCFv:
+/* 80384BE4 00380844 88 63 00 8E */ lbz r3, 0x8e(r3)
+/* 80384BE8 00380848 7C 03 00 D0 */ neg r0, r3
+/* 80384BEC 0038084C 7C 00 1B 78 */ or r0, r0, r3
+/* 80384BF0 00380850 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80384BF4 00380854 4E 80 00 20 */ blr
+
+.global IsStarted__Q44nw4r3snd6detail9WsdPlayerCFv
+IsStarted__Q44nw4r3snd6detail9WsdPlayerCFv:
+/* 80384BF8 00380858 88 63 00 8D */ lbz r3, 0x8d(r3)
+/* 80384BFC 0038085C 7C 03 00 D0 */ neg r0, r3
+/* 80384C00 00380860 7C 00 1B 78 */ or r0, r0, r3
+/* 80384C04 00380864 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80384C08 00380868 4E 80 00 20 */ blr
+
+.global IsActive__Q44nw4r3snd6detail9WsdPlayerCFv
+IsActive__Q44nw4r3snd6detail9WsdPlayerCFv:
+/* 80384C0C 0038086C 88 63 00 8C */ lbz r3, 0x8c(r3)
+/* 80384C10 00380870 7C 03 00 D0 */ neg r0, r3
+/* 80384C14 00380874 7C 00 1B 78 */ or r0, r0, r3
+/* 80384C18 00380878 54 03 0F FE */ srwi r3, r0, 0x1f
+/* 80384C1C 0038087C 4E 80 00 20 */ blr
+
+/* virtual thunks */
+/* 80384C20 00380880 38 63 FF 8C */ addi r3, r3, -116
+/* 80384C24 00380884 4B FF FF BC */ b InvalidateWaveData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv
+/* 80384C28 00380888 38 63 FF 8C */ addi r3, r3, -116
+/* 80384C2C 0038088C 4B FF F6 60 */ b InvalidateData__Q44nw4r3snd6detail9WsdPlayerFPCvPCv
+/* 80384C30 00380890 38 63 FF 8C */ addi r3, r3, -116
+/* 80384C34 00380894 4B FF EA 78 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv
+/* 80384C38 00380898 38 63 FF 80 */ addi r3, r3, -128
+/* 80384C3C 0038089C 4B FF FF 94 */ b OnShutdownSoundThread__Q44nw4r3snd6detail9WsdPlayerFv
+/* 80384C40 003808A0 38 63 FF 80 */ addi r3, r3, -128
+/* 80384C44 003808A4 4B FF FF 88 */ b OnUpdateFrameSoundThread__Q44nw4r3snd6detail9WsdPlayerFv
+/* 80384C48 003808A8 38 63 FF 80 */ addi r3, r3, -128
+/* 80384C4C 003808AC 4B FF EA 60 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv
diff --git a/asm/text_11.s b/asm/text_11.s index 08c3334..fefc2c3 100644 --- a/asm/text_11.s +++ b/asm/text_11.s @@ -2,1064 +2,6 @@ .section .text, "ax" # 0x80006980 - 0x803E1E60 -.global func_80383D24 -func_80383D24: -/* 80383D24 0037F984 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80383D28 0037F988 7C 08 02 A6 */ mflr r0 -/* 80383D2C 0037F98C 90 01 00 14 */ stw r0, 0x14(r1) -/* 80383D30 0037F990 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80383D34 0037F994 7C 7F 1B 78 */ mr r31, r3 -/* 80383D38 0037F998 4B FE 91 4D */ bl __ct__Q44nw4r3snd6detail11BasicPlayerFv -/* 80383D3C 0037F99C 3C A0 80 45 */ lis r5, lbl_8044D0C0@ha -/* 80383D40 0037F9A0 38 C0 00 00 */ li r6, 0 -/* 80383D44 0037F9A4 38 A5 D0 C0 */ addi r5, r5, lbl_8044D0C0@l -/* 80383D48 0037F9A8 90 DF 00 74 */ stw r6, 0x74(r31) -/* 80383D4C 0037F9AC 38 85 00 24 */ addi r4, r5, 0x24 -/* 80383D50 0037F9B0 38 7F 00 D0 */ addi r3, r31, 0xd0 -/* 80383D54 0037F9B4 38 05 00 38 */ addi r0, r5, 0x38 -/* 80383D58 0037F9B8 90 DF 00 78 */ stw r6, 0x78(r31) -/* 80383D5C 0037F9BC 90 DF 00 80 */ stw r6, 0x80(r31) -/* 80383D60 0037F9C0 90 DF 00 84 */ stw r6, 0x84(r31) -/* 80383D64 0037F9C4 90 BF 00 00 */ stw r5, 0(r31) -/* 80383D68 0037F9C8 90 9F 00 7C */ stw r4, 0x7c(r31) -/* 80383D6C 0037F9CC 90 1F 00 88 */ stw r0, 0x88(r31) -/* 80383D70 0037F9D0 98 DF 00 8C */ stb r6, 0x8c(r31) -/* 80383D74 0037F9D4 4B FE DE 89 */ bl Init__Q44nw4r3snd6detail8LfoParamFv -/* 80383D78 0037F9D8 38 7F 00 A8 */ addi r3, r31, 0xa8 -/* 80383D7C 0037F9DC 4B EE BB 95 */ bl func_8026F910 -/* 80383D80 0037F9E0 7F E3 FB 78 */ mr r3, r31 -/* 80383D84 0037F9E4 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80383D88 0037F9E8 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80383D8C 0037F9EC 7C 08 03 A6 */ mtlr r0 -/* 80383D90 0037F9F0 38 21 00 10 */ addi r1, r1, 0x10 -/* 80383D94 0037F9F4 4E 80 00 20 */ blr - -.global func_80383D98 -func_80383D98: -/* 80383D98 0037F9F8 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383D9C 0037F9FC 7C 08 02 A6 */ mflr r0 -/* 80383DA0 0037FA00 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383DA4 0037FA04 39 61 00 20 */ addi r11, r1, 0x20 -/* 80383DA8 0037FA08 4B E4 33 81 */ bl _savegpr_27 -/* 80383DAC 0037FA0C 7C 7B 1B 78 */ mr r27, r3 -/* 80383DB0 0037FA10 7C 9C 23 78 */ mr r28, r4 -/* 80383DB4 0037FA14 7C BD 2B 78 */ mr r29, r5 -/* 80383DB8 0037FA18 7C DE 33 78 */ mr r30, r6 -/* 80383DBC 0037FA1C 4B FE 91 0D */ bl InitParam__Q44nw4r3snd6detail11BasicPlayerFv -/* 80383DC0 0037FA20 C0 02 A7 F8 */ lfs f0, lbl_80642DF8-_SDA2_BASE_(r2) -/* 80383DC4 0037FA24 3B E0 00 00 */ li r31, 0 -/* 80383DC8 0037FA28 38 A0 00 40 */ li r5, 0x40 -/* 80383DCC 0037FA2C 38 80 FF FF */ li r4, -1 -/* 80383DD0 0037FA30 38 00 00 7F */ li r0, 0x7f -/* 80383DD4 0037FA34 9B FB 00 8D */ stb r31, 0x8d(r27) -/* 80383DD8 0037FA38 38 7B 00 D0 */ addi r3, r27, 0xd0 -/* 80383DDC 0037FA3C 9B FB 00 8E */ stb r31, 0x8e(r27) -/* 80383DE0 0037FA40 9B FB 00 90 */ stb r31, 0x90(r27) -/* 80383DE4 0037FA44 D0 1B 00 94 */ stfs f0, 0x94(r27) -/* 80383DE8 0037FA48 93 9B 00 98 */ stw r28, 0x98(r27) -/* 80383DEC 0037FA4C 98 BB 00 9C */ stb r5, 0x9c(r27) -/* 80383DF0 0037FA50 93 BB 00 A0 */ stw r29, 0xa0(r27) -/* 80383DF4 0037FA54 93 DB 00 A4 */ stw r30, 0xa4(r27) -/* 80383DF8 0037FA58 93 FB 00 C0 */ stw r31, 0xc0(r27) -/* 80383DFC 0037FA5C 90 9B 00 C4 */ stw r4, 0xc4(r27) -/* 80383E00 0037FA60 D0 1B 00 E0 */ stfs f0, 0xe0(r27) -/* 80383E04 0037FA64 98 BB 00 E4 */ stb r5, 0xe4(r27) -/* 80383E08 0037FA68 9B FB 00 E5 */ stb r31, 0xe5(r27) -/* 80383E0C 0037FA6C 9B FB 00 E6 */ stb r31, 0xe6(r27) -/* 80383E10 0037FA70 9B FB 00 E7 */ stb r31, 0xe7(r27) -/* 80383E14 0037FA74 9B FB 00 E8 */ stb r31, 0xe8(r27) -/* 80383E18 0037FA78 98 1B 00 E9 */ stb r0, 0xe9(r27) -/* 80383E1C 0037FA7C 4B FE DD E1 */ bl Init__Q44nw4r3snd6detail8LfoParamFv -/* 80383E20 0037FA80 9B FB 00 8F */ stb r31, 0x8f(r27) -/* 80383E24 0037FA84 39 61 00 20 */ addi r11, r1, 0x20 -/* 80383E28 0037FA88 93 FB 00 EC */ stw r31, 0xec(r27) -/* 80383E2C 0037FA8C 4B E4 33 49 */ bl _restgpr_27 -/* 80383E30 0037FA90 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80383E34 0037FA94 7C 08 03 A6 */ mtlr r0 -/* 80383E38 0037FA98 38 21 00 20 */ addi r1, r1, 0x20 -/* 80383E3C 0037FA9C 4E 80 00 20 */ blr - -.global func_80383E40 -func_80383E40: -/* 80383E40 0037FAA0 94 21 FF C0 */ stwu r1, -0x40(r1) -/* 80383E44 0037FAA4 7C 08 02 A6 */ mflr r0 -/* 80383E48 0037FAA8 90 01 00 44 */ stw r0, 0x44(r1) -/* 80383E4C 0037FAAC 39 61 00 40 */ addi r11, r1, 0x40 -/* 80383E50 0037FAB0 4B E4 32 C1 */ bl _savegpr_21 -/* 80383E54 0037FAB4 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 80383E58 0037FAB8 7C 77 1B 78 */ mr r23, r3 -/* 80383E5C 0037FABC 7C 98 23 78 */ mr r24, r4 -/* 80383E60 0037FAC0 7C B9 2B 78 */ mr r25, r5 -/* 80383E64 0037FAC4 7C DA 33 78 */ mr r26, r6 -/* 80383E68 0037FAC8 7C FB 3B 78 */ mr r27, r7 -/* 80383E6C 0037FACC 7D 1C 43 78 */ mr r28, r8 -/* 80383E70 0037FAD0 7D 3D 4B 78 */ mr r29, r9 -/* 80383E74 0037FAD4 7D 5E 53 78 */ mr r30, r10 -/* 80383E78 0037FAD8 7F E3 FB 78 */ mr r3, r31 -/* 80383E7C 0037FADC 4B EE BA CD */ bl func_8026F948 -/* 80383E80 0037FAE0 88 17 00 8C */ lbz r0, 0x8c(r23) -/* 80383E84 0037FAE4 2C 00 00 00 */ cmpwi r0, 0 -/* 80383E88 0037FAE8 41 82 00 C8 */ beq lbl_80383F50 -/* 80383E8C 0037FAEC 7F F6 FB 78 */ mr r22, r31 -/* 80383E90 0037FAF0 7E C3 B3 78 */ mr r3, r22 -/* 80383E94 0037FAF4 4B EE BA B5 */ bl func_8026F948 -/* 80383E98 0037FAF8 88 17 00 8D */ lbz r0, 0x8d(r23) -/* 80383E9C 0037FAFC 2C 00 00 00 */ cmpwi r0, 0 -/* 80383EA0 0037FB00 41 82 00 28 */ beq lbl_80383EC8 -/* 80383EA4 0037FB04 2C 17 00 00 */ cmpwi r23, 0 -/* 80383EA8 0037FB08 7E F5 BB 78 */ mr r21, r23 -/* 80383EAC 0037FB0C 41 82 00 08 */ beq lbl_80383EB4 -/* 80383EB0 0037FB10 3A B7 00 80 */ addi r21, r23, 0x80 -lbl_80383EB4: -/* 80383EB4 0037FB14 4B FF 85 9D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 80383EB8 0037FB18 7E A4 AB 78 */ mr r4, r21 -/* 80383EBC 0037FB1C 4B FF 89 C5 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80383EC0 0037FB20 38 00 00 00 */ li r0, 0 -/* 80383EC4 0037FB24 98 17 00 8D */ stb r0, 0x8d(r23) -lbl_80383EC8: -/* 80383EC8 0037FB28 88 17 00 8C */ lbz r0, 0x8c(r23) -/* 80383ECC 0037FB2C 2C 00 00 00 */ cmpwi r0, 0 -/* 80383ED0 0037FB30 41 82 00 28 */ beq lbl_80383EF8 -/* 80383ED4 0037FB34 2C 17 00 00 */ cmpwi r23, 0 -/* 80383ED8 0037FB38 7E F5 BB 78 */ mr r21, r23 -/* 80383EDC 0037FB3C 41 82 00 08 */ beq lbl_80383EE4 -/* 80383EE0 0037FB40 3A B7 00 74 */ addi r21, r23, 0x74 -lbl_80383EE4: -/* 80383EE4 0037FB44 4B FE B3 75 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80383EE8 0037FB48 7E A4 AB 78 */ mr r4, r21 -/* 80383EEC 0037FB4C 4B FE B4 C1 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80383EF0 0037FB50 38 00 00 00 */ li r0, 0 -/* 80383EF4 0037FB54 98 17 00 8C */ stb r0, 0x8c(r23) -lbl_80383EF8: -/* 80383EF8 0037FB58 80 97 00 EC */ lwz r4, 0xec(r23) -/* 80383EFC 0037FB5C 38 60 00 00 */ li r3, 0 -/* 80383F00 0037FB60 2C 04 00 00 */ cmpwi r4, 0 -/* 80383F04 0037FB64 41 82 00 14 */ beq lbl_80383F18 -/* 80383F08 0037FB68 88 04 00 32 */ lbz r0, 0x32(r4) -/* 80383F0C 0037FB6C 2C 00 00 00 */ cmpwi r0, 0 -/* 80383F10 0037FB70 41 82 00 08 */ beq lbl_80383F18 -/* 80383F14 0037FB74 38 60 00 01 */ li r3, 1 -lbl_80383F18: -/* 80383F18 0037FB78 2C 03 00 00 */ cmpwi r3, 0 -/* 80383F1C 0037FB7C 41 82 00 14 */ beq lbl_80383F30 -/* 80383F20 0037FB80 7E E3 BB 78 */ mr r3, r23 -/* 80383F24 0037FB84 48 00 08 55 */ bl func_80384778 -/* 80383F28 0037FB88 80 77 00 EC */ lwz r3, 0xec(r23) -/* 80383F2C 0037FB8C 4B FE AD B5 */ bl Release__Q44nw4r3snd6detail7ChannelFv -lbl_80383F30: -/* 80383F30 0037FB90 80 77 00 EC */ lwz r3, 0xec(r23) -/* 80383F34 0037FB94 2C 03 00 00 */ cmpwi r3, 0 -/* 80383F38 0037FB98 41 82 00 08 */ beq lbl_80383F40 -/* 80383F3C 0037FB9C 4B FE B3 05 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_80383F40: -/* 80383F40 0037FBA0 38 00 00 00 */ li r0, 0 -/* 80383F44 0037FBA4 7E C3 B3 78 */ mr r3, r22 -/* 80383F48 0037FBA8 90 17 00 EC */ stw r0, 0xec(r23) -/* 80383F4C 0037FBAC 4B EE BA D9 */ bl func_8026FA24 -lbl_80383F50: -/* 80383F50 0037FBB0 7E E3 BB 78 */ mr r3, r23 -/* 80383F54 0037FBB4 7F 84 E3 78 */ mr r4, r28 -/* 80383F58 0037FBB8 7F A5 EB 78 */ mr r5, r29 -/* 80383F5C 0037FBBC 7F C6 F3 78 */ mr r6, r30 -/* 80383F60 0037FBC0 4B FF FE 39 */ bl func_80383D98 -/* 80383F64 0037FBC4 2C 17 00 00 */ cmpwi r23, 0 -/* 80383F68 0037FBC8 93 17 00 C0 */ stw r24, 0xc0(r23) -/* 80383F6C 0037FBCC 7E F5 BB 78 */ mr r21, r23 -/* 80383F70 0037FBD0 93 37 00 C4 */ stw r25, 0xc4(r23) -/* 80383F74 0037FBD4 93 57 00 C8 */ stw r26, 0xc8(r23) -/* 80383F78 0037FBD8 93 77 00 CC */ stw r27, 0xcc(r23) -/* 80383F7C 0037FBDC 41 82 00 08 */ beq lbl_80383F84 -/* 80383F80 0037FBE0 3A B7 00 74 */ addi r21, r23, 0x74 -lbl_80383F84: -/* 80383F84 0037FBE4 4B FE B2 D5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80383F88 0037FBE8 7E A4 AB 78 */ mr r4, r21 -/* 80383F8C 0037FBEC 4B FE B3 C9 */ bl __dt__Q34nw4r2ut47LinkList$0Q44nw4r3snd6detail15DisposeCallback$40$1Fv -/* 80383F90 0037FBF0 38 00 00 01 */ li r0, 1 -/* 80383F94 0037FBF4 7F E3 FB 78 */ mr r3, r31 -/* 80383F98 0037FBF8 98 17 00 8C */ stb r0, 0x8c(r23) -/* 80383F9C 0037FBFC 4B EE BA 89 */ bl func_8026FA24 -/* 80383FA0 0037FC00 39 61 00 40 */ addi r11, r1, 0x40 -/* 80383FA4 0037FC04 38 60 00 01 */ li r3, 1 -/* 80383FA8 0037FC08 4B E4 31 B5 */ bl _restgpr_21 -/* 80383FAC 0037FC0C 80 01 00 44 */ lwz r0, 0x44(r1) -/* 80383FB0 0037FC10 7C 08 03 A6 */ mtlr r0 -/* 80383FB4 0037FC14 38 21 00 40 */ addi r1, r1, 0x40 -/* 80383FB8 0037FC18 4E 80 00 20 */ blr -/* 80383FBC 0037FC1C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80383FC0 0037FC20 7C 08 02 A6 */ mflr r0 -/* 80383FC4 0037FC24 90 01 00 24 */ stw r0, 0x24(r1) -/* 80383FC8 0037FC28 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80383FCC 0037FC2C 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 80383FD0 0037FC30 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80383FD4 0037FC34 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80383FD8 0037FC38 7C 7D 1B 78 */ mr r29, r3 -/* 80383FDC 0037FC3C 7F E3 FB 78 */ mr r3, r31 -/* 80383FE0 0037FC40 4B EE B9 69 */ bl func_8026F948 -/* 80383FE4 0037FC44 2C 1D 00 00 */ cmpwi r29, 0 -/* 80383FE8 0037FC48 7F BE EB 78 */ mr r30, r29 -/* 80383FEC 0037FC4C 41 82 00 08 */ beq lbl_80383FF4 -/* 80383FF0 0037FC50 3B DD 00 80 */ addi r30, r29, 0x80 -lbl_80383FF4: -/* 80383FF4 0037FC54 4B FF 84 5D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 80383FF8 0037FC58 7F C4 F3 78 */ mr r4, r30 -/* 80383FFC 0037FC5C 4B FF 88 21 */ bl RegisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80384000 0037FC60 38 00 00 01 */ li r0, 1 -/* 80384004 0037FC64 7F E3 FB 78 */ mr r3, r31 -/* 80384008 0037FC68 98 1D 00 8D */ stb r0, 0x8d(r29) -/* 8038400C 0037FC6C 4B EE BA 19 */ bl func_8026FA24 -/* 80384010 0037FC70 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80384014 0037FC74 38 60 00 01 */ li r3, 1 -/* 80384018 0037FC78 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8038401C 0037FC7C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80384020 0037FC80 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80384024 0037FC84 7C 08 03 A6 */ mtlr r0 -/* 80384028 0037FC88 38 21 00 20 */ addi r1, r1, 0x20 -/* 8038402C 0037FC8C 4E 80 00 20 */ blr -/* 80384030 0037FC90 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80384034 0037FC94 7C 08 02 A6 */ mflr r0 -/* 80384038 0037FC98 90 01 00 24 */ stw r0, 0x24(r1) -/* 8038403C 0037FC9C 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80384040 0037FCA0 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 80384044 0037FCA4 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80384048 0037FCA8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8038404C 0037FCAC 7C 7D 1B 78 */ mr r29, r3 -/* 80384050 0037FCB0 7F E3 FB 78 */ mr r3, r31 -/* 80384054 0037FCB4 4B EE B8 F5 */ bl func_8026F948 -/* 80384058 0037FCB8 88 1D 00 8D */ lbz r0, 0x8d(r29) -/* 8038405C 0037FCBC 2C 00 00 00 */ cmpwi r0, 0 -/* 80384060 0037FCC0 41 82 00 28 */ beq lbl_80384088 -/* 80384064 0037FCC4 2C 1D 00 00 */ cmpwi r29, 0 -/* 80384068 0037FCC8 7F BE EB 78 */ mr r30, r29 -/* 8038406C 0037FCCC 41 82 00 08 */ beq lbl_80384074 -/* 80384070 0037FCD0 3B DD 00 80 */ addi r30, r29, 0x80 -lbl_80384074: -/* 80384074 0037FCD4 4B FF 83 DD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 80384078 0037FCD8 7F C4 F3 78 */ mr r4, r30 -/* 8038407C 0037FCDC 4B FF 88 05 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80384080 0037FCE0 38 00 00 00 */ li r0, 0 -/* 80384084 0037FCE4 98 1D 00 8D */ stb r0, 0x8d(r29) -lbl_80384088: -/* 80384088 0037FCE8 88 1D 00 8C */ lbz r0, 0x8c(r29) -/* 8038408C 0037FCEC 2C 00 00 00 */ cmpwi r0, 0 -/* 80384090 0037FCF0 41 82 00 28 */ beq lbl_803840B8 -/* 80384094 0037FCF4 2C 1D 00 00 */ cmpwi r29, 0 -/* 80384098 0037FCF8 7F BE EB 78 */ mr r30, r29 -/* 8038409C 0037FCFC 41 82 00 08 */ beq lbl_803840A4 -/* 803840A0 0037FD00 3B DD 00 74 */ addi r30, r29, 0x74 -lbl_803840A4: -/* 803840A4 0037FD04 4B FE B1 B5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 803840A8 0037FD08 7F C4 F3 78 */ mr r4, r30 -/* 803840AC 0037FD0C 4B FE B3 01 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 803840B0 0037FD10 38 00 00 00 */ li r0, 0 -/* 803840B4 0037FD14 98 1D 00 8C */ stb r0, 0x8c(r29) -lbl_803840B8: -/* 803840B8 0037FD18 80 9D 00 EC */ lwz r4, 0xec(r29) -/* 803840BC 0037FD1C 38 60 00 00 */ li r3, 0 -/* 803840C0 0037FD20 2C 04 00 00 */ cmpwi r4, 0 -/* 803840C4 0037FD24 41 82 00 14 */ beq lbl_803840D8 -/* 803840C8 0037FD28 88 04 00 32 */ lbz r0, 0x32(r4) -/* 803840CC 0037FD2C 2C 00 00 00 */ cmpwi r0, 0 -/* 803840D0 0037FD30 41 82 00 08 */ beq lbl_803840D8 -/* 803840D4 0037FD34 38 60 00 01 */ li r3, 1 -lbl_803840D8: -/* 803840D8 0037FD38 2C 03 00 00 */ cmpwi r3, 0 -/* 803840DC 0037FD3C 41 82 00 14 */ beq lbl_803840F0 -/* 803840E0 0037FD40 7F A3 EB 78 */ mr r3, r29 -/* 803840E4 0037FD44 48 00 06 95 */ bl func_80384778 -/* 803840E8 0037FD48 80 7D 00 EC */ lwz r3, 0xec(r29) -/* 803840EC 0037FD4C 4B FE AB F5 */ bl Release__Q44nw4r3snd6detail7ChannelFv -lbl_803840F0: -/* 803840F0 0037FD50 80 7D 00 EC */ lwz r3, 0xec(r29) -/* 803840F4 0037FD54 2C 03 00 00 */ cmpwi r3, 0 -/* 803840F8 0037FD58 41 82 00 08 */ beq lbl_80384100 -/* 803840FC 0037FD5C 4B FE B1 45 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_80384100: -/* 80384100 0037FD60 38 00 00 00 */ li r0, 0 -/* 80384104 0037FD64 7F E3 FB 78 */ mr r3, r31 -/* 80384108 0037FD68 90 1D 00 EC */ stw r0, 0xec(r29) -/* 8038410C 0037FD6C 4B EE B9 19 */ bl func_8026FA24 -/* 80384110 0037FD70 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80384114 0037FD74 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80384118 0037FD78 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8038411C 0037FD7C 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80384120 0037FD80 7C 08 03 A6 */ mtlr r0 -/* 80384124 0037FD84 38 21 00 20 */ addi r1, r1, 0x20 -/* 80384128 0037FD88 4E 80 00 20 */ blr -/* 8038412C 0037FD8C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80384130 0037FD90 7C 08 02 A6 */ mflr r0 -/* 80384134 0037FD94 90 01 00 24 */ stw r0, 0x24(r1) -/* 80384138 0037FD98 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8038413C 0037FD9C 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 80384140 0037FDA0 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80384144 0037FDA4 7C 9E 23 78 */ mr r30, r4 -/* 80384148 0037FDA8 93 A1 00 14 */ stw r29, 0x14(r1) -/* 8038414C 0037FDAC 7C 7D 1B 78 */ mr r29, r3 -/* 80384150 0037FDB0 7F E3 FB 78 */ mr r3, r31 -/* 80384154 0037FDB4 4B EE B7 F5 */ bl func_8026F948 -/* 80384158 0037FDB8 57 C3 06 3E */ clrlwi r3, r30, 0x18 -/* 8038415C 0037FDBC 80 BD 00 EC */ lwz r5, 0xec(r29) -/* 80384160 0037FDC0 7C 03 00 D0 */ neg r0, r3 -/* 80384164 0037FDC4 38 80 00 00 */ li r4, 0 -/* 80384168 0037FDC8 7C 00 1B 78 */ or r0, r0, r3 -/* 8038416C 0037FDCC 2C 05 00 00 */ cmpwi r5, 0 -/* 80384170 0037FDD0 54 00 0F FE */ srwi r0, r0, 0x1f -/* 80384174 0037FDD4 98 1D 00 8E */ stb r0, 0x8e(r29) -/* 80384178 0037FDD8 41 82 00 14 */ beq lbl_8038418C -/* 8038417C 0037FDDC 88 05 00 32 */ lbz r0, 0x32(r5) -/* 80384180 0037FDE0 2C 00 00 00 */ cmpwi r0, 0 -/* 80384184 0037FDE4 41 82 00 08 */ beq lbl_8038418C -/* 80384188 0037FDE8 38 80 00 01 */ li r4, 1 -lbl_8038418C: -/* 8038418C 0037FDEC 2C 04 00 00 */ cmpwi r4, 0 -/* 80384190 0037FDF0 41 82 00 30 */ beq lbl_803841C0 -/* 80384194 0037FDF4 80 BD 00 EC */ lwz r5, 0xec(r29) -/* 80384198 0037FDF8 88 65 00 31 */ lbz r3, 0x31(r5) -/* 8038419C 0037FDFC 7C 03 00 D0 */ neg r0, r3 -/* 803841A0 0037FE00 7C 00 1B 78 */ or r0, r0, r3 -/* 803841A4 0037FE04 54 00 0F FE */ srwi r0, r0, 0x1f -/* 803841A8 0037FE08 7C 1E 00 40 */ cmplw r30, r0 -/* 803841AC 0037FE0C 41 82 00 14 */ beq lbl_803841C0 -/* 803841B0 0037FE10 9B C5 00 31 */ stb r30, 0x31(r5) -/* 803841B4 0037FE14 7F C4 F3 78 */ mr r4, r30 -/* 803841B8 0037FE18 80 65 00 DC */ lwz r3, 0xdc(r5) -/* 803841BC 0037FE1C 4B FF CE 85 */ bl Pause__Q44nw4r3snd6detail5VoiceFb -lbl_803841C0: -/* 803841C0 0037FE20 7F E3 FB 78 */ mr r3, r31 -/* 803841C4 0037FE24 4B EE B8 61 */ bl func_8026FA24 -/* 803841C8 0037FE28 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803841CC 0037FE2C 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803841D0 0037FE30 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803841D4 0037FE34 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803841D8 0037FE38 7C 08 03 A6 */ mtlr r0 -/* 803841DC 0037FE3C 38 21 00 20 */ addi r1, r1, 0x20 -/* 803841E0 0037FE40 4E 80 00 20 */ blr - -.global lbl_803841E4 -lbl_803841E4: -/* 803841E4 0037FE44 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803841E8 0037FE48 7C 08 02 A6 */ mflr r0 -/* 803841EC 0037FE4C 90 01 00 24 */ stw r0, 0x24(r1) -/* 803841F0 0037FE50 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803841F4 0037FE54 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 803841F8 0037FE58 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803841FC 0037FE5C 7C 9E 23 78 */ mr r30, r4 -/* 80384200 0037FE60 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80384204 0037FE64 7C 7D 1B 78 */ mr r29, r3 -/* 80384208 0037FE68 7F E3 FB 78 */ mr r3, r31 -/* 8038420C 0037FE6C 4B EE B7 3D */ bl func_8026F948 -/* 80384210 0037FE70 9B DD 00 9C */ stb r30, 0x9c(r29) -/* 80384214 0037FE74 7F E3 FB 78 */ mr r3, r31 -/* 80384218 0037FE78 4B EE B8 0D */ bl func_8026FA24 -/* 8038421C 0037FE7C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80384220 0037FE80 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80384224 0037FE84 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 80384228 0037FE88 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 8038422C 0037FE8C 7C 08 03 A6 */ mtlr r0 -/* 80384230 0037FE90 38 21 00 20 */ addi r1, r1, 0x20 -/* 80384234 0037FE94 4E 80 00 20 */ blr - -.global lbl_80384238 -lbl_80384238: -/* 80384238 0037FE98 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 8038423C 0037FE9C 7C 08 02 A6 */ mflr r0 -/* 80384240 0037FEA0 90 01 00 24 */ stw r0, 0x24(r1) -/* 80384244 0037FEA4 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 80384248 0037FEA8 3B E3 00 A8 */ addi r31, r3, 0xa8 -/* 8038424C 0037FEAC 93 C1 00 18 */ stw r30, 0x18(r1) -/* 80384250 0037FEB0 7C 9E 23 78 */ mr r30, r4 -/* 80384254 0037FEB4 93 A1 00 14 */ stw r29, 0x14(r1) -/* 80384258 0037FEB8 7C 7D 1B 78 */ mr r29, r3 -/* 8038425C 0037FEBC 7F E3 FB 78 */ mr r3, r31 -/* 80384260 0037FEC0 4B EE B6 E9 */ bl func_8026F948 -/* 80384264 0037FEC4 9B DD 00 90 */ stb r30, 0x90(r29) -/* 80384268 0037FEC8 7F E3 FB 78 */ mr r3, r31 -/* 8038426C 0037FECC 4B EE B7 B9 */ bl func_8026FA24 -/* 80384270 0037FED0 80 01 00 24 */ lwz r0, 0x24(r1) -/* 80384274 0037FED4 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 80384278 0037FED8 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 8038427C 0037FEDC 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 80384280 0037FEE0 7C 08 03 A6 */ mtlr r0 -/* 80384284 0037FEE4 38 21 00 20 */ addi r1, r1, 0x20 -/* 80384288 0037FEE8 4E 80 00 20 */ blr -lbl_8038428C: -/* 8038428C 0037FEEC 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 80384290 0037FEF0 7C 08 02 A6 */ mflr r0 -/* 80384294 0037FEF4 90 01 00 24 */ stw r0, 0x24(r1) -/* 80384298 0037FEF8 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 8038429C 0037FEFC 7C 9F 23 78 */ mr r31, r4 -/* 803842A0 0037FF00 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803842A4 0037FF04 3B C3 00 A8 */ addi r30, r3, 0xa8 -/* 803842A8 0037FF08 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803842AC 0037FF0C 7C BD 2B 78 */ mr r29, r5 -/* 803842B0 0037FF10 93 81 00 10 */ stw r28, 0x10(r1) -/* 803842B4 0037FF14 7C 7C 1B 78 */ mr r28, r3 -/* 803842B8 0037FF18 7F C3 F3 78 */ mr r3, r30 -/* 803842BC 0037FF1C 4B EE B6 8D */ bl func_8026F948 -/* 803842C0 0037FF20 88 1C 00 8C */ lbz r0, 0x8c(r28) -/* 803842C4 0037FF24 2C 00 00 00 */ cmpwi r0, 0 -/* 803842C8 0037FF28 41 82 00 DC */ beq lbl_803843A4 -/* 803842CC 0037FF2C 80 1C 00 C0 */ lwz r0, 0xc0(r28) -/* 803842D0 0037FF30 7C 1F 00 40 */ cmplw r31, r0 -/* 803842D4 0037FF34 41 81 00 D0 */ bgt lbl_803843A4 -/* 803842D8 0037FF38 7C 00 E8 40 */ cmplw r0, r29 -/* 803842DC 0037FF3C 41 81 00 C8 */ bgt lbl_803843A4 -/* 803842E0 0037FF40 7F DF F3 78 */ mr r31, r30 -/* 803842E4 0037FF44 7F E3 FB 78 */ mr r3, r31 -/* 803842E8 0037FF48 4B EE B6 61 */ bl func_8026F948 -/* 803842EC 0037FF4C 88 1C 00 8D */ lbz r0, 0x8d(r28) -/* 803842F0 0037FF50 2C 00 00 00 */ cmpwi r0, 0 -/* 803842F4 0037FF54 41 82 00 28 */ beq lbl_8038431C -/* 803842F8 0037FF58 2C 1C 00 00 */ cmpwi r28, 0 -/* 803842FC 0037FF5C 7F 9D E3 78 */ mr r29, r28 -/* 80384300 0037FF60 41 82 00 08 */ beq lbl_80384308 -/* 80384304 0037FF64 3B BC 00 80 */ addi r29, r28, 0x80 -lbl_80384308: -/* 80384308 0037FF68 4B FF 81 49 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 8038430C 0037FF6C 7F A4 EB 78 */ mr r4, r29 -/* 80384310 0037FF70 4B FF 85 71 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80384314 0037FF74 38 00 00 00 */ li r0, 0 -/* 80384318 0037FF78 98 1C 00 8D */ stb r0, 0x8d(r28) -lbl_8038431C: -/* 8038431C 0037FF7C 88 1C 00 8C */ lbz r0, 0x8c(r28) -/* 80384320 0037FF80 2C 00 00 00 */ cmpwi r0, 0 -/* 80384324 0037FF84 41 82 00 28 */ beq lbl_8038434C -/* 80384328 0037FF88 2C 1C 00 00 */ cmpwi r28, 0 -/* 8038432C 0037FF8C 7F 9D E3 78 */ mr r29, r28 -/* 80384330 0037FF90 41 82 00 08 */ beq lbl_80384338 -/* 80384334 0037FF94 3B BC 00 74 */ addi r29, r28, 0x74 -lbl_80384338: -/* 80384338 0037FF98 4B FE AF 21 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 8038433C 0037FF9C 7F A4 EB 78 */ mr r4, r29 -/* 80384340 0037FFA0 4B FE B0 6D */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80384344 0037FFA4 38 00 00 00 */ li r0, 0 -/* 80384348 0037FFA8 98 1C 00 8C */ stb r0, 0x8c(r28) -lbl_8038434C: -/* 8038434C 0037FFAC 80 9C 00 EC */ lwz r4, 0xec(r28) -/* 80384350 0037FFB0 38 60 00 00 */ li r3, 0 -/* 80384354 0037FFB4 2C 04 00 00 */ cmpwi r4, 0 -/* 80384358 0037FFB8 41 82 00 14 */ beq lbl_8038436C -/* 8038435C 0037FFBC 88 04 00 32 */ lbz r0, 0x32(r4) -/* 80384360 0037FFC0 2C 00 00 00 */ cmpwi r0, 0 -/* 80384364 0037FFC4 41 82 00 08 */ beq lbl_8038436C -/* 80384368 0037FFC8 38 60 00 01 */ li r3, 1 -lbl_8038436C: -/* 8038436C 0037FFCC 2C 03 00 00 */ cmpwi r3, 0 -/* 80384370 0037FFD0 41 82 00 14 */ beq lbl_80384384 -/* 80384374 0037FFD4 7F 83 E3 78 */ mr r3, r28 -/* 80384378 0037FFD8 48 00 04 01 */ bl func_80384778 -/* 8038437C 0037FFDC 80 7C 00 EC */ lwz r3, 0xec(r28) -/* 80384380 0037FFE0 4B FE A9 61 */ bl Release__Q44nw4r3snd6detail7ChannelFv -lbl_80384384: -/* 80384384 0037FFE4 80 7C 00 EC */ lwz r3, 0xec(r28) -/* 80384388 0037FFE8 2C 03 00 00 */ cmpwi r3, 0 -/* 8038438C 0037FFEC 41 82 00 08 */ beq lbl_80384394 -/* 80384390 0037FFF0 4B FE AE B1 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_80384394: -/* 80384394 0037FFF4 38 00 00 00 */ li r0, 0 -/* 80384398 0037FFF8 7F E3 FB 78 */ mr r3, r31 -/* 8038439C 0037FFFC 90 1C 00 EC */ stw r0, 0xec(r28) -/* 803843A0 00380000 4B EE B6 85 */ bl func_8026FA24 -lbl_803843A4: -/* 803843A4 00380004 7F C3 F3 78 */ mr r3, r30 -/* 803843A8 00380008 4B EE B6 7D */ bl func_8026FA24 -/* 803843AC 0038000C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803843B0 00380010 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803843B4 00380014 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803843B8 00380018 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803843BC 0038001C 83 81 00 10 */ lwz r28, 0x10(r1) -/* 803843C0 00380020 7C 08 03 A6 */ mtlr r0 -/* 803843C4 00380024 38 21 00 20 */ addi r1, r1, 0x20 -/* 803843C8 00380028 4E 80 00 20 */ blr -lbl_803843CC: -/* 803843CC 0038002C 94 21 FF E0 */ stwu r1, -0x20(r1) -/* 803843D0 00380030 7C 08 02 A6 */ mflr r0 -/* 803843D4 00380034 90 01 00 24 */ stw r0, 0x24(r1) -/* 803843D8 00380038 93 E1 00 1C */ stw r31, 0x1c(r1) -/* 803843DC 0038003C 7C 7F 1B 78 */ mr r31, r3 -/* 803843E0 00380040 93 C1 00 18 */ stw r30, 0x18(r1) -/* 803843E4 00380044 93 A1 00 14 */ stw r29, 0x14(r1) -/* 803843E8 00380048 88 03 00 8C */ lbz r0, 0x8c(r3) -/* 803843EC 0038004C 2C 00 00 00 */ cmpwi r0, 0 -/* 803843F0 00380050 41 82 01 EC */ beq lbl_803845DC -/* 803843F4 00380054 88 03 00 8D */ lbz r0, 0x8d(r3) -/* 803843F8 00380058 2C 00 00 00 */ cmpwi r0, 0 -/* 803843FC 0038005C 41 82 01 E0 */ beq lbl_803845DC -/* 80384400 00380060 88 03 00 8E */ lbz r0, 0x8e(r3) -/* 80384404 00380064 2C 00 00 00 */ cmpwi r0, 0 -/* 80384408 00380068 40 82 01 CC */ bne lbl_803845D4 -/* 8038440C 0038006C 88 83 00 8F */ lbz r4, 0x8f(r3) -/* 80384410 00380070 2C 04 00 00 */ cmpwi r4, 0 -/* 80384414 00380074 41 82 00 D8 */ beq lbl_803844EC -/* 80384418 00380078 80 03 00 EC */ lwz r0, 0xec(r3) -/* 8038441C 0038007C 2C 00 00 00 */ cmpwi r0, 0 -/* 80384420 00380080 40 82 00 CC */ bne lbl_803844EC -/* 80384424 00380084 3B C3 00 A8 */ addi r30, r3, 0xa8 -/* 80384428 00380088 7F C3 F3 78 */ mr r3, r30 -/* 8038442C 0038008C 4B EE B5 1D */ bl func_8026F948 -/* 80384430 00380090 88 1F 00 8D */ lbz r0, 0x8d(r31) -/* 80384434 00380094 2C 00 00 00 */ cmpwi r0, 0 -/* 80384438 00380098 41 82 00 28 */ beq lbl_80384460 -/* 8038443C 0038009C 2C 1F 00 00 */ cmpwi r31, 0 -/* 80384440 003800A0 7F FD FB 78 */ mr r29, r31 -/* 80384444 003800A4 41 82 00 08 */ beq lbl_8038444C -/* 80384448 003800A8 3B BF 00 80 */ addi r29, r31, 0x80 -lbl_8038444C: -/* 8038444C 003800AC 4B FF 80 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 80384450 003800B0 7F A4 EB 78 */ mr r4, r29 -/* 80384454 003800B4 4B FF 84 2D */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80384458 003800B8 38 00 00 00 */ li r0, 0 -/* 8038445C 003800BC 98 1F 00 8D */ stb r0, 0x8d(r31) -lbl_80384460: -/* 80384460 003800C0 88 1F 00 8C */ lbz r0, 0x8c(r31) -/* 80384464 003800C4 2C 00 00 00 */ cmpwi r0, 0 -/* 80384468 003800C8 41 82 00 28 */ beq lbl_80384490 -/* 8038446C 003800CC 2C 1F 00 00 */ cmpwi r31, 0 -/* 80384470 003800D0 7F FD FB 78 */ mr r29, r31 -/* 80384474 003800D4 41 82 00 08 */ beq lbl_8038447C -/* 80384478 003800D8 3B BF 00 74 */ addi r29, r31, 0x74 -lbl_8038447C: -/* 8038447C 003800DC 4B FE AD DD */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80384480 003800E0 7F A4 EB 78 */ mr r4, r29 -/* 80384484 003800E4 4B FE AF 29 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80384488 003800E8 38 00 00 00 */ li r0, 0 -/* 8038448C 003800EC 98 1F 00 8C */ stb r0, 0x8c(r31) -lbl_80384490: -/* 80384490 003800F0 80 9F 00 EC */ lwz r4, 0xec(r31) -/* 80384494 003800F4 38 60 00 00 */ li r3, 0 -/* 80384498 003800F8 2C 04 00 00 */ cmpwi r4, 0 -/* 8038449C 003800FC 41 82 00 14 */ beq lbl_803844B0 -/* 803844A0 00380100 88 04 00 32 */ lbz r0, 0x32(r4) -/* 803844A4 00380104 2C 00 00 00 */ cmpwi r0, 0 -/* 803844A8 00380108 41 82 00 08 */ beq lbl_803844B0 -/* 803844AC 0038010C 38 60 00 01 */ li r3, 1 -lbl_803844B0: -/* 803844B0 00380110 2C 03 00 00 */ cmpwi r3, 0 -/* 803844B4 00380114 41 82 00 14 */ beq lbl_803844C8 -/* 803844B8 00380118 7F E3 FB 78 */ mr r3, r31 -/* 803844BC 0038011C 48 00 02 BD */ bl func_80384778 -/* 803844C0 00380120 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 803844C4 00380124 4B FE A8 1D */ bl Release__Q44nw4r3snd6detail7ChannelFv -lbl_803844C8: -/* 803844C8 00380128 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 803844CC 0038012C 2C 03 00 00 */ cmpwi r3, 0 -/* 803844D0 00380130 41 82 00 08 */ beq lbl_803844D8 -/* 803844D4 00380134 4B FE AD 6D */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_803844D8: -/* 803844D8 00380138 38 00 00 00 */ li r0, 0 -/* 803844DC 0038013C 7F C3 F3 78 */ mr r3, r30 -/* 803844E0 00380140 90 1F 00 EC */ stw r0, 0xec(r31) -/* 803844E4 00380144 4B EE B5 41 */ bl func_8026FA24 -/* 803844E8 00380148 48 00 00 F4 */ b lbl_803845DC -lbl_803844EC: -/* 803844EC 0038014C 2C 04 00 00 */ cmpwi r4, 0 -/* 803844F0 00380150 40 82 00 E4 */ bne lbl_803845D4 -/* 803844F4 00380154 80 9F 00 A0 */ lwz r4, 0xa0(r31) -/* 803844F8 00380158 7F E3 FB 78 */ mr r3, r31 -/* 803844FC 0038015C 80 BF 00 A4 */ lwz r5, 0xa4(r31) -/* 80384500 00380160 48 00 00 F9 */ bl func_803845F8 -/* 80384504 00380164 2C 03 00 00 */ cmpwi r3, 0 -/* 80384508 00380168 40 82 00 CC */ bne lbl_803845D4 -/* 8038450C 0038016C 3B DF 00 A8 */ addi r30, r31, 0xa8 -/* 80384510 00380170 7F C3 F3 78 */ mr r3, r30 -/* 80384514 00380174 4B EE B4 35 */ bl func_8026F948 -/* 80384518 00380178 88 1F 00 8D */ lbz r0, 0x8d(r31) -/* 8038451C 0038017C 2C 00 00 00 */ cmpwi r0, 0 -/* 80384520 00380180 41 82 00 28 */ beq lbl_80384548 -/* 80384524 00380184 2C 1F 00 00 */ cmpwi r31, 0 -/* 80384528 00380188 7F FD FB 78 */ mr r29, r31 -/* 8038452C 0038018C 41 82 00 08 */ beq lbl_80384534 -/* 80384530 00380190 3B BF 00 80 */ addi r29, r31, 0x80 -lbl_80384534: -/* 80384534 00380194 4B FF 7F 1D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv -/* 80384538 00380198 7F A4 EB 78 */ mr r4, r29 -/* 8038453C 0038019C 4B FF 83 45 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback -/* 80384540 003801A0 38 00 00 00 */ li r0, 0 -/* 80384544 003801A4 98 1F 00 8D */ stb r0, 0x8d(r31) -lbl_80384548: -/* 80384548 003801A8 88 1F 00 8C */ lbz r0, 0x8c(r31) -/* 8038454C 003801AC 2C 00 00 00 */ cmpwi r0, 0 -/* 80384550 003801B0 41 82 00 28 */ beq lbl_80384578 -/* 80384554 003801B4 2C 1F 00 00 */ cmpwi r31, 0 -/* 80384558 003801B8 7F FD FB 78 */ mr r29, r31 -/* 8038455C 003801BC 41 82 00 08 */ beq lbl_80384564 -/* 80384560 003801C0 3B BF 00 74 */ addi r29, r31, 0x74 -lbl_80384564: -/* 80384564 003801C4 4B FE AC F5 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80384568 003801C8 7F A4 EB 78 */ mr r4, r29 -/* 8038456C 003801CC 4B FE AE 41 */ bl __ct__Q44nw4r3snd6detail22DisposeCallbackManagerFv -/* 80384570 003801D0 38 00 00 00 */ li r0, 0 -/* 80384574 003801D4 98 1F 00 8C */ stb r0, 0x8c(r31) -lbl_80384578: -/* 80384578 003801D8 80 9F 00 EC */ lwz r4, 0xec(r31) -/* 8038457C 003801DC 38 60 00 00 */ li r3, 0 -/* 80384580 003801E0 2C 04 00 00 */ cmpwi r4, 0 -/* 80384584 003801E4 41 82 00 14 */ beq lbl_80384598 -/* 80384588 003801E8 88 04 00 32 */ lbz r0, 0x32(r4) -/* 8038458C 003801EC 2C 00 00 00 */ cmpwi r0, 0 -/* 80384590 003801F0 41 82 00 08 */ beq lbl_80384598 -/* 80384594 003801F4 38 60 00 01 */ li r3, 1 -lbl_80384598: -/* 80384598 003801F8 2C 03 00 00 */ cmpwi r3, 0 -/* 8038459C 003801FC 41 82 00 14 */ beq lbl_803845B0 -/* 803845A0 00380200 7F E3 FB 78 */ mr r3, r31 -/* 803845A4 00380204 48 00 01 D5 */ bl func_80384778 -/* 803845A8 00380208 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 803845AC 0038020C 4B FE A7 35 */ bl Release__Q44nw4r3snd6detail7ChannelFv -lbl_803845B0: -/* 803845B0 00380210 80 7F 00 EC */ lwz r3, 0xec(r31) -/* 803845B4 00380214 2C 03 00 00 */ cmpwi r3, 0 -/* 803845B8 00380218 41 82 00 08 */ beq lbl_803845C0 -/* 803845BC 0038021C 4B FE AC 85 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_803845C0: -/* 803845C0 00380220 38 00 00 00 */ li r0, 0 -/* 803845C4 00380224 7F C3 F3 78 */ mr r3, r30 -/* 803845C8 00380228 90 1F 00 EC */ stw r0, 0xec(r31) -/* 803845CC 0038022C 4B EE B4 59 */ bl func_8026FA24 -/* 803845D0 00380230 48 00 00 0C */ b lbl_803845DC -lbl_803845D4: -/* 803845D4 00380234 7F E3 FB 78 */ mr r3, r31 -/* 803845D8 00380238 48 00 01 A1 */ bl func_80384778 -lbl_803845DC: -/* 803845DC 0038023C 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803845E0 00380240 83 E1 00 1C */ lwz r31, 0x1c(r1) -/* 803845E4 00380244 83 C1 00 18 */ lwz r30, 0x18(r1) -/* 803845E8 00380248 83 A1 00 14 */ lwz r29, 0x14(r1) -/* 803845EC 0038024C 7C 08 03 A6 */ mtlr r0 -/* 803845F0 00380250 38 21 00 20 */ addi r1, r1, 0x20 -/* 803845F4 00380254 4E 80 00 20 */ blr - -.global func_803845F8 -func_803845F8: -/* 803845F8 00380258 94 21 FF 40 */ stwu r1, -0xc0(r1) -/* 803845FC 0038025C 7C 08 02 A6 */ mflr r0 -/* 80384600 00380260 7C AA 2B 78 */ mr r10, r5 -/* 80384604 00380264 39 20 00 00 */ li r9, 0 -/* 80384608 00380268 90 01 00 C4 */ stw r0, 0xc4(r1) -/* 8038460C 0038026C 38 A1 00 08 */ addi r5, r1, 8 -/* 80384610 00380270 93 E1 00 BC */ stw r31, 0xbc(r1) -/* 80384614 00380274 7C 7F 1B 78 */ mr r31, r3 -/* 80384618 00380278 7C 83 23 78 */ mr r3, r4 -/* 8038461C 0038027C 93 C1 00 B8 */ stw r30, 0xb8(r1) -/* 80384620 00380280 93 A1 00 B4 */ stw r29, 0xb4(r1) -/* 80384624 00380284 81 84 00 00 */ lwz r12, 0(r4) -/* 80384628 00380288 38 9F 00 E0 */ addi r4, r31, 0xe0 -/* 8038462C 0038028C 88 DF 00 9C */ lbz r6, 0x9c(r31) -/* 80384630 00380290 81 8C 00 0C */ lwz r12, 0xc(r12) -/* 80384634 00380294 3B C6 00 40 */ addi r30, r6, 0x40 -/* 80384638 00380298 38 C1 00 18 */ addi r6, r1, 0x18 -/* 8038463C 0038029C 80 FF 00 C0 */ lwz r7, 0xc0(r31) -/* 80384640 003802A0 81 1F 00 C4 */ lwz r8, 0xc4(r31) -/* 80384644 003802A4 7D 89 03 A6 */ mtctr r12 -/* 80384648 003802A8 4E 80 04 21 */ bctrl -/* 8038464C 003802AC 2C 03 00 00 */ cmpwi r3, 0 -/* 80384650 003802B0 40 82 00 0C */ bne lbl_8038465C -/* 80384654 003802B4 38 60 00 00 */ li r3, 0 -/* 80384658 003802B8 48 00 01 04 */ b lbl_8038475C -lbl_8038465C: -/* 8038465C 003802BC 80 1F 00 C8 */ lwz r0, 0xc8(r31) -/* 80384660 003802C0 2C 00 00 00 */ cmpwi r0, 0 -/* 80384664 003802C4 40 82 00 0C */ bne lbl_80384670 -/* 80384668 003802C8 83 BF 00 CC */ lwz r29, 0xcc(r31) -/* 8038466C 003802CC 48 00 00 44 */ b lbl_803846B0 -lbl_80384670: -/* 80384670 003802D0 2C 00 00 01 */ cmpwi r0, 1 -/* 80384674 003802D4 40 82 00 3C */ bne lbl_803846B0 -/* 80384678 003802D8 81 1F 00 CC */ lwz r8, 0xcc(r31) -/* 8038467C 003802DC 38 80 00 00 */ li r4, 0 -/* 80384680 003802E0 80 E1 00 1C */ lwz r7, 0x1c(r1) -/* 80384684 003802E4 38 C0 03 E8 */ li r6, 0x3e8 -/* 80384688 003802E8 7D 00 FE 70 */ srawi r0, r8, 0x1f -/* 8038468C 003802EC 38 A0 00 00 */ li r5, 0 -/* 80384690 003802F0 7C 67 40 16 */ mulhwu r3, r7, r8 -/* 80384694 003802F4 7C 84 41 D6 */ mullw r4, r4, r8 -/* 80384698 003802F8 7C 63 22 14 */ add r3, r3, r4 -/* 8038469C 003802FC 7C 07 01 D6 */ mullw r0, r7, r0 -/* 803846A0 00380300 7C 87 41 D6 */ mullw r4, r7, r8 -/* 803846A4 00380304 7C 63 02 14 */ add r3, r3, r0 -/* 803846A8 00380308 4B E4 2B D1 */ bl __div2i -/* 803846AC 0038030C 7C 9D 23 78 */ mr r29, r4 -lbl_803846B0: -/* 803846B0 00380310 80 01 00 24 */ lwz r0, 0x24(r1) -/* 803846B4 00380314 7C 1D 00 40 */ cmplw r29, r0 -/* 803846B8 00380318 40 81 00 0C */ ble lbl_803846C4 -/* 803846BC 0038031C 38 60 00 00 */ li r3, 0 -/* 803846C0 00380320 48 00 00 9C */ b lbl_8038475C -lbl_803846C4: -/* 803846C4 00380324 88 01 00 1A */ lbz r0, 0x1a(r1) -/* 803846C8 00380328 38 60 00 02 */ li r3, 2 -/* 803846CC 0038032C 80 9F 00 98 */ lwz r4, 0x98(r31) -/* 803846D0 00380330 2C 00 00 02 */ cmpwi r0, 2 -/* 803846D4 00380334 41 81 00 08 */ bgt lbl_803846DC -/* 803846D8 00380338 7C 03 03 78 */ mr r3, r0 -lbl_803846DC: -/* 803846DC 0038033C 3C C0 80 38 */ lis r6, lbl_80384B90@ha -/* 803846E0 00380340 7F C5 F3 78 */ mr r5, r30 -/* 803846E4 00380344 7F E7 FB 78 */ mr r7, r31 -/* 803846E8 00380348 38 C6 4B 90 */ addi r6, r6, lbl_80384B90@l -/* 803846EC 0038034C 4B FE A9 19 */ bl AllocChannel__Q44nw4r3snd6detail7ChannelFiiiPFPQ44nw4r3snd6detail7ChannelQ54nw4r3snd6detail7Channel21ChannelCallbackStatusUl_vUl -/* 803846F0 00380350 2C 03 00 00 */ cmpwi r3, 0 -/* 803846F4 00380354 7C 7E 1B 78 */ mr r30, r3 -/* 803846F8 00380358 40 82 00 0C */ bne lbl_80384704 -/* 803846FC 0038035C 38 60 00 00 */ li r3, 0 -/* 80384700 00380360 48 00 00 5C */ b lbl_8038475C -lbl_80384704: -/* 80384704 00380364 88 81 00 0C */ lbz r4, 0xc(r1) -/* 80384708 00380368 4B FE B7 15 */ bl SetAttack__Q44nw4r3snd6detail12EnvGeneratorFi -/* 8038470C 0038036C 88 81 00 0D */ lbz r4, 0xd(r1) -/* 80384710 00380370 7F C3 F3 78 */ mr r3, r30 -/* 80384714 00380374 4B FE B7 21 */ bl SetDecay__Q44nw4r3snd6detail12EnvGeneratorFi -/* 80384718 00380378 88 81 00 0E */ lbz r4, 0xe(r1) -/* 8038471C 0038037C 7F C3 F3 78 */ mr r3, r30 -/* 80384720 00380380 4B FE B7 B5 */ bl SetSustain__Q44nw4r3snd6detail12EnvGeneratorFi -/* 80384724 00380384 88 81 00 0F */ lbz r4, 0xf(r1) -/* 80384728 00380388 7F C3 F3 78 */ mr r3, r30 -/* 8038472C 0038038C 4B FE B7 B1 */ bl SetRelease__Q44nw4r3snd6detail12EnvGeneratorFi -/* 80384730 00380390 88 1F 00 90 */ lbz r0, 0x90(r31) -/* 80384734 00380394 7F C3 F3 78 */ mr r3, r30 -/* 80384738 00380398 7F A6 EB 78 */ mr r6, r29 -/* 8038473C 0038039C 38 81 00 18 */ addi r4, r1, 0x18 -/* 80384740 003803A0 98 1E 00 35 */ stb r0, 0x35(r30) -/* 80384744 003803A4 38 A0 FF FF */ li r5, -1 -/* 80384748 003803A8 4B FE A5 19 */ bl Start__Q44nw4r3snd6detail7ChannelFRCQ44nw4r3snd6detail8WaveDataiUl -/* 8038474C 003803AC 38 00 00 01 */ li r0, 1 -/* 80384750 003803B0 93 DF 00 EC */ stw r30, 0xec(r31) -/* 80384754 003803B4 38 60 00 01 */ li r3, 1 -/* 80384758 003803B8 98 1F 00 8F */ stb r0, 0x8f(r31) -lbl_8038475C: -/* 8038475C 003803BC 80 01 00 C4 */ lwz r0, 0xc4(r1) -/* 80384760 003803C0 83 E1 00 BC */ lwz r31, 0xbc(r1) -/* 80384764 003803C4 83 C1 00 B8 */ lwz r30, 0xb8(r1) -/* 80384768 003803C8 83 A1 00 B4 */ lwz r29, 0xb4(r1) -/* 8038476C 003803CC 7C 08 03 A6 */ mtlr r0 -/* 80384770 003803D0 38 21 00 C0 */ addi r1, r1, 0xc0 -/* 80384774 003803D4 4E 80 00 20 */ blr - -.global func_80384778 -func_80384778: -/* 80384778 003803D8 94 21 FF 00 */ stwu r1, -0x100(r1) -/* 8038477C 003803DC 7C 08 02 A6 */ mflr r0 -/* 80384780 003803E0 90 01 01 04 */ stw r0, 0x104(r1) -/* 80384784 003803E4 DB E1 00 F0 */ stfd f31, 0xf0(r1) -/* 80384788 003803E8 F3 E1 00 F8 */ psq_st f31, 248(r1), 0, qr0 -/* 8038478C 003803EC DB C1 00 E0 */ stfd f30, 0xe0(r1) -/* 80384790 003803F0 F3 C1 00 E8 */ psq_st f30, 232(r1), 0, qr0 -/* 80384794 003803F4 DB A1 00 D0 */ stfd f29, 0xd0(r1) -/* 80384798 003803F8 F3 A1 00 D8 */ psq_st f29, 216(r1), 0, qr0 -/* 8038479C 003803FC DB 81 00 C0 */ stfd f28, 0xc0(r1) -/* 803847A0 00380400 F3 81 00 C8 */ psq_st f28, 200(r1), 0, qr0 -/* 803847A4 00380404 DB 61 00 B0 */ stfd f27, 0xb0(r1) -/* 803847A8 00380408 F3 61 00 B8 */ psq_st f27, 184(r1), 0, qr0 -/* 803847AC 0038040C DB 41 00 A0 */ stfd f26, 0xa0(r1) -/* 803847B0 00380410 F3 41 00 A8 */ psq_st f26, 168(r1), 0, qr0 -/* 803847B4 00380414 DB 21 00 90 */ stfd f25, 0x90(r1) -/* 803847B8 00380418 F3 21 00 98 */ psq_st f25, 152(r1), 0, qr0 -/* 803847BC 0038041C DB 01 00 80 */ stfd f24, 0x80(r1) -/* 803847C0 00380420 F3 01 00 88 */ psq_st f24, 136(r1), 0, qr0 -/* 803847C4 00380424 DA E1 00 70 */ stfd f23, 0x70(r1) -/* 803847C8 00380428 F2 E1 00 78 */ psq_st f23, 120(r1), 0, qr0 -/* 803847CC 0038042C 39 61 00 70 */ addi r11, r1, 0x70 -/* 803847D0 00380430 4B E4 29 55 */ bl _savegpr_26 -/* 803847D4 00380434 80 03 00 EC */ lwz r0, 0xec(r3) -/* 803847D8 00380438 3C 80 43 30 */ lis r4, 0x4330 -/* 803847DC 0038043C 90 81 00 40 */ stw r4, 0x40(r1) -/* 803847E0 00380440 7C 7A 1B 78 */ mr r26, r3 -/* 803847E4 00380444 2C 00 00 00 */ cmpwi r0, 0 -/* 803847E8 00380448 90 81 00 48 */ stw r4, 0x48(r1) -/* 803847EC 0038044C 41 82 03 44 */ beq lbl_80384B30 -/* 803847F0 00380450 C3 82 A7 F8 */ lfs f28, lbl_80642DF8-_SDA2_BASE_(r2) -/* 803847F4 00380454 C0 03 00 0C */ lfs f0, 0xc(r3) -/* 803847F8 00380458 88 83 00 E4 */ lbz r4, 0xe4(r3) -/* 803847FC 0038045C EF 9C 00 32 */ fmuls f28, f28, f0 -/* 80384800 00380460 C0 03 00 E0 */ lfs f0, 0xe0(r3) -/* 80384804 00380464 C3 A2 A7 F8 */ lfs f29, lbl_80642DF8-_SDA2_BASE_(r2) -/* 80384808 00380468 28 04 00 01 */ cmplwi r4, 1 -/* 8038480C 0038046C C0 23 00 08 */ lfs f1, 8(r3) -/* 80384810 00380470 EF 9C 00 32 */ fmuls f28, f28, f0 -/* 80384814 00380474 EF BD 00 72 */ fmuls f29, f29, f1 -/* 80384818 00380478 C3 62 A7 FC */ lfs f27, lbl_80642DFC-_SDA2_BASE_(r2) -/* 8038481C 0038047C 41 81 00 2C */ bgt lbl_80384848 -/* 80384820 00380480 38 04 FF C1 */ addi r0, r4, -63 -/* 80384824 00380484 C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2) -/* 80384828 00380488 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 8038482C 0038048C C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2) -/* 80384830 00380490 90 01 00 44 */ stw r0, 0x44(r1) -/* 80384834 00380494 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 80384838 00380498 EC 21 10 28 */ fsubs f1, f1, f2 -/* 8038483C 0038049C EC 01 00 24 */ fdivs f0, f1, f0 -/* 80384840 003804A0 EF 7B 00 2A */ fadds f27, f27, f0 -/* 80384844 003804A4 48 00 00 28 */ b lbl_8038486C -lbl_80384848: -/* 80384848 003804A8 38 04 FF C0 */ addi r0, r4, -64 -/* 8038484C 003804AC C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2) -/* 80384850 003804B0 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80384854 003804B4 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2) -/* 80384858 003804B8 90 01 00 4C */ stw r0, 0x4c(r1) -/* 8038485C 003804BC C8 21 00 48 */ lfd f1, 0x48(r1) -/* 80384860 003804C0 EC 21 10 28 */ fsubs f1, f1, f2 -/* 80384864 003804C4 EC 01 00 24 */ fdivs f0, f1, f0 -/* 80384868 003804C8 EF 7B 00 2A */ fadds f27, f27, f0 -lbl_8038486C: -/* 8038486C 003804CC C0 03 00 94 */ lfs f0, 0x94(r3) -/* 80384870 003804D0 88 83 00 E5 */ lbz r4, 0xe5(r3) -/* 80384874 003804D4 EF 7B 00 32 */ fmuls f27, f27, f0 -/* 80384878 003804D8 C0 03 00 10 */ lfs f0, 0x10(r3) -/* 8038487C 003804DC 28 04 00 01 */ cmplwi r4, 1 -/* 80384880 003804E0 C3 42 A7 FC */ lfs f26, lbl_80642DFC-_SDA2_BASE_(r2) -/* 80384884 003804E4 EF 7B 00 2A */ fadds f27, f27, f0 -/* 80384888 003804E8 41 81 00 2C */ bgt lbl_803848B4 -/* 8038488C 003804EC 38 04 00 01 */ addi r0, r4, 1 -/* 80384890 003804F0 C8 42 A8 10 */ lfd f2, lbl_80642E10-_SDA2_BASE_(r2) -/* 80384894 003804F4 6C 00 80 00 */ xoris r0, r0, 0x8000 -/* 80384898 003804F8 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2) -/* 8038489C 003804FC 90 01 00 44 */ stw r0, 0x44(r1) -/* 803848A0 00380500 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 803848A4 00380504 EC 21 10 28 */ fsubs f1, f1, f2 -/* 803848A8 00380508 EC 01 00 24 */ fdivs f0, f1, f0 -/* 803848AC 0038050C EF 5A 00 2A */ fadds f26, f26, f0 -/* 803848B0 00380510 48 00 00 20 */ b lbl_803848D0 -lbl_803848B4: -/* 803848B4 00380514 90 81 00 4C */ stw r4, 0x4c(r1) -/* 803848B8 00380518 C8 42 A8 18 */ lfd f2, lbl_80642E18-_SDA2_BASE_(r2) -/* 803848BC 0038051C C8 21 00 48 */ lfd f1, 0x48(r1) -/* 803848C0 00380520 C0 02 A8 00 */ lfs f0, lbl_80642E00-_SDA2_BASE_(r2) -/* 803848C4 00380524 EC 21 10 28 */ fsubs f1, f1, f2 -/* 803848C8 00380528 EC 01 00 24 */ fdivs f0, f1, f0 -/* 803848CC 0038052C EF 5A 00 2A */ fadds f26, f26, f0 -lbl_803848D0: -/* 803848D0 00380530 88 03 00 E9 */ lbz r0, 0xe9(r3) -/* 803848D4 00380534 3B 61 00 30 */ addi r27, r1, 0x30 -/* 803848D8 00380538 90 81 00 44 */ stw r4, 0x44(r1) -/* 803848DC 0038053C 3B 81 00 08 */ addi r28, r1, 8 -/* 803848E0 00380540 C3 02 A7 FC */ lfs f24, lbl_80642DFC-_SDA2_BASE_(r2) -/* 803848E4 00380544 3B A0 00 00 */ li r29, 0 -/* 803848E8 00380548 90 01 00 4C */ stw r0, 0x4c(r1) -/* 803848EC 0038054C CB C2 A8 18 */ lfd f30, lbl_80642E18-_SDA2_BASE_(r2) -/* 803848F0 00380550 FF 20 C0 90 */ fmr f25, f24 -/* 803848F4 00380554 C8 01 00 48 */ lfd f0, 0x48(r1) -/* 803848F8 00380558 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 803848FC 0038055C EC 00 F0 28 */ fsubs f0, f0, f30 -/* 80384900 00380560 C3 E2 A8 08 */ lfs f31, lbl_80642E08-_SDA2_BASE_(r2) -/* 80384904 00380564 EC 61 F0 28 */ fsubs f3, f1, f30 -/* 80384908 00380568 C0 42 A8 04 */ lfs f2, lbl_80642E04-_SDA2_BASE_(r2) -/* 8038490C 0038056C 88 A3 00 E6 */ lbz r5, 0xe6(r3) -/* 80384910 00380570 EC 20 F8 24 */ fdivs f1, f0, f31 -/* 80384914 00380574 C0 02 A7 F8 */ lfs f0, lbl_80642DF8-_SDA2_BASE_(r2) -/* 80384918 00380578 88 83 00 E7 */ lbz r4, 0xe7(r3) -/* 8038491C 0038057C 88 03 00 E8 */ lbz r0, 0xe8(r3) -/* 80384920 00380580 C0 83 00 14 */ lfs f4, 0x14(r3) -/* 80384924 00380584 98 A1 00 08 */ stb r5, 8(r1) -/* 80384928 00380588 EC 43 00 B2 */ fmuls f2, f3, f2 -/* 8038492C 0038058C C0 63 00 18 */ lfs f3, 0x18(r3) -/* 80384930 00380590 EC 01 00 28 */ fsubs f0, f1, f0 -/* 80384934 00380594 C0 23 00 28 */ lfs f1, 0x28(r3) -/* 80384938 00380598 EF 39 18 2A */ fadds f25, f25, f3 -/* 8038493C 0038059C 98 81 00 09 */ stb r4, 9(r1) -/* 80384940 003805A0 EF 5A 10 2A */ fadds f26, f26, f2 -/* 80384944 003805A4 8B E3 00 68 */ lbz r31, 0x68(r3) -/* 80384948 003805A8 EF 18 00 2A */ fadds f24, f24, f0 -/* 8038494C 003805AC 98 01 00 0A */ stb r0, 0xa(r1) -/* 80384950 003805B0 C2 E2 A7 FC */ lfs f23, lbl_80642DFC-_SDA2_BASE_(r2) -/* 80384954 003805B4 EF 5A 20 2A */ fadds f26, f26, f4 -/* 80384958 003805B8 EF 18 08 2A */ fadds f24, f24, f1 -lbl_8038495C: -/* 8038495C 003805BC 88 1C 00 00 */ lbz r0, 0(r28) -/* 80384960 003805C0 7F 43 D3 78 */ mr r3, r26 -/* 80384964 003805C4 D2 FB 00 00 */ stfs f23, 0(r27) -/* 80384968 003805C8 7F A4 EB 78 */ mr r4, r29 -/* 8038496C 003805CC 90 01 00 44 */ stw r0, 0x44(r1) -/* 80384970 003805D0 C0 1B 00 00 */ lfs f0, 0(r27) -/* 80384974 003805D4 C8 21 00 40 */ lfd f1, 0x40(r1) -/* 80384978 003805D8 EC 21 F0 28 */ fsubs f1, f1, f30 -/* 8038497C 003805DC EC 21 F8 24 */ fdivs f1, f1, f31 -/* 80384980 003805E0 EC 00 08 2A */ fadds f0, f0, f1 -/* 80384984 003805E4 D0 1B 00 00 */ stfs f0, 0(r27) -/* 80384988 003805E8 4B FE 85 CD */ bl GetFxSend__Q44nw4r3snd6detail11BasicPlayerCFQ34nw4r3snd6AuxBus -/* 8038498C 003805EC C0 1B 00 00 */ lfs f0, 0(r27) -/* 80384990 003805F0 3B BD 00 01 */ addi r29, r29, 1 -/* 80384994 003805F4 2C 1D 00 03 */ cmpwi r29, 3 -/* 80384998 003805F8 3B 9C 00 01 */ addi r28, r28, 1 -/* 8038499C 003805FC EC 00 08 2A */ fadds f0, f0, f1 -/* 803849A0 00380600 D0 1B 00 00 */ stfs f0, 0(r27) -/* 803849A4 00380604 3B 7B 00 04 */ addi r27, r27, 4 -/* 803849A8 00380608 41 80 FF B4 */ blt lbl_8038495C -/* 803849AC 0038060C C3 C2 A7 FC */ lfs f30, lbl_80642DFC-_SDA2_BASE_(r2) -/* 803849B0 00380610 3B 61 00 20 */ addi r27, r1, 0x20 -/* 803849B4 00380614 3B 81 00 10 */ addi r28, r1, 0x10 -/* 803849B8 00380618 3B A0 00 00 */ li r29, 0 -lbl_803849BC: -/* 803849BC 0038061C D3 DB 00 00 */ stfs f30, 0(r27) -/* 803849C0 00380620 7F 43 D3 78 */ mr r3, r26 -/* 803849C4 00380624 7F A4 EB 78 */ mr r4, r29 -/* 803849C8 00380628 4B FE 85 BD */ bl GetRemoteSend__Q44nw4r3snd6detail11BasicPlayerCFi -/* 803849CC 0038062C C0 1B 00 00 */ lfs f0, 0(r27) -/* 803849D0 00380630 7F 43 D3 78 */ mr r3, r26 -/* 803849D4 00380634 D3 DC 00 00 */ stfs f30, 0(r28) -/* 803849D8 00380638 7F A4 EB 78 */ mr r4, r29 -/* 803849DC 0038063C EC 00 08 2A */ fadds f0, f0, f1 -/* 803849E0 00380640 D0 1B 00 00 */ stfs f0, 0(r27) -/* 803849E4 00380644 4B FE 85 B1 */ bl GetRemoteFxSend__Q44nw4r3snd6detail11BasicPlayerCFi -/* 803849E8 00380648 C0 1C 00 00 */ lfs f0, 0(r28) -/* 803849EC 0038064C 3B BD 00 01 */ addi r29, r29, 1 -/* 803849F0 00380650 2C 1D 00 04 */ cmpwi r29, 4 -/* 803849F4 00380654 3B 7B 00 04 */ addi r27, r27, 4 -/* 803849F8 00380658 EC 00 08 2A */ fadds f0, f0, f1 -/* 803849FC 0038065C D0 1C 00 00 */ stfs f0, 0(r28) -/* 80384A00 00380660 3B 9C 00 04 */ addi r28, r28, 4 -/* 80384A04 00380664 41 80 FF B8 */ blt lbl_803849BC -/* 80384A08 00380668 80 1A 00 6C */ lwz r0, 0x6c(r26) -/* 80384A0C 0038066C 3B A1 00 20 */ addi r29, r1, 0x20 -/* 80384A10 00380670 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A14 00380674 3B 81 00 10 */ addi r28, r1, 0x10 -/* 80384A18 00380678 C0 01 00 30 */ lfs f0, 0x30(r1) -/* 80384A1C 0038067C 3B 60 00 00 */ li r27, 0 -/* 80384A20 00380680 90 03 00 CC */ stw r0, 0xcc(r3) -/* 80384A24 00380684 3B C0 00 00 */ li r30, 0 -/* 80384A28 00380688 C0 61 00 34 */ lfs f3, 0x34(r1) -/* 80384A2C 0038068C 80 1A 00 70 */ lwz r0, 0x70(r26) -/* 80384A30 00380690 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A34 00380694 C0 41 00 38 */ lfs f2, 0x38(r1) -/* 80384A38 00380698 90 03 00 D0 */ stw r0, 0xd0(r3) -/* 80384A3C 0038069C 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A40 003806A0 D3 A3 00 38 */ stfs f29, 0x38(r3) -/* 80384A44 003806A4 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A48 003806A8 D3 83 00 3C */ stfs f28, 0x3c(r3) -/* 80384A4C 003806AC 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A50 003806B0 D3 63 00 40 */ stfs f27, 0x40(r3) -/* 80384A54 003806B4 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A58 003806B8 D3 43 00 44 */ stfs f26, 0x44(r3) -/* 80384A5C 003806BC 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A60 003806C0 D3 23 00 48 */ stfs f25, 0x48(r3) -/* 80384A64 003806C4 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A68 003806C8 93 E3 00 4C */ stw r31, 0x4c(r3) -/* 80384A6C 003806CC 80 1A 00 20 */ lwz r0, 0x20(r26) -/* 80384A70 003806D0 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A74 003806D4 90 03 00 50 */ stw r0, 0x50(r3) -/* 80384A78 003806D8 C0 3A 00 24 */ lfs f1, 0x24(r26) -/* 80384A7C 003806DC 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A80 003806E0 D0 23 00 54 */ stfs f1, 0x54(r3) -/* 80384A84 003806E4 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A88 003806E8 D3 03 00 58 */ stfs f24, 0x58(r3) -/* 80384A8C 003806EC 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A90 003806F0 D0 03 00 5C */ stfs f0, 0x5c(r3) -/* 80384A94 003806F4 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384A98 003806F8 D0 63 00 60 */ stfs f3, 0x60(r3) -/* 80384A9C 003806FC 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384AA0 00380700 D0 43 00 64 */ stfs f2, 0x64(r3) -lbl_80384AA4: -/* 80384AA4 00380704 7F 43 D3 78 */ mr r3, r26 -/* 80384AA8 00380708 7F 64 DB 78 */ mr r4, r27 -/* 80384AAC 0038070C 4B FE 84 C9 */ bl GetRemoteOutVolume__Q44nw4r3snd6detail11BasicPlayerCFi -/* 80384AB0 00380710 80 1A 00 EC */ lwz r0, 0xec(r26) -/* 80384AB4 00380714 3B 7B 00 01 */ addi r27, r27, 1 -/* 80384AB8 00380718 C0 1D 00 00 */ lfs f0, 0(r29) -/* 80384ABC 0038071C 2C 1B 00 04 */ cmpwi r27, 4 -/* 80384AC0 00380720 7C 60 F2 14 */ add r3, r0, r30 -/* 80384AC4 00380724 C0 5C 00 00 */ lfs f2, 0(r28) -/* 80384AC8 00380728 D0 23 00 68 */ stfs f1, 0x68(r3) -/* 80384ACC 0038072C 3B BD 00 04 */ addi r29, r29, 4 -/* 80384AD0 00380730 3B 9C 00 04 */ addi r28, r28, 4 -/* 80384AD4 00380734 80 1A 00 EC */ lwz r0, 0xec(r26) -/* 80384AD8 00380738 7C 60 F2 14 */ add r3, r0, r30 -/* 80384ADC 0038073C D0 03 00 78 */ stfs f0, 0x78(r3) -/* 80384AE0 00380740 80 1A 00 EC */ lwz r0, 0xec(r26) -/* 80384AE4 00380744 7C 60 F2 14 */ add r3, r0, r30 -/* 80384AE8 00380748 3B DE 00 04 */ addi r30, r30, 4 -/* 80384AEC 0038074C D0 43 00 88 */ stfs f2, 0x88(r3) -/* 80384AF0 00380750 41 80 FF B4 */ blt lbl_80384AA4 -/* 80384AF4 00380754 80 7A 00 EC */ lwz r3, 0xec(r26) -/* 80384AF8 00380758 C0 1A 00 D0 */ lfs f0, 0xd0(r26) -/* 80384AFC 0038075C D0 03 00 18 */ stfs f0, 0x18(r3) -/* 80384B00 00380760 C0 1A 00 D4 */ lfs f0, 0xd4(r26) -/* 80384B04 00380764 D0 03 00 1C */ stfs f0, 0x1c(r3) -/* 80384B08 00380768 80 1A 00 D8 */ lwz r0, 0xd8(r26) -/* 80384B0C 0038076C 90 03 00 20 */ stw r0, 0x20(r3) -/* 80384B10 00380770 88 1A 00 DC */ lbz r0, 0xdc(r26) -/* 80384B14 00380774 98 03 00 24 */ stb r0, 0x24(r3) -/* 80384B18 00380778 88 1A 00 DD */ lbz r0, 0xdd(r26) -/* 80384B1C 0038077C 98 03 00 25 */ stb r0, 0x25(r3) -/* 80384B20 00380780 88 1A 00 DE */ lbz r0, 0xde(r26) -/* 80384B24 00380784 98 03 00 26 */ stb r0, 0x26(r3) -/* 80384B28 00380788 88 1A 00 DF */ lbz r0, 0xdf(r26) -/* 80384B2C 0038078C 98 03 00 27 */ stb r0, 0x27(r3) -lbl_80384B30: -/* 80384B30 00380790 E3 E1 00 F8 */ psq_l f31, 248(r1), 0, qr0 -/* 80384B34 00380794 CB E1 00 F0 */ lfd f31, 0xf0(r1) -/* 80384B38 00380798 E3 C1 00 E8 */ psq_l f30, 232(r1), 0, qr0 -/* 80384B3C 0038079C CB C1 00 E0 */ lfd f30, 0xe0(r1) -/* 80384B40 003807A0 E3 A1 00 D8 */ psq_l f29, 216(r1), 0, qr0 -/* 80384B44 003807A4 CB A1 00 D0 */ lfd f29, 0xd0(r1) -/* 80384B48 003807A8 E3 81 00 C8 */ psq_l f28, 200(r1), 0, qr0 -/* 80384B4C 003807AC CB 81 00 C0 */ lfd f28, 0xc0(r1) -/* 80384B50 003807B0 E3 61 00 B8 */ psq_l f27, 184(r1), 0, qr0 -/* 80384B54 003807B4 CB 61 00 B0 */ lfd f27, 0xb0(r1) -/* 80384B58 003807B8 E3 41 00 A8 */ psq_l f26, 168(r1), 0, qr0 -/* 80384B5C 003807BC CB 41 00 A0 */ lfd f26, 0xa0(r1) -/* 80384B60 003807C0 E3 21 00 98 */ psq_l f25, 152(r1), 0, qr0 -/* 80384B64 003807C4 CB 21 00 90 */ lfd f25, 0x90(r1) -/* 80384B68 003807C8 E3 01 00 88 */ psq_l f24, 136(r1), 0, qr0 -/* 80384B6C 003807CC CB 01 00 80 */ lfd f24, 0x80(r1) -/* 80384B70 003807D0 E2 E1 00 78 */ psq_l f23, 120(r1), 0, qr0 -/* 80384B74 003807D4 39 61 00 70 */ addi r11, r1, 0x70 -/* 80384B78 003807D8 CA E1 00 70 */ lfd f23, 0x70(r1) -/* 80384B7C 003807DC 4B E4 25 F5 */ bl _restgpr_26 -/* 80384B80 003807E0 80 01 01 04 */ lwz r0, 0x104(r1) -/* 80384B84 003807E4 7C 08 03 A6 */ mtlr r0 -/* 80384B88 003807E8 38 21 01 00 */ addi r1, r1, 0x100 -/* 80384B8C 003807EC 4E 80 00 20 */ blr -lbl_80384B90: -/* 80384B90 003807F0 94 21 FF F0 */ stwu r1, -0x10(r1) -/* 80384B94 003807F4 7C 08 02 A6 */ mflr r0 -/* 80384B98 003807F8 2C 04 00 02 */ cmpwi r4, 2 -/* 80384B9C 003807FC 90 01 00 14 */ stw r0, 0x14(r1) -/* 80384BA0 00380800 93 E1 00 0C */ stw r31, 0xc(r1) -/* 80384BA4 00380804 7C BF 2B 78 */ mr r31, r5 -/* 80384BA8 00380808 40 82 00 08 */ bne lbl_80384BB0 -/* 80384BAC 0038080C 4B FE A6 95 */ bl FreeChannel__Q44nw4r3snd6detail7ChannelFPQ44nw4r3snd6detail7Channel -lbl_80384BB0: -/* 80384BB0 00380810 38 00 00 00 */ li r0, 0 -/* 80384BB4 00380814 90 1F 00 EC */ stw r0, 0xec(r31) -/* 80384BB8 00380818 83 E1 00 0C */ lwz r31, 0xc(r1) -/* 80384BBC 0038081C 80 01 00 14 */ lwz r0, 0x14(r1) -/* 80384BC0 00380820 7C 08 03 A6 */ mtlr r0 -/* 80384BC4 00380824 38 21 00 10 */ addi r1, r1, 0x10 -/* 80384BC8 00380828 4E 80 00 20 */ blr -lbl_80384BCC: -/* 80384BCC 0038082C 4B FF F8 00 */ b lbl_803843CC -lbl_80384BD0: -/* 80384BD0 00380830 81 83 00 00 */ lwz r12, 0(r3) -/* 80384BD4 00380834 81 8C 00 10 */ lwz r12, 0x10(r12) -/* 80384BD8 00380838 7D 89 03 A6 */ mtctr r12 -/* 80384BDC 0038083C 4E 80 04 20 */ bctr -lbl_80384BE0: -/* 80384BE0 00380840 4E 80 00 20 */ blr -/* 80384BE4 00380844 88 63 00 8E */ lbz r3, 0x8e(r3) -/* 80384BE8 00380848 7C 03 00 D0 */ neg r0, r3 -/* 80384BEC 0038084C 7C 00 1B 78 */ or r0, r0, r3 -/* 80384BF0 00380850 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80384BF4 00380854 4E 80 00 20 */ blr -/* 80384BF8 00380858 88 63 00 8D */ lbz r3, 0x8d(r3) -/* 80384BFC 0038085C 7C 03 00 D0 */ neg r0, r3 -/* 80384C00 00380860 7C 00 1B 78 */ or r0, r0, r3 -/* 80384C04 00380864 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80384C08 00380868 4E 80 00 20 */ blr -/* 80384C0C 0038086C 88 63 00 8C */ lbz r3, 0x8c(r3) -/* 80384C10 00380870 7C 03 00 D0 */ neg r0, r3 -/* 80384C14 00380874 7C 00 1B 78 */ or r0, r0, r3 -/* 80384C18 00380878 54 03 0F FE */ srwi r3, r0, 0x1f -/* 80384C1C 0038087C 4E 80 00 20 */ blr -/* 80384C20 00380880 38 63 FF 8C */ addi r3, r3, -116 -/* 80384C24 00380884 4B FF FF BC */ b lbl_80384BE0 -/* 80384C28 00380888 38 63 FF 8C */ addi r3, r3, -116 -/* 80384C2C 0038088C 4B FF F6 60 */ b lbl_8038428C -/* 80384C30 00380890 38 63 FF 8C */ addi r3, r3, -116 -/* 80384C34 00380894 4B FF EA 78 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv -/* 80384C38 00380898 38 63 FF 80 */ addi r3, r3, -128 -/* 80384C3C 0038089C 4B FF FF 94 */ b lbl_80384BD0 -/* 80384C40 003808A0 38 63 FF 80 */ addi r3, r3, -128 -/* 80384C44 003808A4 4B FF FF 88 */ b lbl_80384BCC -/* 80384C48 003808A8 38 63 FF 80 */ addi r3, r3, -128 -/* 80384C4C 003808AC 4B FF EA 60 */ b __dt__Q44nw4r3snd6detail9WsdPlayerFv - .global func_80384C50 func_80384C50: /* 80384C50 003808B0 A0 E3 00 22 */ lhz r7, 0x22(r3) diff --git a/obj_files.mk b/obj_files.mk index 43dca46..431faeb 100644 --- a/obj_files.mk +++ b/obj_files.mk @@ -163,6 +163,7 @@ TEXT_O_FILES := \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WaveSound.o \ $(BUILD_DIR)/asm/nw4r/snd/snd_WaveSoundHandle.o \ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WsdFile.o \ + $(BUILD_DIR)/asm/nw4r/snd/detail/snd_WsdPlayer.o \ $(BUILD_DIR)/asm/text_11.o CTORS_O_FILES := \ |