tp/asm/JKernel/JKRThread.s

746 lines
36 KiB
ArmAsm

.include "macros.inc"
.section .text, "ax" # 802d1568
.global JKRThread
JKRThread:
/* 802D1568 002CE4A8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D156C 002CE4AC 7C 08 02 A6 */ mflr r0
/* 802D1570 002CE4B0 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D1574 002CE4B4 39 61 00 20 */ addi r11, r1, 0x20
/* 802D1578 002CE4B8 48 09 0C 61 */ bl func_803621D8
/* 802D157C 002CE4BC 7C 7C 1B 78 */ mr r28, r3
/* 802D1580 002CE4C0 7C 9D 23 78 */ mr r29, r4
/* 802D1584 002CE4C4 7C BE 2B 78 */ mr r30, r5
/* 802D1588 002CE4C8 7C DF 33 78 */ mr r31, r6
/* 802D158C 002CE4CC 4B FF FE F1 */ bl JKRDisposer
/* 802D1590 002CE4D0 3C 60 80 3D */ lis r3, lbl_803CC114@ha
/* 802D1594 002CE4D4 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l
/* 802D1598 002CE4D8 90 1C 00 00 */ stw r0, 0(r28)
/* 802D159C 002CE4DC 38 7C 00 18 */ addi r3, r28, 0x18
/* 802D15A0 002CE4E0 7F 84 E3 78 */ mr r4, r28
/* 802D15A4 002CE4E4 48 00 A8 59 */ bl JSUPtrLink
/* 802D15A8 002CE4E8 38 00 00 00 */ li r0, 0
/* 802D15AC 002CE4EC 90 1C 00 68 */ stw r0, 0x68(r28)
/* 802D15B0 002CE4F0 90 1C 00 64 */ stw r0, 0x64(r28)
/* 802D15B4 002CE4F4 90 1C 00 6C */ stw r0, 0x6c(r28)
/* 802D15B8 002CE4F8 98 1C 00 60 */ stb r0, 0x60(r28)
/* 802D15BC 002CE4FC 90 1C 00 70 */ stw r0, 0x70(r28)
/* 802D15C0 002CE500 7F 83 E3 78 */ mr r3, r28
/* 802D15C4 002CE504 4B FF D2 79 */ bl JKRHeap_NS_findFromRoot
/* 802D15C8 002CE508 7C 64 1B 79 */ or. r4, r3, r3
/* 802D15CC 002CE50C 40 82 00 08 */ bne lbl_802D15D4
/* 802D15D0 002CE510 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
lbl_802D15D4:
/* 802D15D4 002CE514 7F 83 E3 78 */ mr r3, r28
/* 802D15D8 002CE518 7F A5 EB 78 */ mr r5, r29
/* 802D15DC 002CE51C 7F E6 FB 78 */ mr r6, r31
/* 802D15E0 002CE520 48 00 02 C5 */ bl JKRThread_NS_setCommon_heapSpecified
/* 802D15E4 002CE524 7F 83 E3 78 */ mr r3, r28
/* 802D15E8 002CE528 80 9C 00 28 */ lwz r4, 0x28(r28)
/* 802D15EC 002CE52C 7F C5 F3 78 */ mr r5, r30
/* 802D15F0 002CE530 48 00 02 41 */ bl JKRThread_NS_setCommon_mesgQueue
/* 802D15F4 002CE534 7F 83 E3 78 */ mr r3, r28
/* 802D15F8 002CE538 39 61 00 20 */ addi r11, r1, 0x20
/* 802D15FC 002CE53C 48 09 0C 29 */ bl func_80362224
/* 802D1600 002CE540 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D1604 002CE544 7C 08 03 A6 */ mtlr r0
/* 802D1608 002CE548 38 21 00 20 */ addi r1, r1, 0x20
/* 802D160C 002CE54C 4E 80 00 20 */ blr
.global JKRThread_X1_
JKRThread_X1_:
/* 802D1610 002CE550 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D1614 002CE554 7C 08 02 A6 */ mflr r0
/* 802D1618 002CE558 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D161C 002CE55C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D1620 002CE560 48 09 0B B5 */ bl func_803621D4
/* 802D1624 002CE564 7C 7B 1B 78 */ mr r27, r3
/* 802D1628 002CE568 7C 9C 23 78 */ mr r28, r4
/* 802D162C 002CE56C 7C BD 2B 78 */ mr r29, r5
/* 802D1630 002CE570 7C DE 33 78 */ mr r30, r6
/* 802D1634 002CE574 7C FF 3B 78 */ mr r31, r7
/* 802D1638 002CE578 4B FF FE 45 */ bl JKRDisposer
/* 802D163C 002CE57C 3C 60 80 3D */ lis r3, lbl_803CC114@ha
/* 802D1640 002CE580 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l
/* 802D1644 002CE584 90 1B 00 00 */ stw r0, 0(r27)
/* 802D1648 002CE588 38 7B 00 18 */ addi r3, r27, 0x18
/* 802D164C 002CE58C 7F 64 DB 78 */ mr r4, r27
/* 802D1650 002CE590 48 00 A7 AD */ bl JSUPtrLink
/* 802D1654 002CE594 38 00 00 00 */ li r0, 0
/* 802D1658 002CE598 90 1B 00 68 */ stw r0, 0x68(r27)
/* 802D165C 002CE59C 90 1B 00 64 */ stw r0, 0x64(r27)
/* 802D1660 002CE5A0 90 1B 00 6C */ stw r0, 0x6c(r27)
/* 802D1664 002CE5A4 98 1B 00 60 */ stb r0, 0x60(r27)
/* 802D1668 002CE5A8 90 1B 00 70 */ stw r0, 0x70(r27)
/* 802D166C 002CE5AC 28 1C 00 00 */ cmplwi r28, 0
/* 802D1670 002CE5B0 40 82 00 08 */ bne lbl_802D1678
/* 802D1674 002CE5B4 83 8D 8D F4 */ lwz r28, lbl_80451374-_SDA_BASE_(r13)
lbl_802D1678:
/* 802D1678 002CE5B8 7F 63 DB 78 */ mr r3, r27
/* 802D167C 002CE5BC 7F 84 E3 78 */ mr r4, r28
/* 802D1680 002CE5C0 7F A5 EB 78 */ mr r5, r29
/* 802D1684 002CE5C4 7F E6 FB 78 */ mr r6, r31
/* 802D1688 002CE5C8 48 00 02 1D */ bl JKRThread_NS_setCommon_heapSpecified
/* 802D168C 002CE5CC 7F 63 DB 78 */ mr r3, r27
/* 802D1690 002CE5D0 80 9B 00 28 */ lwz r4, 0x28(r27)
/* 802D1694 002CE5D4 7F C5 F3 78 */ mr r5, r30
/* 802D1698 002CE5D8 48 00 01 99 */ bl JKRThread_NS_setCommon_mesgQueue
/* 802D169C 002CE5DC 7F 63 DB 78 */ mr r3, r27
/* 802D16A0 002CE5E0 39 61 00 20 */ addi r11, r1, 0x20
/* 802D16A4 002CE5E4 48 09 0B 7D */ bl func_80362220
/* 802D16A8 002CE5E8 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D16AC 002CE5EC 7C 08 03 A6 */ mtlr r0
/* 802D16B0 002CE5F0 38 21 00 20 */ addi r1, r1, 0x20
/* 802D16B4 002CE5F4 4E 80 00 20 */ blr
.global JKRThread_X2_
JKRThread_X2_:
/* 802D16B8 002CE5F8 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D16BC 002CE5FC 7C 08 02 A6 */ mflr r0
/* 802D16C0 002CE600 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D16C4 002CE604 39 61 00 20 */ addi r11, r1, 0x20
/* 802D16C8 002CE608 48 09 0B 15 */ bl _savegpr_29
/* 802D16CC 002CE60C 7C 7D 1B 78 */ mr r29, r3
/* 802D16D0 002CE610 7C 9E 23 78 */ mr r30, r4
/* 802D16D4 002CE614 7C BF 2B 78 */ mr r31, r5
/* 802D16D8 002CE618 4B FF FD A5 */ bl JKRDisposer
/* 802D16DC 002CE61C 3C 60 80 3D */ lis r3, lbl_803CC114@ha
/* 802D16E0 002CE620 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l
/* 802D16E4 002CE624 90 1D 00 00 */ stw r0, 0(r29)
/* 802D16E8 002CE628 38 7D 00 18 */ addi r3, r29, 0x18
/* 802D16EC 002CE62C 7F A4 EB 78 */ mr r4, r29
/* 802D16F0 002CE630 48 00 A7 0D */ bl JSUPtrLink
/* 802D16F4 002CE634 38 00 00 00 */ li r0, 0
/* 802D16F8 002CE638 90 1D 00 68 */ stw r0, 0x68(r29)
/* 802D16FC 002CE63C 90 1D 00 64 */ stw r0, 0x64(r29)
/* 802D1700 002CE640 90 1D 00 6C */ stw r0, 0x6c(r29)
/* 802D1704 002CE644 98 1D 00 60 */ stb r0, 0x60(r29)
/* 802D1708 002CE648 90 1D 00 70 */ stw r0, 0x70(r29)
/* 802D170C 002CE64C 90 1D 00 28 */ stw r0, 0x28(r29)
/* 802D1710 002CE650 93 DD 00 2C */ stw r30, 0x2c(r29)
/* 802D1714 002CE654 80 7E 03 04 */ lwz r3, 0x304(r30)
/* 802D1718 002CE658 80 1E 03 08 */ lwz r0, 0x308(r30)
/* 802D171C 002CE65C 7C 03 00 50 */ subf r0, r3, r0
/* 802D1720 002CE660 90 1D 00 5C */ stw r0, 0x5c(r29)
/* 802D1724 002CE664 80 1E 03 04 */ lwz r0, 0x304(r30)
/* 802D1728 002CE668 90 1D 00 58 */ stw r0, 0x58(r29)
/* 802D172C 002CE66C 7F A3 EB 78 */ mr r3, r29
/* 802D1730 002CE670 80 8D 8D F0 */ lwz r4, lbl_80451370-_SDA_BASE_(r13)
/* 802D1734 002CE674 7F E5 FB 78 */ mr r5, r31
/* 802D1738 002CE678 48 00 00 F9 */ bl JKRThread_NS_setCommon_mesgQueue
/* 802D173C 002CE67C 7F A3 EB 78 */ mr r3, r29
/* 802D1740 002CE680 39 61 00 20 */ addi r11, r1, 0x20
/* 802D1744 002CE684 48 09 0A E5 */ bl _restgpr_29
/* 802D1748 002CE688 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D174C 002CE68C 7C 08 03 A6 */ mtlr r0
/* 802D1750 002CE690 38 21 00 20 */ addi r1, r1, 0x20
/* 802D1754 002CE694 4E 80 00 20 */ blr
.global JKRThread_NS_dtor
JKRThread_NS_dtor:
/* 802D1758 002CE698 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D175C 002CE69C 7C 08 02 A6 */ mflr r0
/* 802D1760 002CE6A0 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1764 002CE6A4 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1768 002CE6A8 93 C1 00 08 */ stw r30, 8(r1)
/* 802D176C 002CE6AC 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D1770 002CE6B0 7C 9F 23 78 */ mr r31, r4
/* 802D1774 002CE6B4 41 82 00 A0 */ beq lbl_802D1814
/* 802D1778 002CE6B8 3C 60 80 3D */ lis r3, lbl_803CC114@ha
/* 802D177C 002CE6BC 38 03 C1 14 */ addi r0, r3, lbl_803CC114@l
/* 802D1780 002CE6C0 90 1E 00 00 */ stw r0, 0(r30)
/* 802D1784 002CE6C4 3C 60 80 43 */ lis r3, lbl_8043428C@ha
/* 802D1788 002CE6C8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l
/* 802D178C 002CE6CC 38 9E 00 18 */ addi r4, r30, 0x18
/* 802D1790 002CE6D0 48 00 A9 CD */ bl JSUPtrList_NS_remove
/* 802D1794 002CE6D4 80 1E 00 28 */ lwz r0, 0x28(r30)
/* 802D1798 002CE6D8 28 00 00 00 */ cmplwi r0, 0
/* 802D179C 002CE6DC 41 82 00 3C */ beq lbl_802D17D8
/* 802D17A0 002CE6E0 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D17A4 002CE6E4 48 06 F4 ED */ bl OSIsThreadTerminated
/* 802D17A8 002CE6E8 2C 03 00 00 */ cmpwi r3, 0
/* 802D17AC 002CE6EC 40 82 00 14 */ bne lbl_802D17C0
/* 802D17B0 002CE6F0 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D17B4 002CE6F4 48 06 FF 61 */ bl OSDetachThread
/* 802D17B8 002CE6F8 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D17BC 002CE6FC 48 06 FD 9D */ bl OSCancelThread
lbl_802D17C0:
/* 802D17C0 002CE700 80 7E 00 58 */ lwz r3, 0x58(r30)
/* 802D17C4 002CE704 80 9E 00 28 */ lwz r4, 0x28(r30)
/* 802D17C8 002CE708 4B FF CD 39 */ bl JKRHeap_NS_free
/* 802D17CC 002CE70C 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D17D0 002CE710 80 9E 00 28 */ lwz r4, 0x28(r30)
/* 802D17D4 002CE714 4B FF CD 2D */ bl JKRHeap_NS_free
lbl_802D17D8:
/* 802D17D8 002CE718 80 7E 00 50 */ lwz r3, 0x50(r30)
/* 802D17DC 002CE71C 38 80 00 00 */ li r4, 0
/* 802D17E0 002CE720 4B FF CD 21 */ bl JKRHeap_NS_free
/* 802D17E4 002CE724 34 1E 00 18 */ addic. r0, r30, 0x18
/* 802D17E8 002CE728 41 82 00 10 */ beq lbl_802D17F8
/* 802D17EC 002CE72C 38 7E 00 18 */ addi r3, r30, 0x18
/* 802D17F0 002CE730 38 80 00 00 */ li r4, 0
/* 802D17F4 002CE734 48 00 A6 21 */ bl JSUPtrLink_NS_dtor
lbl_802D17F8:
/* 802D17F8 002CE738 7F C3 F3 78 */ mr r3, r30
/* 802D17FC 002CE73C 38 80 00 00 */ li r4, 0
/* 802D1800 002CE740 4B FF FC E5 */ bl JKRDisposer_NS_dtor
/* 802D1804 002CE744 7F E0 07 35 */ extsh. r0, r31
/* 802D1808 002CE748 40 81 00 0C */ ble lbl_802D1814
/* 802D180C 002CE74C 7F C3 F3 78 */ mr r3, r30
/* 802D1810 002CE750 4B FF D5 2D */ bl __dl
lbl_802D1814:
/* 802D1814 002CE754 7F C3 F3 78 */ mr r3, r30
/* 802D1818 002CE758 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D181C 002CE75C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D1820 002CE760 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1824 002CE764 7C 08 03 A6 */ mtlr r0
/* 802D1828 002CE768 38 21 00 10 */ addi r1, r1, 0x10
/* 802D182C 002CE76C 4E 80 00 20 */ blr
.global JKRThread_NS_setCommon_mesgQueue
JKRThread_NS_setCommon_mesgQueue:
/* 802D1830 002CE770 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1834 002CE774 7C 08 02 A6 */ mflr r0
/* 802D1838 002CE778 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D183C 002CE77C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1840 002CE780 7C 7F 1B 78 */ mr r31, r3
/* 802D1844 002CE784 7C 86 23 78 */ mr r6, r4
/* 802D1848 002CE788 90 A3 00 54 */ stw r5, 0x54(r3)
/* 802D184C 002CE78C 80 03 00 54 */ lwz r0, 0x54(r3)
/* 802D1850 002CE790 54 03 10 3A */ slwi r3, r0, 2
/* 802D1854 002CE794 38 80 00 00 */ li r4, 0
/* 802D1858 002CE798 7C C5 33 78 */ mr r5, r6
/* 802D185C 002CE79C 4B FF CC 19 */ bl JKRHeap_NS_alloc
/* 802D1860 002CE7A0 90 7F 00 50 */ stw r3, 0x50(r31)
/* 802D1864 002CE7A4 38 7F 00 30 */ addi r3, r31, 0x30
/* 802D1868 002CE7A8 80 9F 00 50 */ lwz r4, 0x50(r31)
/* 802D186C 002CE7AC 80 BF 00 54 */ lwz r5, 0x54(r31)
/* 802D1870 002CE7B0 48 06 D1 25 */ bl OSInitMessageQueue
/* 802D1874 002CE7B4 3C 60 80 43 */ lis r3, lbl_8043428C@ha
/* 802D1878 002CE7B8 38 63 42 8C */ addi r3, r3, lbl_8043428C@l
/* 802D187C 002CE7BC 38 9F 00 18 */ addi r4, r31, 0x18
/* 802D1880 002CE7C0 48 00 A6 CD */ bl JSUPtrList_NS_append
/* 802D1884 002CE7C4 38 00 00 00 */ li r0, 0
/* 802D1888 002CE7C8 90 1F 00 74 */ stw r0, 0x74(r31)
/* 802D188C 002CE7CC 90 1F 00 78 */ stw r0, 0x78(r31)
/* 802D1890 002CE7D0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1894 002CE7D4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1898 002CE7D8 7C 08 03 A6 */ mtlr r0
/* 802D189C 002CE7DC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D18A0 002CE7E0 4E 80 00 20 */ blr
.global JKRThread_NS_setCommon_heapSpecified
JKRThread_NS_setCommon_heapSpecified:
/* 802D18A4 002CE7E4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D18A8 002CE7E8 7C 08 02 A6 */ mflr r0
/* 802D18AC 002CE7EC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D18B0 002CE7F0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D18B4 002CE7F4 93 C1 00 08 */ stw r30, 8(r1)
/* 802D18B8 002CE7F8 7C 7E 1B 78 */ mr r30, r3
/* 802D18BC 002CE7FC 7C DF 33 78 */ mr r31, r6
/* 802D18C0 002CE800 90 83 00 28 */ stw r4, 0x28(r3)
/* 802D18C4 002CE804 54 A0 00 34 */ rlwinm r0, r5, 0, 0, 0x1a
/* 802D18C8 002CE808 90 03 00 5C */ stw r0, 0x5c(r3)
/* 802D18CC 002CE80C 80 63 00 5C */ lwz r3, 0x5c(r3)
/* 802D18D0 002CE810 38 80 00 20 */ li r4, 0x20
/* 802D18D4 002CE814 80 BE 00 28 */ lwz r5, 0x28(r30)
/* 802D18D8 002CE818 4B FF CB 9D */ bl JKRHeap_NS_alloc
/* 802D18DC 002CE81C 90 7E 00 58 */ stw r3, 0x58(r30)
/* 802D18E0 002CE820 38 60 03 18 */ li r3, 0x318
/* 802D18E4 002CE824 38 80 00 20 */ li r4, 0x20
/* 802D18E8 002CE828 80 BE 00 28 */ lwz r5, 0x28(r30)
/* 802D18EC 002CE82C 4B FF CB 89 */ bl JKRHeap_NS_alloc
/* 802D18F0 002CE830 90 7E 00 2C */ stw r3, 0x2c(r30)
/* 802D18F4 002CE834 80 FE 00 5C */ lwz r7, 0x5c(r30)
/* 802D18F8 002CE838 80 7E 00 2C */ lwz r3, 0x2c(r30)
.global JKRThread_NS_start
/* 802D18FC 002CE83C 3C 80 80 2D */ lis r4, JKRThread_NS_start@ha
.global JKRThread_NS_start
/* 802D1900 002CE840 38 84 19 34 */ addi r4, r4, JKRThread_NS_start@l
/* 802D1904 002CE844 7F C5 F3 78 */ mr r5, r30
/* 802D1908 002CE848 80 1E 00 58 */ lwz r0, 0x58(r30)
/* 802D190C 002CE84C 7C C0 3A 14 */ add r6, r0, r7
/* 802D1910 002CE850 7F E8 FB 78 */ mr r8, r31
/* 802D1914 002CE854 39 20 00 01 */ li r9, 1
/* 802D1918 002CE858 48 06 F9 75 */ bl OSCreateThread
/* 802D191C 002CE85C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1920 002CE860 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D1924 002CE864 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1928 002CE868 7C 08 03 A6 */ mtlr r0
/* 802D192C 002CE86C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1930 002CE870 4E 80 00 20 */ blr
.global JKRThread_NS_start
JKRThread_NS_start:
/* 802D1934 002CE874 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1938 002CE878 7C 08 02 A6 */ mflr r0
/* 802D193C 002CE87C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1940 002CE880 81 83 00 00 */ lwz r12, 0(r3)
/* 802D1944 002CE884 81 8C 00 0C */ lwz r12, 0xc(r12)
/* 802D1948 002CE888 7D 89 03 A6 */ mtctr r12
/* 802D194C 002CE88C 4E 80 04 21 */ bctrl
/* 802D1950 002CE890 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1954 002CE894 7C 08 03 A6 */ mtlr r0
/* 802D1958 002CE898 38 21 00 10 */ addi r1, r1, 0x10
/* 802D195C 002CE89C 4E 80 00 20 */ blr
.global JKRThread_NS_searchThread
JKRThread_NS_searchThread:
/* 802D1960 002CE8A0 3C 80 80 43 */ lis r4, lbl_8043428C@ha
/* 802D1964 002CE8A4 38 84 42 8C */ addi r4, r4, lbl_8043428C@l
/* 802D1968 002CE8A8 80 84 00 00 */ lwz r4, 0(r4)
/* 802D196C 002CE8AC 48 00 00 20 */ b lbl_802D198C
lbl_802D1970:
/* 802D1970 002CE8B0 80 A4 00 00 */ lwz r5, 0(r4)
/* 802D1974 002CE8B4 80 05 00 2C */ lwz r0, 0x2c(r5)
/* 802D1978 002CE8B8 7C 00 18 40 */ cmplw r0, r3
/* 802D197C 002CE8BC 40 82 00 0C */ bne lbl_802D1988
/* 802D1980 002CE8C0 7C A3 2B 78 */ mr r3, r5
/* 802D1984 002CE8C4 4E 80 00 20 */ blr
lbl_802D1988:
/* 802D1988 002CE8C8 80 84 00 0C */ lwz r4, 0xc(r4)
lbl_802D198C:
/* 802D198C 002CE8CC 28 04 00 00 */ cmplwi r4, 0
/* 802D1990 002CE8D0 40 82 FF E0 */ bne lbl_802D1970
/* 802D1994 002CE8D4 38 60 00 00 */ li r3, 0
/* 802D1998 002CE8D8 4E 80 00 20 */ blr
.global JKRThreadSwitch
JKRThreadSwitch:
/* 802D199C 002CE8DC 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D19A0 002CE8E0 7C 08 02 A6 */ mflr r0
/* 802D19A4 002CE8E4 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D19A8 002CE8E8 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D19AC 002CE8EC 7C 7F 1B 78 */ mr r31, r3
/* 802D19B0 002CE8F0 3C 60 80 3D */ lis r3, lbl_803CC100@ha
/* 802D19B4 002CE8F4 38 03 C1 00 */ addi r0, r3, lbl_803CC100@l
/* 802D19B8 002CE8F8 90 1F 00 00 */ stw r0, 0(r31)
/* 802D19BC 002CE8FC 90 9F 00 04 */ stw r4, 4(r31)
.global JKRThreadSwitch_NS_callback
/* 802D19C0 002CE900 3C 60 80 2D */ lis r3, JKRThreadSwitch_NS_callback@ha
.global JKRThreadSwitch_NS_callback
/* 802D19C4 002CE904 38 63 1A E4 */ addi r3, r3, JKRThreadSwitch_NS_callback@l
/* 802D19C8 002CE908 48 06 F0 E1 */ bl OSSetSwitchThreadCallback
/* 802D19CC 002CE90C 38 60 00 00 */ li r3, 0
/* 802D19D0 002CE910 90 7F 00 0C */ stw r3, 0xc(r31)
/* 802D19D4 002CE914 38 00 00 01 */ li r0, 1
/* 802D19D8 002CE918 90 1F 00 10 */ stw r0, 0x10(r31)
/* 802D19DC 002CE91C 90 7F 00 1C */ stw r3, 0x1c(r31)
/* 802D19E0 002CE920 90 7F 00 18 */ stw r3, 0x18(r31)
/* 802D19E4 002CE924 90 6D 8E 34 */ stw r3, lbl_804513B4-_SDA_BASE_(r13)
/* 802D19E8 002CE928 90 6D 8E 3C */ stw r3, lbl_804513BC-_SDA_BASE_(r13)
/* 802D19EC 002CE92C 90 6D 8E 38 */ stw r3, lbl_804513B8-_SDA_BASE_(r13)
/* 802D19F0 002CE930 90 7F 00 20 */ stw r3, 0x20(r31)
/* 802D19F4 002CE934 90 7F 00 24 */ stw r3, 0x24(r31)
/* 802D19F8 002CE938 98 1F 00 08 */ stb r0, 8(r31)
/* 802D19FC 002CE93C 7F E3 FB 78 */ mr r3, r31
/* 802D1A00 002CE940 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1A04 002CE944 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1A08 002CE948 7C 08 03 A6 */ mtlr r0
/* 802D1A0C 002CE94C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1A10 002CE950 4E 80 00 20 */ blr
.global JKRThreadSwitch_NS_createManager
JKRThreadSwitch_NS_createManager:
/* 802D1A14 002CE954 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1A18 002CE958 7C 08 02 A6 */ mflr r0
/* 802D1A1C 002CE95C 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1A20 002CE960 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1A24 002CE964 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D1A28 002CE968 40 82 00 08 */ bne lbl_802D1A30
/* 802D1A2C 002CE96C 83 ED 8D F4 */ lwz r31, lbl_80451374-_SDA_BASE_(r13)
lbl_802D1A30:
/* 802D1A30 002CE970 38 60 00 28 */ li r3, 0x28
/* 802D1A34 002CE974 7F E4 FB 78 */ mr r4, r31
/* 802D1A38 002CE978 38 A0 00 00 */ li r5, 0
/* 802D1A3C 002CE97C 4B FF D2 5D */ bl __nw_X2_
/* 802D1A40 002CE980 7C 60 1B 79 */ or. r0, r3, r3
/* 802D1A44 002CE984 41 82 00 10 */ beq lbl_802D1A54
/* 802D1A48 002CE988 7F E4 FB 78 */ mr r4, r31
/* 802D1A4C 002CE98C 4B FF FF 51 */ bl JKRThreadSwitch
/* 802D1A50 002CE990 7C 60 1B 78 */ mr r0, r3
lbl_802D1A54:
/* 802D1A54 002CE994 90 0D 8E 30 */ stw r0, lbl_804513B0-_SDA_BASE_(r13)
/* 802D1A58 002CE998 7C 03 03 78 */ mr r3, r0
/* 802D1A5C 002CE99C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1A60 002CE9A0 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1A64 002CE9A4 7C 08 03 A6 */ mtlr r0
/* 802D1A68 002CE9A8 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1A6C 002CE9AC 4E 80 00 20 */ blr
.global JKRThreadSwitch_NS_enter
JKRThreadSwitch_NS_enter:
/* 802D1A70 002CE9B0 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1A74 002CE9B4 7C 08 02 A6 */ mflr r0
/* 802D1A78 002CE9B8 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1A7C 002CE9BC 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1A80 002CE9C0 93 C1 00 08 */ stw r30, 8(r1)
/* 802D1A84 002CE9C4 7C 9E 23 79 */ or. r30, r4, r4
/* 802D1A88 002CE9C8 7C BF 2B 78 */ mr r31, r5
/* 802D1A8C 002CE9CC 40 82 00 0C */ bne lbl_802D1A98
/* 802D1A90 002CE9D0 38 60 00 00 */ li r3, 0
/* 802D1A94 002CE9D4 48 00 00 38 */ b lbl_802D1ACC
lbl_802D1A98:
/* 802D1A98 002CE9D8 80 7E 00 2C */ lwz r3, 0x2c(r30)
/* 802D1A9C 002CE9DC 4B FF FE C5 */ bl JKRThread_NS_searchThread
/* 802D1AA0 002CE9E0 28 03 00 00 */ cmplwi r3, 0
/* 802D1AA4 002CE9E4 41 82 00 08 */ beq lbl_802D1AAC
/* 802D1AA8 002CE9E8 7C 7E 1B 78 */ mr r30, r3
lbl_802D1AAC:
/* 802D1AAC 002CE9EC 38 00 00 00 */ li r0, 0
/* 802D1AB0 002CE9F0 90 1E 00 68 */ stw r0, 0x68(r30)
/* 802D1AB4 002CE9F4 90 1E 00 64 */ stw r0, 0x64(r30)
/* 802D1AB8 002CE9F8 90 1E 00 6C */ stw r0, 0x6c(r30)
/* 802D1ABC 002CE9FC 38 00 00 01 */ li r0, 1
/* 802D1AC0 002CEA00 98 1E 00 60 */ stb r0, 0x60(r30)
/* 802D1AC4 002CEA04 93 FE 00 70 */ stw r31, 0x70(r30)
/* 802D1AC8 002CEA08 7F C3 F3 78 */ mr r3, r30
lbl_802D1ACC:
/* 802D1ACC 002CEA0C 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1AD0 002CEA10 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D1AD4 002CEA14 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1AD8 002CEA18 7C 08 03 A6 */ mtlr r0
/* 802D1ADC 002CEA1C 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1AE0 002CEA20 4E 80 00 20 */ blr
.global JKRThreadSwitch_NS_callback
JKRThreadSwitch_NS_callback:
/* 802D1AE4 002CEA24 94 21 FF E0 */ stwu r1, -0x20(r1)
/* 802D1AE8 002CEA28 7C 08 02 A6 */ mflr r0
/* 802D1AEC 002CEA2C 90 01 00 24 */ stw r0, 0x24(r1)
/* 802D1AF0 002CEA30 39 61 00 20 */ addi r11, r1, 0x20
/* 802D1AF4 002CEA34 48 09 06 E1 */ bl func_803621D4
/* 802D1AF8 002CEA38 7C 7B 1B 78 */ mr r27, r3
/* 802D1AFC 002CEA3C 7C 9C 23 78 */ mr r28, r4
/* 802D1B00 002CEA40 81 8D 8E 40 */ lwz r12, lbl_804513C0-_SDA_BASE_(r13)
/* 802D1B04 002CEA44 28 0C 00 00 */ cmplwi r12, 0
/* 802D1B08 002CEA48 41 82 00 0C */ beq lbl_802D1B14
/* 802D1B0C 002CEA4C 7D 89 03 A6 */ mtctr r12
/* 802D1B10 002CEA50 4E 80 04 21 */ bctrl
lbl_802D1B14:
/* 802D1B14 002CEA54 80 6D 8E 34 */ lwz r3, lbl_804513B4-_SDA_BASE_(r13)
/* 802D1B18 002CEA58 38 03 00 01 */ addi r0, r3, 1
/* 802D1B1C 002CEA5C 90 0D 8E 34 */ stw r0, lbl_804513B4-_SDA_BASE_(r13)
/* 802D1B20 002CEA60 3B A0 00 00 */ li r29, 0
/* 802D1B24 002CEA64 3C 60 80 43 */ lis r3, lbl_8043428C@ha
/* 802D1B28 002CEA68 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3)
/* 802D1B2C 002CEA6C 48 00 00 FC */ b lbl_802D1C28
lbl_802D1B30:
/* 802D1B30 002CEA70 83 FE 00 00 */ lwz r31, 0(r30)
/* 802D1B34 002CEA74 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 802D1B38 002CEA78 7C 00 D8 40 */ cmplw r0, r27
/* 802D1B3C 002CEA7C 40 82 00 34 */ bne lbl_802D1B70
/* 802D1B40 002CEA80 80 0D 8D F4 */ lwz r0, lbl_80451374-_SDA_BASE_(r13)
/* 802D1B44 002CEA84 28 00 00 00 */ cmplwi r0, 0
/* 802D1B48 002CEA88 90 1F 00 74 */ stw r0, 0x74(r31)
/* 802D1B4C 002CEA8C 88 1F 00 60 */ lbz r0, 0x60(r31)
/* 802D1B50 002CEA90 28 00 00 00 */ cmplwi r0, 0
/* 802D1B54 002CEA94 41 82 00 1C */ beq lbl_802D1B70
/* 802D1B58 002CEA98 48 07 0B BD */ bl OSGetTick
/* 802D1B5C 002CEA9C 80 1F 00 6C */ lwz r0, 0x6c(r31)
/* 802D1B60 002CEAA0 7C 60 18 50 */ subf r3, r0, r3
/* 802D1B64 002CEAA4 80 1F 00 64 */ lwz r0, 0x64(r31)
/* 802D1B68 002CEAA8 7C 00 1A 14 */ add r0, r0, r3
/* 802D1B6C 002CEAAC 90 1F 00 64 */ stw r0, 0x64(r31)
lbl_802D1B70:
/* 802D1B70 002CEAB0 80 1F 00 2C */ lwz r0, 0x2c(r31)
/* 802D1B74 002CEAB4 7C 00 E0 40 */ cmplw r0, r28
/* 802D1B78 002CEAB8 40 82 00 AC */ bne lbl_802D1C24
/* 802D1B7C 002CEABC 88 1F 00 60 */ lbz r0, 0x60(r31)
/* 802D1B80 002CEAC0 28 00 00 00 */ cmplwi r0, 0
/* 802D1B84 002CEAC4 41 82 00 18 */ beq lbl_802D1B9C
/* 802D1B88 002CEAC8 48 07 0B 8D */ bl OSGetTick
/* 802D1B8C 002CEACC 90 7F 00 6C */ stw r3, 0x6c(r31)
/* 802D1B90 002CEAD0 80 7F 00 68 */ lwz r3, 0x68(r31)
/* 802D1B94 002CEAD4 38 03 00 01 */ addi r0, r3, 1
/* 802D1B98 002CEAD8 90 1F 00 68 */ stw r0, 0x68(r31)
lbl_802D1B9C:
/* 802D1B9C 002CEADC 80 6D 8E 30 */ lwz r3, lbl_804513B0-_SDA_BASE_(r13)
/* 802D1BA0 002CEAE0 88 03 00 08 */ lbz r0, 8(r3)
/* 802D1BA4 002CEAE4 28 00 00 00 */ cmplwi r0, 0
/* 802D1BA8 002CEAE8 41 82 00 7C */ beq lbl_802D1C24
/* 802D1BAC 002CEAEC 80 9F 00 74 */ lwz r4, 0x74(r31)
/* 802D1BB0 002CEAF0 7C 9D 23 78 */ mr r29, r4
/* 802D1BB4 002CEAF4 28 04 00 00 */ cmplwi r4, 0
/* 802D1BB8 002CEAF8 40 82 00 0C */ bne lbl_802D1BC4
/* 802D1BBC 002CEAFC 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13)
/* 802D1BC0 002CEB00 48 00 00 64 */ b lbl_802D1C24
lbl_802D1BC4:
/* 802D1BC4 002CEB04 80 6D 8D F8 */ lwz r3, lbl_80451378-_SDA_BASE_(r13)
/* 802D1BC8 002CEB08 4B FF CF E1 */ bl JKRHeap_NS_isSubHeap
/* 802D1BCC 002CEB0C 54 60 06 3F */ clrlwi. r0, r3, 0x18
/* 802D1BD0 002CEB10 40 82 00 54 */ bne lbl_802D1C24
/* 802D1BD4 002CEB14 80 1F 00 78 */ lwz r0, 0x78(r31)
/* 802D1BD8 002CEB18 2C 00 00 02 */ cmpwi r0, 2
/* 802D1BDC 002CEB1C 41 82 00 3C */ beq lbl_802D1C18
/* 802D1BE0 002CEB20 40 80 00 14 */ bge lbl_802D1BF4
/* 802D1BE4 002CEB24 2C 00 00 00 */ cmpwi r0, 0
/* 802D1BE8 002CEB28 41 82 00 3C */ beq lbl_802D1C24
/* 802D1BEC 002CEB2C 40 80 00 14 */ bge lbl_802D1C00
/* 802D1BF0 002CEB30 48 00 00 34 */ b lbl_802D1C24
lbl_802D1BF4:
/* 802D1BF4 002CEB34 2C 00 00 04 */ cmpwi r0, 4
/* 802D1BF8 002CEB38 40 80 00 2C */ bge lbl_802D1C24
/* 802D1BFC 002CEB3C 48 00 00 24 */ b lbl_802D1C20
lbl_802D1C00:
/* 802D1C00 002CEB40 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha
/* 802D1C04 002CEB44 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l
/* 802D1C08 002CEB48 38 63 00 34 */ addi r3, r3, 0x34
/* 802D1C0C 002CEB4C 48 01 6A F1 */ bl JUTWarningConsole
/* 802D1C10 002CEB50 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13)
/* 802D1C14 002CEB54 48 00 00 10 */ b lbl_802D1C24
lbl_802D1C18:
/* 802D1C18 002CEB58 83 AD 8D F4 */ lwz r29, lbl_80451374-_SDA_BASE_(r13)
/* 802D1C1C 002CEB5C 48 00 00 08 */ b lbl_802D1C24
lbl_802D1C20:
/* 802D1C20 002CEB60 83 AD 8D F0 */ lwz r29, lbl_80451370-_SDA_BASE_(r13)
lbl_802D1C24:
/* 802D1C24 002CEB64 83 DE 00 0C */ lwz r30, 0xc(r30)
lbl_802D1C28:
/* 802D1C28 002CEB68 28 1E 00 00 */ cmplwi r30, 0
/* 802D1C2C 002CEB6C 40 82 FF 04 */ bne lbl_802D1B30
/* 802D1C30 002CEB70 28 1D 00 00 */ cmplwi r29, 0
/* 802D1C34 002CEB74 41 82 00 0C */ beq lbl_802D1C40
/* 802D1C38 002CEB78 7F A3 EB 78 */ mr r3, r29
/* 802D1C3C 002CEB7C 4B FF C7 FD */ bl JKRHeap_NS_becomeCurrentHeap
lbl_802D1C40:
/* 802D1C40 002CEB80 81 8D 8E 44 */ lwz r12, lbl_804513C4-_SDA_BASE_(r13)
/* 802D1C44 002CEB84 28 0C 00 00 */ cmplwi r12, 0
/* 802D1C48 002CEB88 41 82 00 14 */ beq lbl_802D1C5C
/* 802D1C4C 002CEB8C 7F 63 DB 78 */ mr r3, r27
/* 802D1C50 002CEB90 7F 84 E3 78 */ mr r4, r28
/* 802D1C54 002CEB94 7D 89 03 A6 */ mtctr r12
/* 802D1C58 002CEB98 4E 80 04 21 */ bctrl
lbl_802D1C5C:
/* 802D1C5C 002CEB9C 39 61 00 20 */ addi r11, r1, 0x20
/* 802D1C60 002CEBA0 48 09 05 C1 */ bl func_80362220
/* 802D1C64 002CEBA4 80 01 00 24 */ lwz r0, 0x24(r1)
/* 802D1C68 002CEBA8 7C 08 03 A6 */ mtlr r0
/* 802D1C6C 002CEBAC 38 21 00 20 */ addi r1, r1, 0x20
/* 802D1C70 002CEBB0 4E 80 00 20 */ blr
/* 802D1C74 002CEBB4 94 21 FF B0 */ stwu r1, -0x50(r1)
/* 802D1C78 002CEBB8 7C 08 02 A6 */ mflr r0
/* 802D1C7C 002CEBBC 90 01 00 54 */ stw r0, 0x54(r1)
/* 802D1C80 002CEBC0 DB E1 00 40 */ stfd f31, 0x40(r1)
/* 802D1C84 002CEBC4 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
/* 802D1C88 002CEBC8 39 61 00 40 */ addi r11, r1, 0x40
/* 802D1C8C 002CEBCC 48 09 05 41 */ bl func_803621CC
/* 802D1C90 002CEBD0 7C 7A 1B 78 */ mr r26, r3
/* 802D1C94 002CEBD4 7C 9B 23 78 */ mr r27, r4
/* 802D1C98 002CEBD8 7C BC 2B 79 */ or. r28, r5, r5
/* 802D1C9C 002CEBDC 3C 60 80 3A */ lis r3, lbl_8039CFA8@ha
/* 802D1CA0 002CEBE0 38 63 CF A8 */ addi r3, r3, lbl_8039CFA8@l
/* 802D1CA4 002CEBE4 3B 23 00 5D */ addi r25, r3, 0x5d
/* 802D1CA8 002CEBE8 3B A3 00 7F */ addi r29, r3, 0x7f
/* 802D1CAC 002CEBEC 41 82 00 34 */ beq lbl_802D1CE0
/* 802D1CB0 002CEBF0 7F 83 E3 78 */ mr r3, r28
/* 802D1CB4 002CEBF4 48 01 59 39 */ bl JUTConsole_NS_clear
/* 802D1CB8 002CEBF8 7F 83 E3 78 */ mr r3, r28
/* 802D1CBC 002CEBFC 7F 24 CB 78 */ mr r4, r25
/* 802D1CC0 002CEC00 80 AD 8E 34 */ lwz r5, lbl_804513B4-_SDA_BASE_(r13)
/* 802D1CC4 002CEC04 80 DA 00 1C */ lwz r6, 0x1c(r26)
/* 802D1CC8 002CEC08 80 FA 00 10 */ lwz r7, 0x10(r26)
/* 802D1CCC 002CEC0C 4C C6 31 82 */ crclr 6
/* 802D1CD0 002CEC10 48 01 5E E9 */ bl JUTConsole_NS_print_f
/* 802D1CD4 002CEC14 7F 83 E3 78 */ mr r3, r28
/* 802D1CD8 002CEC18 7F A4 EB 78 */ mr r4, r29
/* 802D1CDC 002CEC1C 48 01 5F 5D */ bl JUTConsole_NS_print
lbl_802D1CE0:
/* 802D1CE0 002CEC20 3C 60 80 43 */ lis r3, lbl_8043428C@ha
/* 802D1CE4 002CEC24 83 C3 42 8C */ lwz r30, lbl_8043428C@l(r3)
/* 802D1CE8 002CEC28 48 00 01 04 */ b lbl_802D1DEC
lbl_802D1CEC:
/* 802D1CEC 002CEC2C 83 3E 00 00 */ lwz r25, 0(r30)
/* 802D1CF0 002CEC30 88 19 00 60 */ lbz r0, 0x60(r25)
/* 802D1CF4 002CEC34 28 00 00 00 */ cmplwi r0, 0
/* 802D1CF8 002CEC38 41 82 00 F0 */ beq lbl_802D1DE8
/* 802D1CFC 002CEC3C 3B A0 00 00 */ li r29, 0
/* 802D1D00 002CEC40 28 1B 00 00 */ cmplwi r27, 0
/* 802D1D04 002CEC44 41 82 00 34 */ beq lbl_802D1D38
/* 802D1D08 002CEC48 7F 65 DB 78 */ mr r5, r27
/* 802D1D0C 002CEC4C 48 00 00 20 */ b lbl_802D1D2C
lbl_802D1D10:
/* 802D1D10 002CEC50 80 65 00 00 */ lwz r3, 0(r5)
/* 802D1D14 002CEC54 80 19 00 70 */ lwz r0, 0x70(r25)
/* 802D1D18 002CEC58 7C 03 00 00 */ cmpw r3, r0
/* 802D1D1C 002CEC5C 40 82 00 0C */ bne lbl_802D1D28
/* 802D1D20 002CEC60 7C 9D 23 78 */ mr r29, r4
/* 802D1D24 002CEC64 48 00 00 14 */ b lbl_802D1D38
lbl_802D1D28:
/* 802D1D28 002CEC68 38 A5 00 08 */ addi r5, r5, 8
lbl_802D1D2C:
/* 802D1D2C 002CEC6C 80 85 00 04 */ lwz r4, 4(r5)
/* 802D1D30 002CEC70 28 04 00 00 */ cmplwi r4, 0
/* 802D1D34 002CEC74 40 82 FF DC */ bne lbl_802D1D10
lbl_802D1D38:
/* 802D1D38 002CEC78 28 1D 00 00 */ cmplwi r29, 0
/* 802D1D3C 002CEC7C 40 82 00 24 */ bne lbl_802D1D60
/* 802D1D40 002CEC80 38 61 00 08 */ addi r3, r1, 8
/* 802D1D44 002CEC84 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha
/* 802D1D48 002CEC88 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l
/* 802D1D4C 002CEC8C 38 84 00 A7 */ addi r4, r4, 0xa7
/* 802D1D50 002CEC90 80 B9 00 70 */ lwz r5, 0x70(r25)
/* 802D1D54 002CEC94 4C C6 31 82 */ crclr 6
/* 802D1D58 002CEC98 48 09 47 85 */ bl func_803664DC
/* 802D1D5C 002CEC9C 3B A1 00 08 */ addi r29, r1, 8
lbl_802D1D60:
/* 802D1D60 002CECA0 83 F9 00 68 */ lwz r31, 0x68(r25)
/* 802D1D64 002CECA4 80 7A 00 18 */ lwz r3, 0x18(r26)
/* 802D1D68 002CECA8 80 9A 00 1C */ lwz r4, 0x1c(r26)
/* 802D1D6C 002CECAC 48 09 09 51 */ bl func_803626BC
/* 802D1D70 002CECB0 80 19 00 64 */ lwz r0, 0x64(r25)
/* 802D1D74 002CECB4 C8 42 C5 C8 */ lfd f2, lbl_80455FC8-_SDA2_BASE_(r2)
/* 802D1D78 002CECB8 90 01 00 1C */ stw r0, 0x1c(r1)
/* 802D1D7C 002CECBC 3C 00 43 30 */ lis r0, 0x4330
/* 802D1D80 002CECC0 90 01 00 18 */ stw r0, 0x18(r1)
/* 802D1D84 002CECC4 C8 01 00 18 */ lfd f0, 0x18(r1)
/* 802D1D88 002CECC8 EC 00 10 28 */ fsubs f0, f0, f2
/* 802D1D8C 002CECCC EF E0 08 24 */ fdivs f31, f0, f1
/* 802D1D90 002CECD0 C0 02 C5 C0 */ lfs f0, lbl_80455FC0-_SDA2_BASE_(r2)
/* 802D1D94 002CECD4 EC 20 07 F2 */ fmuls f1, f0, f31
/* 802D1D98 002CECD8 48 09 03 15 */ bl func_803620AC
/* 802D1D9C 002CECDC 7C 79 1B 78 */ mr r25, r3
/* 802D1DA0 002CECE0 C0 02 C5 C4 */ lfs f0, lbl_80455FC4-_SDA2_BASE_(r2)
/* 802D1DA4 002CECE4 EC 20 07 F2 */ fmuls f1, f0, f31
/* 802D1DA8 002CECE8 48 09 03 05 */ bl func_803620AC
/* 802D1DAC 002CECEC 38 80 00 0A */ li r4, 0xa
/* 802D1DB0 002CECF0 7C 03 23 96 */ divwu r0, r3, r4
/* 802D1DB4 002CECF4 7C 00 21 D6 */ mullw r0, r0, r4
/* 802D1DB8 002CECF8 7D 00 18 50 */ subf r8, r0, r3
/* 802D1DBC 002CECFC 28 1C 00 00 */ cmplwi r28, 0
/* 802D1DC0 002CED00 41 82 00 28 */ beq lbl_802D1DE8
/* 802D1DC4 002CED04 7F 83 E3 78 */ mr r3, r28
/* 802D1DC8 002CED08 3C 80 80 3A */ lis r4, lbl_8039CFA8@ha
/* 802D1DCC 002CED0C 38 84 CF A8 */ addi r4, r4, lbl_8039CFA8@l
/* 802D1DD0 002CED10 38 84 00 AA */ addi r4, r4, 0xaa
/* 802D1DD4 002CED14 7F A5 EB 78 */ mr r5, r29
/* 802D1DD8 002CED18 7F E6 FB 78 */ mr r6, r31
/* 802D1DDC 002CED1C 7F 27 CB 78 */ mr r7, r25
/* 802D1DE0 002CED20 4C C6 31 82 */ crclr 6
/* 802D1DE4 002CED24 48 01 5D D5 */ bl JUTConsole_NS_print_f
lbl_802D1DE8:
/* 802D1DE8 002CED28 83 DE 00 0C */ lwz r30, 0xc(r30)
lbl_802D1DEC:
/* 802D1DEC 002CED2C 28 1E 00 00 */ cmplwi r30, 0
/* 802D1DF0 002CED30 40 82 FE FC */ bne lbl_802D1CEC
/* 802D1DF4 002CED34 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
/* 802D1DF8 002CED38 CB E1 00 40 */ lfd f31, 0x40(r1)
/* 802D1DFC 002CED3C 39 61 00 40 */ addi r11, r1, 0x40
/* 802D1E00 002CED40 48 09 04 19 */ bl func_80362218
/* 802D1E04 002CED44 80 01 00 54 */ lwz r0, 0x54(r1)
/* 802D1E08 002CED48 7C 08 03 A6 */ mtlr r0
/* 802D1E0C 002CED4C 38 21 00 50 */ addi r1, r1, 0x50
/* 802D1E10 002CED50 4E 80 00 20 */ blr
/* 802D1E14 002CED54 38 60 00 00 */ li r3, 0
/* 802D1E18 002CED58 4E 80 00 20 */ blr
/* 802D1E1C 002CED5C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1E20 002CED60 7C 08 02 A6 */ mflr r0
/* 802D1E24 002CED64 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1E28 002CED68 38 A0 00 00 */ li r5, 0
/* 802D1E2C 002CED6C 81 83 00 00 */ lwz r12, 0(r3)
/* 802D1E30 002CED70 81 8C 00 08 */ lwz r12, 8(r12)
/* 802D1E34 002CED74 7D 89 03 A6 */ mtctr r12
/* 802D1E38 002CED78 4E 80 04 21 */ bctrl
/* 802D1E3C 002CED7C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1E40 002CED80 7C 08 03 A6 */ mtlr r0
/* 802D1E44 002CED84 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1E48 002CED88 4E 80 00 20 */ blr
/* 802D1E4C 002CED8C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1E50 002CED90 7C 08 02 A6 */ mflr r0
/* 802D1E54 002CED94 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1E58 002CED98 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1E5C 002CED9C 7C 7F 1B 79 */ or. r31, r3, r3
/* 802D1E60 002CEDA0 41 82 00 1C */ beq lbl_802D1E7C
/* 802D1E64 002CEDA4 3C A0 80 3D */ lis r5, lbl_803CC100@ha
/* 802D1E68 002CEDA8 38 05 C1 00 */ addi r0, r5, lbl_803CC100@l
/* 802D1E6C 002CEDAC 90 1F 00 00 */ stw r0, 0(r31)
/* 802D1E70 002CEDB0 7C 80 07 35 */ extsh. r0, r4
/* 802D1E74 002CEDB4 40 81 00 08 */ ble lbl_802D1E7C
/* 802D1E78 002CEDB8 4B FF CE C5 */ bl __dl
lbl_802D1E7C:
/* 802D1E7C 002CEDBC 7F E3 FB 78 */ mr r3, r31
/* 802D1E80 002CEDC0 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1E84 002CEDC4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1E88 002CEDC8 7C 08 03 A6 */ mtlr r0
/* 802D1E8C 002CEDCC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1E90 002CEDD0 4E 80 00 20 */ blr
/* 802D1E94 002CEDD4 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1E98 002CEDD8 7C 08 02 A6 */ mflr r0
/* 802D1E9C 002CEDDC 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1EA0 002CEDE0 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1EA4 002CEDE4 3C 60 80 43 */ lis r3, lbl_80434280@ha
/* 802D1EA8 002CEDE8 3B E3 42 80 */ addi r31, r3, lbl_80434280@l
/* 802D1EAC 002CEDEC 38 7F 00 0C */ addi r3, r31, 0xc
/* 802D1EB0 002CEDF0 38 80 00 00 */ li r4, 0
/* 802D1EB4 002CEDF4 48 00 9F C1 */ bl JSUPtrList
/* 802D1EB8 002CEDF8 38 7F 00 0C */ addi r3, r31, 0xc
.global JSUList_NS_dtor_X3_
/* 802D1EBC 002CEDFC 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X3_@ha
.global JSUList_NS_dtor_X3_
/* 802D1EC0 002CEE00 38 84 1F 50 */ addi r4, r4, JSUList_NS_dtor_X3_@l
/* 802D1EC4 002CEE04 38 BF 00 00 */ addi r5, r31, 0
/* 802D1EC8 002CEE08 48 08 FD 5D */ bl func_80361C24
/* 802D1ECC 002CEE0C 38 7F 00 24 */ addi r3, r31, 0x24
/* 802D1ED0 002CEE10 48 00 A0 45 */ bl JSUPtrList_NS_initiate
/* 802D1ED4 002CEE14 38 7F 00 24 */ addi r3, r31, 0x24
.global JSUList_NS_dtor_X2_
/* 802D1ED8 002CEE18 3C 80 80 2D */ lis r4, JSUList_NS_dtor_X2_@ha
.global JSUList_NS_dtor_X2_
/* 802D1EDC 002CEE1C 38 84 1E FC */ addi r4, r4, JSUList_NS_dtor_X2_@l
/* 802D1EE0 002CEE20 38 BF 00 18 */ addi r5, r31, 0x18
/* 802D1EE4 002CEE24 48 08 FD 41 */ bl func_80361C24
/* 802D1EE8 002CEE28 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1EEC 002CEE2C 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1EF0 002CEE30 7C 08 03 A6 */ mtlr r0
/* 802D1EF4 002CEE34 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1EF8 002CEE38 4E 80 00 20 */ blr
.global JSUList_NS_dtor_X2_
JSUList_NS_dtor_X2_:
/* 802D1EFC 002CEE3C 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1F00 002CEE40 7C 08 02 A6 */ mflr r0
/* 802D1F04 002CEE44 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1F08 002CEE48 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1F0C 002CEE4C 93 C1 00 08 */ stw r30, 8(r1)
/* 802D1F10 002CEE50 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D1F14 002CEE54 7C 9F 23 78 */ mr r31, r4
/* 802D1F18 002CEE58 41 82 00 1C */ beq lbl_802D1F34
/* 802D1F1C 002CEE5C 38 80 00 00 */ li r4, 0
/* 802D1F20 002CEE60 48 00 9F 8D */ bl JSUPtrList_NS_dtor
/* 802D1F24 002CEE64 7F E0 07 35 */ extsh. r0, r31
/* 802D1F28 002CEE68 40 81 00 0C */ ble lbl_802D1F34
/* 802D1F2C 002CEE6C 7F C3 F3 78 */ mr r3, r30
/* 802D1F30 002CEE70 4B FF CE 0D */ bl __dl
lbl_802D1F34:
/* 802D1F34 002CEE74 7F C3 F3 78 */ mr r3, r30
/* 802D1F38 002CEE78 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1F3C 002CEE7C 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D1F40 002CEE80 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1F44 002CEE84 7C 08 03 A6 */ mtlr r0
/* 802D1F48 002CEE88 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1F4C 002CEE8C 4E 80 00 20 */ blr
.global JSUList_NS_dtor_X3_
JSUList_NS_dtor_X3_:
/* 802D1F50 002CEE90 94 21 FF F0 */ stwu r1, -0x10(r1)
/* 802D1F54 002CEE94 7C 08 02 A6 */ mflr r0
/* 802D1F58 002CEE98 90 01 00 14 */ stw r0, 0x14(r1)
/* 802D1F5C 002CEE9C 93 E1 00 0C */ stw r31, 0xc(r1)
/* 802D1F60 002CEEA0 93 C1 00 08 */ stw r30, 8(r1)
/* 802D1F64 002CEEA4 7C 7E 1B 79 */ or. r30, r3, r3
/* 802D1F68 002CEEA8 7C 9F 23 78 */ mr r31, r4
/* 802D1F6C 002CEEAC 41 82 00 1C */ beq lbl_802D1F88
/* 802D1F70 002CEEB0 38 80 00 00 */ li r4, 0
/* 802D1F74 002CEEB4 48 00 9F 39 */ bl JSUPtrList_NS_dtor
/* 802D1F78 002CEEB8 7F E0 07 35 */ extsh. r0, r31
/* 802D1F7C 002CEEBC 40 81 00 0C */ ble lbl_802D1F88
/* 802D1F80 002CEEC0 7F C3 F3 78 */ mr r3, r30
/* 802D1F84 002CEEC4 4B FF CD B9 */ bl __dl
lbl_802D1F88:
/* 802D1F88 002CEEC8 7F C3 F3 78 */ mr r3, r30
/* 802D1F8C 002CEECC 83 E1 00 0C */ lwz r31, 0xc(r1)
/* 802D1F90 002CEED0 83 C1 00 08 */ lwz r30, 8(r1)
/* 802D1F94 002CEED4 80 01 00 14 */ lwz r0, 0x14(r1)
/* 802D1F98 002CEED8 7C 08 03 A6 */ mtlr r0
/* 802D1F9C 002CEEDC 38 21 00 10 */ addi r1, r1, 0x10
/* 802D1FA0 002CEEE0 4E 80 00 20 */ blr