From 67effb9191423d8e5d9e386eaa0f389267c775ce Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Tue, 31 Jan 2023 18:52:49 -0400 Subject: asm: Start work on importing the Dolphin SDK It's a start, but need to import more. --- asm/Dolphin/os/OSThread.s | 1413 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1413 insertions(+) create mode 100644 asm/Dolphin/os/OSThread.s (limited to 'asm/Dolphin/os/OSThread.s') diff --git a/asm/Dolphin/os/OSThread.s b/asm/Dolphin/os/OSThread.s new file mode 100644 index 0000000..2880583 --- /dev/null +++ b/asm/Dolphin/os/OSThread.s @@ -0,0 +1,1413 @@ +.include "macros.inc" + +.section .text + +.global func_80371620 +.type func_80371620, @function +func_80371620: +/* 80371620 7C0802A6 */ mflr r0 +/* 80371624 3C608054 */ lis r3, lbl_8053ecf8@ha +/* 80371628 90010004 */ stw r0, 4(r1) +/* 8037162C 38000002 */ li r0, 0x2 +/* 80371630 38800010 */ li r4, 0x10 +/* 80371634 9421FFE0 */ stwu r1, -0x20(r1) +/* 80371638 BF410008 */ stmw r26, 8(r1) +/* 8037163C 3B83ECF8 */ addi r28, r3, lbl_8053ecf8@l +/* 80371640 3BFC0410 */ addi r31, r28, 0x410 +/* 80371644 3BA00000 */ li r29, 0x0 +/* 80371648 387F02E8 */ addi r3, r31, 0x2e8 +/* 8037164C B01C06D8 */ sth r0, 0x6d8(r28) +/* 80371650 38000001 */ li r0, 0x1 +/* 80371654 B01C06DA */ sth r0, 0x6da(r28) +/* 80371658 3800FFFF */ li r0, -0x1 +/* 8037165C 909C06E4 */ stw r4, 0x6e4(r28) +/* 80371660 909C06E0 */ stw r4, 0x6e0(r28) +/* 80371664 93BC06DC */ stw r29, 0x6dc(r28) +/* 80371668 901C06E8 */ stw r0, 0x6e8(r28) +/* 8037166C 93BC0700 */ stw r29, 0x700(r28) +/* 80371670 480000D9 */ bl func_80371748 +/* 80371674 93BC0708 */ stw r29, 0x708(r28) +/* 80371678 3FC08000 */ lis r30, 0x8000 +/* 8037167C 387F0000 */ addi r3, r31, 0x0 +/* 80371680 93BC0704 */ stw r29, 0x704(r28) +/* 80371684 93FE00D8 */ stw r31, 0xd8(r30) +/* 80371688 4BFFCBD9 */ bl func_8036e260 +/* 8037168C 7FE3FB78 */ mr r3, r31 +/* 80371690 4BFFCA09 */ bl func_8036e098 +/* 80371694 3C60805E */ lis r3, 0x805e +/* 80371698 380309C8 */ addi r0, r3, 0x9c8 +/* 8037169C 3C60805D */ lis r3, 0x805d +/* 803716A0 901C0714 */ stw r0, 0x714(r28) +/* 803716A4 380309C4 */ addi r0, r3, 0x9c4 +/* 803716A8 387C0718 */ addi r3, r28, 0x718 +/* 803716AC 901C0718 */ stw r0, 0x718(r28) +/* 803716B0 3C80DEAE */ lis r4, 0xdeae +/* 803716B4 3B400000 */ li r26, 0x0 +/* 803716B8 80630000 */ lwz r3, 0(r3) +/* 803716BC 3884BABE */ addi r4, r4, -0x4542 +/* 803716C0 57401838 */ slwi r0, r26, 3 +/* 803716C4 90830000 */ stw r4, 0(r3) +/* 803716C8 7F7C0214 */ add r27, r28, r0 +/* 803716CC 93ADCA98 */ stw r29, lbl_805c68b8@sda21(0) +/* 803716D0 93FE00E4 */ stw r31, 0xe4(r30) +/* 803716D4 93ADCA9C */ stw r29, lbl_805c68bc@sda21(0) +lbl_803716d8: +/* 803716D8 7F63DB78 */ mr r3, r27 +/* 803716DC 4800006D */ bl func_80371748 +/* 803716E0 3B5A0001 */ addi r26, r26, 0x1 +/* 803716E4 2C1A001F */ cmpwi r26, 0x1f +/* 803716E8 3B7B0008 */ addi r27, r27, 0x8 +/* 803716EC 4081FFEC */ ble+ lbl_803716d8 +/* 803716F0 3FC08000 */ lis r30, 0x8000 +/* 803716F4 387E00DC */ addi r3, r30, 0xdc +/* 803716F8 48000051 */ bl func_80371748 +/* 803716FC 389E00DC */ addi r4, r30, 0xdc +/* 80371700 84640004 */ lwzu r3, 4(r4) +/* 80371704 28030000 */ cmplwi r3, 0 +/* 80371708 4082000C */ bne- lbl_80371714 +/* 8037170C 93FE00DC */ stw r31, 0xdc(r30) +/* 80371710 48000008 */ b lbl_80371718 +lbl_80371714: +/* 80371714 93E302FC */ stw r31, 0x2fc(r3) +lbl_80371718: +/* 80371718 907F0300 */ stw r3, 0x300(r31) +/* 8037171C 3BC00000 */ li r30, 0x0 +/* 80371720 387C0720 */ addi r3, r28, 0x720 +/* 80371724 93DF02FC */ stw r30, 0x2fc(r31) +/* 80371728 93E40000 */ stw r31, 0(r4) +/* 8037172C 4BFFCB35 */ bl func_8036e260 +/* 80371730 93CDCAA0 */ stw r30, lbl_805c68c0@sda21(0) +/* 80371734 BB410008 */ lmw r26, 8(r1) +/* 80371738 80010024 */ lwz r0, 0x24(r1) +/* 8037173C 38210020 */ addi r1, r1, 0x20 +/* 80371740 7C0803A6 */ mtlr r0 +/* 80371744 4E800020 */ blr +.size func_80371620, . - func_80371620 + + +.global func_80371748 +.type func_80371748, @function +func_80371748: +/* 80371748 38000000 */ li r0, 0x0 +/* 8037174C 90030004 */ stw r0, 4(r3) +/* 80371750 90030000 */ stw r0, 0(r3) +/* 80371754 4E800020 */ blr +.size func_80371748, . - func_80371748 + + +.global func_80371758 +.type func_80371758, @function +func_80371758: +/* 80371758 3C608000 */ lis r3, 0x8000 +/* 8037175C 806300E4 */ lwz r3, 0xe4(r3) +/* 80371760 4E800020 */ blr +.size func_80371758, . - func_80371758 + + +.global func_80371764 +.type func_80371764, @function +func_80371764: +/* 80371764 800302CC */ lwz r0, 0x2cc(r3) +/* 80371768 2C000000 */ cmpwi r0, 0x0 +/* 8037176C 4081000C */ ble- lbl_80371778 +/* 80371770 38600001 */ li r3, 0x1 +/* 80371774 4E800020 */ blr +lbl_80371778: +/* 80371778 38600000 */ li r3, 0x0 +/* 8037177C 4E800020 */ blr +.size func_80371764, . - func_80371764 + + +.global func_80371780 +.type func_80371780, @function +func_80371780: +/* 80371780 A06302C8 */ lhz r3, 0x2c8(r3) +/* 80371784 38000001 */ li r0, 0x1 +/* 80371788 28030008 */ cmplwi r3, 8 +/* 8037178C 41820010 */ beq- lbl_8037179c +/* 80371790 28030000 */ cmplwi r3, 0 +/* 80371794 41820008 */ beq- lbl_8037179c +/* 80371798 38000000 */ li r0, 0x0 +lbl_8037179c: +/* 8037179C 2C000000 */ cmpwi r0, 0x0 +/* 803717A0 4182000C */ beq- lbl_803717ac +/* 803717A4 38600001 */ li r3, 0x1 +/* 803717A8 4E800020 */ blr +lbl_803717ac: +/* 803717AC 38600000 */ li r3, 0x0 +/* 803717B0 4E800020 */ blr +.size func_80371780, . - func_80371780 + + +.global func_803717b4 +.type func_803717b4, @function +func_803717b4: +/* 803717B4 7C0802A6 */ mflr r0 +/* 803717B8 90010004 */ stw r0, 4(r1) +/* 803717BC 9421FFF0 */ stwu r1, -0x10(r1) +/* 803717C0 93E1000C */ stw r31, 0xc(r1) +/* 803717C4 4BFFD311 */ bl func_8036ead4 +/* 803717C8 808DCAA0 */ lwz r4, lbl_805c68c0@sda21(0) +/* 803717CC 38040001 */ addi r0, r4, 0x1 +/* 803717D0 900DCAA0 */ stw r0, lbl_805c68c0@sda21(0) +/* 803717D4 7C9F2378 */ mr r31, r4 +/* 803717D8 4BFFD325 */ bl func_8036eafc +/* 803717DC 7FE3FB78 */ mr r3, r31 +/* 803717E0 80010014 */ lwz r0, 0x14(r1) +/* 803717E4 83E1000C */ lwz r31, 0xc(r1) +/* 803717E8 38210010 */ addi r1, r1, 0x10 +/* 803717EC 7C0803A6 */ mtlr r0 +/* 803717F0 4E800020 */ blr +.size func_803717b4, . - func_803717b4 + + +.global func_803717f4 +.type func_803717f4, @function +func_803717f4: +/* 803717F4 7C0802A6 */ mflr r0 +/* 803717F8 90010004 */ stw r0, 4(r1) +/* 803717FC 9421FFF0 */ stwu r1, -0x10(r1) +/* 80371800 93E1000C */ stw r31, 0xc(r1) +/* 80371804 4BFFD2D1 */ bl func_8036ead4 +/* 80371808 808DCAA0 */ lwz r4, lbl_805c68c0@sda21(0) +/* 8037180C 3804FFFF */ addi r0, r4, -0x1 +/* 80371810 900DCAA0 */ stw r0, lbl_805c68c0@sda21(0) +/* 80371814 7C9F2378 */ mr r31, r4 +/* 80371818 4BFFD2E5 */ bl func_8036eafc +/* 8037181C 7FE3FB78 */ mr r3, r31 +/* 80371820 80010014 */ lwz r0, 0x14(r1) +/* 80371824 83E1000C */ lwz r31, 0xc(r1) +/* 80371828 38210010 */ addi r1, r1, 0x10 +/* 8037182C 7C0803A6 */ mtlr r0 +/* 80371830 4E800020 */ blr +.size func_803717f4, . - func_803717f4 + + +.global func_80371834 +.type func_80371834, @function +func_80371834: +/* 80371834 808302E0 */ lwz r4, 0x2e0(r3) +/* 80371838 80A302DC */ lwz r5, 0x2dc(r3) +/* 8037183C 28040000 */ cmplwi r4, 0 +/* 80371840 80C302E4 */ lwz r6, 0x2e4(r3) +/* 80371844 4082000C */ bne- lbl_80371850 +/* 80371848 90C50004 */ stw r6, 4(r5) +/* 8037184C 48000008 */ b lbl_80371854 +lbl_80371850: +/* 80371850 90C402E4 */ stw r6, 0x2e4(r4) +lbl_80371854: +/* 80371854 28060000 */ cmplwi r6, 0 +/* 80371858 4082000C */ bne- lbl_80371864 +/* 8037185C 90850000 */ stw r4, 0(r5) +/* 80371860 48000008 */ b lbl_80371868 +lbl_80371864: +/* 80371864 908602E0 */ stw r4, 0x2e0(r6) +lbl_80371868: +/* 80371868 80050000 */ lwz r0, 0(r5) +/* 8037186C 28000000 */ cmplwi r0, 0 +/* 80371870 40820020 */ bne- lbl_80371890 +/* 80371874 800302D0 */ lwz r0, 0x2d0(r3) +/* 80371878 38800001 */ li r4, 0x1 +/* 8037187C 80ADCA98 */ lwz r5, lbl_805c68b8@sda21(0) +/* 80371880 2000001F */ subfic r0, r0, 0x1f +/* 80371884 7C800030 */ slw r0, r4, r0 +/* 80371888 7CA00078 */ andc r0, r5, r0 +/* 8037188C 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +lbl_80371890: +/* 80371890 38000000 */ li r0, 0x0 +/* 80371894 900302DC */ stw r0, 0x2dc(r3) +/* 80371898 4E800020 */ blr +.size func_80371834, . - func_80371834 + + +.global func_8037189c +.type func_8037189c, @function +func_8037189c: +/* 8037189C 808302D4 */ lwz r4, 0x2d4(r3) +/* 803718A0 80A302F4 */ lwz r5, 0x2f4(r3) +/* 803718A4 48000024 */ b lbl_803718c8 +lbl_803718a8: +/* 803718A8 80650000 */ lwz r3, 0(r5) +/* 803718AC 28030000 */ cmplwi r3, 0 +/* 803718B0 41820014 */ beq- lbl_803718c4 +/* 803718B4 800302D0 */ lwz r0, 0x2d0(r3) +/* 803718B8 7C002000 */ cmpw r0, r4 +/* 803718BC 40800008 */ bge- lbl_803718c4 +/* 803718C0 7C040378 */ mr r4, r0 +lbl_803718c4: +/* 803718C4 80A50010 */ lwz r5, 0x10(r5) +lbl_803718c8: +/* 803718C8 28050000 */ cmplwi r5, 0 +/* 803718CC 4082FFDC */ bne+ lbl_803718a8 +/* 803718D0 7C832378 */ mr r3, r4 +/* 803718D4 4E800020 */ blr +.size func_8037189c, . - func_8037189c + + +.global func_803718d8 +.type func_803718d8, @function +func_803718d8: +/* 803718D8 7C0802A6 */ mflr r0 +/* 803718DC 90010004 */ stw r0, 4(r1) +/* 803718E0 9421FFE8 */ stwu r1, -0x18(r1) +/* 803718E4 93E10014 */ stw r31, 0x14(r1) +/* 803718E8 7C7F1B78 */ mr r31, r3 +/* 803718EC 93C10010 */ stw r30, 0x10(r1) +/* 803718F0 3BC40000 */ addi r30, r4, 0x0 +/* 803718F4 A00302C8 */ lhz r0, 0x2c8(r3) +/* 803718F8 2C000003 */ cmpwi r0, 0x3 +/* 803718FC 41820180 */ beq- lbl_80371a7c +/* 80371900 40800014 */ bge- lbl_80371914 +/* 80371904 2C000001 */ cmpwi r0, 0x1 +/* 80371908 41820018 */ beq- lbl_80371920 +/* 8037190C 40800164 */ bge- lbl_80371a70 +/* 80371910 4800016C */ b lbl_80371a7c +lbl_80371914: +/* 80371914 2C000005 */ cmpwi r0, 0x5 +/* 80371918 40800164 */ bge- lbl_80371a7c +/* 8037191C 4800007C */ b lbl_80371998 +lbl_80371920: +/* 80371920 7FE3FB78 */ mr r3, r31 +/* 80371924 4BFFFF11 */ bl func_80371834 +/* 80371928 93DF02D0 */ stw r30, 0x2d0(r31) +/* 8037192C 3C608054 */ lis r3, lbl_8053ecf8@ha +/* 80371930 3803ECF8 */ addi r0, r3, lbl_8053ecf8@l +/* 80371934 807F02D0 */ lwz r3, 0x2d0(r31) +/* 80371938 54631838 */ slwi r3, r3, 3 +/* 8037193C 7C001A14 */ add r0, r0, r3 +/* 80371940 901F02DC */ stw r0, 0x2dc(r31) +/* 80371944 809F02DC */ lwz r4, 0x2dc(r31) +/* 80371948 80640004 */ lwz r3, 4(r4) +/* 8037194C 28030000 */ cmplwi r3, 0 +/* 80371950 4082000C */ bne- lbl_8037195c +/* 80371954 93E40000 */ stw r31, 0(r4) +/* 80371958 48000008 */ b lbl_80371960 +lbl_8037195c: +/* 8037195C 93E302E0 */ stw r31, 0x2e0(r3) +lbl_80371960: +/* 80371960 907F02E4 */ stw r3, 0x2e4(r31) +/* 80371964 38000000 */ li r0, 0x0 +/* 80371968 38600001 */ li r3, 0x1 +/* 8037196C 901F02E0 */ stw r0, 0x2e0(r31) +/* 80371970 809F02DC */ lwz r4, 0x2dc(r31) +/* 80371974 93E40004 */ stw r31, 4(r4) +/* 80371978 801F02D0 */ lwz r0, 0x2d0(r31) +/* 8037197C 808DCA98 */ lwz r4, lbl_805c68b8@sda21(0) +/* 80371980 2000001F */ subfic r0, r0, 0x1f +/* 80371984 7C600030 */ slw r0, r3, r0 +/* 80371988 7C800378 */ or r0, r4, r0 +/* 8037198C 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +/* 80371990 906DCA9C */ stw r3, lbl_805c68bc@sda21(0) +/* 80371994 480000E8 */ b lbl_80371a7c +lbl_80371998: +/* 80371998 809F02E0 */ lwz r4, 0x2e0(r31) +/* 8037199C 80BF02E4 */ lwz r5, 0x2e4(r31) +/* 803719A0 28040000 */ cmplwi r4, 0 +/* 803719A4 40820010 */ bne- lbl_803719b4 +/* 803719A8 807F02DC */ lwz r3, 0x2dc(r31) +/* 803719AC 90A30004 */ stw r5, 4(r3) +/* 803719B0 48000008 */ b lbl_803719b8 +lbl_803719b4: +/* 803719B4 90A402E4 */ stw r5, 0x2e4(r4) +lbl_803719b8: +/* 803719B8 28050000 */ cmplwi r5, 0 +/* 803719BC 40820010 */ bne- lbl_803719cc +/* 803719C0 807F02DC */ lwz r3, 0x2dc(r31) +/* 803719C4 90830000 */ stw r4, 0(r3) +/* 803719C8 48000008 */ b lbl_803719d0 +lbl_803719cc: +/* 803719CC 908502E0 */ stw r4, 0x2e0(r5) +lbl_803719d0: +/* 803719D0 93DF02D0 */ stw r30, 0x2d0(r31) +/* 803719D4 809F02DC */ lwz r4, 0x2dc(r31) +/* 803719D8 80A40000 */ lwz r5, 0(r4) +/* 803719DC 48000008 */ b lbl_803719e4 +lbl_803719e0: +/* 803719E0 80A502E0 */ lwz r5, 0x2e0(r5) +lbl_803719e4: +/* 803719E4 28050000 */ cmplwi r5, 0 +/* 803719E8 41820014 */ beq- lbl_803719fc +/* 803719EC 806502D0 */ lwz r3, 0x2d0(r5) +/* 803719F0 801F02D0 */ lwz r0, 0x2d0(r31) +/* 803719F4 7C030000 */ cmpw r3, r0 +/* 803719F8 4081FFE8 */ ble+ lbl_803719e0 +lbl_803719fc: +/* 803719FC 28050000 */ cmplwi r5, 0 +/* 80371A00 40820034 */ bne- lbl_80371a34 +/* 80371A04 80640004 */ lwz r3, 4(r4) +/* 80371A08 28030000 */ cmplwi r3, 0 +/* 80371A0C 4082000C */ bne- lbl_80371a18 +/* 80371A10 93E40000 */ stw r31, 0(r4) +/* 80371A14 48000008 */ b lbl_80371a1c +lbl_80371a18: +/* 80371A18 93E302E0 */ stw r31, 0x2e0(r3) +lbl_80371a1c: +/* 80371A1C 907F02E4 */ stw r3, 0x2e4(r31) +/* 80371A20 38000000 */ li r0, 0x0 +/* 80371A24 901F02E0 */ stw r0, 0x2e0(r31) +/* 80371A28 807F02DC */ lwz r3, 0x2dc(r31) +/* 80371A2C 93E30004 */ stw r31, 4(r3) +/* 80371A30 4800002C */ b lbl_80371a5c +lbl_80371a34: +/* 80371A34 90BF02E0 */ stw r5, 0x2e0(r31) +/* 80371A38 806502E4 */ lwz r3, 0x2e4(r5) +/* 80371A3C 93E502E4 */ stw r31, 0x2e4(r5) +/* 80371A40 28030000 */ cmplwi r3, 0 +/* 80371A44 907F02E4 */ stw r3, 0x2e4(r31) +/* 80371A48 40820010 */ bne- lbl_80371a58 +/* 80371A4C 807F02DC */ lwz r3, 0x2dc(r31) +/* 80371A50 93E30000 */ stw r31, 0(r3) +/* 80371A54 48000008 */ b lbl_80371a5c +lbl_80371a58: +/* 80371A58 93E302E0 */ stw r31, 0x2e0(r3) +lbl_80371a5c: +/* 80371A5C 807F02F0 */ lwz r3, 0x2f0(r31) +/* 80371A60 28030000 */ cmplwi r3, 0 +/* 80371A64 41820018 */ beq- lbl_80371a7c +/* 80371A68 80630008 */ lwz r3, 8(r3) +/* 80371A6C 48000014 */ b lbl_80371a80 +lbl_80371a70: +/* 80371A70 38000001 */ li r0, 0x1 +/* 80371A74 900DCA9C */ stw r0, lbl_805c68bc@sda21(0) +/* 80371A78 93DF02D0 */ stw r30, 0x2d0(r31) +lbl_80371a7c: +/* 80371A7C 38600000 */ li r3, 0x0 +lbl_80371a80: +/* 80371A80 8001001C */ lwz r0, 0x1c(r1) +/* 80371A84 83E10014 */ lwz r31, 0x14(r1) +/* 80371A88 83C10010 */ lwz r30, 0x10(r1) +/* 80371A8C 38210018 */ addi r1, r1, 0x18 +/* 80371A90 7C0803A6 */ mtlr r0 +/* 80371A94 4E800020 */ blr +.size func_803718d8, . - func_803718d8 + + +.global func_80371a98 +.type func_80371a98, @function +func_80371a98: +/* 80371A98 7C0802A6 */ mflr r0 +/* 80371A9C 90010004 */ stw r0, 4(r1) +/* 80371AA0 9421FFE8 */ stwu r1, -0x18(r1) +/* 80371AA4 93E10014 */ stw r31, 0x14(r1) +/* 80371AA8 7C9F2378 */ mr r31, r4 +lbl_80371aac: +/* 80371AAC 800302CC */ lwz r0, 0x2cc(r3) +/* 80371AB0 2C000000 */ cmpwi r0, 0x0 +/* 80371AB4 41810020 */ bgt- lbl_80371ad4 +/* 80371AB8 800302D0 */ lwz r0, 0x2d0(r3) +/* 80371ABC 7C00F800 */ cmpw r0, r31 +/* 80371AC0 40810014 */ ble- lbl_80371ad4 +/* 80371AC4 7FE4FB78 */ mr r4, r31 +/* 80371AC8 4BFFFE11 */ bl func_803718d8 +/* 80371ACC 28030000 */ cmplwi r3, 0 +/* 80371AD0 4082FFDC */ bne+ lbl_80371aac +lbl_80371ad4: +/* 80371AD4 8001001C */ lwz r0, 0x1c(r1) +/* 80371AD8 83E10014 */ lwz r31, 0x14(r1) +/* 80371ADC 38210018 */ addi r1, r1, 0x18 +/* 80371AE0 7C0803A6 */ mtlr r0 +/* 80371AE4 4E800020 */ blr +.size func_80371a98, . - func_80371a98 + + +.global func_80371ae8 +.type func_80371ae8, @function +func_80371ae8: +/* 80371AE8 7C0802A6 */ mflr r0 +/* 80371AEC 3C808054 */ lis r4, lbl_8053ecf8@ha +/* 80371AF0 90010004 */ stw r0, 4(r1) +/* 80371AF4 9421FFE8 */ stwu r1, -0x18(r1) +/* 80371AF8 93E10014 */ stw r31, 0x14(r1) +/* 80371AFC 3BE4ECF8 */ addi r31, r4, lbl_8053ecf8@l +/* 80371B00 93C10010 */ stw r30, 0x10(r1) +/* 80371B04 3BC30000 */ addi r30, r3, 0x0 +/* 80371B08 800DCAA0 */ lwz r0, lbl_805c68c0@sda21(0) +/* 80371B0C 2C000000 */ cmpwi r0, 0x0 +/* 80371B10 4081000C */ ble- lbl_80371b1c +/* 80371B14 38600000 */ li r3, 0x0 +/* 80371B18 480001B8 */ b lbl_80371cd0 +lbl_80371b1c: +/* 80371B1C 4BFFC5D9 */ bl func_8036e0f4 +/* 80371B20 3C808000 */ lis r4, 0x8000 +/* 80371B24 80C400E4 */ lwz r6, 0xe4(r4) +/* 80371B28 7C033040 */ cmplw r3, r6 +/* 80371B2C 38660000 */ addi r3, r6, 0x0 +/* 80371B30 4182000C */ beq- lbl_80371b3c +/* 80371B34 38600000 */ li r3, 0x0 +/* 80371B38 48000198 */ b lbl_80371cd0 +lbl_80371b3c: +/* 80371B3C 28060000 */ cmplwi r6, 0 +/* 80371B40 418200BC */ beq- lbl_80371bfc +/* 80371B44 A00602C8 */ lhz r0, 0x2c8(r6) +/* 80371B48 28000002 */ cmplwi r0, 2 +/* 80371B4C 40820090 */ bne- lbl_80371bdc +/* 80371B50 2C1E0000 */ cmpwi r30, 0x0 +/* 80371B54 40820020 */ bne- lbl_80371b74 +/* 80371B58 808DCA98 */ lwz r4, lbl_805c68b8@sda21(0) +/* 80371B5C 800602D0 */ lwz r0, 0x2d0(r6) +/* 80371B60 7C840034 */ cntlzw r4, r4 +/* 80371B64 7C002000 */ cmpw r0, r4 +/* 80371B68 4181000C */ bgt- lbl_80371b74 +/* 80371B6C 38600000 */ li r3, 0x0 +/* 80371B70 48000160 */ b lbl_80371cd0 +lbl_80371b74: +/* 80371B74 38000001 */ li r0, 0x1 +/* 80371B78 B00602C8 */ sth r0, 0x2c8(r6) +/* 80371B7C 800602D0 */ lwz r0, 0x2d0(r6) +/* 80371B80 54001838 */ slwi r0, r0, 3 +/* 80371B84 7C1F0214 */ add r0, r31, r0 +/* 80371B88 900602DC */ stw r0, 0x2dc(r6) +/* 80371B8C 80A602DC */ lwz r5, 0x2dc(r6) +/* 80371B90 80850004 */ lwz r4, 4(r5) +/* 80371B94 28040000 */ cmplwi r4, 0 +/* 80371B98 4082000C */ bne- lbl_80371ba4 +/* 80371B9C 90C50000 */ stw r6, 0(r5) +/* 80371BA0 48000008 */ b lbl_80371ba8 +lbl_80371ba4: +/* 80371BA4 90C402E0 */ stw r6, 0x2e0(r4) +lbl_80371ba8: +/* 80371BA8 908602E4 */ stw r4, 0x2e4(r6) +/* 80371BAC 38000000 */ li r0, 0x0 +/* 80371BB0 38800001 */ li r4, 0x1 +/* 80371BB4 900602E0 */ stw r0, 0x2e0(r6) +/* 80371BB8 80A602DC */ lwz r5, 0x2dc(r6) +/* 80371BBC 90C50004 */ stw r6, 4(r5) +/* 80371BC0 800602D0 */ lwz r0, 0x2d0(r6) +/* 80371BC4 80ADCA98 */ lwz r5, lbl_805c68b8@sda21(0) +/* 80371BC8 2000001F */ subfic r0, r0, 0x1f +/* 80371BCC 7C800030 */ slw r0, r4, r0 +/* 80371BD0 7CA00378 */ or r0, r5, r0 +/* 80371BD4 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +/* 80371BD8 908DCA9C */ stw r4, lbl_805c68bc@sda21(0) +lbl_80371bdc: +/* 80371BDC A00601A2 */ lhz r0, 0x1a2(r6) +/* 80371BE0 540007BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e +/* 80371BE4 40820018 */ bne- lbl_80371bfc +/* 80371BE8 4BFFC519 */ bl func_8036e100 +/* 80371BEC 28030000 */ cmplwi r3, 0 +/* 80371BF0 4182000C */ beq- lbl_80371bfc +/* 80371BF4 38600000 */ li r3, 0x0 +/* 80371BF8 480000D8 */ b lbl_80371cd0 +lbl_80371bfc: +/* 80371BFC 800DCA98 */ lwz r0, lbl_805c68b8@sda21(0) +/* 80371C00 38800000 */ li r4, 0x0 +/* 80371C04 3C608000 */ lis r3, 0x8000 +/* 80371C08 28000000 */ cmplwi r0, 0 +/* 80371C0C 908300E4 */ stw r4, 0xe4(r3) +/* 80371C10 40820034 */ bne- lbl_80371c44 +/* 80371C14 387F0720 */ addi r3, r31, 0x720 +/* 80371C18 4BFFC481 */ bl func_8036e098 +lbl_80371c1c: +/* 80371C1C 4BFFCECD */ bl func_8036eae8 +lbl_80371c20: +/* 80371C20 800DCA98 */ lwz r0, lbl_805c68b8@sda21(0) +/* 80371C24 28000000 */ cmplwi r0, 0 +/* 80371C28 4182FFF8 */ beq+ lbl_80371c20 +/* 80371C2C 4BFFCEA9 */ bl func_8036ead4 +/* 80371C30 800DCA98 */ lwz r0, lbl_805c68b8@sda21(0) +/* 80371C34 28000000 */ cmplwi r0, 0 +/* 80371C38 4182FFE4 */ beq+ lbl_80371c1c +/* 80371C3C 387F0720 */ addi r3, r31, 0x720 +/* 80371C40 4BFFC621 */ bl func_8036e260 +lbl_80371c44: +/* 80371C44 38600000 */ li r3, 0x0 +/* 80371C48 906DCA9C */ stw r3, lbl_805c68bc@sda21(0) +/* 80371C4C 800DCA98 */ lwz r0, lbl_805c68b8@sda21(0) +/* 80371C50 7C070034 */ cntlzw r7, r0 +/* 80371C54 54E01838 */ slwi r0, r7, 3 +/* 80371C58 7C9F0214 */ add r4, r31, r0 +/* 80371C5C 80A40000 */ lwz r5, 0(r4) +/* 80371C60 80C502E0 */ lwz r6, 0x2e0(r5) +/* 80371C64 3BE50000 */ addi r31, r5, 0x0 +/* 80371C68 28060000 */ cmplwi r6, 0 +/* 80371C6C 4082000C */ bne- lbl_80371c78 +/* 80371C70 90640004 */ stw r3, 4(r4) +/* 80371C74 48000008 */ b lbl_80371c7c +lbl_80371c78: +/* 80371C78 906602E4 */ stw r3, 0x2e4(r6) +lbl_80371c7c: +/* 80371C7C 90C40000 */ stw r6, 0(r4) +/* 80371C80 80040000 */ lwz r0, 0(r4) +/* 80371C84 28000000 */ cmplwi r0, 0 +/* 80371C88 4082001C */ bne- lbl_80371ca4 +/* 80371C8C 2007001F */ subfic r0, r7, 0x1f +/* 80371C90 808DCA98 */ lwz r4, lbl_805c68b8@sda21(0) +/* 80371C94 38600001 */ li r3, 0x1 +/* 80371C98 7C600030 */ slw r0, r3, r0 +/* 80371C9C 7C800078 */ andc r0, r4, r0 +/* 80371CA0 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +lbl_80371ca4: +/* 80371CA4 38000000 */ li r0, 0x0 +/* 80371CA8 901F02DC */ stw r0, 0x2dc(r31) +/* 80371CAC 38000002 */ li r0, 0x2 +/* 80371CB0 3C808000 */ lis r4, 0x8000 +/* 80371CB4 B01F02C8 */ sth r0, 0x2c8(r31) +/* 80371CB8 7FE3FB78 */ mr r3, r31 +/* 80371CBC 93E400E4 */ stw r31, 0xe4(r4) +/* 80371CC0 4BFFC3D9 */ bl func_8036e098 +/* 80371CC4 7FE3FB78 */ mr r3, r31 +/* 80371CC8 4BFFC4B9 */ bl func_8036e180 +/* 80371CCC 7FE3FB78 */ mr r3, r31 +lbl_80371cd0: +/* 80371CD0 8001001C */ lwz r0, 0x1c(r1) +/* 80371CD4 83E10014 */ lwz r31, 0x14(r1) +/* 80371CD8 83C10010 */ lwz r30, 0x10(r1) +/* 80371CDC 38210018 */ addi r1, r1, 0x18 +/* 80371CE0 7C0803A6 */ mtlr r0 +/* 80371CE4 4E800020 */ blr +.size func_80371ae8, . - func_80371ae8 + + +.global func_80371ce8 +.type func_80371ce8, @function +func_80371ce8: +/* 80371CE8 7C0802A6 */ mflr r0 +/* 80371CEC 90010004 */ stw r0, 4(r1) +/* 80371CF0 9421FFF8 */ stwu r1, -8(r1) +/* 80371CF4 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 80371CF8 2C000000 */ cmpwi r0, 0x0 +/* 80371CFC 4182000C */ beq- lbl_80371d08 +/* 80371D00 38600000 */ li r3, 0x0 +/* 80371D04 4BFFFDE5 */ bl func_80371ae8 +lbl_80371d08: +/* 80371D08 8001000C */ lwz r0, 0xc(r1) +/* 80371D0C 38210008 */ addi r1, r1, 0x8 +/* 80371D10 7C0803A6 */ mtlr r0 +/* 80371D14 4E800020 */ blr +.size func_80371ce8, . - func_80371ce8 + + +.global func_80371d18 +.type func_80371d18, @function +func_80371d18: +/* 80371D18 7C0802A6 */ mflr r0 +/* 80371D1C 90010004 */ stw r0, 4(r1) +/* 80371D20 9421FFF0 */ stwu r1, -0x10(r1) +/* 80371D24 93E1000C */ stw r31, 0xc(r1) +/* 80371D28 4BFFCDAD */ bl func_8036ead4 +/* 80371D2C 3BE30000 */ addi r31, r3, 0x0 +/* 80371D30 38600001 */ li r3, 0x1 +/* 80371D34 4BFFFDB5 */ bl func_80371ae8 +/* 80371D38 7FE3FB78 */ mr r3, r31 +/* 80371D3C 4BFFCDC1 */ bl func_8036eafc +/* 80371D40 80010014 */ lwz r0, 0x14(r1) +/* 80371D44 83E1000C */ lwz r31, 0xc(r1) +/* 80371D48 38210010 */ addi r1, r1, 0x10 +/* 80371D4C 7C0803A6 */ mtlr r0 +/* 80371D50 4E800020 */ blr +.size func_80371d18, . - func_80371d18 + + +.global func_80371d54 +.type func_80371d54, @function +func_80371d54: +/* 80371D54 7C0802A6 */ mflr r0 +/* 80371D58 2C080000 */ cmpwi r8, 0x0 +/* 80371D5C 90010004 */ stw r0, 4(r1) +/* 80371D60 9421FFC8 */ stwu r1, -0x38(r1) +/* 80371D64 93E10034 */ stw r31, 0x34(r1) +/* 80371D68 3BE30000 */ addi r31, r3, 0x0 +/* 80371D6C 93C10030 */ stw r30, 0x30(r1) +/* 80371D70 3BC70000 */ addi r30, r7, 0x0 +/* 80371D74 93A1002C */ stw r29, 0x2c(r1) +/* 80371D78 3BA60000 */ addi r29, r6, 0x0 +/* 80371D7C 93810028 */ stw r28, 0x28(r1) +/* 80371D80 3B850000 */ addi r28, r5, 0x0 +/* 80371D84 4180000C */ blt- lbl_80371d90 +/* 80371D88 2C08001F */ cmpwi r8, 0x1f +/* 80371D8C 4081000C */ ble- lbl_80371d98 +lbl_80371d90: +/* 80371D90 38600000 */ li r3, 0x0 +/* 80371D94 480000C0 */ b lbl_80371e54 +lbl_80371d98: +/* 80371D98 38E00001 */ li r7, 0x1 +/* 80371D9C B0FF02C8 */ sth r7, 0x2c8(r31) +/* 80371DA0 552007FE */ clrlwi r0, r9, 0x1f +/* 80371DA4 57A90038 */ rlwinm r9, r29, 0, 0, 0x1c +/* 80371DA8 B01F02CA */ sth r0, 0x2ca(r31) +/* 80371DAC 38C0FFFF */ li r6, -0x1 +/* 80371DB0 38000000 */ li r0, 0x0 +/* 80371DB4 911F02D4 */ stw r8, 0x2d4(r31) +/* 80371DB8 387F0000 */ addi r3, r31, 0x0 +/* 80371DBC 38A9FFF8 */ addi r5, r9, -0x8 +/* 80371DC0 911F02D0 */ stw r8, 0x2d0(r31) +/* 80371DC4 90FF02CC */ stw r7, 0x2cc(r31) +/* 80371DC8 90DF02D8 */ stw r6, 0x2d8(r31) +/* 80371DCC 901F02F0 */ stw r0, 0x2f0(r31) +/* 80371DD0 901F02EC */ stw r0, 0x2ec(r31) +/* 80371DD4 901F02E8 */ stw r0, 0x2e8(r31) +/* 80371DD8 901F02F8 */ stw r0, 0x2f8(r31) +/* 80371DDC 901F02F4 */ stw r0, 0x2f4(r31) +/* 80371DE0 9009FFF8 */ stw r0, -8(r9) +/* 80371DE4 9009FFFC */ stw r0, -4(r9) +/* 80371DE8 4BFFC49D */ bl func_8036e284 +/* 80371DEC 3C608037 */ lis r3, func_80371e74@ha +/* 80371DF0 38031E74 */ addi r0, r3, func_80371e74@l +/* 80371DF4 901F0084 */ stw r0, 0x84(r31) +/* 80371DF8 3C60DEAE */ lis r3, 0xdeae +/* 80371DFC 7C9EE850 */ subf r4, r30, r29 +/* 80371E00 939F000C */ stw r28, 0xc(r31) +/* 80371E04 3803BABE */ addi r0, r3, -0x4542 +/* 80371E08 93BF0304 */ stw r29, 0x304(r31) +/* 80371E0C 909F0308 */ stw r4, 0x308(r31) +/* 80371E10 807F0308 */ lwz r3, 0x308(r31) +/* 80371E14 90030000 */ stw r0, 0(r3) +/* 80371E18 4BFFCCBD */ bl func_8036ead4 +/* 80371E1C 3C808000 */ lis r4, 0x8000 +/* 80371E20 38A400DC */ addi r5, r4, 0xdc +/* 80371E24 84C50004 */ lwzu r6, 4(r5) +/* 80371E28 28060000 */ cmplwi r6, 0 +/* 80371E2C 4082000C */ bne- lbl_80371e38 +/* 80371E30 93E400DC */ stw r31, 0xdc(r4) +/* 80371E34 48000008 */ b lbl_80371e3c +lbl_80371e38: +/* 80371E38 93E602FC */ stw r31, 0x2fc(r6) +lbl_80371e3c: +/* 80371E3C 90DF0300 */ stw r6, 0x300(r31) +/* 80371E40 38000000 */ li r0, 0x0 +/* 80371E44 901F02FC */ stw r0, 0x2fc(r31) +/* 80371E48 93E50000 */ stw r31, 0(r5) +/* 80371E4C 4BFFCCB1 */ bl func_8036eafc +/* 80371E50 38600001 */ li r3, 0x1 +lbl_80371e54: +/* 80371E54 8001003C */ lwz r0, 0x3c(r1) +/* 80371E58 83E10034 */ lwz r31, 0x34(r1) +/* 80371E5C 83C10030 */ lwz r30, 0x30(r1) +/* 80371E60 83A1002C */ lwz r29, 0x2c(r1) +/* 80371E64 83810028 */ lwz r28, 0x28(r1) +/* 80371E68 38210038 */ addi r1, r1, 0x38 +/* 80371E6C 7C0803A6 */ mtlr r0 +/* 80371E70 4E800020 */ blr +.size func_80371d54, . - func_80371d54 + + +.global func_80371e74 +.type func_80371e74, @function +func_80371e74: +/* 80371E74 7C0802A6 */ mflr r0 +/* 80371E78 90010004 */ stw r0, 4(r1) +/* 80371E7C 9421FFE0 */ stwu r1, -0x20(r1) +/* 80371E80 93E1001C */ stw r31, 0x1c(r1) +/* 80371E84 93C10018 */ stw r30, 0x18(r1) +/* 80371E88 93A10014 */ stw r29, 0x14(r1) +/* 80371E8C 93810010 */ stw r28, 0x10(r1) +/* 80371E90 7C7C1B78 */ mr r28, r3 +/* 80371E94 4BFFCC41 */ bl func_8036ead4 +/* 80371E98 3FE08000 */ lis r31, 0x8000 +/* 80371E9C 83DF00E4 */ lwz r30, 0xe4(r31) +/* 80371EA0 3BA30000 */ addi r29, r3, 0x0 +/* 80371EA4 387E0000 */ addi r3, r30, 0x0 +/* 80371EA8 4BFFC3B9 */ bl func_8036e260 +/* 80371EAC A01E02CA */ lhz r0, 0x2ca(r30) +/* 80371EB0 540007FF */ clrlwi. r0, r0, 0x1f +/* 80371EB4 41820044 */ beq- lbl_80371ef8 +/* 80371EB8 809E02FC */ lwz r4, 0x2fc(r30) +/* 80371EBC 80BE0300 */ lwz r5, 0x300(r30) +/* 80371EC0 28040000 */ cmplwi r4, 0 +/* 80371EC4 4082000C */ bne- lbl_80371ed0 +/* 80371EC8 90BF00E0 */ stw r5, 0xe0(r31) +/* 80371ECC 48000008 */ b lbl_80371ed4 +lbl_80371ed0: +/* 80371ED0 90A40300 */ stw r5, 0x300(r4) +lbl_80371ed4: +/* 80371ED4 28050000 */ cmplwi r5, 0 +/* 80371ED8 40820010 */ bne- lbl_80371ee8 +/* 80371EDC 3C608000 */ lis r3, 0x8000 +/* 80371EE0 908300DC */ stw r4, 0xdc(r3) +/* 80371EE4 48000008 */ b lbl_80371eec +lbl_80371ee8: +/* 80371EE8 908502FC */ stw r4, 0x2fc(r5) +lbl_80371eec: +/* 80371EEC 38000000 */ li r0, 0x0 +/* 80371EF0 B01E02C8 */ sth r0, 0x2c8(r30) +/* 80371EF4 48000010 */ b lbl_80371f04 +lbl_80371ef8: +/* 80371EF8 38000008 */ li r0, 0x8 +/* 80371EFC B01E02C8 */ sth r0, 0x2c8(r30) +/* 80371F00 939E02D8 */ stw r28, 0x2d8(r30) +lbl_80371f04: +/* 80371F04 7FC3F378 */ mr r3, r30 +/* 80371F08 4BFFE27D */ bl func_80370184 +/* 80371F0C 387E02E8 */ addi r3, r30, 0x2e8 +/* 80371F10 480006E9 */ bl func_803725f8 +/* 80371F14 38000001 */ li r0, 0x1 +/* 80371F18 900DCA9C */ stw r0, lbl_805c68bc@sda21(0) +/* 80371F1C 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 80371F20 2C000000 */ cmpwi r0, 0x0 +/* 80371F24 4182000C */ beq- lbl_80371f30 +/* 80371F28 38600000 */ li r3, 0x0 +/* 80371F2C 4BFFFBBD */ bl func_80371ae8 +lbl_80371f30: +/* 80371F30 7FA3EB78 */ mr r3, r29 +/* 80371F34 4BFFCBC9 */ bl func_8036eafc +/* 80371F38 80010024 */ lwz r0, 0x24(r1) +/* 80371F3C 83E1001C */ lwz r31, 0x1c(r1) +/* 80371F40 83C10018 */ lwz r30, 0x18(r1) +/* 80371F44 83A10014 */ lwz r29, 0x14(r1) +/* 80371F48 83810010 */ lwz r28, 0x10(r1) +/* 80371F4C 38210020 */ addi r1, r1, 0x20 +/* 80371F50 7C0803A6 */ mtlr r0 +/* 80371F54 4E800020 */ blr +.size func_80371e74, . - func_80371e74 + + +.global func_80371f58 +.type func_80371f58, @function +func_80371f58: +/* 80371F58 7C0802A6 */ mflr r0 +/* 80371F5C 90010004 */ stw r0, 4(r1) +/* 80371F60 9421FFE0 */ stwu r1, -0x20(r1) +/* 80371F64 93E1001C */ stw r31, 0x1c(r1) +/* 80371F68 93C10018 */ stw r30, 0x18(r1) +/* 80371F6C 7C7E1B78 */ mr r30, r3 +/* 80371F70 93A10014 */ stw r29, 0x14(r1) +/* 80371F74 4BFFCB61 */ bl func_8036ead4 +/* 80371F78 A01E02C8 */ lhz r0, 0x2c8(r30) +/* 80371F7C 3BE30000 */ addi r31, r3, 0x0 +/* 80371F80 2C000003 */ cmpwi r0, 0x3 +/* 80371F84 418200DC */ beq- lbl_80372060 +/* 80371F88 40800014 */ bge- lbl_80371f9c +/* 80371F8C 2C000001 */ cmpwi r0, 0x1 +/* 80371F90 41820018 */ beq- lbl_80371fa8 +/* 80371F94 4080002C */ bge- lbl_80371fc0 +/* 80371F98 480000C8 */ b lbl_80372060 +lbl_80371f9c: +/* 80371F9C 2C000005 */ cmpwi r0, 0x5 +/* 80371FA0 408000C0 */ bge- lbl_80372060 +/* 80371FA4 48000028 */ b lbl_80371fcc +lbl_80371fa8: +/* 80371FA8 801E02CC */ lwz r0, 0x2cc(r30) +/* 80371FAC 2C000000 */ cmpwi r0, 0x0 +/* 80371FB0 418100BC */ bgt- lbl_8037206c +/* 80371FB4 7FC3F378 */ mr r3, r30 +/* 80371FB8 4BFFF87D */ bl func_80371834 +/* 80371FBC 480000B0 */ b lbl_8037206c +lbl_80371fc0: +/* 80371FC0 38000001 */ li r0, 0x1 +/* 80371FC4 900DCA9C */ stw r0, lbl_805c68bc@sda21(0) +/* 80371FC8 480000A4 */ b lbl_8037206c +lbl_80371fcc: +/* 80371FCC 809E02E0 */ lwz r4, 0x2e0(r30) +/* 80371FD0 80BE02E4 */ lwz r5, 0x2e4(r30) +/* 80371FD4 28040000 */ cmplwi r4, 0 +/* 80371FD8 40820010 */ bne- lbl_80371fe8 +/* 80371FDC 807E02DC */ lwz r3, 0x2dc(r30) +/* 80371FE0 90A30004 */ stw r5, 4(r3) +/* 80371FE4 48000008 */ b lbl_80371fec +lbl_80371fe8: +/* 80371FE8 90A402E4 */ stw r5, 0x2e4(r4) +lbl_80371fec: +/* 80371FEC 28050000 */ cmplwi r5, 0 +/* 80371FF0 40820010 */ bne- lbl_80372000 +/* 80371FF4 807E02DC */ lwz r3, 0x2dc(r30) +/* 80371FF8 90830000 */ stw r4, 0(r3) +/* 80371FFC 48000008 */ b lbl_80372004 +lbl_80372000: +/* 80372000 908502E0 */ stw r4, 0x2e0(r5) +lbl_80372004: +/* 80372004 38000000 */ li r0, 0x0 +/* 80372008 901E02DC */ stw r0, 0x2dc(r30) +/* 8037200C 801E02CC */ lwz r0, 0x2cc(r30) +/* 80372010 2C000000 */ cmpwi r0, 0x0 +/* 80372014 41810058 */ bgt- lbl_8037206c +/* 80372018 807E02F0 */ lwz r3, 0x2f0(r30) +/* 8037201C 28030000 */ cmplwi r3, 0 +/* 80372020 4182004C */ beq- lbl_8037206c +/* 80372024 83A30008 */ lwz r29, 8(r3) +lbl_80372028: +/* 80372028 801D02CC */ lwz r0, 0x2cc(r29) +/* 8037202C 2C000000 */ cmpwi r0, 0x0 +/* 80372030 4181003C */ bgt- lbl_8037206c +/* 80372034 7FA3EB78 */ mr r3, r29 +/* 80372038 4BFFF865 */ bl func_8037189c +/* 8037203C 801D02D0 */ lwz r0, 0x2d0(r29) +/* 80372040 38830000 */ addi r4, r3, 0x0 +/* 80372044 7C002000 */ cmpw r0, r4 +/* 80372048 41820024 */ beq- lbl_8037206c +/* 8037204C 7FA3EB78 */ mr r3, r29 +/* 80372050 4BFFF889 */ bl func_803718d8 +/* 80372054 7C7D1B79 */ or. r29, r3, r3 +/* 80372058 4082FFD0 */ bne+ lbl_80372028 +/* 8037205C 48000010 */ b lbl_8037206c +lbl_80372060: +/* 80372060 7FE3FB78 */ mr r3, r31 +/* 80372064 4BFFCA99 */ bl func_8036eafc +/* 80372068 48000090 */ b lbl_803720f8 +lbl_8037206c: +/* 8037206C 7FC3F378 */ mr r3, r30 +/* 80372070 4BFFC1F1 */ bl func_8036e260 +/* 80372074 A01E02CA */ lhz r0, 0x2ca(r30) +/* 80372078 540007FF */ clrlwi. r0, r0, 0x1f +/* 8037207C 41820048 */ beq- lbl_803720c4 +/* 80372080 809E02FC */ lwz r4, 0x2fc(r30) +/* 80372084 80BE0300 */ lwz r5, 0x300(r30) +/* 80372088 28040000 */ cmplwi r4, 0 +/* 8037208C 40820010 */ bne- lbl_8037209c +/* 80372090 3C608000 */ lis r3, 0x8000 +/* 80372094 90A300E0 */ stw r5, 0xe0(r3) +/* 80372098 48000008 */ b lbl_803720a0 +lbl_8037209c: +/* 8037209C 90A40300 */ stw r5, 0x300(r4) +lbl_803720a0: +/* 803720A0 28050000 */ cmplwi r5, 0 +/* 803720A4 40820010 */ bne- lbl_803720b4 +/* 803720A8 3C608000 */ lis r3, 0x8000 +/* 803720AC 908300DC */ stw r4, 0xdc(r3) +/* 803720B0 48000008 */ b lbl_803720b8 +lbl_803720b4: +/* 803720B4 908502FC */ stw r4, 0x2fc(r5) +lbl_803720b8: +/* 803720B8 38000000 */ li r0, 0x0 +/* 803720BC B01E02C8 */ sth r0, 0x2c8(r30) +/* 803720C0 4800000C */ b lbl_803720cc +lbl_803720c4: +/* 803720C4 38000008 */ li r0, 0x8 +/* 803720C8 B01E02C8 */ sth r0, 0x2c8(r30) +lbl_803720cc: +/* 803720CC 7FC3F378 */ mr r3, r30 +/* 803720D0 4BFFE0B5 */ bl func_80370184 +/* 803720D4 387E02E8 */ addi r3, r30, 0x2e8 +/* 803720D8 48000521 */ bl func_803725f8 +/* 803720DC 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 803720E0 2C000000 */ cmpwi r0, 0x0 +/* 803720E4 4182000C */ beq- lbl_803720f0 +/* 803720E8 38600000 */ li r3, 0x0 +/* 803720EC 4BFFF9FD */ bl func_80371ae8 +lbl_803720f0: +/* 803720F0 7FE3FB78 */ mr r3, r31 +/* 803720F4 4BFFCA09 */ bl func_8036eafc +lbl_803720f8: +/* 803720F8 80010024 */ lwz r0, 0x24(r1) +/* 803720FC 83E1001C */ lwz r31, 0x1c(r1) +/* 80372100 83C10018 */ lwz r30, 0x18(r1) +/* 80372104 83A10014 */ lwz r29, 0x14(r1) +/* 80372108 38210020 */ addi r1, r1, 0x20 +/* 8037210C 7C0803A6 */ mtlr r0 +/* 80372110 4E800020 */ blr +.size func_80371f58, . - func_80371f58 + + +.global func_80372114 +.type func_80372114, @function +func_80372114: +/* 80372114 7C0802A6 */ mflr r0 +/* 80372118 90010004 */ stw r0, 4(r1) +/* 8037211C 9421FFD8 */ stwu r1, -0x28(r1) +/* 80372120 93E10024 */ stw r31, 0x24(r1) +/* 80372124 93C10020 */ stw r30, 0x20(r1) +/* 80372128 93A1001C */ stw r29, 0x1c(r1) +/* 8037212C 7C7D1B78 */ mr r29, r3 +/* 80372130 4BFFC9A5 */ bl func_8036ead4 +/* 80372134 809D02CC */ lwz r4, 0x2cc(r29) +/* 80372138 3BE30000 */ addi r31, r3, 0x0 +/* 8037213C 3804FFFF */ addi r0, r4, -0x1 +/* 80372140 901D02CC */ stw r0, 0x2cc(r29) +/* 80372144 7C9E2378 */ mr r30, r4 +/* 80372148 801D02CC */ lwz r0, 0x2cc(r29) +/* 8037214C 2C000000 */ cmpwi r0, 0x0 +/* 80372150 40800010 */ bge- lbl_80372160 +/* 80372154 38000000 */ li r0, 0x0 +/* 80372158 901D02CC */ stw r0, 0x2cc(r29) +/* 8037215C 48000218 */ b lbl_80372374 +lbl_80372160: +/* 80372160 40820214 */ bne- lbl_80372374 +/* 80372164 A01D02C8 */ lhz r0, 0x2c8(r29) +/* 80372168 2C000004 */ cmpwi r0, 0x4 +/* 8037216C 418200B8 */ beq- lbl_80372224 +/* 80372170 408001F0 */ bge- lbl_80372360 +/* 80372174 2C000001 */ cmpwi r0, 0x1 +/* 80372178 41820008 */ beq- lbl_80372180 +/* 8037217C 480001E4 */ b lbl_80372360 +lbl_80372180: +/* 80372180 801D02D4 */ lwz r0, 0x2d4(r29) +/* 80372184 807D02F4 */ lwz r3, 0x2f4(r29) +/* 80372188 48000024 */ b lbl_803721ac +lbl_8037218c: +/* 8037218C 80830000 */ lwz r4, 0(r3) +/* 80372190 28040000 */ cmplwi r4, 0 +/* 80372194 41820014 */ beq- lbl_803721a8 +/* 80372198 808402D0 */ lwz r4, 0x2d0(r4) +/* 8037219C 7C040000 */ cmpw r4, r0 +/* 803721A0 40800008 */ bge- lbl_803721a8 +/* 803721A4 7C802378 */ mr r0, r4 +lbl_803721a8: +/* 803721A8 80630010 */ lwz r3, 0x10(r3) +lbl_803721ac: +/* 803721AC 28030000 */ cmplwi r3, 0 +/* 803721B0 4082FFDC */ bne+ lbl_8037218c +/* 803721B4 901D02D0 */ stw r0, 0x2d0(r29) +/* 803721B8 3C608054 */ lis r3, lbl_8053ecf8@ha +/* 803721BC 3803ECF8 */ addi r0, r3, lbl_8053ecf8@l +/* 803721C0 807D02D0 */ lwz r3, 0x2d0(r29) +/* 803721C4 54631838 */ slwi r3, r3, 3 +/* 803721C8 7C001A14 */ add r0, r0, r3 +/* 803721CC 901D02DC */ stw r0, 0x2dc(r29) +/* 803721D0 809D02DC */ lwz r4, 0x2dc(r29) +/* 803721D4 80640004 */ lwz r3, 4(r4) +/* 803721D8 28030000 */ cmplwi r3, 0 +/* 803721DC 4082000C */ bne- lbl_803721e8 +/* 803721E0 93A40000 */ stw r29, 0(r4) +/* 803721E4 48000008 */ b lbl_803721ec +lbl_803721e8: +/* 803721E8 93A302E0 */ stw r29, 0x2e0(r3) +lbl_803721ec: +/* 803721EC 907D02E4 */ stw r3, 0x2e4(r29) +/* 803721F0 38000000 */ li r0, 0x0 +/* 803721F4 38600001 */ li r3, 0x1 +/* 803721F8 901D02E0 */ stw r0, 0x2e0(r29) +/* 803721FC 809D02DC */ lwz r4, 0x2dc(r29) +/* 80372200 93A40004 */ stw r29, 4(r4) +/* 80372204 801D02D0 */ lwz r0, 0x2d0(r29) +/* 80372208 808DCA98 */ lwz r4, lbl_805c68b8@sda21(0) +/* 8037220C 2000001F */ subfic r0, r0, 0x1f +/* 80372210 7C600030 */ slw r0, r3, r0 +/* 80372214 7C800378 */ or r0, r4, r0 +/* 80372218 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +/* 8037221C 906DCA9C */ stw r3, lbl_805c68bc@sda21(0) +/* 80372220 48000140 */ b lbl_80372360 +lbl_80372224: +/* 80372224 809D02E0 */ lwz r4, 0x2e0(r29) +/* 80372228 80BD02E4 */ lwz r5, 0x2e4(r29) +/* 8037222C 28040000 */ cmplwi r4, 0 +/* 80372230 40820010 */ bne- lbl_80372240 +/* 80372234 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372238 90A30004 */ stw r5, 4(r3) +/* 8037223C 48000008 */ b lbl_80372244 +lbl_80372240: +/* 80372240 90A402E4 */ stw r5, 0x2e4(r4) +lbl_80372244: +/* 80372244 28050000 */ cmplwi r5, 0 +/* 80372248 40820010 */ bne- lbl_80372258 +/* 8037224C 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372250 90830000 */ stw r4, 0(r3) +/* 80372254 48000008 */ b lbl_8037225c +lbl_80372258: +/* 80372258 908502E0 */ stw r4, 0x2e0(r5) +lbl_8037225c: +/* 8037225C 801D02D4 */ lwz r0, 0x2d4(r29) +/* 80372260 807D02F4 */ lwz r3, 0x2f4(r29) +/* 80372264 48000024 */ b lbl_80372288 +lbl_80372268: +/* 80372268 80830000 */ lwz r4, 0(r3) +/* 8037226C 28040000 */ cmplwi r4, 0 +/* 80372270 41820014 */ beq- lbl_80372284 +/* 80372274 808402D0 */ lwz r4, 0x2d0(r4) +/* 80372278 7C040000 */ cmpw r4, r0 +/* 8037227C 40800008 */ bge- lbl_80372284 +/* 80372280 7C802378 */ mr r0, r4 +lbl_80372284: +/* 80372284 80630010 */ lwz r3, 0x10(r3) +lbl_80372288: +/* 80372288 28030000 */ cmplwi r3, 0 +/* 8037228C 4082FFDC */ bne+ lbl_80372268 +/* 80372290 901D02D0 */ stw r0, 0x2d0(r29) +/* 80372294 809D02DC */ lwz r4, 0x2dc(r29) +/* 80372298 80A40000 */ lwz r5, 0(r4) +/* 8037229C 48000008 */ b lbl_803722a4 +lbl_803722a0: +/* 803722A0 80A502E0 */ lwz r5, 0x2e0(r5) +lbl_803722a4: +/* 803722A4 28050000 */ cmplwi r5, 0 +/* 803722A8 41820014 */ beq- lbl_803722bc +/* 803722AC 806502D0 */ lwz r3, 0x2d0(r5) +/* 803722B0 801D02D0 */ lwz r0, 0x2d0(r29) +/* 803722B4 7C030000 */ cmpw r3, r0 +/* 803722B8 4081FFE8 */ ble+ lbl_803722a0 +lbl_803722bc: +/* 803722BC 28050000 */ cmplwi r5, 0 +/* 803722C0 40820034 */ bne- lbl_803722f4 +/* 803722C4 80640004 */ lwz r3, 4(r4) +/* 803722C8 28030000 */ cmplwi r3, 0 +/* 803722CC 4082000C */ bne- lbl_803722d8 +/* 803722D0 93A40000 */ stw r29, 0(r4) +/* 803722D4 48000008 */ b lbl_803722dc +lbl_803722d8: +/* 803722D8 93A302E0 */ stw r29, 0x2e0(r3) +lbl_803722dc: +/* 803722DC 907D02E4 */ stw r3, 0x2e4(r29) +/* 803722E0 38000000 */ li r0, 0x0 +/* 803722E4 901D02E0 */ stw r0, 0x2e0(r29) +/* 803722E8 807D02DC */ lwz r3, 0x2dc(r29) +/* 803722EC 93A30004 */ stw r29, 4(r3) +/* 803722F0 4800002C */ b lbl_8037231c +lbl_803722f4: +/* 803722F4 90BD02E0 */ stw r5, 0x2e0(r29) +/* 803722F8 806502E4 */ lwz r3, 0x2e4(r5) +/* 803722FC 93A502E4 */ stw r29, 0x2e4(r5) +/* 80372300 28030000 */ cmplwi r3, 0 +/* 80372304 907D02E4 */ stw r3, 0x2e4(r29) +/* 80372308 40820010 */ bne- lbl_80372318 +/* 8037230C 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372310 93A30000 */ stw r29, 0(r3) +/* 80372314 48000008 */ b lbl_8037231c +lbl_80372318: +/* 80372318 93A302E0 */ stw r29, 0x2e0(r3) +lbl_8037231c: +/* 8037231C 807D02F0 */ lwz r3, 0x2f0(r29) +/* 80372320 28030000 */ cmplwi r3, 0 +/* 80372324 4182003C */ beq- lbl_80372360 +/* 80372328 83A30008 */ lwz r29, 8(r3) +lbl_8037232c: +/* 8037232C 801D02CC */ lwz r0, 0x2cc(r29) +/* 80372330 2C000000 */ cmpwi r0, 0x0 +/* 80372334 4181002C */ bgt- lbl_80372360 +/* 80372338 7FA3EB78 */ mr r3, r29 +/* 8037233C 4BFFF561 */ bl func_8037189c +/* 80372340 801D02D0 */ lwz r0, 0x2d0(r29) +/* 80372344 38830000 */ addi r4, r3, 0x0 +/* 80372348 7C002000 */ cmpw r0, r4 +/* 8037234C 41820014 */ beq- lbl_80372360 +/* 80372350 7FA3EB78 */ mr r3, r29 +/* 80372354 4BFFF585 */ bl func_803718d8 +/* 80372358 7C7D1B79 */ or. r29, r3, r3 +/* 8037235C 4082FFD0 */ bne+ lbl_8037232c +lbl_80372360: +/* 80372360 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 80372364 2C000000 */ cmpwi r0, 0x0 +/* 80372368 4182000C */ beq- lbl_80372374 +/* 8037236C 38600000 */ li r3, 0x0 +/* 80372370 4BFFF779 */ bl func_80371ae8 +lbl_80372374: +/* 80372374 7FE3FB78 */ mr r3, r31 +/* 80372378 4BFFC785 */ bl func_8036eafc +/* 8037237C 7FC3F378 */ mr r3, r30 +/* 80372380 8001002C */ lwz r0, 0x2c(r1) +/* 80372384 83E10024 */ lwz r31, 0x24(r1) +/* 80372388 83C10020 */ lwz r30, 0x20(r1) +/* 8037238C 83A1001C */ lwz r29, 0x1c(r1) +/* 80372390 38210028 */ addi r1, r1, 0x28 +/* 80372394 7C0803A6 */ mtlr r0 +/* 80372398 4E800020 */ blr +.size func_80372114, . - func_80372114 + + +.global func_8037239c +.type func_8037239c, @function +func_8037239c: +/* 8037239C 7C0802A6 */ mflr r0 +/* 803723A0 90010004 */ stw r0, 4(r1) +/* 803723A4 9421FFE0 */ stwu r1, -0x20(r1) +/* 803723A8 93E1001C */ stw r31, 0x1c(r1) +/* 803723AC 93C10018 */ stw r30, 0x18(r1) +/* 803723B0 93A10014 */ stw r29, 0x14(r1) +/* 803723B4 7C7D1B78 */ mr r29, r3 +/* 803723B8 4BFFC71D */ bl func_8036ead4 +/* 803723BC 809D02CC */ lwz r4, 0x2cc(r29) +/* 803723C0 3BE30000 */ addi r31, r3, 0x0 +/* 803723C4 38040001 */ addi r0, r4, 0x1 +/* 803723C8 7C9E2379 */ or. r30, r4, r4 +/* 803723CC 901D02CC */ stw r0, 0x2cc(r29) +/* 803723D0 40820114 */ bne- lbl_803724e4 +/* 803723D4 A01D02C8 */ lhz r0, 0x2c8(r29) +/* 803723D8 2C000003 */ cmpwi r0, 0x3 +/* 803723DC 418200F4 */ beq- lbl_803724d0 +/* 803723E0 40800014 */ bge- lbl_803723f4 +/* 803723E4 2C000001 */ cmpwi r0, 0x1 +/* 803723E8 41820028 */ beq- lbl_80372410 +/* 803723EC 40800014 */ bge- lbl_80372400 +/* 803723F0 480000E0 */ b lbl_803724d0 +lbl_803723f4: +/* 803723F4 2C000005 */ cmpwi r0, 0x5 +/* 803723F8 408000D8 */ bge- lbl_803724d0 +/* 803723FC 48000020 */ b lbl_8037241c +lbl_80372400: +/* 80372400 38000001 */ li r0, 0x1 +/* 80372404 900DCA9C */ stw r0, lbl_805c68bc@sda21(0) +/* 80372408 B01D02C8 */ sth r0, 0x2c8(r29) +/* 8037240C 480000C4 */ b lbl_803724d0 +lbl_80372410: +/* 80372410 7FA3EB78 */ mr r3, r29 +/* 80372414 4BFFF421 */ bl func_80371834 +/* 80372418 480000B8 */ b lbl_803724d0 +lbl_8037241c: +/* 8037241C 809D02E0 */ lwz r4, 0x2e0(r29) +/* 80372420 80BD02E4 */ lwz r5, 0x2e4(r29) +/* 80372424 28040000 */ cmplwi r4, 0 +/* 80372428 40820010 */ bne- lbl_80372438 +/* 8037242C 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372430 90A30004 */ stw r5, 4(r3) +/* 80372434 48000008 */ b lbl_8037243c +lbl_80372438: +/* 80372438 90A402E4 */ stw r5, 0x2e4(r4) +lbl_8037243c: +/* 8037243C 28050000 */ cmplwi r5, 0 +/* 80372440 40820010 */ bne- lbl_80372450 +/* 80372444 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372448 90830000 */ stw r4, 0(r3) +/* 8037244C 48000008 */ b lbl_80372454 +lbl_80372450: +/* 80372450 908502E0 */ stw r4, 0x2e0(r5) +lbl_80372454: +/* 80372454 38000020 */ li r0, 0x20 +/* 80372458 901D02D0 */ stw r0, 0x2d0(r29) +/* 8037245C 809D02DC */ lwz r4, 0x2dc(r29) +/* 80372460 80640004 */ lwz r3, 4(r4) +/* 80372464 28030000 */ cmplwi r3, 0 +/* 80372468 4082000C */ bne- lbl_80372474 +/* 8037246C 93A40000 */ stw r29, 0(r4) +/* 80372470 48000008 */ b lbl_80372478 +lbl_80372474: +/* 80372474 93A302E0 */ stw r29, 0x2e0(r3) +lbl_80372478: +/* 80372478 907D02E4 */ stw r3, 0x2e4(r29) +/* 8037247C 38000000 */ li r0, 0x0 +/* 80372480 901D02E0 */ stw r0, 0x2e0(r29) +/* 80372484 807D02DC */ lwz r3, 0x2dc(r29) +/* 80372488 93A30004 */ stw r29, 4(r3) +/* 8037248C 807D02F0 */ lwz r3, 0x2f0(r29) +/* 80372490 28030000 */ cmplwi r3, 0 +/* 80372494 4182003C */ beq- lbl_803724d0 +/* 80372498 83A30008 */ lwz r29, 8(r3) +lbl_8037249c: +/* 8037249C 801D02CC */ lwz r0, 0x2cc(r29) +/* 803724A0 2C000000 */ cmpwi r0, 0x0 +/* 803724A4 4181002C */ bgt- lbl_803724d0 +/* 803724A8 7FA3EB78 */ mr r3, r29 +/* 803724AC 4BFFF3F1 */ bl func_8037189c +/* 803724B0 801D02D0 */ lwz r0, 0x2d0(r29) +/* 803724B4 38830000 */ addi r4, r3, 0x0 +/* 803724B8 7C002000 */ cmpw r0, r4 +/* 803724BC 41820014 */ beq- lbl_803724d0 +/* 803724C0 7FA3EB78 */ mr r3, r29 +/* 803724C4 4BFFF415 */ bl func_803718d8 +/* 803724C8 7C7D1B79 */ or. r29, r3, r3 +/* 803724CC 4082FFD0 */ bne+ lbl_8037249c +lbl_803724d0: +/* 803724D0 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 803724D4 2C000000 */ cmpwi r0, 0x0 +/* 803724D8 4182000C */ beq- lbl_803724e4 +/* 803724DC 38600000 */ li r3, 0x0 +/* 803724E0 4BFFF609 */ bl func_80371ae8 +lbl_803724e4: +/* 803724E4 7FE3FB78 */ mr r3, r31 +/* 803724E8 4BFFC615 */ bl func_8036eafc +/* 803724EC 7FC3F378 */ mr r3, r30 +/* 803724F0 80010024 */ lwz r0, 0x24(r1) +/* 803724F4 83E1001C */ lwz r31, 0x1c(r1) +/* 803724F8 83C10018 */ lwz r30, 0x18(r1) +/* 803724FC 83A10014 */ lwz r29, 0x14(r1) +/* 80372500 38210020 */ addi r1, r1, 0x20 +/* 80372504 7C0803A6 */ mtlr r0 +/* 80372508 4E800020 */ blr +.size func_8037239c, . - func_8037239c + + +.global func_8037250c +.type func_8037250c, @function +func_8037250c: +/* 8037250C 7C0802A6 */ mflr r0 +/* 80372510 90010004 */ stw r0, 4(r1) +/* 80372514 9421FFE8 */ stwu r1, -0x18(r1) +/* 80372518 93E10014 */ stw r31, 0x14(r1) +/* 8037251C 93C10010 */ stw r30, 0x10(r1) +/* 80372520 7C7E1B78 */ mr r30, r3 +/* 80372524 4BFFC5B1 */ bl func_8036ead4 +/* 80372528 3C808000 */ lis r4, 0x8000 +/* 8037252C 808400E4 */ lwz r4, 0xe4(r4) +/* 80372530 38000004 */ li r0, 0x4 +/* 80372534 7C7F1B78 */ mr r31, r3 +/* 80372538 B00402C8 */ sth r0, 0x2c8(r4) +/* 8037253C 93C402DC */ stw r30, 0x2dc(r4) +/* 80372540 80BE0000 */ lwz r5, 0(r30) +/* 80372544 48000008 */ b lbl_8037254c +lbl_80372548: +/* 80372548 80A502E0 */ lwz r5, 0x2e0(r5) +lbl_8037254c: +/* 8037254C 28050000 */ cmplwi r5, 0 +/* 80372550 41820014 */ beq- lbl_80372564 +/* 80372554 806502D0 */ lwz r3, 0x2d0(r5) +/* 80372558 800402D0 */ lwz r0, 0x2d0(r4) +/* 8037255C 7C030000 */ cmpw r3, r0 +/* 80372560 4081FFE8 */ ble+ lbl_80372548 +lbl_80372564: +/* 80372564 28050000 */ cmplwi r5, 0 +/* 80372568 40820030 */ bne- lbl_80372598 +/* 8037256C 807E0004 */ lwz r3, 4(r30) +/* 80372570 28030000 */ cmplwi r3, 0 +/* 80372574 4082000C */ bne- lbl_80372580 +/* 80372578 909E0000 */ stw r4, 0(r30) +/* 8037257C 48000008 */ b lbl_80372584 +lbl_80372580: +/* 80372580 908302E0 */ stw r4, 0x2e0(r3) +lbl_80372584: +/* 80372584 906402E4 */ stw r3, 0x2e4(r4) +/* 80372588 38000000 */ li r0, 0x0 +/* 8037258C 900402E0 */ stw r0, 0x2e0(r4) +/* 80372590 909E0004 */ stw r4, 4(r30) +/* 80372594 48000028 */ b lbl_803725bc +lbl_80372598: +/* 80372598 90A402E0 */ stw r5, 0x2e0(r4) +/* 8037259C 806502E4 */ lwz r3, 0x2e4(r5) +/* 803725A0 908502E4 */ stw r4, 0x2e4(r5) +/* 803725A4 28030000 */ cmplwi r3, 0 +/* 803725A8 906402E4 */ stw r3, 0x2e4(r4) +/* 803725AC 4082000C */ bne- lbl_803725b8 +/* 803725B0 909E0000 */ stw r4, 0(r30) +/* 803725B4 48000008 */ b lbl_803725bc +lbl_803725b8: +/* 803725B8 908302E0 */ stw r4, 0x2e0(r3) +lbl_803725bc: +/* 803725BC 38000001 */ li r0, 0x1 +/* 803725C0 900DCA9C */ stw r0, lbl_805c68bc@sda21(0) +/* 803725C4 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 803725C8 2C000000 */ cmpwi r0, 0x0 +/* 803725CC 4182000C */ beq- lbl_803725d8 +/* 803725D0 38600000 */ li r3, 0x0 +/* 803725D4 4BFFF515 */ bl func_80371ae8 +lbl_803725d8: +/* 803725D8 7FE3FB78 */ mr r3, r31 +/* 803725DC 4BFFC521 */ bl func_8036eafc +/* 803725E0 8001001C */ lwz r0, 0x1c(r1) +/* 803725E4 83E10014 */ lwz r31, 0x14(r1) +/* 803725E8 83C10010 */ lwz r30, 0x10(r1) +/* 803725EC 38210018 */ addi r1, r1, 0x18 +/* 803725F0 7C0803A6 */ mtlr r0 +/* 803725F4 4E800020 */ blr +.size func_8037250c, . - func_8037250c + + +.global func_803725f8 +.type func_803725f8, @function +func_803725f8: +/* 803725F8 7C0802A6 */ mflr r0 +/* 803725FC 90010004 */ stw r0, 4(r1) +/* 80372600 9421FFE8 */ stwu r1, -0x18(r1) +/* 80372604 93E10014 */ stw r31, 0x14(r1) +/* 80372608 93C10010 */ stw r30, 0x10(r1) +/* 8037260C 7C7E1B78 */ mr r30, r3 +/* 80372610 4BFFC4C5 */ bl func_8036ead4 +/* 80372614 3C808054 */ lis r4, lbl_8053ecf8@ha +/* 80372618 3BE30000 */ addi r31, r3, 0x0 +/* 8037261C 38A4ECF8 */ addi r5, r4, lbl_8053ecf8@l +/* 80372620 4800009C */ b lbl_803726bc +lbl_80372624: +/* 80372624 806602E0 */ lwz r3, 0x2e0(r6) +/* 80372628 28030000 */ cmplwi r3, 0 +/* 8037262C 40820010 */ bne- lbl_8037263c +/* 80372630 38000000 */ li r0, 0x0 +/* 80372634 901E0004 */ stw r0, 4(r30) +/* 80372638 4800000C */ b lbl_80372644 +lbl_8037263c: +/* 8037263C 38000000 */ li r0, 0x0 +/* 80372640 900302E4 */ stw r0, 0x2e4(r3) +lbl_80372644: +/* 80372644 907E0000 */ stw r3, 0(r30) +/* 80372648 38000001 */ li r0, 0x1 +/* 8037264C B00602C8 */ sth r0, 0x2c8(r6) +/* 80372650 800602CC */ lwz r0, 0x2cc(r6) +/* 80372654 2C000000 */ cmpwi r0, 0x0 +/* 80372658 41810064 */ bgt- lbl_803726bc +/* 8037265C 800602D0 */ lwz r0, 0x2d0(r6) +/* 80372660 54001838 */ slwi r0, r0, 3 +/* 80372664 7C050214 */ add r0, r5, r0 +/* 80372668 900602DC */ stw r0, 0x2dc(r6) +/* 8037266C 808602DC */ lwz r4, 0x2dc(r6) +/* 80372670 80640004 */ lwz r3, 4(r4) +/* 80372674 28030000 */ cmplwi r3, 0 +/* 80372678 4082000C */ bne- lbl_80372684 +/* 8037267C 90C40000 */ stw r6, 0(r4) +/* 80372680 48000008 */ b lbl_80372688 +lbl_80372684: +/* 80372684 90C302E0 */ stw r6, 0x2e0(r3) +lbl_80372688: +/* 80372688 906602E4 */ stw r3, 0x2e4(r6) +/* 8037268C 38000000 */ li r0, 0x0 +/* 80372690 38600001 */ li r3, 0x1 +/* 80372694 900602E0 */ stw r0, 0x2e0(r6) +/* 80372698 808602DC */ lwz r4, 0x2dc(r6) +/* 8037269C 90C40004 */ stw r6, 4(r4) +/* 803726A0 800602D0 */ lwz r0, 0x2d0(r6) +/* 803726A4 808DCA98 */ lwz r4, lbl_805c68b8@sda21(0) +/* 803726A8 2000001F */ subfic r0, r0, 0x1f +/* 803726AC 7C600030 */ slw r0, r3, r0 +/* 803726B0 7C800378 */ or r0, r4, r0 +/* 803726B4 900DCA98 */ stw r0, lbl_805c68b8@sda21(0) +/* 803726B8 906DCA9C */ stw r3, lbl_805c68bc@sda21(0) +lbl_803726bc: +/* 803726BC 80DE0000 */ lwz r6, 0(r30) +/* 803726C0 28060000 */ cmplwi r6, 0 +/* 803726C4 4082FF60 */ bne+ lbl_80372624 +/* 803726C8 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 803726CC 2C000000 */ cmpwi r0, 0x0 +/* 803726D0 4182000C */ beq- lbl_803726dc +/* 803726D4 38600000 */ li r3, 0x0 +/* 803726D8 4BFFF411 */ bl func_80371ae8 +lbl_803726dc: +/* 803726DC 7FE3FB78 */ mr r3, r31 +/* 803726E0 4BFFC41D */ bl func_8036eafc +/* 803726E4 8001001C */ lwz r0, 0x1c(r1) +/* 803726E8 83E10014 */ lwz r31, 0x14(r1) +/* 803726EC 83C10010 */ lwz r30, 0x10(r1) +/* 803726F0 38210018 */ addi r1, r1, 0x18 +/* 803726F4 7C0803A6 */ mtlr r0 +/* 803726F8 4E800020 */ blr +.size func_803725f8, . - func_803725f8 + + +.global func_803726fc +.type func_803726fc, @function +func_803726fc: +/* 803726FC 7C0802A6 */ mflr r0 +/* 80372700 90010004 */ stw r0, 4(r1) +/* 80372704 9421FFE0 */ stwu r1, -0x20(r1) +/* 80372708 93E1001C */ stw r31, 0x1c(r1) +/* 8037270C 7C9F2379 */ or. r31, r4, r4 +/* 80372710 93C10018 */ stw r30, 0x18(r1) +/* 80372714 93A10014 */ stw r29, 0x14(r1) +/* 80372718 3BA30000 */ addi r29, r3, 0x0 +/* 8037271C 4180000C */ blt- lbl_80372728 +/* 80372720 2C1F001F */ cmpwi r31, 0x1f +/* 80372724 4081000C */ ble- lbl_80372730 +lbl_80372728: +/* 80372728 38600000 */ li r3, 0x0 +/* 8037272C 48000074 */ b lbl_803727a0 +lbl_80372730: +/* 80372730 4BFFC3A5 */ bl func_8036ead4 +/* 80372734 801D02D4 */ lwz r0, 0x2d4(r29) +/* 80372738 3BC30000 */ addi r30, r3, 0x0 +/* 8037273C 7C00F800 */ cmpw r0, r31 +/* 80372740 41820054 */ beq- lbl_80372794 +/* 80372744 93FD02D4 */ stw r31, 0x2d4(r29) +/* 80372748 7FBFEB78 */ mr r31, r29 +lbl_8037274c: +/* 8037274C 801F02CC */ lwz r0, 0x2cc(r31) +/* 80372750 2C000000 */ cmpwi r0, 0x0 +/* 80372754 4181002C */ bgt- lbl_80372780 +/* 80372758 7FE3FB78 */ mr r3, r31 +/* 8037275C 4BFFF141 */ bl func_8037189c +/* 80372760 801F02D0 */ lwz r0, 0x2d0(r31) +/* 80372764 38830000 */ addi r4, r3, 0x0 +/* 80372768 7C002000 */ cmpw r0, r4 +/* 8037276C 41820014 */ beq- lbl_80372780 +/* 80372770 7FE3FB78 */ mr r3, r31 +/* 80372774 4BFFF165 */ bl func_803718d8 +/* 80372778 7C7F1B79 */ or. r31, r3, r3 +/* 8037277C 4082FFD0 */ bne+ lbl_8037274c +lbl_80372780: +/* 80372780 800DCA9C */ lwz r0, lbl_805c68bc@sda21(0) +/* 80372784 2C000000 */ cmpwi r0, 0x0 +/* 80372788 4182000C */ beq- lbl_80372794 +/* 8037278C 38600000 */ li r3, 0x0 +/* 80372790 4BFFF359 */ bl func_80371ae8 +lbl_80372794: +/* 80372794 7FC3F378 */ mr r3, r30 +/* 80372798 4BFFC365 */ bl func_8036eafc +/* 8037279C 38600001 */ li r3, 0x1 +lbl_803727a0: +/* 803727A0 80010024 */ lwz r0, 0x24(r1) +/* 803727A4 83E1001C */ lwz r31, 0x1c(r1) +/* 803727A8 83C10018 */ lwz r30, 0x18(r1) +/* 803727AC 83A10014 */ lwz r29, 0x14(r1) +/* 803727B0 38210020 */ addi r1, r1, 0x20 +/* 803727B4 7C0803A6 */ mtlr r0 +/* 803727B8 4E800020 */ blr +.size func_803726fc, . - func_803726fc + + +.global func_803727bc +.type func_803727bc, @function +func_803727bc: +/* 803727BC 806302D4 */ lwz r3, 0x2d4(r3) +/* 803727C0 4E800020 */ blr +.size func_803727bc, . - func_803727bc + -- cgit v1.2.3-13-gbd6f