diff options
Diffstat (limited to 'asm/code_800478C0.s')
-rw-r--r-- | asm/code_800478C0.s | 1071 |
1 files changed, 1071 insertions, 0 deletions
diff --git a/asm/code_800478C0.s b/asm/code_800478C0.s new file mode 100644 index 0000000..294952e --- /dev/null +++ b/asm/code_800478C0.s @@ -0,0 +1,1071 @@ +.include "macros.inc"
+
+.section .text, "ax" # 0x80006980 - 0x803E1E60
+
+lbl_800478C0:
+/* 800478C0 00043520 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 800478C4 00043524 38 00 00 00 */ li r0, 0
+/* 800478C8 00043528 90 03 00 00 */ stw r0, 0(r3)
+/* 800478CC 0004352C 90 03 00 04 */ stw r0, 4(r3)
+/* 800478D0 00043530 90 03 00 08 */ stw r0, 8(r3)
+/* 800478D4 00043534 90 03 00 0C */ stw r0, 0xc(r3)
+/* 800478D8 00043538 90 03 00 10 */ stw r0, 0x10(r3)
+/* 800478DC 0004353C D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 800478E0 00043540 4E 80 00 20 */ blr
+
+.global lbl_800478E4
+lbl_800478E4:
+/* 800478E4 00043544 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 800478E8 00043548 38 00 00 00 */ li r0, 0
+/* 800478EC 0004354C 90 03 00 00 */ stw r0, 0(r3)
+/* 800478F0 00043550 90 03 00 2C */ stw r0, 0x2c(r3)
+/* 800478F4 00043554 90 03 00 30 */ stw r0, 0x30(r3)
+/* 800478F8 00043558 90 03 00 20 */ stw r0, 0x20(r3)
+/* 800478FC 0004355C D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 80047900 00043560 D0 03 00 0C */ stfs f0, 0xc(r3)
+/* 80047904 00043564 4E 80 00 20 */ blr
+
+.global lbl_80047908
+lbl_80047908:
+/* 80047908 00043568 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8004790C 0004356C 7C 08 02 A6 */ mflr r0
+/* 80047910 00043570 2C 03 00 00 */ cmpwi r3, 0
+/* 80047914 00043574 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80047918 00043578 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8004791C 0004357C 7C 9F 23 78 */ mr r31, r4
+/* 80047920 00043580 93 C1 00 08 */ stw r30, 8(r1)
+/* 80047924 00043584 7C 7E 1B 78 */ mr r30, r3
+/* 80047928 00043588 41 82 00 18 */ beq lbl_80047940
+/* 8004792C 0004358C 48 00 01 7D */ bl func_80047AA8
+/* 80047930 00043590 2C 1F 00 00 */ cmpwi r31, 0
+/* 80047934 00043594 40 81 00 0C */ ble lbl_80047940
+/* 80047938 00043598 7F C3 F3 78 */ mr r3, r30
+/* 8004793C 0004359C 48 19 31 7D */ bl func_801DAAB8
+lbl_80047940:
+/* 80047940 000435A0 7F C3 F3 78 */ mr r3, r30
+/* 80047944 000435A4 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80047948 000435A8 83 C1 00 08 */ lwz r30, 8(r1)
+/* 8004794C 000435AC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80047950 000435B0 7C 08 03 A6 */ mtlr r0
+/* 80047954 000435B4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80047958 000435B8 4E 80 00 20 */ blr
+
+.global func_8004795C
+func_8004795C:
+/* 8004795C 000435BC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80047960 000435C0 7C 08 02 A6 */ mflr r0
+/* 80047964 000435C4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80047968 000435C8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 8004796C 000435CC 7C 9F 23 78 */ mr r31, r4
+/* 80047970 000435D0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80047974 000435D4 7C 7E 1B 78 */ mr r30, r3
+/* 80047978 000435D8 48 00 01 31 */ bl func_80047AA8
+/* 8004797C 000435DC 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80047980 000435E0 93 FE 00 24 */ stw r31, 0x24(r30)
+/* 80047984 000435E4 60 00 00 01 */ ori r0, r0, 1
+/* 80047988 000435E8 90 1E 00 00 */ stw r0, 0(r30)
+/* 8004798C 000435EC 80 7F 00 94 */ lwz r3, 0x94(r31)
+/* 80047990 000435F0 2C 03 00 00 */ cmpwi r3, 0
+/* 80047994 000435F4 41 82 00 0C */ beq lbl_800479A0
+/* 80047998 000435F8 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 8004799C 000435FC 48 00 00 08 */ b lbl_800479A4
+lbl_800479A0:
+/* 800479A0 00043600 38 00 00 00 */ li r0, 0
+lbl_800479A4:
+/* 800479A4 00043604 90 1E 00 04 */ stw r0, 4(r30)
+/* 800479A8 00043608 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 800479AC 0004360C 80 63 00 94 */ lwz r3, 0x94(r3)
+/* 800479B0 00043610 2C 03 00 00 */ cmpwi r3, 0
+/* 800479B4 00043614 41 82 00 0C */ beq lbl_800479C0
+/* 800479B8 00043618 80 03 00 14 */ lwz r0, 0x14(r3)
+/* 800479BC 0004361C 48 00 00 08 */ b lbl_800479C4
+lbl_800479C0:
+/* 800479C0 00043620 38 00 00 00 */ li r0, 0
+lbl_800479C4:
+/* 800479C4 00043624 83 FE 00 04 */ lwz r31, 4(r30)
+/* 800479C8 00043628 90 1E 00 08 */ stw r0, 8(r30)
+/* 800479CC 0004362C 1C 7F 00 24 */ mulli r3, r31, 0x24
+/* 800479D0 00043630 38 63 00 10 */ addi r3, r3, 0x10
+/* 800479D4 00043634 48 19 30 A1 */ bl func_801DAA74
+/* 800479D8 00043638 3C 80 80 04 */ lis r4, lbl_800478C0@ha
+/* 800479DC 0004363C 7F E7 FB 78 */ mr r7, r31
+/* 800479E0 00043640 38 84 78 C0 */ addi r4, r4, lbl_800478C0@l
+/* 800479E4 00043644 38 A0 00 00 */ li r5, 0
+/* 800479E8 00043648 38 C0 00 24 */ li r6, 0x24
+/* 800479EC 0004364C 48 17 F2 BD */ bl __construct_new_array
+/* 800479F0 00043650 80 1E 00 08 */ lwz r0, 8(r30)
+/* 800479F4 00043654 90 7E 00 2C */ stw r3, 0x2c(r30)
+/* 800479F8 00043658 54 03 10 3A */ slwi r3, r0, 2
+/* 800479FC 0004365C 48 19 30 79 */ bl func_801DAA74
+/* 80047A00 00043660 90 7E 00 30 */ stw r3, 0x30(r30)
+/* 80047A04 00043664 38 C0 00 00 */ li r6, 0
+/* 80047A08 00043668 38 A0 00 00 */ li r5, 0
+/* 80047A0C 0004366C 38 80 00 00 */ li r4, 0
+/* 80047A10 00043670 48 00 00 14 */ b lbl_80047A24
+lbl_80047A14:
+/* 80047A14 00043674 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 80047A18 00043678 38 C6 00 01 */ addi r6, r6, 1
+/* 80047A1C 0004367C 7C 83 29 2E */ stwx r4, r3, r5
+/* 80047A20 00043680 38 A5 00 04 */ addi r5, r5, 4
+lbl_80047A24:
+/* 80047A24 00043684 80 1E 00 08 */ lwz r0, 8(r30)
+/* 80047A28 00043688 7C 06 00 40 */ cmplw r6, r0
+/* 80047A2C 0004368C 41 80 FF E8 */ blt lbl_80047A14
+/* 80047A30 00043690 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80047A34 00043694 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80047A38 00043698 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80047A3C 0004369C 7C 08 03 A6 */ mtlr r0
+/* 80047A40 000436A0 38 21 00 10 */ addi r1, r1, 0x10
+/* 80047A44 000436A4 4E 80 00 20 */ blr
+
+.global func_80047A48
+func_80047A48:
+/* 80047A48 000436A8 80 03 00 08 */ lwz r0, 8(r3)
+/* 80047A4C 000436AC 39 00 00 00 */ li r8, 0
+/* 80047A50 000436B0 38 C0 00 00 */ li r6, 0
+/* 80047A54 000436B4 7C 09 03 A6 */ mtctr r0
+/* 80047A58 000436B8 28 00 00 00 */ cmplwi r0, 0
+/* 80047A5C 000436BC 40 81 00 44 */ ble lbl_80047AA0
+lbl_80047A60:
+/* 80047A60 000436C0 80 E3 00 30 */ lwz r7, 0x30(r3)
+/* 80047A64 000436C4 7C A7 30 2E */ lwzx r5, r7, r6
+/* 80047A68 000436C8 80 A5 00 14 */ lwz r5, 0x14(r5)
+/* 80047A6C 000436CC 2C 05 00 00 */ cmpwi r5, 0
+/* 80047A70 000436D0 41 82 00 0C */ beq lbl_80047A7C
+/* 80047A74 000436D4 A0 05 00 08 */ lhz r0, 8(r5)
+/* 80047A78 000436D8 48 00 00 08 */ b lbl_80047A80
+lbl_80047A7C:
+/* 80047A7C 000436DC 38 00 00 00 */ li r0, 0
+lbl_80047A80:
+/* 80047A80 000436E0 7C 04 00 40 */ cmplw r4, r0
+/* 80047A84 000436E4 40 82 00 10 */ bne lbl_80047A94
+/* 80047A88 000436E8 55 00 10 3A */ slwi r0, r8, 2
+/* 80047A8C 000436EC 7C 67 00 2E */ lwzx r3, r7, r0
+/* 80047A90 000436F0 4E 80 00 20 */ blr
+lbl_80047A94:
+/* 80047A94 000436F4 38 C6 00 04 */ addi r6, r6, 4
+/* 80047A98 000436F8 39 08 00 01 */ addi r8, r8, 1
+/* 80047A9C 000436FC 42 00 FF C4 */ bdnz lbl_80047A60
+lbl_80047AA0:
+/* 80047AA0 00043700 38 60 00 00 */ li r3, 0
+/* 80047AA4 00043704 4E 80 00 20 */ blr
+
+.global func_80047AA8
+func_80047AA8:
+/* 80047AA8 00043708 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80047AAC 0004370C 7C 08 02 A6 */ mflr r0
+/* 80047AB0 00043710 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80047AB4 00043714 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80047AB8 00043718 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80047ABC 0004371C 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80047AC0 00043720 7C 7D 1B 78 */ mr r29, r3
+/* 80047AC4 00043724 80 03 00 00 */ lwz r0, 0(r3)
+/* 80047AC8 00043728 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 80047ACC 0004372C 54 00 00 3C */ rlwinm r0, r0, 0, 0, 0x1e
+/* 80047AD0 00043730 2C 04 00 00 */ cmpwi r4, 0
+/* 80047AD4 00043734 90 03 00 00 */ stw r0, 0(r3)
+/* 80047AD8 00043738 41 82 00 18 */ beq lbl_80047AF0
+/* 80047ADC 0004373C 41 82 00 0C */ beq lbl_80047AE8
+/* 80047AE0 00043740 38 64 FF F0 */ addi r3, r4, -16
+/* 80047AE4 00043744 48 19 2F D9 */ bl func_801DAABC
+lbl_80047AE8:
+/* 80047AE8 00043748 38 00 00 00 */ li r0, 0
+/* 80047AEC 0004374C 90 1D 00 2C */ stw r0, 0x2c(r29)
+lbl_80047AF0:
+/* 80047AF0 00043750 80 1D 00 30 */ lwz r0, 0x30(r29)
+/* 80047AF4 00043754 2C 00 00 00 */ cmpwi r0, 0
+/* 80047AF8 00043758 41 82 00 58 */ beq lbl_80047B50
+/* 80047AFC 0004375C 3B C0 00 00 */ li r30, 0
+/* 80047B00 00043760 3B E0 00 00 */ li r31, 0
+/* 80047B04 00043764 48 00 00 30 */ b lbl_80047B34
+lbl_80047B08:
+/* 80047B08 00043768 80 7D 00 30 */ lwz r3, 0x30(r29)
+/* 80047B0C 0004376C 7C 63 F8 2E */ lwzx r3, r3, r31
+/* 80047B10 00043770 2C 03 00 00 */ cmpwi r3, 0
+/* 80047B14 00043774 41 82 00 18 */ beq lbl_80047B2C
+/* 80047B18 00043778 81 83 00 28 */ lwz r12, 0x28(r3)
+/* 80047B1C 0004377C 38 80 00 01 */ li r4, 1
+/* 80047B20 00043780 81 8C 00 18 */ lwz r12, 0x18(r12)
+/* 80047B24 00043784 7D 89 03 A6 */ mtctr r12
+/* 80047B28 00043788 4E 80 04 21 */ bctrl
+lbl_80047B2C:
+/* 80047B2C 0004378C 3B FF 00 04 */ addi r31, r31, 4
+/* 80047B30 00043790 3B DE 00 01 */ addi r30, r30, 1
+lbl_80047B34:
+/* 80047B34 00043794 80 1D 00 08 */ lwz r0, 8(r29)
+/* 80047B38 00043798 7C 1E 00 40 */ cmplw r30, r0
+/* 80047B3C 0004379C 41 80 FF CC */ blt lbl_80047B08
+/* 80047B40 000437A0 80 7D 00 30 */ lwz r3, 0x30(r29)
+/* 80047B44 000437A4 48 19 2F 79 */ bl func_801DAABC
+/* 80047B48 000437A8 38 00 00 00 */ li r0, 0
+/* 80047B4C 000437AC 90 1D 00 30 */ stw r0, 0x30(r29)
+lbl_80047B50:
+/* 80047B50 000437B0 38 00 00 00 */ li r0, 0
+/* 80047B54 000437B4 90 1D 00 2C */ stw r0, 0x2c(r29)
+/* 80047B58 000437B8 90 1D 00 00 */ stw r0, 0(r29)
+/* 80047B5C 000437BC 90 1D 00 34 */ stw r0, 0x34(r29)
+/* 80047B60 000437C0 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80047B64 000437C4 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80047B68 000437C8 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80047B6C 000437CC 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80047B70 000437D0 7C 08 03 A6 */ mtlr r0
+/* 80047B74 000437D4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80047B78 000437D8 4E 80 00 20 */ blr
+
+.global func_80047B7C
+func_80047B7C:
+/* 80047B7C 000437DC 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 80047B80 000437E0 7C 08 02 A6 */ mflr r0
+/* 80047B84 000437E4 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80047B88 000437E8 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80047B8C 000437EC 7C 9F 23 78 */ mr r31, r4
+/* 80047B90 000437F0 93 C1 00 08 */ stw r30, 8(r1)
+/* 80047B94 000437F4 7C 7E 1B 78 */ mr r30, r3
+/* 80047B98 000437F8 48 00 5C 75 */ bl func_8004D80C
+/* 80047B9C 000437FC 7F E4 FB 78 */ mr r4, r31
+/* 80047BA0 00043800 48 00 5E E9 */ bl func_8004DA88
+/* 80047BA4 00043804 2C 03 00 00 */ cmpwi r3, 0
+/* 80047BA8 00043808 7C 64 1B 78 */ mr r4, r3
+/* 80047BAC 0004380C 41 82 00 14 */ beq lbl_80047BC0
+/* 80047BB0 00043810 7F C3 F3 78 */ mr r3, r30
+/* 80047BB4 00043814 4B FF FD A9 */ bl func_8004795C
+/* 80047BB8 00043818 38 60 00 01 */ li r3, 1
+/* 80047BBC 0004381C 48 00 00 08 */ b lbl_80047BC4
+lbl_80047BC0:
+/* 80047BC0 00043820 38 60 00 00 */ li r3, 0
+lbl_80047BC4:
+/* 80047BC4 00043824 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80047BC8 00043828 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 80047BCC 0004382C 83 C1 00 08 */ lwz r30, 8(r1)
+/* 80047BD0 00043830 7C 08 03 A6 */ mtlr r0
+/* 80047BD4 00043834 38 21 00 10 */ addi r1, r1, 0x10
+/* 80047BD8 00043838 4E 80 00 20 */ blr
+
+.global func_80047BDC
+func_80047BDC:
+/* 80047BDC 0004383C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 80047BE0 00043840 7C 08 02 A6 */ mflr r0
+/* 80047BE4 00043844 90 01 00 24 */ stw r0, 0x24(r1)
+/* 80047BE8 00043848 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 80047BEC 0004384C 7C BF 2B 78 */ mr r31, r5
+/* 80047BF0 00043850 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 80047BF4 00043854 7C 9E 23 78 */ mr r30, r4
+/* 80047BF8 00043858 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 80047BFC 0004385C 7C 7D 1B 78 */ mr r29, r3
+/* 80047C00 00043860 48 00 5C 0D */ bl func_8004D80C
+/* 80047C04 00043864 7F C4 F3 78 */ mr r4, r30
+/* 80047C08 00043868 7F E5 FB 78 */ mr r5, r31
+/* 80047C0C 0004386C 48 00 5F DD */ bl func_8004DBE8
+/* 80047C10 00043870 2C 03 00 00 */ cmpwi r3, 0
+/* 80047C14 00043874 7C 64 1B 78 */ mr r4, r3
+/* 80047C18 00043878 41 82 00 14 */ beq lbl_80047C2C
+/* 80047C1C 0004387C 7F A3 EB 78 */ mr r3, r29
+/* 80047C20 00043880 4B FF FD 3D */ bl func_8004795C
+/* 80047C24 00043884 38 60 00 01 */ li r3, 1
+/* 80047C28 00043888 48 00 00 08 */ b lbl_80047C30
+lbl_80047C2C:
+/* 80047C2C 0004388C 38 60 00 00 */ li r3, 0
+lbl_80047C30:
+/* 80047C30 00043890 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80047C34 00043894 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 80047C38 00043898 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80047C3C 0004389C 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80047C40 000438A0 7C 08 03 A6 */ mtlr r0
+/* 80047C44 000438A4 38 21 00 20 */ addi r1, r1, 0x20
+/* 80047C48 000438A8 4E 80 00 20 */ blr
+
+.global func_80047C4C
+func_80047C4C:
+/* 80047C4C 000438AC 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 80047C50 000438B0 7C 08 02 A6 */ mflr r0
+/* 80047C54 000438B4 90 01 00 54 */ stw r0, 0x54(r1)
+/* 80047C58 000438B8 DB E1 00 40 */ stfd f31, 0x40(r1)
+/* 80047C5C 000438BC F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
+/* 80047C60 000438C0 DB C1 00 30 */ stfd f30, 0x30(r1)
+/* 80047C64 000438C4 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
+/* 80047C68 000438C8 39 61 00 30 */ addi r11, r1, 0x30
+/* 80047C6C 000438CC 48 17 F4 B1 */ bl _savegpr_24
+/* 80047C70 000438D0 FF C0 08 90 */ fmr f30, f1
+/* 80047C74 000438D4 7C 78 1B 78 */ mr r24, r3
+/* 80047C78 000438D8 7C 99 23 78 */ mr r25, r4
+/* 80047C7C 000438DC 7C BA 2B 78 */ mr r26, r5
+/* 80047C80 000438E0 7C DB 33 78 */ mr r27, r6
+/* 80047C84 000438E4 7C FC 3B 78 */ mr r28, r7
+/* 80047C88 000438E8 7D 1D 43 78 */ mr r29, r8
+/* 80047C8C 000438EC 3F E0 80 41 */ lis r31, 0x8041
+/* 80047C90 000438F0 48 00 02 24 */ b lbl_80047EB4
+lbl_80047C94:
+/* 80047C94 000438F4 A0 19 00 0A */ lhz r0, 0xa(r25)
+/* 80047C98 000438F8 28 00 00 06 */ cmplwi r0, 6
+/* 80047C9C 000438FC 41 81 00 DC */ bgt lbl_80047D78
+/* 80047CA0 00043900 38 7F A4 48 */ addi r3, r31, -23480
+/* 80047CA4 00043904 54 00 10 3A */ slwi r0, r0, 2
+/* 80047CA8 00043908 7C 63 00 2E */ lwzx r3, r3, r0
+/* 80047CAC 0004390C 7C 69 03 A6 */ mtctr r3
+/* 80047CB0 00043910 4E 80 04 20 */ bctr
+/* 80047CB4 00043914 38 60 00 2C */ li r3, 0x2c
+/* 80047CB8 00043918 48 19 2D 79 */ bl func_801DAA30
+/* 80047CBC 0004391C 2C 03 00 00 */ cmpwi r3, 0
+/* 80047CC0 00043920 41 82 00 08 */ beq lbl_80047CC8
+/* 80047CC4 00043924 48 00 13 C1 */ bl func_80049084
+lbl_80047CC8:
+/* 80047CC8 00043928 7C 7E 1B 78 */ mr r30, r3
+/* 80047CCC 0004392C 48 00 00 C4 */ b lbl_80047D90
+/* 80047CD0 00043930 38 60 00 3C */ li r3, 0x3c
+/* 80047CD4 00043934 48 19 2D 5D */ bl func_801DAA30
+/* 80047CD8 00043938 2C 03 00 00 */ cmpwi r3, 0
+/* 80047CDC 0004393C 41 82 00 08 */ beq lbl_80047CE4
+/* 80047CE0 00043940 48 00 17 A9 */ bl func_80049488
+lbl_80047CE4:
+/* 80047CE4 00043944 7C 7E 1B 78 */ mr r30, r3
+/* 80047CE8 00043948 48 00 00 A8 */ b lbl_80047D90
+/* 80047CEC 0004394C 38 60 00 30 */ li r3, 0x30
+/* 80047CF0 00043950 48 19 2D 41 */ bl func_801DAA30
+/* 80047CF4 00043954 2C 03 00 00 */ cmpwi r3, 0
+/* 80047CF8 00043958 41 82 00 08 */ beq lbl_80047D00
+/* 80047CFC 0004395C 48 00 26 D1 */ bl func_8004A3CC
+lbl_80047D00:
+/* 80047D00 00043960 7C 7E 1B 78 */ mr r30, r3
+/* 80047D04 00043964 48 00 00 8C */ b lbl_80047D90
+/* 80047D08 00043968 38 60 00 30 */ li r3, 0x30
+/* 80047D0C 0004396C 48 19 2D 25 */ bl func_801DAA30
+/* 80047D10 00043970 2C 03 00 00 */ cmpwi r3, 0
+/* 80047D14 00043974 41 82 00 08 */ beq lbl_80047D1C
+/* 80047D18 00043978 48 00 30 A5 */ bl func_8004ADBC
+lbl_80047D1C:
+/* 80047D1C 0004397C 7C 7E 1B 78 */ mr r30, r3
+/* 80047D20 00043980 48 00 00 70 */ b lbl_80047D90
+/* 80047D24 00043984 38 60 00 2C */ li r3, 0x2c
+/* 80047D28 00043988 48 19 2D 09 */ bl func_801DAA30
+/* 80047D2C 0004398C 2C 03 00 00 */ cmpwi r3, 0
+/* 80047D30 00043990 41 82 00 08 */ beq lbl_80047D38
+/* 80047D34 00043994 48 00 2E 5D */ bl func_8004AB90
+lbl_80047D38:
+/* 80047D38 00043998 7C 7E 1B 78 */ mr r30, r3
+/* 80047D3C 0004399C 48 00 00 54 */ b lbl_80047D90
+/* 80047D40 000439A0 38 60 00 2C */ li r3, 0x2c
+/* 80047D44 000439A4 48 19 2C ED */ bl func_801DAA30
+/* 80047D48 000439A8 2C 03 00 00 */ cmpwi r3, 0
+/* 80047D4C 000439AC 41 82 00 08 */ beq lbl_80047D54
+/* 80047D50 000439B0 48 00 2A 11 */ bl func_8004A760
+lbl_80047D54:
+/* 80047D54 000439B4 7C 7E 1B 78 */ mr r30, r3
+/* 80047D58 000439B8 48 00 00 38 */ b lbl_80047D90
+/* 80047D5C 000439BC 38 60 00 30 */ li r3, 0x30
+/* 80047D60 000439C0 48 19 2C D1 */ bl func_801DAA30
+/* 80047D64 000439C4 2C 03 00 00 */ cmpwi r3, 0
+/* 80047D68 000439C8 41 82 00 08 */ beq lbl_80047D70
+/* 80047D6C 000439CC 48 00 2C 29 */ bl func_8004A994
+lbl_80047D70:
+/* 80047D70 000439D0 7C 7E 1B 78 */ mr r30, r3
+/* 80047D74 000439D4 48 00 00 1C */ b lbl_80047D90
+lbl_80047D78:
+/* 80047D78 000439D8 38 60 00 2C */ li r3, 0x2c
+/* 80047D7C 000439DC 48 19 2C B5 */ bl func_801DAA30
+/* 80047D80 000439E0 2C 03 00 00 */ cmpwi r3, 0
+/* 80047D84 000439E4 41 82 00 08 */ beq lbl_80047D8C
+/* 80047D88 000439E8 48 00 12 FD */ bl func_80049084
+lbl_80047D8C:
+/* 80047D8C 000439EC 7C 7E 1B 78 */ mr r30, r3
+lbl_80047D90:
+/* 80047D90 000439F0 A0 19 00 08 */ lhz r0, 8(r25)
+/* 80047D94 000439F4 7F C3 F3 78 */ mr r3, r30
+/* 80047D98 000439F8 80 D8 00 30 */ lwz r6, 0x30(r24)
+/* 80047D9C 000439FC 7F 24 CB 78 */ mr r4, r25
+/* 80047DA0 00043A00 54 00 10 3A */ slwi r0, r0, 2
+/* 80047DA4 00043A04 7F 05 C3 78 */ mr r5, r24
+/* 80047DA8 00043A08 7F C6 01 2E */ stwx r30, r6, r0
+/* 80047DAC 00043A0C 48 00 13 7D */ bl func_80049128
+/* 80047DB0 00043A10 93 9E 00 20 */ stw r28, 0x20(r30)
+/* 80047DB4 00043A14 88 19 00 0E */ lbz r0, 0xe(r25)
+/* 80047DB8 00043A18 28 00 00 01 */ cmplwi r0, 1
+/* 80047DBC 00043A1C 40 82 00 60 */ bne lbl_80047E1C
+/* 80047DC0 00043A20 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 80047DC4 00043A24 7F C3 F3 78 */ mr r3, r30
+/* 80047DC8 00043A28 81 8C 00 24 */ lwz r12, 0x24(r12)
+/* 80047DCC 00043A2C 7D 89 03 A6 */ mtctr r12
+/* 80047DD0 00043A30 4E 80 04 21 */ bctrl
+/* 80047DD4 00043A34 C0 19 00 10 */ lfs f0, 0x10(r25)
+/* 80047DD8 00043A38 88 19 00 0F */ lbz r0, 0xf(r25)
+/* 80047DDC 00043A3C EC 20 00 72 */ fmuls f1, f0, f1
+/* 80047DE0 00043A40 C0 19 00 14 */ lfs f0, 0x14(r25)
+/* 80047DE4 00043A44 2C 00 00 02 */ cmpwi r0, 2
+/* 80047DE8 00043A48 EF FE 08 2A */ fadds f31, f30, f1
+/* 80047DEC 00043A4C EF FF 00 2A */ fadds f31, f31, f0
+/* 80047DF0 00043A50 41 82 00 84 */ beq lbl_80047E74
+/* 80047DF4 00043A54 40 80 00 80 */ bge lbl_80047E74
+/* 80047DF8 00043A58 2C 00 00 01 */ cmpwi r0, 1
+/* 80047DFC 00043A5C 40 80 00 08 */ bge lbl_80047E04
+/* 80047E00 00043A60 48 00 00 74 */ b lbl_80047E74
+lbl_80047E04:
+/* 80047E04 00043A64 88 9A 00 05 */ lbz r4, 5(r26)
+/* 80047E08 00043A68 7F 63 DB 78 */ mr r3, r27
+/* 80047E0C 00043A6C 80 B9 00 18 */ lwz r5, 0x18(r25)
+/* 80047E10 00043A70 4B FF 20 71 */ bl func_80039E80
+/* 80047E14 00043A74 EF FF 08 2A */ fadds f31, f31, f1
+/* 80047E18 00043A78 48 00 00 5C */ b lbl_80047E74
+lbl_80047E1C:
+/* 80047E1C 00043A7C 81 9E 00 28 */ lwz r12, 0x28(r30)
+/* 80047E20 00043A80 7F C3 F3 78 */ mr r3, r30
+/* 80047E24 00043A84 81 8C 00 24 */ lwz r12, 0x24(r12)
+/* 80047E28 00043A88 7D 89 03 A6 */ mtctr r12
+/* 80047E2C 00043A8C 4E 80 04 21 */ bctrl
+/* 80047E30 00043A90 C0 19 00 10 */ lfs f0, 0x10(r25)
+/* 80047E34 00043A94 88 19 00 0F */ lbz r0, 0xf(r25)
+/* 80047E38 00043A98 EC 20 00 72 */ fmuls f1, f0, f1
+/* 80047E3C 00043A9C C0 19 00 14 */ lfs f0, 0x14(r25)
+/* 80047E40 00043AA0 2C 00 00 02 */ cmpwi r0, 2
+/* 80047E44 00043AA4 EF FE 08 2A */ fadds f31, f30, f1
+/* 80047E48 00043AA8 EF FF 00 28 */ fsubs f31, f31, f0
+/* 80047E4C 00043AAC 41 82 00 28 */ beq lbl_80047E74
+/* 80047E50 00043AB0 40 80 00 24 */ bge lbl_80047E74
+/* 80047E54 00043AB4 2C 00 00 01 */ cmpwi r0, 1
+/* 80047E58 00043AB8 40 80 00 08 */ bge lbl_80047E60
+/* 80047E5C 00043ABC 48 00 00 18 */ b lbl_80047E74
+lbl_80047E60:
+/* 80047E60 00043AC0 88 9A 00 05 */ lbz r4, 5(r26)
+/* 80047E64 00043AC4 7F 63 DB 78 */ mr r3, r27
+/* 80047E68 00043AC8 80 B9 00 18 */ lwz r5, 0x18(r25)
+/* 80047E6C 00043ACC 4B FF 20 15 */ bl func_80039E80
+/* 80047E70 00043AD0 EF FF 08 2A */ fadds f31, f31, f1
+lbl_80047E74:
+/* 80047E74 00043AD4 D3 FE 00 0C */ stfs f31, 0xc(r30)
+/* 80047E78 00043AD8 C0 1D 00 00 */ lfs f0, 0(r29)
+/* 80047E7C 00043ADC FC 00 F8 40 */ fcmpo cr0, f0, f31
+/* 80047E80 00043AE0 40 81 00 08 */ ble lbl_80047E88
+/* 80047E84 00043AE4 D3 FD 00 00 */ stfs f31, 0(r29)
+lbl_80047E88:
+/* 80047E88 00043AE8 80 99 00 28 */ lwz r4, 0x28(r25)
+/* 80047E8C 00043AEC 2C 04 00 00 */ cmpwi r4, 0
+/* 80047E90 00043AF0 41 82 00 20 */ beq lbl_80047EB0
+/* 80047E94 00043AF4 FC 20 F8 90 */ fmr f1, f31
+/* 80047E98 00043AF8 7F 03 C3 78 */ mr r3, r24
+/* 80047E9C 00043AFC 7F 45 D3 78 */ mr r5, r26
+/* 80047EA0 00043B00 7F 66 DB 78 */ mr r6, r27
+/* 80047EA4 00043B04 7F 87 E3 78 */ mr r7, r28
+/* 80047EA8 00043B08 7F A8 EB 78 */ mr r8, r29
+/* 80047EAC 00043B0C 4B FF FD A1 */ bl func_80047C4C
+lbl_80047EB0:
+/* 80047EB0 00043B10 83 39 00 20 */ lwz r25, 0x20(r25)
+lbl_80047EB4:
+/* 80047EB4 00043B14 2C 19 00 00 */ cmpwi r25, 0
+/* 80047EB8 00043B18 40 82 FD DC */ bne lbl_80047C94
+/* 80047EBC 00043B1C E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
+/* 80047EC0 00043B20 CB E1 00 40 */ lfd f31, 0x40(r1)
+/* 80047EC4 00043B24 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
+/* 80047EC8 00043B28 39 61 00 30 */ addi r11, r1, 0x30
+/* 80047ECC 00043B2C CB C1 00 30 */ lfd f30, 0x30(r1)
+/* 80047ED0 00043B30 48 17 F2 99 */ bl _restgpr_24
+/* 80047ED4 00043B34 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 80047ED8 00043B38 7C 08 03 A6 */ mtlr r0
+/* 80047EDC 00043B3C 38 21 00 50 */ addi r1, r1, 0x50
+/* 80047EE0 00043B40 4E 80 00 20 */ blr
+
+.global func_80047EE4
+func_80047EE4:
+/* 80047EE4 00043B44 94 21 FF 90 */ stwu r1, -0x70(r1)
+/* 80047EE8 00043B48 7C 08 02 A6 */ mflr r0
+/* 80047EEC 00043B4C 90 01 00 74 */ stw r0, 0x74(r1)
+/* 80047EF0 00043B50 DB E1 00 60 */ stfd f31, 0x60(r1)
+/* 80047EF4 00043B54 F3 E1 00 68 */ psq_st f31, 104(r1), 0, qr0
+/* 80047EF8 00043B58 DB C1 00 50 */ stfd f30, 0x50(r1)
+/* 80047EFC 00043B5C F3 C1 00 58 */ psq_st f30, 88(r1), 0, qr0
+/* 80047F00 00043B60 DB A1 00 40 */ stfd f29, 0x40(r1)
+/* 80047F04 00043B64 F3 A1 00 48 */ psq_st f29, 72(r1), 0, qr0
+/* 80047F08 00043B68 39 61 00 40 */ addi r11, r1, 0x40
+/* 80047F0C 00043B6C 48 17 F2 09 */ bl _savegpr_22
+/* 80047F10 00043B70 C3 A2 83 C0 */ lfs f29, lbl_806409C0-_SDA2_BASE_(r2)
+/* 80047F14 00043B74 7C 78 1B 78 */ mr r24, r3
+/* 80047F18 00043B78 80 63 00 24 */ lwz r3, 0x24(r3)
+/* 80047F1C 00043B7C 7C 99 23 78 */ mr r25, r4
+/* 80047F20 00043B80 FF E0 E8 90 */ fmr f31, f29
+/* 80047F24 00043B84 C3 C2 83 C4 */ lfs f30, lbl_806409C4-_SDA2_BASE_(r2)
+/* 80047F28 00043B88 83 63 00 98 */ lwz r27, 0x98(r3)
+/* 80047F2C 00043B8C 3B C0 00 00 */ li r30, 0
+/* 80047F30 00043B90 3B A0 00 00 */ li r29, 0
+/* 80047F34 00043B94 3B 80 00 00 */ li r28, 0
+/* 80047F38 00043B98 3B E0 00 00 */ li r31, 0
+/* 80047F3C 00043B9C 3A E0 00 00 */ li r23, 0
+/* 80047F40 00043BA0 3A C0 00 0A */ li r22, 0xa
+/* 80047F44 00043BA4 48 00 01 64 */ b lbl_800480A8
+lbl_80047F48:
+/* 80047F48 00043BA8 80 18 00 2C */ lwz r0, 0x2c(r24)
+/* 80047F4C 00043BAC 2C 1E 00 00 */ cmpwi r30, 0
+/* 80047F50 00043BB0 7F 40 FA 14 */ add r26, r0, r31
+/* 80047F54 00043BB4 41 82 00 14 */ beq lbl_80047F68
+/* 80047F58 00043BB8 80 1A 00 10 */ lwz r0, 0x10(r26)
+/* 80047F5C 00043BBC 3B C0 00 00 */ li r30, 0
+/* 80047F60 00043BC0 60 00 00 01 */ ori r0, r0, 1
+/* 80047F64 00043BC4 90 1A 00 10 */ stw r0, 0x10(r26)
+lbl_80047F68:
+/* 80047F68 00043BC8 2C 1D 00 00 */ cmpwi r29, 0
+/* 80047F6C 00043BCC 41 82 00 10 */ beq lbl_80047F7C
+/* 80047F70 00043BD0 80 1A 00 10 */ lwz r0, 0x10(r26)
+/* 80047F74 00043BD4 60 00 00 04 */ ori r0, r0, 4
+/* 80047F78 00043BD8 90 1A 00 10 */ stw r0, 0x10(r26)
+lbl_80047F7C:
+/* 80047F7C 00043BDC 93 9A 00 0C */ stw r28, 0xc(r26)
+/* 80047F80 00043BE0 80 1B 00 08 */ lwz r0, 8(r27)
+/* 80047F84 00043BE4 2C 00 00 00 */ cmpwi r0, 0
+/* 80047F88 00043BE8 41 82 00 0C */ beq lbl_80047F94
+/* 80047F8C 00043BEC 38 1A FF DC */ addi r0, r26, -36
+/* 80047F90 00043BF0 90 1A 00 04 */ stw r0, 4(r26)
+lbl_80047F94:
+/* 80047F94 00043BF4 80 1B 00 0C */ lwz r0, 0xc(r27)
+/* 80047F98 00043BF8 2C 00 00 00 */ cmpwi r0, 0
+/* 80047F9C 00043BFC 41 82 00 0C */ beq lbl_80047FA8
+/* 80047FA0 00043C00 38 1A 00 24 */ addi r0, r26, 0x24
+/* 80047FA4 00043C04 90 1A 00 08 */ stw r0, 8(r26)
+lbl_80047FA8:
+/* 80047FA8 00043C08 93 7A 00 00 */ stw r27, 0(r26)
+/* 80047FAC 00043C0C 80 1B 00 10 */ lwz r0, 0x10(r27)
+/* 80047FB0 00043C10 2C 00 00 00 */ cmpwi r0, 0
+/* 80047FB4 00043C14 41 82 00 30 */ beq lbl_80047FE4
+/* 80047FB8 00043C18 D3 C1 00 08 */ stfs f30, 8(r1)
+/* 80047FBC 00043C1C FC 20 E8 90 */ fmr f1, f29
+/* 80047FC0 00043C20 7F 03 C3 78 */ mr r3, r24
+/* 80047FC4 00043C24 7F 65 DB 78 */ mr r5, r27
+/* 80047FC8 00043C28 80 9B 00 10 */ lwz r4, 0x10(r27)
+/* 80047FCC 00043C2C 7F 26 CB 78 */ mr r6, r25
+/* 80047FD0 00043C30 7F 87 E3 78 */ mr r7, r28
+/* 80047FD4 00043C34 39 01 00 08 */ addi r8, r1, 8
+/* 80047FD8 00043C38 4B FF FC 75 */ bl func_80047C4C
+/* 80047FDC 00043C3C C0 01 00 08 */ lfs f0, 8(r1)
+/* 80047FE0 00043C40 D0 1A 00 18 */ stfs f0, 0x18(r26)
+lbl_80047FE4:
+/* 80047FE4 00043C44 D3 BB 00 18 */ stfs f29, 0x18(r27)
+/* 80047FE8 00043C48 D3 BA 00 14 */ stfs f29, 0x14(r26)
+/* 80047FEC 00043C4C D3 FA 00 1C */ stfs f31, 0x1c(r26)
+/* 80047FF0 00043C50 D3 FA 00 20 */ stfs f31, 0x20(r26)
+/* 80047FF4 00043C54 88 7B 00 05 */ lbz r3, 5(r27)
+/* 80047FF8 00043C58 38 03 00 EF */ addi r0, r3, 0xef
+/* 80047FFC 00043C5C 54 00 06 3E */ clrlwi r0, r0, 0x18
+/* 80048000 00043C60 28 00 00 01 */ cmplwi r0, 1
+/* 80048004 00043C64 41 81 00 20 */ bgt lbl_80048024
+/* 80048008 00043C68 80 1A 00 10 */ lwz r0, 0x10(r26)
+/* 8004800C 00043C6C FF A0 F8 90 */ fmr f29, f31
+/* 80048010 00043C70 3B C0 00 01 */ li r30, 1
+/* 80048014 00043C74 3B A0 00 01 */ li r29, 1
+/* 80048018 00043C78 60 00 00 02 */ ori r0, r0, 2
+/* 8004801C 00043C7C 90 1A 00 10 */ stw r0, 0x10(r26)
+/* 80048020 00043C80 48 00 00 7C */ b lbl_8004809C
+lbl_80048024:
+/* 80048024 00043C84 2C 19 00 00 */ cmpwi r25, 0
+/* 80048028 00043C88 41 82 00 74 */ beq lbl_8004809C
+/* 8004802C 00043C8C 2C 03 00 00 */ cmpwi r3, 0
+/* 80048030 00043C90 40 82 00 34 */ bne lbl_80048064
+/* 80048034 00043C94 A0 19 05 0C */ lhz r0, 0x50c(r25)
+/* 80048038 00043C98 28 00 00 01 */ cmplwi r0, 1
+/* 8004803C 00043C9C 40 82 00 28 */ bne lbl_80048064
+/* 80048040 00043CA0 80 19 00 00 */ lwz r0, 0(r25)
+/* 80048044 00043CA4 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
+/* 80048048 00043CA8 41 82 00 40 */ beq lbl_80048088
+/* 8004804C 00043CAC 7F 23 CB 78 */ mr r3, r25
+/* 80048050 00043CB0 4B FF 5F 71 */ bl func_8003DFC0
+/* 80048054 00043CB4 2C 03 00 00 */ cmpwi r3, 0
+/* 80048058 00043CB8 41 82 00 30 */ beq lbl_80048088
+/* 8004805C 00043CBC 9A DB 00 05 */ stb r22, 5(r27)
+/* 80048060 00043CC0 48 00 00 28 */ b lbl_80048088
+lbl_80048064:
+/* 80048064 00043CC4 28 03 00 0A */ cmplwi r3, 0xa
+/* 80048068 00043CC8 40 82 00 20 */ bne lbl_80048088
+/* 8004806C 00043CCC A0 19 05 0C */ lhz r0, 0x50c(r25)
+/* 80048070 00043CD0 28 00 00 01 */ cmplwi r0, 1
+/* 80048074 00043CD4 40 82 00 14 */ bne lbl_80048088
+/* 80048078 00043CD8 80 19 00 00 */ lwz r0, 0(r25)
+/* 8004807C 00043CDC 54 00 04 E7 */ rlwinm. r0, r0, 0, 0x13, 0x13
+/* 80048080 00043CE0 40 82 00 08 */ bne lbl_80048088
+/* 80048084 00043CE4 9A FB 00 05 */ stb r23, 5(r27)
+lbl_80048088:
+/* 80048088 00043CE8 88 9B 00 05 */ lbz r4, 5(r27)
+/* 8004808C 00043CEC 7F 23 CB 78 */ mr r3, r25
+/* 80048090 00043CF0 38 A0 FF FF */ li r5, -1
+/* 80048094 00043CF4 4B FF 1D ED */ bl func_80039E80
+/* 80048098 00043CF8 EF BD 08 2A */ fadds f29, f29, f1
+lbl_8004809C:
+/* 8004809C 00043CFC 83 7B 00 0C */ lwz r27, 0xc(r27)
+/* 800480A0 00043D00 3B FF 00 24 */ addi r31, r31, 0x24
+/* 800480A4 00043D04 3B 9C 00 01 */ addi r28, r28, 1
+lbl_800480A8:
+/* 800480A8 00043D08 2C 1B 00 00 */ cmpwi r27, 0
+/* 800480AC 00043D0C 40 82 FE 9C */ bne lbl_80047F48
+/* 800480B0 00043D10 3A E0 00 00 */ li r23, 0
+/* 800480B4 00043D14 3A C0 00 00 */ li r22, 0
+/* 800480B8 00043D18 48 00 00 2C */ b lbl_800480E4
+lbl_800480BC:
+/* 800480BC 00043D1C 80 78 00 30 */ lwz r3, 0x30(r24)
+/* 800480C0 00043D20 7C 63 B0 2E */ lwzx r3, r3, r22
+/* 800480C4 00043D24 2C 03 00 00 */ cmpwi r3, 0
+/* 800480C8 00043D28 41 82 00 14 */ beq lbl_800480DC
+/* 800480CC 00043D2C 81 83 00 28 */ lwz r12, 0x28(r3)
+/* 800480D0 00043D30 81 8C 00 20 */ lwz r12, 0x20(r12)
+/* 800480D4 00043D34 7D 89 03 A6 */ mtctr r12
+/* 800480D8 00043D38 4E 80 04 21 */ bctrl
+lbl_800480DC:
+/* 800480DC 00043D3C 3A D6 00 04 */ addi r22, r22, 4
+/* 800480E0 00043D40 3A F7 00 01 */ addi r23, r23, 1
+lbl_800480E4:
+/* 800480E4 00043D44 80 18 00 08 */ lwz r0, 8(r24)
+/* 800480E8 00043D48 7C 17 00 40 */ cmplw r23, r0
+/* 800480EC 00043D4C 41 80 FF D0 */ blt lbl_800480BC
+/* 800480F0 00043D50 C0 02 83 C8 */ lfs f0, lbl_806409C8-_SDA2_BASE_(r2)
+/* 800480F4 00043D54 38 C0 00 00 */ li r6, 0
+/* 800480F8 00043D58 38 A0 00 00 */ li r5, 0
+/* 800480FC 00043D5C D0 18 00 10 */ stfs f0, 0x10(r24)
+/* 80048100 00043D60 48 00 00 44 */ b lbl_80048144
+lbl_80048104:
+/* 80048104 00043D64 80 98 00 30 */ lwz r4, 0x30(r24)
+/* 80048108 00043D68 80 78 00 2C */ lwz r3, 0x2c(r24)
+/* 8004810C 00043D6C 7C 84 28 2E */ lwzx r4, r4, r5
+/* 80048110 00043D70 80 04 00 20 */ lwz r0, 0x20(r4)
+/* 80048114 00043D74 1C 00 00 24 */ mulli r0, r0, 0x24
+/* 80048118 00043D78 7C 63 02 14 */ add r3, r3, r0
+/* 8004811C 00043D7C 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80048120 00043D80 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80048124 00043D84 40 82 00 18 */ bne lbl_8004813C
+/* 80048128 00043D88 C0 24 00 0C */ lfs f1, 0xc(r4)
+/* 8004812C 00043D8C C0 18 00 10 */ lfs f0, 0x10(r24)
+/* 80048130 00043D90 FC 00 08 40 */ fcmpo cr0, f0, f1
+/* 80048134 00043D94 40 81 00 08 */ ble lbl_8004813C
+/* 80048138 00043D98 D0 38 00 10 */ stfs f1, 0x10(r24)
+lbl_8004813C:
+/* 8004813C 00043D9C 38 A5 00 04 */ addi r5, r5, 4
+/* 80048140 00043DA0 38 C6 00 01 */ addi r6, r6, 1
+lbl_80048144:
+/* 80048144 00043DA4 80 78 00 24 */ lwz r3, 0x24(r24)
+/* 80048148 00043DA8 80 63 00 94 */ lwz r3, 0x94(r3)
+/* 8004814C 00043DAC 2C 03 00 00 */ cmpwi r3, 0
+/* 80048150 00043DB0 40 82 00 0C */ bne lbl_8004815C
+/* 80048154 00043DB4 38 00 00 00 */ li r0, 0
+/* 80048158 00043DB8 48 00 00 08 */ b lbl_80048160
+lbl_8004815C:
+/* 8004815C 00043DBC 80 03 00 14 */ lwz r0, 0x14(r3)
+lbl_80048160:
+/* 80048160 00043DC0 7C 06 00 40 */ cmplw r6, r0
+/* 80048164 00043DC4 41 80 FF A0 */ blt lbl_80048104
+/* 80048168 00043DC8 93 38 00 34 */ stw r25, 0x34(r24)
+/* 8004816C 00043DCC E3 E1 00 68 */ psq_l f31, 104(r1), 0, qr0
+/* 80048170 00043DD0 CB E1 00 60 */ lfd f31, 0x60(r1)
+/* 80048174 00043DD4 E3 C1 00 58 */ psq_l f30, 88(r1), 0, qr0
+/* 80048178 00043DD8 CB C1 00 50 */ lfd f30, 0x50(r1)
+/* 8004817C 00043DDC E3 A1 00 48 */ psq_l f29, 72(r1), 0, qr0
+/* 80048180 00043DE0 CB A1 00 40 */ lfd f29, 0x40(r1)
+/* 80048184 00043DE4 39 61 00 40 */ addi r11, r1, 0x40
+/* 80048188 00043DE8 48 17 EF D9 */ bl _restgpr_22
+/* 8004818C 00043DEC 80 01 00 74 */ lwz r0, 0x74(r1)
+/* 80048190 00043DF0 7C 08 03 A6 */ mtlr r0
+/* 80048194 00043DF4 38 21 00 70 */ addi r1, r1, 0x70
+/* 80048198 00043DF8 4E 80 00 20 */ blr
+/* 8004819C 00043DFC 4E 80 00 20 */ blr
+
+.global func_800481A0
+func_800481A0:
+/* 800481A0 00043E00 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 800481A4 00043E04 7C 08 02 A6 */ mflr r0
+/* 800481A8 00043E08 90 01 00 14 */ stw r0, 0x14(r1)
+/* 800481AC 00043E0C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 800481B0 00043E10 7C 7F 1B 78 */ mr r31, r3
+/* 800481B4 00043E14 4B FE AE D5 */ bl func_80033088
+/* 800481B8 00043E18 80 1F 00 20 */ lwz r0, 0x20(r31)
+/* 800481BC 00043E1C 54 04 04 3E */ clrlwi r4, r0, 0x10
+/* 800481C0 00043E20 4B FE B9 BD */ bl func_80033B7C
+/* 800481C4 00043E24 2C 03 00 00 */ cmpwi r3, 0
+/* 800481C8 00043E28 40 82 00 0C */ bne lbl_800481D4
+/* 800481CC 00043E2C 38 60 00 00 */ li r3, 0
+/* 800481D0 00043E30 48 00 00 08 */ b lbl_800481D8
+lbl_800481D4:
+/* 800481D4 00043E34 4B FE D7 9D */ bl func_80035970
+lbl_800481D8:
+/* 800481D8 00043E38 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 800481DC 00043E3C 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 800481E0 00043E40 7C 08 03 A6 */ mtlr r0
+/* 800481E4 00043E44 38 21 00 10 */ addi r1, r1, 0x10
+/* 800481E8 00043E48 4E 80 00 20 */ blr
+
+.global func_800481EC
+func_800481EC:
+/* 800481EC 00043E4C C0 23 00 10 */ lfs f1, 0x10(r3)
+/* 800481F0 00043E50 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 800481F4 00043E54 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800481F8 00043E58 40 80 00 08 */ bge lbl_80048200
+/* 800481FC 00043E5C 48 00 00 0C */ b func_80048208
+lbl_80048200:
+/* 80048200 00043E60 FC 20 00 90 */ fmr f1, f0
+/* 80048204 00043E64 48 00 00 04 */ b func_80048208
+
+.global func_80048208
+func_80048208:
+/* 80048208 00043E68 94 21 FF F0 */ stwu r1, -0x10(r1)
+/* 8004820C 00043E6C 7C 08 02 A6 */ mflr r0
+/* 80048210 00043E70 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 80048214 00043E74 90 01 00 14 */ stw r0, 0x14(r1)
+/* 80048218 00043E78 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 8004821C 00043E7C 93 E1 00 0C */ stw r31, 0xc(r1)
+/* 80048220 00043E80 7C 7F 1B 78 */ mr r31, r3
+/* 80048224 00043E84 80 03 00 00 */ lwz r0, 0(r3)
+/* 80048228 00043E88 80 83 00 2C */ lwz r4, 0x2c(r3)
+/* 8004822C 00043E8C 60 00 00 02 */ ori r0, r0, 2
+/* 80048230 00043E90 D0 23 00 0C */ stfs f1, 0xc(r3)
+/* 80048234 00043E94 54 00 07 B6 */ rlwinm r0, r0, 0, 0x1e, 0x1b
+/* 80048238 00043E98 90 03 00 00 */ stw r0, 0(r3)
+/* 8004823C 00043E9C 90 83 00 28 */ stw r4, 0x28(r3)
+/* 80048240 00043EA0 40 81 00 08 */ ble lbl_80048248
+/* 80048244 00043EA4 D0 24 00 20 */ stfs f1, 0x20(r4)
+lbl_80048248:
+/* 80048248 00043EA8 80 83 00 34 */ lwz r4, 0x34(r3)
+/* 8004824C 00043EAC 2C 04 00 00 */ cmpwi r4, 0
+/* 80048250 00043EB0 41 82 00 10 */ beq lbl_80048260
+/* 80048254 00043EB4 C0 04 0D 80 */ lfs f0, 0xd80(r4)
+/* 80048258 00043EB8 80 83 00 28 */ lwz r4, 0x28(r3)
+/* 8004825C 00043EBC D0 04 00 1C */ stfs f0, 0x1c(r4)
+lbl_80048260:
+/* 80048260 00043EC0 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 80048264 00043EC4 D0 03 00 14 */ stfs f0, 0x14(r3)
+/* 80048268 00043EC8 D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 8004826C 00043ECC 80 63 00 24 */ lwz r3, 0x24(r3)
+/* 80048270 00043ED0 48 00 0D E9 */ bl cGame_GetGameTime
+/* 80048274 00043ED4 D0 3F 00 1C */ stfs f1, 0x1c(r31)
+/* 80048278 00043ED8 83 E1 00 0C */ lwz r31, 0xc(r1)
+/* 8004827C 00043EDC 80 01 00 14 */ lwz r0, 0x14(r1)
+/* 80048280 00043EE0 7C 08 03 A6 */ mtlr r0
+/* 80048284 00043EE4 38 21 00 10 */ addi r1, r1, 0x10
+/* 80048288 00043EE8 4E 80 00 20 */ blr
+
+.global func_8004828C
+func_8004828C:
+/* 8004828C 00043EEC 2C 04 00 00 */ cmpwi r4, 0
+/* 80048290 00043EF0 41 82 00 08 */ beq lbl_80048298
+/* 80048294 00043EF4 48 00 00 10 */ b lbl_800482A4
+lbl_80048298:
+/* 80048298 00043EF8 80 03 00 00 */ lwz r0, 0(r3)
+/* 8004829C 00043EFC 54 03 FF FE */ rlwinm r3, r0, 0x1f, 0x1f, 0x1f
+/* 800482A0 00043F00 4E 80 00 20 */ blr
+lbl_800482A4:
+/* 800482A4 00043F04 38 60 00 00 */ li r3, 0
+/* 800482A8 00043F08 4E 80 00 20 */ blr
+
+.global func_800482AC
+func_800482AC:
+/* 800482AC 00043F0C 94 21 FF E0 */ stwu r1, -0x20(r1)
+/* 800482B0 00043F10 7C 08 02 A6 */ mflr r0
+/* 800482B4 00043F14 90 01 00 24 */ stw r0, 0x24(r1)
+/* 800482B8 00043F18 93 E1 00 1C */ stw r31, 0x1c(r1)
+/* 800482BC 00043F1C 93 C1 00 18 */ stw r30, 0x18(r1)
+/* 800482C0 00043F20 93 A1 00 14 */ stw r29, 0x14(r1)
+/* 800482C4 00043F24 7C 7D 1B 78 */ mr r29, r3
+/* 800482C8 00043F28 80 03 00 00 */ lwz r0, 0(r3)
+/* 800482CC 00043F2C 2C 00 00 00 */ cmpwi r0, 0
+/* 800482D0 00043F30 41 82 00 64 */ beq lbl_80048334
+/* 800482D4 00043F34 3B C0 00 00 */ li r30, 0
+/* 800482D8 00043F38 3B E0 00 00 */ li r31, 0
+/* 800482DC 00043F3C 48 00 00 20 */ b lbl_800482FC
+lbl_800482E0:
+/* 800482E0 00043F40 80 7D 00 30 */ lwz r3, 0x30(r29)
+/* 800482E4 00043F44 7C 63 F8 2E */ lwzx r3, r3, r31
+/* 800482E8 00043F48 2C 03 00 00 */ cmpwi r3, 0
+/* 800482EC 00043F4C 41 82 00 08 */ beq lbl_800482F4
+/* 800482F0 00043F50 48 00 0F 91 */ bl func_80049280
+lbl_800482F4:
+/* 800482F4 00043F54 3B FF 00 04 */ addi r31, r31, 4
+/* 800482F8 00043F58 3B DE 00 01 */ addi r30, r30, 1
+lbl_800482FC:
+/* 800482FC 00043F5C 80 7D 00 24 */ lwz r3, 0x24(r29)
+/* 80048300 00043F60 80 63 00 94 */ lwz r3, 0x94(r3)
+/* 80048304 00043F64 2C 03 00 00 */ cmpwi r3, 0
+/* 80048308 00043F68 40 82 00 0C */ bne lbl_80048314
+/* 8004830C 00043F6C 38 00 00 00 */ li r0, 0
+/* 80048310 00043F70 48 00 00 08 */ b lbl_80048318
+lbl_80048314:
+/* 80048314 00043F74 80 03 00 14 */ lwz r0, 0x14(r3)
+lbl_80048318:
+/* 80048318 00043F78 7C 1E 00 40 */ cmplw r30, r0
+/* 8004831C 00043F7C 41 80 FF C4 */ blt lbl_800482E0
+/* 80048320 00043F80 80 1D 00 00 */ lwz r0, 0(r29)
+/* 80048324 00043F84 C0 02 83 C0 */ lfs f0, lbl_806409C0-_SDA2_BASE_(r2)
+/* 80048328 00043F88 54 00 07 FA */ rlwinm r0, r0, 0, 0x1f, 0x1d
+/* 8004832C 00043F8C 90 1D 00 00 */ stw r0, 0(r29)
+/* 80048330 00043F90 D0 1D 00 14 */ stfs f0, 0x14(r29)
+lbl_80048334:
+/* 80048334 00043F94 80 01 00 24 */ lwz r0, 0x24(r1)
+/* 80048338 00043F98 83 E1 00 1C */ lwz r31, 0x1c(r1)
+/* 8004833C 00043F9C 83 C1 00 18 */ lwz r30, 0x18(r1)
+/* 80048340 00043FA0 83 A1 00 14 */ lwz r29, 0x14(r1)
+/* 80048344 00043FA4 7C 08 03 A6 */ mtlr r0
+/* 80048348 00043FA8 38 21 00 20 */ addi r1, r1, 0x20
+/* 8004834C 00043FAC 4E 80 00 20 */ blr
+
+.global func_80048350
+func_80048350:
+/* 80048350 00043FB0 94 21 FF B0 */ stwu r1, -0x50(r1)
+/* 80048354 00043FB4 7C 08 02 A6 */ mflr r0
+/* 80048358 00043FB8 90 01 00 54 */ stw r0, 0x54(r1)
+/* 8004835C 00043FBC DB E1 00 40 */ stfd f31, 0x40(r1)
+/* 80048360 00043FC0 F3 E1 00 48 */ psq_st f31, 72(r1), 0, qr0
+/* 80048364 00043FC4 DB C1 00 30 */ stfd f30, 0x30(r1)
+/* 80048368 00043FC8 F3 C1 00 38 */ psq_st f30, 56(r1), 0, qr0
+/* 8004836C 00043FCC DB A1 00 20 */ stfd f29, 0x20(r1)
+/* 80048370 00043FD0 F3 A1 00 28 */ psq_st f29, 40(r1), 0, qr0
+/* 80048374 00043FD4 39 61 00 20 */ addi r11, r1, 0x20
+/* 80048378 00043FD8 48 17 ED B1 */ bl _savegpr_27
+/* 8004837C 00043FDC 80 03 00 00 */ lwz r0, 0(r3)
+/* 80048380 00043FE0 FF E0 08 90 */ fmr f31, f1
+/* 80048384 00043FE4 7C 7E 1B 78 */ mr r30, r3
+/* 80048388 00043FE8 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 8004838C 00043FEC 41 82 03 4C */ beq lbl_800486D8
+/* 80048390 00043FF0 80 83 00 34 */ lwz r4, 0x34(r3)
+/* 80048394 00043FF4 2C 04 00 00 */ cmpwi r4, 0
+/* 80048398 00043FF8 41 82 00 10 */ beq lbl_800483A8
+/* 8004839C 00043FFC 80 04 0C 04 */ lwz r0, 0xc04(r4)
+/* 800483A0 00044000 2C 00 00 00 */ cmpwi r0, 0
+/* 800483A4 00044004 41 82 03 34 */ beq lbl_800486D8
+lbl_800483A8:
+/* 800483A8 00044008 C0 03 00 1C */ lfs f0, 0x1c(r3)
+/* 800483AC 0004400C C0 42 83 C0 */ lfs f2, lbl_806409C0-_SDA2_BASE_(r2)
+/* 800483B0 00044010 FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 800483B4 00044014 40 81 00 48 */ ble lbl_800483FC
+/* 800483B8 00044018 EC 00 08 28 */ fsubs f0, f0, f1
+/* 800483BC 0004401C FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 800483C0 00044020 D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 800483C4 00044024 4C 40 13 82 */ cror 2, 0, 2
+/* 800483C8 00044028 40 82 00 34 */ bne lbl_800483FC
+/* 800483CC 0004402C 7F C3 F3 78 */ mr r3, r30
+/* 800483D0 00044030 4B FF FE DD */ bl func_800482AC
+/* 800483D4 00044034 80 1E 00 00 */ lwz r0, 0(r30)
+/* 800483D8 00044038 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 800483DC 0004403C 41 82 02 FC */ beq lbl_800486D8
+/* 800483E0 00044040 48 00 54 2D */ bl func_8004D80C
+/* 800483E4 00044044 2C 03 00 00 */ cmpwi r3, 0
+/* 800483E8 00044048 41 82 02 F0 */ beq lbl_800486D8
+/* 800483EC 0004404C 7F C4 F3 78 */ mr r4, r30
+/* 800483F0 00044050 48 00 59 DD */ bl func_8004DDCC
+/* 800483F4 00044054 48 00 02 E4 */ b lbl_800486D8
+/* 800483F8 00044058 48 00 02 E0 */ b lbl_800486D8
+lbl_800483FC:
+/* 800483FC 0004405C C0 43 00 0C */ lfs f2, 0xc(r3)
+/* 80048400 00044060 C0 03 00 18 */ lfs f0, 0x18(r3)
+/* 80048404 00044064 EC 62 08 2A */ fadds f3, f2, f1
+/* 80048408 00044068 C0 42 83 C0 */ lfs f2, lbl_806409C0-_SDA2_BASE_(r2)
+/* 8004840C 0004406C FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 80048410 00044070 D0 63 00 0C */ stfs f3, 0xc(r3)
+/* 80048414 00044074 40 81 00 24 */ ble lbl_80048438
+/* 80048418 00044078 EC 00 08 28 */ fsubs f0, f0, f1
+/* 8004841C 0004407C FC 00 10 40 */ fcmpo cr0, f0, f2
+/* 80048420 00044080 D0 03 00 18 */ stfs f0, 0x18(r3)
+/* 80048424 00044084 4C 40 13 82 */ cror 2, 0, 2
+/* 80048428 00044088 40 82 00 10 */ bne lbl_80048438
+/* 8004842C 0004408C 80 03 00 00 */ lwz r0, 0(r3)
+/* 80048430 00044090 60 00 00 08 */ ori r0, r0, 8
+/* 80048434 00044094 90 03 00 00 */ stw r0, 0(r3)
+lbl_80048438:
+/* 80048438 00044098 80 83 00 34 */ lwz r4, 0x34(r3)
+/* 8004843C 0004409C 2C 04 00 00 */ cmpwi r4, 0
+/* 80048440 000440A0 41 82 00 0C */ beq lbl_8004844C
+/* 80048444 000440A4 C3 A4 0D 80 */ lfs f29, 0xd80(r4)
+/* 80048448 000440A8 48 00 00 08 */ b lbl_80048450
+lbl_8004844C:
+/* 8004844C 000440AC C3 A2 83 C0 */ lfs f29, lbl_806409C0-_SDA2_BASE_(r2)
+lbl_80048450:
+/* 80048450 000440B0 2C 04 00 00 */ cmpwi r4, 0
+/* 80048454 000440B4 41 82 01 58 */ beq lbl_800485AC
+/* 80048458 000440B8 80 A3 00 00 */ lwz r5, 0(r3)
+/* 8004845C 000440BC 54 A0 03 DF */ rlwinm. r0, r5, 0, 0xf, 0xf
+/* 80048460 000440C0 40 82 01 4C */ bne lbl_800485AC
+/* 80048464 000440C4 80 C3 00 28 */ lwz r6, 0x28(r3)
+/* 80048468 000440C8 2C 06 00 00 */ cmpwi r6, 0
+/* 8004846C 000440CC 41 82 01 40 */ beq lbl_800485AC
+/* 80048470 000440D0 C0 46 00 14 */ lfs f2, 0x14(r6)
+/* 80048474 000440D4 C0 03 00 14 */ lfs f0, 0x14(r3)
+/* 80048478 000440D8 C0 23 00 0C */ lfs f1, 0xc(r3)
+/* 8004847C 000440DC EC 00 10 2A */ fadds f0, f0, f2
+/* 80048480 000440E0 FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 80048484 000440E4 4C 41 13 82 */ cror 2, 1, 2
+/* 80048488 000440E8 40 82 01 24 */ bne lbl_800485AC
+/* 8004848C 000440EC 80 06 00 10 */ lwz r0, 0x10(r6)
+/* 80048490 000440F0 3B E0 00 01 */ li r31, 1
+/* 80048494 000440F4 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 80048498 000440F8 41 82 00 A8 */ beq lbl_80048540
+/* 8004849C 000440FC 54 A0 07 39 */ rlwinm. r0, r5, 0, 0x1c, 0x1c
+/* 800484A0 00044100 41 82 00 9C */ beq lbl_8004853C
+/* 800484A4 00044104 80 66 00 00 */ lwz r3, 0(r6)
+/* 800484A8 00044108 3B 80 00 00 */ li r28, 0
+/* 800484AC 0004410C 80 A3 00 00 */ lwz r5, 0(r3)
+/* 800484B0 00044110 8B A3 00 05 */ lbz r29, 5(r3)
+/* 800484B4 00044114 54 A0 07 BD */ rlwinm. r0, r5, 0, 0x1e, 0x1e
+/* 800484B8 00044118 41 82 00 08 */ beq lbl_800484C0
+/* 800484BC 0004411C 3B 80 00 01 */ li r28, 1
+lbl_800484C0:
+/* 800484C0 00044120 54 A0 07 7B */ rlwinm. r0, r5, 0, 0x1d, 0x1d
+/* 800484C4 00044124 41 82 00 08 */ beq lbl_800484CC
+/* 800484C8 00044128 3B 80 00 02 */ li r28, 2
+lbl_800484CC:
+/* 800484CC 0004412C 7C 83 23 78 */ mr r3, r4
+/* 800484D0 00044130 7F A4 EB 78 */ mr r4, r29
+/* 800484D4 00044134 7F 85 E3 78 */ mr r5, r28
+/* 800484D8 00044138 4B FF 19 A9 */ bl func_80039E80
+/* 800484DC 0004413C FF C0 08 90 */ fmr f30, f1
+/* 800484E0 00044140 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 800484E4 00044144 7F A4 EB 78 */ mr r4, r29
+/* 800484E8 00044148 38 BC 00 01 */ addi r5, r28, 1
+/* 800484EC 0004414C 4B FF 19 95 */ bl func_80039E80
+/* 800484F0 00044150 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 800484F4 00044154 EC 41 F0 28 */ fsubs f2, f1, f30
+/* 800484F8 00044158 C0 02 83 CC */ lfs f0, lbl_806409CC-_SDA2_BASE_(r2)
+/* 800484FC 0004415C FC 20 F0 50 */ fneg f1, f30
+/* 80048500 00044160 D3 C3 00 20 */ stfs f30, 0x20(r3)
+/* 80048504 00044164 EC 00 00 B2 */ fmuls f0, f0, f2
+/* 80048508 00044168 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 8004850C 0004416C D0 03 00 1C */ stfs f0, 0x1c(r3)
+/* 80048510 00044170 C0 1E 00 14 */ lfs f0, 0x14(r30)
+/* 80048514 00044174 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 80048518 00044178 EC 00 08 2A */ fadds f0, f0, f1
+/* 8004851C 0004417C D0 1E 00 14 */ stfs f0, 0x14(r30)
+/* 80048520 00044180 80 03 00 10 */ lwz r0, 0x10(r3)
+/* 80048524 00044184 54 00 07 B8 */ rlwinm r0, r0, 0, 0x1e, 0x1c
+/* 80048528 00044188 90 03 00 10 */ stw r0, 0x10(r3)
+/* 8004852C 0004418C 80 1E 00 00 */ lwz r0, 0(r30)
+/* 80048530 00044190 54 00 07 76 */ rlwinm r0, r0, 0, 0x1d, 0x1b
+/* 80048534 00044194 90 1E 00 00 */ stw r0, 0(r30)
+/* 80048538 00044198 48 00 00 08 */ b lbl_80048540
+lbl_8004853C:
+/* 8004853C 0004419C 3B E0 00 00 */ li r31, 0
+lbl_80048540:
+/* 80048540 000441A0 2C 1F 00 00 */ cmpwi r31, 0
+/* 80048544 000441A4 41 82 00 68 */ beq lbl_800485AC
+/* 80048548 000441A8 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 8004854C 000441AC 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80048550 000441B0 C0 04 00 1C */ lfs f0, 0x1c(r4)
+/* 80048554 000441B4 D0 03 0D 80 */ stfs f0, 0xd80(r3)
+/* 80048558 000441B8 80 1E 00 00 */ lwz r0, 0(r30)
+/* 8004855C 000441BC 54 00 06 F7 */ rlwinm. r0, r0, 0, 0x1b, 0x1b
+/* 80048560 000441C0 40 82 00 20 */ bne lbl_80048580
+/* 80048564 000441C4 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 80048568 000441C8 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 8004856C 000441CC 83 E4 00 00 */ lwz r31, 0(r4)
+/* 80048570 000441D0 4B FF 0F 81 */ bl func_800394F0
+/* 80048574 000441D4 88 1F 00 05 */ lbz r0, 5(r31)
+/* 80048578 000441D8 7C 03 00 00 */ cmpw r3, r0
+/* 8004857C 000441DC 41 82 00 1C */ beq lbl_80048598
+lbl_80048580:
+/* 80048580 000441E0 80 9E 00 28 */ lwz r4, 0x28(r30)
+/* 80048584 000441E4 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 80048588 000441E8 C0 24 00 20 */ lfs f1, 0x20(r4)
+/* 8004858C 000441EC 80 84 00 00 */ lwz r4, 0(r4)
+/* 80048590 000441F0 88 84 00 05 */ lbz r4, 5(r4)
+/* 80048594 000441F4 4B FF 0C 6D */ bl func_80039200
+lbl_80048598:
+/* 80048598 000441F8 80 7E 00 34 */ lwz r3, 0x34(r30)
+/* 8004859C 000441FC D3 A3 0D 80 */ stfs f29, 0xd80(r3)
+/* 800485A0 00044200 80 7E 00 28 */ lwz r3, 0x28(r30)
+/* 800485A4 00044204 80 03 00 08 */ lwz r0, 8(r3)
+/* 800485A8 00044208 90 1E 00 28 */ stw r0, 0x28(r30)
+lbl_800485AC:
+/* 800485AC 0004420C 3B 80 00 00 */ li r28, 0
+/* 800485B0 00044210 3B E0 00 00 */ li r31, 0
+/* 800485B4 00044214 48 00 00 64 */ b lbl_80048618
+lbl_800485B8:
+/* 800485B8 00044218 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 800485BC 0004421C 80 9E 00 2C */ lwz r4, 0x2c(r30)
+/* 800485C0 00044220 7C 63 F8 2E */ lwzx r3, r3, r31
+/* 800485C4 00044224 80 03 00 20 */ lwz r0, 0x20(r3)
+/* 800485C8 00044228 1C 00 00 24 */ mulli r0, r0, 0x24
+/* 800485CC 0004422C 7C 84 02 14 */ add r4, r4, r0
+/* 800485D0 00044230 80 04 00 10 */ lwz r0, 0x10(r4)
+/* 800485D4 00044234 54 00 07 7B */ rlwinm. r0, r0, 0, 0x1d, 0x1d
+/* 800485D8 00044238 40 82 00 38 */ bne lbl_80048610
+/* 800485DC 0004423C C0 43 00 0C */ lfs f2, 0xc(r3)
+/* 800485E0 00044240 C0 1E 00 14 */ lfs f0, 0x14(r30)
+/* 800485E4 00044244 C0 3E 00 0C */ lfs f1, 0xc(r30)
+/* 800485E8 00044248 EC 00 10 2A */ fadds f0, f0, f2
+/* 800485EC 0004424C FC 01 00 40 */ fcmpo cr0, f1, f0
+/* 800485F0 00044250 4C 41 13 82 */ cror 2, 1, 2
+/* 800485F4 00044254 40 82 00 1C */ bne lbl_80048610
+/* 800485F8 00044258 80 83 00 08 */ lwz r4, 8(r3)
+/* 800485FC 0004425C 54 80 07 FF */ clrlwi. r0, r4, 0x1f
+/* 80048600 00044260 40 82 00 10 */ bne lbl_80048610
+/* 80048604 00044264 54 80 07 BD */ rlwinm. r0, r4, 0, 0x1e, 0x1e
+/* 80048608 00044268 40 82 00 08 */ bne lbl_80048610
+/* 8004860C 0004426C 48 00 0C 0D */ bl func_80049218
+lbl_80048610:
+/* 80048610 00044270 3B FF 00 04 */ addi r31, r31, 4
+/* 80048614 00044274 3B 9C 00 01 */ addi r28, r28, 1
+lbl_80048618:
+/* 80048618 00044278 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 8004861C 0004427C 80 63 00 94 */ lwz r3, 0x94(r3)
+/* 80048620 00044280 2C 03 00 00 */ cmpwi r3, 0
+/* 80048624 00044284 40 82 00 0C */ bne lbl_80048630
+/* 80048628 00044288 38 00 00 00 */ li r0, 0
+/* 8004862C 0004428C 48 00 00 08 */ b lbl_80048634
+lbl_80048630:
+/* 80048630 00044290 80 03 00 14 */ lwz r0, 0x14(r3)
+lbl_80048634:
+/* 80048634 00044294 7C 1C 00 40 */ cmplw r28, r0
+/* 80048638 00044298 41 80 FF 80 */ blt lbl_800485B8
+/* 8004863C 0004429C 3B 80 00 00 */ li r28, 0
+/* 80048640 000442A0 3B A0 00 00 */ li r29, 0
+/* 80048644 000442A4 3B E0 00 00 */ li r31, 0
+/* 80048648 000442A8 48 00 00 3C */ b lbl_80048684
+lbl_8004864C:
+/* 8004864C 000442AC 80 7E 00 30 */ lwz r3, 0x30(r30)
+/* 80048650 000442B0 7F 63 F8 2E */ lwzx r27, r3, r31
+/* 80048654 000442B4 80 1B 00 08 */ lwz r0, 8(r27)
+/* 80048658 000442B8 54 00 07 FF */ clrlwi. r0, r0, 0x1f
+/* 8004865C 000442BC 41 82 00 10 */ beq lbl_8004866C
+/* 80048660 000442C0 FC 20 F8 90 */ fmr f1, f31
+/* 80048664 000442C4 7F 63 DB 78 */ mr r3, r27
+/* 80048668 000442C8 48 00 0C 49 */ bl func_800492B0
+lbl_8004866C:
+/* 8004866C 000442CC 80 1B 00 08 */ lwz r0, 8(r27)
+/* 80048670 000442D0 54 00 07 BD */ rlwinm. r0, r0, 0, 0x1e, 0x1e
+/* 80048674 000442D4 40 82 00 08 */ bne lbl_8004867C
+/* 80048678 000442D8 3B 80 00 01 */ li r28, 1
+lbl_8004867C:
+/* 8004867C 000442DC 3B FF 00 04 */ addi r31, r31, 4
+/* 80048680 000442E0 3B BD 00 01 */ addi r29, r29, 1
+lbl_80048684:
+/* 80048684 000442E4 80 7E 00 24 */ lwz r3, 0x24(r30)
+/* 80048688 000442E8 80 63 00 94 */ lwz r3, 0x94(r3)
+/* 8004868C 000442EC 2C 03 00 00 */ cmpwi r3, 0
+/* 80048690 000442F0 40 82 00 0C */ bne lbl_8004869C
+/* 80048694 000442F4 38 00 00 00 */ li r0, 0
+/* 80048698 000442F8 48 00 00 08 */ b lbl_800486A0
+lbl_8004869C:
+/* 8004869C 000442FC 80 03 00 14 */ lwz r0, 0x14(r3)
+lbl_800486A0:
+/* 800486A0 00044300 7C 1D 00 40 */ cmplw r29, r0
+/* 800486A4 00044304 41 80 FF A8 */ blt lbl_8004864C
+/* 800486A8 00044308 2C 1C 00 00 */ cmpwi r28, 0
+/* 800486AC 0004430C 40 82 00 2C */ bne lbl_800486D8
+/* 800486B0 00044310 7F C3 F3 78 */ mr r3, r30
+/* 800486B4 00044314 4B FF FB F9 */ bl func_800482AC
+/* 800486B8 00044318 80 1E 00 00 */ lwz r0, 0(r30)
+/* 800486BC 0004431C 54 00 06 B5 */ rlwinm. r0, r0, 0, 0x1a, 0x1a
+/* 800486C0 00044320 41 82 00 18 */ beq lbl_800486D8
+/* 800486C4 00044324 48 00 51 49 */ bl func_8004D80C
+/* 800486C8 00044328 2C 03 00 00 */ cmpwi r3, 0
+/* 800486CC 0004432C 41 82 00 0C */ beq lbl_800486D8
+/* 800486D0 00044330 7F C4 F3 78 */ mr r4, r30
+/* 800486D4 00044334 48 00 56 F9 */ bl func_8004DDCC
+lbl_800486D8:
+/* 800486D8 00044338 E3 E1 00 48 */ psq_l f31, 72(r1), 0, qr0
+/* 800486DC 0004433C CB E1 00 40 */ lfd f31, 0x40(r1)
+/* 800486E0 00044340 E3 C1 00 38 */ psq_l f30, 56(r1), 0, qr0
+/* 800486E4 00044344 CB C1 00 30 */ lfd f30, 0x30(r1)
+/* 800486E8 00044348 E3 A1 00 28 */ psq_l f29, 40(r1), 0, qr0
+/* 800486EC 0004434C 39 61 00 20 */ addi r11, r1, 0x20
+/* 800486F0 00044350 CB A1 00 20 */ lfd f29, 0x20(r1)
+/* 800486F4 00044354 48 17 EA 81 */ bl _restgpr_27
+/* 800486F8 00044358 80 01 00 54 */ lwz r0, 0x54(r1)
+/* 800486FC 0004435C 7C 08 03 A6 */ mtlr r0
+/* 80048700 00044360 38 21 00 50 */ addi r1, r1, 0x50
+/* 80048704 00044364 4E 80 00 20 */ blr
+
+.global func_80048708
+func_80048708:
+/* 80048708 00044368 38 A0 00 01 */ li r5, 1
+/* 8004870C 0004436C 38 6D 98 08 */ addi r3, r13, lbl_8063EAC8-_SDA_BASE_
+/* 80048710 00044370 38 80 00 04 */ li r4, 4
+/* 80048714 00044374 38 00 00 00 */ li r0, 0
+/* 80048718 00044378 98 AD 98 08 */ stb r5, lbl_8063EAC8-_SDA_BASE_(r13)
+/* 8004871C 0004437C B0 83 00 02 */ sth r4, 2(r3)
+/* 80048720 00044380 98 03 00 04 */ stb r0, 4(r3)
+/* 80048724 00044384 4E 80 00 20 */ blr
|