summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/nw4r/snd/detail/snd_SeqSound.s12
-rw-r--r--asm/nw4r/snd/detail/snd_StrmPlayer.s22
-rw-r--r--asm/nw4r/snd/detail/snd_Task.s23
-rw-r--r--asm/nw4r/snd/detail/snd_TaskManager.s490
-rw-r--r--asm/text_10_6.s517
-rw-r--r--obj_files.mk2
6 files changed, 540 insertions, 526 deletions
diff --git a/asm/nw4r/snd/detail/snd_SeqSound.s b/asm/nw4r/snd/detail/snd_SeqSound.s
index a0ac1ac..187c31e 100644
--- a/asm/nw4r/snd/detail/snd_SeqSound.s
+++ b/asm/nw4r/snd/detail/snd_SeqSound.s
@@ -56,7 +56,7 @@ __dt__Q54nw4r3snd6detail8SeqSound11SeqLoadTaskFv:
/* 80374CE8 00370948 7C 7E 1B 78 */ mr r30, r3
/* 80374CEC 0037094C 41 82 00 1C */ beq lbl_80374D08
/* 80374CF0 00370950 38 80 00 00 */ li r4, 0
-/* 80374CF4 00370954 48 00 AC 4D */ bl func_8037F940
+/* 80374CF4 00370954 48 00 AC 4D */ bl __dt__Q44nw4r3snd6detail4TaskFv
/* 80374CF8 00370958 2C 1F 00 00 */ cmpwi r31, 0
/* 80374CFC 0037095C 40 81 00 0C */ ble lbl_80374D08
/* 80374D00 00370960 7F C3 F3 78 */ mr r3, r30
@@ -191,10 +191,10 @@ lbl_80374EB0:
/* 80374EC4 00370B24 93 FD 04 40 */ stw r31, 0x440(r29)
/* 80374EC8 00370B28 90 9D 04 44 */ stw r4, 0x444(r29)
/* 80374ECC 00370B2C 93 BD 04 48 */ stw r29, 0x448(r29)
-/* 80374ED0 00370B30 48 00 AA B1 */ bl func_8037F980
+/* 80374ED0 00370B30 48 00 AA B1 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 80374ED4 00370B34 38 9D 04 28 */ addi r4, r29, 0x428
/* 80374ED8 00370B38 38 A0 00 01 */ li r5, 1
-/* 80374EDC 00370B3C 48 00 AC 1D */ bl func_8037FAF8
+/* 80374EDC 00370B3C 48 00 AC 1D */ bl AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
/* 80374EE0 00370B40 38 00 00 01 */ li r0, 1
lbl_80374EE4:
/* 80374EE4 00370B44 2C 00 00 00 */ cmpwi r0, 0
@@ -263,9 +263,9 @@ Shutdown__Q44nw4r3snd6detail8SeqSoundFv:
/* 80374FB8 00370C18 88 03 02 20 */ lbz r0, 0x220(r3)
/* 80374FBC 00370C1C 2C 00 00 00 */ cmpwi r0, 0
/* 80374FC0 00370C20 41 82 00 10 */ beq lbl_80374FD0
-/* 80374FC4 00370C24 48 00 A9 BD */ bl func_8037F980
+/* 80374FC4 00370C24 48 00 A9 BD */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 80374FC8 00370C28 38 9D 04 28 */ addi r4, r29, 0x428
-/* 80374FCC 00370C2C 48 00 AE 8D */ bl func_8037FE58
+/* 80374FCC 00370C2C 48 00 AE 8D */ bl CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
lbl_80374FD0:
/* 80374FD0 00370C30 80 7D 02 24 */ lwz r3, 0x224(r29)
/* 80374FD4 00370C34 2C 03 00 00 */ cmpwi r3, 0
@@ -327,7 +327,7 @@ __dt__Q44nw4r3snd6detail8SeqSoundFv:
/* 8037509C 00370CFC 34 63 04 28 */ addic. r3, r3, 0x428
/* 803750A0 00370D00 41 82 00 0C */ beq lbl_803750AC
/* 803750A4 00370D04 38 80 00 00 */ li r4, 0
-/* 803750A8 00370D08 48 00 A8 99 */ bl func_8037F940
+/* 803750A8 00370D08 48 00 A8 99 */ bl __dt__Q44nw4r3snd6detail4TaskFv
lbl_803750AC:
/* 803750AC 00370D0C 38 7E 00 D8 */ addi r3, r30, 0xd8
/* 803750B0 00370D10 38 80 FF FF */ li r4, -1
diff --git a/asm/nw4r/snd/detail/snd_StrmPlayer.s b/asm/nw4r/snd/detail/snd_StrmPlayer.s
index a9cecdf..e584f0d 100644
--- a/asm/nw4r/snd/detail/snd_StrmPlayer.s
+++ b/asm/nw4r/snd/detail/snd_StrmPlayer.s
@@ -83,7 +83,7 @@ __dt__Q54nw4r3snd6detail10StrmPlayer18StrmHeaderLoadTaskFv:
/* 8037D3D0 00379030 7C 7E 1B 78 */ mr r30, r3
/* 8037D3D4 00379034 41 82 00 1C */ beq lbl_8037D3F0
/* 8037D3D8 00379038 38 80 00 00 */ li r4, 0
-/* 8037D3DC 0037903C 48 00 25 65 */ bl func_8037F940
+/* 8037D3DC 0037903C 48 00 25 65 */ bl __dt__Q44nw4r3snd6detail4TaskFv
/* 8037D3E0 00379040 2C 1F 00 00 */ cmpwi r31, 0
/* 8037D3E4 00379044 40 81 00 0C */ ble lbl_8037D3F0
/* 8037D3E8 00379048 7F C3 F3 78 */ mr r3, r30
@@ -109,7 +109,7 @@ __dt__Q54nw4r3snd6detail10StrmPlayer16StrmDataLoadTaskFv:
/* 8037D428 00379088 7C 7E 1B 78 */ mr r30, r3
/* 8037D42C 0037908C 41 82 00 1C */ beq lbl_8037D448
/* 8037D430 00379090 38 80 00 00 */ li r4, 0
-/* 8037D434 00379094 48 00 25 0D */ bl func_8037F940
+/* 8037D434 00379094 48 00 25 0D */ bl __dt__Q44nw4r3snd6detail4TaskFv
/* 8037D438 00379098 2C 1F 00 00 */ cmpwi r31, 0
/* 8037D43C 0037909C 40 81 00 0C */ ble lbl_8037D448
/* 8037D440 003790A0 7F C3 F3 78 */ mr r3, r30
@@ -168,7 +168,7 @@ lbl_8037D4FC:
/* 8037D4FC 0037915C 34 7D 01 08 */ addic. r3, r29, 0x108
/* 8037D500 00379160 41 82 00 0C */ beq lbl_8037D50C
/* 8037D504 00379164 38 80 00 00 */ li r4, 0
-/* 8037D508 00379168 48 00 24 39 */ bl func_8037F940
+/* 8037D508 00379168 48 00 24 39 */ bl __dt__Q44nw4r3snd6detail4TaskFv
lbl_8037D50C:
/* 8037D50C 0037916C 2C 1E 00 00 */ cmpwi r30, 0
/* 8037D510 00379170 40 81 00 0C */ ble lbl_8037D51C
@@ -297,10 +297,10 @@ lbl_8037D6A8:
/* 8037D6C8 00379328 90 9A 01 1C */ stw r4, 0x11c(r26)
/* 8037D6CC 0037932C 90 7A 01 20 */ stw r3, 0x120(r26)
/* 8037D6D0 00379330 90 1A 01 24 */ stw r0, 0x124(r26)
-/* 8037D6D4 00379334 48 00 22 AD */ bl func_8037F980
+/* 8037D6D4 00379334 48 00 22 AD */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 8037D6D8 00379338 7F C4 F3 78 */ mr r4, r30
/* 8037D6DC 0037933C 38 A0 00 01 */ li r5, 1
-/* 8037D6E0 00379340 48 00 24 19 */ bl func_8037FAF8
+/* 8037D6E0 00379340 48 00 24 19 */ bl AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
/* 8037D6E4 00379344 7F E3 FB 78 */ mr r3, r31
/* 8037D6E8 00379348 4B EF 23 3D */ bl func_8026FA24
/* 8037D6EC 0037934C 39 61 00 20 */ addi r11, r1, 0x20
@@ -536,9 +536,9 @@ Stop__Q44nw4r3snd6detail10StrmPlayerFv:
lbl_8037DA38:
/* 8037DA38 00379698 7F E3 FB 78 */ mr r3, r31
/* 8037DA3C 0037969C 4B EF 0D 49 */ bl OSRestoreInterrupts
-/* 8037DA40 003796A0 48 00 1F 41 */ bl func_8037F980
+/* 8037DA40 003796A0 48 00 1F 41 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 8037DA44 003796A4 38 9B 01 08 */ addi r4, r27, 0x108
-/* 8037DA48 003796A8 48 00 24 11 */ bl func_8037FE58
+/* 8037DA48 003796A8 48 00 24 11 */ bl CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
/* 8037DA4C 003796AC 4B EF 0D 11 */ bl OSDisableInterrupts
/* 8037DA50 003796B0 80 1B 01 28 */ lwz r0, 0x128(r27)
/* 8037DA54 003796B4 7C 7F 1B 78 */ mr r31, r3
@@ -548,9 +548,9 @@ lbl_8037DA38:
/* 8037DA64 003796C4 48 00 00 14 */ b lbl_8037DA78
lbl_8037DA68:
/* 8037DA68 003796C8 83 BE 00 04 */ lwz r29, 4(r30)
-/* 8037DA6C 003796CC 48 00 1F 15 */ bl func_8037F980
+/* 8037DA6C 003796CC 48 00 1F 15 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 8037DA70 003796D0 38 9D FF D4 */ addi r4, r29, -44
-/* 8037DA74 003796D4 48 00 23 E5 */ bl func_8037FE58
+/* 8037DA74 003796D4 48 00 23 E5 */ bl CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
lbl_8037DA78:
/* 8037DA78 003796D8 80 1B 01 28 */ lwz r0, 0x128(r27)
/* 8037DA7C 003796DC 2C 00 00 00 */ cmpwi r0, 0
@@ -2069,10 +2069,10 @@ lbl_8037EF60:
/* 8037EFB0 0037AC10 41 82 00 08 */ beq lbl_8037EFB8
/* 8037EFB4 0037AC14 3B E0 00 02 */ li r31, 2
lbl_8037EFB8:
-/* 8037EFB8 0037AC18 48 00 09 C9 */ bl func_8037F980
+/* 8037EFB8 0037AC18 48 00 09 C9 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
/* 8037EFBC 0037AC1C 7F 84 E3 78 */ mr r4, r28
/* 8037EFC0 0037AC20 7F E5 FB 78 */ mr r5, r31
-/* 8037EFC4 0037AC24 48 00 0B 35 */ bl func_8037FAF8
+/* 8037EFC4 0037AC24 48 00 0B 35 */ bl AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
/* 8037EFC8 0037AC28 80 7D 00 E8 */ lwz r3, 0xe8(r29)
/* 8037EFCC 0037AC2C 80 1D 00 FC */ lwz r0, 0xfc(r29)
/* 8037EFD0 0037AC30 38 63 00 01 */ addi r3, r3, 1
diff --git a/asm/nw4r/snd/detail/snd_Task.s b/asm/nw4r/snd/detail/snd_Task.s
new file mode 100644
index 0000000..0bc501f
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_Task.s
@@ -0,0 +1,23 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global __dt__Q44nw4r3snd6detail4TaskFv
+__dt__Q44nw4r3snd6detail4TaskFv:
+/* 8037F940 0037B5A0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037F944 0037B5A4 7C 08 02 A6 */ mflr r0
+/* 8037F948 0037B5A8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037F94C 0037B5AC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037F950 0037B5B0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037F954 0037B5B4 7C 7F 1B 78 */ mr r31, r3
+/* 8037F958 0037B5B8 41 82 00 10 */ beq lbl_8037F968
+/* 8037F95C 0037B5BC 2C 04 00 00 */ cmpwi r4, 0
+/* 8037F960 0037B5C0 40 81 00 08 */ ble lbl_8037F968
+/* 8037F964 0037B5C4 4B E5 B1 55 */ bl func_801DAAB8
+lbl_8037F968:
+/* 8037F968 0037B5C8 7F E3 FB 78 */ mr r3, r31
+/* 8037F96C 0037B5CC 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037F970 0037B5D0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037F974 0037B5D4 7C 08 03 A6 */ mtlr r0
+/* 8037F978 0037B5D8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037F97C 0037B5DC 4E 80 00 20 */ blr
diff --git a/asm/nw4r/snd/detail/snd_TaskManager.s b/asm/nw4r/snd/detail/snd_TaskManager.s
new file mode 100644
index 0000000..f587379
--- /dev/null
+++ b/asm/nw4r/snd/detail/snd_TaskManager.s
@@ -0,0 +1,490 @@
+.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+.global GetInstance__Q44nw4r3snd6detail11TaskManagerFv
+GetInstance__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037F980 0037B5E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037F984 0037B5E4 7C 08 02 A6 */ mflr r0
+/* 8037F988 0037B5E8 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037F98C 0037B5EC 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037F990 0037B5F0 88 0D B2 90 */ lbz r0, lbl_80640550-_SDA_BASE_(r13)
+/* 8037F994 0037B5F4 7C 00 07 75 */ extsb. r0, r0
+/* 8037F998 0037B5F8 40 82 00 68 */ bne lbl_8037FA00
+/* 8037F99C 0037B5FC 3F E0 80 64 */ lis r31, lbl_8063CDA4@ha
+/* 8037F9A0 0037B600 3C 80 80 38 */ lis r4, __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
+/* 8037F9A4 0037B604 3B FF CD A4 */ addi r31, r31, lbl_8063CDA4@l
+/* 8037F9A8 0037B608 3C A0 80 38 */ lis r5, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
+/* 8037F9AC 0037B60C 7F E3 FB 78 */ mr r3, r31
+/* 8037F9B0 0037B610 38 84 FA D8 */ addi r4, r4, __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
+/* 8037F9B4 0037B614 38 A5 FA 80 */ addi r5, r5, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
+/* 8037F9B8 0037B618 38 C0 00 0C */ li r6, 0xc
+/* 8037F9BC 0037B61C 38 E0 00 03 */ li r7, 3
+/* 8037F9C0 0037B620 4B E4 74 A9 */ bl __construct_array
+/* 8037F9C4 0037B624 38 00 00 00 */ li r0, 0
+/* 8037F9C8 0037B628 38 7F 00 2C */ addi r3, r31, 0x2c
+/* 8037F9CC 0037B62C 90 1F 00 24 */ stw r0, 0x24(r31)
+/* 8037F9D0 0037B630 98 1F 00 28 */ stb r0, 0x28(r31)
+/* 8037F9D4 0037B634 4B EF 19 15 */ bl func_802712E8
+/* 8037F9D8 0037B638 38 7F 00 34 */ addi r3, r31, 0x34
+/* 8037F9DC 0037B63C 4B EF 19 0D */ bl func_802712E8
+/* 8037F9E0 0037B640 3C 80 80 38 */ lis r4, __dt__Q44nw4r3snd6detail11TaskManagerFv@ha
+/* 8037F9E4 0037B644 3C A0 80 64 */ lis r5, lbl_8063CD98@ha
+/* 8037F9E8 0037B648 7F E3 FB 78 */ mr r3, r31
+/* 8037F9EC 0037B64C 38 84 FA 1C */ addi r4, r4, __dt__Q44nw4r3snd6detail11TaskManagerFv@l
+/* 8037F9F0 0037B650 38 A5 CD 98 */ addi r5, r5, lbl_8063CD98@l
+/* 8037F9F4 0037B654 4B E4 72 55 */ bl __register_global_object_tmp
+/* 8037F9F8 0037B658 38 00 00 01 */ li r0, 1
+/* 8037F9FC 0037B65C 98 0D B2 90 */ stb r0, lbl_80640550-_SDA_BASE_(r13)
+lbl_8037FA00:
+/* 8037FA00 0037B660 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037FA04 0037B664 3C 60 80 64 */ lis r3, lbl_8063CDA4@ha
+/* 8037FA08 0037B668 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037FA0C 0037B66C 38 63 CD A4 */ addi r3, r3, lbl_8063CDA4@l
+/* 8037FA10 0037B670 7C 08 03 A6 */ mtlr r0
+/* 8037FA14 0037B674 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037FA18 0037B678 4E 80 00 20 */ blr
+
+.global __dt__Q44nw4r3snd6detail11TaskManagerFv
+__dt__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FA1C 0037B67C 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037FA20 0037B680 7C 08 02 A6 */ mflr r0
+/* 8037FA24 0037B684 2C 03 00 00 */ cmpwi r3, 0
+/* 8037FA28 0037B688 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037FA2C 0037B68C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037FA30 0037B690 7C 9F 23 78 */ mr r31, r4
+/* 8037FA34 0037B694 93 C1 00 08 */ stw r30, 8(r1)
+/* 8037FA38 0037B698 7C 7E 1B 78 */ mr r30, r3
+/* 8037FA3C 0037B69C 41 82 00 28 */ beq lbl_8037FA64
+/* 8037FA40 0037B6A0 3C 80 80 38 */ lis r4, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@ha
+/* 8037FA44 0037B6A4 38 A0 00 0C */ li r5, 0xc
+/* 8037FA48 0037B6A8 38 84 FA 80 */ addi r4, r4, __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv@l
+/* 8037FA4C 0037B6AC 38 C0 00 03 */ li r6, 3
+/* 8037FA50 0037B6B0 4B E4 75 11 */ bl __destroy_arr
+/* 8037FA54 0037B6B4 2C 1F 00 00 */ cmpwi r31, 0
+/* 8037FA58 0037B6B8 40 81 00 0C */ ble lbl_8037FA64
+/* 8037FA5C 0037B6BC 7F C3 F3 78 */ mr r3, r30
+/* 8037FA60 0037B6C0 4B E5 B0 59 */ bl func_801DAAB8
+lbl_8037FA64:
+/* 8037FA64 0037B6C4 7F C3 F3 78 */ mr r3, r30
+/* 8037FA68 0037B6C8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037FA6C 0037B6CC 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037FA70 0037B6D0 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037FA74 0037B6D4 7C 08 03 A6 */ mtlr r0
+/* 8037FA78 0037B6D8 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037FA7C 0037B6DC 4E 80 00 20 */ blr
+
+.global __dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv
+__dt__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv:
+/* 8037FA80 0037B6E0 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037FA84 0037B6E4 7C 08 02 A6 */ mflr r0
+/* 8037FA88 0037B6E8 2C 03 00 00 */ cmpwi r3, 0
+/* 8037FA8C 0037B6EC 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037FA90 0037B6F0 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037FA94 0037B6F4 7C 9F 23 78 */ mr r31, r4
+/* 8037FA98 0037B6F8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8037FA9C 0037B6FC 7C 7E 1B 78 */ mr r30, r3
+/* 8037FAA0 0037B700 41 82 00 1C */ beq lbl_8037FABC
+/* 8037FAA4 0037B704 38 80 00 00 */ li r4, 0
+/* 8037FAA8 0037B708 4B FE 30 91 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
+/* 8037FAAC 0037B70C 2C 1F 00 00 */ cmpwi r31, 0
+/* 8037FAB0 0037B710 40 81 00 0C */ ble lbl_8037FABC
+/* 8037FAB4 0037B714 7F C3 F3 78 */ mr r3, r30
+/* 8037FAB8 0037B718 4B E5 B0 01 */ bl func_801DAAB8
+lbl_8037FABC:
+/* 8037FABC 0037B71C 7F C3 F3 78 */ mr r3, r30
+/* 8037FAC0 0037B720 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037FAC4 0037B724 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037FAC8 0037B728 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037FACC 0037B72C 7C 08 03 A6 */ mtlr r0
+/* 8037FAD0 0037B730 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037FAD4 0037B734 4E 80 00 20 */ blr
+
+.global __ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv
+__ct__Q34nw4r2ut35LinkList$0Q44nw4r3snd6detail4Task$44$1Fv:
+/* 8037FAD8 0037B738 38 00 00 00 */ li r0, 0
+/* 8037FADC 0037B73C 38 83 00 04 */ addi r4, r3, 4
+/* 8037FAE0 0037B740 90 03 00 04 */ stw r0, 4(r3)
+/* 8037FAE4 0037B744 90 03 00 08 */ stw r0, 8(r3)
+/* 8037FAE8 0037B748 90 03 00 00 */ stw r0, 0(r3)
+/* 8037FAEC 0037B74C 90 83 00 04 */ stw r4, 4(r3)
+/* 8037FAF0 0037B750 90 83 00 08 */ stw r4, 8(r3)
+/* 8037FAF4 0037B754 4E 80 00 20 */ blr
+
+.global AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority
+AppendTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4TaskQ54nw4r3snd6detail11TaskManager12TaskPriority:
+/* 8037FAF8 0037B758 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037FAFC 0037B75C 7C 08 02 A6 */ mflr r0
+/* 8037FB00 0037B760 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037FB04 0037B764 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037FB08 0037B768 7C BF 2B 78 */ mr r31, r5
+/* 8037FB0C 0037B76C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037FB10 0037B770 7C 9E 23 78 */ mr r30, r4
+/* 8037FB14 0037B774 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037FB18 0037B778 7C 7D 1B 78 */ mr r29, r3
+/* 8037FB1C 0037B77C 4B EE EC 41 */ bl OSDisableInterrupts
+/* 8037FB20 0037B780 1C 1F 00 0C */ mulli r0, r31, 0xc
+/* 8037FB24 0037B784 38 80 00 01 */ li r4, 1
+/* 8037FB28 0037B788 98 9E 00 0C */ stb r4, 0xc(r30)
+/* 8037FB2C 0037B78C 7C 7F 1B 78 */ mr r31, r3
+/* 8037FB30 0037B790 38 81 00 08 */ addi r4, r1, 8
+/* 8037FB34 0037B794 7C 7D 02 14 */ add r3, r29, r0
+/* 8037FB38 0037B798 38 03 00 04 */ addi r0, r3, 4
+/* 8037FB3C 0037B79C 38 BE 00 04 */ addi r5, r30, 4
+/* 8037FB40 0037B7A0 90 01 00 08 */ stw r0, 8(r1)
+/* 8037FB44 0037B7A4 4B FE 31 05 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
+/* 8037FB48 0037B7A8 38 7D 00 2C */ addi r3, r29, 0x2c
+/* 8037FB4C 0037B7AC 4B EF 29 15 */ bl func_80272460
+/* 8037FB50 0037B7B0 7F E3 FB 78 */ mr r3, r31
+/* 8037FB54 0037B7B4 4B EE EC 31 */ bl OSRestoreInterrupts
+/* 8037FB58 0037B7B8 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037FB5C 0037B7BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8037FB60 0037B7C0 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037FB64 0037B7C4 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8037FB68 0037B7C8 7C 08 03 A6 */ mtlr r0
+/* 8037FB6C 0037B7CC 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037FB70 0037B7D0 4E 80 00 20 */ blr
+
+.global PopTask__Q44nw4r3snd6detail11TaskManagerFv
+PopTask__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FB74 0037B7D4 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8037FB78 0037B7D8 7C 08 02 A6 */ mflr r0
+/* 8037FB7C 0037B7DC 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8037FB80 0037B7E0 93 E1 00 2C */ stw r31, 0x2c(r1)
+/* 8037FB84 0037B7E4 93 C1 00 28 */ stw r30, 0x28(r1)
+/* 8037FB88 0037B7E8 93 A1 00 24 */ stw r29, 0x24(r1)
+/* 8037FB8C 0037B7EC 93 81 00 20 */ stw r28, 0x20(r1)
+/* 8037FB90 0037B7F0 7C 7C 1B 78 */ mr r28, r3
+/* 8037FB94 0037B7F4 4B EE EB C9 */ bl OSDisableInterrupts
+/* 8037FB98 0037B7F8 7C 7F 1B 78 */ mr r31, r3
+/* 8037FB9C 0037B7FC 4B EE EB C1 */ bl OSDisableInterrupts
+/* 8037FBA0 0037B800 80 1C 00 18 */ lwz r0, 0x18(r28)
+/* 8037FBA4 0037B804 7C 7E 1B 78 */ mr r30, r3
+/* 8037FBA8 0037B808 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FBAC 0037B80C 40 82 00 10 */ bne lbl_8037FBBC
+/* 8037FBB0 0037B810 4B EE EB D5 */ bl OSRestoreInterrupts
+/* 8037FBB4 0037B814 3B C0 00 00 */ li r30, 0
+/* 8037FBB8 0037B818 48 00 00 24 */ b lbl_8037FBDC
+lbl_8037FBBC:
+/* 8037FBBC 0037B81C 83 BC 00 1C */ lwz r29, 0x1c(r28)
+/* 8037FBC0 0037B820 38 7C 00 18 */ addi r3, r28, 0x18
+/* 8037FBC4 0037B824 38 81 00 10 */ addi r4, r1, 0x10
+/* 8037FBC8 0037B828 93 A1 00 10 */ stw r29, 0x10(r1)
+/* 8037FBCC 0037B82C 4B FE 2F F1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
+/* 8037FBD0 0037B830 7F C3 F3 78 */ mr r3, r30
+/* 8037FBD4 0037B834 4B EE EB B1 */ bl OSRestoreInterrupts
+/* 8037FBD8 0037B838 3B DD FF FC */ addi r30, r29, -4
+lbl_8037FBDC:
+/* 8037FBDC 0037B83C 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FBE0 0037B840 41 82 00 14 */ beq lbl_8037FBF4
+/* 8037FBE4 0037B844 7F E3 FB 78 */ mr r3, r31
+/* 8037FBE8 0037B848 4B EE EB 9D */ bl OSRestoreInterrupts
+/* 8037FBEC 0037B84C 7F C3 F3 78 */ mr r3, r30
+/* 8037FBF0 0037B850 48 00 00 C0 */ b lbl_8037FCB0
+lbl_8037FBF4:
+/* 8037FBF4 0037B854 4B EE EB 69 */ bl OSDisableInterrupts
+/* 8037FBF8 0037B858 80 1C 00 0C */ lwz r0, 0xc(r28)
+/* 8037FBFC 0037B85C 7C 7E 1B 78 */ mr r30, r3
+/* 8037FC00 0037B860 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FC04 0037B864 40 82 00 10 */ bne lbl_8037FC14
+/* 8037FC08 0037B868 4B EE EB 7D */ bl OSRestoreInterrupts
+/* 8037FC0C 0037B86C 3B C0 00 00 */ li r30, 0
+/* 8037FC10 0037B870 48 00 00 24 */ b lbl_8037FC34
+lbl_8037FC14:
+/* 8037FC14 0037B874 83 BC 00 10 */ lwz r29, 0x10(r28)
+/* 8037FC18 0037B878 38 7C 00 0C */ addi r3, r28, 0xc
+/* 8037FC1C 0037B87C 38 81 00 0C */ addi r4, r1, 0xc
+/* 8037FC20 0037B880 93 A1 00 0C */ stw r29, 0xc(r1)
+/* 8037FC24 0037B884 4B FE 2F 99 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
+/* 8037FC28 0037B888 7F C3 F3 78 */ mr r3, r30
+/* 8037FC2C 0037B88C 4B EE EB 59 */ bl OSRestoreInterrupts
+/* 8037FC30 0037B890 3B DD FF FC */ addi r30, r29, -4
+lbl_8037FC34:
+/* 8037FC34 0037B894 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FC38 0037B898 41 82 00 14 */ beq lbl_8037FC4C
+/* 8037FC3C 0037B89C 7F E3 FB 78 */ mr r3, r31
+/* 8037FC40 0037B8A0 4B EE EB 45 */ bl OSRestoreInterrupts
+/* 8037FC44 0037B8A4 7F C3 F3 78 */ mr r3, r30
+/* 8037FC48 0037B8A8 48 00 00 68 */ b lbl_8037FCB0
+lbl_8037FC4C:
+/* 8037FC4C 0037B8AC 4B EE EB 11 */ bl OSDisableInterrupts
+/* 8037FC50 0037B8B0 80 1C 00 00 */ lwz r0, 0(r28)
+/* 8037FC54 0037B8B4 7C 7E 1B 78 */ mr r30, r3
+/* 8037FC58 0037B8B8 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FC5C 0037B8BC 40 82 00 10 */ bne lbl_8037FC6C
+/* 8037FC60 0037B8C0 4B EE EB 25 */ bl OSRestoreInterrupts
+/* 8037FC64 0037B8C4 3B C0 00 00 */ li r30, 0
+/* 8037FC68 0037B8C8 48 00 00 24 */ b lbl_8037FC8C
+lbl_8037FC6C:
+/* 8037FC6C 0037B8CC 83 BC 00 04 */ lwz r29, 4(r28)
+/* 8037FC70 0037B8D0 7F 83 E3 78 */ mr r3, r28
+/* 8037FC74 0037B8D4 38 81 00 08 */ addi r4, r1, 8
+/* 8037FC78 0037B8D8 93 A1 00 08 */ stw r29, 8(r1)
+/* 8037FC7C 0037B8DC 4B FE 2F 41 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
+/* 8037FC80 0037B8E0 7F C3 F3 78 */ mr r3, r30
+/* 8037FC84 0037B8E4 4B EE EB 01 */ bl OSRestoreInterrupts
+/* 8037FC88 0037B8E8 3B DD FF FC */ addi r30, r29, -4
+lbl_8037FC8C:
+/* 8037FC8C 0037B8EC 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FC90 0037B8F0 41 82 00 14 */ beq lbl_8037FCA4
+/* 8037FC94 0037B8F4 7F E3 FB 78 */ mr r3, r31
+/* 8037FC98 0037B8F8 4B EE EA ED */ bl OSRestoreInterrupts
+/* 8037FC9C 0037B8FC 7F C3 F3 78 */ mr r3, r30
+/* 8037FCA0 0037B900 48 00 00 10 */ b lbl_8037FCB0
+lbl_8037FCA4:
+/* 8037FCA4 0037B904 7F E3 FB 78 */ mr r3, r31
+/* 8037FCA8 0037B908 4B EE EA DD */ bl OSRestoreInterrupts
+/* 8037FCAC 0037B90C 38 60 00 00 */ li r3, 0
+lbl_8037FCB0:
+/* 8037FCB0 0037B910 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8037FCB4 0037B914 83 E1 00 2C */ lwz r31, 0x2c(r1)
+/* 8037FCB8 0037B918 83 C1 00 28 */ lwz r30, 0x28(r1)
+/* 8037FCBC 0037B91C 83 A1 00 24 */ lwz r29, 0x24(r1)
+/* 8037FCC0 0037B920 83 81 00 20 */ lwz r28, 0x20(r1)
+/* 8037FCC4 0037B924 7C 08 03 A6 */ mtlr r0
+/* 8037FCC8 0037B928 38 21 00 30 */ addi r1, r1, 0x30
+/* 8037FCCC 0037B92C 4E 80 00 20 */ blr
+
+.global GetNextTask__Q44nw4r3snd6detail11TaskManagerFv
+GetNextTask__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FCD0 0037B930 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037FCD4 0037B934 7C 08 02 A6 */ mflr r0
+/* 8037FCD8 0037B938 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037FCDC 0037B93C 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037FCE0 0037B940 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037FCE4 0037B944 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037FCE8 0037B948 7C 7D 1B 78 */ mr r29, r3
+/* 8037FCEC 0037B94C 4B EE EA 71 */ bl OSDisableInterrupts
+/* 8037FCF0 0037B950 7C 7F 1B 78 */ mr r31, r3
+/* 8037FCF4 0037B954 4B EE EA 69 */ bl OSDisableInterrupts
+/* 8037FCF8 0037B958 80 1D 00 18 */ lwz r0, 0x18(r29)
+/* 8037FCFC 0037B95C 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FD00 0037B960 40 82 00 10 */ bne lbl_8037FD10
+/* 8037FD04 0037B964 4B EE EA 81 */ bl OSRestoreInterrupts
+/* 8037FD08 0037B968 3B C0 00 00 */ li r30, 0
+/* 8037FD0C 0037B96C 48 00 00 10 */ b lbl_8037FD1C
+lbl_8037FD10:
+/* 8037FD10 0037B970 83 DD 00 1C */ lwz r30, 0x1c(r29)
+/* 8037FD14 0037B974 4B EE EA 71 */ bl OSRestoreInterrupts
+/* 8037FD18 0037B978 3B DE FF FC */ addi r30, r30, -4
+lbl_8037FD1C:
+/* 8037FD1C 0037B97C 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FD20 0037B980 41 82 00 14 */ beq lbl_8037FD34
+/* 8037FD24 0037B984 7F E3 FB 78 */ mr r3, r31
+/* 8037FD28 0037B988 4B EE EA 5D */ bl OSRestoreInterrupts
+/* 8037FD2C 0037B98C 7F C3 F3 78 */ mr r3, r30
+/* 8037FD30 0037B990 48 00 00 90 */ b lbl_8037FDC0
+lbl_8037FD34:
+/* 8037FD34 0037B994 4B EE EA 29 */ bl OSDisableInterrupts
+/* 8037FD38 0037B998 80 1D 00 0C */ lwz r0, 0xc(r29)
+/* 8037FD3C 0037B99C 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FD40 0037B9A0 40 82 00 10 */ bne lbl_8037FD50
+/* 8037FD44 0037B9A4 4B EE EA 41 */ bl OSRestoreInterrupts
+/* 8037FD48 0037B9A8 3B C0 00 00 */ li r30, 0
+/* 8037FD4C 0037B9AC 48 00 00 10 */ b lbl_8037FD5C
+lbl_8037FD50:
+/* 8037FD50 0037B9B0 83 DD 00 10 */ lwz r30, 0x10(r29)
+/* 8037FD54 0037B9B4 4B EE EA 31 */ bl OSRestoreInterrupts
+/* 8037FD58 0037B9B8 3B DE FF FC */ addi r30, r30, -4
+lbl_8037FD5C:
+/* 8037FD5C 0037B9BC 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FD60 0037B9C0 41 82 00 14 */ beq lbl_8037FD74
+/* 8037FD64 0037B9C4 7F E3 FB 78 */ mr r3, r31
+/* 8037FD68 0037B9C8 4B EE EA 1D */ bl OSRestoreInterrupts
+/* 8037FD6C 0037B9CC 7F C3 F3 78 */ mr r3, r30
+/* 8037FD70 0037B9D0 48 00 00 50 */ b lbl_8037FDC0
+lbl_8037FD74:
+/* 8037FD74 0037B9D4 4B EE E9 E9 */ bl OSDisableInterrupts
+/* 8037FD78 0037B9D8 80 1D 00 00 */ lwz r0, 0(r29)
+/* 8037FD7C 0037B9DC 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FD80 0037B9E0 40 82 00 10 */ bne lbl_8037FD90
+/* 8037FD84 0037B9E4 4B EE EA 01 */ bl OSRestoreInterrupts
+/* 8037FD88 0037B9E8 3B C0 00 00 */ li r30, 0
+/* 8037FD8C 0037B9EC 48 00 00 10 */ b lbl_8037FD9C
+lbl_8037FD90:
+/* 8037FD90 0037B9F0 83 DD 00 04 */ lwz r30, 4(r29)
+/* 8037FD94 0037B9F4 4B EE E9 F1 */ bl OSRestoreInterrupts
+/* 8037FD98 0037B9F8 3B DE FF FC */ addi r30, r30, -4
+lbl_8037FD9C:
+/* 8037FD9C 0037B9FC 2C 1E 00 00 */ cmpwi r30, 0
+/* 8037FDA0 0037BA00 41 82 00 14 */ beq lbl_8037FDB4
+/* 8037FDA4 0037BA04 7F E3 FB 78 */ mr r3, r31
+/* 8037FDA8 0037BA08 4B EE E9 DD */ bl OSRestoreInterrupts
+/* 8037FDAC 0037BA0C 7F C3 F3 78 */ mr r3, r30
+/* 8037FDB0 0037BA10 48 00 00 10 */ b lbl_8037FDC0
+lbl_8037FDB4:
+/* 8037FDB4 0037BA14 7F E3 FB 78 */ mr r3, r31
+/* 8037FDB8 0037BA18 4B EE E9 CD */ bl OSRestoreInterrupts
+/* 8037FDBC 0037BA1C 38 60 00 00 */ li r3, 0
+lbl_8037FDC0:
+/* 8037FDC0 0037BA20 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037FDC4 0037BA24 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8037FDC8 0037BA28 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037FDCC 0037BA2C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8037FDD0 0037BA30 7C 08 03 A6 */ mtlr r0
+/* 8037FDD4 0037BA34 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037FDD8 0037BA38 4E 80 00 20 */ blr
+
+.global ExecuteTask__Q44nw4r3snd6detail11TaskManagerFv
+ExecuteTask__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FDDC 0037BA3C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 8037FDE0 0037BA40 7C 08 02 A6 */ mflr r0
+/* 8037FDE4 0037BA44 90 01 00 24 */ stw r0, 0x24(r1)
+/* 8037FDE8 0037BA48 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 8037FDEC 0037BA4C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 8037FDF0 0037BA50 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 8037FDF4 0037BA54 7C 7D 1B 78 */ mr r29, r3
+/* 8037FDF8 0037BA58 4B FF FD 7D */ bl PopTask__Q44nw4r3snd6detail11TaskManagerFv
+/* 8037FDFC 0037BA5C 2C 03 00 00 */ cmpwi r3, 0
+/* 8037FE00 0037BA60 7C 7E 1B 78 */ mr r30, r3
+/* 8037FE04 0037BA64 40 82 00 0C */ bne lbl_8037FE10
+/* 8037FE08 0037BA68 38 60 00 00 */ li r3, 0
+/* 8037FE0C 0037BA6C 48 00 00 30 */ b lbl_8037FE3C
+lbl_8037FE10:
+/* 8037FE10 0037BA70 90 7D 00 24 */ stw r3, 0x24(r29)
+/* 8037FE14 0037BA74 3B E0 00 00 */ li r31, 0
+/* 8037FE18 0037BA78 9B E3 00 0C */ stb r31, 0xc(r3)
+/* 8037FE1C 0037BA7C 81 83 00 00 */ lwz r12, 0(r3)
+/* 8037FE20 0037BA80 81 8C 00 0C */ lwz r12, 0xc(r12)
+/* 8037FE24 0037BA84 7D 89 03 A6 */ mtctr r12
+/* 8037FE28 0037BA88 4E 80 04 21 */ bctrl
+/* 8037FE2C 0037BA8C 93 FD 00 24 */ stw r31, 0x24(r29)
+/* 8037FE30 0037BA90 38 7D 00 34 */ addi r3, r29, 0x34
+/* 8037FE34 0037BA94 4B EF 26 2D */ bl func_80272460
+/* 8037FE38 0037BA98 7F C3 F3 78 */ mr r3, r30
+lbl_8037FE3C:
+/* 8037FE3C 0037BA9C 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 8037FE40 0037BAA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8037FE44 0037BAA4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 8037FE48 0037BAA8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 8037FE4C 0037BAAC 7C 08 03 A6 */ mtlr r0
+/* 8037FE50 0037BAB0 38 21 00 20 */ addi r1, r1, 0x20
+/* 8037FE54 0037BAB4 4E 80 00 20 */ blr
+
+.global CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task
+CancelTask__Q44nw4r3snd6detail11TaskManagerFPQ44nw4r3snd6detail4Task:
+/* 8037FE58 0037BAB8 94 21 FF D0 */ stwu r1, -0x30(r1)
+/* 8037FE5C 0037BABC 7C 08 02 A6 */ mflr r0
+/* 8037FE60 0037BAC0 90 01 00 34 */ stw r0, 0x34(r1)
+/* 8037FE64 0037BAC4 39 61 00 30 */ addi r11, r1, 0x30
+/* 8037FE68 0037BAC8 4B E4 72 B9 */ bl _savegpr_25
+/* 8037FE6C 0037BACC 7C 79 1B 78 */ mr r25, r3
+/* 8037FE70 0037BAD0 7C 9A 23 78 */ mr r26, r4
+/* 8037FE74 0037BAD4 4B EE E8 E9 */ bl OSDisableInterrupts
+/* 8037FE78 0037BAD8 80 19 00 24 */ lwz r0, 0x24(r25)
+/* 8037FE7C 0037BADC 7C 7E 1B 78 */ mr r30, r3
+/* 8037FE80 0037BAE0 7C 1A 00 40 */ cmplw r26, r0
+/* 8037FE84 0037BAE4 40 82 00 34 */ bne lbl_8037FEB8
+/* 8037FE88 0037BAE8 81 9A 00 00 */ lwz r12, 0(r26)
+/* 8037FE8C 0037BAEC 7F 43 D3 78 */ mr r3, r26
+/* 8037FE90 0037BAF0 81 8C 00 14 */ lwz r12, 0x14(r12)
+/* 8037FE94 0037BAF4 7D 89 03 A6 */ mtctr r12
+/* 8037FE98 0037BAF8 4E 80 04 21 */ bctrl
+/* 8037FE9C 0037BAFC 48 00 00 0C */ b lbl_8037FEA8
+lbl_8037FEA0:
+/* 8037FEA0 0037BB00 38 79 00 34 */ addi r3, r25, 0x34
+/* 8037FEA4 0037BB04 4B EF 24 D1 */ bl func_80272374
+lbl_8037FEA8:
+/* 8037FEA8 0037BB08 80 19 00 24 */ lwz r0, 0x24(r25)
+/* 8037FEAC 0037BB0C 7C 1A 00 40 */ cmplw r26, r0
+/* 8037FEB0 0037BB10 41 82 FF F0 */ beq lbl_8037FEA0
+/* 8037FEB4 0037BB14 48 00 00 74 */ b lbl_8037FF28
+lbl_8037FEB8:
+/* 8037FEB8 0037BB18 3B 60 00 00 */ li r27, 0
+/* 8037FEBC 0037BB1C 3B E0 00 00 */ li r31, 0
+/* 8037FEC0 0037BB20 3B A0 00 00 */ li r29, 0
+lbl_8037FEC4:
+/* 8037FEC4 0037BB24 7C 79 FA 14 */ add r3, r25, r31
+/* 8037FEC8 0037BB28 80 83 00 04 */ lwz r4, 4(r3)
+/* 8037FECC 0037BB2C 38 03 00 04 */ addi r0, r3, 4
+/* 8037FED0 0037BB30 48 00 00 40 */ b lbl_8037FF10
+lbl_8037FED4:
+/* 8037FED4 0037BB34 7C 9C 23 78 */ mr r28, r4
+/* 8037FED8 0037BB38 80 84 00 00 */ lwz r4, 0(r4)
+/* 8037FEDC 0037BB3C 38 BC FF FC */ addi r5, r28, -4
+/* 8037FEE0 0037BB40 7C 05 D0 40 */ cmplw r5, r26
+/* 8037FEE4 0037BB44 40 82 00 2C */ bne lbl_8037FF10
+/* 8037FEE8 0037BB48 93 81 00 08 */ stw r28, 8(r1)
+/* 8037FEEC 0037BB4C 38 81 00 08 */ addi r4, r1, 8
+/* 8037FEF0 0037BB50 4B FE 2C CD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
+/* 8037FEF4 0037BB54 9B BC 00 08 */ stb r29, 8(r28)
+/* 8037FEF8 0037BB58 38 7C FF FC */ addi r3, r28, -4
+/* 8037FEFC 0037BB5C 81 9C FF FC */ lwz r12, -4(r28)
+/* 8037FF00 0037BB60 81 8C 00 10 */ lwz r12, 0x10(r12)
+/* 8037FF04 0037BB64 7D 89 03 A6 */ mtctr r12
+/* 8037FF08 0037BB68 4E 80 04 21 */ bctrl
+/* 8037FF0C 0037BB6C 48 00 00 0C */ b lbl_8037FF18
+lbl_8037FF10:
+/* 8037FF10 0037BB70 7C 04 00 40 */ cmplw r4, r0
+/* 8037FF14 0037BB74 40 82 FF C0 */ bne lbl_8037FED4
+lbl_8037FF18:
+/* 8037FF18 0037BB78 3B 7B 00 01 */ addi r27, r27, 1
+/* 8037FF1C 0037BB7C 3B FF 00 0C */ addi r31, r31, 0xc
+/* 8037FF20 0037BB80 2C 1B 00 03 */ cmpwi r27, 3
+/* 8037FF24 0037BB84 41 80 FF A0 */ blt lbl_8037FEC4
+lbl_8037FF28:
+/* 8037FF28 0037BB88 7F C3 F3 78 */ mr r3, r30
+/* 8037FF2C 0037BB8C 4B EE E8 59 */ bl OSRestoreInterrupts
+/* 8037FF30 0037BB90 39 61 00 30 */ addi r11, r1, 0x30
+/* 8037FF34 0037BB94 4B E4 72 39 */ bl _restgpr_25
+/* 8037FF38 0037BB98 80 01 00 34 */ lwz r0, 0x34(r1)
+/* 8037FF3C 0037BB9C 7C 08 03 A6 */ mtlr r0
+/* 8037FF40 0037BBA0 38 21 00 30 */ addi r1, r1, 0x30
+/* 8037FF44 0037BBA4 4E 80 00 20 */ blr
+
+.global WaitTask__Q44nw4r3snd6detail11TaskManagerFv
+WaitTask__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FF48 0037BBA8 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037FF4C 0037BBAC 7C 08 02 A6 */ mflr r0
+/* 8037FF50 0037BBB0 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037FF54 0037BBB4 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037FF58 0037BBB8 93 C1 00 08 */ stw r30, 8(r1)
+/* 8037FF5C 0037BBBC 7C 7E 1B 78 */ mr r30, r3
+/* 8037FF60 0037BBC0 4B EE E7 FD */ bl OSDisableInterrupts
+/* 8037FF64 0037BBC4 38 00 00 00 */ li r0, 0
+/* 8037FF68 0037BBC8 7C 7F 1B 78 */ mr r31, r3
+/* 8037FF6C 0037BBCC 98 1E 00 28 */ stb r0, 0x28(r30)
+/* 8037FF70 0037BBD0 48 00 00 0C */ b lbl_8037FF7C
+lbl_8037FF74:
+/* 8037FF74 0037BBD4 38 7E 00 2C */ addi r3, r30, 0x2c
+/* 8037FF78 0037BBD8 4B EF 23 FD */ bl func_80272374
+lbl_8037FF7C:
+/* 8037FF7C 0037BBDC 7F C3 F3 78 */ mr r3, r30
+/* 8037FF80 0037BBE0 4B FF FD 51 */ bl GetNextTask__Q44nw4r3snd6detail11TaskManagerFv
+/* 8037FF84 0037BBE4 2C 03 00 00 */ cmpwi r3, 0
+/* 8037FF88 0037BBE8 40 82 00 10 */ bne lbl_8037FF98
+/* 8037FF8C 0037BBEC 88 1E 00 28 */ lbz r0, 0x28(r30)
+/* 8037FF90 0037BBF0 2C 00 00 00 */ cmpwi r0, 0
+/* 8037FF94 0037BBF4 41 82 FF E0 */ beq lbl_8037FF74
+lbl_8037FF98:
+/* 8037FF98 0037BBF8 7F E3 FB 78 */ mr r3, r31
+/* 8037FF9C 0037BBFC 4B EE E7 E9 */ bl OSRestoreInterrupts
+/* 8037FFA0 0037BC00 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037FFA4 0037BC04 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037FFA8 0037BC08 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037FFAC 0037BC0C 7C 08 03 A6 */ mtlr r0
+/* 8037FFB0 0037BC10 38 21 00 10 */ addi r1, r1, 0x10
+/* 8037FFB4 0037BC14 4E 80 00 20 */ blr
+
+.global CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv
+CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv:
+/* 8037FFB8 0037BC18 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8037FFBC 0037BC1C 7C 08 02 A6 */ mflr r0
+/* 8037FFC0 0037BC20 90 01 00 14 */ stw r0, 0x14(r1)
+/* 8037FFC4 0037BC24 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8037FFC8 0037BC28 93 C1 00 08 */ stw r30, 8(r1)
+/* 8037FFCC 0037BC2C 7C 7E 1B 78 */ mr r30, r3
+/* 8037FFD0 0037BC30 4B EE E7 8D */ bl OSDisableInterrupts
+/* 8037FFD4 0037BC34 38 00 00 01 */ li r0, 1
+/* 8037FFD8 0037BC38 7C 7F 1B 78 */ mr r31, r3
+/* 8037FFDC 0037BC3C 98 1E 00 28 */ stb r0, 0x28(r30)
+/* 8037FFE0 0037BC40 38 7E 00 2C */ addi r3, r30, 0x2c
+/* 8037FFE4 0037BC44 4B EF 24 7D */ bl func_80272460
+/* 8037FFE8 0037BC48 7F E3 FB 78 */ mr r3, r31
+/* 8037FFEC 0037BC4C 4B EE E7 99 */ bl OSRestoreInterrupts
+/* 8037FFF0 0037BC50 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 8037FFF4 0037BC54 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8037FFF8 0037BC58 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8037FFFC 0037BC5C 7C 08 03 A6 */ mtlr r0
+/* 80380000 0037BC60 38 21 00 10 */ addi r1, r1, 0x10
+/* 80380004 0037BC64 4E 80 00 20 */ blr
diff --git a/asm/text_10_6.s b/asm/text_10_6.s
index d211d9b..0607a75 100644
--- a/asm/text_10_6.s
+++ b/asm/text_10_6.s
@@ -2,507 +2,6 @@
.section .text, "ax" # 0x80006980 - 0x803E1E60
-.global func_8037F940
-func_8037F940:
-/* 8037F940 0037B5A0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037F944 0037B5A4 7C 08 02 A6 */ mflr r0
-/* 8037F948 0037B5A8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037F94C 0037B5AC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037F950 0037B5B0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037F954 0037B5B4 7C 7F 1B 78 */ mr r31, r3
-/* 8037F958 0037B5B8 41 82 00 10 */ beq lbl_8037F968
-/* 8037F95C 0037B5BC 2C 04 00 00 */ cmpwi r4, 0
-/* 8037F960 0037B5C0 40 81 00 08 */ ble lbl_8037F968
-/* 8037F964 0037B5C4 4B E5 B1 55 */ bl func_801DAAB8
-lbl_8037F968:
-/* 8037F968 0037B5C8 7F E3 FB 78 */ mr r3, r31
-/* 8037F96C 0037B5CC 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037F970 0037B5D0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037F974 0037B5D4 7C 08 03 A6 */ mtlr r0
-/* 8037F978 0037B5D8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037F97C 0037B5DC 4E 80 00 20 */ blr
-
-.global func_8037F980
-func_8037F980:
-/* 8037F980 0037B5E0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037F984 0037B5E4 7C 08 02 A6 */ mflr r0
-/* 8037F988 0037B5E8 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037F98C 0037B5EC 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037F990 0037B5F0 88 0D B2 90 */ lbz r0, lbl_80640550-_SDA_BASE_(r13)
-/* 8037F994 0037B5F4 7C 00 07 75 */ extsb. r0, r0
-/* 8037F998 0037B5F8 40 82 00 68 */ bne lbl_8037FA00
-/* 8037F99C 0037B5FC 3F E0 80 64 */ lis r31, lbl_8063CDA4@ha
-/* 8037F9A0 0037B600 3C 80 80 38 */ lis r4, lbl_8037FAD8@ha
-/* 8037F9A4 0037B604 3B FF CD A4 */ addi r31, r31, lbl_8063CDA4@l
-/* 8037F9A8 0037B608 3C A0 80 38 */ lis r5, lbl_8037FA80@ha
-/* 8037F9AC 0037B60C 7F E3 FB 78 */ mr r3, r31
-/* 8037F9B0 0037B610 38 84 FA D8 */ addi r4, r4, lbl_8037FAD8@l
-/* 8037F9B4 0037B614 38 A5 FA 80 */ addi r5, r5, lbl_8037FA80@l
-/* 8037F9B8 0037B618 38 C0 00 0C */ li r6, 0xc
-/* 8037F9BC 0037B61C 38 E0 00 03 */ li r7, 3
-/* 8037F9C0 0037B620 4B E4 74 A9 */ bl __construct_array
-/* 8037F9C4 0037B624 38 00 00 00 */ li r0, 0
-/* 8037F9C8 0037B628 38 7F 00 2C */ addi r3, r31, 0x2c
-/* 8037F9CC 0037B62C 90 1F 00 24 */ stw r0, 0x24(r31)
-/* 8037F9D0 0037B630 98 1F 00 28 */ stb r0, 0x28(r31)
-/* 8037F9D4 0037B634 4B EF 19 15 */ bl func_802712E8
-/* 8037F9D8 0037B638 38 7F 00 34 */ addi r3, r31, 0x34
-/* 8037F9DC 0037B63C 4B EF 19 0D */ bl func_802712E8
-/* 8037F9E0 0037B640 3C 80 80 38 */ lis r4, lbl_8037FA1C@ha
-/* 8037F9E4 0037B644 3C A0 80 64 */ lis r5, lbl_8063CD98@ha
-/* 8037F9E8 0037B648 7F E3 FB 78 */ mr r3, r31
-/* 8037F9EC 0037B64C 38 84 FA 1C */ addi r4, r4, lbl_8037FA1C@l
-/* 8037F9F0 0037B650 38 A5 CD 98 */ addi r5, r5, lbl_8063CD98@l
-/* 8037F9F4 0037B654 4B E4 72 55 */ bl __register_global_object_tmp
-/* 8037F9F8 0037B658 38 00 00 01 */ li r0, 1
-/* 8037F9FC 0037B65C 98 0D B2 90 */ stb r0, lbl_80640550-_SDA_BASE_(r13)
-lbl_8037FA00:
-/* 8037FA00 0037B660 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037FA04 0037B664 3C 60 80 64 */ lis r3, lbl_8063CDA4@ha
-/* 8037FA08 0037B668 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037FA0C 0037B66C 38 63 CD A4 */ addi r3, r3, lbl_8063CDA4@l
-/* 8037FA10 0037B670 7C 08 03 A6 */ mtlr r0
-/* 8037FA14 0037B674 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037FA18 0037B678 4E 80 00 20 */ blr
-lbl_8037FA1C:
-/* 8037FA1C 0037B67C 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037FA20 0037B680 7C 08 02 A6 */ mflr r0
-/* 8037FA24 0037B684 2C 03 00 00 */ cmpwi r3, 0
-/* 8037FA28 0037B688 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037FA2C 0037B68C 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037FA30 0037B690 7C 9F 23 78 */ mr r31, r4
-/* 8037FA34 0037B694 93 C1 00 08 */ stw r30, 8(r1)
-/* 8037FA38 0037B698 7C 7E 1B 78 */ mr r30, r3
-/* 8037FA3C 0037B69C 41 82 00 28 */ beq lbl_8037FA64
-/* 8037FA40 0037B6A0 3C 80 80 38 */ lis r4, lbl_8037FA80@ha
-/* 8037FA44 0037B6A4 38 A0 00 0C */ li r5, 0xc
-/* 8037FA48 0037B6A8 38 84 FA 80 */ addi r4, r4, lbl_8037FA80@l
-/* 8037FA4C 0037B6AC 38 C0 00 03 */ li r6, 3
-/* 8037FA50 0037B6B0 4B E4 75 11 */ bl __destroy_arr
-/* 8037FA54 0037B6B4 2C 1F 00 00 */ cmpwi r31, 0
-/* 8037FA58 0037B6B8 40 81 00 0C */ ble lbl_8037FA64
-/* 8037FA5C 0037B6BC 7F C3 F3 78 */ mr r3, r30
-/* 8037FA60 0037B6C0 4B E5 B0 59 */ bl func_801DAAB8
-lbl_8037FA64:
-/* 8037FA64 0037B6C4 7F C3 F3 78 */ mr r3, r30
-/* 8037FA68 0037B6C8 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037FA6C 0037B6CC 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037FA70 0037B6D0 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037FA74 0037B6D4 7C 08 03 A6 */ mtlr r0
-/* 8037FA78 0037B6D8 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037FA7C 0037B6DC 4E 80 00 20 */ blr
-lbl_8037FA80:
-/* 8037FA80 0037B6E0 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037FA84 0037B6E4 7C 08 02 A6 */ mflr r0
-/* 8037FA88 0037B6E8 2C 03 00 00 */ cmpwi r3, 0
-/* 8037FA8C 0037B6EC 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037FA90 0037B6F0 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037FA94 0037B6F4 7C 9F 23 78 */ mr r31, r4
-/* 8037FA98 0037B6F8 93 C1 00 08 */ stw r30, 8(r1)
-/* 8037FA9C 0037B6FC 7C 7E 1B 78 */ mr r30, r3
-/* 8037FAA0 0037B700 41 82 00 1C */ beq lbl_8037FABC
-/* 8037FAA4 0037B704 38 80 00 00 */ li r4, 0
-/* 8037FAA8 0037B708 4B FE 30 91 */ bl __dt__Q44nw4r2ut6detail12LinkListImplFv
-/* 8037FAAC 0037B70C 2C 1F 00 00 */ cmpwi r31, 0
-/* 8037FAB0 0037B710 40 81 00 0C */ ble lbl_8037FABC
-/* 8037FAB4 0037B714 7F C3 F3 78 */ mr r3, r30
-/* 8037FAB8 0037B718 4B E5 B0 01 */ bl func_801DAAB8
-lbl_8037FABC:
-/* 8037FABC 0037B71C 7F C3 F3 78 */ mr r3, r30
-/* 8037FAC0 0037B720 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037FAC4 0037B724 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037FAC8 0037B728 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037FACC 0037B72C 7C 08 03 A6 */ mtlr r0
-/* 8037FAD0 0037B730 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037FAD4 0037B734 4E 80 00 20 */ blr
-lbl_8037FAD8:
-/* 8037FAD8 0037B738 38 00 00 00 */ li r0, 0
-/* 8037FADC 0037B73C 38 83 00 04 */ addi r4, r3, 4
-/* 8037FAE0 0037B740 90 03 00 04 */ stw r0, 4(r3)
-/* 8037FAE4 0037B744 90 03 00 08 */ stw r0, 8(r3)
-/* 8037FAE8 0037B748 90 03 00 00 */ stw r0, 0(r3)
-/* 8037FAEC 0037B74C 90 83 00 04 */ stw r4, 4(r3)
-/* 8037FAF0 0037B750 90 83 00 08 */ stw r4, 8(r3)
-/* 8037FAF4 0037B754 4E 80 00 20 */ blr
-
-.global func_8037FAF8
-func_8037FAF8:
-/* 8037FAF8 0037B758 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037FAFC 0037B75C 7C 08 02 A6 */ mflr r0
-/* 8037FB00 0037B760 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037FB04 0037B764 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037FB08 0037B768 7C BF 2B 78 */ mr r31, r5
-/* 8037FB0C 0037B76C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037FB10 0037B770 7C 9E 23 78 */ mr r30, r4
-/* 8037FB14 0037B774 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037FB18 0037B778 7C 7D 1B 78 */ mr r29, r3
-/* 8037FB1C 0037B77C 4B EE EC 41 */ bl OSDisableInterrupts
-/* 8037FB20 0037B780 1C 1F 00 0C */ mulli r0, r31, 0xc
-/* 8037FB24 0037B784 38 80 00 01 */ li r4, 1
-/* 8037FB28 0037B788 98 9E 00 0C */ stb r4, 0xc(r30)
-/* 8037FB2C 0037B78C 7C 7F 1B 78 */ mr r31, r3
-/* 8037FB30 0037B790 38 81 00 08 */ addi r4, r1, 8
-/* 8037FB34 0037B794 7C 7D 02 14 */ add r3, r29, r0
-/* 8037FB38 0037B798 38 03 00 04 */ addi r0, r3, 4
-/* 8037FB3C 0037B79C 38 BE 00 04 */ addi r5, r30, 4
-/* 8037FB40 0037B7A0 90 01 00 08 */ stw r0, 8(r1)
-/* 8037FB44 0037B7A4 4B FE 31 05 */ bl Insert__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8IteratorPQ34nw4r2ut12LinkListNode
-/* 8037FB48 0037B7A8 38 7D 00 2C */ addi r3, r29, 0x2c
-/* 8037FB4C 0037B7AC 4B EF 29 15 */ bl func_80272460
-/* 8037FB50 0037B7B0 7F E3 FB 78 */ mr r3, r31
-/* 8037FB54 0037B7B4 4B EE EC 31 */ bl OSRestoreInterrupts
-/* 8037FB58 0037B7B8 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037FB5C 0037B7BC 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8037FB60 0037B7C0 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037FB64 0037B7C4 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8037FB68 0037B7C8 7C 08 03 A6 */ mtlr r0
-/* 8037FB6C 0037B7CC 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037FB70 0037B7D0 4E 80 00 20 */ blr
-
-.global func_8037FB74
-func_8037FB74:
-/* 8037FB74 0037B7D4 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8037FB78 0037B7D8 7C 08 02 A6 */ mflr r0
-/* 8037FB7C 0037B7DC 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8037FB80 0037B7E0 93 E1 00 2C */ stw r31, 0x2c(r1)
-/* 8037FB84 0037B7E4 93 C1 00 28 */ stw r30, 0x28(r1)
-/* 8037FB88 0037B7E8 93 A1 00 24 */ stw r29, 0x24(r1)
-/* 8037FB8C 0037B7EC 93 81 00 20 */ stw r28, 0x20(r1)
-/* 8037FB90 0037B7F0 7C 7C 1B 78 */ mr r28, r3
-/* 8037FB94 0037B7F4 4B EE EB C9 */ bl OSDisableInterrupts
-/* 8037FB98 0037B7F8 7C 7F 1B 78 */ mr r31, r3
-/* 8037FB9C 0037B7FC 4B EE EB C1 */ bl OSDisableInterrupts
-/* 8037FBA0 0037B800 80 1C 00 18 */ lwz r0, 0x18(r28)
-/* 8037FBA4 0037B804 7C 7E 1B 78 */ mr r30, r3
-/* 8037FBA8 0037B808 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FBAC 0037B80C 40 82 00 10 */ bne lbl_8037FBBC
-/* 8037FBB0 0037B810 4B EE EB D5 */ bl OSRestoreInterrupts
-/* 8037FBB4 0037B814 3B C0 00 00 */ li r30, 0
-/* 8037FBB8 0037B818 48 00 00 24 */ b lbl_8037FBDC
-lbl_8037FBBC:
-/* 8037FBBC 0037B81C 83 BC 00 1C */ lwz r29, 0x1c(r28)
-/* 8037FBC0 0037B820 38 7C 00 18 */ addi r3, r28, 0x18
-/* 8037FBC4 0037B824 38 81 00 10 */ addi r4, r1, 0x10
-/* 8037FBC8 0037B828 93 A1 00 10 */ stw r29, 0x10(r1)
-/* 8037FBCC 0037B82C 4B FE 2F F1 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
-/* 8037FBD0 0037B830 7F C3 F3 78 */ mr r3, r30
-/* 8037FBD4 0037B834 4B EE EB B1 */ bl OSRestoreInterrupts
-/* 8037FBD8 0037B838 3B DD FF FC */ addi r30, r29, -4
-lbl_8037FBDC:
-/* 8037FBDC 0037B83C 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FBE0 0037B840 41 82 00 14 */ beq lbl_8037FBF4
-/* 8037FBE4 0037B844 7F E3 FB 78 */ mr r3, r31
-/* 8037FBE8 0037B848 4B EE EB 9D */ bl OSRestoreInterrupts
-/* 8037FBEC 0037B84C 7F C3 F3 78 */ mr r3, r30
-/* 8037FBF0 0037B850 48 00 00 C0 */ b lbl_8037FCB0
-lbl_8037FBF4:
-/* 8037FBF4 0037B854 4B EE EB 69 */ bl OSDisableInterrupts
-/* 8037FBF8 0037B858 80 1C 00 0C */ lwz r0, 0xc(r28)
-/* 8037FBFC 0037B85C 7C 7E 1B 78 */ mr r30, r3
-/* 8037FC00 0037B860 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FC04 0037B864 40 82 00 10 */ bne lbl_8037FC14
-/* 8037FC08 0037B868 4B EE EB 7D */ bl OSRestoreInterrupts
-/* 8037FC0C 0037B86C 3B C0 00 00 */ li r30, 0
-/* 8037FC10 0037B870 48 00 00 24 */ b lbl_8037FC34
-lbl_8037FC14:
-/* 8037FC14 0037B874 83 BC 00 10 */ lwz r29, 0x10(r28)
-/* 8037FC18 0037B878 38 7C 00 0C */ addi r3, r28, 0xc
-/* 8037FC1C 0037B87C 38 81 00 0C */ addi r4, r1, 0xc
-/* 8037FC20 0037B880 93 A1 00 0C */ stw r29, 0xc(r1)
-/* 8037FC24 0037B884 4B FE 2F 99 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
-/* 8037FC28 0037B888 7F C3 F3 78 */ mr r3, r30
-/* 8037FC2C 0037B88C 4B EE EB 59 */ bl OSRestoreInterrupts
-/* 8037FC30 0037B890 3B DD FF FC */ addi r30, r29, -4
-lbl_8037FC34:
-/* 8037FC34 0037B894 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FC38 0037B898 41 82 00 14 */ beq lbl_8037FC4C
-/* 8037FC3C 0037B89C 7F E3 FB 78 */ mr r3, r31
-/* 8037FC40 0037B8A0 4B EE EB 45 */ bl OSRestoreInterrupts
-/* 8037FC44 0037B8A4 7F C3 F3 78 */ mr r3, r30
-/* 8037FC48 0037B8A8 48 00 00 68 */ b lbl_8037FCB0
-lbl_8037FC4C:
-/* 8037FC4C 0037B8AC 4B EE EB 11 */ bl OSDisableInterrupts
-/* 8037FC50 0037B8B0 80 1C 00 00 */ lwz r0, 0(r28)
-/* 8037FC54 0037B8B4 7C 7E 1B 78 */ mr r30, r3
-/* 8037FC58 0037B8B8 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FC5C 0037B8BC 40 82 00 10 */ bne lbl_8037FC6C
-/* 8037FC60 0037B8C0 4B EE EB 25 */ bl OSRestoreInterrupts
-/* 8037FC64 0037B8C4 3B C0 00 00 */ li r30, 0
-/* 8037FC68 0037B8C8 48 00 00 24 */ b lbl_8037FC8C
-lbl_8037FC6C:
-/* 8037FC6C 0037B8CC 83 BC 00 04 */ lwz r29, 4(r28)
-/* 8037FC70 0037B8D0 7F 83 E3 78 */ mr r3, r28
-/* 8037FC74 0037B8D4 38 81 00 08 */ addi r4, r1, 8
-/* 8037FC78 0037B8D8 93 A1 00 08 */ stw r29, 8(r1)
-/* 8037FC7C 0037B8DC 4B FE 2F 41 */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
-/* 8037FC80 0037B8E0 7F C3 F3 78 */ mr r3, r30
-/* 8037FC84 0037B8E4 4B EE EB 01 */ bl OSRestoreInterrupts
-/* 8037FC88 0037B8E8 3B DD FF FC */ addi r30, r29, -4
-lbl_8037FC8C:
-/* 8037FC8C 0037B8EC 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FC90 0037B8F0 41 82 00 14 */ beq lbl_8037FCA4
-/* 8037FC94 0037B8F4 7F E3 FB 78 */ mr r3, r31
-/* 8037FC98 0037B8F8 4B EE EA ED */ bl OSRestoreInterrupts
-/* 8037FC9C 0037B8FC 7F C3 F3 78 */ mr r3, r30
-/* 8037FCA0 0037B900 48 00 00 10 */ b lbl_8037FCB0
-lbl_8037FCA4:
-/* 8037FCA4 0037B904 7F E3 FB 78 */ mr r3, r31
-/* 8037FCA8 0037B908 4B EE EA DD */ bl OSRestoreInterrupts
-/* 8037FCAC 0037B90C 38 60 00 00 */ li r3, 0
-lbl_8037FCB0:
-/* 8037FCB0 0037B910 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8037FCB4 0037B914 83 E1 00 2C */ lwz r31, 0x2c(r1)
-/* 8037FCB8 0037B918 83 C1 00 28 */ lwz r30, 0x28(r1)
-/* 8037FCBC 0037B91C 83 A1 00 24 */ lwz r29, 0x24(r1)
-/* 8037FCC0 0037B920 83 81 00 20 */ lwz r28, 0x20(r1)
-/* 8037FCC4 0037B924 7C 08 03 A6 */ mtlr r0
-/* 8037FCC8 0037B928 38 21 00 30 */ addi r1, r1, 0x30
-/* 8037FCCC 0037B92C 4E 80 00 20 */ blr
-
-.global func_8037FCD0
-func_8037FCD0:
-/* 8037FCD0 0037B930 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037FCD4 0037B934 7C 08 02 A6 */ mflr r0
-/* 8037FCD8 0037B938 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037FCDC 0037B93C 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037FCE0 0037B940 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037FCE4 0037B944 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037FCE8 0037B948 7C 7D 1B 78 */ mr r29, r3
-/* 8037FCEC 0037B94C 4B EE EA 71 */ bl OSDisableInterrupts
-/* 8037FCF0 0037B950 7C 7F 1B 78 */ mr r31, r3
-/* 8037FCF4 0037B954 4B EE EA 69 */ bl OSDisableInterrupts
-/* 8037FCF8 0037B958 80 1D 00 18 */ lwz r0, 0x18(r29)
-/* 8037FCFC 0037B95C 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FD00 0037B960 40 82 00 10 */ bne lbl_8037FD10
-/* 8037FD04 0037B964 4B EE EA 81 */ bl OSRestoreInterrupts
-/* 8037FD08 0037B968 3B C0 00 00 */ li r30, 0
-/* 8037FD0C 0037B96C 48 00 00 10 */ b lbl_8037FD1C
-lbl_8037FD10:
-/* 8037FD10 0037B970 83 DD 00 1C */ lwz r30, 0x1c(r29)
-/* 8037FD14 0037B974 4B EE EA 71 */ bl OSRestoreInterrupts
-/* 8037FD18 0037B978 3B DE FF FC */ addi r30, r30, -4
-lbl_8037FD1C:
-/* 8037FD1C 0037B97C 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FD20 0037B980 41 82 00 14 */ beq lbl_8037FD34
-/* 8037FD24 0037B984 7F E3 FB 78 */ mr r3, r31
-/* 8037FD28 0037B988 4B EE EA 5D */ bl OSRestoreInterrupts
-/* 8037FD2C 0037B98C 7F C3 F3 78 */ mr r3, r30
-/* 8037FD30 0037B990 48 00 00 90 */ b lbl_8037FDC0
-lbl_8037FD34:
-/* 8037FD34 0037B994 4B EE EA 29 */ bl OSDisableInterrupts
-/* 8037FD38 0037B998 80 1D 00 0C */ lwz r0, 0xc(r29)
-/* 8037FD3C 0037B99C 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FD40 0037B9A0 40 82 00 10 */ bne lbl_8037FD50
-/* 8037FD44 0037B9A4 4B EE EA 41 */ bl OSRestoreInterrupts
-/* 8037FD48 0037B9A8 3B C0 00 00 */ li r30, 0
-/* 8037FD4C 0037B9AC 48 00 00 10 */ b lbl_8037FD5C
-lbl_8037FD50:
-/* 8037FD50 0037B9B0 83 DD 00 10 */ lwz r30, 0x10(r29)
-/* 8037FD54 0037B9B4 4B EE EA 31 */ bl OSRestoreInterrupts
-/* 8037FD58 0037B9B8 3B DE FF FC */ addi r30, r30, -4
-lbl_8037FD5C:
-/* 8037FD5C 0037B9BC 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FD60 0037B9C0 41 82 00 14 */ beq lbl_8037FD74
-/* 8037FD64 0037B9C4 7F E3 FB 78 */ mr r3, r31
-/* 8037FD68 0037B9C8 4B EE EA 1D */ bl OSRestoreInterrupts
-/* 8037FD6C 0037B9CC 7F C3 F3 78 */ mr r3, r30
-/* 8037FD70 0037B9D0 48 00 00 50 */ b lbl_8037FDC0
-lbl_8037FD74:
-/* 8037FD74 0037B9D4 4B EE E9 E9 */ bl OSDisableInterrupts
-/* 8037FD78 0037B9D8 80 1D 00 00 */ lwz r0, 0(r29)
-/* 8037FD7C 0037B9DC 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FD80 0037B9E0 40 82 00 10 */ bne lbl_8037FD90
-/* 8037FD84 0037B9E4 4B EE EA 01 */ bl OSRestoreInterrupts
-/* 8037FD88 0037B9E8 3B C0 00 00 */ li r30, 0
-/* 8037FD8C 0037B9EC 48 00 00 10 */ b lbl_8037FD9C
-lbl_8037FD90:
-/* 8037FD90 0037B9F0 83 DD 00 04 */ lwz r30, 4(r29)
-/* 8037FD94 0037B9F4 4B EE E9 F1 */ bl OSRestoreInterrupts
-/* 8037FD98 0037B9F8 3B DE FF FC */ addi r30, r30, -4
-lbl_8037FD9C:
-/* 8037FD9C 0037B9FC 2C 1E 00 00 */ cmpwi r30, 0
-/* 8037FDA0 0037BA00 41 82 00 14 */ beq lbl_8037FDB4
-/* 8037FDA4 0037BA04 7F E3 FB 78 */ mr r3, r31
-/* 8037FDA8 0037BA08 4B EE E9 DD */ bl OSRestoreInterrupts
-/* 8037FDAC 0037BA0C 7F C3 F3 78 */ mr r3, r30
-/* 8037FDB0 0037BA10 48 00 00 10 */ b lbl_8037FDC0
-lbl_8037FDB4:
-/* 8037FDB4 0037BA14 7F E3 FB 78 */ mr r3, r31
-/* 8037FDB8 0037BA18 4B EE E9 CD */ bl OSRestoreInterrupts
-/* 8037FDBC 0037BA1C 38 60 00 00 */ li r3, 0
-lbl_8037FDC0:
-/* 8037FDC0 0037BA20 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037FDC4 0037BA24 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8037FDC8 0037BA28 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037FDCC 0037BA2C 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8037FDD0 0037BA30 7C 08 03 A6 */ mtlr r0
-/* 8037FDD4 0037BA34 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037FDD8 0037BA38 4E 80 00 20 */ blr
-
-.global func_8037FDDC
-func_8037FDDC:
-/* 8037FDDC 0037BA3C 94 21 FF E0 */ stwu r1, -0x20(r1)
-/* 8037FDE0 0037BA40 7C 08 02 A6 */ mflr r0
-/* 8037FDE4 0037BA44 90 01 00 24 */ stw r0, 0x24(r1)
-/* 8037FDE8 0037BA48 93 E1 00 1C */ stw r31, 0x1c(r1)
-/* 8037FDEC 0037BA4C 93 C1 00 18 */ stw r30, 0x18(r1)
-/* 8037FDF0 0037BA50 93 A1 00 14 */ stw r29, 0x14(r1)
-/* 8037FDF4 0037BA54 7C 7D 1B 78 */ mr r29, r3
-/* 8037FDF8 0037BA58 4B FF FD 7D */ bl func_8037FB74
-/* 8037FDFC 0037BA5C 2C 03 00 00 */ cmpwi r3, 0
-/* 8037FE00 0037BA60 7C 7E 1B 78 */ mr r30, r3
-/* 8037FE04 0037BA64 40 82 00 0C */ bne lbl_8037FE10
-/* 8037FE08 0037BA68 38 60 00 00 */ li r3, 0
-/* 8037FE0C 0037BA6C 48 00 00 30 */ b lbl_8037FE3C
-lbl_8037FE10:
-/* 8037FE10 0037BA70 90 7D 00 24 */ stw r3, 0x24(r29)
-/* 8037FE14 0037BA74 3B E0 00 00 */ li r31, 0
-/* 8037FE18 0037BA78 9B E3 00 0C */ stb r31, 0xc(r3)
-/* 8037FE1C 0037BA7C 81 83 00 00 */ lwz r12, 0(r3)
-/* 8037FE20 0037BA80 81 8C 00 0C */ lwz r12, 0xc(r12)
-/* 8037FE24 0037BA84 7D 89 03 A6 */ mtctr r12
-/* 8037FE28 0037BA88 4E 80 04 21 */ bctrl
-/* 8037FE2C 0037BA8C 93 FD 00 24 */ stw r31, 0x24(r29)
-/* 8037FE30 0037BA90 38 7D 00 34 */ addi r3, r29, 0x34
-/* 8037FE34 0037BA94 4B EF 26 2D */ bl func_80272460
-/* 8037FE38 0037BA98 7F C3 F3 78 */ mr r3, r30
-lbl_8037FE3C:
-/* 8037FE3C 0037BA9C 80 01 00 24 */ lwz r0, 0x24(r1)
-/* 8037FE40 0037BAA0 83 E1 00 1C */ lwz r31, 0x1c(r1)
-/* 8037FE44 0037BAA4 83 C1 00 18 */ lwz r30, 0x18(r1)
-/* 8037FE48 0037BAA8 83 A1 00 14 */ lwz r29, 0x14(r1)
-/* 8037FE4C 0037BAAC 7C 08 03 A6 */ mtlr r0
-/* 8037FE50 0037BAB0 38 21 00 20 */ addi r1, r1, 0x20
-/* 8037FE54 0037BAB4 4E 80 00 20 */ blr
-
-.global func_8037FE58
-func_8037FE58:
-/* 8037FE58 0037BAB8 94 21 FF D0 */ stwu r1, -0x30(r1)
-/* 8037FE5C 0037BABC 7C 08 02 A6 */ mflr r0
-/* 8037FE60 0037BAC0 90 01 00 34 */ stw r0, 0x34(r1)
-/* 8037FE64 0037BAC4 39 61 00 30 */ addi r11, r1, 0x30
-/* 8037FE68 0037BAC8 4B E4 72 B9 */ bl _savegpr_25
-/* 8037FE6C 0037BACC 7C 79 1B 78 */ mr r25, r3
-/* 8037FE70 0037BAD0 7C 9A 23 78 */ mr r26, r4
-/* 8037FE74 0037BAD4 4B EE E8 E9 */ bl OSDisableInterrupts
-/* 8037FE78 0037BAD8 80 19 00 24 */ lwz r0, 0x24(r25)
-/* 8037FE7C 0037BADC 7C 7E 1B 78 */ mr r30, r3
-/* 8037FE80 0037BAE0 7C 1A 00 40 */ cmplw r26, r0
-/* 8037FE84 0037BAE4 40 82 00 34 */ bne lbl_8037FEB8
-/* 8037FE88 0037BAE8 81 9A 00 00 */ lwz r12, 0(r26)
-/* 8037FE8C 0037BAEC 7F 43 D3 78 */ mr r3, r26
-/* 8037FE90 0037BAF0 81 8C 00 14 */ lwz r12, 0x14(r12)
-/* 8037FE94 0037BAF4 7D 89 03 A6 */ mtctr r12
-/* 8037FE98 0037BAF8 4E 80 04 21 */ bctrl
-/* 8037FE9C 0037BAFC 48 00 00 0C */ b lbl_8037FEA8
-lbl_8037FEA0:
-/* 8037FEA0 0037BB00 38 79 00 34 */ addi r3, r25, 0x34
-/* 8037FEA4 0037BB04 4B EF 24 D1 */ bl func_80272374
-lbl_8037FEA8:
-/* 8037FEA8 0037BB08 80 19 00 24 */ lwz r0, 0x24(r25)
-/* 8037FEAC 0037BB0C 7C 1A 00 40 */ cmplw r26, r0
-/* 8037FEB0 0037BB10 41 82 FF F0 */ beq lbl_8037FEA0
-/* 8037FEB4 0037BB14 48 00 00 74 */ b lbl_8037FF28
-lbl_8037FEB8:
-/* 8037FEB8 0037BB18 3B 60 00 00 */ li r27, 0
-/* 8037FEBC 0037BB1C 3B E0 00 00 */ li r31, 0
-/* 8037FEC0 0037BB20 3B A0 00 00 */ li r29, 0
-lbl_8037FEC4:
-/* 8037FEC4 0037BB24 7C 79 FA 14 */ add r3, r25, r31
-/* 8037FEC8 0037BB28 80 83 00 04 */ lwz r4, 4(r3)
-/* 8037FECC 0037BB2C 38 03 00 04 */ addi r0, r3, 4
-/* 8037FED0 0037BB30 48 00 00 40 */ b lbl_8037FF10
-lbl_8037FED4:
-/* 8037FED4 0037BB34 7C 9C 23 78 */ mr r28, r4
-/* 8037FED8 0037BB38 80 84 00 00 */ lwz r4, 0(r4)
-/* 8037FEDC 0037BB3C 38 BC FF FC */ addi r5, r28, -4
-/* 8037FEE0 0037BB40 7C 05 D0 40 */ cmplw r5, r26
-/* 8037FEE4 0037BB44 40 82 00 2C */ bne lbl_8037FF10
-/* 8037FEE8 0037BB48 93 81 00 08 */ stw r28, 8(r1)
-/* 8037FEEC 0037BB4C 38 81 00 08 */ addi r4, r1, 8
-/* 8037FEF0 0037BB50 4B FE 2C CD */ bl Erase__Q44nw4r2ut6detail12LinkListImplFQ54nw4r2ut6detail12LinkListImpl8Iterator
-/* 8037FEF4 0037BB54 9B BC 00 08 */ stb r29, 8(r28)
-/* 8037FEF8 0037BB58 38 7C FF FC */ addi r3, r28, -4
-/* 8037FEFC 0037BB5C 81 9C FF FC */ lwz r12, -4(r28)
-/* 8037FF00 0037BB60 81 8C 00 10 */ lwz r12, 0x10(r12)
-/* 8037FF04 0037BB64 7D 89 03 A6 */ mtctr r12
-/* 8037FF08 0037BB68 4E 80 04 21 */ bctrl
-/* 8037FF0C 0037BB6C 48 00 00 0C */ b lbl_8037FF18
-lbl_8037FF10:
-/* 8037FF10 0037BB70 7C 04 00 40 */ cmplw r4, r0
-/* 8037FF14 0037BB74 40 82 FF C0 */ bne lbl_8037FED4
-lbl_8037FF18:
-/* 8037FF18 0037BB78 3B 7B 00 01 */ addi r27, r27, 1
-/* 8037FF1C 0037BB7C 3B FF 00 0C */ addi r31, r31, 0xc
-/* 8037FF20 0037BB80 2C 1B 00 03 */ cmpwi r27, 3
-/* 8037FF24 0037BB84 41 80 FF A0 */ blt lbl_8037FEC4
-lbl_8037FF28:
-/* 8037FF28 0037BB88 7F C3 F3 78 */ mr r3, r30
-/* 8037FF2C 0037BB8C 4B EE E8 59 */ bl OSRestoreInterrupts
-/* 8037FF30 0037BB90 39 61 00 30 */ addi r11, r1, 0x30
-/* 8037FF34 0037BB94 4B E4 72 39 */ bl _restgpr_25
-/* 8037FF38 0037BB98 80 01 00 34 */ lwz r0, 0x34(r1)
-/* 8037FF3C 0037BB9C 7C 08 03 A6 */ mtlr r0
-/* 8037FF40 0037BBA0 38 21 00 30 */ addi r1, r1, 0x30
-/* 8037FF44 0037BBA4 4E 80 00 20 */ blr
-
-.global func_8037FF48
-func_8037FF48:
-/* 8037FF48 0037BBA8 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037FF4C 0037BBAC 7C 08 02 A6 */ mflr r0
-/* 8037FF50 0037BBB0 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037FF54 0037BBB4 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037FF58 0037BBB8 93 C1 00 08 */ stw r30, 8(r1)
-/* 8037FF5C 0037BBBC 7C 7E 1B 78 */ mr r30, r3
-/* 8037FF60 0037BBC0 4B EE E7 FD */ bl OSDisableInterrupts
-/* 8037FF64 0037BBC4 38 00 00 00 */ li r0, 0
-/* 8037FF68 0037BBC8 7C 7F 1B 78 */ mr r31, r3
-/* 8037FF6C 0037BBCC 98 1E 00 28 */ stb r0, 0x28(r30)
-/* 8037FF70 0037BBD0 48 00 00 0C */ b lbl_8037FF7C
-lbl_8037FF74:
-/* 8037FF74 0037BBD4 38 7E 00 2C */ addi r3, r30, 0x2c
-/* 8037FF78 0037BBD8 4B EF 23 FD */ bl func_80272374
-lbl_8037FF7C:
-/* 8037FF7C 0037BBDC 7F C3 F3 78 */ mr r3, r30
-/* 8037FF80 0037BBE0 4B FF FD 51 */ bl func_8037FCD0
-/* 8037FF84 0037BBE4 2C 03 00 00 */ cmpwi r3, 0
-/* 8037FF88 0037BBE8 40 82 00 10 */ bne lbl_8037FF98
-/* 8037FF8C 0037BBEC 88 1E 00 28 */ lbz r0, 0x28(r30)
-/* 8037FF90 0037BBF0 2C 00 00 00 */ cmpwi r0, 0
-/* 8037FF94 0037BBF4 41 82 FF E0 */ beq lbl_8037FF74
-lbl_8037FF98:
-/* 8037FF98 0037BBF8 7F E3 FB 78 */ mr r3, r31
-/* 8037FF9C 0037BBFC 4B EE E7 E9 */ bl OSRestoreInterrupts
-/* 8037FFA0 0037BC00 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037FFA4 0037BC04 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037FFA8 0037BC08 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037FFAC 0037BC0C 7C 08 03 A6 */ mtlr r0
-/* 8037FFB0 0037BC10 38 21 00 10 */ addi r1, r1, 0x10
-/* 8037FFB4 0037BC14 4E 80 00 20 */ blr
-
-.global func_8037FFB8
-func_8037FFB8:
-/* 8037FFB8 0037BC18 94 21 FF F0 */ stwu r1, -0x10(r1)
-/* 8037FFBC 0037BC1C 7C 08 02 A6 */ mflr r0
-/* 8037FFC0 0037BC20 90 01 00 14 */ stw r0, 0x14(r1)
-/* 8037FFC4 0037BC24 93 E1 00 0C */ stw r31, 0xc(r1)
-/* 8037FFC8 0037BC28 93 C1 00 08 */ stw r30, 8(r1)
-/* 8037FFCC 0037BC2C 7C 7E 1B 78 */ mr r30, r3
-/* 8037FFD0 0037BC30 4B EE E7 8D */ bl OSDisableInterrupts
-/* 8037FFD4 0037BC34 38 00 00 01 */ li r0, 1
-/* 8037FFD8 0037BC38 7C 7F 1B 78 */ mr r31, r3
-/* 8037FFDC 0037BC3C 98 1E 00 28 */ stb r0, 0x28(r30)
-/* 8037FFE0 0037BC40 38 7E 00 2C */ addi r3, r30, 0x2c
-/* 8037FFE4 0037BC44 4B EF 24 7D */ bl func_80272460
-/* 8037FFE8 0037BC48 7F E3 FB 78 */ mr r3, r31
-/* 8037FFEC 0037BC4C 4B EE E7 99 */ bl OSRestoreInterrupts
-/* 8037FFF0 0037BC50 80 01 00 14 */ lwz r0, 0x14(r1)
-/* 8037FFF4 0037BC54 83 E1 00 0C */ lwz r31, 0xc(r1)
-/* 8037FFF8 0037BC58 83 C1 00 08 */ lwz r30, 8(r1)
-/* 8037FFFC 0037BC5C 7C 08 03 A6 */ mtlr r0
-/* 80380000 0037BC60 38 21 00 10 */ addi r1, r1, 0x10
-/* 80380004 0037BC64 4E 80 00 20 */ blr
-
.global func_80380008
func_80380008:
/* 80380008 0037BC68 38 00 00 00 */ li r0, 0
@@ -528,8 +27,8 @@ lbl_8038001C:
/* 8038004C 0037BCAC 41 82 00 28 */ beq lbl_80380074
/* 80380050 0037BCB0 38 00 00 01 */ li r0, 1
/* 80380054 0037BCB4 98 03 03 1C */ stb r0, 0x31c(r3)
-/* 80380058 0037BCB8 4B FF F9 29 */ bl func_8037F980
-/* 8038005C 0037BCBC 4B FF FF 5D */ bl func_8037FFB8
+/* 80380058 0037BCB8 4B FF F9 29 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
+/* 8038005C 0037BCBC 4B FF FF 5D */ bl CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv
/* 80380060 0037BCC0 7F C3 F3 78 */ mr r3, r30
/* 80380064 0037BCC4 38 80 00 00 */ li r4, 0
/* 80380068 0037BCC8 4B EF 1D A1 */ bl func_80271E08
@@ -568,8 +67,8 @@ func_803800A0:
/* 803800D8 0037BD38 41 82 00 28 */ beq lbl_80380100
/* 803800DC 0037BD3C 38 00 00 01 */ li r0, 1
/* 803800E0 0037BD40 98 03 03 1C */ stb r0, 0x31c(r3)
-/* 803800E4 0037BD44 4B FF F8 9D */ bl func_8037F980
-/* 803800E8 0037BD48 4B FF FE D1 */ bl func_8037FFB8
+/* 803800E4 0037BD44 4B FF F8 9D */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
+/* 803800E8 0037BD48 4B FF FE D1 */ bl CancelWaitTask__Q44nw4r3snd6detail11TaskManagerFv
/* 803800EC 0037BD4C 7F 83 E3 78 */ mr r3, r28
/* 803800F0 0037BD50 38 80 00 00 */ li r4, 0
/* 803800F4 0037BD54 4B EF 1D 15 */ bl func_80271E08
@@ -615,13 +114,13 @@ lbl_80380174:
/* 80380184 0037BDE4 7C 7F 1B 78 */ mr r31, r3
/* 80380188 0037BDE8 48 00 00 20 */ b lbl_803801A8
lbl_8038018C:
-/* 8038018C 0037BDEC 4B FF F7 F5 */ bl func_8037F980
-/* 80380190 0037BDF0 4B FF FD B9 */ bl func_8037FF48
+/* 8038018C 0037BDEC 4B FF F7 F5 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
+/* 80380190 0037BDF0 4B FF FD B9 */ bl WaitTask__Q44nw4r3snd6detail11TaskManagerFv
/* 80380194 0037BDF4 88 1F 03 1C */ lbz r0, 0x31c(r31)
/* 80380198 0037BDF8 2C 00 00 00 */ cmpwi r0, 0
/* 8038019C 0037BDFC 40 82 00 18 */ bne lbl_803801B4
-/* 803801A0 0037BE00 4B FF F7 E1 */ bl func_8037F980
-/* 803801A4 0037BE04 4B FF FC 39 */ bl func_8037FDDC
+/* 803801A0 0037BE00 4B FF F7 E1 */ bl GetInstance__Q44nw4r3snd6detail11TaskManagerFv
+/* 803801A4 0037BE04 4B FF FC 39 */ bl ExecuteTask__Q44nw4r3snd6detail11TaskManagerFv
lbl_803801A8:
/* 803801A8 0037BE08 88 1F 03 1C */ lbz r0, 0x31c(r31)
/* 803801AC 0037BE0C 2C 00 00 00 */ cmpwi r0, 0
diff --git a/obj_files.mk b/obj_files.mk
index cfe6279..abd6f1f 100644
--- a/obj_files.mk
+++ b/obj_files.mk
@@ -153,6 +153,8 @@ TEXT_O_FILES := \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_StrmFile.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_StrmPlayer.o \
$(BUILD_DIR)/asm/nw4r/snd/detail/snd_StrmSound.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_Task.o \
+ $(BUILD_DIR)/asm/nw4r/snd/detail/snd_TaskManager.o \
$(BUILD_DIR)/asm/text_10_6.o \
$(BUILD_DIR)/asm/text_11.o