summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax <mparisi@stevens.edu>2020-09-25 01:30:19 -0400
committerMax <mparisi@stevens.edu>2020-09-25 01:30:19 -0400
commit87da93a114827a56a0d4319c48e1ad24e3d5bf2d (patch)
treec3db9cfc5e66a9495bc4c8a5dcb9c54a5f3f72fd
parented7a456aa6dbd6c34c372d5b6a640680cf58da2d (diff)
split snd_NandSoundArchive, snd_RemoteSpeaker, snd_RemoteSpeakerManager, and snd_SeqFile
-rw-r--r--asm/nw4r/snd/snd_NandSoundArchive.s26
-rw-r--r--asm/nw4r/snd/snd_RemoteSpeaker.s599
-rw-r--r--asm/nw4r/snd/snd_RemoteSpeakerManager.s166
-rw-r--r--asm/nw4r/snd/snd_SeqFile.s43
-rw-r--r--asm/text_10_6.s820
-rw-r--r--asm/text_11.s2
-rw-r--r--obj_files.mk4
7 files changed, 845 insertions, 815 deletions
diff --git a/asm/nw4r/snd/snd_NandSoundArchive.s b/asm/nw4r/snd/snd_NandSoundArchive.s
new file mode 100644
index 0000000..1f0c187
--- /dev/null
+++ b/asm/nw4r/snd/snd_NandSoundArchive.s
@@ -0,0 +1,26 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global Close__Q34nw4r3snd16NandSoundArchiveFv
+Close__Q34nw4r3snd16NandSoundArchiveFv:
+/* 80372F48 0036EBA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372F4C 0036EBAC 7C 08 02 A6 */ mflr r0
+/* 80372F50 0036EBB0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372F54 0036EBB4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372F58 0036EBB8 7C 7F 1B 78 */ mr r31, r3
+/* 80372F5C 0036EBBC 88 03 01 D8 */ lbz r0, 0x1d8(r3)
+/* 80372F60 0036EBC0 2C 00 00 00 */ cmpwi r0, 0
+/* 80372F64 0036EBC4 41 82 00 14 */ beq lbl_80372F78
+/* 80372F68 0036EBC8 38 63 01 4C */ addi r3, r3, 0x14c
+/* 80372F6C 0036EBCC 4B F7 57 1D */ bl func_802E8688
+/* 80372F70 0036EBD0 38 00 00 00 */ li r0, 0
+/* 80372F74 0036EBD4 98 1F 01 D8 */ stb r0, 0x1d8(r31)
+lbl_80372F78:
+/* 80372F78 0036EBD8 7F E3 FB 78 */ mr r3, r31
+/* 80372F7C 0036EBDC 48 00 40 91 */ bl func_8037700C
+/* 80372F80 0036EBE0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80372F84 0036EBE4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80372F88 0036EBE8 7C 08 03 A6 */ mtlr r0
+/* 80372F8C 0036EBEC 38 21 00 10 */ addi r1, r1, 0x10
+/* 80372F90 0036EBF0 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_RemoteSpeaker.s b/asm/nw4r/snd/snd_RemoteSpeaker.s
new file mode 100644
index 0000000..5fe5ad7
--- /dev/null
+++ b/asm/nw4r/snd/snd_RemoteSpeaker.s
@@ -0,0 +1,599 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q34nw4r3snd13RemoteSpeakerFv
+__ct__Q34nw4r3snd13RemoteSpeakerFv:
+/* 80372F94 0036EBF4 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80372F98 0036EBF8 7C 08 02 A6 */ mflr r0
+/* 80372F9C 0036EBFC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80372FA0 0036EC00 38 00 00 00 */ li r0, 0
+/* 80372FA4 0036EC04 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80372FA8 0036EC08 7C 7F 1B 78 */ mr r31, r3
+/* 80372FAC 0036EC0C 98 03 00 00 */ stb r0, 0(r3)
+/* 80372FB0 0036EC10 98 03 00 01 */ stb r0, 1(r3)
+/* 80372FB4 0036EC14 98 03 00 02 */ stb r0, 2(r3)
+/* 80372FB8 0036EC18 98 03 00 03 */ stb r0, 3(r3)
+/* 80372FBC 0036EC1C 98 03 00 04 */ stb r0, 4(r3)
+/* 80372FC0 0036EC20 98 03 00 05 */ stb r0, 5(r3)
+/* 80372FC4 0036EC24 98 03 00 06 */ stb r0, 6(r3)
+/* 80372FC8 0036EC28 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80372FCC 0036EC2C 90 03 00 10 */ stw r0, 0x10(r3)
+/* 80372FD0 0036EC30 90 03 00 14 */ stw r0, 0x14(r3)
+/* 80372FD4 0036EC34 90 03 00 3C */ stw r0, 0x3c(r3)
+/* 80372FD8 0036EC38 38 63 00 40 */ addi r3, r3, 0x40
+/* 80372FDC 0036EC3C 4B EF 67 49 */ bl OSCreateAlarm
+/* 80372FE0 0036EC40 7F E4 FB 78 */ mr r4, r31
+/* 80372FE4 0036EC44 38 7F 00 40 */ addi r3, r31, 0x40
+/* 80372FE8 0036EC48 4B EF 6E B9 */ bl OSSetAlarmUserData
+/* 80372FEC 0036EC4C 38 7F 00 70 */ addi r3, r31, 0x70
+/* 80372FF0 0036EC50 4B EF 67 35 */ bl OSCreateAlarm
+/* 80372FF4 0036EC54 7F E4 FB 78 */ mr r4, r31
+/* 80372FF8 0036EC58 38 7F 00 70 */ addi r3, r31, 0x70
+/* 80372FFC 0036EC5C 4B EF 6E A5 */ bl OSSetAlarmUserData
+/* 80373000 0036EC60 7F E3 FB 78 */ mr r3, r31
+/* 80373004 0036EC64 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80373008 0036EC68 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037300C 0036EC6C 7C 08 03 A6 */ mtlr r0
+/* 80373010 0036EC70 38 21 00 10 */ addi r1, r1, 0x10
+/* 80373014 0036EC74 4E 80 00 20 */ blr
+
+.global Update__Q34nw4r3snd13RemoteSpeakerFv
+Update__Q34nw4r3snd13RemoteSpeakerFv:
+/* 80373018 0036EC78 88 03 00 05 */ lbz r0, 5(r3)
+/* 8037301C 0036EC7C 2C 00 00 00 */ cmpwi r0, 0
+/* 80373020 0036EC80 4C 82 00 20 */ bnelr
+/* 80373024 0036EC84 80 83 00 10 */ lwz r4, 0x10(r3)
+/* 80373028 0036EC88 2C 04 00 00 */ cmpwi r4, 0
+/* 8037302C 0036EC8C 41 82 00 08 */ beq lbl_80373034
+/* 80373030 0036EC90 48 00 00 08 */ b lbl_80373038
+lbl_80373034:
+/* 80373034 0036EC94 80 83 00 14 */ lwz r4, 0x14(r3)
+lbl_80373038:
+/* 80373038 0036EC98 38 00 00 00 */ li r0, 0
+/* 8037303C 0036EC9C 90 03 00 10 */ stw r0, 0x10(r3)
+/* 80373040 0036ECA0 90 03 00 14 */ stw r0, 0x14(r3)
+/* 80373044 0036ECA4 48 00 00 08 */ b ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand
+/* 80373048 0036ECA8 4E 80 00 20 */ blr
+
+.global ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand
+ExecCommand__Q34nw4r3snd13RemoteSpeakerFQ44nw4r3snd13RemoteSpeaker14SpeakerCommand:
+/* 8037304C 0036ECAC 2C 04 00 02 */ cmpwi r4, 2
+/* 80373050 0036ECB0 41 82 00 48 */ beq lbl_80373098
+/* 80373054 0036ECB4 40 80 00 14 */ bge lbl_80373068
+/* 80373058 0036ECB8 2C 04 00 00 */ cmpwi r4, 0
+/* 8037305C 0036ECBC 4D 82 00 20 */ beqlr
+/* 80373060 0036ECC0 40 80 00 14 */ bge lbl_80373074
+/* 80373064 0036ECC4 4E 80 00 20 */ blr
+lbl_80373068:
+/* 80373068 0036ECC8 2C 04 00 04 */ cmpwi r4, 4
+/* 8037306C 0036ECCC 4C 80 00 20 */ bgelr
+/* 80373070 0036ECD0 48 00 00 50 */ b lbl_803730C0
+lbl_80373074:
+/* 80373074 0036ECD4 38 00 00 01 */ li r0, 1
+/* 80373078 0036ECD8 3C A0 80 37 */ lis r5, SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
+/* 8037307C 0036ECDC 98 03 00 04 */ stb r0, 4(r3)
+/* 80373080 0036ECE0 38 A5 34 00 */ addi r5, r5, SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll@l
+/* 80373084 0036ECE4 38 80 00 01 */ li r4, 1
+/* 80373088 0036ECE8 98 03 00 05 */ stb r0, 5(r3)
+/* 8037308C 0036ECEC 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373090 0036ECF0 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 80373094 0036ECF4 4B F3 6B 80 */ b func_802A9C14
+lbl_80373098:
+/* 80373098 0036ECF8 38 C0 00 01 */ li r6, 1
+/* 8037309C 0036ECFC 38 00 00 03 */ li r0, 3
+/* 803730A0 0036ED00 3C A0 80 37 */ lis r5, SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
+/* 803730A4 0036ED04 98 C3 00 04 */ stb r6, 4(r3)
+/* 803730A8 0036ED08 38 A5 35 0C */ addi r5, r5, SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll@l
+/* 803730AC 0036ED0C 38 80 00 04 */ li r4, 4
+/* 803730B0 0036ED10 98 C3 00 05 */ stb r6, 5(r3)
+/* 803730B4 0036ED14 90 03 00 0C */ stw r0, 0xc(r3)
+/* 803730B8 0036ED18 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 803730BC 0036ED1C 4B F3 6B 58 */ b func_802A9C14
+lbl_803730C0:
+/* 803730C0 0036ED20 38 C0 00 01 */ li r6, 1
+/* 803730C4 0036ED24 38 00 00 05 */ li r0, 5
+/* 803730C8 0036ED28 3C A0 80 37 */ lis r5, SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll@ha
+/* 803730CC 0036ED2C 98 C3 00 04 */ stb r6, 4(r3)
+/* 803730D0 0036ED30 38 A5 35 F4 */ addi r5, r5, SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll@l
+/* 803730D4 0036ED34 38 80 00 00 */ li r4, 0
+/* 803730D8 0036ED38 98 C3 00 05 */ stb r6, 5(r3)
+/* 803730DC 0036ED3C 90 03 00 0C */ stw r0, 0xc(r3)
+/* 803730E0 0036ED40 80 63 00 38 */ lwz r3, 0x38(r3)
+/* 803730E4 0036ED44 4B F3 6B 30 */ b func_802A9C14
+/* 803730E8 0036ED48 4E 80 00 20 */ blr
+
+.global UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs
+UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs:
+/* 803730EC 0036ED4C 94 21 FF C0 */ stwu r1, -0x40(r1)
+/* 803730F0 0036ED50 7C 08 02 A6 */ mflr r0
+/* 803730F4 0036ED54 90 01 00 44 */ stw r0, 0x44(r1)
+/* 803730F8 0036ED58 39 61 00 40 */ addi r11, r1, 0x40
+/* 803730FC 0036ED5C 4B E5 40 25 */ bl _savegpr_25
+/* 80373100 0036ED60 80 03 00 0C */ lwz r0, 0xc(r3)
+/* 80373104 0036ED64 7C 7D 1B 78 */ mr r29, r3
+/* 80373108 0036ED68 7C 99 23 78 */ mr r25, r4
+/* 8037310C 0036ED6C 2C 00 00 04 */ cmpwi r0, 4
+/* 80373110 0036ED70 40 82 02 D8 */ bne lbl_803733E8
+/* 80373114 0036ED74 88 03 00 02 */ lbz r0, 2(r3)
+/* 80373118 0036ED78 3B C0 00 01 */ li r30, 1
+/* 8037311C 0036ED7C 2C 00 00 00 */ cmpwi r0, 0
+/* 80373120 0036ED80 41 82 00 F0 */ beq lbl_80373210
+/* 80373124 0036ED84 38 00 00 02 */ li r0, 2
+/* 80373128 0036ED88 7F 26 CB 78 */ mr r6, r25
+/* 8037312C 0036ED8C 38 A0 00 01 */ li r5, 1
+/* 80373130 0036ED90 38 80 00 00 */ li r4, 0
+/* 80373134 0036ED94 7C 09 03 A6 */ mtctr r0
+lbl_80373138:
+/* 80373138 0036ED98 80 06 00 00 */ lwz r0, 0(r6)
+/* 8037313C 0036ED9C 2C 00 00 00 */ cmpwi r0, 0
+/* 80373140 0036EDA0 41 82 00 0C */ beq lbl_8037314C
+/* 80373144 0036EDA4 38 A0 00 00 */ li r5, 0
+/* 80373148 0036EDA8 48 00 00 CC */ b lbl_80373214
+lbl_8037314C:
+/* 8037314C 0036EDAC 80 06 00 04 */ lwz r0, 4(r6)
+/* 80373150 0036EDB0 2C 00 00 00 */ cmpwi r0, 0
+/* 80373154 0036EDB4 41 82 00 0C */ beq lbl_80373160
+/* 80373158 0036EDB8 38 A0 00 00 */ li r5, 0
+/* 8037315C 0036EDBC 48 00 00 B8 */ b lbl_80373214
+lbl_80373160:
+/* 80373160 0036EDC0 80 06 00 08 */ lwz r0, 8(r6)
+/* 80373164 0036EDC4 2C 00 00 00 */ cmpwi r0, 0
+/* 80373168 0036EDC8 41 82 00 0C */ beq lbl_80373174
+/* 8037316C 0036EDCC 38 A0 00 00 */ li r5, 0
+/* 80373170 0036EDD0 48 00 00 A4 */ b lbl_80373214
+lbl_80373174:
+/* 80373174 0036EDD4 80 06 00 0C */ lwz r0, 0xc(r6)
+/* 80373178 0036EDD8 2C 00 00 00 */ cmpwi r0, 0
+/* 8037317C 0036EDDC 41 82 00 0C */ beq lbl_80373188
+/* 80373180 0036EDE0 38 A0 00 00 */ li r5, 0
+/* 80373184 0036EDE4 48 00 00 90 */ b lbl_80373214
+lbl_80373188:
+/* 80373188 0036EDE8 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 8037318C 0036EDEC 2C 00 00 00 */ cmpwi r0, 0
+/* 80373190 0036EDF0 41 82 00 0C */ beq lbl_8037319C
+/* 80373194 0036EDF4 38 A0 00 00 */ li r5, 0
+/* 80373198 0036EDF8 48 00 00 7C */ b lbl_80373214
+lbl_8037319C:
+/* 8037319C 0036EDFC 80 06 00 14 */ lwz r0, 0x14(r6)
+/* 803731A0 0036EE00 2C 00 00 00 */ cmpwi r0, 0
+/* 803731A4 0036EE04 41 82 00 0C */ beq lbl_803731B0
+/* 803731A8 0036EE08 38 A0 00 00 */ li r5, 0
+/* 803731AC 0036EE0C 48 00 00 68 */ b lbl_80373214
+lbl_803731B0:
+/* 803731B0 0036EE10 80 06 00 18 */ lwz r0, 0x18(r6)
+/* 803731B4 0036EE14 2C 00 00 00 */ cmpwi r0, 0
+/* 803731B8 0036EE18 41 82 00 0C */ beq lbl_803731C4
+/* 803731BC 0036EE1C 38 A0 00 00 */ li r5, 0
+/* 803731C0 0036EE20 48 00 00 54 */ b lbl_80373214
+lbl_803731C4:
+/* 803731C4 0036EE24 80 06 00 1C */ lwz r0, 0x1c(r6)
+/* 803731C8 0036EE28 2C 00 00 00 */ cmpwi r0, 0
+/* 803731CC 0036EE2C 41 82 00 0C */ beq lbl_803731D8
+/* 803731D0 0036EE30 38 A0 00 00 */ li r5, 0
+/* 803731D4 0036EE34 48 00 00 40 */ b lbl_80373214
+lbl_803731D8:
+/* 803731D8 0036EE38 80 06 00 20 */ lwz r0, 0x20(r6)
+/* 803731DC 0036EE3C 2C 00 00 00 */ cmpwi r0, 0
+/* 803731E0 0036EE40 41 82 00 0C */ beq lbl_803731EC
+/* 803731E4 0036EE44 38 A0 00 00 */ li r5, 0
+/* 803731E8 0036EE48 48 00 00 2C */ b lbl_80373214
+lbl_803731EC:
+/* 803731EC 0036EE4C 80 06 00 24 */ lwz r0, 0x24(r6)
+/* 803731F0 0036EE50 2C 00 00 00 */ cmpwi r0, 0
+/* 803731F4 0036EE54 41 82 00 0C */ beq lbl_80373200
+/* 803731F8 0036EE58 38 A0 00 00 */ li r5, 0
+/* 803731FC 0036EE5C 48 00 00 18 */ b lbl_80373214
+lbl_80373200:
+/* 80373200 0036EE60 38 C6 00 28 */ addi r6, r6, 0x28
+/* 80373204 0036EE64 38 84 00 09 */ addi r4, r4, 9
+/* 80373208 0036EE68 42 00 FF 30 */ bdnz lbl_80373138
+/* 8037320C 0036EE6C 48 00 00 08 */ b lbl_80373214
+lbl_80373210:
+/* 80373210 0036EE70 38 A0 00 01 */ li r5, 1
+lbl_80373214:
+/* 80373214 0036EE74 2C 05 00 00 */ cmpwi r5, 0
+/* 80373218 0036EE78 40 82 00 10 */ bne lbl_80373228
+/* 8037321C 0036EE7C 88 03 00 06 */ lbz r0, 6(r3)
+/* 80373220 0036EE80 2C 00 00 00 */ cmpwi r0, 0
+/* 80373224 0036EE84 41 82 00 08 */ beq lbl_8037322C
+lbl_80373228:
+/* 80373228 0036EE88 3B C0 00 00 */ li r30, 0
+lbl_8037322C:
+/* 8037322C 0036EE8C 88 03 00 01 */ lbz r0, 1(r3)
+/* 80373230 0036EE90 3B 40 00 00 */ li r26, 0
+/* 80373234 0036EE94 2C 00 00 00 */ cmpwi r0, 0
+/* 80373238 0036EE98 40 82 00 10 */ bne lbl_80373248
+/* 8037323C 0036EE9C 2C 1E 00 00 */ cmpwi r30, 0
+/* 80373240 0036EEA0 41 82 00 08 */ beq lbl_80373248
+/* 80373244 0036EEA4 3B 40 00 01 */ li r26, 1
+lbl_80373248:
+/* 80373248 0036EEA8 2C 00 00 00 */ cmpwi r0, 0
+/* 8037324C 0036EEAC 3B E0 00 00 */ li r31, 0
+/* 80373250 0036EEB0 41 82 00 10 */ beq lbl_80373260
+/* 80373254 0036EEB4 2C 1E 00 00 */ cmpwi r30, 0
+/* 80373258 0036EEB8 40 82 00 08 */ bne lbl_80373260
+/* 8037325C 0036EEBC 3B E0 00 01 */ li r31, 1
+lbl_80373260:
+/* 80373260 0036EEC0 2C 1E 00 00 */ cmpwi r30, 0
+/* 80373264 0036EEC4 41 82 00 BC */ beq lbl_80373320
+/* 80373268 0036EEC8 4B EF B4 F5 */ bl OSDisableInterrupts
+/* 8037326C 0036EECC 7C 7C 1B 78 */ mr r28, r3
+/* 80373270 0036EED0 80 7D 00 38 */ lwz r3, 0x38(r29)
+/* 80373274 0036EED4 4B F3 81 79 */ bl func_802AB3EC
+/* 80373278 0036EED8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037327C 0036EEDC 40 82 00 10 */ bne lbl_8037328C
+/* 80373280 0036EEE0 7F 83 E3 78 */ mr r3, r28
+/* 80373284 0036EEE4 4B EF B5 01 */ bl OSRestoreInterrupts
+/* 80373288 0036EEE8 48 00 01 60 */ b lbl_803733E8
+lbl_8037328C:
+/* 8037328C 0036EEEC 88 1D 00 03 */ lbz r0, 3(r29)
+/* 80373290 0036EEF0 3B 60 00 00 */ li r27, 0
+/* 80373294 0036EEF4 7F 25 CB 78 */ mr r5, r25
+/* 80373298 0036EEF8 38 7D 00 18 */ addi r3, r29, 0x18
+/* 8037329C 0036EEFC 7C 00 00 34 */ cntlzw r0, r0
+/* 803732A0 0036EF00 9B 7D 00 03 */ stb r27, 3(r29)
+/* 803732A4 0036EF04 54 04 D9 7E */ srwi r4, r0, 5
+/* 803732A8 0036EF08 38 E1 00 08 */ addi r7, r1, 8
+/* 803732AC 0036EF0C 38 C0 00 28 */ li r6, 0x28
+/* 803732B0 0036EF10 4B F7 97 71 */ bl func_802ECA20
+/* 803732B4 0036EF14 80 7D 00 38 */ lwz r3, 0x38(r29)
+/* 803732B8 0036EF18 38 81 00 08 */ addi r4, r1, 8
+/* 803732BC 0036EF1C 38 A0 00 14 */ li r5, 0x14
+/* 803732C0 0036EF20 4B F3 81 B1 */ bl func_802AB470
+/* 803732C4 0036EF24 2C 03 00 00 */ cmpwi r3, 0
+/* 803732C8 0036EF28 41 82 00 50 */ beq lbl_80373318
+/* 803732CC 0036EF2C 3B C0 00 01 */ li r30, 1
+/* 803732D0 0036EF30 93 7D 00 0C */ stw r27, 0xc(r29)
+/* 803732D4 0036EF34 38 7D 00 40 */ addi r3, r29, 0x40
+/* 803732D8 0036EF38 93 DD 00 14 */ stw r30, 0x14(r29)
+/* 803732DC 0036EF3C 9B 7D 00 01 */ stb r27, 1(r29)
+/* 803732E0 0036EF40 9B 7D 00 02 */ stb r27, 2(r29)
+/* 803732E4 0036EF44 4B EF 67 95 */ bl OSCancelAlarm
+/* 803732E8 0036EF48 9B 7D 00 07 */ stb r27, 7(r29)
+/* 803732EC 0036EF4C 38 7D 00 70 */ addi r3, r29, 0x70
+/* 803732F0 0036EF50 4B EF 67 89 */ bl OSCancelAlarm
+/* 803732F4 0036EF54 9B 7D 00 08 */ stb r27, 8(r29)
+/* 803732F8 0036EF58 7F 83 E3 78 */ mr r3, r28
+/* 803732FC 0036EF5C 9B 7D 00 06 */ stb r27, 6(r29)
+/* 80373300 0036EF60 9B 7D 00 07 */ stb r27, 7(r29)
+/* 80373304 0036EF64 9B 7D 00 01 */ stb r27, 1(r29)
+/* 80373308 0036EF68 9B DD 00 02 */ stb r30, 2(r29)
+/* 8037330C 0036EF6C 9B 7D 00 08 */ stb r27, 8(r29)
+/* 80373310 0036EF70 4B EF B4 75 */ bl OSRestoreInterrupts
+/* 80373314 0036EF74 48 00 00 D4 */ b lbl_803733E8
+lbl_80373318:
+/* 80373318 0036EF78 7F 83 E3 78 */ mr r3, r28
+/* 8037331C 0036EF7C 4B EF B4 69 */ bl OSRestoreInterrupts
+lbl_80373320:
+/* 80373320 0036EF80 2C 1A 00 00 */ cmpwi r26, 0
+/* 80373324 0036EF84 41 82 00 78 */ beq lbl_8037339C
+/* 80373328 0036EF88 4B EF B4 35 */ bl OSDisableInterrupts
+/* 8037332C 0036EF8C 88 1D 00 07 */ lbz r0, 7(r29)
+/* 80373330 0036EF90 7C 7C 1B 78 */ mr r28, r3
+/* 80373334 0036EF94 2C 00 00 00 */ cmpwi r0, 0
+/* 80373338 0036EF98 40 82 00 4C */ bne lbl_80373384
+/* 8037333C 0036EF9C 3C 60 80 00 */ lis r3, 0x800000F8@ha
+/* 80373340 0036EFA0 3C E0 80 37 */ lis r7, ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@ha
+/* 80373344 0036EFA4 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
+/* 80373348 0036EFA8 38 80 01 E0 */ li r4, 0x1e0
+/* 8037334C 0036EFAC 38 A0 00 00 */ li r5, 0
+/* 80373350 0036EFB0 38 7D 00 40 */ addi r3, r29, 0x40
+/* 80373354 0036EFB4 54 06 F0 BE */ srwi r6, r0, 2
+/* 80373358 0036EFB8 38 E7 36 DC */ addi r7, r7, ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@l
+/* 8037335C 0036EFBC 7C 06 20 16 */ mulhwu r0, r6, r4
+/* 80373360 0036EFC0 7C 85 21 D6 */ mullw r4, r5, r4
+/* 80373364 0036EFC4 1C C6 01 E0 */ mulli r6, r6, 0x1e0
+/* 80373368 0036EFC8 7C A0 22 14 */ add r5, r0, r4
+/* 8037336C 0036EFCC 4B EF 66 19 */ bl OSSetAlarm
+/* 80373370 0036EFD0 4B EF F4 49 */ bl OSGetTime
+/* 80373374 0036EFD4 38 00 00 01 */ li r0, 1
+/* 80373378 0036EFD8 90 9D 00 A4 */ stw r4, 0xa4(r29)
+/* 8037337C 0036EFDC 90 7D 00 A0 */ stw r3, 0xa0(r29)
+/* 80373380 0036EFE0 98 1D 00 07 */ stb r0, 7(r29)
+lbl_80373384:
+/* 80373384 0036EFE4 38 7D 00 70 */ addi r3, r29, 0x70
+/* 80373388 0036EFE8 4B EF 66 F1 */ bl OSCancelAlarm
+/* 8037338C 0036EFEC 38 00 00 00 */ li r0, 0
+/* 80373390 0036EFF0 7F 83 E3 78 */ mr r3, r28
+/* 80373394 0036EFF4 98 1D 00 08 */ stb r0, 8(r29)
+/* 80373398 0036EFF8 4B EF B3 ED */ bl OSRestoreInterrupts
+lbl_8037339C:
+/* 8037339C 0036EFFC 2C 1F 00 00 */ cmpwi r31, 0
+/* 803733A0 0036F000 41 82 00 44 */ beq lbl_803733E4
+/* 803733A4 0036F004 4B EF B3 B9 */ bl OSDisableInterrupts
+/* 803733A8 0036F008 38 00 00 01 */ li r0, 1
+/* 803733AC 0036F00C 7C 7C 1B 78 */ mr r28, r3
+/* 803733B0 0036F010 98 1D 00 08 */ stb r0, 8(r29)
+/* 803733B4 0036F014 38 7D 00 70 */ addi r3, r29, 0x70
+/* 803733B8 0036F018 4B EF 66 C1 */ bl OSCancelAlarm
+/* 803733BC 0036F01C 3C 60 80 00 */ lis r3, 0x800000F8@ha
+/* 803733C0 0036F020 3C E0 80 37 */ lis r7, IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@ha
+/* 803733C4 0036F024 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
+/* 803733C8 0036F028 38 7D 00 70 */ addi r3, r29, 0x70
+/* 803733CC 0036F02C 38 E7 37 34 */ addi r7, r7, IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext@l
+/* 803733D0 0036F030 38 A0 00 00 */ li r5, 0
+/* 803733D4 0036F034 54 06 F0 BE */ srwi r6, r0, 2
+/* 803733D8 0036F038 4B EF 65 AD */ bl OSSetAlarm
+/* 803733DC 0036F03C 7F 83 E3 78 */ mr r3, r28
+/* 803733E0 0036F040 4B EF B3 A5 */ bl OSRestoreInterrupts
+lbl_803733E4:
+/* 803733E4 0036F044 9B DD 00 01 */ stb r30, 1(r29)
+lbl_803733E8:
+/* 803733E8 0036F048 39 61 00 40 */ addi r11, r1, 0x40
+/* 803733EC 0036F04C 4B E5 3D 81 */ bl func_801C716C
+/* 803733F0 0036F050 80 01 00 44 */ lwz r0, 0x44(r1)
+/* 803733F4 0036F054 7C 08 03 A6 */ mtlr r0
+/* 803733F8 0036F058 38 21 00 40 */ addi r1, r1, 0x40
+/* 803733FC 0036F05C 4E 80 00 20 */ blr
+
+.global SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll
+SpeakerOnCallback__Q34nw4r3snd13RemoteSpeakerFll:
+/* 80373400 0036F060 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80373404 0036F064 7C 08 02 A6 */ mflr r0
+/* 80373408 0036F068 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037340C 0036F06C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80373410 0036F070 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80373414 0036F074 7C 9E 23 78 */ mr r30, r4
+/* 80373418 0036F078 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037341C 0036F07C 7C 7D 1B 78 */ mr r29, r3
+/* 80373420 0036F080 48 00 03 89 */ bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+/* 80373424 0036F084 7F A4 EB 78 */ mr r4, r29
+/* 80373428 0036F088 48 00 04 19 */ bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
+/* 8037342C 0036F08C 2C 1E FF FF */ cmpwi r30, -1
+/* 80373430 0036F090 7C 7F 1B 78 */ mr r31, r3
+/* 80373434 0036F094 41 82 00 60 */ beq lbl_80373494
+/* 80373438 0036F098 40 80 00 14 */ bge lbl_8037344C
+/* 8037343C 0036F09C 2C 1E FF FD */ cmpwi r30, -3
+/* 80373440 0036F0A0 41 82 00 48 */ beq lbl_80373488
+/* 80373444 0036F0A4 40 80 00 38 */ bge lbl_8037347C
+/* 80373448 0036F0A8 48 00 00 58 */ b lbl_803734A0
+lbl_8037344C:
+/* 8037344C 0036F0AC 2C 1E 00 01 */ cmpwi r30, 1
+/* 80373450 0036F0B0 40 80 00 50 */ bge lbl_803734A0
+/* 80373454 0036F0B4 38 00 00 01 */ li r0, 1
+/* 80373458 0036F0B8 38 80 00 00 */ li r4, 0
+/* 8037345C 0036F0BC 98 03 00 03 */ stb r0, 3(r3)
+/* 80373460 0036F0C0 38 A0 00 20 */ li r5, 0x20
+/* 80373464 0036F0C4 38 63 00 18 */ addi r3, r3, 0x18
+/* 80373468 0036F0C8 4B C9 0C 9D */ bl memset
+/* 8037346C 0036F0CC 38 00 00 02 */ li r0, 2
+/* 80373470 0036F0D0 90 1F 00 0C */ stw r0, 0xc(r31)
+/* 80373474 0036F0D4 90 1F 00 14 */ stw r0, 0x14(r31)
+/* 80373478 0036F0D8 48 00 00 30 */ b lbl_803734A8
+lbl_8037347C:
+/* 8037347C 0036F0DC 38 00 00 01 */ li r0, 1
+/* 80373480 0036F0E0 90 03 00 14 */ stw r0, 0x14(r3)
+/* 80373484 0036F0E4 48 00 00 24 */ b lbl_803734A8
+lbl_80373488:
+/* 80373488 0036F0E8 38 00 00 00 */ li r0, 0
+/* 8037348C 0036F0EC 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373490 0036F0F0 48 00 00 18 */ b lbl_803734A8
+lbl_80373494:
+/* 80373494 0036F0F4 38 00 00 00 */ li r0, 0
+/* 80373498 0036F0F8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8037349C 0036F0FC 48 00 00 0C */ b lbl_803734A8
+lbl_803734A0:
+/* 803734A0 0036F100 38 00 00 00 */ li r0, 0
+/* 803734A4 0036F104 90 03 00 0C */ stw r0, 0xc(r3)
+lbl_803734A8:
+/* 803734A8 0036F108 2C 1E 00 00 */ cmpwi r30, 0
+/* 803734AC 0036F10C 41 82 00 3C */ beq lbl_803734E8
+/* 803734B0 0036F110 2C 1E FF FE */ cmpwi r30, -2
+/* 803734B4 0036F114 41 82 00 34 */ beq lbl_803734E8
+/* 803734B8 0036F118 88 1F 00 04 */ lbz r0, 4(r31)
+/* 803734BC 0036F11C 2C 00 00 00 */ cmpwi r0, 0
+/* 803734C0 0036F120 41 82 00 28 */ beq lbl_803734E8
+/* 803734C4 0036F124 81 9F 00 3C */ lwz r12, 0x3c(r31)
+/* 803734C8 0036F128 2C 0C 00 00 */ cmpwi r12, 0
+/* 803734CC 0036F12C 41 82 00 1C */ beq lbl_803734E8
+/* 803734D0 0036F130 7F A3 EB 78 */ mr r3, r29
+/* 803734D4 0036F134 7F C4 F3 78 */ mr r4, r30
+/* 803734D8 0036F138 7D 89 03 A6 */ mtctr r12
+/* 803734DC 0036F13C 4E 80 04 21 */ bctrl
+/* 803734E0 0036F140 38 00 00 00 */ li r0, 0
+/* 803734E4 0036F144 90 1F 00 3C */ stw r0, 0x3c(r31)
+lbl_803734E8:
+/* 803734E8 0036F148 38 00 00 00 */ li r0, 0
+/* 803734EC 0036F14C 98 1F 00 05 */ stb r0, 5(r31)
+/* 803734F0 0036F150 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803734F4 0036F154 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803734F8 0036F158 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803734FC 0036F15C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80373500 0036F160 7C 08 03 A6 */ mtlr r0
+/* 80373504 0036F164 38 21 00 20 */ addi r1, r1, 0x20
+/* 80373508 0036F168 4E 80 00 20 */ blr
+
+.global SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll
+SpeakerPlayCallback__Q34nw4r3snd13RemoteSpeakerFll:
+/* 8037350C 0036F16C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80373510 0036F170 7C 08 02 A6 */ mflr r0
+/* 80373514 0036F174 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80373518 0036F178 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037351C 0036F17C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80373520 0036F180 7C 9E 23 78 */ mr r30, r4
+/* 80373524 0036F184 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80373528 0036F188 7C 7D 1B 78 */ mr r29, r3
+/* 8037352C 0036F18C 48 00 02 7D */ bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+/* 80373530 0036F190 7F A4 EB 78 */ mr r4, r29
+/* 80373534 0036F194 48 00 03 0D */ bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
+/* 80373538 0036F198 2C 1E FF FF */ cmpwi r30, -1
+/* 8037353C 0036F19C 7C 7F 1B 78 */ mr r31, r3
+/* 80373540 0036F1A0 41 82 00 44 */ beq lbl_80373584
+/* 80373544 0036F1A4 40 80 00 14 */ bge lbl_80373558
+/* 80373548 0036F1A8 2C 1E FF FD */ cmpwi r30, -3
+/* 8037354C 0036F1AC 41 82 00 2C */ beq lbl_80373578
+/* 80373550 0036F1B0 40 80 00 1C */ bge lbl_8037356C
+/* 80373554 0036F1B4 48 00 00 3C */ b lbl_80373590
+lbl_80373558:
+/* 80373558 0036F1B8 2C 1E 00 01 */ cmpwi r30, 1
+/* 8037355C 0036F1BC 40 80 00 34 */ bge lbl_80373590
+/* 80373560 0036F1C0 38 00 00 04 */ li r0, 4
+/* 80373564 0036F1C4 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373568 0036F1C8 48 00 00 30 */ b lbl_80373598
+lbl_8037356C:
+/* 8037356C 0036F1CC 38 00 00 02 */ li r0, 2
+/* 80373570 0036F1D0 90 03 00 14 */ stw r0, 0x14(r3)
+/* 80373574 0036F1D4 48 00 00 24 */ b lbl_80373598
+lbl_80373578:
+/* 80373578 0036F1D8 38 00 00 00 */ li r0, 0
+/* 8037357C 0036F1DC 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373580 0036F1E0 48 00 00 18 */ b lbl_80373598
+lbl_80373584:
+/* 80373584 0036F1E4 38 00 00 00 */ li r0, 0
+/* 80373588 0036F1E8 90 03 00 0C */ stw r0, 0xc(r3)
+/* 8037358C 0036F1EC 48 00 00 0C */ b lbl_80373598
+lbl_80373590:
+/* 80373590 0036F1F0 38 00 00 00 */ li r0, 0
+/* 80373594 0036F1F4 90 03 00 0C */ stw r0, 0xc(r3)
+lbl_80373598:
+/* 80373598 0036F1F8 2C 1E FF FE */ cmpwi r30, -2
+/* 8037359C 0036F1FC 41 82 00 34 */ beq lbl_803735D0
+/* 803735A0 0036F200 88 03 00 04 */ lbz r0, 4(r3)
+/* 803735A4 0036F204 2C 00 00 00 */ cmpwi r0, 0
+/* 803735A8 0036F208 41 82 00 28 */ beq lbl_803735D0
+/* 803735AC 0036F20C 81 83 00 3C */ lwz r12, 0x3c(r3)
+/* 803735B0 0036F210 2C 0C 00 00 */ cmpwi r12, 0
+/* 803735B4 0036F214 41 82 00 1C */ beq lbl_803735D0
+/* 803735B8 0036F218 7F A3 EB 78 */ mr r3, r29
+/* 803735BC 0036F21C 7F C4 F3 78 */ mr r4, r30
+/* 803735C0 0036F220 7D 89 03 A6 */ mtctr r12
+/* 803735C4 0036F224 4E 80 04 21 */ bctrl
+/* 803735C8 0036F228 38 00 00 00 */ li r0, 0
+/* 803735CC 0036F22C 90 1F 00 3C */ stw r0, 0x3c(r31)
+lbl_803735D0:
+/* 803735D0 0036F230 38 00 00 00 */ li r0, 0
+/* 803735D4 0036F234 98 1F 00 05 */ stb r0, 5(r31)
+/* 803735D8 0036F238 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803735DC 0036F23C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803735E0 0036F240 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803735E4 0036F244 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803735E8 0036F248 7C 08 03 A6 */ mtlr r0
+/* 803735EC 0036F24C 38 21 00 20 */ addi r1, r1, 0x20
+/* 803735F0 0036F250 4E 80 00 20 */ blr
+
+.global SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll
+SpeakerOffCallback__Q34nw4r3snd13RemoteSpeakerFll:
+/* 803735F4 0036F254 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803735F8 0036F258 7C 08 02 A6 */ mflr r0
+/* 803735FC 0036F25C 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80373600 0036F260 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80373604 0036F264 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80373608 0036F268 7C 9E 23 78 */ mr r30, r4
+/* 8037360C 0036F26C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80373610 0036F270 7C 7D 1B 78 */ mr r29, r3
+/* 80373614 0036F274 48 00 01 95 */ bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+/* 80373618 0036F278 7F A4 EB 78 */ mr r4, r29
+/* 8037361C 0036F27C 48 00 02 25 */ bl GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
+/* 80373620 0036F280 2C 1E FF FF */ cmpwi r30, -1
+/* 80373624 0036F284 7C 7F 1B 78 */ mr r31, r3
+/* 80373628 0036F288 41 82 00 44 */ beq lbl_8037366C
+/* 8037362C 0036F28C 40 80 00 14 */ bge lbl_80373640
+/* 80373630 0036F290 2C 1E FF FD */ cmpwi r30, -3
+/* 80373634 0036F294 41 82 00 2C */ beq lbl_80373660
+/* 80373638 0036F298 40 80 00 1C */ bge lbl_80373654
+/* 8037363C 0036F29C 48 00 00 3C */ b lbl_80373678
+lbl_80373640:
+/* 80373640 0036F2A0 2C 1E 00 01 */ cmpwi r30, 1
+/* 80373644 0036F2A4 40 80 00 34 */ bge lbl_80373678
+/* 80373648 0036F2A8 38 00 00 06 */ li r0, 6
+/* 8037364C 0036F2AC 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373650 0036F2B0 48 00 00 30 */ b lbl_80373680
+lbl_80373654:
+/* 80373654 0036F2B4 38 00 00 03 */ li r0, 3
+/* 80373658 0036F2B8 90 03 00 14 */ stw r0, 0x14(r3)
+/* 8037365C 0036F2BC 48 00 00 24 */ b lbl_80373680
+lbl_80373660:
+/* 80373660 0036F2C0 38 00 00 00 */ li r0, 0
+/* 80373664 0036F2C4 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373668 0036F2C8 48 00 00 18 */ b lbl_80373680
+lbl_8037366C:
+/* 8037366C 0036F2CC 38 00 00 00 */ li r0, 0
+/* 80373670 0036F2D0 90 03 00 0C */ stw r0, 0xc(r3)
+/* 80373674 0036F2D4 48 00 00 0C */ b lbl_80373680
+lbl_80373678:
+/* 80373678 0036F2D8 38 00 00 00 */ li r0, 0
+/* 8037367C 0036F2DC 90 03 00 0C */ stw r0, 0xc(r3)
+lbl_80373680:
+/* 80373680 0036F2E0 2C 1E FF FE */ cmpwi r30, -2
+/* 80373684 0036F2E4 41 82 00 34 */ beq lbl_803736B8
+/* 80373688 0036F2E8 88 03 00 04 */ lbz r0, 4(r3)
+/* 8037368C 0036F2EC 2C 00 00 00 */ cmpwi r0, 0
+/* 80373690 0036F2F0 41 82 00 28 */ beq lbl_803736B8
+/* 80373694 0036F2F4 81 83 00 3C */ lwz r12, 0x3c(r3)
+/* 80373698 0036F2F8 2C 0C 00 00 */ cmpwi r12, 0
+/* 8037369C 0036F2FC 41 82 00 1C */ beq lbl_803736B8
+/* 803736A0 0036F300 7F A3 EB 78 */ mr r3, r29
+/* 803736A4 0036F304 7F C4 F3 78 */ mr r4, r30
+/* 803736A8 0036F308 7D 89 03 A6 */ mtctr r12
+/* 803736AC 0036F30C 4E 80 04 21 */ bctrl
+/* 803736B0 0036F310 38 00 00 00 */ li r0, 0
+/* 803736B4 0036F314 90 1F 00 3C */ stw r0, 0x3c(r31)
+lbl_803736B8:
+/* 803736B8 0036F318 38 00 00 00 */ li r0, 0
+/* 803736BC 0036F31C 98 1F 00 05 */ stb r0, 5(r31)
+/* 803736C0 0036F320 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 803736C4 0036F324 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 803736C8 0036F328 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 803736CC 0036F32C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 803736D0 0036F330 7C 08 03 A6 */ mtlr r0
+/* 803736D4 0036F334 38 21 00 20 */ addi r1, r1, 0x20
+/* 803736D8 0036F338 4E 80 00 20 */ blr
+
+.global ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext
+ContinueAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext:
+/* 803736DC 0036F33C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 803736E0 0036F340 7C 08 02 A6 */ mflr r0
+/* 803736E4 0036F344 90 01 00 14 */ stw r0, 0x14(r1)
+/* 803736E8 0036F348 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 803736EC 0036F34C 93 C1 00 08 */ stw r30, 8(r1)
+/* 803736F0 0036F350 7C 7E 1B 78 */ mr r30, r3
+/* 803736F4 0036F354 4B EF B0 69 */ bl OSDisableInterrupts
+/* 803736F8 0036F358 7C 7F 1B 78 */ mr r31, r3
+/* 803736FC 0036F35C 7F C3 F3 78 */ mr r3, r30
+/* 80373700 0036F360 4B EF 67 A9 */ bl OSGetAlarmUserData
+/* 80373704 0036F364 38 80 00 01 */ li r4, 1
+/* 80373708 0036F368 38 00 00 00 */ li r0, 0
+/* 8037370C 0036F36C 98 83 00 06 */ stb r4, 6(r3)
+/* 80373710 0036F370 98 03 00 07 */ stb r0, 7(r3)
+/* 80373714 0036F374 7F E3 FB 78 */ mr r3, r31
+/* 80373718 0036F378 4B EF B0 6D */ bl OSRestoreInterrupts
+/* 8037371C 0036F37C 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80373720 0036F380 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80373724 0036F384 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80373728 0036F388 7C 08 03 A6 */ mtlr r0
+/* 8037372C 0036F38C 38 21 00 10 */ addi r1, r1, 0x10
+/* 80373730 0036F390 4E 80 00 20 */ blr
+
+.global IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext
+IntervalAlarmHandler__Q34nw4r3snd13RemoteSpeakerFP7OSAlarmP9OSContext:
+/* 80373734 0036F394 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80373738 0036F398 7C 08 02 A6 */ mflr r0
+/* 8037373C 0036F39C 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80373740 0036F3A0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80373744 0036F3A4 93 C1 00 08 */ stw r30, 8(r1)
+/* 80373748 0036F3A8 7C 7E 1B 78 */ mr r30, r3
+/* 8037374C 0036F3AC 4B EF B0 11 */ bl OSDisableInterrupts
+/* 80373750 0036F3B0 7C 7F 1B 78 */ mr r31, r3
+/* 80373754 0036F3B4 7F C3 F3 78 */ mr r3, r30
+/* 80373758 0036F3B8 4B EF 67 51 */ bl OSGetAlarmUserData
+/* 8037375C 0036F3BC 88 03 00 08 */ lbz r0, 8(r3)
+/* 80373760 0036F3C0 7C 7E 1B 78 */ mr r30, r3
+/* 80373764 0036F3C4 2C 00 00 00 */ cmpwi r0, 0
+/* 80373768 0036F3C8 41 82 00 18 */ beq lbl_80373780
+/* 8037376C 0036F3CC 38 63 00 40 */ addi r3, r3, 0x40
+/* 80373770 0036F3D0 4B EF 63 09 */ bl OSCancelAlarm
+/* 80373774 0036F3D4 38 00 00 00 */ li r0, 0
+/* 80373778 0036F3D8 98 1E 00 06 */ stb r0, 6(r30)
+/* 8037377C 0036F3DC 98 1E 00 07 */ stb r0, 7(r30)
+lbl_80373780:
+/* 80373780 0036F3E0 38 00 00 00 */ li r0, 0
+/* 80373784 0036F3E4 7F E3 FB 78 */ mr r3, r31
+/* 80373788 0036F3E8 98 1E 00 08 */ stb r0, 8(r30)
+/* 8037378C 0036F3EC 4B EF AF F9 */ bl OSRestoreInterrupts
+/* 80373790 0036F3F0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80373794 0036F3F4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80373798 0036F3F8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037379C 0036F3FC 7C 08 03 A6 */ mtlr r0
+/* 803737A0 0036F400 38 21 00 10 */ addi r1, r1, 0x10
+/* 803737A4 0036F404 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_RemoteSpeakerManager.s b/asm/nw4r/snd/snd_RemoteSpeakerManager.s
new file mode 100644
index 0000000..710d6b9
--- /dev/null
+++ b/asm/nw4r/snd/snd_RemoteSpeakerManager.s
@@ -0,0 +1,166 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv:
+/* 803737A8 0036F408 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 803737AC 0036F40C 7C 08 02 A6 */ mflr r0
+/* 803737B0 0036F410 90 01 00 24 */ stw r0, 0x24(r1)
+/* 803737B4 0036F414 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 803737B8 0036F418 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 803737BC 0036F41C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 803737C0 0036F420 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13)
+/* 803737C4 0036F424 7C 00 07 75 */ extsb. r0, r0
+/* 803737C8 0036F428 40 82 00 54 */ bne lbl_8037381C
+/* 803737CC 0036F42C 3C 60 80 62 */ lis r3, lbl_806219F0@ha
+/* 803737D0 0036F430 38 00 00 00 */ li r0, 0
+/* 803737D4 0036F434 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l
+/* 803737D8 0036F438 98 03 19 F0 */ stb r0, 0x19f0(r3)
+/* 803737DC 0036F43C 3B BE 00 38 */ addi r29, r30, 0x38
+/* 803737E0 0036F440 3B FE 02 D8 */ addi r31, r30, 0x2d8
+lbl_803737E4:
+/* 803737E4 0036F444 7F A3 EB 78 */ mr r3, r29
+/* 803737E8 0036F448 4B FF F7 AD */ bl __ct__Q34nw4r3snd13RemoteSpeakerFv
+/* 803737EC 0036F44C 3B BD 00 A8 */ addi r29, r29, 0xa8
+/* 803737F0 0036F450 7C 1D F8 40 */ cmplw r29, r31
+/* 803737F4 0036F454 41 80 FF F0 */ blt lbl_803737E4
+/* 803737F8 0036F458 38 80 00 01 */ li r4, 1
+/* 803737FC 0036F45C 38 A0 00 00 */ li r5, 0
+/* 80373800 0036F460 38 60 00 02 */ li r3, 2
+/* 80373804 0036F464 38 00 00 03 */ li r0, 3
+/* 80373808 0036F468 90 BE 00 70 */ stw r5, 0x70(r30)
+/* 8037380C 0036F46C 90 9E 01 18 */ stw r4, 0x118(r30)
+/* 80373810 0036F470 90 7E 01 C0 */ stw r3, 0x1c0(r30)
+/* 80373814 0036F474 90 1E 02 68 */ stw r0, 0x268(r30)
+/* 80373818 0036F478 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13)
+lbl_8037381C:
+/* 8037381C 0036F47C 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80373820 0036F480 3C 60 80 62 */ lis r3, lbl_806219F0@ha
+/* 80373824 0036F484 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80373828 0036F488 38 63 19 F0 */ addi r3, r3, lbl_806219F0@l
+/* 8037382C 0036F48C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80373830 0036F490 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80373834 0036F494 7C 08 03 A6 */ mtlr r0
+/* 80373838 0036F498 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037383C 0036F49C 4E 80 00 20 */ blr
+
+.global GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi
+GetRemoteSpeaker__Q44nw4r3snd6detail20RemoteSpeakerManagerFi:
+/* 80373840 0036F4A0 1C 04 00 A8 */ mulli r0, r4, 0xa8
+/* 80373844 0036F4A4 7C 63 02 14 */ add r3, r3, r0
+/* 80373848 0036F4A8 38 63 00 38 */ addi r3, r3, 0x38
+/* 8037384C 0036F4AC 4E 80 00 20 */ blr
+
+.global Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv:
+/* 80373850 0036F4B0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80373854 0036F4B4 7C 08 02 A6 */ mflr r0
+/* 80373858 0036F4B8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037385C 0036F4BC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80373860 0036F4C0 7C 7F 1B 78 */ mr r31, r3
+/* 80373864 0036F4C4 88 03 00 00 */ lbz r0, 0(r3)
+/* 80373868 0036F4C8 2C 00 00 00 */ cmpwi r0, 0
+/* 8037386C 0036F4CC 40 82 00 6C */ bne lbl_803738D8
+/* 80373870 0036F4D0 38 63 00 08 */ addi r3, r3, 8
+/* 80373874 0036F4D4 4B EF 5E B1 */ bl OSCreateAlarm
+/* 80373878 0036F4D8 4B EF EF 41 */ bl OSGetTime
+/* 8037387C 0036F4DC 3C C0 80 00 */ lis r6, 0x800000F8@ha
+/* 80373880 0036F4E0 3C A0 43 1C */ lis r5, 0x431BDE83@ha
+/* 80373884 0036F4E4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
+/* 80373888 0036F4E8 3C C0 10 62 */ lis r6, 0x10624DD3@ha
+/* 8037388C 0036F4EC 39 46 4D D3 */ addi r10, r6, 0x10624DD3@l
+/* 80373890 0036F4F0 3D 20 80 37 */ lis r9, RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext@ha
+/* 80373894 0036F4F4 54 00 F0 BE */ srwi r0, r0, 2
+/* 80373898 0036F4F8 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l
+/* 8037389C 0036F4FC 7D 05 00 16 */ mulhwu r8, r5, r0
+/* 803738A0 0036F500 3C E0 00 66 */ lis r7, 0x0065B9AB@ha
+/* 803738A4 0036F504 7C 86 23 78 */ mr r6, r4
+/* 803738A8 0036F508 38 07 B9 AB */ addi r0, r7, 0x0065B9AB@l
+/* 803738AC 0036F50C 7C 65 1B 78 */ mr r5, r3
+/* 803738B0 0036F510 38 7F 00 08 */ addi r3, r31, 8
+/* 803738B4 0036F514 55 04 8B FE */ srwi r4, r8, 0xf
+/* 803738B8 0036F518 39 29 38 EC */ addi r9, r9, RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext@l
+/* 803738BC 0036F51C 7C 04 01 D6 */ mullw r0, r4, r0
+/* 803738C0 0036F520 38 E0 00 00 */ li r7, 0
+/* 803738C4 0036F524 7C 0A 00 16 */ mulhwu r0, r10, r0
+/* 803738C8 0036F528 54 08 BA 7E */ srwi r8, r0, 9
+/* 803738CC 0036F52C 4B EF 61 29 */ bl OSSetPeriodicAlarm
+/* 803738D0 0036F530 38 00 00 01 */ li r0, 1
+/* 803738D4 0036F534 98 1F 00 00 */ stb r0, 0(r31)
+lbl_803738D8:
+/* 803738D8 0036F538 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 803738DC 0036F53C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 803738E0 0036F540 7C 08 03 A6 */ mtlr r0
+/* 803738E4 0036F544 38 21 00 10 */ addi r1, r1, 0x10
+/* 803738E8 0036F548 4E 80 00 20 */ blr
+
+.global RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext
+RemoteSpeakerAlarmProc__Q44nw4r3snd6detail20RemoteSpeakerManagerFP7OSAlarmP9OSContext:
+/* 803738EC 0036F54C 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 803738F0 0036F550 7C 08 02 A6 */ mflr r0
+/* 803738F4 0036F554 90 01 00 74 */ stw r0, 0x74(r1)
+/* 803738F8 0036F558 93 E1 00 6C */ stw r31, 0x6c(r1)
+/* 803738FC 0036F55C 93 C1 00 68 */ stw r30, 0x68(r1)
+/* 80373900 0036F560 93 A1 00 64 */ stw r29, 0x64(r1)
+/* 80373904 0036F564 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13)
+/* 80373908 0036F568 7C 00 07 75 */ extsb. r0, r0
+/* 8037390C 0036F56C 40 82 00 54 */ bne lbl_80373960
+/* 80373910 0036F570 3C 60 80 62 */ lis r3, lbl_806219F0@ha
+/* 80373914 0036F574 38 00 00 00 */ li r0, 0
+/* 80373918 0036F578 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l
+/* 8037391C 0036F57C 98 03 19 F0 */ stb r0, 0x19f0(r3)
+/* 80373920 0036F580 3B BE 00 38 */ addi r29, r30, 0x38
+/* 80373924 0036F584 3B FE 02 D8 */ addi r31, r30, 0x2d8
+lbl_80373928:
+/* 80373928 0036F588 7F A3 EB 78 */ mr r3, r29
+/* 8037392C 0036F58C 4B FF F6 69 */ bl __ct__Q34nw4r3snd13RemoteSpeakerFv
+/* 80373930 0036F590 3B BD 00 A8 */ addi r29, r29, 0xa8
+/* 80373934 0036F594 7C 1D F8 40 */ cmplw r29, r31
+/* 80373938 0036F598 41 80 FF F0 */ blt lbl_80373928
+/* 8037393C 0036F59C 38 80 00 01 */ li r4, 1
+/* 80373940 0036F5A0 38 A0 00 00 */ li r5, 0
+/* 80373944 0036F5A4 38 60 00 02 */ li r3, 2
+/* 80373948 0036F5A8 38 00 00 03 */ li r0, 3
+/* 8037394C 0036F5AC 90 BE 00 70 */ stw r5, 0x70(r30)
+/* 80373950 0036F5B0 90 9E 01 18 */ stw r4, 0x118(r30)
+/* 80373954 0036F5B4 90 7E 01 C0 */ stw r3, 0x1c0(r30)
+/* 80373958 0036F5B8 90 1E 02 68 */ stw r0, 0x268(r30)
+/* 8037395C 0036F5BC 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13)
+lbl_80373960:
+/* 80373960 0036F5C0 3F C0 80 62 */ lis r30, lbl_806219F0@ha
+/* 80373964 0036F5C4 3B DE 19 F0 */ addi r30, r30, lbl_806219F0@l
+/* 80373968 0036F5C8 4B F1 D5 2D */ bl func_80290E94
+/* 8037396C 0036F5CC 2C 03 00 28 */ cmpwi r3, 0x28
+/* 80373970 0036F5D0 41 80 00 58 */ blt lbl_803739C8
+/* 80373974 0036F5D4 3B BE 00 38 */ addi r29, r30, 0x38
+/* 80373978 0036F5D8 3B E0 00 00 */ li r31, 0
+lbl_8037397C:
+/* 8037397C 0036F5DC 80 1E 00 44 */ lwz r0, 0x44(r30)
+/* 80373980 0036F5E0 2C 00 00 04 */ cmpwi r0, 4
+/* 80373984 0036F5E4 40 82 00 20 */ bne lbl_803739A4
+/* 80373988 0036F5E8 7F E3 FB 78 */ mr r3, r31
+/* 8037398C 0036F5EC 38 81 00 08 */ addi r4, r1, 8
+/* 80373990 0036F5F0 38 A0 00 28 */ li r5, 0x28
+/* 80373994 0036F5F4 4B F1 D5 2D */ bl func_80290EC0
+/* 80373998 0036F5F8 7F A3 EB 78 */ mr r3, r29
+/* 8037399C 0036F5FC 38 81 00 08 */ addi r4, r1, 8
+/* 803739A0 0036F600 4B FF F7 4D */ bl UpdateStreamData__Q34nw4r3snd13RemoteSpeakerFPCs
+lbl_803739A4:
+/* 803739A4 0036F604 7F A3 EB 78 */ mr r3, r29
+/* 803739A8 0036F608 4B FF F6 71 */ bl Update__Q34nw4r3snd13RemoteSpeakerFv
+/* 803739AC 0036F60C 3B FF 00 01 */ addi r31, r31, 1
+/* 803739B0 0036F610 3B BD 00 A8 */ addi r29, r29, 0xa8
+/* 803739B4 0036F614 2C 1F 00 04 */ cmpwi r31, 4
+/* 803739B8 0036F618 3B DE 00 A8 */ addi r30, r30, 0xa8
+/* 803739BC 0036F61C 41 80 FF C0 */ blt lbl_8037397C
+/* 803739C0 0036F620 38 60 00 28 */ li r3, 0x28
+/* 803739C4 0036F624 4B F1 D5 C1 */ bl func_80290F84
+lbl_803739C8:
+/* 803739C8 0036F628 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 803739CC 0036F62C 83 E1 00 6C */ lwz r31, 0x6c(r1)
+/* 803739D0 0036F630 83 C1 00 68 */ lwz r30, 0x68(r1)
+/* 803739D4 0036F634 83 A1 00 64 */ lwz r29, 0x64(r1)
+/* 803739D8 0036F638 7C 08 03 A6 */ mtlr r0
+/* 803739DC 0036F63C 38 21 00 70 */ addi r1, r1, 0x70
+/* 803739E0 0036F640 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/snd_SeqFile.s b/asm/nw4r/snd/snd_SeqFile.s
new file mode 100644
index 0000000..65723cb
--- /dev/null
+++ b/asm/nw4r/snd/snd_SeqFile.s
@@ -0,0 +1,43 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
+__ct__Q44nw4r3snd6detail13SeqFileReaderFPCv:
+/* 803739E4 0036F644 80 A4 00 00 */ lwz r5, 0(r4)
+/* 803739E8 0036F648 38 C0 00 00 */ li r6, 0
+/* 803739EC 0036F64C 90 C3 00 00 */ stw r6, 0(r3)
+/* 803739F0 0036F650 3C 05 AD AD */ addis r0, r5, 0xadad
+/* 803739F4 0036F654 28 00 45 51 */ cmplwi r0, 0x4551
+/* 803739F8 0036F658 90 C3 00 04 */ stw r6, 4(r3)
+/* 803739FC 0036F65C 41 82 00 0C */ beq lbl_80373A08
+/* 80373A00 0036F660 38 00 00 00 */ li r0, 0
+/* 80373A04 0036F664 48 00 00 30 */ b lbl_80373A34
+lbl_80373A08:
+/* 80373A08 0036F668 A0 C4 00 06 */ lhz r6, 6(r4)
+/* 80373A0C 0036F66C 28 06 01 00 */ cmplwi r6, 0x100
+/* 80373A10 0036F670 40 80 00 0C */ bge lbl_80373A1C
+/* 80373A14 0036F674 38 00 00 00 */ li r0, 0
+/* 80373A18 0036F678 48 00 00 1C */ b lbl_80373A34
+lbl_80373A1C:
+/* 80373A1C 0036F67C 20 06 01 00 */ subfic r0, r6, 0x100
+/* 80373A20 0036F680 38 A0 01 00 */ li r5, 0x100
+/* 80373A24 0036F684 7C A5 33 38 */ orc r5, r5, r6
+/* 80373A28 0036F688 54 00 F8 7E */ srwi r0, r0, 1
+/* 80373A2C 0036F68C 7C 00 28 50 */ subf r0, r0, r5
+/* 80373A30 0036F690 54 00 0F FE */ srwi r0, r0, 0x1f
+lbl_80373A34:
+/* 80373A34 0036F694 2C 00 00 00 */ cmpwi r0, 0
+/* 80373A38 0036F698 4D 82 00 20 */ beqlr
+/* 80373A3C 0036F69C 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 80373A40 0036F6A0 90 83 00 00 */ stw r4, 0(r3)
+/* 80373A44 0036F6A4 7C 00 22 14 */ add r0, r0, r4
+/* 80373A48 0036F6A8 90 03 00 04 */ stw r0, 4(r3)
+/* 80373A4C 0036F6AC 4E 80 00 20 */ blr
+
+.global GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
+GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv:
+/* 80373A50 0036F6B0 80 63 00 04 */ lwz r3, 4(r3)
+/* 80373A54 0036F6B4 80 03 00 08 */ lwz r0, 8(r3)
+/* 80373A58 0036F6B8 7C 60 1A 14 */ add r3, r0, r3
+/* 80373A5C 0036F6BC 4E 80 00 20 */ blr
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index 71892a4..9cfe241 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,814 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_80372F48
-func_80372F48:
-/* 80372F48 0036EBA8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372F4C 0036EBAC 7C 08 02 A6 */ mflr r0
-/* 80372F50 0036EBB0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372F54 0036EBB4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372F58 0036EBB8 7C 7F 1B 78 */ mr r31, r3
-/* 80372F5C 0036EBBC 88 03 01 D8 */ lbz r0, 0x1d8(r3)
-/* 80372F60 0036EBC0 2C 00 00 00 */ cmpwi r0, 0
-/* 80372F64 0036EBC4 41 82 00 14 */ beq lbl_80372F78
-/* 80372F68 0036EBC8 38 63 01 4C */ addi r3, r3, 0x14c
-/* 80372F6C 0036EBCC 4B F7 57 1D */ bl func_802E8688
-/* 80372F70 0036EBD0 38 00 00 00 */ li r0, 0
-/* 80372F74 0036EBD4 98 1F 01 D8 */ stb r0, 0x1d8(r31)
-lbl_80372F78:
-/* 80372F78 0036EBD8 7F E3 FB 78 */ mr r3, r31
-/* 80372F7C 0036EBDC 48 00 40 91 */ bl func_8037700C
-/* 80372F80 0036EBE0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80372F84 0036EBE4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80372F88 0036EBE8 7C 08 03 A6 */ mtlr r0
-/* 80372F8C 0036EBEC 38 21 00 10 */ addi r1, r1, 0x10
-/* 80372F90 0036EBF0 4E 80 00 20 */ blr
-
-.global func_80372F94
-func_80372F94:
-/* 80372F94 0036EBF4 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80372F98 0036EBF8 7C 08 02 A6 */ mflr r0
-/* 80372F9C 0036EBFC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80372FA0 0036EC00 38 00 00 00 */ li r0, 0
-/* 80372FA4 0036EC04 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80372FA8 0036EC08 7C 7F 1B 78 */ mr r31, r3
-/* 80372FAC 0036EC0C 98 03 00 00 */ stb r0, 0(r3)
-/* 80372FB0 0036EC10 98 03 00 01 */ stb r0, 1(r3)
-/* 80372FB4 0036EC14 98 03 00 02 */ stb r0, 2(r3)
-/* 80372FB8 0036EC18 98 03 00 03 */ stb r0, 3(r3)
-/* 80372FBC 0036EC1C 98 03 00 04 */ stb r0, 4(r3)
-/* 80372FC0 0036EC20 98 03 00 05 */ stb r0, 5(r3)
-/* 80372FC4 0036EC24 98 03 00 06 */ stb r0, 6(r3)
-/* 80372FC8 0036EC28 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80372FCC 0036EC2C 90 03 00 10 */ stw r0, 0x10(r3)
-/* 80372FD0 0036EC30 90 03 00 14 */ stw r0, 0x14(r3)
-/* 80372FD4 0036EC34 90 03 00 3C */ stw r0, 0x3c(r3)
-/* 80372FD8 0036EC38 38 63 00 40 */ addi r3, r3, 0x40
-/* 80372FDC 0036EC3C 4B EF 67 49 */ bl OSCreateAlarm
-/* 80372FE0 0036EC40 7F E4 FB 78 */ mr r4, r31
-/* 80372FE4 0036EC44 38 7F 00 40 */ addi r3, r31, 0x40
-/* 80372FE8 0036EC48 4B EF 6E B9 */ bl OSSetAlarmUserData
-/* 80372FEC 0036EC4C 38 7F 00 70 */ addi r3, r31, 0x70
-/* 80372FF0 0036EC50 4B EF 67 35 */ bl OSCreateAlarm
-/* 80372FF4 0036EC54 7F E4 FB 78 */ mr r4, r31
-/* 80372FF8 0036EC58 38 7F 00 70 */ addi r3, r31, 0x70
-/* 80372FFC 0036EC5C 4B EF 6E A5 */ bl OSSetAlarmUserData
-/* 80373000 0036EC60 7F E3 FB 78 */ mr r3, r31
-/* 80373004 0036EC64 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80373008 0036EC68 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037300C 0036EC6C 7C 08 03 A6 */ mtlr r0
-/* 80373010 0036EC70 38 21 00 10 */ addi r1, r1, 0x10
-/* 80373014 0036EC74 4E 80 00 20 */ blr
-
-.global func_80373018
-func_80373018:
-/* 80373018 0036EC78 88 03 00 05 */ lbz r0, 5(r3)
-/* 8037301C 0036EC7C 2C 00 00 00 */ cmpwi r0, 0
-/* 80373020 0036EC80 4C 82 00 20 */ bnelr
-/* 80373024 0036EC84 80 83 00 10 */ lwz r4, 0x10(r3)
-/* 80373028 0036EC88 2C 04 00 00 */ cmpwi r4, 0
-/* 8037302C 0036EC8C 41 82 00 08 */ beq lbl_80373034
-/* 80373030 0036EC90 48 00 00 08 */ b lbl_80373038
-lbl_80373034:
-/* 80373034 0036EC94 80 83 00 14 */ lwz r4, 0x14(r3)
-lbl_80373038:
-/* 80373038 0036EC98 38 00 00 00 */ li r0, 0
-/* 8037303C 0036EC9C 90 03 00 10 */ stw r0, 0x10(r3)
-/* 80373040 0036ECA0 90 03 00 14 */ stw r0, 0x14(r3)
-/* 80373044 0036ECA4 48 00 00 08 */ b lbl_8037304C
-/* 80373048 0036ECA8 4E 80 00 20 */ blr
-lbl_8037304C:
-/* 8037304C 0036ECAC 2C 04 00 02 */ cmpwi r4, 2
-/* 80373050 0036ECB0 41 82 00 48 */ beq lbl_80373098
-/* 80373054 0036ECB4 40 80 00 14 */ bge lbl_80373068
-/* 80373058 0036ECB8 2C 04 00 00 */ cmpwi r4, 0
-/* 8037305C 0036ECBC 4D 82 00 20 */ beqlr
-/* 80373060 0036ECC0 40 80 00 14 */ bge lbl_80373074
-/* 80373064 0036ECC4 4E 80 00 20 */ blr
-lbl_80373068:
-/* 80373068 0036ECC8 2C 04 00 04 */ cmpwi r4, 4
-/* 8037306C 0036ECCC 4C 80 00 20 */ bgelr
-/* 80373070 0036ECD0 48 00 00 50 */ b lbl_803730C0
-lbl_80373074:
-/* 80373074 0036ECD4 38 00 00 01 */ li r0, 1
-/* 80373078 0036ECD8 3C A0 80 37 */ lis r5, lbl_80373400@ha
-/* 8037307C 0036ECDC 98 03 00 04 */ stb r0, 4(r3)
-/* 80373080 0036ECE0 38 A5 34 00 */ addi r5, r5, lbl_80373400@l
-/* 80373084 0036ECE4 38 80 00 01 */ li r4, 1
-/* 80373088 0036ECE8 98 03 00 05 */ stb r0, 5(r3)
-/* 8037308C 0036ECEC 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373090 0036ECF0 80 63 00 38 */ lwz r3, 0x38(r3)
-/* 80373094 0036ECF4 4B F3 6B 80 */ b func_802A9C14
-lbl_80373098:
-/* 80373098 0036ECF8 38 C0 00 01 */ li r6, 1
-/* 8037309C 0036ECFC 38 00 00 03 */ li r0, 3
-/* 803730A0 0036ED00 3C A0 80 37 */ lis r5, lbl_8037350C@ha
-/* 803730A4 0036ED04 98 C3 00 04 */ stb r6, 4(r3)
-/* 803730A8 0036ED08 38 A5 35 0C */ addi r5, r5, lbl_8037350C@l
-/* 803730AC 0036ED0C 38 80 00 04 */ li r4, 4
-/* 803730B0 0036ED10 98 C3 00 05 */ stb r6, 5(r3)
-/* 803730B4 0036ED14 90 03 00 0C */ stw r0, 0xc(r3)
-/* 803730B8 0036ED18 80 63 00 38 */ lwz r3, 0x38(r3)
-/* 803730BC 0036ED1C 4B F3 6B 58 */ b func_802A9C14
-lbl_803730C0:
-/* 803730C0 0036ED20 38 C0 00 01 */ li r6, 1
-/* 803730C4 0036ED24 38 00 00 05 */ li r0, 5
-/* 803730C8 0036ED28 3C A0 80 37 */ lis r5, lbl_803735F4@ha
-/* 803730CC 0036ED2C 98 C3 00 04 */ stb r6, 4(r3)
-/* 803730D0 0036ED30 38 A5 35 F4 */ addi r5, r5, lbl_803735F4@l
-/* 803730D4 0036ED34 38 80 00 00 */ li r4, 0
-/* 803730D8 0036ED38 98 C3 00 05 */ stb r6, 5(r3)
-/* 803730DC 0036ED3C 90 03 00 0C */ stw r0, 0xc(r3)
-/* 803730E0 0036ED40 80 63 00 38 */ lwz r3, 0x38(r3)
-/* 803730E4 0036ED44 4B F3 6B 30 */ b func_802A9C14
-/* 803730E8 0036ED48 4E 80 00 20 */ blr
-
-.global func_803730EC
-func_803730EC:
-/* 803730EC 0036ED4C 94 21 FF C0 */ stwu r1, -0x40(r1)
-/* 803730F0 0036ED50 7C 08 02 A6 */ mflr r0
-/* 803730F4 0036ED54 90 01 00 44 */ stw r0, 0x44(r1)
-/* 803730F8 0036ED58 39 61 00 40 */ addi r11, r1, 0x40
-/* 803730FC 0036ED5C 4B E5 40 25 */ bl _savegpr_25
-/* 80373100 0036ED60 80 03 00 0C */ lwz r0, 0xc(r3)
-/* 80373104 0036ED64 7C 7D 1B 78 */ mr r29, r3
-/* 80373108 0036ED68 7C 99 23 78 */ mr r25, r4
-/* 8037310C 0036ED6C 2C 00 00 04 */ cmpwi r0, 4
-/* 80373110 0036ED70 40 82 02 D8 */ bne lbl_803733E8
-/* 80373114 0036ED74 88 03 00 02 */ lbz r0, 2(r3)
-/* 80373118 0036ED78 3B C0 00 01 */ li r30, 1
-/* 8037311C 0036ED7C 2C 00 00 00 */ cmpwi r0, 0
-/* 80373120 0036ED80 41 82 00 F0 */ beq lbl_80373210
-/* 80373124 0036ED84 38 00 00 02 */ li r0, 2
-/* 80373128 0036ED88 7F 26 CB 78 */ mr r6, r25
-/* 8037312C 0036ED8C 38 A0 00 01 */ li r5, 1
-/* 80373130 0036ED90 38 80 00 00 */ li r4, 0
-/* 80373134 0036ED94 7C 09 03 A6 */ mtctr r0
-lbl_80373138:
-/* 80373138 0036ED98 80 06 00 00 */ lwz r0, 0(r6)
-/* 8037313C 0036ED9C 2C 00 00 00 */ cmpwi r0, 0
-/* 80373140 0036EDA0 41 82 00 0C */ beq lbl_8037314C
-/* 80373144 0036EDA4 38 A0 00 00 */ li r5, 0
-/* 80373148 0036EDA8 48 00 00 CC */ b lbl_80373214
-lbl_8037314C:
-/* 8037314C 0036EDAC 80 06 00 04 */ lwz r0, 4(r6)
-/* 80373150 0036EDB0 2C 00 00 00 */ cmpwi r0, 0
-/* 80373154 0036EDB4 41 82 00 0C */ beq lbl_80373160
-/* 80373158 0036EDB8 38 A0 00 00 */ li r5, 0
-/* 8037315C 0036EDBC 48 00 00 B8 */ b lbl_80373214
-lbl_80373160:
-/* 80373160 0036EDC0 80 06 00 08 */ lwz r0, 8(r6)
-/* 80373164 0036EDC4 2C 00 00 00 */ cmpwi r0, 0
-/* 80373168 0036EDC8 41 82 00 0C */ beq lbl_80373174
-/* 8037316C 0036EDCC 38 A0 00 00 */ li r5, 0
-/* 80373170 0036EDD0 48 00 00 A4 */ b lbl_80373214
-lbl_80373174:
-/* 80373174 0036EDD4 80 06 00 0C */ lwz r0, 0xc(r6)
-/* 80373178 0036EDD8 2C 00 00 00 */ cmpwi r0, 0
-/* 8037317C 0036EDDC 41 82 00 0C */ beq lbl_80373188
-/* 80373180 0036EDE0 38 A0 00 00 */ li r5, 0
-/* 80373184 0036EDE4 48 00 00 90 */ b lbl_80373214
-lbl_80373188:
-/* 80373188 0036EDE8 80 06 00 10 */ lwz r0, 0x10(r6)
-/* 8037318C 0036EDEC 2C 00 00 00 */ cmpwi r0, 0
-/* 80373190 0036EDF0 41 82 00 0C */ beq lbl_8037319C
-/* 80373194 0036EDF4 38 A0 00 00 */ li r5, 0
-/* 80373198 0036EDF8 48 00 00 7C */ b lbl_80373214
-lbl_8037319C:
-/* 8037319C 0036EDFC 80 06 00 14 */ lwz r0, 0x14(r6)
-/* 803731A0 0036EE00 2C 00 00 00 */ cmpwi r0, 0
-/* 803731A4 0036EE04 41 82 00 0C */ beq lbl_803731B0
-/* 803731A8 0036EE08 38 A0 00 00 */ li r5, 0
-/* 803731AC 0036EE0C 48 00 00 68 */ b lbl_80373214
-lbl_803731B0:
-/* 803731B0 0036EE10 80 06 00 18 */ lwz r0, 0x18(r6)
-/* 803731B4 0036EE14 2C 00 00 00 */ cmpwi r0, 0
-/* 803731B8 0036EE18 41 82 00 0C */ beq lbl_803731C4
-/* 803731BC 0036EE1C 38 A0 00 00 */ li r5, 0
-/* 803731C0 0036EE20 48 00 00 54 */ b lbl_80373214
-lbl_803731C4:
-/* 803731C4 0036EE24 80 06 00 1C */ lwz r0, 0x1c(r6)
-/* 803731C8 0036EE28 2C 00 00 00 */ cmpwi r0, 0
-/* 803731CC 0036EE2C 41 82 00 0C */ beq lbl_803731D8
-/* 803731D0 0036EE30 38 A0 00 00 */ li r5, 0
-/* 803731D4 0036EE34 48 00 00 40 */ b lbl_80373214
-lbl_803731D8:
-/* 803731D8 0036EE38 80 06 00 20 */ lwz r0, 0x20(r6)
-/* 803731DC 0036EE3C 2C 00 00 00 */ cmpwi r0, 0
-/* 803731E0 0036EE40 41 82 00 0C */ beq lbl_803731EC
-/* 803731E4 0036EE44 38 A0 00 00 */ li r5, 0
-/* 803731E8 0036EE48 48 00 00 2C */ b lbl_80373214
-lbl_803731EC:
-/* 803731EC 0036EE4C 80 06 00 24 */ lwz r0, 0x24(r6)
-/* 803731F0 0036EE50 2C 00 00 00 */ cmpwi r0, 0
-/* 803731F4 0036EE54 41 82 00 0C */ beq lbl_80373200
-/* 803731F8 0036EE58 38 A0 00 00 */ li r5, 0
-/* 803731FC 0036EE5C 48 00 00 18 */ b lbl_80373214
-lbl_80373200:
-/* 80373200 0036EE60 38 C6 00 28 */ addi r6, r6, 0x28
-/* 80373204 0036EE64 38 84 00 09 */ addi r4, r4, 9
-/* 80373208 0036EE68 42 00 FF 30 */ bdnz lbl_80373138
-/* 8037320C 0036EE6C 48 00 00 08 */ b lbl_80373214
-lbl_80373210:
-/* 80373210 0036EE70 38 A0 00 01 */ li r5, 1
-lbl_80373214:
-/* 80373214 0036EE74 2C 05 00 00 */ cmpwi r5, 0
-/* 80373218 0036EE78 40 82 00 10 */ bne lbl_80373228
-/* 8037321C 0036EE7C 88 03 00 06 */ lbz r0, 6(r3)
-/* 80373220 0036EE80 2C 00 00 00 */ cmpwi r0, 0
-/* 80373224 0036EE84 41 82 00 08 */ beq lbl_8037322C
-lbl_80373228:
-/* 80373228 0036EE88 3B C0 00 00 */ li r30, 0
-lbl_8037322C:
-/* 8037322C 0036EE8C 88 03 00 01 */ lbz r0, 1(r3)
-/* 80373230 0036EE90 3B 40 00 00 */ li r26, 0
-/* 80373234 0036EE94 2C 00 00 00 */ cmpwi r0, 0
-/* 80373238 0036EE98 40 82 00 10 */ bne lbl_80373248
-/* 8037323C 0036EE9C 2C 1E 00 00 */ cmpwi r30, 0
-/* 80373240 0036EEA0 41 82 00 08 */ beq lbl_80373248
-/* 80373244 0036EEA4 3B 40 00 01 */ li r26, 1
-lbl_80373248:
-/* 80373248 0036EEA8 2C 00 00 00 */ cmpwi r0, 0
-/* 8037324C 0036EEAC 3B E0 00 00 */ li r31, 0
-/* 80373250 0036EEB0 41 82 00 10 */ beq lbl_80373260
-/* 80373254 0036EEB4 2C 1E 00 00 */ cmpwi r30, 0
-/* 80373258 0036EEB8 40 82 00 08 */ bne lbl_80373260
-/* 8037325C 0036EEBC 3B E0 00 01 */ li r31, 1
-lbl_80373260:
-/* 80373260 0036EEC0 2C 1E 00 00 */ cmpwi r30, 0
-/* 80373264 0036EEC4 41 82 00 BC */ beq lbl_80373320
-/* 80373268 0036EEC8 4B EF B4 F5 */ bl OSDisableInterrupts
-/* 8037326C 0036EECC 7C 7C 1B 78 */ mr r28, r3
-/* 80373270 0036EED0 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 80373274 0036EED4 4B F3 81 79 */ bl func_802AB3EC
-/* 80373278 0036EED8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037327C 0036EEDC 40 82 00 10 */ bne lbl_8037328C
-/* 80373280 0036EEE0 7F 83 E3 78 */ mr r3, r28
-/* 80373284 0036EEE4 4B EF B5 01 */ bl OSRestoreInterrupts
-/* 80373288 0036EEE8 48 00 01 60 */ b lbl_803733E8
-lbl_8037328C:
-/* 8037328C 0036EEEC 88 1D 00 03 */ lbz r0, 3(r29)
-/* 80373290 0036EEF0 3B 60 00 00 */ li r27, 0
-/* 80373294 0036EEF4 7F 25 CB 78 */ mr r5, r25
-/* 80373298 0036EEF8 38 7D 00 18 */ addi r3, r29, 0x18
-/* 8037329C 0036EEFC 7C 00 00 34 */ cntlzw r0, r0
-/* 803732A0 0036EF00 9B 7D 00 03 */ stb r27, 3(r29)
-/* 803732A4 0036EF04 54 04 D9 7E */ srwi r4, r0, 5
-/* 803732A8 0036EF08 38 E1 00 08 */ addi r7, r1, 8
-/* 803732AC 0036EF0C 38 C0 00 28 */ li r6, 0x28
-/* 803732B0 0036EF10 4B F7 97 71 */ bl func_802ECA20
-/* 803732B4 0036EF14 80 7D 00 38 */ lwz r3, 0x38(r29)
-/* 803732B8 0036EF18 38 81 00 08 */ addi r4, r1, 8
-/* 803732BC 0036EF1C 38 A0 00 14 */ li r5, 0x14
-/* 803732C0 0036EF20 4B F3 81 B1 */ bl func_802AB470
-/* 803732C4 0036EF24 2C 03 00 00 */ cmpwi r3, 0
-/* 803732C8 0036EF28 41 82 00 50 */ beq lbl_80373318
-/* 803732CC 0036EF2C 3B C0 00 01 */ li r30, 1
-/* 803732D0 0036EF30 93 7D 00 0C */ stw r27, 0xc(r29)
-/* 803732D4 0036EF34 38 7D 00 40 */ addi r3, r29, 0x40
-/* 803732D8 0036EF38 93 DD 00 14 */ stw r30, 0x14(r29)
-/* 803732DC 0036EF3C 9B 7D 00 01 */ stb r27, 1(r29)
-/* 803732E0 0036EF40 9B 7D 00 02 */ stb r27, 2(r29)
-/* 803732E4 0036EF44 4B EF 67 95 */ bl OSCancelAlarm
-/* 803732E8 0036EF48 9B 7D 00 07 */ stb r27, 7(r29)
-/* 803732EC 0036EF4C 38 7D 00 70 */ addi r3, r29, 0x70
-/* 803732F0 0036EF50 4B EF 67 89 */ bl OSCancelAlarm
-/* 803732F4 0036EF54 9B 7D 00 08 */ stb r27, 8(r29)
-/* 803732F8 0036EF58 7F 83 E3 78 */ mr r3, r28
-/* 803732FC 0036EF5C 9B 7D 00 06 */ stb r27, 6(r29)
-/* 80373300 0036EF60 9B 7D 00 07 */ stb r27, 7(r29)
-/* 80373304 0036EF64 9B 7D 00 01 */ stb r27, 1(r29)
-/* 80373308 0036EF68 9B DD 00 02 */ stb r30, 2(r29)
-/* 8037330C 0036EF6C 9B 7D 00 08 */ stb r27, 8(r29)
-/* 80373310 0036EF70 4B EF B4 75 */ bl OSRestoreInterrupts
-/* 80373314 0036EF74 48 00 00 D4 */ b lbl_803733E8
-lbl_80373318:
-/* 80373318 0036EF78 7F 83 E3 78 */ mr r3, r28
-/* 8037331C 0036EF7C 4B EF B4 69 */ bl OSRestoreInterrupts
-lbl_80373320:
-/* 80373320 0036EF80 2C 1A 00 00 */ cmpwi r26, 0
-/* 80373324 0036EF84 41 82 00 78 */ beq lbl_8037339C
-/* 80373328 0036EF88 4B EF B4 35 */ bl OSDisableInterrupts
-/* 8037332C 0036EF8C 88 1D 00 07 */ lbz r0, 7(r29)
-/* 80373330 0036EF90 7C 7C 1B 78 */ mr r28, r3
-/* 80373334 0036EF94 2C 00 00 00 */ cmpwi r0, 0
-/* 80373338 0036EF98 40 82 00 4C */ bne lbl_80373384
-/* 8037333C 0036EF9C 3C 60 80 00 */ lis r3, 0x800000F8@ha
-/* 80373340 0036EFA0 3C E0 80 37 */ lis r7, lbl_803736DC@ha
-/* 80373344 0036EFA4 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
-/* 80373348 0036EFA8 38 80 01 E0 */ li r4, 0x1e0
-/* 8037334C 0036EFAC 38 A0 00 00 */ li r5, 0
-/* 80373350 0036EFB0 38 7D 00 40 */ addi r3, r29, 0x40
-/* 80373354 0036EFB4 54 06 F0 BE */ srwi r6, r0, 2
-/* 80373358 0036EFB8 38 E7 36 DC */ addi r7, r7, lbl_803736DC@l
-/* 8037335C 0036EFBC 7C 06 20 16 */ mulhwu r0, r6, r4
-/* 80373360 0036EFC0 7C 85 21 D6 */ mullw r4, r5, r4
-/* 80373364 0036EFC4 1C C6 01 E0 */ mulli r6, r6, 0x1e0
-/* 80373368 0036EFC8 7C A0 22 14 */ add r5, r0, r4
-/* 8037336C 0036EFCC 4B EF 66 19 */ bl OSSetAlarm
-/* 80373370 0036EFD0 4B EF F4 49 */ bl OSGetTime
-/* 80373374 0036EFD4 38 00 00 01 */ li r0, 1
-/* 80373378 0036EFD8 90 9D 00 A4 */ stw r4, 0xa4(r29)
-/* 8037337C 0036EFDC 90 7D 00 A0 */ stw r3, 0xa0(r29)
-/* 80373380 0036EFE0 98 1D 00 07 */ stb r0, 7(r29)
-lbl_80373384:
-/* 80373384 0036EFE4 38 7D 00 70 */ addi r3, r29, 0x70
-/* 80373388 0036EFE8 4B EF 66 F1 */ bl OSCancelAlarm
-/* 8037338C 0036EFEC 38 00 00 00 */ li r0, 0
-/* 80373390 0036EFF0 7F 83 E3 78 */ mr r3, r28
-/* 80373394 0036EFF4 98 1D 00 08 */ stb r0, 8(r29)
-/* 80373398 0036EFF8 4B EF B3 ED */ bl OSRestoreInterrupts
-lbl_8037339C:
-/* 8037339C 0036EFFC 2C 1F 00 00 */ cmpwi r31, 0
-/* 803733A0 0036F000 41 82 00 44 */ beq lbl_803733E4
-/* 803733A4 0036F004 4B EF B3 B9 */ bl OSDisableInterrupts
-/* 803733A8 0036F008 38 00 00 01 */ li r0, 1
-/* 803733AC 0036F00C 7C 7C 1B 78 */ mr r28, r3
-/* 803733B0 0036F010 98 1D 00 08 */ stb r0, 8(r29)
-/* 803733B4 0036F014 38 7D 00 70 */ addi r3, r29, 0x70
-/* 803733B8 0036F018 4B EF 66 C1 */ bl OSCancelAlarm
-/* 803733BC 0036F01C 3C 60 80 00 */ lis r3, 0x800000F8@ha
-/* 803733C0 0036F020 3C E0 80 37 */ lis r7, lbl_80373734@ha
-/* 803733C4 0036F024 80 03 00 F8 */ lwz r0, 0x800000F8@l(r3)
-/* 803733C8 0036F028 38 7D 00 70 */ addi r3, r29, 0x70
-/* 803733CC 0036F02C 38 E7 37 34 */ addi r7, r7, lbl_80373734@l
-/* 803733D0 0036F030 38 A0 00 00 */ li r5, 0
-/* 803733D4 0036F034 54 06 F0 BE */ srwi r6, r0, 2
-/* 803733D8 0036F038 4B EF 65 AD */ bl OSSetAlarm
-/* 803733DC 0036F03C 7F 83 E3 78 */ mr r3, r28
-/* 803733E0 0036F040 4B EF B3 A5 */ bl OSRestoreInterrupts
-lbl_803733E4:
-/* 803733E4 0036F044 9B DD 00 01 */ stb r30, 1(r29)
-lbl_803733E8:
-/* 803733E8 0036F048 39 61 00 40 */ addi r11, r1, 0x40
-/* 803733EC 0036F04C 4B E5 3D 81 */ bl func_801C716C
-/* 803733F0 0036F050 80 01 00 44 */ lwz r0, 0x44(r1)
-/* 803733F4 0036F054 7C 08 03 A6 */ mtlr r0
-/* 803733F8 0036F058 38 21 00 40 */ addi r1, r1, 0x40
-/* 803733FC 0036F05C 4E 80 00 20 */ blr
-lbl_80373400:
-/* 80373400 0036F060 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80373404 0036F064 7C 08 02 A6 */ mflr r0
-/* 80373408 0036F068 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037340C 0036F06C 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80373410 0036F070 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80373414 0036F074 7C 9E 23 78 */ mr r30, r4
-/* 80373418 0036F078 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037341C 0036F07C 7C 7D 1B 78 */ mr r29, r3
-/* 80373420 0036F080 48 00 03 89 */ bl func_803737A8
-/* 80373424 0036F084 7F A4 EB 78 */ mr r4, r29
-/* 80373428 0036F088 48 00 04 19 */ bl func_80373840
-/* 8037342C 0036F08C 2C 1E FF FF */ cmpwi r30, -1
-/* 80373430 0036F090 7C 7F 1B 78 */ mr r31, r3
-/* 80373434 0036F094 41 82 00 60 */ beq lbl_80373494
-/* 80373438 0036F098 40 80 00 14 */ bge lbl_8037344C
-/* 8037343C 0036F09C 2C 1E FF FD */ cmpwi r30, -3
-/* 80373440 0036F0A0 41 82 00 48 */ beq lbl_80373488
-/* 80373444 0036F0A4 40 80 00 38 */ bge lbl_8037347C
-/* 80373448 0036F0A8 48 00 00 58 */ b lbl_803734A0
-lbl_8037344C:
-/* 8037344C 0036F0AC 2C 1E 00 01 */ cmpwi r30, 1
-/* 80373450 0036F0B0 40 80 00 50 */ bge lbl_803734A0
-/* 80373454 0036F0B4 38 00 00 01 */ li r0, 1
-/* 80373458 0036F0B8 38 80 00 00 */ li r4, 0
-/* 8037345C 0036F0BC 98 03 00 03 */ stb r0, 3(r3)
-/* 80373460 0036F0C0 38 A0 00 20 */ li r5, 0x20
-/* 80373464 0036F0C4 38 63 00 18 */ addi r3, r3, 0x18
-/* 80373468 0036F0C8 4B C9 0C 9D */ bl memset
-/* 8037346C 0036F0CC 38 00 00 02 */ li r0, 2
-/* 80373470 0036F0D0 90 1F 00 0C */ stw r0, 0xc(r31)
-/* 80373474 0036F0D4 90 1F 00 14 */ stw r0, 0x14(r31)
-/* 80373478 0036F0D8 48 00 00 30 */ b lbl_803734A8
-lbl_8037347C:
-/* 8037347C 0036F0DC 38 00 00 01 */ li r0, 1
-/* 80373480 0036F0E0 90 03 00 14 */ stw r0, 0x14(r3)
-/* 80373484 0036F0E4 48 00 00 24 */ b lbl_803734A8
-lbl_80373488:
-/* 80373488 0036F0E8 38 00 00 00 */ li r0, 0
-/* 8037348C 0036F0EC 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373490 0036F0F0 48 00 00 18 */ b lbl_803734A8
-lbl_80373494:
-/* 80373494 0036F0F4 38 00 00 00 */ li r0, 0
-/* 80373498 0036F0F8 90 03 00 0C */ stw r0, 0xc(r3)
-/* 8037349C 0036F0FC 48 00 00 0C */ b lbl_803734A8
-lbl_803734A0:
-/* 803734A0 0036F100 38 00 00 00 */ li r0, 0
-/* 803734A4 0036F104 90 03 00 0C */ stw r0, 0xc(r3)
-lbl_803734A8:
-/* 803734A8 0036F108 2C 1E 00 00 */ cmpwi r30, 0
-/* 803734AC 0036F10C 41 82 00 3C */ beq lbl_803734E8
-/* 803734B0 0036F110 2C 1E FF FE */ cmpwi r30, -2
-/* 803734B4 0036F114 41 82 00 34 */ beq lbl_803734E8
-/* 803734B8 0036F118 88 1F 00 04 */ lbz r0, 4(r31)
-/* 803734BC 0036F11C 2C 00 00 00 */ cmpwi r0, 0
-/* 803734C0 0036F120 41 82 00 28 */ beq lbl_803734E8
-/* 803734C4 0036F124 81 9F 00 3C */ lwz r12, 0x3c(r31)
-/* 803734C8 0036F128 2C 0C 00 00 */ cmpwi r12, 0
-/* 803734CC 0036F12C 41 82 00 1C */ beq lbl_803734E8
-/* 803734D0 0036F130 7F A3 EB 78 */ mr r3, r29
-/* 803734D4 0036F134 7F C4 F3 78 */ mr r4, r30
-/* 803734D8 0036F138 7D 89 03 A6 */ mtctr r12
-/* 803734DC 0036F13C 4E 80 04 21 */ bctrl
-/* 803734E0 0036F140 38 00 00 00 */ li r0, 0
-/* 803734E4 0036F144 90 1F 00 3C */ stw r0, 0x3c(r31)
-lbl_803734E8:
-/* 803734E8 0036F148 38 00 00 00 */ li r0, 0
-/* 803734EC 0036F14C 98 1F 00 05 */ stb r0, 5(r31)
-/* 803734F0 0036F150 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803734F4 0036F154 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803734F8 0036F158 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 803734FC 0036F15C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80373500 0036F160 7C 08 03 A6 */ mtlr r0
-/* 80373504 0036F164 38 21 00 20 */ addi r1, r1, 0x20
-/* 80373508 0036F168 4E 80 00 20 */ blr
-lbl_8037350C:
-/* 8037350C 0036F16C 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 80373510 0036F170 7C 08 02 A6 */ mflr r0
-/* 80373514 0036F174 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80373518 0036F178 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037351C 0036F17C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80373520 0036F180 7C 9E 23 78 */ mr r30, r4
-/* 80373524 0036F184 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80373528 0036F188 7C 7D 1B 78 */ mr r29, r3
-/* 8037352C 0036F18C 48 00 02 7D */ bl func_803737A8
-/* 80373530 0036F190 7F A4 EB 78 */ mr r4, r29
-/* 80373534 0036F194 48 00 03 0D */ bl func_80373840
-/* 80373538 0036F198 2C 1E FF FF */ cmpwi r30, -1
-/* 8037353C 0036F19C 7C 7F 1B 78 */ mr r31, r3
-/* 80373540 0036F1A0 41 82 00 44 */ beq lbl_80373584
-/* 80373544 0036F1A4 40 80 00 14 */ bge lbl_80373558
-/* 80373548 0036F1A8 2C 1E FF FD */ cmpwi r30, -3
-/* 8037354C 0036F1AC 41 82 00 2C */ beq lbl_80373578
-/* 80373550 0036F1B0 40 80 00 1C */ bge lbl_8037356C
-/* 80373554 0036F1B4 48 00 00 3C */ b lbl_80373590
-lbl_80373558:
-/* 80373558 0036F1B8 2C 1E 00 01 */ cmpwi r30, 1
-/* 8037355C 0036F1BC 40 80 00 34 */ bge lbl_80373590
-/* 80373560 0036F1C0 38 00 00 04 */ li r0, 4
-/* 80373564 0036F1C4 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373568 0036F1C8 48 00 00 30 */ b lbl_80373598
-lbl_8037356C:
-/* 8037356C 0036F1CC 38 00 00 02 */ li r0, 2
-/* 80373570 0036F1D0 90 03 00 14 */ stw r0, 0x14(r3)
-/* 80373574 0036F1D4 48 00 00 24 */ b lbl_80373598
-lbl_80373578:
-/* 80373578 0036F1D8 38 00 00 00 */ li r0, 0
-/* 8037357C 0036F1DC 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373580 0036F1E0 48 00 00 18 */ b lbl_80373598
-lbl_80373584:
-/* 80373584 0036F1E4 38 00 00 00 */ li r0, 0
-/* 80373588 0036F1E8 90 03 00 0C */ stw r0, 0xc(r3)
-/* 8037358C 0036F1EC 48 00 00 0C */ b lbl_80373598
-lbl_80373590:
-/* 80373590 0036F1F0 38 00 00 00 */ li r0, 0
-/* 80373594 0036F1F4 90 03 00 0C */ stw r0, 0xc(r3)
-lbl_80373598:
-/* 80373598 0036F1F8 2C 1E FF FE */ cmpwi r30, -2
-/* 8037359C 0036F1FC 41 82 00 34 */ beq lbl_803735D0
-/* 803735A0 0036F200 88 03 00 04 */ lbz r0, 4(r3)
-/* 803735A4 0036F204 2C 00 00 00 */ cmpwi r0, 0
-/* 803735A8 0036F208 41 82 00 28 */ beq lbl_803735D0
-/* 803735AC 0036F20C 81 83 00 3C */ lwz r12, 0x3c(r3)
-/* 803735B0 0036F210 2C 0C 00 00 */ cmpwi r12, 0
-/* 803735B4 0036F214 41 82 00 1C */ beq lbl_803735D0
-/* 803735B8 0036F218 7F A3 EB 78 */ mr r3, r29
-/* 803735BC 0036F21C 7F C4 F3 78 */ mr r4, r30
-/* 803735C0 0036F220 7D 89 03 A6 */ mtctr r12
-/* 803735C4 0036F224 4E 80 04 21 */ bctrl
-/* 803735C8 0036F228 38 00 00 00 */ li r0, 0
-/* 803735CC 0036F22C 90 1F 00 3C */ stw r0, 0x3c(r31)
-lbl_803735D0:
-/* 803735D0 0036F230 38 00 00 00 */ li r0, 0
-/* 803735D4 0036F234 98 1F 00 05 */ stb r0, 5(r31)
-/* 803735D8 0036F238 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803735DC 0036F23C 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803735E0 0036F240 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 803735E4 0036F244 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803735E8 0036F248 7C 08 03 A6 */ mtlr r0
-/* 803735EC 0036F24C 38 21 00 20 */ addi r1, r1, 0x20
-/* 803735F0 0036F250 4E 80 00 20 */ blr
-lbl_803735F4:
-/* 803735F4 0036F254 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 803735F8 0036F258 7C 08 02 A6 */ mflr r0
-/* 803735FC 0036F25C 90 01 00 24 */ stw r0, 0x24(r1)
-/* 80373600 0036F260 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 80373604 0036F264 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 80373608 0036F268 7C 9E 23 78 */ mr r30, r4
-/* 8037360C 0036F26C 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 80373610 0036F270 7C 7D 1B 78 */ mr r29, r3
-/* 80373614 0036F274 48 00 01 95 */ bl func_803737A8
-/* 80373618 0036F278 7F A4 EB 78 */ mr r4, r29
-/* 8037361C 0036F27C 48 00 02 25 */ bl func_80373840
-/* 80373620 0036F280 2C 1E FF FF */ cmpwi r30, -1
-/* 80373624 0036F284 7C 7F 1B 78 */ mr r31, r3
-/* 80373628 0036F288 41 82 00 44 */ beq lbl_8037366C
-/* 8037362C 0036F28C 40 80 00 14 */ bge lbl_80373640
-/* 80373630 0036F290 2C 1E FF FD */ cmpwi r30, -3
-/* 80373634 0036F294 41 82 00 2C */ beq lbl_80373660
-/* 80373638 0036F298 40 80 00 1C */ bge lbl_80373654
-/* 8037363C 0036F29C 48 00 00 3C */ b lbl_80373678
-lbl_80373640:
-/* 80373640 0036F2A0 2C 1E 00 01 */ cmpwi r30, 1
-/* 80373644 0036F2A4 40 80 00 34 */ bge lbl_80373678
-/* 80373648 0036F2A8 38 00 00 06 */ li r0, 6
-/* 8037364C 0036F2AC 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373650 0036F2B0 48 00 00 30 */ b lbl_80373680
-lbl_80373654:
-/* 80373654 0036F2B4 38 00 00 03 */ li r0, 3
-/* 80373658 0036F2B8 90 03 00 14 */ stw r0, 0x14(r3)
-/* 8037365C 0036F2BC 48 00 00 24 */ b lbl_80373680
-lbl_80373660:
-/* 80373660 0036F2C0 38 00 00 00 */ li r0, 0
-/* 80373664 0036F2C4 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373668 0036F2C8 48 00 00 18 */ b lbl_80373680
-lbl_8037366C:
-/* 8037366C 0036F2CC 38 00 00 00 */ li r0, 0
-/* 80373670 0036F2D0 90 03 00 0C */ stw r0, 0xc(r3)
-/* 80373674 0036F2D4 48 00 00 0C */ b lbl_80373680
-lbl_80373678:
-/* 80373678 0036F2D8 38 00 00 00 */ li r0, 0
-/* 8037367C 0036F2DC 90 03 00 0C */ stw r0, 0xc(r3)
-lbl_80373680:
-/* 80373680 0036F2E0 2C 1E FF FE */ cmpwi r30, -2
-/* 80373684 0036F2E4 41 82 00 34 */ beq lbl_803736B8
-/* 80373688 0036F2E8 88 03 00 04 */ lbz r0, 4(r3)
-/* 8037368C 0036F2EC 2C 00 00 00 */ cmpwi r0, 0
-/* 80373690 0036F2F0 41 82 00 28 */ beq lbl_803736B8
-/* 80373694 0036F2F4 81 83 00 3C */ lwz r12, 0x3c(r3)
-/* 80373698 0036F2F8 2C 0C 00 00 */ cmpwi r12, 0
-/* 8037369C 0036F2FC 41 82 00 1C */ beq lbl_803736B8
-/* 803736A0 0036F300 7F A3 EB 78 */ mr r3, r29
-/* 803736A4 0036F304 7F C4 F3 78 */ mr r4, r30
-/* 803736A8 0036F308 7D 89 03 A6 */ mtctr r12
-/* 803736AC 0036F30C 4E 80 04 21 */ bctrl
-/* 803736B0 0036F310 38 00 00 00 */ li r0, 0
-/* 803736B4 0036F314 90 1F 00 3C */ stw r0, 0x3c(r31)
-lbl_803736B8:
-/* 803736B8 0036F318 38 00 00 00 */ li r0, 0
-/* 803736BC 0036F31C 98 1F 00 05 */ stb r0, 5(r31)
-/* 803736C0 0036F320 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 803736C4 0036F324 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 803736C8 0036F328 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 803736CC 0036F32C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 803736D0 0036F330 7C 08 03 A6 */ mtlr r0
-/* 803736D4 0036F334 38 21 00 20 */ addi r1, r1, 0x20
-/* 803736D8 0036F338 4E 80 00 20 */ blr
-lbl_803736DC:
-/* 803736DC 0036F33C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 803736E0 0036F340 7C 08 02 A6 */ mflr r0
-/* 803736E4 0036F344 90 01 00 14 */ stw r0, 0x14(r1)
-/* 803736E8 0036F348 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 803736EC 0036F34C 93 C1 00 08 */ stw r30, 8(r1)
-/* 803736F0 0036F350 7C 7E 1B 78 */ mr r30, r3
-/* 803736F4 0036F354 4B EF B0 69 */ bl OSDisableInterrupts
-/* 803736F8 0036F358 7C 7F 1B 78 */ mr r31, r3
-/* 803736FC 0036F35C 7F C3 F3 78 */ mr r3, r30
-/* 80373700 0036F360 4B EF 67 A9 */ bl OSGetAlarmUserData
-/* 80373704 0036F364 38 80 00 01 */ li r4, 1
-/* 80373708 0036F368 38 00 00 00 */ li r0, 0
-/* 8037370C 0036F36C 98 83 00 06 */ stb r4, 6(r3)
-/* 80373710 0036F370 98 03 00 07 */ stb r0, 7(r3)
-/* 80373714 0036F374 7F E3 FB 78 */ mr r3, r31
-/* 80373718 0036F378 4B EF B0 6D */ bl OSRestoreInterrupts
-/* 8037371C 0036F37C 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80373720 0036F380 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80373724 0036F384 83 C1 00 08 */ lwz r30, 8(r1)
-/* 80373728 0036F388 7C 08 03 A6 */ mtlr r0
-/* 8037372C 0036F38C 38 21 00 10 */ addi r1, r1, 0x10
-/* 80373730 0036F390 4E 80 00 20 */ blr
-lbl_80373734:
-/* 80373734 0036F394 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80373738 0036F398 7C 08 02 A6 */ mflr r0
-/* 8037373C 0036F39C 90 01 00 14 */ stw r0, 0x14(r1)
-/* 80373740 0036F3A0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80373744 0036F3A4 93 C1 00 08 */ stw r30, 8(r1)
-/* 80373748 0036F3A8 7C 7E 1B 78 */ mr r30, r3
-/* 8037374C 0036F3AC 4B EF B0 11 */ bl OSDisableInterrupts
-/* 80373750 0036F3B0 7C 7F 1B 78 */ mr r31, r3
-/* 80373754 0036F3B4 7F C3 F3 78 */ mr r3, r30
-/* 80373758 0036F3B8 4B EF 67 51 */ bl OSGetAlarmUserData
-/* 8037375C 0036F3BC 88 03 00 08 */ lbz r0, 8(r3)
-/* 80373760 0036F3C0 7C 7E 1B 78 */ mr r30, r3
-/* 80373764 0036F3C4 2C 00 00 00 */ cmpwi r0, 0
-/* 80373768 0036F3C8 41 82 00 18 */ beq lbl_80373780
-/* 8037376C 0036F3CC 38 63 00 40 */ addi r3, r3, 0x40
-/* 80373770 0036F3D0 4B EF 63 09 */ bl OSCancelAlarm
-/* 80373774 0036F3D4 38 00 00 00 */ li r0, 0
-/* 80373778 0036F3D8 98 1E 00 06 */ stb r0, 6(r30)
-/* 8037377C 0036F3DC 98 1E 00 07 */ stb r0, 7(r30)
-lbl_80373780:
-/* 80373780 0036F3E0 38 00 00 00 */ li r0, 0
-/* 80373784 0036F3E4 7F E3 FB 78 */ mr r3, r31
-/* 80373788 0036F3E8 98 1E 00 08 */ stb r0, 8(r30)
-/* 8037378C 0036F3EC 4B EF AF F9 */ bl OSRestoreInterrupts
-/* 80373790 0036F3F0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 80373794 0036F3F4 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 80373798 0036F3F8 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037379C 0036F3FC 7C 08 03 A6 */ mtlr r0
-/* 803737A0 0036F400 38 21 00 10 */ addi r1, r1, 0x10
-/* 803737A4 0036F404 4E 80 00 20 */ blr
-
-.global func_803737A8
-func_803737A8:
-/* 803737A8 0036F408 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 803737AC 0036F40C 7C 08 02 A6 */ mflr r0
-/* 803737B0 0036F410 90 01 00 24 */ stw r0, 0x24(r1)
-/* 803737B4 0036F414 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 803737B8 0036F418 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 803737BC 0036F41C 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 803737C0 0036F420 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13)
-/* 803737C4 0036F424 7C 00 07 75 */ extsb. r0, r0
-/* 803737C8 0036F428 40 82 00 54 */ bne lbl_8037381C
-/* 803737CC 0036F42C 3C 60 80 62 */ lis r3, lbl_806219F0@ha
-/* 803737D0 0036F430 38 00 00 00 */ li r0, 0
-/* 803737D4 0036F434 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l
-/* 803737D8 0036F438 98 03 19 F0 */ stb r0, 0x19f0(r3)
-/* 803737DC 0036F43C 3B BE 00 38 */ addi r29, r30, 0x38
-/* 803737E0 0036F440 3B FE 02 D8 */ addi r31, r30, 0x2d8
-lbl_803737E4:
-/* 803737E4 0036F444 7F A3 EB 78 */ mr r3, r29
-/* 803737E8 0036F448 4B FF F7 AD */ bl func_80372F94
-/* 803737EC 0036F44C 3B BD 00 A8 */ addi r29, r29, 0xa8
-/* 803737F0 0036F450 7C 1D F8 40 */ cmplw r29, r31
-/* 803737F4 0036F454 41 80 FF F0 */ blt lbl_803737E4
-/* 803737F8 0036F458 38 80 00 01 */ li r4, 1
-/* 803737FC 0036F45C 38 A0 00 00 */ li r5, 0
-/* 80373800 0036F460 38 60 00 02 */ li r3, 2
-/* 80373804 0036F464 38 00 00 03 */ li r0, 3
-/* 80373808 0036F468 90 BE 00 70 */ stw r5, 0x70(r30)
-/* 8037380C 0036F46C 90 9E 01 18 */ stw r4, 0x118(r30)
-/* 80373810 0036F470 90 7E 01 C0 */ stw r3, 0x1c0(r30)
-/* 80373814 0036F474 90 1E 02 68 */ stw r0, 0x268(r30)
-/* 80373818 0036F478 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13)
-lbl_8037381C:
-/* 8037381C 0036F47C 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 80373820 0036F480 3C 60 80 62 */ lis r3, lbl_806219F0@ha
-/* 80373824 0036F484 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 80373828 0036F488 38 63 19 F0 */ addi r3, r3, lbl_806219F0@l
-/* 8037382C 0036F48C 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 80373830 0036F490 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 80373834 0036F494 7C 08 03 A6 */ mtlr r0
-/* 80373838 0036F498 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037383C 0036F49C 4E 80 00 20 */ blr
-
-.global func_80373840
-func_80373840:
-/* 80373840 0036F4A0 1C 04 00 A8 */ mulli r0, r4, 0xa8
-/* 80373844 0036F4A4 7C 63 02 14 */ add r3, r3, r0
-/* 80373848 0036F4A8 38 63 00 38 */ addi r3, r3, 0x38
-/* 8037384C 0036F4AC 4E 80 00 20 */ blr
-
-.global func_80373850
-func_80373850:
-/* 80373850 0036F4B0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 80373854 0036F4B4 7C 08 02 A6 */ mflr r0
-/* 80373858 0036F4B8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037385C 0036F4BC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 80373860 0036F4C0 7C 7F 1B 78 */ mr r31, r3
-/* 80373864 0036F4C4 88 03 00 00 */ lbz r0, 0(r3)
-/* 80373868 0036F4C8 2C 00 00 00 */ cmpwi r0, 0
-/* 8037386C 0036F4CC 40 82 00 6C */ bne lbl_803738D8
-/* 80373870 0036F4D0 38 63 00 08 */ addi r3, r3, 8
-/* 80373874 0036F4D4 4B EF 5E B1 */ bl OSCreateAlarm
-/* 80373878 0036F4D8 4B EF EF 41 */ bl OSGetTime
-/* 8037387C 0036F4DC 3C C0 80 00 */ lis r6, 0x800000F8@ha
-/* 80373880 0036F4E0 3C A0 43 1C */ lis r5, 0x431BDE83@ha
-/* 80373884 0036F4E4 80 06 00 F8 */ lwz r0, 0x800000F8@l(r6)
-/* 80373888 0036F4E8 3C C0 10 62 */ lis r6, 0x10624DD3@ha
-/* 8037388C 0036F4EC 39 46 4D D3 */ addi r10, r6, 0x10624DD3@l
-/* 80373890 0036F4F0 3D 20 80 37 */ lis r9, lbl_803738EC@ha
-/* 80373894 0036F4F4 54 00 F0 BE */ srwi r0, r0, 2
-/* 80373898 0036F4F8 38 A5 DE 83 */ addi r5, r5, 0x431BDE83@l
-/* 8037389C 0036F4FC 7D 05 00 16 */ mulhwu r8, r5, r0
-/* 803738A0 0036F500 3C E0 00 66 */ lis r7, 0x0065B9AB@ha
-/* 803738A4 0036F504 7C 86 23 78 */ mr r6, r4
-/* 803738A8 0036F508 38 07 B9 AB */ addi r0, r7, 0x0065B9AB@l
-/* 803738AC 0036F50C 7C 65 1B 78 */ mr r5, r3
-/* 803738B0 0036F510 38 7F 00 08 */ addi r3, r31, 8
-/* 803738B4 0036F514 55 04 8B FE */ srwi r4, r8, 0xf
-/* 803738B8 0036F518 39 29 38 EC */ addi r9, r9, lbl_803738EC@l
-/* 803738BC 0036F51C 7C 04 01 D6 */ mullw r0, r4, r0
-/* 803738C0 0036F520 38 E0 00 00 */ li r7, 0
-/* 803738C4 0036F524 7C 0A 00 16 */ mulhwu r0, r10, r0
-/* 803738C8 0036F528 54 08 BA 7E */ srwi r8, r0, 9
-/* 803738CC 0036F52C 4B EF 61 29 */ bl OSSetPeriodicAlarm
-/* 803738D0 0036F530 38 00 00 01 */ li r0, 1
-/* 803738D4 0036F534 98 1F 00 00 */ stb r0, 0(r31)
-lbl_803738D8:
-/* 803738D8 0036F538 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 803738DC 0036F53C 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 803738E0 0036F540 7C 08 03 A6 */ mtlr r0
-/* 803738E4 0036F544 38 21 00 10 */ addi r1, r1, 0x10
-/* 803738E8 0036F548 4E 80 00 20 */ blr
-lbl_803738EC:
-/* 803738EC 0036F54C 94 21 FF 90 */ stwu r1, -0x70(r1)
-/* 803738F0 0036F550 7C 08 02 A6 */ mflr r0
-/* 803738F4 0036F554 90 01 00 74 */ stw r0, 0x74(r1)
-/* 803738F8 0036F558 93 E1 00 6C */ stw r31, 0x6c(r1)
-/* 803738FC 0036F55C 93 C1 00 68 */ stw r30, 0x68(r1)
-/* 80373900 0036F560 93 A1 00 64 */ stw r29, 0x64(r1)
-/* 80373904 0036F564 88 0D B2 18 */ lbz r0, lbl_806404D8-_SDA_BASE_(r13)
-/* 80373908 0036F568 7C 00 07 75 */ extsb. r0, r0
-/* 8037390C 0036F56C 40 82 00 54 */ bne lbl_80373960
-/* 80373910 0036F570 3C 60 80 62 */ lis r3, lbl_806219F0@ha
-/* 80373914 0036F574 38 00 00 00 */ li r0, 0
-/* 80373918 0036F578 3B C3 19 F0 */ addi r30, r3, lbl_806219F0@l
-/* 8037391C 0036F57C 98 03 19 F0 */ stb r0, 0x19f0(r3)
-/* 80373920 0036F580 3B BE 00 38 */ addi r29, r30, 0x38
-/* 80373924 0036F584 3B FE 02 D8 */ addi r31, r30, 0x2d8
-lbl_80373928:
-/* 80373928 0036F588 7F A3 EB 78 */ mr r3, r29
-/* 8037392C 0036F58C 4B FF F6 69 */ bl func_80372F94
-/* 80373930 0036F590 3B BD 00 A8 */ addi r29, r29, 0xa8
-/* 80373934 0036F594 7C 1D F8 40 */ cmplw r29, r31
-/* 80373938 0036F598 41 80 FF F0 */ blt lbl_80373928
-/* 8037393C 0036F59C 38 80 00 01 */ li r4, 1
-/* 80373940 0036F5A0 38 A0 00 00 */ li r5, 0
-/* 80373944 0036F5A4 38 60 00 02 */ li r3, 2
-/* 80373948 0036F5A8 38 00 00 03 */ li r0, 3
-/* 8037394C 0036F5AC 90 BE 00 70 */ stw r5, 0x70(r30)
-/* 80373950 0036F5B0 90 9E 01 18 */ stw r4, 0x118(r30)
-/* 80373954 0036F5B4 90 7E 01 C0 */ stw r3, 0x1c0(r30)
-/* 80373958 0036F5B8 90 1E 02 68 */ stw r0, 0x268(r30)
-/* 8037395C 0036F5BC 98 8D B2 18 */ stb r4, lbl_806404D8-_SDA_BASE_(r13)
-lbl_80373960:
-/* 80373960 0036F5C0 3F C0 80 62 */ lis r30, lbl_806219F0@ha
-/* 80373964 0036F5C4 3B DE 19 F0 */ addi r30, r30, lbl_806219F0@l
-/* 80373968 0036F5C8 4B F1 D5 2D */ bl func_80290E94
-/* 8037396C 0036F5CC 2C 03 00 28 */ cmpwi r3, 0x28
-/* 80373970 0036F5D0 41 80 00 58 */ blt lbl_803739C8
-/* 80373974 0036F5D4 3B BE 00 38 */ addi r29, r30, 0x38
-/* 80373978 0036F5D8 3B E0 00 00 */ li r31, 0
-lbl_8037397C:
-/* 8037397C 0036F5DC 80 1E 00 44 */ lwz r0, 0x44(r30)
-/* 80373980 0036F5E0 2C 00 00 04 */ cmpwi r0, 4
-/* 80373984 0036F5E4 40 82 00 20 */ bne lbl_803739A4
-/* 80373988 0036F5E8 7F E3 FB 78 */ mr r3, r31
-/* 8037398C 0036F5EC 38 81 00 08 */ addi r4, r1, 8
-/* 80373990 0036F5F0 38 A0 00 28 */ li r5, 0x28
-/* 80373994 0036F5F4 4B F1 D5 2D */ bl func_80290EC0
-/* 80373998 0036F5F8 7F A3 EB 78 */ mr r3, r29
-/* 8037399C 0036F5FC 38 81 00 08 */ addi r4, r1, 8
-/* 803739A0 0036F600 4B FF F7 4D */ bl func_803730EC
-lbl_803739A4:
-/* 803739A4 0036F604 7F A3 EB 78 */ mr r3, r29
-/* 803739A8 0036F608 4B FF F6 71 */ bl func_80373018
-/* 803739AC 0036F60C 3B FF 00 01 */ addi r31, r31, 1
-/* 803739B0 0036F610 3B BD 00 A8 */ addi r29, r29, 0xa8
-/* 803739B4 0036F614 2C 1F 00 04 */ cmpwi r31, 4
-/* 803739B8 0036F618 3B DE 00 A8 */ addi r30, r30, 0xa8
-/* 803739BC 0036F61C 41 80 FF C0 */ blt lbl_8037397C
-/* 803739C0 0036F620 38 60 00 28 */ li r3, 0x28
-/* 803739C4 0036F624 4B F1 D5 C1 */ bl func_80290F84
-lbl_803739C8:
-/* 803739C8 0036F628 80 01 00 74 */ lwz r0, 0x74(r1)
-/* 803739CC 0036F62C 83 E1 00 6C */ lwz r31, 0x6c(r1)
-/* 803739D0 0036F630 83 C1 00 68 */ lwz r30, 0x68(r1)
-/* 803739D4 0036F634 83 A1 00 64 */ lwz r29, 0x64(r1)
-/* 803739D8 0036F638 7C 08 03 A6 */ mtlr r0
-/* 803739DC 0036F63C 38 21 00 70 */ addi r1, r1, 0x70
-/* 803739E0 0036F640 4E 80 00 20 */ blr
-
-.global func_803739E4
-func_803739E4:
-/* 803739E4 0036F644 80 A4 00 00 */ lwz r5, 0(r4)
-/* 803739E8 0036F648 38 C0 00 00 */ li r6, 0
-/* 803739EC 0036F64C 90 C3 00 00 */ stw r6, 0(r3)
-/* 803739F0 0036F650 3C 05 AD AD */ addis r0, r5, 0xadad
-/* 803739F4 0036F654 28 00 45 51 */ cmplwi r0, 0x4551
-/* 803739F8 0036F658 90 C3 00 04 */ stw r6, 4(r3)
-/* 803739FC 0036F65C 41 82 00 0C */ beq lbl_80373A08
-/* 80373A00 0036F660 38 00 00 00 */ li r0, 0
-/* 80373A04 0036F664 48 00 00 30 */ b lbl_80373A34
-lbl_80373A08:
-/* 80373A08 0036F668 A0 C4 00 06 */ lhz r6, 6(r4)
-/* 80373A0C 0036F66C 28 06 01 00 */ cmplwi r6, 0x100
-/* 80373A10 0036F670 40 80 00 0C */ bge lbl_80373A1C
-/* 80373A14 0036F674 38 00 00 00 */ li r0, 0
-/* 80373A18 0036F678 48 00 00 1C */ b lbl_80373A34
-lbl_80373A1C:
-/* 80373A1C 0036F67C 20 06 01 00 */ subfic r0, r6, 0x100
-/* 80373A20 0036F680 38 A0 01 00 */ li r5, 0x100
-/* 80373A24 0036F684 7C A5 33 38 */ orc r5, r5, r6
-/* 80373A28 0036F688 54 00 F8 7E */ srwi r0, r0, 1
-/* 80373A2C 0036F68C 7C 00 28 50 */ subf r0, r0, r5
-/* 80373A30 0036F690 54 00 0F FE */ srwi r0, r0, 0x1f
-lbl_80373A34:
-/* 80373A34 0036F694 2C 00 00 00 */ cmpwi r0, 0
-/* 80373A38 0036F698 4D 82 00 20 */ beqlr
-/* 80373A3C 0036F69C 80 04 00 10 */ lwz r0, 0x10(r4)
-/* 80373A40 0036F6A0 90 83 00 00 */ stw r4, 0(r3)
-/* 80373A44 0036F6A4 7C 00 22 14 */ add r0, r0, r4
-/* 80373A48 0036F6A8 90 03 00 04 */ stw r0, 4(r3)
-/* 80373A4C 0036F6AC 4E 80 00 20 */ blr
-
-.global func_80373A50
-func_80373A50:
-/* 80373A50 0036F6B0 80 63 00 04 */ lwz r3, 4(r3)
-/* 80373A54 0036F6B4 80 03 00 08 */ lwz r0, 8(r3)
-/* 80373A58 0036F6B8 7C 60 1A 14 */ add r3, r0, r3
-/* 80373A5C 0036F6BC 4E 80 00 20 */ blr
-
.global func_80373A60
func_80373A60:
/* 80373A60 0036F6C0 94 21 FF F0 */ stwu r1, -0x10(r1)
@@ -2563,9 +1755,9 @@ lbl_80375278:
lbl_803752A8:
/* 803752A8 00370F08 80 9F 00 14 */ lwz r4, 0x14(r31)
/* 803752AC 00370F0C 38 61 00 08 */ addi r3, r1, 8
-/* 803752B0 00370F10 4B FF E7 35 */ bl func_803739E4
+/* 803752B0 00370F10 4B FF E7 35 */ bl __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
/* 803752B4 00370F14 38 61 00 08 */ addi r3, r1, 8
-/* 803752B8 00370F18 4B FF E7 99 */ bl func_80373A50
+/* 803752B8 00370F18 4B FF E7 99 */ bl GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
/* 803752BC 00370F1C 81 9F 00 1C */ lwz r12, 0x1c(r31)
/* 803752C0 00370F20 2C 0C 00 00 */ cmpwi r12, 0
/* 803752C4 00370F24 41 82 00 18 */ beq lbl_803752DC
@@ -8274,9 +7466,9 @@ lbl_8037A134:
/* 8037A138 00375D98 41 82 00 34 */ beq lbl_8037A16C
/* 8037A13C 00375D9C 7F A4 EB 78 */ mr r4, r29
/* 8037A140 00375DA0 38 61 00 08 */ addi r3, r1, 8
-/* 8037A144 00375DA4 4B FF 98 A1 */ bl func_803739E4
+/* 8037A144 00375DA4 4B FF 98 A1 */ bl __ct__Q44nw4r3snd6detail13SeqFileReaderFPCv
/* 8037A148 00375DA8 38 61 00 08 */ addi r3, r1, 8
-/* 8037A14C 00375DAC 4B FF 99 05 */ bl func_80373A50
+/* 8037A14C 00375DAC 4B FF 99 05 */ bl GetBaseAddress__Q44nw4r3snd6detail13SeqFileReaderCFv
/* 8037A150 00375DB0 80 B8 00 00 */ lwz r5, 0(r24)
/* 8037A154 00375DB4 7C 64 1B 78 */ mr r4, r3
/* 8037A158 00375DB8 7E C3 B3 78 */ mr r3, r22
@@ -10745,8 +9937,8 @@ lbl_8037C2AC:
/* 8037C2B0 00377F10 38 80 00 00 */ li r4, 0
/* 8037C2B4 00377F14 4B FE C9 25 */ bl SetOutputMode__Q44nw4r3snd6detail9AxManagerFQ34nw4r3snd10OutputMode
lbl_8037C2B8:
-/* 8037C2B8 00377F18 4B FF 74 F1 */ bl func_803737A8
-/* 8037C2BC 00377F1C 4B FF 75 95 */ bl func_80373850
+/* 8037C2B8 00377F18 4B FF 74 F1 */ bl GetInstance__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
+/* 8037C2BC 00377F1C 4B FF 75 95 */ bl Setup__Q44nw4r3snd6detail20RemoteSpeakerManagerFv
/* 8037C2C0 00377F20 80 7A 00 0C */ lwz r3, 0xc(r26)
/* 8037C2C4 00377F24 80 1A 00 04 */ lwz r0, 4(r26)
/* 8037C2C8 00377F28 7F DB 1A 14 */ add r30, r27, r3
diff --git a/asm/text_11.s b/asm/text_11.s
index 09ebfee..f7f5166 100644
--- a/asm/text_11.s
+++ b/asm/text_11.s
@@ -40296,7 +40296,7 @@ lbl_803A35F4:
/* 803A35F4 0039F254 80 7E 05 DC */ lwz r3, 0x5dc(r30)
/* 803A35F8 0039F258 2C 03 00 00 */ cmpwi r3, 0
/* 803A35FC 0039F25C 41 82 00 20 */ beq lbl_803A361C
-/* 803A3600 0039F260 4B FC F9 49 */ bl func_80372F48
+/* 803A3600 0039F260 4B FC F9 49 */ bl Close__Q34nw4r3snd16NandSoundArchiveFv
/* 803A3604 0039F264 80 7E 05 DC */ lwz r3, 0x5dc(r30)
/* 803A3608 0039F268 38 80 FF FF */ li r4, -1
/* 803A360C 0039F26C 81 83 00 00 */ lwz r12, 0(r3)
diff --git a/obj_files.mk b/obj_files.mk
index cb48a61..8acb443 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -129,6 +129,10 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/snd_MmlParser.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_MmlSeqTrack.o \
$(BUILD_DIR)/asm/nw4r/snd/snd_MmlSeqTrackAllocator.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_NandSoundArchive.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_RemoteSpeaker.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_RemoteSpeakerManager.o \
+ $(BUILD_DIR)/asm/nw4r/snd/snd_SeqFile.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o