donut-decomp/asm/libnw4r_snd/snd_SeqPlayer.s

1695 lines
84 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 0x80006A00 - 0x80406260 ; 0x003FF860
.global InitSeqPlayer__Q44nw4r3snd6detail9SeqPlayerFv
InitSeqPlayer__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010C1F0 00108030 3C 60 80 53 */ lis r3, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@ha
/* 8010C1F4 00108034 38 00 FF FF */ li r0, -0x1
/* 8010C1F8 00108038 B4 03 8C 88 */ sthu r0, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@l(r3)
/* 8010C1FC 0010803C B0 03 00 02 */ sth r0, 0x2(r3)
/* 8010C200 00108040 B0 03 00 04 */ sth r0, 0x4(r3)
/* 8010C204 00108044 B0 03 00 06 */ sth r0, 0x6(r3)
/* 8010C208 00108048 B0 03 00 08 */ sth r0, 0x8(r3)
/* 8010C20C 0010804C B0 03 00 0A */ sth r0, 0xa(r3)
/* 8010C210 00108050 B0 03 00 0C */ sth r0, 0xc(r3)
/* 8010C214 00108054 B0 03 00 0E */ sth r0, 0xe(r3)
/* 8010C218 00108058 B0 03 00 10 */ sth r0, 0x10(r3)
/* 8010C21C 0010805C B0 03 00 12 */ sth r0, 0x12(r3)
/* 8010C220 00108060 B0 03 00 14 */ sth r0, 0x14(r3)
/* 8010C224 00108064 B0 03 00 16 */ sth r0, 0x16(r3)
/* 8010C228 00108068 B0 03 00 18 */ sth r0, 0x18(r3)
/* 8010C22C 0010806C B0 03 00 1A */ sth r0, 0x1a(r3)
/* 8010C230 00108070 B0 03 00 1C */ sth r0, 0x1c(r3)
/* 8010C234 00108074 B0 03 00 1E */ sth r0, 0x1e(r3)
/* 8010C238 00108078 4E 80 00 20 */ blr
/* 8010C23C 0010807C 00 00 00 00 */ .4byte 0x00000000
.global __ct__Q44nw4r3snd6detail9SeqPlayerFv
__ct__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010C240 00108080 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8010C244 00108084 7C 08 02 A6 */ mflr r0
/* 8010C248 00108088 90 01 00 14 */ stw r0, 0x14(r1)
/* 8010C24C 0010808C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8010C250 00108090 7C 7F 1B 78 */ mr r31, r3
/* 8010C254 00108094 4B FF 91 1D */ bl __ct__Q44nw4r3snd6detail11BasicPlayerFv
/* 8010C258 00108098 3D 20 80 44 */ lis r9, __vt__Q44nw4r3snd6detail9SeqPlayer@ha
/* 8010C25C 0010809C 39 40 00 00 */ li r10, 0x0
/* 8010C260 001080A0 39 29 23 78 */ addi r9, r9, __vt__Q44nw4r3snd6detail9SeqPlayer@l
/* 8010C264 001080A4 C0 22 93 F8 */ lfs f1, "@11283"@sda21(r2)
/* 8010C268 001080A8 C0 02 93 FC */ lfs f0, "@11284"@sda21(r2)
/* 8010C26C 001080AC 39 09 00 24 */ addi r8, r9, 0x24
/* 8010C270 001080B0 38 E9 00 38 */ addi r7, r9, 0x38
/* 8010C274 001080B4 38 C0 00 78 */ li r6, 0x78
/* 8010C278 001080B8 38 A0 00 30 */ li r5, 0x30
/* 8010C27C 001080BC 38 80 00 7F */ li r4, 0x7f
/* 8010C280 001080C0 38 60 00 40 */ li r3, 0x40
/* 8010C284 001080C4 91 5F 00 B4 */ stw r10, 0xb4(r31)
/* 8010C288 001080C8 38 00 FF FF */ li r0, -0x1
/* 8010C28C 001080CC 91 5F 00 B8 */ stw r10, 0xb8(r31)
/* 8010C290 001080D0 91 5F 00 C0 */ stw r10, 0xc0(r31)
/* 8010C294 001080D4 91 5F 00 C4 */ stw r10, 0xc4(r31)
/* 8010C298 001080D8 91 3F 00 00 */ stw r9, 0x0(r31)
/* 8010C29C 001080DC 91 1F 00 BC */ stw r8, 0xbc(r31)
/* 8010C2A0 001080E0 90 FF 00 C8 */ stw r7, 0xc8(r31)
/* 8010C2A4 001080E4 99 5F 00 CC */ stb r10, 0xcc(r31)
/* 8010C2A8 001080E8 99 5F 00 CD */ stb r10, 0xcd(r31)
/* 8010C2AC 001080EC 99 5F 00 CE */ stb r10, 0xce(r31)
/* 8010C2B0 001080F0 99 5F 00 CF */ stb r10, 0xcf(r31)
/* 8010C2B4 001080F4 D0 3F 00 D4 */ stfs f1, 0xd4(r31)
/* 8010C2B8 001080F8 D0 1F 00 D8 */ stfs f0, 0xd8(r31)
/* 8010C2BC 001080FC 91 5F 00 DC */ stw r10, 0xdc(r31)
/* 8010C2C0 00108100 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
/* 8010C2C4 00108104 D0 3F 00 D0 */ stfs f1, 0xd0(r31)
/* 8010C2C8 00108108 91 5F 01 60 */ stw r10, 0x160(r31)
/* 8010C2CC 0010810C 91 5F 00 E4 */ stw r10, 0xe4(r31)
/* 8010C2D0 00108110 91 5F 00 F8 */ stw r10, 0xf8(r31)
/* 8010C2D4 00108114 91 5F 00 FC */ stw r10, 0xfc(r31)
/* 8010C2D8 00108118 B0 DF 00 EC */ sth r6, 0xec(r31)
/* 8010C2DC 0010811C 98 BF 00 EA */ stb r5, 0xea(r31)
/* 8010C2E0 00108120 98 9F 00 E8 */ stb r4, 0xe8(r31)
/* 8010C2E4 00108124 98 7F 00 E9 */ stb r3, 0xe9(r31)
/* 8010C2E8 00108128 91 5F 00 F0 */ stw r10, 0xf0(r31)
/* 8010C2EC 0010812C B0 1F 01 40 */ sth r0, 0x140(r31)
/* 8010C2F0 00108130 B0 1F 01 42 */ sth r0, 0x142(r31)
/* 8010C2F4 00108134 B0 1F 01 44 */ sth r0, 0x144(r31)
/* 8010C2F8 00108138 B0 1F 01 46 */ sth r0, 0x146(r31)
/* 8010C2FC 0010813C B0 1F 01 48 */ sth r0, 0x148(r31)
/* 8010C300 00108140 B0 1F 01 4A */ sth r0, 0x14a(r31)
/* 8010C304 00108144 B0 1F 01 4C */ sth r0, 0x14c(r31)
/* 8010C308 00108148 B0 1F 01 4E */ sth r0, 0x14e(r31)
/* 8010C30C 0010814C B0 1F 01 50 */ sth r0, 0x150(r31)
/* 8010C310 00108150 B0 1F 01 52 */ sth r0, 0x152(r31)
/* 8010C314 00108154 B0 1F 01 54 */ sth r0, 0x154(r31)
/* 8010C318 00108158 B0 1F 01 56 */ sth r0, 0x156(r31)
/* 8010C31C 0010815C B0 1F 01 58 */ sth r0, 0x158(r31)
/* 8010C320 00108160 B0 1F 01 5A */ sth r0, 0x15a(r31)
/* 8010C324 00108164 B0 1F 01 5C */ sth r0, 0x15c(r31)
/* 8010C328 00108168 B0 1F 01 5E */ sth r0, 0x15e(r31)
/* 8010C32C 0010816C 38 00 00 00 */ li r0, 0x0
/* 8010C330 00108170 90 1F 01 00 */ stw r0, 0x100(r31)
/* 8010C334 00108174 7F E3 FB 78 */ mr r3, r31
/* 8010C338 00108178 90 1F 01 04 */ stw r0, 0x104(r31)
/* 8010C33C 0010817C 90 1F 01 08 */ stw r0, 0x108(r31)
/* 8010C340 00108180 90 1F 01 0C */ stw r0, 0x10c(r31)
/* 8010C344 00108184 90 1F 01 10 */ stw r0, 0x110(r31)
/* 8010C348 00108188 90 1F 01 14 */ stw r0, 0x114(r31)
/* 8010C34C 0010818C 90 1F 01 18 */ stw r0, 0x118(r31)
/* 8010C350 00108190 90 1F 01 1C */ stw r0, 0x11c(r31)
/* 8010C354 00108194 90 1F 01 20 */ stw r0, 0x120(r31)
/* 8010C358 00108198 90 1F 01 24 */ stw r0, 0x124(r31)
/* 8010C35C 0010819C 90 1F 01 28 */ stw r0, 0x128(r31)
/* 8010C360 001081A0 90 1F 01 2C */ stw r0, 0x12c(r31)
/* 8010C364 001081A4 90 1F 01 30 */ stw r0, 0x130(r31)
/* 8010C368 001081A8 90 1F 01 34 */ stw r0, 0x134(r31)
/* 8010C36C 001081AC 90 1F 01 38 */ stw r0, 0x138(r31)
/* 8010C370 001081B0 90 1F 01 3C */ stw r0, 0x13c(r31)
/* 8010C374 001081B4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8010C378 001081B8 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8010C37C 001081BC 7C 08 03 A6 */ mtlr r0
/* 8010C380 001081C0 38 21 00 10 */ addi r1, r1, 0x10
/* 8010C384 001081C4 4E 80 00 20 */ blr
/* 8010C388 001081C8 00 00 00 00 */ .4byte 0x00000000
/* 8010C38C 001081CC 00 00 00 00 */ .4byte 0x00000000
.global __dt__Q44nw4r3snd6detail9SeqPlayerFv
__dt__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010C390 001081D0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010C394 001081D4 7C 08 02 A6 */ mflr r0
/* 8010C398 001081D8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010C39C 001081DC 39 61 00 20 */ addi r11, r1, 0x20
/* 8010C3A0 001081E0 4B EF AF 9D */ bl lbl_8000733C
/* 8010C3A4 001081E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010C3A8 001081E8 7C 7B 1B 78 */ mr r27, r3
/* 8010C3AC 001081EC 7C 9C 23 78 */ mr r28, r4
/* 8010C3B0 001081F0 41 82 01 4C */ beq lbl_8010C4FC
/* 8010C3B4 001081F4 3C A0 80 44 */ lis r5, __vt__Q44nw4r3snd6detail9SeqPlayer@ha
/* 8010C3B8 001081F8 38 A5 23 78 */ addi r5, r5, __vt__Q44nw4r3snd6detail9SeqPlayer@l
/* 8010C3BC 001081FC 90 A3 00 00 */ stw r5, 0x0(r3)
/* 8010C3C0 00108200 38 85 00 24 */ addi r4, r5, 0x24
/* 8010C3C4 00108204 38 05 00 38 */ addi r0, r5, 0x38
/* 8010C3C8 00108208 90 83 00 BC */ stw r4, 0xbc(r3)
/* 8010C3CC 0010820C 90 03 00 C8 */ stw r0, 0xc8(r3)
/* 8010C3D0 00108210 48 00 89 11 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C3D4 00108214 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C3D8 00108218 4B F1 67 C9 */ bl OSLockMutex
/* 8010C3DC 0010821C 48 00 89 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C3E0 00108220 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C3E4 00108224 4B F1 67 BD */ bl OSLockMutex
/* 8010C3E8 00108228 88 1B 00 CD */ lbz r0, 0xcd(r27)
/* 8010C3EC 0010822C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010C3F0 00108230 41 82 00 28 */ beq lbl_8010C418
/* 8010C3F4 00108234 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8010C3F8 00108238 7F 7E DB 78 */ mr r30, r27
/* 8010C3FC 0010823C 41 82 00 08 */ beq lbl_8010C404
/* 8010C400 00108240 3B DB 00 C0 */ addi r30, r27, 0xc0
.global lbl_8010C404
lbl_8010C404:
/* 8010C404 00108244 48 00 88 DD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C408 00108248 7F C4 F3 78 */ mr r4, r30
/* 8010C40C 0010824C 48 00 8E 75 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010C410 00108250 38 00 00 00 */ li r0, 0x0
/* 8010C414 00108254 98 1B 00 CD */ stb r0, 0xcd(r27)
.global lbl_8010C418
lbl_8010C418:
/* 8010C418 00108258 88 1B 00 CC */ lbz r0, 0xcc(r27)
/* 8010C41C 0010825C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010C420 00108260 41 82 00 28 */ beq lbl_8010C448
/* 8010C424 00108264 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8010C428 00108268 7F 7E DB 78 */ mr r30, r27
/* 8010C42C 0010826C 41 82 00 08 */ beq lbl_8010C434
/* 8010C430 00108270 3B DB 00 B4 */ addi r30, r27, 0xb4
.global lbl_8010C434
lbl_8010C434:
/* 8010C434 00108274 4B FF BC 3D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010C438 00108278 7F C4 F3 78 */ mr r4, r30
/* 8010C43C 0010827C 4B FF BD 55 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010C440 00108280 38 00 00 00 */ li r0, 0x0
/* 8010C444 00108284 98 1B 00 CC */ stb r0, 0xcc(r27)
.global lbl_8010C448
lbl_8010C448:
/* 8010C448 00108288 3B C0 00 00 */ li r30, 0x0
/* 8010C44C 0010828C 3B A0 00 00 */ li r29, 0x0
/* 8010C450 00108290 3B E0 00 00 */ li r31, 0x0
.global lbl_8010C454
lbl_8010C454:
/* 8010C454 00108294 48 00 88 8D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C458 00108298 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C45C 0010829C 4B F1 67 45 */ bl OSLockMutex
/* 8010C460 001082A0 2C 1E 00 0F */ cmpwi r30, 0xf
/* 8010C464 001082A4 40 81 00 0C */ ble lbl_8010C470
/* 8010C468 001082A8 38 60 00 00 */ li r3, 0x0
/* 8010C46C 001082AC 48 00 00 0C */ b lbl_8010C478
.global lbl_8010C470
lbl_8010C470:
/* 8010C470 001082B0 7C 7B EA 14 */ add r3, r27, r29
/* 8010C474 001082B4 80 63 01 00 */ lwz r3, 0x100(r3)
.global lbl_8010C478
lbl_8010C478:
/* 8010C478 001082B8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010C47C 001082BC 40 82 00 14 */ bne lbl_8010C490
/* 8010C480 001082C0 48 00 88 61 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C484 001082C4 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C488 001082C8 4B F1 67 F9 */ bl OSUnlockMutex
/* 8010C48C 001082CC 48 00 00 38 */ b lbl_8010C4C4
.global lbl_8010C490
lbl_8010C490:
/* 8010C490 001082D0 48 00 1E 41 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010C494 001082D4 80 7B 00 F4 */ lwz r3, 0xf4(r27)
/* 8010C498 001082D8 7C 9B EA 14 */ add r4, r27, r29
/* 8010C49C 001082DC 80 84 01 00 */ lwz r4, 0x100(r4)
/* 8010C4A0 001082E0 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010C4A4 001082E4 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010C4A8 001082E8 7D 89 03 A6 */ mtctr r12
/* 8010C4AC 001082EC 4E 80 04 21 */ bctrl
/* 8010C4B0 001082F0 7C 7B EA 14 */ add r3, r27, r29
/* 8010C4B4 001082F4 93 E3 01 00 */ stw r31, 0x100(r3)
/* 8010C4B8 001082F8 48 00 88 29 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C4BC 001082FC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C4C0 00108300 4B F1 67 C1 */ bl OSUnlockMutex
.global lbl_8010C4C4
lbl_8010C4C4:
/* 8010C4C4 00108304 3B DE 00 01 */ addi r30, r30, 0x1
/* 8010C4C8 00108308 3B BD 00 04 */ addi r29, r29, 0x4
/* 8010C4CC 0010830C 2C 1E 00 10 */ cmpwi r30, 0x10
/* 8010C4D0 00108310 41 80 FF 84 */ blt lbl_8010C454
/* 8010C4D4 00108314 48 00 88 0D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C4D8 00108318 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C4DC 0010831C 4B F1 67 A5 */ bl OSUnlockMutex
/* 8010C4E0 00108320 48 00 88 01 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C4E4 00108324 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C4E8 00108328 4B F1 67 99 */ bl OSUnlockMutex
/* 8010C4EC 0010832C 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8010C4F0 00108330 40 81 00 0C */ ble lbl_8010C4FC
/* 8010C4F4 00108334 7F 63 DB 78 */ mr r3, r27
/* 8010C4F8 00108338 48 0B 32 1D */ bl __dl__FPv
.global lbl_8010C4FC
lbl_8010C4FC:
/* 8010C4FC 0010833C 39 61 00 20 */ addi r11, r1, 0x20
/* 8010C500 00108340 7F 63 DB 78 */ mr r3, r27
/* 8010C504 00108344 4B EF AE 85 */ bl lbl_80007388
/* 8010C508 00108348 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010C50C 0010834C 7C 08 03 A6 */ mtlr r0
/* 8010C510 00108350 38 21 00 20 */ addi r1, r1, 0x20
/* 8010C514 00108354 4E 80 00 20 */ blr
/* 8010C518 00108358 00 00 00 00 */ .4byte 0x00000000
/* 8010C51C 0010835C 00 00 00 00 */ .4byte 0x00000000
.global InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback
InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback:
/* 8010C520 00108360 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010C524 00108364 7C 08 02 A6 */ mflr r0
/* 8010C528 00108368 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010C52C 0010836C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010C530 00108370 7C BF 2B 78 */ mr r31, r5
/* 8010C534 00108374 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010C538 00108378 7C 9E 23 78 */ mr r30, r4
/* 8010C53C 0010837C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010C540 00108380 7C 7D 1B 78 */ mr r29, r3
/* 8010C544 00108384 4B FF 8E ED */ bl InitParam__Q44nw4r3snd6detail11BasicPlayerFv
/* 8010C548 00108388 C0 22 93 F8 */ lfs f1, "@11283"@sda21(r2)
/* 8010C54C 0010838C 38 E0 00 00 */ li r7, 0x0
/* 8010C550 00108390 C0 02 93 FC */ lfs f0, "@11284"@sda21(r2)
/* 8010C554 00108394 38 C0 00 78 */ li r6, 0x78
/* 8010C558 00108398 38 A0 00 30 */ li r5, 0x30
/* 8010C55C 0010839C 38 80 00 7F */ li r4, 0x7f
/* 8010C560 001083A0 38 60 00 40 */ li r3, 0x40
/* 8010C564 001083A4 98 FD 00 CD */ stb r7, 0xcd(r29)
/* 8010C568 001083A8 38 00 FF FF */ li r0, -0x1
/* 8010C56C 001083AC 98 FD 00 CE */ stb r7, 0xce(r29)
/* 8010C570 001083B0 D0 3D 00 D4 */ stfs f1, 0xd4(r29)
/* 8010C574 001083B4 90 FD 00 DC */ stw r7, 0xdc(r29)
/* 8010C578 001083B8 D0 1D 00 E0 */ stfs f0, 0xe0(r29)
/* 8010C57C 001083BC D0 3D 00 D0 */ stfs f1, 0xd0(r29)
/* 8010C580 001083C0 90 FD 01 60 */ stw r7, 0x160(r29)
/* 8010C584 001083C4 93 DD 00 E4 */ stw r30, 0xe4(r29)
/* 8010C588 001083C8 B0 DD 00 EC */ sth r6, 0xec(r29)
/* 8010C58C 001083CC 98 BD 00 EA */ stb r5, 0xea(r29)
/* 8010C590 001083D0 98 9D 00 E8 */ stb r4, 0xe8(r29)
/* 8010C594 001083D4 98 7D 00 E9 */ stb r3, 0xe9(r29)
/* 8010C598 001083D8 93 FD 00 F0 */ stw r31, 0xf0(r29)
/* 8010C59C 001083DC D0 1D 00 D8 */ stfs f0, 0xd8(r29)
/* 8010C5A0 001083E0 B0 1D 01 40 */ sth r0, 0x140(r29)
/* 8010C5A4 001083E4 B0 1D 01 42 */ sth r0, 0x142(r29)
/* 8010C5A8 001083E8 B0 1D 01 44 */ sth r0, 0x144(r29)
/* 8010C5AC 001083EC B0 1D 01 46 */ sth r0, 0x146(r29)
/* 8010C5B0 001083F0 B0 1D 01 48 */ sth r0, 0x148(r29)
/* 8010C5B4 001083F4 B0 1D 01 4A */ sth r0, 0x14a(r29)
/* 8010C5B8 001083F8 B0 1D 01 4C */ sth r0, 0x14c(r29)
/* 8010C5BC 001083FC B0 1D 01 4E */ sth r0, 0x14e(r29)
/* 8010C5C0 00108400 B0 1D 01 50 */ sth r0, 0x150(r29)
/* 8010C5C4 00108404 B0 1D 01 52 */ sth r0, 0x152(r29)
/* 8010C5C8 00108408 B0 1D 01 54 */ sth r0, 0x154(r29)
/* 8010C5CC 0010840C B0 1D 01 56 */ sth r0, 0x156(r29)
/* 8010C5D0 00108410 B0 1D 01 58 */ sth r0, 0x158(r29)
/* 8010C5D4 00108414 B0 1D 01 5A */ sth r0, 0x15a(r29)
/* 8010C5D8 00108418 B0 1D 01 5C */ sth r0, 0x15c(r29)
/* 8010C5DC 0010841C B0 1D 01 5E */ sth r0, 0x15e(r29)
/* 8010C5E0 00108420 38 00 00 00 */ li r0, 0x0
/* 8010C5E4 00108424 90 1D 01 00 */ stw r0, 0x100(r29)
/* 8010C5E8 00108428 90 1D 01 04 */ stw r0, 0x104(r29)
/* 8010C5EC 0010842C 90 1D 01 08 */ stw r0, 0x108(r29)
/* 8010C5F0 00108430 90 1D 01 0C */ stw r0, 0x10c(r29)
/* 8010C5F4 00108434 90 1D 01 10 */ stw r0, 0x110(r29)
/* 8010C5F8 00108438 90 1D 01 14 */ stw r0, 0x114(r29)
/* 8010C5FC 0010843C 90 1D 01 18 */ stw r0, 0x118(r29)
/* 8010C600 00108440 90 1D 01 1C */ stw r0, 0x11c(r29)
/* 8010C604 00108444 90 1D 01 20 */ stw r0, 0x120(r29)
/* 8010C608 00108448 90 1D 01 24 */ stw r0, 0x124(r29)
/* 8010C60C 0010844C 90 1D 01 28 */ stw r0, 0x128(r29)
/* 8010C610 00108450 90 1D 01 2C */ stw r0, 0x12c(r29)
/* 8010C614 00108454 90 1D 01 30 */ stw r0, 0x130(r29)
/* 8010C618 00108458 90 1D 01 34 */ stw r0, 0x134(r29)
/* 8010C61C 0010845C 90 1D 01 38 */ stw r0, 0x138(r29)
/* 8010C620 00108460 90 1D 01 3C */ stw r0, 0x13c(r29)
/* 8010C624 00108464 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010C628 00108468 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010C62C 0010846C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010C630 00108470 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010C634 00108474 7C 08 03 A6 */ mtlr r0
/* 8010C638 00108478 38 21 00 20 */ addi r1, r1, 0x20
/* 8010C63C 0010847C 4E 80 00 20 */ blr
.global Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback
Setup__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail17SeqTrackAllocatorUliPQ44nw4r3snd6detail14NoteOnCallback:
/* 8010C640 00108480 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8010C644 00108484 7C 08 02 A6 */ mflr r0
/* 8010C648 00108488 90 01 00 34 */ stw r0, 0x34(r1)
/* 8010C64C 0010848C 39 61 00 30 */ addi r11, r1, 0x30
/* 8010C650 00108490 4B EF AC E1 */ bl lbl_80007330
/* 8010C654 00108494 7C 7D 1B 78 */ mr r29, r3
/* 8010C658 00108498 7C 9E 23 78 */ mr r30, r4
/* 8010C65C 0010849C 7C BF 2B 78 */ mr r31, r5
/* 8010C660 001084A0 7C D8 33 78 */ mr r24, r6
/* 8010C664 001084A4 7C F9 3B 78 */ mr r25, r7
/* 8010C668 001084A8 48 00 86 79 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C66C 001084AC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C670 001084B0 4B F1 65 31 */ bl OSLockMutex
/* 8010C674 001084B4 48 00 86 6D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C678 001084B8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C67C 001084BC 4B F1 65 25 */ bl OSLockMutex
/* 8010C680 001084C0 48 00 86 61 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C684 001084C4 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C688 001084C8 4B F1 65 19 */ bl OSLockMutex
/* 8010C68C 001084CC 88 1D 00 CD */ lbz r0, 0xcd(r29)
/* 8010C690 001084D0 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010C694 001084D4 41 82 00 28 */ beq lbl_8010C6BC
/* 8010C698 001084D8 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8010C69C 001084DC 7F BB EB 78 */ mr r27, r29
/* 8010C6A0 001084E0 41 82 00 08 */ beq lbl_8010C6A8
/* 8010C6A4 001084E4 3B 7D 00 C0 */ addi r27, r29, 0xc0
.global lbl_8010C6A8
lbl_8010C6A8:
/* 8010C6A8 001084E8 48 00 86 39 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C6AC 001084EC 7F 64 DB 78 */ mr r4, r27
/* 8010C6B0 001084F0 48 00 8B D1 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010C6B4 001084F4 38 00 00 00 */ li r0, 0x0
/* 8010C6B8 001084F8 98 1D 00 CD */ stb r0, 0xcd(r29)
.global lbl_8010C6BC
lbl_8010C6BC:
/* 8010C6BC 001084FC 88 1D 00 CC */ lbz r0, 0xcc(r29)
/* 8010C6C0 00108500 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010C6C4 00108504 41 82 00 28 */ beq lbl_8010C6EC
/* 8010C6C8 00108508 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8010C6CC 0010850C 7F BB EB 78 */ mr r27, r29
/* 8010C6D0 00108510 41 82 00 08 */ beq lbl_8010C6D8
/* 8010C6D4 00108514 3B 7D 00 B4 */ addi r27, r29, 0xb4
.global lbl_8010C6D8
lbl_8010C6D8:
/* 8010C6D8 00108518 4B FF B9 99 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010C6DC 0010851C 7F 64 DB 78 */ mr r4, r27
/* 8010C6E0 00108520 4B FF BA B1 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010C6E4 00108524 38 00 00 00 */ li r0, 0x0
/* 8010C6E8 00108528 98 1D 00 CC */ stb r0, 0xcc(r29)
.global lbl_8010C6EC
lbl_8010C6EC:
/* 8010C6EC 0010852C 7F BA EB 78 */ mr r26, r29
/* 8010C6F0 00108530 3B 60 00 00 */ li r27, 0x0
/* 8010C6F4 00108534 3B 80 00 00 */ li r28, 0x0
.global lbl_8010C6F8
lbl_8010C6F8:
/* 8010C6F8 00108538 48 00 85 E9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C6FC 0010853C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C700 00108540 4B F1 64 A1 */ bl OSLockMutex
/* 8010C704 00108544 2C 1B 00 0F */ cmpwi r27, 0xf
/* 8010C708 00108548 40 81 00 0C */ ble lbl_8010C714
/* 8010C70C 0010854C 38 60 00 00 */ li r3, 0x0
/* 8010C710 00108550 48 00 00 08 */ b lbl_8010C718
.global lbl_8010C714
lbl_8010C714:
/* 8010C714 00108554 80 7A 01 00 */ lwz r3, 0x100(r26)
.global lbl_8010C718
lbl_8010C718:
/* 8010C718 00108558 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010C71C 0010855C 40 82 00 14 */ bne lbl_8010C730
/* 8010C720 00108560 48 00 85 C1 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C724 00108564 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C728 00108568 4B F1 65 59 */ bl OSUnlockMutex
/* 8010C72C 0010856C 48 00 00 30 */ b lbl_8010C75C
.global lbl_8010C730
lbl_8010C730:
/* 8010C730 00108570 48 00 1B A1 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010C734 00108574 80 7D 00 F4 */ lwz r3, 0xf4(r29)
/* 8010C738 00108578 80 9A 01 00 */ lwz r4, 0x100(r26)
/* 8010C73C 0010857C 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010C740 00108580 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010C744 00108584 7D 89 03 A6 */ mtctr r12
/* 8010C748 00108588 4E 80 04 21 */ bctrl
/* 8010C74C 0010858C 93 9A 01 00 */ stw r28, 0x100(r26)
/* 8010C750 00108590 48 00 85 91 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C754 00108594 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C758 00108598 4B F1 65 29 */ bl OSUnlockMutex
.global lbl_8010C75C
lbl_8010C75C:
/* 8010C75C 0010859C 3B 7B 00 01 */ addi r27, r27, 0x1
/* 8010C760 001085A0 3B 5A 00 04 */ addi r26, r26, 0x4
/* 8010C764 001085A4 2C 1B 00 10 */ cmpwi r27, 0x10
/* 8010C768 001085A8 41 80 FF 90 */ blt lbl_8010C6F8
/* 8010C76C 001085AC 48 00 85 75 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C770 001085B0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C774 001085B4 4B F1 65 0D */ bl OSUnlockMutex
/* 8010C778 001085B8 48 00 85 69 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C77C 001085BC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C780 001085C0 4B F1 65 01 */ bl OSUnlockMutex
/* 8010C784 001085C4 7F A3 EB 78 */ mr r3, r29
/* 8010C788 001085C8 7F 04 C3 78 */ mr r4, r24
/* 8010C78C 001085CC 7F 25 CB 78 */ mr r5, r25
/* 8010C790 001085D0 4B FF FD 91 */ bl InitParam__Q44nw4r3snd6detail9SeqPlayerFiPQ44nw4r3snd6detail14NoteOnCallback
/* 8010C794 001085D4 4B F1 50 8D */ bl OSDisableInterrupts
/* 8010C798 001085D8 7C 7C 1B 78 */ mr r28, r3
/* 8010C79C 001085DC 7F E3 FB 78 */ mr r3, r31
/* 8010C7A0 001085E0 3B 40 00 00 */ li r26, 0x0
/* 8010C7A4 001085E4 48 00 00 14 */ b lbl_8010C7B8
.global lbl_8010C7A8
lbl_8010C7A8:
/* 8010C7A8 001085E8 54 60 07 FF */ clrlwi. r0, r3, 31
/* 8010C7AC 001085EC 41 82 00 08 */ beq lbl_8010C7B4
/* 8010C7B0 001085F0 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_8010C7B4
lbl_8010C7B4:
/* 8010C7B4 001085F4 54 63 F8 7E */ srwi r3, r3, 1
.global lbl_8010C7B8
lbl_8010C7B8:
/* 8010C7B8 001085F8 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010C7BC 001085FC 40 82 FF EC */ bne lbl_8010C7A8
/* 8010C7C0 00108600 81 9E 00 00 */ lwz r12, 0x0(r30)
/* 8010C7C4 00108604 7F C3 F3 78 */ mr r3, r30
/* 8010C7C8 00108608 81 8C 00 14 */ lwz r12, 0x14(r12)
/* 8010C7CC 0010860C 7D 89 03 A6 */ mtctr r12
/* 8010C7D0 00108610 4E 80 04 21 */ bctrl
/* 8010C7D4 00108614 7C 1A 18 00 */ cmpw r26, r3
/* 8010C7D8 00108618 40 81 00 20 */ ble lbl_8010C7F8
/* 8010C7DC 0010861C 7F 83 E3 78 */ mr r3, r28
/* 8010C7E0 00108620 4B F1 50 81 */ bl OSRestoreInterrupts
/* 8010C7E4 00108624 48 00 84 FD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C7E8 00108628 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C7EC 0010862C 4B F1 64 95 */ bl OSUnlockMutex
/* 8010C7F0 00108630 38 60 00 01 */ li r3, 0x1
/* 8010C7F4 00108634 48 00 00 C8 */ b lbl_8010C8BC
.global lbl_8010C7F8
lbl_8010C7F8:
/* 8010C7F8 00108638 7F BB EB 78 */ mr r27, r29
/* 8010C7FC 0010863C 3B 40 00 00 */ li r26, 0x0
/* 8010C800 00108640 48 00 00 74 */ b lbl_8010C874
.global lbl_8010C804
lbl_8010C804:
/* 8010C804 00108644 57 E0 07 FF */ clrlwi. r0, r31, 31
/* 8010C808 00108648 41 82 00 60 */ beq lbl_8010C868
/* 8010C80C 0010864C 81 9E 00 00 */ lwz r12, 0x0(r30)
/* 8010C810 00108650 7F C3 F3 78 */ mr r3, r30
/* 8010C814 00108654 7F A4 EB 78 */ mr r4, r29
/* 8010C818 00108658 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8010C81C 0010865C 7D 89 03 A6 */ mtctr r12
/* 8010C820 00108660 4E 80 04 21 */ bctrl
/* 8010C824 00108664 7C 79 1B 78 */ mr r25, r3
/* 8010C828 00108668 48 00 84 B9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C82C 0010866C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C830 00108670 4B F1 63 71 */ bl OSLockMutex
/* 8010C834 00108674 2C 1A 00 0F */ cmpwi r26, 0xf
/* 8010C838 00108678 40 81 00 14 */ ble lbl_8010C84C
/* 8010C83C 0010867C 48 00 84 A5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C840 00108680 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C844 00108684 4B F1 64 3D */ bl OSUnlockMutex
/* 8010C848 00108688 48 00 00 20 */ b lbl_8010C868
.global lbl_8010C84C
lbl_8010C84C:
/* 8010C84C 0010868C 93 3B 01 00 */ stw r25, 0x100(r27)
/* 8010C850 00108690 7F 23 CB 78 */ mr r3, r25
/* 8010C854 00108694 7F 44 D3 78 */ mr r4, r26
/* 8010C858 00108698 48 00 16 F9 */ bl SetPlayerTrackNo__Q44nw4r3snd6detail8SeqTrackFi
/* 8010C85C 0010869C 48 00 84 85 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C860 001086A0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C864 001086A4 4B F1 64 1D */ bl OSUnlockMutex
.global lbl_8010C868
lbl_8010C868:
/* 8010C868 001086A8 57 FF F8 7E */ srwi r31, r31, 1
/* 8010C86C 001086AC 3B 7B 00 04 */ addi r27, r27, 0x4
/* 8010C870 001086B0 3B 5A 00 01 */ addi r26, r26, 0x1
.global lbl_8010C874
lbl_8010C874:
/* 8010C874 001086B4 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010C878 001086B8 40 82 FF 8C */ bne lbl_8010C804
/* 8010C87C 001086BC 7F 83 E3 78 */ mr r3, r28
/* 8010C880 001086C0 4B F1 4F E1 */ bl OSRestoreInterrupts
/* 8010C884 001086C4 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8010C888 001086C8 7F BB EB 78 */ mr r27, r29
/* 8010C88C 001086CC 41 82 00 08 */ beq lbl_8010C894
/* 8010C890 001086D0 3B 7D 00 B4 */ addi r27, r29, 0xb4
.global lbl_8010C894
lbl_8010C894:
/* 8010C894 001086D4 4B FF B7 DD */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010C898 001086D8 7F 64 DB 78 */ mr r4, r27
/* 8010C89C 001086DC 4B FF B8 C5 */ bl RegisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010C8A0 001086E0 38 00 00 01 */ li r0, 0x1
/* 8010C8A4 001086E4 93 DD 00 F4 */ stw r30, 0xf4(r29)
/* 8010C8A8 001086E8 98 1D 00 CC */ stb r0, 0xcc(r29)
/* 8010C8AC 001086EC 48 00 84 35 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C8B0 001086F0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C8B4 001086F4 4B F1 63 CD */ bl OSUnlockMutex
/* 8010C8B8 001086F8 38 60 00 00 */ li r3, 0x0
.global lbl_8010C8BC
lbl_8010C8BC:
/* 8010C8BC 001086FC 39 61 00 30 */ addi r11, r1, 0x30
/* 8010C8C0 00108700 4B EF AA BD */ bl lbl_8000737C
/* 8010C8C4 00108704 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8010C8C8 00108708 7C 08 03 A6 */ mtlr r0
/* 8010C8CC 0010870C 38 21 00 30 */ addi r1, r1, 0x30
/* 8010C8D0 00108710 4E 80 00 20 */ blr
/* 8010C8D4 00108714 00 00 00 00 */ .4byte 0x00000000
/* 8010C8D8 00108718 00 00 00 00 */ .4byte 0x00000000
/* 8010C8DC 0010871C 00 00 00 00 */ .4byte 0x00000000
.global SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl
SetSeqData__Q44nw4r3snd6detail9SeqPlayerFPCvl:
/* 8010C8E0 00108720 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010C8E4 00108724 7C 08 02 A6 */ mflr r0
/* 8010C8E8 00108728 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010C8EC 0010872C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010C8F0 00108730 7C 7F 1B 78 */ mr r31, r3
/* 8010C8F4 00108734 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010C8F8 00108738 7C BE 2B 78 */ mr r30, r5
/* 8010C8FC 0010873C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010C900 00108740 7C 9D 23 78 */ mr r29, r4
/* 8010C904 00108744 48 00 83 DD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C908 00108748 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C90C 0010874C 4B F1 62 95 */ bl OSLockMutex
/* 8010C910 00108750 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8010C914 00108754 83 FF 01 00 */ lwz r31, 0x100(r31)
/* 8010C918 00108758 41 82 00 1C */ beq lbl_8010C934
/* 8010C91C 0010875C 7F E3 FB 78 */ mr r3, r31
/* 8010C920 00108760 7F A4 EB 78 */ mr r4, r29
/* 8010C924 00108764 7F C5 F3 78 */ mr r5, r30
/* 8010C928 00108768 48 00 19 79 */ bl SetSeqData__Q44nw4r3snd6detail8SeqTrackFPCvl
/* 8010C92C 0010876C 7F E3 FB 78 */ mr r3, r31
/* 8010C930 00108770 48 00 19 81 */ bl Open__Q44nw4r3snd6detail8SeqTrackFv
.global lbl_8010C934
lbl_8010C934:
/* 8010C934 00108774 48 00 83 AD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C938 00108778 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C93C 0010877C 4B F1 63 45 */ bl OSUnlockMutex
/* 8010C940 00108780 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010C944 00108784 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010C948 00108788 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010C94C 0010878C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010C950 00108790 7C 08 03 A6 */ mtlr r0
/* 8010C954 00108794 38 21 00 20 */ addi r1, r1, 0x20
/* 8010C958 00108798 4E 80 00 20 */ blr
/* 8010C95C 0010879C 00 00 00 00 */ .4byte 0x00000000
.global Start__Q44nw4r3snd6detail9SeqPlayerFv
Start__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010C960 001087A0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8010C964 001087A4 7C 08 02 A6 */ mflr r0
/* 8010C968 001087A8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8010C96C 001087AC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8010C970 001087B0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010C974 001087B4 7C 7E 1B 78 */ mr r30, r3
/* 8010C978 001087B8 48 00 83 69 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C97C 001087BC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C980 001087C0 4B F1 62 21 */ bl OSLockMutex
/* 8010C984 001087C4 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8010C988 001087C8 7F DF F3 78 */ mr r31, r30
/* 8010C98C 001087CC 41 82 00 08 */ beq lbl_8010C994
/* 8010C990 001087D0 3B FE 00 C0 */ addi r31, r30, 0xc0
.global lbl_8010C994
lbl_8010C994:
/* 8010C994 001087D4 48 00 83 4D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C998 001087D8 7F E4 FB 78 */ mr r4, r31
/* 8010C99C 001087DC 48 00 88 75 */ bl RegisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010C9A0 001087E0 38 00 00 01 */ li r0, 0x1
/* 8010C9A4 001087E4 98 1E 00 CD */ stb r0, 0xcd(r30)
/* 8010C9A8 001087E8 48 00 83 39 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C9AC 001087EC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C9B0 001087F0 4B F1 62 D1 */ bl OSUnlockMutex
/* 8010C9B4 001087F4 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8010C9B8 001087F8 38 60 00 01 */ li r3, 0x1
/* 8010C9BC 001087FC 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8010C9C0 00108800 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8010C9C4 00108804 7C 08 03 A6 */ mtlr r0
/* 8010C9C8 00108808 38 21 00 10 */ addi r1, r1, 0x10
/* 8010C9CC 0010880C 4E 80 00 20 */ blr
.global Stop__Q44nw4r3snd6detail9SeqPlayerFv
Stop__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010C9D0 00108810 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010C9D4 00108814 7C 08 02 A6 */ mflr r0
/* 8010C9D8 00108818 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010C9DC 0010881C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010C9E0 00108820 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010C9E4 00108824 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010C9E8 00108828 93 81 00 10 */ stw r28, 0x10(r1)
/* 8010C9EC 0010882C 7C 7C 1B 78 */ mr r28, r3
/* 8010C9F0 00108830 48 00 82 F1 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010C9F4 00108834 38 63 03 54 */ addi r3, r3, 0x354
/* 8010C9F8 00108838 4B F1 61 A9 */ bl OSLockMutex
/* 8010C9FC 0010883C 48 00 82 E5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CA00 00108840 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CA04 00108844 4B F1 61 9D */ bl OSLockMutex
/* 8010CA08 00108848 88 1C 00 CD */ lbz r0, 0xcd(r28)
/* 8010CA0C 0010884C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CA10 00108850 41 82 00 28 */ beq lbl_8010CA38
/* 8010CA14 00108854 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8010CA18 00108858 7F 9E E3 78 */ mr r30, r28
/* 8010CA1C 0010885C 41 82 00 08 */ beq lbl_8010CA24
/* 8010CA20 00108860 3B DC 00 C0 */ addi r30, r28, 0xc0
.global lbl_8010CA24
lbl_8010CA24:
/* 8010CA24 00108864 48 00 82 BD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CA28 00108868 7F C4 F3 78 */ mr r4, r30
/* 8010CA2C 0010886C 48 00 88 55 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010CA30 00108870 38 00 00 00 */ li r0, 0x0
/* 8010CA34 00108874 98 1C 00 CD */ stb r0, 0xcd(r28)
.global lbl_8010CA38
lbl_8010CA38:
/* 8010CA38 00108878 88 1C 00 CC */ lbz r0, 0xcc(r28)
/* 8010CA3C 0010887C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CA40 00108880 41 82 00 28 */ beq lbl_8010CA68
/* 8010CA44 00108884 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8010CA48 00108888 7F 9E E3 78 */ mr r30, r28
/* 8010CA4C 0010888C 41 82 00 08 */ beq lbl_8010CA54
/* 8010CA50 00108890 3B DC 00 B4 */ addi r30, r28, 0xb4
.global lbl_8010CA54
lbl_8010CA54:
/* 8010CA54 00108894 4B FF B6 1D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010CA58 00108898 7F C4 F3 78 */ mr r4, r30
/* 8010CA5C 0010889C 4B FF B7 35 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010CA60 001088A0 38 00 00 00 */ li r0, 0x0
/* 8010CA64 001088A4 98 1C 00 CC */ stb r0, 0xcc(r28)
.global lbl_8010CA68
lbl_8010CA68:
/* 8010CA68 001088A8 7F 9D E3 78 */ mr r29, r28
/* 8010CA6C 001088AC 3B C0 00 00 */ li r30, 0x0
/* 8010CA70 001088B0 3B E0 00 00 */ li r31, 0x0
.global lbl_8010CA74
lbl_8010CA74:
/* 8010CA74 001088B4 48 00 82 6D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CA78 001088B8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CA7C 001088BC 4B F1 61 25 */ bl OSLockMutex
/* 8010CA80 001088C0 2C 1E 00 0F */ cmpwi r30, 0xf
/* 8010CA84 001088C4 40 81 00 0C */ ble lbl_8010CA90
/* 8010CA88 001088C8 38 60 00 00 */ li r3, 0x0
/* 8010CA8C 001088CC 48 00 00 08 */ b lbl_8010CA94
.global lbl_8010CA90
lbl_8010CA90:
/* 8010CA90 001088D0 80 7D 01 00 */ lwz r3, 0x100(r29)
.global lbl_8010CA94
lbl_8010CA94:
/* 8010CA94 001088D4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010CA98 001088D8 40 82 00 14 */ bne lbl_8010CAAC
/* 8010CA9C 001088DC 48 00 82 45 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CAA0 001088E0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CAA4 001088E4 4B F1 61 DD */ bl OSUnlockMutex
/* 8010CAA8 001088E8 48 00 00 30 */ b lbl_8010CAD8
.global lbl_8010CAAC
lbl_8010CAAC:
/* 8010CAAC 001088EC 48 00 18 25 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010CAB0 001088F0 80 7C 00 F4 */ lwz r3, 0xf4(r28)
/* 8010CAB4 001088F4 80 9D 01 00 */ lwz r4, 0x100(r29)
/* 8010CAB8 001088F8 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010CABC 001088FC 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010CAC0 00108900 7D 89 03 A6 */ mtctr r12
/* 8010CAC4 00108904 4E 80 04 21 */ bctrl
/* 8010CAC8 00108908 93 FD 01 00 */ stw r31, 0x100(r29)
/* 8010CACC 0010890C 48 00 82 15 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CAD0 00108910 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CAD4 00108914 4B F1 61 AD */ bl OSUnlockMutex
.global lbl_8010CAD8
lbl_8010CAD8:
/* 8010CAD8 00108918 3B DE 00 01 */ addi r30, r30, 0x1
/* 8010CADC 0010891C 3B BD 00 04 */ addi r29, r29, 0x4
/* 8010CAE0 00108920 2C 1E 00 10 */ cmpwi r30, 0x10
/* 8010CAE4 00108924 41 80 FF 90 */ blt lbl_8010CA74
/* 8010CAE8 00108928 48 00 81 F9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CAEC 0010892C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CAF0 00108930 4B F1 61 91 */ bl OSUnlockMutex
/* 8010CAF4 00108934 48 00 81 ED */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CAF8 00108938 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CAFC 0010893C 4B F1 61 85 */ bl OSUnlockMutex
/* 8010CB00 00108940 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010CB04 00108944 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010CB08 00108948 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010CB0C 0010894C 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010CB10 00108950 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8010CB14 00108954 7C 08 03 A6 */ mtlr r0
/* 8010CB18 00108958 38 21 00 20 */ addi r1, r1, 0x20
/* 8010CB1C 0010895C 4E 80 00 20 */ blr
.global Pause__Q44nw4r3snd6detail9SeqPlayerFb
Pause__Q44nw4r3snd6detail9SeqPlayerFb:
/* 8010CB20 00108960 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010CB24 00108964 7C 08 02 A6 */ mflr r0
/* 8010CB28 00108968 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010CB2C 0010896C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010CB30 00108970 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010CB34 00108974 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010CB38 00108978 7C 9D 23 78 */ mr r29, r4
/* 8010CB3C 0010897C 93 81 00 10 */ stw r28, 0x10(r1)
/* 8010CB40 00108980 7C 7C 1B 78 */ mr r28, r3
/* 8010CB44 00108984 48 00 81 9D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CB48 00108988 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CB4C 0010898C 4B F1 60 55 */ bl OSLockMutex
/* 8010CB50 00108990 9B BC 00 CE */ stb r29, 0xce(r28)
/* 8010CB54 00108994 3B C0 00 00 */ li r30, 0x0
/* 8010CB58 00108998 3B E0 00 00 */ li r31, 0x0
.global lbl_8010CB5C
lbl_8010CB5C:
/* 8010CB5C 0010899C 7C 7C FA 14 */ add r3, r28, r31
/* 8010CB60 001089A0 80 63 01 00 */ lwz r3, 0x100(r3)
/* 8010CB64 001089A4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010CB68 001089A8 41 82 00 0C */ beq lbl_8010CB74
/* 8010CB6C 001089AC 7F A4 EB 78 */ mr r4, r29
/* 8010CB70 001089B0 48 00 1B 21 */ bl PauseAllChannel__Q44nw4r3snd6detail8SeqTrackFb
.global lbl_8010CB74
lbl_8010CB74:
/* 8010CB74 001089B4 3B DE 00 01 */ addi r30, r30, 0x1
/* 8010CB78 001089B8 3B FF 00 04 */ addi r31, r31, 0x4
/* 8010CB7C 001089BC 2C 1E 00 10 */ cmpwi r30, 0x10
/* 8010CB80 001089C0 41 80 FF DC */ blt lbl_8010CB5C
/* 8010CB84 001089C4 48 00 81 5D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CB88 001089C8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CB8C 001089CC 4B F1 60 F5 */ bl OSUnlockMutex
/* 8010CB90 001089D0 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010CB94 001089D4 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010CB98 001089D8 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010CB9C 001089DC 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010CBA0 001089E0 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8010CBA4 001089E4 7C 08 03 A6 */ mtlr r0
/* 8010CBA8 001089E8 38 21 00 20 */ addi r1, r1, 0x20
/* 8010CBAC 001089EC 4E 80 00 20 */ blr
.global Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei
Skip__Q44nw4r3snd6detail9SeqPlayerFQ54nw4r3snd6detail9SeqPlayer10OffsetTypei:
/* 8010CBB0 001089F0 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010CBB4 001089F4 7C 08 02 A6 */ mflr r0
/* 8010CBB8 001089F8 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010CBBC 001089FC 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010CBC0 00108A00 7C BF 2B 78 */ mr r31, r5
/* 8010CBC4 00108A04 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010CBC8 00108A08 7C 9E 23 78 */ mr r30, r4
/* 8010CBCC 00108A0C 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010CBD0 00108A10 7C 7D 1B 78 */ mr r29, r3
/* 8010CBD4 00108A14 48 00 81 0D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CBD8 00108A18 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CBDC 00108A1C 4B F1 5F C5 */ bl OSLockMutex
/* 8010CBE0 00108A20 88 1D 00 CC */ lbz r0, 0xcc(r29)
/* 8010CBE4 00108A24 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CBE8 00108A28 40 82 00 14 */ bne lbl_8010CBFC
/* 8010CBEC 00108A2C 48 00 80 F5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CBF0 00108A30 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CBF4 00108A34 4B F1 60 8D */ bl OSUnlockMutex
/* 8010CBF8 00108A38 48 00 00 5C */ b lbl_8010CC54
.global lbl_8010CBFC
lbl_8010CBFC:
/* 8010CBFC 00108A3C 2C 1E 00 00 */ cmpwi r30, 0x0
/* 8010CC00 00108A40 41 82 00 10 */ beq lbl_8010CC10
/* 8010CC04 00108A44 2C 1E 00 01 */ cmpwi r30, 0x1
/* 8010CC08 00108A48 41 82 00 18 */ beq lbl_8010CC20
/* 8010CC0C 00108A4C 48 00 00 3C */ b lbl_8010CC48
.global lbl_8010CC10
lbl_8010CC10:
/* 8010CC10 00108A50 80 1D 00 DC */ lwz r0, 0xdc(r29)
/* 8010CC14 00108A54 7C 00 FA 14 */ add r0, r0, r31
/* 8010CC18 00108A58 90 1D 00 DC */ stw r0, 0xdc(r29)
/* 8010CC1C 00108A5C 48 00 00 2C */ b lbl_8010CC48
.global lbl_8010CC20
lbl_8010CC20:
/* 8010CC20 00108A60 6F E3 80 00 */ xoris r3, r31, 0x8000
/* 8010CC24 00108A64 3C 00 43 30 */ lis r0, 0x4330
/* 8010CC28 00108A68 90 61 00 0C */ stw r3, 0xc(r1)
/* 8010CC2C 00108A6C C8 42 94 00 */ lfd f2, "@11523"@sda21(r2)
/* 8010CC30 00108A70 90 01 00 08 */ stw r0, 0x8(r1)
/* 8010CC34 00108A74 C0 1D 00 E0 */ lfs f0, 0xe0(r29)
/* 8010CC38 00108A78 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 8010CC3C 00108A7C EC 21 10 28 */ fsubs f1, f1, f2
/* 8010CC40 00108A80 EC 00 08 2A */ fadds f0, f0, f1
/* 8010CC44 00108A84 D0 1D 00 E0 */ stfs f0, 0xe0(r29)
.global lbl_8010CC48
lbl_8010CC48:
/* 8010CC48 00108A88 48 00 80 99 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CC4C 00108A8C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CC50 00108A90 4B F1 60 31 */ bl OSUnlockMutex
.global lbl_8010CC54
lbl_8010CC54:
/* 8010CC54 00108A94 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010CC58 00108A98 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010CC5C 00108A9C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010CC60 00108AA0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010CC64 00108AA4 7C 08 03 A6 */ mtlr r0
/* 8010CC68 00108AA8 38 21 00 20 */ addi r1, r1, 0x20
/* 8010CC6C 00108AAC 4E 80 00 20 */ blr
.global SetChannelPriority__Q44nw4r3snd6detail9SeqPlayerFi
SetChannelPriority__Q44nw4r3snd6detail9SeqPlayerFi:
/* 8010CC70 00108AB0 98 83 00 E9 */ stb r4, 0xe9(r3)
/* 8010CC74 00108AB4 4E 80 00 20 */ blr
/* 8010CC78 00108AB8 00 00 00 00 */ .4byte 0x00000000
/* 8010CC7C 00108ABC 00 00 00 00 */ .4byte 0x00000000
.global SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb
SetReleasePriorityFix__Q44nw4r3snd6detail9SeqPlayerFb:
/* 8010CC80 00108AC0 98 83 00 CF */ stb r4, 0xcf(r3)
/* 8010CC84 00108AC4 4E 80 00 20 */ blr
/* 8010CC88 00108AC8 00 00 00 00 */ .4byte 0x00000000
/* 8010CC8C 00108ACC 00 00 00 00 */ .4byte 0x00000000
.global SetSeqUserprocCallback__Q44nw4r3snd6detail9SeqPlayerFPFUsPQ34nw4r3snd24SeqUserprocCallbackParamPv_vPv
SetSeqUserprocCallback__Q44nw4r3snd6detail9SeqPlayerFPFUsPQ34nw4r3snd24SeqUserprocCallbackParamPv_vPv:
/* 8010CC90 00108AD0 90 83 00 F8 */ stw r4, 0xf8(r3)
/* 8010CC94 00108AD4 90 A3 00 FC */ stw r5, 0xfc(r3)
/* 8010CC98 00108AD8 4E 80 00 20 */ blr
/* 8010CC9C 00108ADC 00 00 00 00 */ .4byte 0x00000000
.global CallSeqUserprocCallback__Q44nw4r3snd6detail9SeqPlayerFUsPQ44nw4r3snd6detail8SeqTrack
CallSeqUserprocCallback__Q44nw4r3snd6detail9SeqPlayerFUsPQ44nw4r3snd6detail8SeqTrack:
/* 8010CCA0 00108AE0 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8010CCA4 00108AE4 7C 08 02 A6 */ mflr r0
/* 8010CCA8 00108AE8 90 01 00 34 */ stw r0, 0x34(r1)
/* 8010CCAC 00108AEC 93 E1 00 2C */ stw r31, 0x2c(r1)
/* 8010CCB0 00108AF0 7C BF 2B 78 */ mr r31, r5
/* 8010CCB4 00108AF4 93 C1 00 28 */ stw r30, 0x28(r1)
/* 8010CCB8 00108AF8 7C 9E 23 78 */ mr r30, r4
/* 8010CCBC 00108AFC 93 A1 00 24 */ stw r29, 0x24(r1)
/* 8010CCC0 00108B00 7C 7D 1B 78 */ mr r29, r3
/* 8010CCC4 00108B04 80 03 00 F8 */ lwz r0, 0xf8(r3)
/* 8010CCC8 00108B08 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CCCC 00108B0C 41 82 00 50 */ beq lbl_8010CD1C
/* 8010CCD0 00108B10 3C A0 80 53 */ lis r5, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@ha
/* 8010CCD4 00108B14 38 03 01 40 */ addi r0, r3, 0x140
/* 8010CCD8 00108B18 38 A5 8C 88 */ addi r5, r5, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@l
/* 8010CCDC 00108B1C 90 01 00 08 */ stw r0, 0x8(r1)
/* 8010CCE0 00108B20 7F E3 FB 78 */ mr r3, r31
/* 8010CCE4 00108B24 38 80 00 00 */ li r4, 0x0
/* 8010CCE8 00108B28 90 A1 00 0C */ stw r5, 0xc(r1)
/* 8010CCEC 00108B2C 48 00 22 95 */ bl GetVariablePtr__Q44nw4r3snd6detail8SeqTrackFi
/* 8010CCF0 00108B30 90 61 00 10 */ stw r3, 0x10(r1)
/* 8010CCF4 00108B34 7F C3 F3 78 */ mr r3, r30
/* 8010CCF8 00108B38 38 81 00 08 */ addi r4, r1, 0x8
/* 8010CCFC 00108B3C 88 1F 00 24 */ lbz r0, 0x24(r31)
/* 8010CD00 00108B40 98 01 00 14 */ stb r0, 0x14(r1)
/* 8010CD04 00108B44 81 9D 00 F8 */ lwz r12, 0xf8(r29)
/* 8010CD08 00108B48 80 BD 00 FC */ lwz r5, 0xfc(r29)
/* 8010CD0C 00108B4C 7D 89 03 A6 */ mtctr r12
/* 8010CD10 00108B50 4E 80 04 21 */ bctrl
/* 8010CD14 00108B54 88 01 00 14 */ lbz r0, 0x14(r1)
/* 8010CD18 00108B58 98 1F 00 24 */ stb r0, 0x24(r31)
.global lbl_8010CD1C
lbl_8010CD1C:
/* 8010CD1C 00108B5C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8010CD20 00108B60 83 E1 00 2C */ lwz r31, 0x2c(r1)
/* 8010CD24 00108B64 83 C1 00 28 */ lwz r30, 0x28(r1)
/* 8010CD28 00108B68 83 A1 00 24 */ lwz r29, 0x24(r1)
/* 8010CD2C 00108B6C 7C 08 03 A6 */ mtlr r0
/* 8010CD30 00108B70 38 21 00 30 */ addi r1, r1, 0x30
/* 8010CD34 00108B74 4E 80 00 20 */ blr
/* 8010CD38 00108B78 00 00 00 00 */ .4byte 0x00000000
/* 8010CD3C 00108B7C 00 00 00 00 */ .4byte 0x00000000
.global InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv
InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv:
/* 8010CD40 00108B80 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 8010CD44 00108B84 7C 08 02 A6 */ mflr r0
/* 8010CD48 00108B88 90 01 00 24 */ stw r0, 0x24(r1)
/* 8010CD4C 00108B8C 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010CD50 00108B90 7C 7F 1B 78 */ mr r31, r3
/* 8010CD54 00108B94 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010CD58 00108B98 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010CD5C 00108B9C 7C 9D 23 78 */ mr r29, r4
/* 8010CD60 00108BA0 93 81 00 10 */ stw r28, 0x10(r1)
/* 8010CD64 00108BA4 7C BC 2B 78 */ mr r28, r5
/* 8010CD68 00108BA8 48 00 7F 79 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CD6C 00108BAC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CD70 00108BB0 4B F1 5E 31 */ bl OSLockMutex
/* 8010CD74 00108BB4 88 1F 00 CC */ lbz r0, 0xcc(r31)
/* 8010CD78 00108BB8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CD7C 00108BBC 41 82 01 54 */ beq lbl_8010CED0
/* 8010CD80 00108BC0 38 00 00 10 */ li r0, 0x10
/* 8010CD84 00108BC4 38 60 00 00 */ li r3, 0x0
/* 8010CD88 00108BC8 7C 09 03 A6 */ mtctr r0
/* 8010CD8C 00108BCC 60 00 00 00 */ nop
.global lbl_8010CD90
lbl_8010CD90:
/* 8010CD90 00108BD0 7C 9F 1A 14 */ add r4, r31, r3
/* 8010CD94 00108BD4 80 84 01 00 */ lwz r4, 0x100(r4)
/* 8010CD98 00108BD8 2C 04 00 00 */ cmpwi r4, 0x0
/* 8010CD9C 00108BDC 41 82 01 2C */ beq lbl_8010CEC8
/* 8010CDA0 00108BE0 80 04 00 1C */ lwz r0, 0x1c(r4)
/* 8010CDA4 00108BE4 7C 1D 00 40 */ cmplw r29, r0
/* 8010CDA8 00108BE8 41 81 01 20 */ bgt lbl_8010CEC8
/* 8010CDAC 00108BEC 7C 00 E0 40 */ cmplw r0, r28
/* 8010CDB0 00108BF0 41 81 01 18 */ bgt lbl_8010CEC8
/* 8010CDB4 00108BF4 48 00 7F 2D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CDB8 00108BF8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CDBC 00108BFC 4B F1 5D E5 */ bl OSLockMutex
/* 8010CDC0 00108C00 48 00 7F 21 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CDC4 00108C04 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CDC8 00108C08 4B F1 5D D9 */ bl OSLockMutex
/* 8010CDCC 00108C0C 88 1F 00 CD */ lbz r0, 0xcd(r31)
/* 8010CDD0 00108C10 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CDD4 00108C14 41 82 00 28 */ beq lbl_8010CDFC
/* 8010CDD8 00108C18 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010CDDC 00108C1C 7F FD FB 78 */ mr r29, r31
/* 8010CDE0 00108C20 41 82 00 08 */ beq lbl_8010CDE8
/* 8010CDE4 00108C24 3B BF 00 C0 */ addi r29, r31, 0xc0
.global lbl_8010CDE8
lbl_8010CDE8:
/* 8010CDE8 00108C28 48 00 7E F9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CDEC 00108C2C 7F A4 EB 78 */ mr r4, r29
/* 8010CDF0 00108C30 48 00 84 91 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010CDF4 00108C34 38 00 00 00 */ li r0, 0x0
/* 8010CDF8 00108C38 98 1F 00 CD */ stb r0, 0xcd(r31)
.global lbl_8010CDFC
lbl_8010CDFC:
/* 8010CDFC 00108C3C 88 1F 00 CC */ lbz r0, 0xcc(r31)
/* 8010CE00 00108C40 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CE04 00108C44 41 82 00 28 */ beq lbl_8010CE2C
/* 8010CE08 00108C48 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010CE0C 00108C4C 7F FD FB 78 */ mr r29, r31
/* 8010CE10 00108C50 41 82 00 08 */ beq lbl_8010CE18
/* 8010CE14 00108C54 3B BF 00 B4 */ addi r29, r31, 0xb4
.global lbl_8010CE18
lbl_8010CE18:
/* 8010CE18 00108C58 4B FF B2 59 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010CE1C 00108C5C 7F A4 EB 78 */ mr r4, r29
/* 8010CE20 00108C60 4B FF B3 71 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010CE24 00108C64 38 00 00 00 */ li r0, 0x0
/* 8010CE28 00108C68 98 1F 00 CC */ stb r0, 0xcc(r31)
.global lbl_8010CE2C
lbl_8010CE2C:
/* 8010CE2C 00108C6C 7F FC FB 78 */ mr r28, r31
/* 8010CE30 00108C70 3B A0 00 00 */ li r29, 0x0
/* 8010CE34 00108C74 3B C0 00 00 */ li r30, 0x0
.global lbl_8010CE38
lbl_8010CE38:
/* 8010CE38 00108C78 48 00 7E A9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CE3C 00108C7C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CE40 00108C80 4B F1 5D 61 */ bl OSLockMutex
/* 8010CE44 00108C84 2C 1D 00 0F */ cmpwi r29, 0xf
/* 8010CE48 00108C88 40 81 00 0C */ ble lbl_8010CE54
/* 8010CE4C 00108C8C 38 60 00 00 */ li r3, 0x0
/* 8010CE50 00108C90 48 00 00 08 */ b lbl_8010CE58
.global lbl_8010CE54
lbl_8010CE54:
/* 8010CE54 00108C94 80 7C 01 00 */ lwz r3, 0x100(r28)
.global lbl_8010CE58
lbl_8010CE58:
/* 8010CE58 00108C98 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010CE5C 00108C9C 40 82 00 14 */ bne lbl_8010CE70
/* 8010CE60 00108CA0 48 00 7E 81 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CE64 00108CA4 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CE68 00108CA8 4B F1 5E 19 */ bl OSUnlockMutex
/* 8010CE6C 00108CAC 48 00 00 30 */ b lbl_8010CE9C
.global lbl_8010CE70
lbl_8010CE70:
/* 8010CE70 00108CB0 48 00 14 61 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010CE74 00108CB4 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8010CE78 00108CB8 80 9C 01 00 */ lwz r4, 0x100(r28)
/* 8010CE7C 00108CBC 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010CE80 00108CC0 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010CE84 00108CC4 7D 89 03 A6 */ mtctr r12
/* 8010CE88 00108CC8 4E 80 04 21 */ bctrl
/* 8010CE8C 00108CCC 93 DC 01 00 */ stw r30, 0x100(r28)
/* 8010CE90 00108CD0 48 00 7E 51 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CE94 00108CD4 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CE98 00108CD8 4B F1 5D E9 */ bl OSUnlockMutex
.global lbl_8010CE9C
lbl_8010CE9C:
/* 8010CE9C 00108CDC 3B BD 00 01 */ addi r29, r29, 0x1
/* 8010CEA0 00108CE0 3B 9C 00 04 */ addi r28, r28, 0x4
/* 8010CEA4 00108CE4 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8010CEA8 00108CE8 41 80 FF 90 */ blt lbl_8010CE38
/* 8010CEAC 00108CEC 48 00 7E 35 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CEB0 00108CF0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CEB4 00108CF4 4B F1 5D CD */ bl OSUnlockMutex
/* 8010CEB8 00108CF8 48 00 7E 29 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CEBC 00108CFC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CEC0 00108D00 4B F1 5D C1 */ bl OSUnlockMutex
/* 8010CEC4 00108D04 48 00 00 0C */ b lbl_8010CED0
.global lbl_8010CEC8
lbl_8010CEC8:
/* 8010CEC8 00108D08 38 63 00 04 */ addi r3, r3, 0x4
/* 8010CECC 00108D0C 42 00 FE C4 */ bdnz lbl_8010CD90
.global lbl_8010CED0
lbl_8010CED0:
/* 8010CED0 00108D10 48 00 7E 11 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CED4 00108D14 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CED8 00108D18 4B F1 5D A9 */ bl OSUnlockMutex
/* 8010CEDC 00108D1C 80 01 00 24 */ lwz r0, 0x24(r1)
/* 8010CEE0 00108D20 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010CEE4 00108D24 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010CEE8 00108D28 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010CEEC 00108D2C 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8010CEF0 00108D30 7C 08 03 A6 */ mtlr r0
/* 8010CEF4 00108D34 38 21 00 20 */ addi r1, r1, 0x20
/* 8010CEF8 00108D38 4E 80 00 20 */ blr
/* 8010CEFC 00108D3C 00 00 00 00 */ .4byte 0x00000000
.global GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi
GetPlayerTrack__Q44nw4r3snd6detail9SeqPlayerFi:
/* 8010CF00 00108D40 2C 04 00 0F */ cmpwi r4, 0xf
/* 8010CF04 00108D44 40 81 00 0C */ ble lbl_8010CF10
/* 8010CF08 00108D48 38 60 00 00 */ li r3, 0x0
/* 8010CF0C 00108D4C 4E 80 00 20 */ blr
.global lbl_8010CF10
lbl_8010CF10:
/* 8010CF10 00108D50 54 80 10 3A */ slwi r0, r4, 2
/* 8010CF14 00108D54 7C 63 02 14 */ add r3, r3, r0
/* 8010CF18 00108D58 80 63 01 00 */ lwz r3, 0x100(r3)
/* 8010CF1C 00108D5C 4E 80 00 20 */ blr
.global ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb:
/* 8010CF20 00108D60 94 21 FF D0 */ stwu r1, -0x30(r1)
/* 8010CF24 00108D64 7C 08 02 A6 */ mflr r0
/* 8010CF28 00108D68 90 01 00 34 */ stw r0, 0x34(r1)
/* 8010CF2C 00108D6C 39 61 00 30 */ addi r11, r1, 0x30
/* 8010CF30 00108D70 4B EF A4 01 */ bl lbl_80007330
/* 8010CF34 00108D74 7C 78 1B 78 */ mr r24, r3
/* 8010CF38 00108D78 7C 99 23 78 */ mr r25, r4
/* 8010CF3C 00108D7C 48 00 7D A5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CF40 00108D80 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CF44 00108D84 4B F1 5C 5D */ bl OSLockMutex
/* 8010CF48 00108D88 3B 60 00 00 */ li r27, 0x0
/* 8010CF4C 00108D8C 3B 40 00 00 */ li r26, 0x0
/* 8010CF50 00108D90 7F 7E DB 78 */ mr r30, r27
/* 8010CF54 00108D94 3B E0 00 00 */ li r31, 0x0
.global lbl_8010CF58
lbl_8010CF58:
/* 8010CF58 00108D98 7F B8 FA 14 */ add r29, r24, r31
/* 8010CF5C 00108D9C 83 9D 01 00 */ lwz r28, 0x100(r29)
/* 8010CF60 00108DA0 2C 1C 00 00 */ cmpwi r28, 0x0
/* 8010CF64 00108DA4 41 82 00 94 */ beq lbl_8010CFF8
/* 8010CF68 00108DA8 7F 83 E3 78 */ mr r3, r28
/* 8010CF6C 00108DAC 48 00 14 35 */ bl UpdateChannelLength__Q44nw4r3snd6detail8SeqTrackFv
/* 8010CF70 00108DB0 7F 83 E3 78 */ mr r3, r28
/* 8010CF74 00108DB4 7F 24 CB 78 */ mr r4, r25
/* 8010CF78 00108DB8 48 00 14 F9 */ bl ParseNextTick__Q44nw4r3snd6detail8SeqTrackFb
/* 8010CF7C 00108DBC 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010CF80 00108DC0 40 80 00 68 */ bge lbl_8010CFE8
/* 8010CF84 00108DC4 48 00 7D 5D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CF88 00108DC8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CF8C 00108DCC 4B F1 5C 15 */ bl OSLockMutex
/* 8010CF90 00108DD0 2C 1A 00 0F */ cmpwi r26, 0xf
/* 8010CF94 00108DD4 40 81 00 0C */ ble lbl_8010CFA0
/* 8010CF98 00108DD8 38 60 00 00 */ li r3, 0x0
/* 8010CF9C 00108DDC 48 00 00 08 */ b lbl_8010CFA4
.global lbl_8010CFA0
lbl_8010CFA0:
/* 8010CFA0 00108DE0 80 7D 01 00 */ lwz r3, 0x100(r29)
.global lbl_8010CFA4
lbl_8010CFA4:
/* 8010CFA4 00108DE4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010CFA8 00108DE8 40 82 00 14 */ bne lbl_8010CFBC
/* 8010CFAC 00108DEC 48 00 7D 35 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CFB0 00108DF0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CFB4 00108DF4 4B F1 5C CD */ bl OSUnlockMutex
/* 8010CFB8 00108DF8 48 00 00 30 */ b lbl_8010CFE8
.global lbl_8010CFBC
lbl_8010CFBC:
/* 8010CFBC 00108DFC 48 00 13 15 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010CFC0 00108E00 80 78 00 F4 */ lwz r3, 0xf4(r24)
/* 8010CFC4 00108E04 80 9D 01 00 */ lwz r4, 0x100(r29)
/* 8010CFC8 00108E08 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010CFCC 00108E0C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010CFD0 00108E10 7D 89 03 A6 */ mtctr r12
/* 8010CFD4 00108E14 4E 80 04 21 */ bctrl
/* 8010CFD8 00108E18 93 DD 01 00 */ stw r30, 0x100(r29)
/* 8010CFDC 00108E1C 48 00 7D 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010CFE0 00108E20 38 63 03 54 */ addi r3, r3, 0x354
/* 8010CFE4 00108E24 4B F1 5C 9D */ bl OSUnlockMutex
.global lbl_8010CFE8
lbl_8010CFE8:
/* 8010CFE8 00108E28 88 1C 00 05 */ lbz r0, 0x5(r28)
/* 8010CFEC 00108E2C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010CFF0 00108E30 41 82 00 08 */ beq lbl_8010CFF8
/* 8010CFF4 00108E34 3B 60 00 01 */ li r27, 0x1
.global lbl_8010CFF8
lbl_8010CFF8:
/* 8010CFF8 00108E38 3B 5A 00 01 */ addi r26, r26, 0x1
/* 8010CFFC 00108E3C 3B FF 00 04 */ addi r31, r31, 0x4
/* 8010D000 00108E40 2C 1A 00 10 */ cmpwi r26, 0x10
/* 8010D004 00108E44 41 80 FF 54 */ blt lbl_8010CF58
/* 8010D008 00108E48 2C 1B 00 00 */ cmpwi r27, 0x0
/* 8010D00C 00108E4C 40 82 00 18 */ bne lbl_8010D024
/* 8010D010 00108E50 48 00 7C D1 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D014 00108E54 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D018 00108E58 4B F1 5C 69 */ bl OSUnlockMutex
/* 8010D01C 00108E5C 38 60 00 01 */ li r3, 0x1
/* 8010D020 00108E60 48 00 00 14 */ b lbl_8010D034
.global lbl_8010D024
lbl_8010D024:
/* 8010D024 00108E64 48 00 7C BD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D028 00108E68 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D02C 00108E6C 4B F1 5C 55 */ bl OSUnlockMutex
/* 8010D030 00108E70 38 60 00 00 */ li r3, 0x0
.global lbl_8010D034
lbl_8010D034:
/* 8010D034 00108E74 39 61 00 30 */ addi r11, r1, 0x30
/* 8010D038 00108E78 4B EF A3 45 */ bl lbl_8000737C
/* 8010D03C 00108E7C 80 01 00 34 */ lwz r0, 0x34(r1)
/* 8010D040 00108E80 7C 08 03 A6 */ mtlr r0
/* 8010D044 00108E84 38 21 00 30 */ addi r1, r1, 0x30
/* 8010D048 00108E88 4E 80 00 20 */ blr
/* 8010D04C 00108E8C 00 00 00 00 */ .4byte 0x00000000
.global GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi
GetVariablePtr__Q44nw4r3snd6detail9SeqPlayerFi:
/* 8010D050 00108E90 2C 04 00 10 */ cmpwi r4, 0x10
/* 8010D054 00108E94 40 80 00 14 */ bge lbl_8010D068
/* 8010D058 00108E98 54 80 08 3C */ slwi r0, r4, 1
/* 8010D05C 00108E9C 7C 63 02 14 */ add r3, r3, r0
/* 8010D060 00108EA0 38 63 01 40 */ addi r3, r3, 0x140
/* 8010D064 00108EA4 4E 80 00 20 */ blr
.global lbl_8010D068
lbl_8010D068:
/* 8010D068 00108EA8 2C 04 00 20 */ cmpwi r4, 0x20
/* 8010D06C 00108EAC 38 60 00 00 */ li r3, 0x0
/* 8010D070 00108EB0 4C 80 00 20 */ bgelr
/* 8010D074 00108EB4 38 04 FF F0 */ addi r0, r4, -0x10
/* 8010D078 00108EB8 3C 60 80 53 */ lis r3, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@ha
/* 8010D07C 00108EBC 54 00 08 3C */ slwi r0, r0, 1
/* 8010D080 00108EC0 38 63 8C 88 */ addi r3, r3, mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer@l
/* 8010D084 00108EC4 7C 63 02 14 */ add r3, r3, r0
/* 8010D088 00108EC8 4E 80 00 20 */ blr
/* 8010D08C 00108ECC 00 00 00 00 */ .4byte 0x00000000
.global Update__Q44nw4r3snd6detail9SeqPlayerFv
Update__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010D090 00108ED0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 8010D094 00108ED4 7C 08 02 A6 */ mflr r0
/* 8010D098 00108ED8 90 01 00 14 */ stw r0, 0x14(r1)
/* 8010D09C 00108EDC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 8010D0A0 00108EE0 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D0A4 00108EE4 7C 7E 1B 78 */ mr r30, r3
/* 8010D0A8 00108EE8 48 00 7C 39 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D0AC 00108EEC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D0B0 00108EF0 4B F1 5A F1 */ bl OSLockMutex
/* 8010D0B4 00108EF4 88 1E 00 CC */ lbz r0, 0xcc(r30)
/* 8010D0B8 00108EF8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D0BC 00108EFC 40 82 00 14 */ bne lbl_8010D0D0
/* 8010D0C0 00108F00 48 00 7C 21 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D0C4 00108F04 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D0C8 00108F08 4B F1 5B B9 */ bl OSUnlockMutex
/* 8010D0CC 00108F0C 48 00 00 B8 */ b lbl_8010D184
.global lbl_8010D0D0
lbl_8010D0D0:
/* 8010D0D0 00108F10 88 1E 00 CD */ lbz r0, 0xcd(r30)
/* 8010D0D4 00108F14 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D0D8 00108F18 40 82 00 14 */ bne lbl_8010D0EC
/* 8010D0DC 00108F1C 48 00 7C 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D0E0 00108F20 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D0E4 00108F24 4B F1 5B 9D */ bl OSUnlockMutex
/* 8010D0E8 00108F28 48 00 00 9C */ b lbl_8010D184
.global lbl_8010D0EC
lbl_8010D0EC:
/* 8010D0EC 00108F2C 80 1E 00 DC */ lwz r0, 0xdc(r30)
/* 8010D0F0 00108F30 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D0F4 00108F34 40 82 00 14 */ bne lbl_8010D108
/* 8010D0F8 00108F38 C0 3E 00 E0 */ lfs f1, 0xe0(r30)
/* 8010D0FC 00108F3C C0 02 93 FC */ lfs f0, "@11284"@sda21(r2)
/* 8010D100 00108F40 FC 01 00 40 */ fcmpo cr0, f1, f0
/* 8010D104 00108F44 40 81 00 10 */ ble lbl_8010D114
.global lbl_8010D108
lbl_8010D108:
/* 8010D108 00108F48 7F C3 F3 78 */ mr r3, r30
/* 8010D10C 00108F4C 48 00 03 05 */ bl SkipTick__Q44nw4r3snd6detail9SeqPlayerFv
/* 8010D110 00108F50 48 00 00 1C */ b lbl_8010D12C
.global lbl_8010D114
lbl_8010D114:
/* 8010D114 00108F54 88 1E 00 CE */ lbz r0, 0xce(r30)
/* 8010D118 00108F58 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D11C 00108F5C 40 82 00 10 */ bne lbl_8010D12C
/* 8010D120 00108F60 7F C3 F3 78 */ mr r3, r30
/* 8010D124 00108F64 38 80 00 03 */ li r4, 0x3
/* 8010D128 00108F68 48 00 00 79 */ bl UpdateTick__Q44nw4r3snd6detail9SeqPlayerFi
.global lbl_8010D12C
lbl_8010D12C:
/* 8010D12C 00108F6C 48 00 7B B5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D130 00108F70 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D134 00108F74 4B F1 5A 6D */ bl OSLockMutex
/* 8010D138 00108F78 3B E0 00 00 */ li r31, 0x0
.global lbl_8010D13C
lbl_8010D13C:
/* 8010D13C 00108F7C 2C 1F 00 0F */ cmpwi r31, 0xf
/* 8010D140 00108F80 40 81 00 0C */ ble lbl_8010D14C
/* 8010D144 00108F84 38 60 00 00 */ li r3, 0x0
/* 8010D148 00108F88 48 00 00 08 */ b lbl_8010D150
.global lbl_8010D14C
lbl_8010D14C:
/* 8010D14C 00108F8C 80 7E 01 00 */ lwz r3, 0x100(r30)
.global lbl_8010D150
lbl_8010D150:
/* 8010D150 00108F90 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010D154 00108F94 41 82 00 08 */ beq lbl_8010D15C
/* 8010D158 00108F98 48 00 15 D9 */ bl UpdateChannelParam__Q44nw4r3snd6detail8SeqTrackFv
.global lbl_8010D15C
lbl_8010D15C:
/* 8010D15C 00108F9C 3B FF 00 01 */ addi r31, r31, 0x1
/* 8010D160 00108FA0 3B DE 00 04 */ addi r30, r30, 0x4
/* 8010D164 00108FA4 2C 1F 00 10 */ cmpwi r31, 0x10
/* 8010D168 00108FA8 41 80 FF D4 */ blt lbl_8010D13C
/* 8010D16C 00108FAC 48 00 7B 75 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D170 00108FB0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D174 00108FB4 4B F1 5B 0D */ bl OSUnlockMutex
/* 8010D178 00108FB8 48 00 7B 69 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D17C 00108FBC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D180 00108FC0 4B F1 5B 01 */ bl OSUnlockMutex
.global lbl_8010D184
lbl_8010D184:
/* 8010D184 00108FC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 8010D188 00108FC8 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 8010D18C 00108FCC 83 C1 00 08 */ lwz r30, 0x8(r1)
/* 8010D190 00108FD0 7C 08 03 A6 */ mtlr r0
/* 8010D194 00108FD4 38 21 00 10 */ addi r1, r1, 0x10
/* 8010D198 00108FD8 4E 80 00 20 */ blr
/* 8010D19C 00108FDC 00 00 00 00 */ .4byte 0x00000000
.global UpdateTick__Q44nw4r3snd6detail9SeqPlayerFi
UpdateTick__Q44nw4r3snd6detail9SeqPlayerFi:
/* 8010D1A0 00108FE0 94 21 FF 90 */ stwu r1, -0x70(r1)
/* 8010D1A4 00108FE4 7C 08 02 A6 */ mflr r0
/* 8010D1A8 00108FE8 90 01 00 74 */ stw r0, 0x74(r1)
/* 8010D1AC 00108FEC DB E1 00 60 */ stfd f31, 0x60(r1)
/* 8010D1B0 00108FF0 F3 E1 00 68 */ psq_st f31, 0x68(r1), 0, qr0
/* 8010D1B4 00108FF4 DB C1 00 50 */ stfd f30, 0x50(r1)
/* 8010D1B8 00108FF8 F3 C1 00 58 */ psq_st f30, 0x58(r1), 0, qr0
/* 8010D1BC 00108FFC C3 C2 93 FC */ lfs f30, "@11284"@sda21(r2)
/* 8010D1C0 00109000 DB A1 00 40 */ stfd f29, 0x40(r1)
/* 8010D1C4 00109004 F3 A1 00 48 */ psq_st f29, 0x48(r1), 0, qr0
/* 8010D1C8 00109008 C3 A2 94 08 */ lfs f29, "@11919"@sda21(r2)
/* 8010D1CC 0010900C DB 81 00 30 */ stfd f28, 0x30(r1)
/* 8010D1D0 00109010 F3 81 00 38 */ psq_st f28, 0x38(r1), 0, qr0
/* 8010D1D4 00109014 CB 82 94 00 */ lfd f28, "@11523"@sda21(r2)
/* 8010D1D8 00109018 DB 61 00 20 */ stfd f27, 0x20(r1)
/* 8010D1DC 0010901C F3 61 00 28 */ psq_st f27, 0x28(r1), 0, qr0
/* 8010D1E0 00109020 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010D1E4 00109024 7C 7F 1B 78 */ mr r31, r3
/* 8010D1E8 00109028 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010D1EC 0010902C 3F C0 43 30 */ lis r30, 0x4330
/* 8010D1F0 00109030 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010D1F4 00109034 93 81 00 10 */ stw r28, 0x10(r1)
/* 8010D1F8 00109038 88 A3 00 EA */ lbz r5, 0xea(r3)
/* 8010D1FC 0010903C A0 03 00 EC */ lhz r0, 0xec(r3)
/* 8010D200 00109040 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D204 00109044 7C 05 01 D6 */ mullw r0, r5, r0
/* 8010D208 00109048 C0 03 00 D4 */ lfs f0, 0xd4(r3)
/* 8010D20C 0010904C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8010D210 00109050 90 01 00 0C */ stw r0, 0xc(r1)
/* 8010D214 00109054 C8 21 00 08 */ lfd f1, 0x8(r1)
/* 8010D218 00109058 EC 21 E0 28 */ fsubs f1, f1, f28
/* 8010D21C 0010905C EC 00 00 72 */ fmuls f0, f0, f1
/* 8010D220 00109060 EC 20 E8 24 */ fdivs f1, f0, f29
/* 8010D224 00109064 FC 1E 08 00 */ fcmpu cr0, f30, f1
/* 8010D228 00109068 41 82 01 94 */ beq lbl_8010D3BC
/* 8010D22C 0010906C C0 03 00 D8 */ lfs f0, 0xd8(r3)
/* 8010D230 00109070 6C 80 80 00 */ xoris r0, r4, 0x8000
/* 8010D234 00109074 90 01 00 0C */ stw r0, 0xc(r1)
/* 8010D238 00109078 EC 40 08 24 */ fdivs f2, f0, f1
/* 8010D23C 0010907C C3 E2 93 F8 */ lfs f31, "@11283"@sda21(r2)
/* 8010D240 00109080 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D244 00109084 C8 01 00 08 */ lfd f0, 0x8(r1)
/* 8010D248 00109088 EF 60 E0 28 */ fsubs f27, f0, f28
/* 8010D24C 0010908C 48 00 01 5C */ b lbl_8010D3A8
.global lbl_8010D250
lbl_8010D250:
/* 8010D250 00109090 EF 7B 10 28 */ fsubs f27, f27, f2
/* 8010D254 00109094 7F E3 FB 78 */ mr r3, r31
/* 8010D258 00109098 38 80 00 01 */ li r4, 0x1
/* 8010D25C 0010909C 4B FF FC C5 */ bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
/* 8010D260 001090A0 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010D264 001090A4 41 82 01 00 */ beq lbl_8010D364
/* 8010D268 001090A8 48 00 7A 79 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D26C 001090AC 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D270 001090B0 4B F1 59 31 */ bl OSLockMutex
/* 8010D274 001090B4 88 1F 00 CD */ lbz r0, 0xcd(r31)
/* 8010D278 001090B8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D27C 001090BC 41 82 00 28 */ beq lbl_8010D2A4
/* 8010D280 001090C0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010D284 001090C4 7F FD FB 78 */ mr r29, r31
/* 8010D288 001090C8 41 82 00 08 */ beq lbl_8010D290
/* 8010D28C 001090CC 3B BF 00 C0 */ addi r29, r31, 0xc0
.global lbl_8010D290
lbl_8010D290:
/* 8010D290 001090D0 48 00 7A 51 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D294 001090D4 7F A4 EB 78 */ mr r4, r29
/* 8010D298 001090D8 48 00 7F E9 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010D29C 001090DC 38 00 00 00 */ li r0, 0x0
/* 8010D2A0 001090E0 98 1F 00 CD */ stb r0, 0xcd(r31)
.global lbl_8010D2A4
lbl_8010D2A4:
/* 8010D2A4 001090E4 88 1F 00 CC */ lbz r0, 0xcc(r31)
/* 8010D2A8 001090E8 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D2AC 001090EC 41 82 00 28 */ beq lbl_8010D2D4
/* 8010D2B0 001090F0 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010D2B4 001090F4 7F FD FB 78 */ mr r29, r31
/* 8010D2B8 001090F8 41 82 00 08 */ beq lbl_8010D2C0
/* 8010D2BC 001090FC 3B BF 00 B4 */ addi r29, r31, 0xb4
.global lbl_8010D2C0
lbl_8010D2C0:
/* 8010D2C0 00109100 4B FF AD B1 */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010D2C4 00109104 7F A4 EB 78 */ mr r4, r29
/* 8010D2C8 00109108 4B FF AE C9 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010D2CC 0010910C 38 00 00 00 */ li r0, 0x0
/* 8010D2D0 00109110 98 1F 00 CC */ stb r0, 0xcc(r31)
.global lbl_8010D2D4
lbl_8010D2D4:
/* 8010D2D4 00109114 7F FC FB 78 */ mr r28, r31
/* 8010D2D8 00109118 3B A0 00 00 */ li r29, 0x0
/* 8010D2DC 0010911C 3B C0 00 00 */ li r30, 0x0
.global lbl_8010D2E0
lbl_8010D2E0:
/* 8010D2E0 00109120 48 00 7A 01 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D2E4 00109124 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D2E8 00109128 4B F1 58 B9 */ bl OSLockMutex
/* 8010D2EC 0010912C 2C 1D 00 0F */ cmpwi r29, 0xf
/* 8010D2F0 00109130 40 81 00 0C */ ble lbl_8010D2FC
/* 8010D2F4 00109134 38 60 00 00 */ li r3, 0x0
/* 8010D2F8 00109138 48 00 00 08 */ b lbl_8010D300
.global lbl_8010D2FC
lbl_8010D2FC:
/* 8010D2FC 0010913C 80 7C 01 00 */ lwz r3, 0x100(r28)
.global lbl_8010D300
lbl_8010D300:
/* 8010D300 00109140 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010D304 00109144 40 82 00 14 */ bne lbl_8010D318
/* 8010D308 00109148 48 00 79 D9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D30C 0010914C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D310 00109150 4B F1 59 71 */ bl OSUnlockMutex
/* 8010D314 00109154 48 00 00 30 */ b lbl_8010D344
.global lbl_8010D318
lbl_8010D318:
/* 8010D318 00109158 48 00 0F B9 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010D31C 0010915C 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8010D320 00109160 80 9C 01 00 */ lwz r4, 0x100(r28)
/* 8010D324 00109164 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010D328 00109168 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010D32C 0010916C 7D 89 03 A6 */ mtctr r12
/* 8010D330 00109170 4E 80 04 21 */ bctrl
/* 8010D334 00109174 93 DC 01 00 */ stw r30, 0x100(r28)
/* 8010D338 00109178 48 00 79 A9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D33C 0010917C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D340 00109180 4B F1 59 41 */ bl OSUnlockMutex
.global lbl_8010D344
lbl_8010D344:
/* 8010D344 00109184 3B BD 00 01 */ addi r29, r29, 0x1
/* 8010D348 00109188 3B 9C 00 04 */ addi r28, r28, 0x4
/* 8010D34C 0010918C 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8010D350 00109190 41 80 FF 90 */ blt lbl_8010D2E0
/* 8010D354 00109194 48 00 79 8D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D358 00109198 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D35C 0010919C 4B F1 59 25 */ bl OSUnlockMutex
/* 8010D360 001091A0 48 00 00 5C */ b lbl_8010D3BC
.global lbl_8010D364
lbl_8010D364:
/* 8010D364 001091A4 88 7F 00 EA */ lbz r3, 0xea(r31)
/* 8010D368 001091A8 A0 1F 00 EC */ lhz r0, 0xec(r31)
/* 8010D36C 001091AC 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D370 001091B0 7C 03 01 D6 */ mullw r0, r3, r0
/* 8010D374 001091B4 80 9F 01 60 */ lwz r4, 0x160(r31)
/* 8010D378 001091B8 C0 1F 00 D4 */ lfs f0, 0xd4(r31)
/* 8010D37C 001091BC 38 64 00 01 */ addi r3, r4, 0x1
/* 8010D380 001091C0 90 7F 01 60 */ stw r3, 0x160(r31)
/* 8010D384 001091C4 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8010D388 001091C8 90 01 00 0C */ stw r0, 0xc(r1)
/* 8010D38C 001091CC C8 21 00 08 */ lfd f1, 0x8(r1)
/* 8010D390 001091D0 EC 21 E0 28 */ fsubs f1, f1, f28
/* 8010D394 001091D4 EC 00 00 72 */ fmuls f0, f0, f1
/* 8010D398 001091D8 EC 20 E8 24 */ fdivs f1, f0, f29
/* 8010D39C 001091DC FC 1E 08 00 */ fcmpu cr0, f30, f1
/* 8010D3A0 001091E0 41 82 00 1C */ beq lbl_8010D3BC
/* 8010D3A4 001091E4 EC 5F 08 24 */ fdivs f2, f31, f1
.global lbl_8010D3A8
lbl_8010D3A8:
/* 8010D3A8 001091E8 FC 02 D8 40 */ fcmpo cr0, f2, f27
/* 8010D3AC 001091EC 41 80 FE A4 */ blt lbl_8010D250
/* 8010D3B0 001091F0 EC 42 D8 28 */ fsubs f2, f2, f27
/* 8010D3B4 001091F4 EC 02 00 72 */ fmuls f0, f2, f1
/* 8010D3B8 001091F8 D0 1F 00 D8 */ stfs f0, 0xd8(r31)
.global lbl_8010D3BC
lbl_8010D3BC:
/* 8010D3BC 001091FC 80 01 00 74 */ lwz r0, 0x74(r1)
/* 8010D3C0 00109200 E3 E1 00 68 */ psq_l f31, 0x68(r1), 0, qr0
/* 8010D3C4 00109204 CB E1 00 60 */ lfd f31, 0x60(r1)
/* 8010D3C8 00109208 E3 C1 00 58 */ psq_l f30, 0x58(r1), 0, qr0
/* 8010D3CC 0010920C CB C1 00 50 */ lfd f30, 0x50(r1)
/* 8010D3D0 00109210 E3 A1 00 48 */ psq_l f29, 0x48(r1), 0, qr0
/* 8010D3D4 00109214 CB A1 00 40 */ lfd f29, 0x40(r1)
/* 8010D3D8 00109218 E3 81 00 38 */ psq_l f28, 0x38(r1), 0, qr0
/* 8010D3DC 0010921C CB 81 00 30 */ lfd f28, 0x30(r1)
/* 8010D3E0 00109220 E3 61 00 28 */ psq_l f27, 0x28(r1), 0, qr0
/* 8010D3E4 00109224 CB 61 00 20 */ lfd f27, 0x20(r1)
/* 8010D3E8 00109228 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010D3EC 0010922C 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010D3F0 00109230 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010D3F4 00109234 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8010D3F8 00109238 7C 08 03 A6 */ mtlr r0
/* 8010D3FC 0010923C 38 21 00 70 */ addi r1, r1, 0x70
/* 8010D400 00109240 4E 80 00 20 */ blr
/* 8010D404 00109244 00 00 00 00 */ .4byte 0x00000000
/* 8010D408 00109248 00 00 00 00 */ .4byte 0x00000000
/* 8010D40C 0010924C 00 00 00 00 */ .4byte 0x00000000
.global SkipTick__Q44nw4r3snd6detail9SeqPlayerFv
SkipTick__Q44nw4r3snd6detail9SeqPlayerFv:
/* 8010D410 00109250 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 8010D414 00109254 7C 08 02 A6 */ mflr r0
/* 8010D418 00109258 90 01 00 54 */ stw r0, 0x54(r1)
/* 8010D41C 0010925C DB E1 00 40 */ stfd f31, 0x40(r1)
/* 8010D420 00109260 F3 E1 00 48 */ psq_st f31, 0x48(r1), 0, qr0
/* 8010D424 00109264 DB C1 00 30 */ stfd f30, 0x30(r1)
/* 8010D428 00109268 F3 C1 00 38 */ psq_st f30, 0x38(r1), 0, qr0
/* 8010D42C 0010926C DB A1 00 20 */ stfd f29, 0x20(r1)
/* 8010D430 00109270 F3 A1 00 28 */ psq_st f29, 0x28(r1), 0, qr0
/* 8010D434 00109274 93 E1 00 1C */ stw r31, 0x1c(r1)
/* 8010D438 00109278 7C 7F 1B 78 */ mr r31, r3
/* 8010D43C 0010927C 93 C1 00 18 */ stw r30, 0x18(r1)
/* 8010D440 00109280 3B C0 00 00 */ li r30, 0x0
/* 8010D444 00109284 93 A1 00 14 */ stw r29, 0x14(r1)
/* 8010D448 00109288 93 81 00 10 */ stw r28, 0x10(r1)
/* 8010D44C 0010928C 3B 80 00 00 */ li r28, 0x0
.global lbl_8010D450
lbl_8010D450:
/* 8010D450 00109290 7C 7F F2 14 */ add r3, r31, r30
/* 8010D454 00109294 83 A3 01 00 */ lwz r29, 0x100(r3)
/* 8010D458 00109298 2C 1D 00 00 */ cmpwi r29, 0x0
/* 8010D45C 0010929C 41 82 00 18 */ beq lbl_8010D474
/* 8010D460 001092A0 7F A3 EB 78 */ mr r3, r29
/* 8010D464 001092A4 38 80 00 7F */ li r4, 0x7f
/* 8010D468 001092A8 48 00 11 99 */ bl ReleaseAllChannel__Q44nw4r3snd6detail8SeqTrackFi
/* 8010D46C 001092AC 7F A3 EB 78 */ mr r3, r29
/* 8010D470 001092B0 48 00 18 41 */ bl FreeAllChannel__Q44nw4r3snd6detail8SeqTrackFv
.global lbl_8010D474
lbl_8010D474:
/* 8010D474 001092B4 3B 9C 00 01 */ addi r28, r28, 0x1
/* 8010D478 001092B8 3B DE 00 04 */ addi r30, r30, 0x4
/* 8010D47C 001092BC 2C 1C 00 10 */ cmpwi r28, 0x10
/* 8010D480 001092C0 41 80 FF D0 */ blt lbl_8010D450
/* 8010D484 001092C4 CB A2 94 00 */ lfd f29, "@11523"@sda21(r2)
/* 8010D488 001092C8 3B 80 00 00 */ li r28, 0x0
/* 8010D48C 001092CC C3 C2 94 08 */ lfs f30, "@11919"@sda21(r2)
/* 8010D490 001092D0 3F C0 43 30 */ lis r30, 0x4330
/* 8010D494 001092D4 C3 E2 93 F8 */ lfs f31, "@11283"@sda21(r2)
/* 8010D498 001092D8 48 00 01 80 */ b lbl_8010D618
.global lbl_8010D49C
lbl_8010D49C:
/* 8010D49C 001092DC 2C 1C 03 00 */ cmpwi r28, 0x300
/* 8010D4A0 001092E0 40 80 01 CC */ bge lbl_8010D66C
/* 8010D4A4 001092E4 2C 04 00 00 */ cmpwi r4, 0x0
/* 8010D4A8 001092E8 41 82 00 14 */ beq lbl_8010D4BC
/* 8010D4AC 001092EC 80 7F 00 DC */ lwz r3, 0xdc(r31)
/* 8010D4B0 001092F0 38 03 FF FF */ addi r0, r3, -0x1
/* 8010D4B4 001092F4 90 1F 00 DC */ stw r0, 0xdc(r31)
/* 8010D4B8 001092F8 48 00 00 40 */ b lbl_8010D4F8
.global lbl_8010D4BC
lbl_8010D4BC:
/* 8010D4BC 001092FC 88 7F 00 EA */ lbz r3, 0xea(r31)
/* 8010D4C0 00109300 A0 1F 00 EC */ lhz r0, 0xec(r31)
/* 8010D4C4 00109304 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D4C8 00109308 7C 03 01 D6 */ mullw r0, r3, r0
/* 8010D4CC 0010930C C0 3F 00 D4 */ lfs f1, 0xd4(r31)
/* 8010D4D0 00109310 C0 1F 00 E0 */ lfs f0, 0xe0(r31)
/* 8010D4D4 00109314 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8010D4D8 00109318 90 01 00 0C */ stw r0, 0xc(r1)
/* 8010D4DC 0010931C C8 41 00 08 */ lfd f2, 0x8(r1)
/* 8010D4E0 00109320 EC 42 E8 28 */ fsubs f2, f2, f29
/* 8010D4E4 00109324 EC 21 00 B2 */ fmuls f1, f1, f2
/* 8010D4E8 00109328 EC 21 F0 24 */ fdivs f1, f1, f30
/* 8010D4EC 0010932C EC 3F 08 24 */ fdivs f1, f31, f1
/* 8010D4F0 00109330 EC 00 08 28 */ fsubs f0, f0, f1
/* 8010D4F4 00109334 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
.global lbl_8010D4F8
lbl_8010D4F8:
/* 8010D4F8 00109338 7F E3 FB 78 */ mr r3, r31
/* 8010D4FC 0010933C 38 80 00 00 */ li r4, 0x0
/* 8010D500 00109340 4B FF FA 21 */ bl ParseNextTick__Q44nw4r3snd6detail9SeqPlayerFb
/* 8010D504 00109344 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010D508 00109348 41 82 01 00 */ beq lbl_8010D608
/* 8010D50C 0010934C 48 00 77 D5 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D510 00109350 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D514 00109354 4B F1 56 8D */ bl OSLockMutex
/* 8010D518 00109358 88 1F 00 CD */ lbz r0, 0xcd(r31)
/* 8010D51C 0010935C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D520 00109360 41 82 00 28 */ beq lbl_8010D548
/* 8010D524 00109364 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010D528 00109368 7F FD FB 78 */ mr r29, r31
/* 8010D52C 0010936C 41 82 00 08 */ beq lbl_8010D534
/* 8010D530 00109370 3B BF 00 C0 */ addi r29, r31, 0xc0
.global lbl_8010D534
lbl_8010D534:
/* 8010D534 00109374 48 00 77 AD */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D538 00109378 7F A4 EB 78 */ mr r4, r29
/* 8010D53C 0010937C 48 00 7D 45 */ bl UnregisterPlayerCallback__Q44nw4r3snd6detail11SoundThreadFPQ54nw4r3snd6detail11SoundThread14PlayerCallback
/* 8010D540 00109380 38 00 00 00 */ li r0, 0x0
/* 8010D544 00109384 98 1F 00 CD */ stb r0, 0xcd(r31)
.global lbl_8010D548
lbl_8010D548:
/* 8010D548 00109388 88 1F 00 CC */ lbz r0, 0xcc(r31)
/* 8010D54C 0010938C 2C 00 00 00 */ cmpwi r0, 0x0
/* 8010D550 00109390 41 82 00 28 */ beq lbl_8010D578
/* 8010D554 00109394 2C 1F 00 00 */ cmpwi r31, 0x0
/* 8010D558 00109398 7F FD FB 78 */ mr r29, r31
/* 8010D55C 0010939C 41 82 00 08 */ beq lbl_8010D564
/* 8010D560 001093A0 3B BF 00 B4 */ addi r29, r31, 0xb4
.global lbl_8010D564
lbl_8010D564:
/* 8010D564 001093A4 4B FF AB 0D */ bl GetInstance__Q44nw4r3snd6detail22DisposeCallbackManagerFv
/* 8010D568 001093A8 7F A4 EB 78 */ mr r4, r29
/* 8010D56C 001093AC 4B FF AC 25 */ bl UnregisterDisposeCallback__Q44nw4r3snd6detail22DisposeCallbackManagerFPQ44nw4r3snd6detail15DisposeCallback
/* 8010D570 001093B0 38 00 00 00 */ li r0, 0x0
/* 8010D574 001093B4 98 1F 00 CC */ stb r0, 0xcc(r31)
.global lbl_8010D578
lbl_8010D578:
/* 8010D578 001093B8 7F FC FB 78 */ mr r28, r31
/* 8010D57C 001093BC 3B A0 00 00 */ li r29, 0x0
/* 8010D580 001093C0 3B C0 00 00 */ li r30, 0x0
.global lbl_8010D584
lbl_8010D584:
/* 8010D584 001093C4 48 00 77 5D */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D588 001093C8 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D58C 001093CC 4B F1 56 15 */ bl OSLockMutex
/* 8010D590 001093D0 2C 1D 00 0F */ cmpwi r29, 0xf
/* 8010D594 001093D4 40 81 00 0C */ ble lbl_8010D5A0
/* 8010D598 001093D8 38 60 00 00 */ li r3, 0x0
/* 8010D59C 001093DC 48 00 00 08 */ b lbl_8010D5A4
.global lbl_8010D5A0
lbl_8010D5A0:
/* 8010D5A0 001093E0 80 7C 01 00 */ lwz r3, 0x100(r28)
.global lbl_8010D5A4
lbl_8010D5A4:
/* 8010D5A4 001093E4 2C 03 00 00 */ cmpwi r3, 0x0
/* 8010D5A8 001093E8 40 82 00 14 */ bne lbl_8010D5BC
/* 8010D5AC 001093EC 48 00 77 35 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D5B0 001093F0 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D5B4 001093F4 4B F1 56 CD */ bl OSUnlockMutex
/* 8010D5B8 001093F8 48 00 00 30 */ b lbl_8010D5E8
.global lbl_8010D5BC
lbl_8010D5BC:
/* 8010D5BC 001093FC 48 00 0D 15 */ bl Close__Q44nw4r3snd6detail8SeqTrackFv
/* 8010D5C0 00109400 80 7F 00 F4 */ lwz r3, 0xf4(r31)
/* 8010D5C4 00109404 80 9C 01 00 */ lwz r4, 0x100(r28)
/* 8010D5C8 00109408 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010D5CC 0010940C 81 8C 00 10 */ lwz r12, 0x10(r12)
/* 8010D5D0 00109410 7D 89 03 A6 */ mtctr r12
/* 8010D5D4 00109414 4E 80 04 21 */ bctrl
/* 8010D5D8 00109418 93 DC 01 00 */ stw r30, 0x100(r28)
/* 8010D5DC 0010941C 48 00 77 05 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D5E0 00109420 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D5E4 00109424 4B F1 56 9D */ bl OSUnlockMutex
.global lbl_8010D5E8
lbl_8010D5E8:
/* 8010D5E8 00109428 3B BD 00 01 */ addi r29, r29, 0x1
/* 8010D5EC 0010942C 3B 9C 00 04 */ addi r28, r28, 0x4
/* 8010D5F0 00109430 2C 1D 00 10 */ cmpwi r29, 0x10
/* 8010D5F4 00109434 41 80 FF 90 */ blt lbl_8010D584
/* 8010D5F8 00109438 48 00 76 E9 */ bl GetInstance__Q44nw4r3snd6detail11SoundThreadFv
/* 8010D5FC 0010943C 38 63 03 54 */ addi r3, r3, 0x354
/* 8010D600 00109440 4B F1 56 81 */ bl OSUnlockMutex
/* 8010D604 00109444 48 00 00 68 */ b lbl_8010D66C
.global lbl_8010D608
lbl_8010D608:
/* 8010D608 00109448 80 7F 01 60 */ lwz r3, 0x160(r31)
/* 8010D60C 0010944C 3B 9C 00 01 */ addi r28, r28, 0x1
/* 8010D610 00109450 38 03 00 01 */ addi r0, r3, 0x1
/* 8010D614 00109454 90 1F 01 60 */ stw r0, 0x160(r31)
.global lbl_8010D618
lbl_8010D618:
/* 8010D618 00109458 80 9F 00 DC */ lwz r4, 0xdc(r31)
/* 8010D61C 0010945C 2C 04 00 00 */ cmpwi r4, 0x0
/* 8010D620 00109460 40 82 FE 7C */ bne lbl_8010D49C
/* 8010D624 00109464 88 7F 00 EA */ lbz r3, 0xea(r31)
/* 8010D628 00109468 A0 1F 00 EC */ lhz r0, 0xec(r31)
/* 8010D62C 0010946C 93 C1 00 08 */ stw r30, 0x8(r1)
/* 8010D630 00109470 7C 03 01 D6 */ mullw r0, r3, r0
/* 8010D634 00109474 C0 3F 00 D4 */ lfs f1, 0xd4(r31)
/* 8010D638 00109478 C0 1F 00 E0 */ lfs f0, 0xe0(r31)
/* 8010D63C 0010947C 6C 00 80 00 */ xoris r0, r0, 0x8000
/* 8010D640 00109480 90 01 00 0C */ stw r0, 0xc(r1)
/* 8010D644 00109484 C8 41 00 08 */ lfd f2, 0x8(r1)
/* 8010D648 00109488 EC 42 E8 28 */ fsubs f2, f2, f29
/* 8010D64C 0010948C EC 21 00 B2 */ fmuls f1, f1, f2
/* 8010D650 00109490 EC 21 F0 24 */ fdivs f1, f1, f30
/* 8010D654 00109494 EC 00 00 72 */ fmuls f0, f0, f1
/* 8010D658 00109498 FC 00 F8 40 */ fcmpo cr0, f0, f31
/* 8010D65C 0010949C 4C 41 13 82 */ cror eq, gt, eq
/* 8010D660 001094A0 41 82 FE 3C */ beq lbl_8010D49C
/* 8010D664 001094A4 C0 02 93 FC */ lfs f0, "@11284"@sda21(r2)
/* 8010D668 001094A8 D0 1F 00 E0 */ stfs f0, 0xe0(r31)
.global lbl_8010D66C
lbl_8010D66C:
/* 8010D66C 001094AC 80 01 00 54 */ lwz r0, 0x54(r1)
/* 8010D670 001094B0 E3 E1 00 48 */ psq_l f31, 0x48(r1), 0, qr0
/* 8010D674 001094B4 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 8010D678 001094B8 E3 C1 00 38 */ psq_l f30, 0x38(r1), 0, qr0
/* 8010D67C 001094BC CB C1 00 30 */ lfd f30, 0x30(r1)
/* 8010D680 001094C0 E3 A1 00 28 */ psq_l f29, 0x28(r1), 0, qr0
/* 8010D684 001094C4 CB A1 00 20 */ lfd f29, 0x20(r1)
/* 8010D688 001094C8 83 E1 00 1C */ lwz r31, 0x1c(r1)
/* 8010D68C 001094CC 83 C1 00 18 */ lwz r30, 0x18(r1)
/* 8010D690 001094D0 83 A1 00 14 */ lwz r29, 0x14(r1)
/* 8010D694 001094D4 83 81 00 10 */ lwz r28, 0x10(r1)
/* 8010D698 001094D8 7C 08 03 A6 */ mtlr r0
/* 8010D69C 001094DC 38 21 00 50 */ addi r1, r1, 0x50
/* 8010D6A0 001094E0 4E 80 00 20 */ blr
/* 8010D6A4 001094E4 00 00 00 00 */ .4byte 0x00000000
/* 8010D6A8 001094E8 00 00 00 00 */ .4byte 0x00000000
/* 8010D6AC 001094EC 00 00 00 00 */ .4byte 0x00000000
.global NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo
NoteOn__Q44nw4r3snd6detail9SeqPlayerFiRCQ44nw4r3snd6detail10NoteOnInfo:
/* 8010D6B0 001094F0 7C 67 1B 78 */ mr r7, r3
/* 8010D6B4 001094F4 80 63 00 F0 */ lwz r3, 0xf0(r3)
/* 8010D6B8 001094F8 7C 80 23 78 */ mr r0, r4
/* 8010D6BC 001094FC 7C A6 2B 78 */ mr r6, r5
/* 8010D6C0 00109500 81 83 00 00 */ lwz r12, 0x0(r3)
/* 8010D6C4 00109504 7C E4 3B 78 */ mr r4, r7
/* 8010D6C8 00109508 7C 05 03 78 */ mr r5, r0
/* 8010D6CC 0010950C 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 8010D6D0 00109510 7D 89 03 A6 */ mtctr r12
/* 8010D6D4 00109514 4E 80 04 20 */ bctr
/* 8010D6D8 00109518 00 00 00 00 */ .4byte 0x00000000
/* 8010D6DC 0010951C 00 00 00 00 */ .4byte 0x00000000
.global ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel
ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel:
/* 8010D6E0 00109520 4E 80 00 20 */ blr
/* 8010D6E4 00109524 00 00 00 00 */ .4byte 0x00000000
/* 8010D6E8 00109528 00 00 00 00 */ .4byte 0x00000000
/* 8010D6EC 0010952C 00 00 00 00 */ .4byte 0x00000000
.global "@180@__dt__Q44nw4r3snd6detail9SeqPlayerFv"
"@180@__dt__Q44nw4r3snd6detail9SeqPlayerFv":
/* 8010D6F0 00109530 38 63 FF 4C */ addi r3, r3, -0xb4
/* 8010D6F4 00109534 4B FF EC 9C */ b __dt__Q44nw4r3snd6detail9SeqPlayerFv
/* 8010D6F8 00109538 00 00 00 00 */ .4byte 0x00000000
/* 8010D6FC 0010953C 00 00 00 00 */ .4byte 0x00000000
.global "@192@__dt__Q44nw4r3snd6detail9SeqPlayerFv"
"@192@__dt__Q44nw4r3snd6detail9SeqPlayerFv":
/* 8010D700 00109540 38 63 FF 40 */ addi r3, r3, -0xc0
/* 8010D704 00109544 4B FF EC 8C */ b __dt__Q44nw4r3snd6detail9SeqPlayerFv
/* 8010D708 00109548 00 00 00 00 */ .4byte 0x00000000
/* 8010D70C 0010954C 00 00 00 00 */ .4byte 0x00000000
.include "macros.inc"
.section .data, "wa" # 0x80421040 - 0x80496700 ; 0x000756C0
.global __vt__Q44nw4r3snd6detail9SeqPlayer
__vt__Q44nw4r3snd6detail9SeqPlayer:
.4byte 0
.4byte 0
.4byte __dt__Q44nw4r3snd6detail9SeqPlayerFv
.4byte Start__Q44nw4r3snd6detail9SeqPlayerFv
.4byte Stop__Q44nw4r3snd6detail9SeqPlayerFv
.4byte Pause__Q44nw4r3snd6detail9SeqPlayerFb
.4byte IsActive__Q44nw4r3snd6detail9SeqPlayerCFv
.4byte IsStarted__Q44nw4r3snd6detail9SeqPlayerCFv
.4byte IsPause__Q44nw4r3snd6detail9SeqPlayerCFv
.4byte 0
.4byte 0
.4byte "@180@__dt__Q44nw4r3snd6detail9SeqPlayerFv"
.4byte "@180@InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv"
.4byte "@180@InvalidateWaveData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv"
.4byte 0
.4byte 0
.4byte "@192@__dt__Q44nw4r3snd6detail9SeqPlayerFv"
.4byte "@192@OnUpdateFrameSoundThread__Q44nw4r3snd6detail9SeqPlayerFv"
.4byte OnUpdateVoiceSoundThread__Q54nw4r3snd6detail11SoundThread14PlayerCallbackFv
.4byte "@192@OnShutdownSoundThread__Q44nw4r3snd6detail9SeqPlayerFv"
.4byte InvalidateData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv
.4byte InvalidateWaveData__Q44nw4r3snd6detail9SeqPlayerFPCvPCv
.4byte ChannelCallback__Q44nw4r3snd6detail9SeqPlayerFPQ44nw4r3snd6detail7Channel
.4byte OnUpdateFrameSoundThread__Q44nw4r3snd6detail9SeqPlayerFv
.4byte OnShutdownSoundThread__Q44nw4r3snd6detail9SeqPlayerFv
.4byte 0
.include "macros.inc"
.section .bss, "", @nobits # 0x80496700 - 0x80556420 ; 0x000BFD20
.global mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer
mGlobalVariable__Q44nw4r3snd6detail9SeqPlayer:
.skip 0x20
.include "macros.inc"
.section .sdata2, "wa" # 0x8055DF80 - 0x805643C0 ; 0x00006440
.global "@11283"
"@11283":
.4byte 0x3F800000
.global "@11284"
"@11284":
.4byte 0
.global "@11523"
"@11523":
.4byte 0x43300000
.4byte 0x80000000
.global "@11919"
"@11919":
.4byte 0x476A6000
.4byte 0