.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 OSInitThreadQueue /* 8037F9D8 0037B638 38 7F 00 34 */ addi r3, r31, 0x34 /* 8037F9DC 0037B63C 4B EF 19 0D */ bl OSInitThreadQueue /* 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 __dl__FPv 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 __dl__FPv 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 OSWakeupThread /* 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 OSWakeupThread /* 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 OSSleepThread 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 OSSleepThread 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 OSWakeupThread /* 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